function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $c_commu_topic_comment_id = $requests['target_c_commu_topic_comment_id'];
     // ----------
     $c_commu_topic_comment = db_commu_c_commu_topic_comment4c_commu_topic_comment_id_3($c_commu_topic_comment_id);
     $c_commu_id = $c_commu_topic_comment['c_commu_id'];
     $c_commu_topic_id = $c_commu_topic_comment['c_commu_topic_id'];
     $c_commu = db_commu_c_commu4c_commu_id($c_commu_id);
     //--- 権限チェック
     if (!db_commu_is_c_commu_view4c_commu_idAc_member_id($c_commu_id, $u)) {
         handle_kengen_error();
     }
     $status = db_common_commu_status($u, $c_commu_id);
     if (!$status['is_commu_admin'] && $c_commu_topic_comment['c_member_id'] != $u) {
         handle_kengen_error();
     }
     //---
     $this->set('inc_navi', fetch_inc_navi("c", $c_commu_id));
     $this->set('c_commu_id', $c_commu_id);
     $this->set('c_commu_topic_id', $c_commu_topic_id);
     $this->set('c_commu_topic_comment', $c_commu_topic_comment);
     return 'success';
 }
 function execute($requests)
 {
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $c_commu_topic_id = $requests['target_c_commu_topic_id'];
     // ----------
     //--- 権限チェック
     $c_commu_topic = db_commu_c_commu_topic4c_commu_topic_id($c_commu_topic_id);
     $c_commu_id = $c_commu_topic['c_commu_id'];
     $status = db_common_commu_status($u, $c_commu_id);
     if (!$status['is_commu_member']) {
         handle_kengen_error();
     }
     if (!$c_commu_topic['event_flag']) {
         handle_kengen_error();
     }
     if (db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) {
         handle_kengen_error();
     }
     $is_c_event_member = db_commu_is_c_event_member($c_commu_topic_id, $u);
     if ($is_c_event_member) {
         ktai_display_error('すでにイベントに参加しています');
     }
     if (!db_commu_is_event_join_capacity($c_commu_topic_id)) {
         ktai_display_error('イベントの参加者数制限を超えています');
     }
     if (!db_commu_is_event_join_date($c_commu_topic_id)) {
         ktai_display_error('イベントの募集期限が過ぎています');
     }
     db_commu_insert_c_event_member($c_commu_topic_id, $u);
     $p = array('target_c_commu_topic_id' => $c_commu_topic_id);
     openpne_redirect('ktai', 'page_c_bbs', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     $target_c_member_id = $requests['target_c_member_id'];
     // ----------
     //--- 権限チェック
     //コミュニティ管理者
     //targetメンバーが管理者(=自分)でない
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     $status = db_common_commu_status($target_c_member_id, $target_c_commu_id);
     if ($status['is_commu_admin']) {
         handle_kengen_error();
     }
     if ($target_c_member_id == $u) {
         handle_kengen_error();
     }
     //---
     $this->set('target_c_member', db_member_c_member4c_member_id($target_c_member_id));
     $this->set("c_commu", db_commu_c_commu4c_commu_id_k($target_c_commu_id));
     $this->set("target_c_commu_id", $target_c_commu_id);
     $this->set("target_c_member_id", $target_c_member_id);
     return 'success';
 }
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_member_id = $requests['target_c_member_id'];
     $target_c_commu_id = $requests['target_c_commu_id'];
     // ----------
     //--- 権限チェック
     // 自分がコミュニティ管理者
     // 自分がコミュニティ副管理者でない
     // targetがコミュニティメンバー
     // targetが副管理者
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     if ($status['is_commu_sub_admin']) {
         handle_kengen_error();
     }
     $status = db_common_commu_status($target_c_member_id, $target_c_commu_id);
     if (!$status['is_commu_member']) {
         handle_kengen_error();
     }
     if (!$status['is_commu_sub_admin']) {
         handle_kengen_error();
     }
     //---
     db_commu_update_c_commu_c_member_id_sub_admin($target_c_commu_id, 0);
     $p = array('target_c_commu_id' => $target_c_commu_id);
     openpne_redirect('ktai', 'page_c_edit_member', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     $target_c_commu_topic_id = $requests['target_c_commu_topic_id'];
     //--- 権限チェック
     //コミュニティ管理者 or トピック作成者
     $c_commu_topic = db_commu_c_commu_topic4c_commu_topic_id($target_c_commu_topic_id);
     $c_commu_id = $c_commu_topic['c_commu_id'];
     $status = db_common_commu_status($u, $c_commu_id);
     if (!$status['is_commu_admin'] && $c_commu_topic['c_member_id'] != $u) {
         handle_kengen_error();
     }
     $c_commu = db_commu_c_commu4c_commu_id2($c_commu_id);
     if ($c_commu['is_topic'] == 'admin_only' && !db_commu_is_c_commu_admin($c_commu_id, $u)) {
         handle_kengen_error();
     }
     if ($c_commu['is_topic'] == 'member' && !db_commu_is_c_commu_member($c_commu_id, $u)) {
         handle_kengen_error();
     }
     //---
     db_commu_delete_c_commu_topic($target_c_commu_topic_id);
     $p = array('target_c_commu_id' => $c_commu_topic['c_commu_id']);
     if ($c_commu_topic['event_flag']) {
         openpne_redirect('pc', 'page_c_event_list', $p);
     } else {
         openpne_redirect('pc', 'page_c_topic_list', $p);
     }
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     $target_c_commu_topic_comment_id = $requests['target_c_commu_topic_comment_id'];
     //--- 権限チェック
     //コミュニティ管理者 or コミュニティ参加者
     $c_commu_topic_comment = db_commu_c_commu_topic_comment4c_commu_topic_comment_id_2($target_c_commu_topic_comment_id);
     $c_commu_topic = db_commu_c_commu_topic4c_commu_topic_id($c_commu_topic_comment['c_commu_topic_id']);
     $c_commu_id = $c_commu_topic['c_commu_id'];
     $status = db_common_commu_status($u, $c_commu_id);
     if ($c_commu_topic_comment['number'] == "0") {
         handle_kengen_error();
     }
     if (!$status['is_commu_admin'] && $c_commu_topic_comment['c_member_id'] != $u) {
         handle_kengen_error();
     }
     //---
     db_commu_delete_c_commu_topic_comment($target_c_commu_topic_comment_id);
     if ($c_commu_topic['event_flag']) {
         $action = 'page_c_event_detail';
     } else {
         $action = 'page_c_topic_detail';
     }
     $p = array('target_c_commu_topic_id' => $c_commu_topic_comment['c_commu_topic_id']);
     openpne_redirect('pc', $action, $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     $target_c_member_id = $requests['target_c_member_id'];
     // ----------
     //--- 権限チェック
     //コミュニティ管理者
     //targetメンバーが管理者(=自分)でない
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     if ($target_c_member_id == $u) {
         $p = array('target_c_commu_id' => $target_c_commu_id);
         openpne_redirect('pc', 'page_c_taikai_err_admin', $p);
     }
     // 削除対象がコミュニティ管理者
     if (db_commu_is_c_commu_admin($target_c_commu_id, $target_c_member_id)) {
         handle_kengen_error();
     }
     //---
     db_commu_delete_c_commu_member($target_c_commu_id, $target_c_member_id);
     $p = array('target_c_commu_id' => $target_c_commu_id);
     openpne_redirect('pc', 'page_c_edit_member', $p);
 }
 function execute($requests)
 {
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     $target_c_member_id = $requests['target_c_member_id'];
     // ----------
     //--- 権限チェック
     //コミュニティ管理者
     //targetメンバーが管理者(=自分)でない
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     $status = db_common_commu_status($target_c_member_id, $target_c_commu_id);
     if ($status['is_commu_admin']) {
         handle_kengen_error();
     }
     if ($target_c_member_id == $u) {
         handle_kengen_error();
     }
     //---
     db_commu_delete_c_commu_member($target_c_commu_id, $target_c_member_id);
     $p = array('target_c_commu_id' => $target_c_commu_id);
     openpne_redirect('ktai', 'page_c_edit_member', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $c_commu_id = $requests['target_c_commu_id'];
     $c_review_id = $requests['c_review_id'];
     // ----------
     //--- 権限チェック
     //レビューコメント作者 かつ コミュニティ参加者
     $status = db_common_commu_status($u, $c_commu_id);
     if (!$status['is_commu_member']) {
         handle_kengen_error();
     }
     //---
     foreach ($c_review_id as $value) {
         // レビューの存在を確認
         if (!db_review_list_product_c_review4c_review_id($value)) {
             continue;
         }
         // 重複登録の禁止
         if (db_review_c_member_review_c_review_id4c_review_id_c_member_id($value, $u, $c_commu_id)) {
             continue;
         }
         do_c_member_review_insert_c_commu_review($value, $u, $c_commu_id);
     }
     $p = array('target_c_commu_id' => $c_commu_id);
     openpne_redirect('pc', 'page_c_member_review', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     $body = $requests['body'];
     // ----------
     //--- 権限チェック
     //コミュニティメンバーでない or 参加承認中でない
     $status = db_common_commu_status($u, $target_c_commu_id);
     if ($status['is_commu_member'] || $status['is_commu_member_confirm']) {
         handle_kengen_error();
     }
     //---
     $c_member_id_from = $u;
     db_commu_insert_c_commu_member_confirm($target_c_commu_id, $c_member_id_from, $body);
     //メッセージ
     $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id);
     list($subject, $body_disp) = create_message_commu_join_request($c_member_id_from, $body, $target_c_commu_id);
     db_message_send_message_syoudaku($c_member_id_from, $c_commu['c_member_id_admin'], $subject, $body_disp);
     if ($c_commu['c_member_id_sub_admin']) {
         db_message_send_message_syoudaku($c_member_id_from, $c_commu['c_member_id_sub_admin'], $subject, $body_disp);
     }
     $p = array('target_c_commu_id' => $target_c_commu_id);
     openpne_redirect('pc', 'page_c_home', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_member_id = $requests['target_c_member_id'];
     $target_c_commu_id = $requests['target_c_commu_id'];
     $body = $requests['body'];
     // ----------
     //--- 権限チェック
     // 自分がコミュニティ管理者
     // 自分がコミュニティ副管理者ではない
     // 自分へのメッセージ送信ではない
     // targetがコミュニティメンバー
     // すでに管理者交代依頼メッセージ送信済みではない
     // すでに副管理者要請メッセージを送信済みでない
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     if ($status['is_commu_sub_admin']) {
         handle_kengen_error();
     }
     if ($u == $target_c_member_id) {
         handle_kengen_error();
     }
     $status = db_common_commu_status($target_c_member_id, $target_c_commu_id);
     if (!$status['is_commu_member']) {
         handle_kengen_error();
     }
     $target_c_commu_admin_confirm_list = db_commu_anatani_c_commu_admin_confirm_list4c_member_id($target_c_member_id);
     if (!empty($target_c_commu_admin_confirm_list)) {
         foreach ($target_c_commu_admin_confirm_list as $value) {
             if ($value['c_commu_id'] == $target_c_commu_id) {
                 handle_kengen_error();
             }
         }
     }
     $target_c_commu_sub_admin_confirm_list = db_commu_anatani_c_commu_sub_admin_confirm_list4c_member_id($target_c_member_id);
     if (!empty($target_c_commu_sub_admin_confirm_list)) {
         foreach ($target_c_commu_sub_admin_confirm_list as $value) {
             if ($value['c_commu_id'] == $target_c_commu_id) {
                 handle_kengen_error();
             }
         }
     }
     //---
     // 以前に送られた管理者交代要請を削除
     db_commu_delete_c_commu_admin_confirm4c_commu_id($target_c_commu_id);
     $target_c_commu_admin_confirm_id = db_commu_insert_c_commu_admin_confirm($target_c_commu_id, $target_c_member_id, $body);
     //メッセージ
     list($msg_subject, $msg_body) = create_message_commu_admin_request($u, $body, $target_c_commu_id);
     db_message_send_message_syoudaku($u, $target_c_member_id, $msg_subject, $msg_body);
     $p = array('target_c_commu_id' => $target_c_commu_id);
     openpne_redirect('pc', 'page_c_edit_member', $p);
 }
 function execute($requests)
 {
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     $name = $requests['name'];
     $c_commu_category_id = $requests['c_commu_category_id'];
     $info = $requests['info'];
     $is_admit = $requests['is_admit'];
     $is_open = $requests['is_open'];
     $is_topic = $requests['is_topic'];
     $is_comment = $requests['is_comment'];
     if (db_commu_is_changed_c_commu_name($target_c_commu_id, $name) && db_commu_is_commu4c_commu_name($name)) {
         $p = array('target_c_commu_id' => $target_c_commu_id, 'msg' => 49);
         openpne_redirect('ktai', 'page_c_edit', $p);
     }
     $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id);
     if ($c_commu_category_id != $c_commu['c_commu_category_id'] && !db_commu_c_commu_category_is_create_commu($c_commu_category_id)) {
         $p = array('target_c_commu_id' => $target_c_commu_id, 'msg' => 50);
         openpne_redirect('ktai', 'page_c_edit', $p);
     }
     if ($is_open == 'member') {
         if ($is_topic == 'public') {
             $p = array('target_c_commu_id' => $target_c_commu_id, 'msg' => 53);
             openpne_redirect('ktai', 'page_c_edit', $p);
         }
         if ($is_comment == 'public') {
             $p = array('target_c_commu_id' => $target_c_commu_id, 'msg' => 54);
             openpne_redirect('ktai', 'page_c_edit', $p);
         }
     }
     // ----------
     //--- 権限チェック
     //コミュニティ管理者
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     //---
     // 承認待ちメンバー登録処理
     $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id);
     if ($is_admit == 'public' && $is_admit != $c_commu['is_admit']) {
         $c_commu_member_confirm_list = db_commu_c_commu_member_confirm4c_commu_id($target_c_commu_id);
         foreach ($c_commu_member_confirm_list as $c_commu_member_confirm) {
             db_commu_join_c_commu($target_c_commu_id, $c_commu_member_confirm['c_member_id']);
             do_inc_join_c_commu_send_mail($target_c_commu_id, $c_commu_member_confirm['c_member_id']);
             db_commu_delete_c_commu_member_confirm($c_commu_member_confirm['c_commu_member_confirm_id']);
         }
     }
     db_commu_update_c_commu($target_c_commu_id, $name, $is_topic, $is_comment, $c_commu_category_id, $info, $is_admit, $is_open);
     $p = array('target_c_commu_id' => $target_c_commu_id);
     openpne_redirect('ktai', 'page_c_home', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_member_id = $requests['target_c_member_id'];
     $target_c_commu_id = $requests['target_c_commu_id'];
     $body = $requests['body'];
     // ----------
     //--- 権限チェック
     // 自分がコミュニティ管理者
     // 自分がコミュニティ副管理者ではない
     // targetがコミュニティメンバー
     // 自分へのメッセージ送信ではない
     // すでに管理者交代依頼メッセージ送信済みではない
     // すでに副管理者要請メッセージを送信済みでない
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     if ($status['is_commu_sub_admin']) {
         handle_kengen_error();
     }
     $status = db_common_commu_status($target_c_member_id, $target_c_commu_id);
     if (!$status['is_commu_member']) {
         handle_kengen_error();
     }
     if ($u == $target_c_member_id) {
         handle_kengen_error();
     }
     $target_c_commu_admin_confirm_list = db_commu_anatani_c_commu_admin_confirm_list4c_member_id($target_c_member_id);
     if (!empty($target_c_commu_admin_confirm_list)) {
         foreach ($target_c_commu_admin_confirm_list as $value) {
             if ($value['c_commu_id'] == $target_c_commu_id) {
                 handle_kengen_error();
             }
         }
     }
     $target_c_commu_sub_admin_confirm_list = db_commu_anatani_c_commu_sub_admin_confirm_list4c_member_id($target_c_member_id);
     if (!empty($target_c_commu_sub_admin_confirm_list)) {
         foreach ($target_c_commu_sub_admin_confirm_list as $value) {
             if ($value['c_commu_id'] == $target_c_commu_id) {
                 handle_kengen_error();
             }
         }
     }
     //---
     $this->set('inc_navi', fetch_inc_navi("c", $target_c_commu_id));
     $this->set("target_c_member_id", $target_c_member_id);
     $this->set('target_c_member', db_member_c_member4c_member_id_LIGHT($target_c_member_id));
     $this->set("target_c_commu_id", $target_c_commu_id);
     $this->set("body", $body);
     return 'success';
 }
예제 #14
0
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $c_commu_topic_id = $requests['target_c_commu_topic_id'];
     $c_commu_topic_comment_id = $requests['target_c_commu_topic_comment_id'];
     // ----------
     if (!$c_commu_topic_id && !$c_commu_topic_comment_id) {
         handle_kengen_error();
     }
     if ($c_commu_topic_comment_id) {
         $c_topic_comment = db_commu_c_commu_topic_comment4c_commu_topic_comment_id($c_commu_topic_comment_id);
         $c_commu_id = $c_topic_comment['c_commu_id'];
         $filename = $c_topic_comment['filename'];
     } else {
         $c_topic = db_commu_c_topic4c_commu_topic_id($c_commu_topic_id);
         $c_commu_id = $c_topic['c_commu_id'];
         $filename = $c_topic['filename'];
     }
     //--- 権限チェック
     //コミュニティ参加者
     $status = db_common_commu_status($u, $c_commu_id);
     if (!$status['is_bbs_view']) {
         handle_kengen_error();
     }
     // ファイルアップロード機能がオフ
     if (!OPENPNE_USE_FILEUPLOAD) {
         handle_kengen_error();
     }
     // ファイルが存在しない
     $file = db_file_c_file4filename($filename);
     if (empty($file)) {
         handle_kengen_error();
     }
     // オリジナルファイル名
     $original_filename = $file['original_filename'];
     if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) {
         // IE の場合のみ、ファイル名を SJIS に変換し、キャッシュをさせないヘッダを出力しない
         $original_filename = mb_convert_encoding($original_filename, 'SJIS', 'UTF-8');
     } else {
         send_nocache_headers(true);
     }
     $original_filename = str_replace(array("\r", "\n"), '', $original_filename);
     header('Content-Disposition: attachment; filename="' . $original_filename . '"');
     header('Content-Length: ' . strlen($file['bin']));
     header('Content-Type: application/octet-stream');
     echo $file['bin'];
     exit;
 }
 function execute($requests)
 {
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_member_id = $requests['target_c_member_id'];
     $target_c_commu_id = $requests['target_c_commu_id'];
     $body = $requests['body'];
     // ----------
     //--- 権限チェック
     // コミュニティ管理者
     // 自分自身へのメッセージ送信ではない
     // すでに管理者交代依頼メッセージ送信済みではない
     // すでに副管理者要請メッセージを送信済みでない
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     if ($u == $target_c_member_id) {
         handle_kengen_error();
     }
     $target_c_commu_admin_confirm_list = db_commu_anatani_c_commu_admin_confirm_list4c_member_id($target_c_member_id);
     if (!empty($target_c_commu_admin_confirm_list)) {
         foreach ($target_c_commu_admin_confirm_list as $value) {
             if ($value['c_commu_id'] == $target_c_commu_id) {
                 handle_kengen_error();
             }
         }
     }
     $target_c_commu_sub_admin_confirm_list = db_commu_anatani_c_commu_sub_admin_confirm_list4c_member_id($target_c_member_id);
     if (!empty($target_c_commu_sub_admin_confirm_list)) {
         foreach ($target_c_commu_sub_admin_confirm_list as $value) {
             if ($value['c_commu_id'] == $target_c_commu_id) {
                 handle_kengen_error();
             }
         }
     }
     //---
     // 以前に送られた管理者交代要請を削除
     db_commu_delete_c_commu_admin_confirm4c_commu_id($target_c_commu_id);
     $target_c_commu_admin_confirm_id = db_commu_insert_c_commu_admin_confirm($target_c_commu_id, $target_c_member_id, $body);
     list($subject, $body_disp) = create_message_commu_admin_request($u, $body, $target_c_commu_id);
     db_message_send_message_syoudaku($u, $target_c_member_id, $subject, $body_disp);
     $p = array('target_c_commu_id' => $target_c_commu_id);
     openpne_redirect('ktai', 'page_c_home', $p);
 }
 function execute($requests)
 {
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $c_commu_id = $requests['target_c_commu_id'];
     $title = $requests['title'];
     $body = $requests['body'];
     // ----------
     //--- 権限チェック
     $c_commu = db_commu_c_commu4c_commu_id2($c_commu_id);
     switch ($c_commu['is_topic']) {
         case 'public':
             //誰でも作成可能
             break;
         case 'member':
             //コミュニティ参加者
             $status = db_common_commu_status($u, $c_commu_id);
             if (!$status['is_commu_member']) {
                 handle_kengen_error();
             }
             break;
         case 'admin_only':
             //トピック作成権限チェック
             if (!db_commu_is_c_commu_admin($c_commu_id, $u)) {
                 ktai_display_error("トピックは管理者だけが作成できます");
             }
             break;
     }
     //---
     $insert_c_commu_topic = array("name" => $title, "c_commu_id" => $c_commu_id, "c_member_id" => $u, "event_flag" => 0);
     $c_commu_topic_id = db_commu_insert_c_commu_topic($insert_c_commu_topic);
     $insert_c_commu_topic_comment = array("c_commu_id" => $c_commu_id, "c_member_id" => $u, "body" => $body, "number" => 0, "c_commu_topic_id" => $c_commu_topic_id, "image_filename1" => "", "image_filename2" => "", "image_filename3" => "");
     $insert_id = db_commu_insert_c_commu_topic_comment_3($insert_c_commu_topic_comment);
     //お知らせメール送信(携帯へ)
     send_bbs_info_mail($insert_id, $u);
     //お知らせメール送信(PCへ)
     send_bbs_info_mail_pc($insert_id, $u);
     if (OPENPNE_USE_POINT_RANK) {
         //トピックを作成した人にポイント付与
         $point = db_action_get_point4c_action_id(9);
         db_point_add_point($u, $point);
     }
     $p = array('target_c_commu_topic_id' => $c_commu_topic_id);
     openpne_redirect('ktai', 'page_c_bbs', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $target_c_commu_topic_id = $requests['target_c_commu_topic_id'];
     //--- 権限チェック
     //コミュニティ管理者 or トピック作成者
     $c_commu_topic = db_commu_c_commu_topic4c_commu_topic_id($target_c_commu_topic_id);
     $c_commu_id = $c_commu_topic['c_commu_id'];
     $status = db_common_commu_status($u, $c_commu_id);
     if (!$status['is_commu_admin'] && $c_commu_topic['c_member_id'] != $u) {
         handle_kengen_error();
     }
     //---
     db_commu_delete_c_commu_topic($target_c_commu_topic_id);
     $p = array('target_c_commu_id' => $c_commu_topic['c_commu_id']);
     openpne_redirect('ktai', 'page_c_home', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $c_commu_topic_id = $requests['target_c_commu_topic_id'];
     // ----------
     //-- 権限チェック
     $err_msg = array();
     $c_topic = db_commu_c_topic4c_commu_topic_id_2($c_commu_topic_id);
     $c_commu_id = $c_topic['c_commu_id'];
     $status = db_common_commu_status($u, $c_commu_id);
     if (!$status['is_commu_member']) {
         handle_kengen_error();
     }
     if (!$c_topic['event_flag']) {
         handle_kengen_error();
     }
     if (db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) {
         handle_kengen_error();
     }
     $is_c_event_member = db_commu_is_c_event_member($c_commu_topic_id, $u);
     if ($is_c_event_member) {
         $err_msg[] = 'すでにイベントに参加しています。';
         $_REQUEST['err_msg'] = $err_msg;
         openpne_forward('pc', 'page', 'c_event_detail');
         exit;
     }
     if (!db_commu_is_event_join_capacity($c_commu_topic_id)) {
         $err_msg[] = 'イベントの参加者数制限を超えています';
         $_REQUEST['err_msg'] = $err_msg;
         openpne_forward('pc', 'page', "c_event_detail");
         exit;
     }
     if (!db_commu_is_event_join_date($c_commu_topic_id)) {
         $err_msg[] = 'イベントの募集期限が過ぎています';
         $_REQUEST['err_msg'] = $err_msg;
         openpne_forward('pc', 'page', "c_event_detail");
         exit;
     }
     db_commu_insert_c_event_member($c_commu_topic_id, $u);
     $p = array('target_c_commu_topic_id' => $c_commu_topic_id);
     openpne_redirect('pc', 'page_c_event_detail', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     // ----------
     //--- 権限チェック
     //コミュニティ管理者
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     //---
     $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id);
     db_image_data_delete($c_commu['image_filename'], $u);
     db_commu_delete_c_commu_image_filename($target_c_commu_id);
     $p = array('target_c_commu_id' => $target_c_commu_id);
     openpne_redirect('pc', 'page_c_edit', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     // ----------
     $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id);
     //--- 権限チェック
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin'] && !$status['is_commu_sub_admin']) {
         handle_kengen_error();
     }
     //---
     if (empty($c_commu['image_filename'])) {
         handle_kengen_error();
     }
     $this->set('c_commu', $c_commu);
     return 'success';
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     // ----------
     //--- 権限チェック
     //コミュニティ管理者
     //コミュニティ副管理者でない
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     if ($status['is_commu_sub_admin']) {
         handle_kengen_error();
     }
     //---
     db_common_delete_c_commu($target_c_commu_id);
     openpne_redirect('pc', 'page_h_com_find_all');
 }
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     // ----------
     $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id);
     //--- 権限チェック
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin'] && !$status['is_commu_sub_admin']) {
         handle_kengen_error();
     }
     //---
     if (empty($c_commu['image_filename'])) {
         handle_kengen_error();
     }
     db_image_data_delete($c_commu['image_filename'], $u);
     db_commu_delete_c_commu_image_filename($target_c_commu_id);
     $p = array('target_c_commu_id' => $target_c_commu_id);
     openpne_redirect('ktai', 'page_c_edit_image', $p);
 }
 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_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     if ($status['is_commu_sub_admin']) {
         handle_kengen_error();
     }
     //---
     db_common_delete_c_commu($target_c_commu_id);
     openpne_redirect('ktai', 'page_h_home');
 }
 function execute($requests)
 {
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     $is_receive_mail = $requests['is_receive_mail'];
     $is_receive_mail_pc = $requests['is_receive_mail_pc'];
     $is_receive_message = $requests['is_receive_message'];
     // ----------
     //--- 権限チェック
     //コミュニティ参加者
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_member']) {
         handle_kengen_error();
     }
     //---
     //PC&ktaiの両方を一度に更新
     db_commu_update_is_receive_mail($target_c_commu_id, $u, $is_receive_mail, $is_receive_mail_pc, $is_receive_message);
     $p = array('target_c_commu_id' => $target_c_commu_id);
     openpne_redirect('ktai', 'page_c_home', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_commu_admin_confirm_id = $requests['target_c_commu_admin_confirm_id'];
     // ----------
     //--- 権限チェック
     //コミュニティ管理者
     //コミュニティ副管理者ではない
     $c_commu_admin_confirm = db_c_commu_admin_confirm4c_commu_admin_confirm_id($target_c_commu_admin_confirm_id);
     $target_c_commu_id = $c_commu_admin_confirm['c_commu_id'];
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     if ($status['is_commu_sub_admin']) {
         handle_kengen_error();
     }
     //---
     db_commu_delete_c_commu_admin_confirm4id($target_c_commu_admin_confirm_id);
     $p = array('target_c_commu_id' => $target_c_commu_id);
     openpne_redirect('pc', 'page_c_edit_member', $p);
 }
