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);
 }
Пример #2
0
 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'];
     // ----------
     $target_diary = db_diary_get_c_diary4id($target_c_diary_id);
     $target_c_member_id = $target_diary['c_member_id'];
     if (!$target_c_member_id) {
         $target_c_member_id = $u;
     }
     if ($target_c_member_id == $u) {
         $type = 'h';
     } else {
         $type = 'f';
         $target_c_member = db_member_c_member4c_member_id($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 && !$target_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;
     }
     $sessid = session_id();
     t_image_clear_tmp($sessid);
     $upfiles = array(1 => $_FILES['upfile_1'], $_FILES['upfile_2'], $_FILES['upfile_3']);
     $tmpfiles = array(1 => '', '', '');
     $filesize = 0;
     foreach ($upfiles as $key => $upfile) {
         if (!empty($upfile) && $upfile['error'] !== UPLOAD_ERR_NO_FILE) {
             if (!($image = t_check_image($upfile))) {
                 $_REQUEST['msg'] = '画像は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください';
                 openpne_forward('pc', 'page', 'fh_diary');
                 exit;
             } else {
                 $filesize += $image['size'];
                 $tmpfiles[$key] = t_image_save2tmp($upfile, $sessid, "dc_{$key}", $image['format']);
             }
         }
     }
     //---画像アップロードサイズチェック
     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;
         }
     }
     $this->set('inc_navi', fetch_inc_navi($type, $target_c_member_id));
     $form_val = array("target_c_diary_id" => $target_c_diary_id, "body" => $body, "upfile_1" => $_FILES['upfile_1'], "upfile_2" => $_FILES['upfile_2'], "upfile_3" => $_FILES['upfile_3'], "tmpfile_1" => $tmpfiles[1], "tmpfile_2" => $tmpfiles[2], "tmpfile_3" => $tmpfiles[3]);
     $this->set("form_val", $form_val);
     return 'success';
 }
Пример #4
0
 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 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);
 }