Beispiel #1
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);
     //--- 権限チェック
     if ($c_commu['c_member_id_admin'] != $u && $c_commu['c_member_id_sub_admin'] != $u) {
         handle_kengen_error();
     }
     //---
     //カテゴリのリスト
     $c_commu_category_list = db_commu_c_commu_category4is_create_commu($c_commu['c_commu_category_id']);
     // 現在設定されているカテゴリが作成不可ならば、別途取得
     if (!db_commu_c_commu_category_is_create_commu($c_commu['c_commu_category_id'])) {
         array_push($c_commu_category_list, db_commu_get_c_commu_category4id($c_commu['c_commu_category_id']));
         asort($c_commu_category_list);
     }
     $this->set('c_commu_category_list', $c_commu_category_list);
     $this->set('is_topic', db_commu_is_topic4c_commu_id($target_c_commu_id));
     $this->set('c_commu', $c_commu);
     if ($c_commu['c_member_id_sub_admin'] == $u) {
         $this->set('is_sub_admin', 1);
     }
     return 'success';
 }
 function execute($requests)
 {
     $tail = $GLOBALS['KTAI_URL_TAIL'];
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     // --- リクエスト変数
     $c_commu_category_id = $requests['c_commu_category_id'];
     $name = $requests['name'];
     $info = $requests['info'];
     $is_admit = $requests['is_admit'];
     $is_open = $requests['is_open'];
     if (db_commu_is_commu4c_commu_name($name)) {
         $p = array('msg' => 49);
         openpne_redirect('ktai', 'page_h_com_add', $p);
     }
     if (!db_commu_c_commu_category_is_create_commu($c_commu_category_id)) {
         $p = array('msg' => 50);
         openpne_redirect('ktai', 'page_h_com_add', $p);
     }
     // ----------
     $c_member_id = $u;
     $c_commu_id = db_commu_insert_c_commu($c_member_id, $name, $c_commu_category_id, $info, $is_admit, $is_open);
     //作成者をコミュメンバーにする
     db_commu_join_c_commu($c_commu_id, $c_member_id);
     $p = array('target_c_commu_id' => $c_commu_id);
     openpne_redirect('ktai', 'page_c_home', $p);
 }
