function execute($requests) { $u = $GLOBALS['AUTH']->uid(); // --- リクエスト変数 $target_c_diary_id = $requests['target_c_diary_id']; $tmpfile_1 = $requests['tmpfile_1']; $tmpfile_2 = $requests['tmpfile_2']; $tmpfile_3 = $requests['tmpfile_3']; $body = $requests['body']; // ---------- if (is_null($body) || $body === '') { $p = array('target_c_diary_id' => $target_c_diary_id, 'msg' => "コメントを入力してださい"); openpne_redirect('pc', 'page_fh_diary', $p); } //--- 権限チェック $c_diary = db_diary_get_c_diary4id($target_c_diary_id); $target_c_member_id = $c_diary['c_member_id']; $target_c_member = db_member_c_member4c_member_id($target_c_member_id); if ($u != $target_c_member_id) { // check public_flag if (!pne_check_diary_public_flag($target_c_diary_id, $u)) { openpne_redirect('pc', 'page_h_err_diary_access'); } //アクセスブロック設定 if (db_member_is_access_block($u, $target_c_member_id)) { openpne_redirect('pc', 'page_h_access_block'); } } //日記コメント停止設定 if (OPENPNE_USE_DIARY_COMMENT && !$c_diary['is_comment_input']) { openpne_forward('pc', 'page', 'fh_diary'); exit; } if (!db_diary_is_writable_comment4c_diary_id($target_c_diary_id)) { $_REQUEST['msg'] = 'コメントが1000番に達したので、この' . WORD_DIARY . 'にはコメントできません'; openpne_forward('pc', 'page', 'fh_diary'); exit; } //--- //---画像アップロードサイズチェック $filesize = 0; if ($tmpfile_1) { $filesize += util_image_get_c_tmp_filesize4filename("dc_{$c_diary_comment_id}_1", $tmpfile_1); } if ($tmpfile_2) { $filesize += util_image_get_c_tmp_filesize4filename("dc_{$c_diary_comment_id}_2", $tmpfile_2); } if ($tmpfile_3) { $filesize += util_image_get_c_tmp_filesize4filename("dc_{$c_diary_comment_id}_3", $tmpfile_3); } if ($filesize) { $result = util_image_check_add_image_upload($filesize, $u, 'diary'); if ($result) { if ($result == 2) { $result = 3; } $_REQUEST['msg'] = util_image_get_upload_err_msg($result); openpne_forward('pc', 'page', 'fh_diary'); exit; } } //日記コメント書き込み $c_diary_comment_id = db_diary_insert_c_diary_comment($u, $target_c_diary_id, $body); $sessid = session_id(); $filename_1 = image_insert_c_image4tmp("dc_{$c_diary_comment_id}_1", $tmpfile_1, $u); $filename_2 = image_insert_c_image4tmp("dc_{$c_diary_comment_id}_2", $tmpfile_2, $u); $filename_3 = image_insert_c_image4tmp("dc_{$c_diary_comment_id}_3", $tmpfile_3, $u); t_image_clear_tmp($sessid); db_diary_insert_c_diary_comment_images($c_diary_comment_id, $filename_1, $filename_2, $filename_3); //日記コメント記入履歴更新 if ($u != $target_c_member_id) { db_diary_insert_c_diary_comment_log($u, $target_c_diary_id); } db_diary_update_c_diary_comment_log($target_c_diary_id); //日記コメントが書き込まれたので日記自体を未読扱いにする db_diary_update_c_diary_is_checked($target_c_diary_id, 0); // お知らせメール送信(携帯へ) if ($u != $target_c_member_id) { send_diary_comment_info_mail($c_diary_comment_id, $u); } if (OPENPNE_USE_POINT_RANK) { // コメント者と被コメント者が違う場合にポイント加算 if ($u != $target_c_member_id) { //書いた人にポイント付与 $point = db_action_get_point4c_action_id(3); db_point_add_point($u, $point); //書かれた人にポイント付与 $point = db_action_get_point4c_action_id(2); db_point_add_point($target_c_member_id, $point); } } $p = array('target_c_diary_id' => $target_c_diary_id, 'comment_count' => db_diary_count_c_diary_comment4c_diary_id($target_c_diary_id)); openpne_redirect('pc', 'page_fh_diary', $p); }
function execute($requests) { $u = $GLOBALS['KTAI_C_MEMBER_ID']; // --- リクエスト変数 $target_c_diary_id = $requests['target_c_diary_id']; $target_response_comment_id = $requests['target_response_comment_id']; $page = $requests['page']; // ---------- $c_diary = db_diary_get_c_diary4id($target_c_diary_id); $target_c_member = k_p_fh_diary_c_member4c_diary_id($target_c_diary_id); $target_c_member_id = $target_c_member['c_member_id']; if ($u != $target_c_member_id) { // check public_flag if (!pne_check_diary_public_flag($target_c_diary_id, $u)) { openpne_redirect('ktai', 'page_h_err_diary_access'); } //アクセスブロック設定 if (db_member_is_access_block($u, $target_c_member_id)) { openpne_redirect('ktai', 'page_h_access_block'); } } //管理画面HTML $this->set('c_siteadmin', p_common_c_siteadmin4target_pagename('k_fh_diary')); //日記の作者情報 $this->set('target_diary_writer', $target_c_member); //日記 $this->set('target_c_diary', $c_diary); $this->set('c_diary_id_prev', db_diary_c_diary_id_prev4c_diary_id($target_c_member_id, $target_c_diary_id, $u)); $this->set('c_diary_id_next', db_diary_c_diary_id_next4c_diary_id($target_c_member_id, $target_c_diary_id, $u)); //自分で日記を見たとき if ($c_diary['c_member_id'] == $u) { //日記を閲覧済みにする db_diary_update_c_diary_is_checked($target_c_diary_id, 1); $this->set('type', 'h'); } //コメント $page_size = 5; if ($requests['order'] === 'asc') { $desc = false; } else { $desc = true; } list($c_diary_comment_list, $is_prev, $is_next, $total_num, $total_page_num) = k_p_fh_diary_c_diary_comment_list4c_diary_id($target_c_diary_id, $page_size, $page, $desc); if ($desc) { $c_diary_comment_list = array_reverse($c_diary_comment_list); } if ($target_response_comment_id) { $target_comment = _do_c_diary_comment4c_diary_comment_id($target_response_comment_id); $response_set = db_member_c_member4c_member_id_LIGHT($target_comment['c_member_id']); $this->set('response_comment_format', '>>' . $target_comment['number'] . ' ' . $response_set['nickname'] . "さん\n"); } $this->set('c_diary_comment', $c_diary_comment_list); $this->set('total_num', $total_num); $this->set('total_page_num', $total_page_num); $this->set('page_size', $page_size); $this->set('page', $page); $this->set('is_writable_comment', db_diary_is_writable_comment4c_diary_id($target_c_diary_id)); // コメント許可設定取得 $this->set('is_comment_input', $c_diary['is_comment_input']); $start_comment = reset($c_diary_comment_list); $end_comment = end($c_diary_comment_list); $pager = array(); $pager['start'] = (int) $start_comment['number']; $pager['end'] = (int) $end_comment['number']; if ($is_prev) { if ($desc) { $pager['page_next'] = $page - 1; } else { $pager['page_prev'] = $page - 1; } } if ($is_next) { if ($desc) { $pager['page_prev'] = $page + 1; } else { $pager['page_next'] = $page + 1; } } $this->set('pager', $pager); // f or h $this->set('INC_NAVI_type', k_p_fh_common_get_type($target_c_member['c_member_id'], $u)); if (MAIL_ADDRESS_HASHED) { $mail_address = "bc{$target_c_diary_id}-" . t_get_user_hash($u) . '@' . MAIL_SERVER_DOMAIN; } else { $mail_address = "bc{$target_c_diary_id}" . '@' . MAIL_SERVER_DOMAIN; } $mail_address = MAIL_ADDRESS_PREFIX . $mail_address; $this->set('mail_address', $mail_address); //あしあとをつける db_ashiato_insert_c_ashiato($target_c_member_id, $u); return 'success'; }
function execute($requests) { $u = $GLOBALS['AUTH']->uid(); // --- リクエスト変数 $target_c_diary_id = $requests['target_c_diary_id']; $body = $requests['body']; $page = $requests['page']; // ---------- // target が指定されていない if (!$target_c_diary_id) { openpne_redirect('pc', 'page_h_err_fh_diary'); } // target の日記が存在しない if (!p_common_is_active_c_diary_id($target_c_diary_id)) { openpne_redirect('pc', 'page_h_err_fh_diary'); } $target_c_diary = db_diary_get_c_diary4id($target_c_diary_id); $target_c_member_id = $target_c_diary['c_member_id']; if ($target_c_member_id == $u) { $type = 'h'; //日記を閲覧済みにする db_diary_update_c_diary_is_checked($target_c_diary_id, 1); } else { $type = 'f'; $target_c_member = db_member_c_member4c_member_id($target_c_member_id); $is_friend = db_friend_is_friend($u, $target_c_member_id); // check public_flag if (!pne_check_diary_public_flag($target_c_diary_id, $u)) { openpne_redirect('pc', 'page_h_err_diary_access'); } // アクセスブロック if (db_member_is_access_block($u, $target_c_member_id)) { openpne_redirect('pc', 'page_h_access_block'); } // あしあとをつける db_ashiato_insert_c_ashiato($target_c_member_id, $u); } $this->set('type', $type); $this->set('inc_navi', fetch_inc_navi($type, $target_c_member_id)); $this->set('member', db_member_c_member4c_member_id($u)); $this->set('target_member', db_member_c_member4c_member_id($target_c_member_id)); $this->set('target_diary', $target_c_diary); // 日記コメント if ($requests['page_size'] == 100) { $page_size = 100; } else { $page_size = 20; } if ($requests['order'] === 'asc') { $desc = false; } else { $desc = true; } list($c_diary_comment_list, $is_prev, $is_next, $total_num, $total_page_num) = k_p_fh_diary_c_diary_comment_list4c_diary_id($target_c_diary_id, $page_size, $page, $desc); if ($desc) { $c_diary_comment_list = array_reverse($c_diary_comment_list); } $this->set('target_diary_comment_list', $c_diary_comment_list); $this->set('total_num', $total_num); $this->set('total_page_num', $total_page_num); $this->set('page_size', $page_size); $this->set('page', $page); $this->set('is_writable_comment', db_diary_is_writable_comment4c_diary_id($target_c_diary_id)); // コメント許可設定取得 $this->set('is_comment_input', $target_c_diary['is_comment_input']); $start_comment = reset($c_diary_comment_list); $end_comment = end($c_diary_comment_list); $pager = array(); $pager['start'] = (int) $start_comment['number']; $pager['end'] = (int) $end_comment['number']; if ($is_prev) { if ($desc) { $pager['page_next'] = $page - 1; } else { $pager['page_prev'] = $page - 1; } } if ($is_next) { if ($desc) { $pager['page_prev'] = $page + 1; } else { $pager['page_next'] = $page + 1; } } $this->set('pager', $pager); //最近の日記を取得 $list_set = p_fh_diary_list_diary_list4c_member_id($target_c_member_id, 7, 1, $u); $this->set('new_diary_list', $list_set[0]); $this->set('c_diary_id_prev', db_diary_c_diary_id_prev4c_diary_id($target_c_member_id, $target_c_diary_id, $u)); $this->set('c_diary_id_next', db_diary_c_diary_id_next4c_diary_id($target_c_member_id, $target_c_diary_id, $u)); //カレンダー関係 //カレンダー開始用変数 $time = strtotime($target_c_diary['r_datetime']); $year = date('Y', $time); $month = date('n', $time); //日記一覧、カレンダー用変数 $date_val = array('year' => $year, 'month' => $month, 'day' => null); $this->set('date_val', $date_val); //日記のカレンダー $calendar = db_common_diary_monthly_calendar($year, $month, $target_c_member_id, $u); $this->set('calendar', $calendar['days']); $this->set('ym', $calendar['ym']); //各月の日記 $this->set('date_list', p_fh_diary_list_date_list4c_member_id($target_c_member_id)); if (USE_DIARY_CATEGORY) { //カテゴリ一覧 $this->set('category', db_diary_category_list4c_member_id($target_c_member_id)); //この日記のカテゴリリストを得る $this->set('category_list', db_diary_category_list4c_diary_id($target_c_diary_id)); } return 'success'; }
/** * 日記コメント投稿 */ function add_diary_comment($c_diary_id) { //--- 権限チェック $c_diary = db_diary_get_c_diary4id($c_diary_id); $target_c_member_id = $c_diary['c_member_id']; $target_c_member = db_member_c_member4c_member_id($target_c_member_id); if ($this->c_member_id != $target_c_member_id) { // check public_flag if (!pne_check_diary_public_flag($c_diary_id, $this->c_member_id)) { $this->error_mail(WORD_DIARY . 'にアクセスできないため投稿できませんでした。'); m_debug_log('mail_sns::add_diary_comment() not a member'); return false; } //アクセスブロック設定 if (db_member_is_access_block($this->c_member_id, $target_c_member_id)) { $this->error_mail(WORD_DIARY . 'にアクセスできないため投稿できませんでした。'); m_debug_log('mail_sns::add_diary_comment() access block'); return false; } } //--- // コメント許可設定取得 if (OPENPNE_USE_DIARY_COMMENT && !$c_diary['is_comment_input']) { $this->error_mail('現在この' . WORD_DIARY . 'にはコメントできません。'); m_debug_log('mail_sns::add_diary_comment() comment block'); return false; } $body = $this->decoder->get_text_body(); if ($body === '') { $this->error_mail('本文が空のため投稿できませんでした。'); m_debug_log('mail_sns::add_diary_comment() body is empty'); return false; } $images = $this->decoder->get_images(); if ($images === false) { $this->error_mail('画像は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください。'); return false; } // 画像アップロード可能サイズチェック if ($images) { $filesize = 0; $image_num = 1; foreach ($images as $image) { $filesize += $image['filesize']; $image_num++; if ($image_num > 3) { break; } } $result = util_image_check_add_image_upload($filesize, $this->c_member_id, 'diary'); if ($result) { $msg = util_image_get_upload_err_msg($result); $this->error_mail($msg); m_debug_log('mail_sns::add_diary_comment() size over'); return false; } } //日記コメント書き込み $ins_id = db_diary_insert_c_diary_comment($this->c_member_id, $c_diary_id, $body); //日記コメント記入履歴追加 if ($this->c_member_id != $target_c_member_id) { db_diary_insert_c_diary_comment_log($this->c_member_id, $c_diary_id); } //日記コメント記入履歴更新 db_diary_update_c_diary_comment_log($c_diary_id); // 写真登録 $image_num = 1; $filenames = array(1 => '', 2 => '', 3 => ''); foreach ($images as $image) { $image_ext = $image['ext']; $image_data = $image['data']; $filename = 'dc_' . $ins_id . '_' . $image_num . '_' . time() . '.' . $image_ext; db_image_insert_c_image($filename, $image_data, $image['filesize'], $this->c_member_id); $filenames[$image_num] = $filename; $image_num++; if ($image_num > 3) { break; } } db_diary_insert_c_diary_comment_images($ins_id, $filenames[1], $filenames[2], $filenames[3]); //お知らせメール送信(携帯へ) if ($this->c_member_id != $target_c_member_id) { send_diary_comment_info_mail($ins_id, $this->c_member_id); } //日記コメントが書き込まれたので日記自体を未読扱いにする if ($this->c_member_id != $target_c_member_id) { db_diary_update_c_diary_is_checked($c_diary_id, 0); } if (OPENPNE_USE_POINT_RANK) { // コメント者と被コメント者が違う場合にポイント加算 if ($this->c_member_id != $target_c_member_id) { //書いた人にポイント付与 $point = db_action_get_point4c_action_id(3); db_point_add_point($this->c_member_id, $point); //書かれた人にポイント付与 $point = db_action_get_point4c_action_id(2); db_point_add_point($target_c_member_id, $point); } } return true; }
function execute($requests) { $tail = $GLOBALS['KTAI_URL_TAIL']; $u = $GLOBALS['KTAI_C_MEMBER_ID']; // --- リクエスト変数 $target_c_diary_id = $requests['target_c_diary_id']; $body = $requests['body']; // ---------- if (is_null($body) || $body === '') { $p = array('target_c_diary_id' => $target_c_diary_id, 'msg' => 1); openpne_redirect('ktai', 'page_fh_diary', $p); } //--- 権限チェック $c_diary = db_diary_get_c_diary4id($target_c_diary_id); $target_c_member_id = $c_diary['c_member_id']; $target_c_member = db_member_c_member4c_member_id($target_c_member_id); if ($u != $target_c_member_id) { // check public_flag if (!pne_check_diary_public_flag($target_c_diary_id, $u)) { openpne_redirect('ktai', 'page_h_err_diary_access'); } //アクセスブロック設定 if (db_member_is_access_block($u, $target_c_member_id)) { openpne_redirect('ktai', 'page_h_access_block'); } } //日記コメント停止設定 if (OPENPNE_USE_DIARY_COMMENT && !$c_diary['is_comment_input']) { $p = array('target_c_diary_id' => $target_c_diary_id); openpne_redirect('ktai', 'page_fh_diary', $p); } if (!db_diary_is_writable_comment4c_diary_id($target_c_diary_id)) { $p = array('target_c_diary_id' => $target_c_diary_id, 'msg' => 47); openpne_redirect('ktai', 'page_fh_diary', $p); } //--- $insert_id = db_diary_insert_c_diary_comment($u, $target_c_diary_id, $body); //日記コメント記入履歴追加 if ($u != $target_c_member_id) { db_diary_insert_c_diary_comment_log($u, $target_c_diary_id); } //日記コメント記入履歴更新 db_diary_update_c_diary_comment_log($target_c_diary_id); //日記コメントが書き込まれたので日記自体を未読扱いにする db_diary_update_c_diary_is_checked($target_c_diary_id, 0); // お知らせメール送信(携帯へ) if ($u != $target_c_member_id) { send_diary_comment_info_mail($insert_id, $u); } if (OPENPNE_USE_POINT_RANK) { // コメント者と被コメント者が違う場合にポイント加算 if ($u != $target_c_member_id) { //書いた人にポイント付与 $point = db_action_get_point4c_action_id(3); db_point_add_point($u, $point); //書かれた人にポイント付与 $point = db_action_get_point4c_action_id(2); db_point_add_point($target_c_member_id, $point); } } $p = array('target_c_diary_id' => $target_c_diary_id); openpne_redirect('ktai', 'page_fh_diary', $p); }