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

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

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

#2992:コミュニティ設定が承認制から公開制へ変更された時、承認待ちのユーザをコミュニティメンバーに登録し、c_commu_member_confirmより削除するように変更

File size: 5.0 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        //画像アップデート
89        $sessid = session_id();
90        t_image_clear_tmp($sessid);
91        if (file_exists($upfile_obj["tmp_name"])) {
92            $tmpfile = t_image_save2tmp($upfile_obj, $sessid, "c");
93        }
94        if ($tmpfile) {
95            $image_filename = image_insert_c_image4tmp("c_{$target_c_commu_id}", $tmpfile);
96        }
97        t_image_clear_tmp(session_id());
98
99        if ($image_filename) {
100            //画像削除
101            $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id);
102            image_data_delete($c_commu['image_filename']);
103        }
104
105        // 承認待ちメンバー登録処理
106        $registered_public_flag = db_commu_public_flg4c_commu_id($target_c_commu_id);
107        if ($public_flag == 'public' && ($registered_public_flag == 'auth_sns' || $registered_public_flag == 'auth_commu_member')) {
108            $sql = 'SELECT c_commu_member_confirm_id, c_member_id FROM c_commu_member_confirm'
109                 . ' WHERE c_commu_id = ?';
110            $params = array(intval($target_c_commu_id));
111            $c_commu_member_confirm_list = db_get_all($sql, $params);
112            foreach ($c_commu_member_confirm_list as $c_commu_member_confirm) {
113                db_commu_join_c_commu($target_c_commu_id, $c_commu_member_confirm['c_member_id']);
114                do_inc_join_c_commu_send_mail($target_c_commu_id, $c_commu_member_confirm['c_member_id']);
115                db_commu_delete_c_commu_member_confirm($c_commu_member_confirm['c_commu_member_confirm_id']);
116            }
117        }
118
119        db_commu_update_c_commu(
120            $target_c_commu_id,
121            $name,
122            $topic_authority,
123            $c_commu_category_id,
124            $info,
125            $public_flag,
126            $image_filename,
127            $is_send_join_mail,
128            $is_display_map,
129            $map_latitude,
130            $map_longitude,
131            $map_zoom);
132
133
134        $p = array('target_c_commu_id' => $target_c_commu_id);
135        openpne_redirect('pc', 'page_c_home', $p);
136    }
137}
138
139?>
Note: See TracBrowser for help on using the repository browser.