예제 #26
0
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     // ----------
     $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id);
     //--- 権限チェック
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin'] && !$status['is_commu_sub_admin']) {
         handle_kengen_error();
     }
     //---
     if (MAIL_ADDRESS_HASHED) {
         $mail_address = 'ci' . $target_c_commu_id . '-' . t_get_user_hash($u) . "@" . MAIL_SERVER_DOMAIN;
     } else {
         $mail_address = 'ci' . $target_c_commu_id . "@" . MAIL_SERVER_DOMAIN;
     }
     $mail_address = MAIL_ADDRESS_PREFIX . $mail_address;
     $this->set('mail_address', $mail_address);
     $this->set('c_commu', $c_commu);
     return 'success';
 }
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_commu_topic_id = $requests['target_c_commu_topic_id'];
     $c_commu_topic_comment_id = $requests['c_commu_topic_comment_id'];
     // ----------
     $c_topic = db_commu_c_topic4c_commu_topic_id($target_c_commu_topic_id);
     $c_commu_id = $c_topic['c_commu_id'];
     $c_commu_topic_comment = db_commu_c_commu_topic_comment4c_commu_topic_comment_id_2($c_commu_topic_comment_id);
     $c_commu_topic_comment['original_filename'] = db_file_original_filename4filename($c_commu_topic_comment['filename']);
     //--- 権限チェック
     $status = db_common_commu_status($u, $c_commu_id);
     if (!$status['is_commu_admin'] && $c_commu_topic_comment['c_member_id'] != $u) {
         handle_kengen_error();
     }
     //---
     //トピック名
     $this->set("c_commu_topic_name", $c_topic['name']);
     $this->set('c_commu_topic_comment', $c_commu_topic_comment);
     $this->set("c_commu_topic_id", $target_c_commu_topic_id);
     $this->set("c_commu_topic_comment_id", $c_commu_topic_comment_id);
     return 'success';
 }
 function execute($requests)
 {
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $target_c_commu_topic_id = $requests['target_c_commu_topic_id'];
     $body = $requests['body'];
     // ----------
     //--- 権限チェック
     //コミュニティ参加者
     $c_commu_topic = db_commu_c_commu_topic4c_commu_topic_id($target_c_commu_topic_id);
     if ($c_commu_topic['event_flag']) {
         $c_event_member_count = db_commu_count_c_event_member_list4c_commu_topic_id($target_c_commu_topic_id);
     }
     $c_commu_id = $c_commu_topic['c_commu_id'];
     $c_commu = db_commu_c_commu4c_commu_id($c_commu_topic['c_commu_id']);
     switch ($c_commu['is_comment']) {
         case 'public':
             //誰でもコメント可能
             break;
         case 'member':
             $status = db_common_commu_status($u, $c_commu_id);
             if (!$status['is_commu_member']) {
                 handle_kengen_error();
             }
             break;
     }
     //---
     if (is_null($body) || $body === '') {
         //bodyが無い時のエラー処理
         $p = array('target_c_commu_topic_id' => $target_c_commu_topic_id, 'msg' => 1);
         openpne_redirect('ktai', 'page_c_bbs', $p);
     }
     if ($requests['join_event'] || $requests['cancel_event']) {
         if (!db_commu_is_event_join_date($target_c_commu_topic_id)) {
             handle_kengen_error();
         }
     }
     $insert_id = db_commu_insert_c_commu_topic_comment_2($u, $target_c_commu_topic_id, $body);
     //イベントのメンバーに追加
     if ($requests['join_event']) {
         if ($c_commu_topic['capacity'] && $c_commu_topic['capacity'] <= $c_event_member_count) {
             $p = array('target_c_commu_topic_id' => $target_c_commu_topic_id, 'msg' => 45);
             openpne_redirect('ktai', 'page_c_bbs', $p);
         } else {
             db_commu_insert_c_event_member($target_c_commu_topic_id, $u);
         }
     } elseif ($requests['cancel_event']) {
         db_commu_delete_c_event_member($target_c_commu_topic_id, $u);
     }
     //お知らせメール送信(携帯へ)
     send_bbs_info_mail($insert_id, $u);
     //お知らせメール送信(PCへ)
     send_bbs_info_mail_pc($insert_id, $u);
     if (OPENPNE_USE_POINT_RANK) {
         //トピック・イベントにコメントした人にポイント付与
         $point = db_action_get_point4c_action_id(11);
         db_point_add_point($u, $point);
     }
     $p = array('target_c_commu_topic_id' => $target_c_commu_topic_id);
     openpne_redirect('ktai', 'page_c_bbs', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_commu_id = $requests['target_c_commu_id'];
     $name = $requests['name'];
     $c_commu_category_id = $requests['c_commu_category_id'];
     $info = $requests['info'];
     $is_admit = $requests['is_admit'];
     $is_open = $requests['is_open'];
     $is_topic = $requests['is_topic'];
     $is_comment = $requests['is_comment'];
     $is_send_join_mail = $requests['is_send_join_mail'];
     // ----------
     $upfile_obj = $_FILES['image_filename'];
     //--- 権限チェック
     //コミュニティ管理者
     $status = db_common_commu_status($u, $target_c_commu_id);
     if (!$status['is_commu_admin']) {
         handle_kengen_error();
     }
     //---
     $err_msg = array();
     $filesize = 0;
     $del_file = array();
     if (!$name) {
         $err_msg[] = WORD_COMMUNITY . "名を入力してください";
     }
     if (!$info) {
         $err_msg[] = WORD_COMMUNITY . "の説明を入力してください";
     }
     if (db_commu_is_changed_c_commu_name($target_c_commu_id, $name) && db_commu_is_commu4c_commu_name($name)) {
         $err_msg[] = 'その' . WORD_COMMUNITY . 'はすでに存在します';
     }
     $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id);
     if ($c_commu_category_id != $c_commu['c_commu_category_id'] && !db_commu_c_commu_category_is_create_commu($c_commu_category_id)) {
         $_REQUEST['c_commu_category_id'] = $c_commu['c_commu_category_id'];
         $err_msg[] = '指定されたカテゴリは選択できません';
     }
     if ($is_open == 'member') {
         if ($is_topic == 'public') {
             $err_msg[] = '公開範囲とトピック作成権限が指定できない組み合わせです';
         }
         if ($is_comment == 'public') {
             $err_msg[] = '公開範囲とコメント作成権限が指定できない組み合わせです';
         }
     }
     if (!empty($upfile_obj) && $upfile_obj['error'] !== UPLOAD_ERR_NO_FILE) {
         if (!($image = t_check_image($upfile_obj))) {
             $err_msg[] = '画像は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください';
         }
         $filesize = $image['size'];
         if ($c_commu['image_filename']) {
             $del_file[] = $c_commu['image_filename'];
         }
     }
     //---画像アップロードサイズチェック
     if (!$err_msg && $filesize) {
         $result = util_image_check_change_image_upload($filesize, $del_file, $u, 'other');
         if ($result) {
             $err_msg[] = util_image_get_upload_err_msg($result);
         }
     }
     if ($err_msg) {
         $_REQUEST['err_msg'] = $err_msg;
         $_REQUEST['target_c_commu_id'] = $target_c_commu_id;
         $_REQUEST['name'] = $name;
         $_REQUEST['info'] = $info;
         openpne_forward('pc', 'page', "c_edit");
         exit;
     }
     $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id);
     //画像アップデート
     $image_filename = image_insert_c_image_direct($upfile_obj, 'c_' . $target_c_commu_id, $u);
     if ($image_filename) {
         //画像削除
         db_image_data_delete($c_commu['image_filename'], $u);
     }
     // 承認待ちメンバー登録処理
     if ($is_admit == 'public' && $is_admit != $c_commu['is_admit']) {
         $member_confirm_list = db_commu_c_commu_member_confirm4c_commu_id($target_c_commu_id);
         foreach ($member_confirm_list as $confirm_id => $c_member_id) {
             db_commu_join_c_commu($target_c_commu_id, $c_member_id);
             do_inc_join_c_commu_send_mail($target_c_commu_id, $c_member_id);
             db_commu_delete_c_commu_member_confirm($confirm_id);
         }
     }
     db_commu_update_c_commu($target_c_commu_id, $name, $is_topic, $is_comment, $c_commu_category_id, $info, $is_admit, $is_open, $image_filename, $is_send_join_mail);
     $p = array('target_c_commu_id' => $target_c_commu_id);
     openpne_redirect('pc', 'page_c_home', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     $c_commu_id = $requests['c_commu_id'];
     $title = $requests['title'];
     $image_filename1_tmpfile = $requests['image_filename1_tmpfile'];
     $image_filename2_tmpfile = $requests['image_filename2_tmpfile'];
     $image_filename3_tmpfile = $requests['image_filename3_tmpfile'];
     $body = $requests['body'];
     //---添付ファイル
     if (OPENPNE_USE_FILEUPLOAD) {
         $filename4_tmpfile = $requests['filename4_tmpfile'];
         $filename4_original_filename = $requests['filename4_original_filename'];
         if ($filename4_tmpfile) {
             // 拡張子制限
             if (!util_check_file_extention($filename4_original_filename)) {
                 $_REQUEST['target_c_commu_id'] = $c_commu_id;
                 $_REQUEST['err_msg'] = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string'));
                 openpne_forward('pc', 'page', "c_topic_add");
                 exit;
             }
         }
     }
     //---権限チェック
     $c_commu = db_commu_c_commu4c_commu_id2($c_commu_id);
     switch ($c_commu['is_topic']) {
         case 'public':
             //誰でも作成可能
             break;
         case 'member':
             //コミュニティ参加者
             $status = db_common_commu_status($u, $c_commu_id);
             if (!$status['is_commu_member']) {
                 handle_kengen_error();
             }
             break;
         case 'admin_only':
             //トピック作成権限チェック
             if (!db_commu_is_c_commu_admin($c_commu_id, $u)) {
                 $_REQUEST['target_c_commu_id'] = $c_commu_id;
                 $_REQUEST['msg'] = "トピックは管理者だけが作成できます";
                 openpne_forward('pc', 'page', "c_home");
                 exit;
             }
             break;
     }
     //---画像アップロードサイズチェック
     $filesize = 0;
     if ($image_filename1_tmpfile) {
         $filesize += util_image_get_c_tmp_filesize4filename("t_{$c_commu_topic_id}_1", $image_filename1_tmpfile);
     }
     if ($image_filename2_tmpfile) {
         $filesize += util_image_get_c_tmp_filesize4filename("t_{$c_commu_topic_id}_2", $image_filename2_tmpfile);
     }
     if ($image_filename3_tmpfile) {
         $filesize += util_image_get_c_tmp_filesize4filename("t_{$c_commu_topic_id}_3", $image_filename3_tmpfile);
     }
     if ($filesize) {
         $result = util_image_check_add_image_upload($filesize, $u, 'commu');
         if ($result) {
             if ($result == 2) {
                 $result = 3;
             }
             $_REQUEST['target_c_commu_id'] = $c_commu_id;
             $_REQUEST['msg'] = util_image_get_upload_err_msg($result);
             openpne_forward('pc', 'page', "c_topic_add");
             exit;
         }
     }
     //---
     $insert_c_commu_topic = array("name" => $title, "c_commu_id" => $c_commu_id, "c_member_id" => $u, "event_flag" => 0);
     $c_commu_topic_id = db_commu_insert_c_commu_topic($insert_c_commu_topic);
     if ($image_filename1_tmpfile) {
         $filename1 = image_insert_c_image4tmp("t_{$c_commu_topic_id}_1", $image_filename1_tmpfile, $u);
     }
     if ($image_filename2_tmpfile) {
         $filename2 = image_insert_c_image4tmp("t_{$c_commu_topic_id}_2", $image_filename2_tmpfile, $u);
     }
     if ($image_filename3_tmpfile) {
         $filename3 = image_insert_c_image4tmp("t_{$c_commu_topic_id}_3", $image_filename3_tmpfile, $u);
     }
     if (OPENPNE_USE_FILEUPLOAD) {
         // 添付ファイルをDBに入れる
         if ($filename4_tmpfile) {
             $filename4 = file_insert_c_file4tmp("t_{$c_commu_topic_id}_4", $filename4_tmpfile, $filename4_original_filename);
         }
     }
     //テンポラリファイルを削除(画像と同時)
     t_image_clear_tmp(session_id());
     t_file_clear_tmp(session_id());
     $insert_c_commu_topic_comment = array("c_commu_id" => $c_commu_id, "c_member_id" => $u, "body" => $body, "number" => 0, "c_commu_topic_id" => $c_commu_topic_id, "image_filename1" => !empty($filename1) ? $filename1 : '', "image_filename2" => !empty($filename2) ? $filename2 : '', "image_filename3" => !empty($filename3) ? $filename3 : '', "filename4" => !empty($filename4) ? $filename4 : '');
     $insert_id = db_commu_insert_c_commu_topic_comment_3($insert_c_commu_topic_comment);
     //お知らせメール送信(携帯へ)
     send_bbs_info_mail($insert_id, $u);
     //お知らせメール送信(PCへ)
     send_bbs_info_mail_pc($insert_id, $u);
     if (OPENPNE_USE_POINT_RANK) {
         //トピックを作成した人にポイント付与
         $point = db_action_get_point4c_action_id(9);
         db_point_add_point($u, $point);
     }
     $p = array('target_c_commu_topic_id' => $c_commu_topic_id);
     openpne_redirect('pc', 'page_c_topic_detail', $p);
 }