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

source: OpenPNE/branches/2.8.x/webapp/modules/pc/do/c_sub_admin_request_insert_c_commu_sub_admin_confirm.php @ 3094

Last change on this file since 3094 was 3094, checked in by ogawa, 13 years ago

#629:同じメンバーにコミュニティ副管理者と管理者交代要請を何度も送ることができる

File size: 3.2 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_sub_admin_request_insert_c_commu_sub_admin_confirm extends OpenPNE_Action
11{
12    function execute($requests)
13    {
14        $u = $GLOBALS['AUTH']->uid();
15
16        // --- リクエスト変数
17        $target_c_member_id = $requests['target_c_member_id'];
18        $target_c_commu_id = $requests['target_c_commu_id'];
19        // ----------
20
21        //--- 権限チェック
22        //自分がコミュニティ管理者
23        //targetが副管理者でない
24        //targetがコミュニティメンバー
25        // すでに管理者交代依頼メッセージ送信済みではない
26        // すでに副管理者要請メッセージを送信済みでない
27
28        $status = db_common_commu_status($u, $target_c_commu_id);
29        if (!$status['is_commu_admin']) {
30            handle_kengen_error();
31        }
32
33        $status = db_common_commu_status($target_c_member_id, $target_c_commu_id);
34        if ($status['is_commu_sub_admin']) {
35            handle_kengen_error();
36        }
37
38        if (!$status['is_commu_member']) {
39            handle_kengen_error();
40        }
41
42        $target_c_commu_admin_confirm_list =
43        db_commu_anatani_c_commu_admin_confirm_list4c_member_id($target_c_member_id);
44        if (!empty($target_c_commu_admin_confirm_list)) {
45            foreach ($target_c_commu_admin_confirm_list as $value) {
46                if ($value['c_commu_id'] == $target_c_commu_id) {
47                    handle_kengen_error();
48                }
49            }
50        }
51
52        $target_c_commu_sub_admin_confirm_list =
53            db_commu_anatani_c_commu_sub_admin_confirm_list4c_member_id($target_c_member_id);
54        if (!empty($target_c_commu_sub_admin_confirm_list)) {
55            foreach ($target_c_commu_sub_admin_confirm_list as $value) {
56                if ($value['c_commu_id'] == $target_c_commu_id) {
57                    handle_kengen_error();
58                }
59            }
60        }
61        //---
62
63        db_commu_delete_c_commu_sub_admin_confirm4c_commu_id($target_c_commu_id);
64
65        $target_c_commu_sub_admin_confirm_id =
66            db_commu_insert_c_commu_sub_admin_confirm($target_c_commu_id, $target_c_member_id);
67
68        //メッセージ
69        $c_member_id_from = $u;
70        $c_member_from    = db_member_c_member4c_member_id_LIGHT($c_member_id_from);
71        $c_member_to      = $target_c_member_id;
72        $c_commu          = db_commu_c_commu4c_commu_id($target_c_commu_id);
73
74        $subject ="副管理者要請メッセージ";
75        $body_disp =
76            $c_member_from['nickname']." さんから".$c_commu['name']." コミュニティの副管理者希望メッセージが届いています。\n".
77            "\n".
78            "この要請について、承認待ちリストから承認または拒否を選択してください。\n";
79
80        db_message_send_message_syoudaku($c_member_id_from, $target_c_member_id, $subject, $body_disp);
81
82        $p = array('target_c_commu_id' => $target_c_commu_id);
83        openpne_redirect('pc', 'page_c_edit_member', $p);
84    }
85}
86?>
Note: See TracBrowser for help on using the repository browser.