Ejemplo n.º 1
0
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     $target_c_commu_id = $requests['target_c_commu_id'];
     $status = db_commu_get_c_join_status($u, $target_c_commu_id);
     //非公開コミュニティに管理者から招待されている場合は強制的に承認を回避
     $admin_invite = db_commu_c_commu4c_admin_invite_id($target_c_commu_id, $u);
     if ($admin_invite) {
         $status = STATUS_C_JOIN_REQUEST_FREE;
         db_commu_delete_c_commu_admin_invite($admin_invite);
     }
     switch ($status) {
         //承認必要なし
         case STATUS_C_JOIN_REQUEST_FREE:
             // 承認依頼があれば削除
             if ($c_commu_member_confirm_id = db_commu_get_c_commu_member_confirm_id($u, $target_c_commu_id)) {
                 db_commu_delete_c_commu_member_confirm($c_commu_member_confirm_id);
             }
             db_commu_join_c_commu($target_c_commu_id, $u);
             do_inc_join_c_commu_send_mail($target_c_commu_id, $u);
             $p = array('target_c_commu_id' => $target_c_commu_id);
             openpne_redirect('pc', 'page_c_join_commu_2', $p);
             break;
             //管理者承認必要
         //管理者承認必要
         case STATUS_C_JOIN_REQUEST_NEED:
             $p = array('target_c_commu_id' => $target_c_commu_id);
             openpne_redirect('pc', 'page_c_join_request', $p);
             break;
             //承認待ち
         //承認待ち
         case STATUS_C_JOIN_WAIT:
             $p = array('target_c_commu_id' => $target_c_commu_id);
             openpne_redirect('pc', 'page_c_join_err_wait', $p);
             break;
             //既に参加
         //既に参加
         case STATUS_C_JOIN_ALREADY:
             $p = array('target_c_commu_id' => $target_c_commu_id);
             openpne_redirect('pc', 'page_c_join_err_already', $p);
             break;
     }
 }
Ejemplo n.º 2
0
 function execute($requests)
 {
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     // ----------
     $status = db_commu_get_c_join_status($u, $target_c_commu_id);
     $p = array('target_c_commu_id' => $target_c_commu_id);
     //非公開コミュニティに管理者から招待されている場合は強制的に承認を回避
     $admin_invite = db_commu_c_commu4c_admin_invite_id($target_c_commu_id, $u);
     if ($admin_invite) {
         $status = STATUS_C_JOIN_REQUEST_FREE;
         db_commu_delete_c_commu_admin_invite($admin_invite);
     }
     switch ($status) {
         //承認必要なし
         case STATUS_C_JOIN_REQUEST_FREE:
             // 承認依頼があれば削除
             if ($c_commu_member_confirm_id = db_commu_get_c_commu_member_confirm_id($u, $target_c_commu_id)) {
                 db_commu_delete_c_commu_member_confirm($c_commu_member_confirm_id);
             }
             db_commu_join_c_commu($target_c_commu_id, $u);
             do_inc_join_c_commu_send_mail($target_c_commu_id, $u);
             openpne_redirect('ktai', 'page_c_home', $p);
             break;
             //管理者承認必要
         //管理者承認必要
         case STATUS_C_JOIN_REQUEST_NEED:
             openpne_redirect('ktai', 'page_c_join_request', $p);
             break;
             //承認待ち
         //承認待ち
         case STATUS_C_JOIN_WAIT:
             openpne_redirect('ktai', 'page_c_home', $p);
             break;
             //既に参加
         //既に参加
         case STATUS_C_JOIN_ALREADY:
             openpne_redirect('ktai', 'page_c_home', $p);
             break;
     }
 }
Ejemplo n.º 3
0
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     // ----------
     $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id);
     $status = db_commu_get_c_join_status($u, $target_c_commu_id);
     //非公開コミュニティに管理者から招待されている場合は強制的に承認を回避
     $admin_invite = db_commu_c_commu4c_admin_invite_id($target_c_commu_id, $u);
     if ($admin_invite && $status != STATUS_C_JOIN_ALREADY) {
         $status = STATUS_C_JOIN_REQUEST_FREE;
     }
     switch ($status) {
         //承認必要なし
         case STATUS_C_JOIN_REQUEST_FREE:
             break;
             //管理者承認必要
         //管理者承認必要
         case STATUS_C_JOIN_REQUEST_NEED:
             $p = array('target_c_commu_id' => $target_c_commu_id);
             openpne_redirect('pc', 'page_c_join_request', $p);
             break;
             //承認待ち
         //承認待ち
         case STATUS_C_JOIN_WAIT:
             $p = array('target_c_commu_id' => $target_c_commu_id);
             openpne_redirect('pc', 'page_c_join_err_wait', $p);
             break;
             //既に参加
         //既に参加
         case STATUS_C_JOIN_ALREADY:
             $p = array('target_c_commu_id' => $target_c_commu_id);
             openpne_redirect('pc', 'page_c_join_err_already', $p);
             break;
     }
     $this->set('inc_navi', fetch_inc_navi('c', $target_c_commu_id));
     $this->set('c_commu', $c_commu);
     return 'success';
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_commu_member_confirm_id = $requests['target_c_commu_member_confirm_id'];
     // ----------
     //--- 権限チェック
     //コミュニティ参加承認を受けた人
     $cmc = db_commu_c_commu_member_confirm4c_commu_member_confirm_id($target_c_commu_member_confirm_id);
     if ($cmc['c_member_id_admin'] != $u && $cmc['c_member_id_sub_admin'] != $u) {
         handle_kengen_error();
     }
     // -----
     $status = db_commu_get_c_join_status($cmc['c_member_id'], $cmc['c_commu_id']);
     if ($status != STATUS_C_JOIN_ALREADY) {
         db_commu_insert_c_commu_member($target_c_commu_member_confirm_id);
         $msg = '承認が完了しました';
     } else {
         db_commu_delete_c_commu_member_confirm($target_c_commu_member_confirm_id);
         $msg = '既にこの' . WORD_COMMUNITY . 'に参加しています。';
     }
     $p = array('msg' => $msg);
     openpne_redirect('pc', 'page_h_confirm_list', $p);
 }
Ejemplo n.º 5
0
function do_common_get_c_join_status($c_member_id, $c_commu_id)
{
    return db_commu_get_c_join_status($c_member_id, $c_commu_id);
}