ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE/branches/stable-2.10.x/webapp/modules/pc/do/c_edit_update_c_commu.php @ 8586

Last change on this file since 8586 was 8586, checked in by shingo, 12 years ago

#2992:承認待ちメンバー登録処理を行う条件を簡潔な表現に修正

File size: 4.4 KB
Line 
1<?php
2/**
3 * @copyright 2005-2007 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7/**
8 * コミュニティ情報の更新
9 */
10class pc_do_c_edit_update_c_commu extends OpenPNE_Action
11{
12    function execute($requests)
13    {
14        $u = $GLOBALS['AUTH']->uid();
15
16
17        // --- リクエスト変数
18        $target_c_commu_id = $requests['target_c_commu_id'];
19        $name = $requests['name'];
20        $c_commu_category_id = $requests['c_commu_category_id'];
21        $info = $requests['info'];
22        $public_flag = $requests['public_flag'];
23        $topic_authority = $requests['topic_authority'];
24        $is_send_join_mail = $requests['is_send_join_mail'];
25        // ----------
26        $upfile_obj = $_FILES['image_filename'];
27
28        //--- 権限チェック
29        //コミュニティ管理者
30
31        $status = db_common_commu_status($u, $target_c_commu_id);
32        if (!$status['is_commu_admin']) {
33            handle_kengen_error();
34        }
35        //---
36
37        $err_msg = array();
38        if (!$name) $err_msg[] = "コミュニティ名を入力してください";
39        if (!$info) $err_msg[] = "コミュニティの説明を入力してください";
40
41        if (!empty($upfile_obj) && $upfile_obj['error'] !== UPLOAD_ERR_NO_FILE) {
42            if (!($image = t_check_image($upfile_obj))) {
43                $err_msg[] = '画像は'.IMAGE_MAX_FILESIZE.'KB以内のGIF・JPEG・PNGにしてください';
44            }
45        }
46
47        ////GoogleMAP
48        if (OPENPNE_USE_COMMU_MAP) {
49            $is_display_map = $requests['is_display_map'];
50
51            if ($is_display_map && $requests['map_pref_id'] <> 50) {
52                $pref = null;
53                if ($requests['map_pref_id'] > 0) {
54                    $pref = db_etc_c_profile_pref4id($requests['map_pref_id']);
55                }
56
57                if (!empty($pref['map_latitude']) && !empty($pref['map_longitude']) && $requests['map_pref_id'] <> -1) {
58                    $map_latitude = $pref['map_latitude'];
59                    $map_longitude = $pref['map_longitude'];
60                    $map_zoom = $pref['map_zoom'];
61                } else {
62                    // cast input parameters
63                    $map_latitude  = doubleval($requests['map_latitude']);
64                    $map_longitude = doubleval($requests['map_longitude']);
65                    $map_zoom = intval($requests['map_zoom']);
66                }
67            } else {
68                $map_latitude = 0;
69                $map_longitude = 0;
70                $map_zoom = 0;
71            }
72        } else {
73            $is_display_map = null;
74            $map_latitude = null;
75            $map_longitude = null;
76            $map_zoom = null;
77        }
78
79        if ($err_msg) {
80            $_REQUEST['err_msg'] = $err_msg;
81            $_REQUEST['target_c_commu_id'] = $target_c_commu_id;
82            $_REQUEST['name'] = $name;
83            $_REQUEST['info'] = $info;
84            openpne_forward('pc', 'page', "c_edit");
85            exit;
86        }
87
88        $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id);
89
90        //画像アップデート
91        $image_filename = image_insert_c_image_without_confirm($upfile_obj, 'c', $target_c_commu_id);
92
93        if ($image_filename) {
94            //画像削除
95            image_data_delete($c_commu['image_filename']);
96        }
97
98        // 承認待ちメンバー登録処理
99        if ($public_flag == 'public' && $public_flag != $c_commu['public_flag']) {
100            $c_commu_member_confirm_list = db_commu_c_commu_member_confirm4c_commu_id($target_c_commu_id);
101            foreach ($c_commu_member_confirm_list as $c_commu_member_confirm) {
102                db_commu_join_c_commu($target_c_commu_id, $c_commu_member_confirm['c_member_id']);
103                do_inc_join_c_commu_send_mail($target_c_commu_id, $c_commu_member_confirm['c_member_id']);
104                db_commu_delete_c_commu_member_confirm($c_commu_member_confirm['c_commu_member_confirm_id']);
105            }
106        }
107
108        db_commu_update_c_commu(
109            $target_c_commu_id,
110            $name,
111            $topic_authority,
112            $c_commu_category_id,
113            $info,
114            $public_flag,
115            $image_filename,
116            $is_send_join_mail,
117            $is_display_map,
118            $map_latitude,
119            $map_longitude,
120            $map_zoom);
121
122        $p = array('target_c_commu_id' => $target_c_commu_id);
123        openpne_redirect('pc', 'page_c_home', $p);
124    }
125}
126
127?>
Note: See TracBrowser for help on using the repository browser.