Beispiel #3
0
 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'];
     $err_msg = $requests['err_msg'];
     // ----------
     //--- 権限チェック
     //コミュニティ管理者
     if (!db_commu_is_c_commu_admin($target_c_commu_id, $u)) {
         handle_kengen_error();
     }
     //---
     $this->set('inc_navi', fetch_inc_navi('c', $target_c_commu_id));
     //コミュニティデータ取得
     $c_commu = db_commu_c_commu4c_commu_id($target_c_commu_id);
     $c_commu_category_id_now = $c_commu['c_commu_category_id'];
     if ($name) {
         $c_commu['name'] = $name;
     }
     if ($c_commu_category_id) {
         $c_commu['c_commu_category_id'] = $c_commu_category_id;
     }
     if ($info) {
         $c_commu['info'] = $info;
     }
     if ($public_flag) {
         $c_commu['public_flag'] = $public_flag;
     }
     $this->set('target_c_commu_id', $target_c_commu_id);
     if ($err_msg) {
         $c_commu['name'] = $name;
         $c_commu['info'] = $info;
     }
     $this->set('c_commu', $c_commu);
     // カテゴリリスト
     $c_commu_category_list = db_commu_c_commu_category4is_create_commu();
     // 現在設定されているカテゴリが作成不可ならば、別途取得
     if (!db_commu_c_commu_category_is_create_commu($c_commu_category_id_now)) {
         array_push($c_commu_category_list, db_commu_get_c_commu_category4id($c_commu_category_id_now));
         asort($c_commu_category_list);
     }
     $this->set('c_commu_category_list', $c_commu_category_list);
     $this->set('is_topic', db_commu_is_topic4c_commu_id($target_c_commu_id));
     $this->set('err_msg', $err_msg);
     $this->set('is_unused_join_commu', util_is_unused_mail('m_pc_join_commu'));
     return 'success';
 }
 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();
     // --- リクエスト変数
     $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'];
     $tmpfile = $requests['tmpfile'];
     $err_msg = array();
     if (db_commu_is_commu4c_commu_name($name)) {
         $err_msg[] = 'その' . WORD_COMMUNITY . 'はすでに存在します';
     }
     if (!db_commu_c_commu_category_is_create_commu($c_commu_category_id)) {
         $err_msg[] = '指定されたカテゴリは選択できません';
     }
     // 画像アップロード可能サイズチェック
     if ($tmpfile) {
         $filesize = util_image_get_c_tmp_filesize4filename("c_{$c_commu_id}", $tmpfile);
         $result = util_image_check_add_image_upload($filesize, $u, 'other');
         if ($result) {
             $err_msg[] = util_image_get_upload_err_msg($result);
         }
     }
     if ($err_msg) {
         $_REQUEST['err_msg'] = $err_msg;
         openpne_forward('pc', 'page', "h_com_add");
         exit;
     }
     // ----------
     // コミュニティ作成
     $c_commu_id = db_commu_insert_c_commu($u, $name, $c_commu_category_id, $info, $is_admit, $is_open);
     if ($tmpfile) {
         $filename = image_insert_c_image4tmp("c_{$c_commu_id}", $tmpfile, $u);
         t_image_clear_tmp(session_id());
         // 画像更新
         if ($filename) {
             db_commu_update_c_commu_image_filename($c_commu_id, $filename);
         }
     }
     //作成者をコミュメンバーにする
     db_commu_join_c_commu($c_commu_id, $u);
     $p = array('target_c_commu_id' => $c_commu_id);
     openpne_redirect('pc', 'page_c_home', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $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'];
     // ----------
     $upfile_obj = $_FILES['image_filename'];
     //Category Check
     if (!db_commu_c_commu_category4is_create_commu()) {
         openpne_redirect('pc', 'page_h_err_c_commu_add');
     }
     //TODO:
     $err_msg = array();
     if (db_commu_is_commu4c_commu_name($name)) {
         $err_msg[] = 'その' . WORD_COMMUNITY . 'はすでに存在します';
     }
     if (!db_commu_c_commu_category_is_create_commu($c_commu_category_id)) {
         $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'];
         $result = util_image_check_add_image_upload($filesize, $u, 'other');
         if ($result) {
             $err_msg[] = util_image_get_upload_err_msg($result);
         }
     }
     if ($err_msg) {
         $_REQUEST['err_msg'] = $err_msg;
         openpne_forward('pc', 'page', "h_com_add");
         exit;
     }
     //-----
     $this->set('inc_navi', fetch_inc_navi('h'));
     $c_commu_category_list = db_commu_c_commu_category4null();
     $public_flag_list = array('is_admit' => array('public' => '誰でも参加可能', 'auth' => '管理者の承認が必要'), 'is_open' => array('public' => '全員に公開', 'member' => WORD_COMMUNITY . '参加者にのみ公開'));
     foreach ($c_commu_category_list as $each_c_commu_categfory) {
         if ($each_c_commu_categfory['c_commu_category_id'] == $c_commu_category_id) {
             $c_commu_category_value = $each_c_commu_categfory['name'];
         }
     }
     $is_admit_value = $public_flag_list['is_admit'][$is_admit];
     $is_open_value = $public_flag_list['is_open'][$is_open];
     $this->set("c_commu_category_value", $c_commu_category_value);
     $this->set("is_admit_value", $is_admit_value);
     $this->set("is_open_value", $is_open_value);
     //画像をvar/tmpフォルダにコピー
     $sessid = session_id();
     t_image_clear_tmp($sessid);
     if (file_exists($upfile_obj["tmp_name"])) {
         $tmpfile = t_image_save2tmp($upfile_obj, $sessid, "c");
     }
     $form_val = array('name' => $name, 'c_commu_category_id' => $c_commu_category_id, 'info' => $info, 'is_admit' => $is_admit, 'is_open' => $is_open, 'tmpfile' => $tmpfile, 'image_filename' => $upfile_obj['name']);
     $this->set("form_val", $form_val);
     return 'success';
 }
 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);
 }
Beispiel #8
0
/**
 * コミュニティを作成できるカテゴリかどうか
 *
 * @param int $c_commu_category_id
 * @return bool
 */
function db_commu_c_commu_category_is_create_flag($c_commu_category_id)
{
    return db_commu_c_commu_category_is_create_commu($c_commu_category_id);
}