function execute($requests) { $u = $GLOBALS['AUTH']->uid(); // --- リクエスト変数 $c_commu_topic_id = $requests['target_c_commu_topic_id']; $body = $requests['body']; $title = $requests['title']; // ---------- $upfile_obj1 = $_FILES['image_filename1']; $upfile_obj2 = $_FILES['image_filename2']; $upfile_obj3 = $_FILES['image_filename3']; $upfile_obj4 = $_FILES['filename4']; //--- 権限チェック //トピック作成者 or コミュニティ管理者 $c_topic = db_commu_c_topic4c_commu_topic_id($c_commu_topic_id); $c_commu_id = $c_topic['c_commu_id']; if (!db_commu_is_c_topic_admin($c_commu_topic_id, $u) && !db_commu_is_c_commu_admin($c_commu_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(); } //--- //エラーチェック $err_msg = array(); $filesize = 0; $del_file = array(); if (is_null($title) || $title === '') { $err_msg[] = "タイトルを入力してください"; } if (is_null($body) || $body === '') { $err_msg[] = "本文を入力してください"; } if (!empty($upfile_obj1) && $upfile_obj1['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile_obj1))) { $err_msg[] = '画像1は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; } $filesize += $image['size']; if ($c_topic['image_filename1']) { $del_file[] = $c_topic['image_filename1']; } } if (!empty($upfile_obj2) && $upfile_obj2['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile_obj2))) { $err_msg[] = '画像2は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; } $filesize += $image['size']; if ($c_topic['image_filename2']) { $del_file[] = $c_topic['image_filename2']; } } if (!empty($upfile_obj3) && $upfile_obj3['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile_obj3))) { $err_msg[] = '画像3は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; } $filesize += $image['size']; if ($c_topic['image_filename3']) { $del_file[] = $c_topic['image_filename3']; } } // 画像アップロード可能サイズチェック if (!$err_msg && $filesize) { $result = util_image_check_change_image_upload($filesize, $del_file, $u, 'commu'); if ($result) { if ($result == 2) { $result = 3; } $err_msg[] = util_image_get_upload_err_msg($result); } } if (OPENPNE_USE_FILEUPLOAD) { if (!empty($upfile_obj4) && $upfile_obj4['error'] !== UPLOAD_ERR_NO_FILE) { // ファイルサイズ制限 if ($upfile_obj4['size'] === 0 || $upfile_obj4['size'] > FILE_MAX_FILESIZE * 1024) { $err_msg[] = 'ファイルは' . FILE_MAX_FILESIZE . 'KB以内のファイルにしてください(ただし空のファイルはアップロードできません)'; } // 拡張子制限 if (!util_check_file_extention($upfile_obj4['name'])) { $err_msg[] = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string')); } } } if ($err_msg) { $_REQUEST['err_msg'] = $err_msg; $_REQUEST['target_c_commu_topic_id'] = $c_commu_topic_id; $_REQUEST['title'] = $title; $_REQUEST['body'] = $body; openpne_forward('pc', 'page', "c_topic_edit"); exit; } // 画像アップデート $filename1 = image_insert_c_image_direct($upfile_obj1, "t_{$c_commu_topic_id}_1", $u); $filename2 = image_insert_c_image_direct($upfile_obj2, "t_{$c_commu_topic_id}_2", $u); $filename3 = image_insert_c_image_direct($upfile_obj3, "t_{$c_commu_topic_id}_3", $u); //ファイルアップロード $sessid = session_id(); t_image_clear_tmp($sessid); if (OPENPNE_USE_FILEUPLOAD) { $tmpfile4 = t_file_save2tmp($upfile_obj4, $sessid, "t_4"); } if ($tmpfile4) { $filename4 = file_insert_c_file4tmp("t_{$c_commu_topic_id}_4", $tmpfile4, $upfile_obj4['name']); } t_file_clear_tmp(session_id()); $update_c_commu_topic = array('name' => $title, 'event_flag' => 0); db_commu_update_c_commu_topic($c_commu_topic_id, $update_c_commu_topic); $update_c_commu_topic_comment = array('body' => $body); $c_topic = db_commu_c_topic4c_commu_topic_id($c_commu_topic_id); if ($filename1) { $update_c_commu_topic_comment["image_filename1"] = $filename1; db_image_data_delete($c_topic['image_filename1'], $u); } if ($filename2) { $update_c_commu_topic_comment["image_filename2"] = $filename2; db_image_data_delete($c_topic['image_filename2'], $u); } if ($filename3) { $update_c_commu_topic_comment["image_filename3"] = $filename3; db_image_data_delete($c_topic['image_filename3'], $u); } if ($filename4) { $update_c_commu_topic_comment['filename4'] = $filename4; db_file_delete_c_file($c_topic['filename']); } db_commu_update_c_commu_topic_comment($c_commu_topic_id, $update_c_commu_topic_comment); $p = array('target_c_commu_topic_id' => $c_commu_topic_id); openpne_redirect('pc', 'page_c_topic_detail', $p); }
function execute($requests) { $u = $GLOBALS['AUTH']->uid(); // --- リクエスト変数 $c_commu_topic_id = $requests['target_c_commu_topic_id']; // ---------- $upfile_obj1 = $_FILES['image_filename1']; $upfile_obj2 = $_FILES['image_filename2']; $upfile_obj3 = $_FILES['image_filename3']; $upfile_obj4 = $_FILES['filename4']; list($event, $errors) = p_c_event_add_confirm_event4request(true); if ($event['invite_period_year'] . $event['invite_period_month'] . $event['invite_period_day'] != '') { $invite_period = $event['invite_period_year'] . "-" . $event['invite_period_month'] . "-" . $event['invite_period_day']; } else { $invite_period = ""; } $c_commu_id = $event['c_commu_id']; //--- 権限チェック //イベント管理者 or コミュニティ管理者 if (!db_commu_is_c_event_admin($c_commu_topic_id, $u) && !db_commu_is_c_commu_admin($c_commu_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(); } //--- //エラーチェック $err_msg = $errors; $filesize = 0; $del_file = array(); if (!$event['open_date_month'] || !$event['open_date_day'] || !$event['open_date_year']) { $err_msg[] = "開催日時を入力してください"; } elseif (!t_checkdate($event['open_date_month'], $event['open_date_day'], $event['open_date_year'])) { $err_msg[] = "開催日時は存在しません"; } elseif (mktime(0, 0, 0, $event['open_date_month'], $event['open_date_day'], $event['open_date_year']) < mktime(0, 0, 0)) { $err_msg[] = "開催日時は過去に指定できません"; } if ($event['invite_period_month'] . $event['invite_period_day'] . $event['invite_period_year'] != "") { if (!$event['invite_period_month'] || !$event['invite_period_day'] || !$event['invite_period_year']) { $err_msg[] = "募集期限は存在しません"; } elseif (!t_checkdate($event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year'])) { $err_msg[] = "募集期限は存在しません"; } elseif (mktime(0, 0, 0, $event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year']) < mktime(0, 0, 0)) { $err_msg[] = "募集期限は過去に指定できません"; } elseif (mktime(0, 0, 0, $event['open_date_month'], $event['open_date_day'], $event['open_date_year']) < mktime(0, 0, 0, $event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year'])) { $err_msg[] = "募集期限は開催日時より未来に指定できません"; } } $c_topic = db_commu_c_topic4c_commu_topic_id_2($c_commu_topic_id); if (!empty($upfile_obj1) && $upfile_obj1['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile_obj1))) { $err_msg[] = '画像1は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; } $filesize += $image['size']; if ($c_topic['image_filename1']) { $del_file[] = $c_topic['image_filename1']; } } if (!empty($upfile_obj2) && $upfile_obj2['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile_obj2))) { $err_msg[] = '画像2は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; } $filesize += $image['size']; if ($c_topic['image_filename2']) { $del_file[] = $c_topic['image_filename2']; } } if (!empty($upfile_obj3) && $upfile_obj3['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile_obj3))) { $err_msg[] = '画像3は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; } $filesize += $image['size']; if ($c_topic['image_filename3']) { $del_file[] = $c_topic['image_filename3']; } } // 画像アップロード可能サイズチェック if (!$err_msg && $filesize) { $result = util_image_check_change_image_upload($filesize, $del_file, $u, 'commu'); if ($result) { if ($result == 2) { $result = 3; } $err_msg[] = util_image_get_upload_err_msg($result); } } if (OPENPNE_USE_FILEUPLOAD) { if (!empty($upfile_obj4) && $upfile_obj4['error'] !== UPLOAD_ERR_NO_FILE) { // ファイルサイズ制限 if ($upfile_obj4['size'] === 0 || $upfile_obj4['size'] > FILE_MAX_FILESIZE * 1024) { $err_msg[] = 'ファイルは' . FILE_MAX_FILESIZE . 'KB以内のファイルにしてください(ただし空のファイルはアップロードできません)'; } // 拡張子制限 if (!util_check_file_extention($upfile_obj4['name'])) { $err_msg[] = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string')); } } } if ($err_msg) { $_REQUEST = $event; $_REQUEST['err_msg'] = $err_msg; $_REQUEST['target_c_commu_topic_id'] = $c_commu_topic_id; openpne_forward('pc', 'page', "c_event_edit"); exit; } // 画像アップデート $filename1 = image_insert_c_image_direct($upfile_obj1, "t_{$c_commu_topic_id}_1", $u); $filename2 = image_insert_c_image_direct($upfile_obj2, "t_{$c_commu_topic_id}_2", $u); $filename3 = image_insert_c_image_direct($upfile_obj3, "t_{$c_commu_topic_id}_3", $u); //ファイルアップロード $sessid = session_id(); t_image_clear_tmp($sessid); if (OPENPNE_USE_FILEUPLOAD) { $tmpfile4 = t_file_save2tmp($upfile_obj4, $sessid, "t_4"); } if ($tmpfile4) { $filename4 = file_insert_c_file4tmp("t_{$c_commu_topic_id}_4", $tmpfile4, $upfile_obj4['name']); } t_file_clear_tmp(session_id()); $update_c_commu_topic = array('name' => $event['title'], 'open_date' => $event['open_date_year'] . "-" . $event['open_date_month'] . "-" . $event['open_date_day'], 'open_date_comment' => $event['open_date_comment'], 'open_pref_id' => $event['open_pref_id'], 'open_pref_comment' => $event['open_pref_comment'], 'invite_period' => $invite_period, 'event_flag' => 1, 'capacity' => $event['capacity']); db_commu_update_c_commu_topic($c_commu_topic_id, $update_c_commu_topic); $update_c_commu_topic_comment = array('body' => $event['detail']); // 画像アップロード可能サイズチェックで使用するため移動 // $c_topic = db_commu_c_topic4c_commu_topic_id_2($c_commu_topic_id); if ($filename1) { $update_c_commu_topic_comment["image_filename1"] = $filename1; db_image_data_delete($c_topic['image_filename1'], $u); } if ($filename2) { $update_c_commu_topic_comment["image_filename2"] = $filename2; db_image_data_delete($c_topic['image_filename2'], $u); } if ($filename3) { $update_c_commu_topic_comment["image_filename3"] = $filename3; db_image_data_delete($c_topic['image_filename3'], $u); } if ($filename4) { $update_c_commu_topic_comment['filename4'] = $filename4; db_file_delete_c_file($c_topic['filename']); } db_commu_update_c_commu_topic_comment($c_commu_topic_id, $update_c_commu_topic_comment); $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(); // --- リクエスト変数 $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': if (!db_commu_is_c_commu_view4c_commu_idAc_member_id($c_commu_id, $u)) { handle_kengen_error(); } break; case 'admin_only': //トピック作成権限チェック if (!db_commu_is_c_commu_admin($c_commu_id, $u)) { handle_kengen_error(); } break; } //画像ファイル $upfile_obj1 = $_FILES['image_filename1']; $upfile_obj2 = $_FILES['image_filename2']; $upfile_obj3 = $_FILES['image_filename3']; //添付ファイル $upfile_obj4 = $_FILES['uploadfile']; $err_msg = array(); $filesize = 0; if (!empty($upfile_obj1) && $upfile_obj1['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile_obj1))) { $err_msg[] = '画像1は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; } $filesize += $image['size']; } if (!empty($upfile_obj2) && $upfile_obj2['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile_obj2))) { $err_msg[] = '画像2は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; } $filesize += $image['size']; } if (!empty($upfile_obj3) && $upfile_obj3['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile_obj3))) { $err_msg[] = '画像3は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; } $filesize += $image['size']; } // 画像アップロードサイズチェック if ($filesize) { $result = util_image_check_add_image_upload($filesize, $u, 'commu'); if ($result) { if ($result == 2) { $result = 3; } $err_msg[] = util_image_get_upload_err_msg($result); } } if (OPENPNE_USE_FILEUPLOAD) { if (!empty($upfile_obj4) && $upfile_obj4['error'] !== UPLOAD_ERR_NO_FILE) { // ファイルサイズ制限 if ($upfile_obj4['size'] === 0 || $upfile_obj4['size'] > FILE_MAX_FILESIZE * 1024) { $err_msg[] = 'ファイルは' . FILE_MAX_FILESIZE . 'KB以内のファイルにしてください(ただし空のファイルはアップロードできません)'; } // 拡張子制限 if (!util_check_file_extention($upfile_obj4['name'])) { $err_msg[] = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string')); } } } if ($err_msg) { $_REQUEST['err_msg'] = $err_msg; openpne_forward('pc', 'page', "c_topic_add"); exit; } $sessid = session_id(); //----- t_image_clear_tmp($sessid); t_file_clear_tmp($sessid); //画像をvar/tmpフォルダにコピー $tmpfile1 = t_image_save2tmp($upfile_obj1, $sessid, "t_1"); $tmpfile2 = t_image_save2tmp($upfile_obj2, $sessid, "t_2"); $tmpfile3 = t_image_save2tmp($upfile_obj3, $sessid, "t_3"); if (OPENPNE_USE_FILEUPLOAD) { // 一次ファイルをvar/tmpにコピー $tmpfile4 = t_file_save2tmp($upfile_obj4, $sessid, "t_4"); } $this->set('inc_navi', fetch_inc_navi("c", $c_commu_id)); $c_topic = array('c_commu_id' => $c_commu_id, 'title' => $title, 'body' => $body, 'image_filename1_tmpfile' => $tmpfile1, 'image_filename2_tmpfile' => $tmpfile2, 'image_filename3_tmpfile' => $tmpfile3, 'image_filename1' => $upfile_obj1["name"], 'image_filename2' => $upfile_obj2["name"], 'image_filename3' => $upfile_obj3["name"], 'filename4_tmpfile' => $tmpfile4, 'filename4_original_filename' => $upfile_obj4["name"]); $this->set('c_topic', $c_topic); return 'success'; }
function execute($requests) { $u = $GLOBALS['AUTH']->uid(); // --- リクエスト変数 $c_commu_topic_id = $requests['target_c_commu_topic_id']; $body = $requests['body']; $button = $requests['button']; // ---------- $upfile_obj1 = $_FILES['image_filename1']; $upfile_obj2 = $_FILES['image_filename2']; $upfile_obj3 = $_FILES['image_filename3']; //添付ファイル $upfile_obj4 = $_FILES['uploadfile']; $c_topic = db_commu_c_topic4c_commu_topic_id_2($c_commu_topic_id); $c_commu_id = $c_topic['c_commu_id']; //--- 権限チェック if (!db_commu_is_c_commu_view4c_commu_idAc_member_id($c_commu_id, $u)) { handle_kengen_error(); } if (!db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) { $err_msg[] = 'コメントが1000番に達したので、このイベントにはコメントできません'; $_REQUEST['err_msg'] = $err_msg; openpne_forward('pc', 'page', "c_event_detail"); exit; } //--- if ($button == "イベントに参加する") { $event_write['add_event_member'] = 1; } elseif ($button == "参加をキャンセルする") { $event_write['add_event_member'] = -1; } //エラーチェック $err_msg = array(); $filesize = 0; if (trim($body) == '') { $err_msg[] = "本文を入力してください"; } if (!empty($upfile_obj1) && $upfile_obj1['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile_obj1))) { $err_msg[] = '画像1は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; } $filesize += $image['size']; } if (!empty($upfile_obj2) && $upfile_obj2['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile_obj2))) { $err_msg[] = '画像2は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; } $filesize += $image['size']; } if (!empty($upfile_obj3) && $upfile_obj3['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile_obj3))) { $err_msg[] = '画像3は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; } $filesize += $image['size']; } //---画像アップロードサイズチェック if ($filesize) { $result = util_image_check_add_image_upload($filesize, $u, 'commu'); if ($result) { if ($result == 2) { $result = 3; } $err_msg[] = util_image_get_upload_err_msg($result); } } if (OPENPNE_USE_FILEUPLOAD) { if (!empty($upfile_obj4) && $upfile_obj4['error'] !== UPLOAD_ERR_NO_FILE) { // ファイルサイズ制限 if ($upfile_obj4['size'] === 0 || $upfile_obj4['size'] > FILE_MAX_FILESIZE * 1024) { $err_msg[] = 'ファイルは' . FILE_MAX_FILESIZE . 'KB以内のファイルにしてください(ただし空のファイルはアップロードできません)'; } // 拡張子制限 if (!util_check_file_extention($upfile_obj4['name'])) { $err_msg[] = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string')); } } } if ($event_write['add_event_member'] === 1 && $c_topic['capacity'] && $c_topic['capacity'] <= $c_topic['member_num']) { $err_msg[] = 'イベントの参加者数制限を超えています'; } if ($event_write['add_event_member']) { if (!db_commu_is_event_join_date($c_commu_topic_id)) { $err_msg[] = '現在このイベントへの参加・キャンセルの変更はできません'; } } if ($err_msg) { $_REQUEST['err_msg'] = $err_msg; $_REQUEST['body'] = $body; openpne_forward('pc', 'page', "c_event_detail"); exit; } $sessid = session_id(); t_image_clear_tmp($sessid); t_file_clear_tmp($sessid); $tmpfile1 = t_image_save2tmp($upfile_obj1, $sessid, "tc_1"); $tmpfile2 = t_image_save2tmp($upfile_obj2, $sessid, "tc_2"); $tmpfile3 = t_image_save2tmp($upfile_obj3, $sessid, "tc_3"); if (OPENPNE_USE_FILEUPLOAD) { // 一時ファイルをvar/tmpにコピー $tmpfile4 = t_file_save2tmp($upfile_obj4, $sessid, "tc_4"); } $this->set('inc_navi', fetch_inc_navi("c", $c_commu_id)); $event_write['target_c_commu_id'] = $c_commu_id; $event_write['target_c_commu_topic_id'] = $c_commu_topic_id; $event_write['body'] = $body; $event_write['image_filename1_tmpfile'] = $tmpfile1; $event_write['image_filename2_tmpfile'] = $tmpfile2; $event_write['image_filename3_tmpfile'] = $tmpfile3; $event_write['image_filename1'] = $upfile_obj1["name"]; $event_write['image_filename2'] = $upfile_obj2["name"]; $event_write['image_filename3'] = $upfile_obj3["name"]; $event_write['filename4_tmpfile'] = $tmpfile4; $event_write['filename4_original_filename'] = $upfile_obj4["name"]; $this->set('event_write', $event_write); return 'success'; }
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); }
function execute($requests) { $u = $GLOBALS['AUTH']->uid(); // --- リクエスト変数 $tmpfile1 = $requests['image_filename1_tmpfile']; $tmpfile2 = $requests['image_filename2_tmpfile']; $tmpfile3 = $requests['image_filename3_tmpfile']; // ---------- //---添付ファイル 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'] = $requests['c_commu_id']; $_REQUEST['err_msg'] = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string')); openpne_forward('pc', 'page', "c_event_add"); exit; } } } //--- 権限チェック //コミュニティ参加者 list($event, $errors) = p_c_event_add_confirm_event4request(true); $c_commu = db_commu_c_commu4c_commu_id2($event['c_commu_id']); switch ($c_commu['is_topic']) { case 'public': //誰でも作成可能 break; case 'member': $status = db_common_commu_status($u, $event['c_commu_id']); if (!$status['is_commu_member']) { handle_kengen_error(); } break; case 'admin_only': //トピック作成権限チェック if (!db_commu_is_c_commu_admin($event['c_commu_id'], $u)) { $_REQUEST['target_c_commu_id'] = $event['c_commu_id']; $_REQUEST['msg'] = "イベントは管理者だけが作成できます"; openpne_forward('pc', 'page', "c_home"); exit; } break; } //--- // エラーチェック $err_msg = $errors; $filesize = 0; if (!$event['open_date_month'] || !$event['open_date_day'] || !$event['open_date_year']) { $err_msg[] = "開催日時を入力してください"; } elseif (!t_checkdate($event['open_date_month'], $event['open_date_day'], $event['open_date_year'])) { $err_msg[] = "開催日時は存在しません"; } elseif (mktime(0, 0, 0, $event['open_date_month'], $event['open_date_day'], $event['open_date_year']) < mktime(0, 0, 0)) { $err_msg[] = "開催日時は過去に指定できません"; } if ($event['invite_period_month'] . $event['invite_period_day'] . $event['invite_period_year'] != "") { if (!$event['invite_period_month'] || !$event['invite_period_day'] || !$event['invite_period_year']) { $err_msg[] = "募集期限は存在しません"; } elseif (!t_checkdate($event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year'])) { $err_msg[] = "募集期限は存在しません"; } elseif (mktime(0, 0, 0, $event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year']) < mktime(0, 0, 0)) { $err_msg[] = "募集期限は過去に指定できません"; } elseif (mktime(0, 0, 0, $event['open_date_month'], $event['open_date_day'], $event['open_date_year']) < mktime(0, 0, 0, $event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year'])) { $err_msg[] = "募集期限は開催日時より未来に指定できません"; } } // 画像アップロード可能サイズチェック if ($tmpfile1) { $filesize += util_image_get_c_tmp_filesize4filename("t_{$c_commu_topic_id}_1", $tmpfile1); } if ($tmpfile2) { $filesize += util_image_get_c_tmp_filesize4filename("t_{$c_commu_topic_id}_2", $tmpfile2); } if ($tmpfile3) { $filesize += util_image_get_c_tmp_filesize4filename("t_{$c_commu_topic_id}_3", $tmpfile3); } if ($filesize) { $result = util_image_check_add_image_upload($filesize, $u, 'commu'); if ($result) { if ($result == 2) { $result = 3; } $err_msg[] = util_image_get_upload_err_msg($result); } } if ($err_msg) { $_REQUEST = $event; $_REQUEST['target_c_commu_id'] = $event['c_commu_id']; $_REQUEST['err_msg'] = $err_msg; openpne_forward('pc', 'page', "c_event_add"); exit; } if ($event['invite_period_year'] . $event['invite_period_month'] . $event['invite_period_day'] != "") { $invite_period = $event['invite_period_year'] . "-" . $event['invite_period_month'] . "-" . $event['invite_period_day']; } $insert_c_commu_topic = array("name" => $event['title'], "c_commu_id" => $event['c_commu_id'], "c_member_id" => $u, "open_date" => $event['open_date_year'] . "-" . $event['open_date_month'] . "-" . $event['open_date_day'], "open_date_comment" => $event['open_date_comment'], "open_pref_id" => $event['open_pref_id'], "open_pref_comment" => $event['open_pref_comment'], "invite_period" => $invite_period, "event_flag" => 1, "capacity" => $event['capacity']); $c_commu_topic_id = db_commu_insert_c_commu_topic($insert_c_commu_topic); if ($tmpfile1) { $filename1 = image_insert_c_image4tmp("t_{$c_commu_topic_id}_1", $tmpfile1, $u); } if ($tmpfile2) { $filename2 = image_insert_c_image4tmp("t_{$c_commu_topic_id}_2", $tmpfile2, $u); } if ($tmpfile3) { $filename3 = image_insert_c_image4tmp("t_{$c_commu_topic_id}_3", $tmpfile3, $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" => $event['c_commu_id'], "c_member_id" => $u, "body" => $event['detail'], "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); db_commu_insert_c_event_member_as_admin($c_commu_topic_id, $u); if (OPENPNE_USE_POINT_RANK) { //イベントを作成した人にポイント付与 $point = db_action_get_point4c_action_id(10); db_point_add_point($u, $point); } $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(); // --- リクエスト変数 $c_commu_topic_id = $requests['target_c_commu_topic_id']; $body = $requests['body']; $tmpfile1 = $requests['image_filename1_tmpfile']; $tmpfile2 = $requests['image_filename2_tmpfile']; $tmpfile3 = $requests['image_filename3_tmpfile']; // ---------- // 添付ファイル 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_topic_id'] = $c_commu_topic_id; $_REQUEST['err_msg'] = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string')); openpne_forward('pc', 'page', "c_topic_detail"); exit; } } } //--- 権限チェック //コミュニティ参加者 $c_topic = db_commu_c_topic4c_commu_topic_id($c_commu_topic_id); $c_commu_id = $c_topic['c_commu_id']; $c_commu = db_commu_c_commu4c_commu_id($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 (!db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) { $err_msg[] = 'コメントが1000番に達したので、このトピックにはコメントできません'; $_REQUEST['err_msg'] = $err_msg; openpne_forward('pc', 'page', "c_topic_detail"); exit; } //--- //---画像アップロードサイズチェック $filesize = 0; if ($tmpfile1) { $filesize += util_image_get_c_tmp_filesize4filename("tc_{$insert_id}_1", $tmpfile1); } if ($tmpfile2) { $filesize += util_image_get_c_tmp_filesize4filename("tc_{$insert_id}_2", $tmpfile2); } if ($tmpfile3) { $filesize += util_image_get_c_tmp_filesize4filename("tc_{$insert_id}_3", $tmpfile3); } if ($filesize) { $result = util_image_check_add_image_upload($filesize, $u, 'commu'); if ($result) { if ($result == 2) { $result = 3; } $_REQUEST['err_msg'] = util_image_get_upload_err_msg($result); openpne_forward('pc', 'page', "c_topic_detail"); exit; } } $number = db_commu_c_commu_topic_comment_number4c_commu_topic_id($c_commu_topic_id); $insert_c_commu_topic_comment = array("c_commu_id" => $c_commu_id, "c_member_id" => $u, "body" => $body, "number" => $number, "c_commu_topic_id" => $c_commu_topic_id); $insert_id = db_commu_insert_c_commu_topic_comment_3($insert_c_commu_topic_comment); if ($tmpfile1) { $filename1 = image_insert_c_image4tmp("tc_{$insert_id}_1", $tmpfile1, $u); } if ($tmpfile2) { $filename2 = image_insert_c_image4tmp("tc_{$insert_id}_2", $tmpfile2, $u); } if ($tmpfile3) { $filename3 = image_insert_c_image4tmp("tc_{$insert_id}_3", $tmpfile3, $u); } if (OPENPNE_USE_FILEUPLOAD) { // 添付ファイルをDBに入れる if ($filename4_tmpfile) { $filename4 = file_insert_c_file4tmp("tc_{$insert_id}_4", $filename4_tmpfile, $filename4_original_filename); } } t_image_clear_tmp(session_id()); t_file_clear_tmp(session_id()); db_commu_update_c_commu_topic_comment_images($insert_id, $filename1, $filename2, $filename3); db_commu_update_c_commu_topic_comment_file($insert_id, $filename4); //お知らせメール送信(携帯へ) 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' => $c_commu_topic_id); openpne_redirect('pc', 'page_c_topic_detail', $p); }
function execute($requests) { $u = $GLOBALS['AUTH']->uid(); // --- リクエスト変数 $c_member_id_to = $requests['c_member_id_to']; $subject = $requests['subject']; $body = $requests['body']; $tmpfile_1 = $requests['tmpfile_1']; $tmpfile_2 = $requests['tmpfile_2']; $tmpfile_3 = $requests['tmpfile_3']; // ---------- // 添付ファイル $fileupload_error = ''; if (OPENPNE_USE_FILEUPLOAD) { $tmpfile_4 = $requests['tmpfile_4']; $tmpfile_4_original_filename = $requests['tmpfile_4_original_filename']; if ($tmpfile_4) { // 拡張子制限 if (!util_check_file_extention($tmpfile_4_original_filename)) { $fileupload_error = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string')); } } } $msg1 = ""; $msg2 = ""; if (null == $subject) { $msg1 = "件名を入力してください"; } if (null == $body) { $msg2 = "メッセージを入力してください"; } if (!$msg1 && !$msg2 && $fileupload_error) { $msg1 = $fileupload_error; } else { if (!$msg1 && !$msg2 && !$fileupload_error) { //---画像アップロードサイズチェック $filesize = 0; if ($tmpfile_1) { $filesize += util_image_get_c_tmp_filesize4filename("ms_{$c_message_id}_1", $tmpfile_1); } if ($tmpfile_2) { $filesize += util_image_get_c_tmp_filesize4filename("ms_{$c_message_id}_2", $tmpfile_2); } if ($tmpfile_3) { $filesize += util_image_get_c_tmp_filesize4filename("ms_{$c_message_id}_3", $tmpfile_3); } if ($filesize) { $result = util_image_check_add_image_upload($filesize, $u, 'other'); if ($result) { if ($result == 2) { $result = 3; } $msg1 = util_image_get_upload_err_msg($result); } } } } if ($requests['target_c_message_id'] == $requests['jyusin_c_message_id']) { $is_savebox = false; } else { $is_savebox = true; } if ($msg1 || $msg2) { $p = array('target_c_member_id' => $c_member_id_to, 'target_c_message_id' => $requests['target_c_message_id'], 'jyusin_c_message_id' => $requests['jyusin_c_message_id'], 'body' => $requests['body'], 'subject' => $requests['subject'], 'msg1' => $msg1, 'msg2' => $msg2); if ($is_savebox) { $p['box'] = 'savebox'; } openpne_redirect('pc', 'page_f_message_send', $p); } //修正 if ($requests['no']) { $p = array('target_c_member_id' => $c_member_id_to, 'target_c_message_id' => $requests['target_c_message_id'], 'jyusin_c_message_id' => $requests['jyusin_c_message_id'], 'body' => $requests['body'], 'subject' => $requests['subject']); openpne_redirect('pc', 'page_f_message_send', $p); } //--- 権限チェック //送信先が自分以外 if ($c_member_id_to == $u) { handle_kengen_error(); } //存在しないメンバー $target_member = db_member_c_member4c_member_id($c_member_id_to); if (empty($target_member)) { handle_kengen_error(); } //アクセスブロック設定 if (db_member_is_access_block($u, $c_member_id_to)) { openpne_redirect('pc', 'page_h_access_block'); } if ($requests['jyusin_c_message_id']) { $c_message = db_message_c_message4c_message_id($requests['jyusin_c_message_id']); if ($c_message['c_member_id_to'] != $u || !$c_message['is_send']) { handle_kengen_error(); } } if ($requests['target_c_message_id'] != $requests['jyusin_c_message_id']) { $c_message = db_message_c_message4c_message_id($requests['target_c_message_id']); if ($c_message['c_member_id_from'] != $u || $c_message['is_send']) { handle_kengen_error(); } } //--- //返信済みにする if ($requests['jyusin_c_message_id']) { db_message_update_is_hensin($requests['jyusin_c_message_id']); } //下書き保存が存在しない if (!$is_savebox) { $c_message_id = db_message_send_message($u, $c_member_id_to, $subject, $body); } else { $c_message_id = $requests['target_c_message_id']; db_message_update_message_to_is_save($requests['target_c_message_id'], $subject, $body, 1); do_common_send_message_mail_send($c_member_id_to, $u, $subject, $body, $requests['target_c_message_id']); do_common_send_message_mail_send_ktai($c_member_id_to, $u, $subject, $body); } //画像・ファイル挿入 $sessid = session_id(); $filename_1 = image_insert_c_image4tmp("ms_{$c_message_id}_1", $tmpfile_1, $u); $filename_2 = image_insert_c_image4tmp("ms_{$c_message_id}_2", $tmpfile_2, $u); $filename_3 = image_insert_c_image4tmp("ms_{$c_message_id}_3", $tmpfile_3, $u); $filename_4 = ''; if (OPENPNE_USE_FILEUPLOAD) { if ($tmpfile_4) { $filename_4 = file_insert_c_file4tmp("ms_{$c_message_id}_4", $tmpfile_4, $tmpfile_4_original_filename); } } t_image_clear_tmp($sessid); t_file_clear_tmp($sessid); db_message_update_c_message($c_message_id, $subject, $body, $filename_1, $filename_2, $filename_3, $filename_4); $p = array('msg' => 1); openpne_redirect('pc', 'page_h_reply_message', $p); }