function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $form_val['subject'] = $requests['subject'];
     $form_val['body'] = $requests['body'];
     $form_val['public_flag'] = $requests['public_flag'];
     $form_val['category'] = $requests['category'];
     $form_val['is_comment_input'] = $requests['is_comment_input'];
     // ----------
     $sessid = session_id();
     t_image_clear_tmp($sessid);
     $this->set('inc_navi', fetch_inc_navi("h"));
     //プロフィール
     $c_member = db_member_c_member4c_member_id($u);
     if (empty($form_val['public_flag'])) {
         $form_val['public_flag'] = $c_member['public_flag_diary'];
     }
     $this->set("target_member", $c_member);
     $this->set("form_val", $form_val);
     //カレンダー関係
     //カレンダー開始用変数
     $year = date("Y");
     $month = date("n");
     //日記一覧、カレンダー用変数
     $date_val = array('year' => $year, 'month' => $month, 'day' => null);
     $this->set("date_val", $date_val);
     //日記のカレンダー
     $calendar = db_common_diary_monthly_calendar($year, $month, $u);
     $this->set("calendar", $calendar['days']);
     $this->set("ym", $calendar['ym']);
     //各月の日記
     $this->set("date_list", p_fh_diary_list_date_list4c_member_id($u));
     if (USE_DIARY_CATEGORY) {
         //カテゴリリスト
         $this->set("category_list", db_diary_category_list4c_member_id($u));
         $this->set("use_diary_category", true);
     }
     // inc_entry_point
     $this->set('inc_entry_point', fetch_inc_entry_point($this->getView(), 'h_diary_add'));
     return 'success';
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_member_id = $requests['target_c_member_id'];
     $page = $requests['page'];
     $year = $requests['year'];
     $month = $requests['month'];
     $day = $requests['day'];
     $category_id = $requests['category_id'];
     $keyword = $requests['keyword'];
     // ----------
     if (!$target_c_member_id || !is_null($keyword)) {
         $target_c_member_id = $u;
     }
     if ($target_c_member_id == $u) {
         $type = 'h';
         $is_diary_admin = true;
     } else {
         $type = 'f';
         $is_diary_admin = false;
         $target_c_member = db_member_c_member4c_member_id($target_c_member_id);
         $is_friend = db_friend_is_friend($u, $target_c_member_id);
         // アクセスブロック
         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('inc_navi', fetch_inc_navi($type, $target_c_member_id));
     $this->set('type', $type);
     $page_size = 20;
     $target_member = db_member_c_member4c_member_id($target_c_member_id);
     $this->set('target_member', $target_member);
     //年月日で一覧表示、日記数に制限なし
     if ($year && $month) {
         $list_set = p_fh_diary_list_diary_list_date4c_member_id($target_c_member_id, $page_size, $page, $year, $month, $day, $u);
         $rss_list = db_rss_list_c_rss_cache_list_date($target_c_member_id, $year, $month, $day);
     } elseif ($category_id) {
         $year = date('Y');
         $month = date('n');
         $list_set = db_diary_list4c_diary_category_id($target_c_member_id, $category_id, $u, $page_size, $page);
         $this->set('category_name', db_diary_get_category_name4category_id($category_id));
         $this->set('category_id', $category_id);
     } else {
         $year = date('Y');
         $month = date('n');
         $this->set('all', 1);
         //検索する場合
         if ($keyword) {
             $list_set = p_h_diary_list_all_search_c_diary4c_diary($keyword, $page_size, $page, $u);
         } else {
             $list_set = p_fh_diary_list_diary_list4c_member_id($target_c_member_id, $page_size, $page, $u);
             $rss_list = db_rss_list_c_rss_cache_list($target_c_member_id, $page_size, $page);
         }
     }
     $this->set('c_rss_cache_list', $rss_list);
     $this->set('target_diary_list', $list_set[0]);
     $this->set('page', $page);
     $this->set('page_size', $page_size);
     $this->set('is_prev', $list_set[1]);
     $this->set('is_next', $list_set[2]);
     $this->set("total_num", $list_set[3]);
     $this->set('diary_list_count', count($list_set[0]));
     //日記一覧、カレンダー用変数
     $date_val = array('year' => $year, 'month' => $month, 'day' => $day);
     $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_list', db_diary_category_list4c_member_id($target_c_member_id));
     }
     //検索ワード
     $this->set('keyword', $keyword);
     $this->set("url_keyword", urlencode($keyword));
     return 'success';
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_diary_id = $requests['target_c_diary_id'];
     $subject = $requests['subject'];
     $body = $requests['body'];
     $public_flag = $requests['public_flag'];
     $category = $requests['category'];
     $is_comment_input = $requests['is_comment_input'];
     // ----------
     $c_diary = db_diary_get_c_diary4id($target_c_diary_id);
     // target が指定されていない
     // 新規作成
     if (!$target_c_diary_id) {
         openpne_redirect('pc', 'page_h_diary_add');
     }
     // target の日記が存在しない
     if (!p_common_is_active_c_diary_id($target_c_diary_id) && $target_c_diary_id != null) {
         openpne_redirect('pc', 'page_h_err_fh_diary');
     }
     //--- 権限チェック
     //日記の作成者
     if ($u != $c_diary['c_member_id']) {
         handle_kengen_error();
     }
     //登録されている写真を削除 0は削除しない 1は削除する
     if ($_REQUEST['del_img'] & 0x1 == 1) {
         $c_diary['image_filename_1'] = "";
     }
     if ($_REQUEST['del_img'] & 0x2 == 1) {
         $c_diary['image_filename_2'] = "";
     }
     if ($_REQUEST['del_img'] & 0x4 == 1) {
         $c_diary['image_filename_3'] = "";
     }
     $this->set('del_img', $_REQUEST['del_img']);
     $this->set('inc_navi', fetch_inc_navi('h'));
     //プロフィール
     $this->set("target_member", db_member_c_member4c_member_id($u));
     //カレンダー関係
     //カレンダー開始用変数
     $time = strtotime($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, $u);
     $this->set("calendar", $calendar['days']);
     $this->set("ym", $calendar['ym']);
     //各月の日記
     $this->set("date_list", p_fh_diary_list_date_list4c_member_id($u));
     if (USE_DIARY_CATEGORY) {
         //この日記のカテゴリリストを得る
         if ($category) {
             $category_list = array();
             foreach (preg_split('/\\s+/', $category) as $value) {
                 if (empty($value)) {
                     break;
                 }
                 $category_list[] = array('c_diary_category_id' => 'dummy', 'category_name' => $value);
             }
             $this->set("category", $category_list);
         } else {
             $this->set("category", db_diary_category_list4c_diary_id($target_c_diary_id));
         }
         //メンバーのカテゴリリスト
         $this->set("category_list", db_diary_category_list4c_member_id($u));
         $this->set("use_diary_category", true);
     }
     // 内容の不備によるリダイレクト時・編集修正時は値を上書き
     if ($requests['msg'] || !(is_null($subject) || is_null($body))) {
         $c_diary['subject'] = $subject;
         $c_diary['body'] = $body;
         $c_diary['public_flag'] = util_cast_public_flag_diary($public_flag);
         $c_diary['is_comment_input'] = $is_comment_input;
     }
     $this->set("diary", $c_diary);
     // inc_entry_point
     $this->set('inc_entry_point', fetch_inc_entry_point($this->getView(), 'h_diary_edit'));
     return 'success';
 }
Exemple #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';
 }