ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE/trunk/webapp/modules/pc/page/fh_diary.php @ 3786

Last change on this file since 3786 was 3786, checked in by ebihara, 13 years ago

#177:日記コメントのソート順が新着順になっていたのを修正

File size: 4.4 KB
Line 
1<?php
2/**
3 * @copyright 2005-2007 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7class pc_page_fh_diary extends OpenPNE_Action
8{
9    function execute($requests)
10    {
11        $u = $GLOBALS['AUTH']->uid();
12
13        // --- リクエスト変数
14        $target_c_diary_id = $requests['target_c_diary_id'];
15        $body = $requests['body'];
16        $is_all = $requests['is_all'];
17        $direc = $requests['direc'];
18        $page = $requests['page'];
19        // ----------
20
21        $page += $direc;
22
23        // target が指定されていない
24        if (!$target_c_diary_id) {
25            openpne_redirect('pc', 'page_h_err_fh_diary');
26        }
27        // target の日記が存在しない
28        if (!p_common_is_active_c_diary_id($target_c_diary_id)) {
29            openpne_redirect('pc', 'page_h_err_fh_diary');
30        }
31
32
33        $target_c_diary = db_diary_get_c_diary4id($target_c_diary_id);
34        $target_c_member_id = $target_c_diary['c_member_id'];
35
36        if ($target_c_member_id == $u) {
37            $type = 'h';
38
39            //日記を閲覧済みにする
40            db_diary_update_c_diary_is_checked($target_c_diary_id, 1);
41
42        } else {
43            $type = 'f';
44            $target_c_member = db_member_c_member4c_member_id($target_c_member_id);
45            $is_friend = db_friend_is_friend($u, $target_c_member_id);
46
47            // check public_flag
48            if (!pne_check_diary_public_flag($target_c_diary_id, $u)) {
49                openpne_redirect('pc', 'page_h_err_diary_access');
50            }
51            // アクセスブロック
52            if (db_member_is_access_block($u, $target_c_member_id)) {
53                openpne_redirect('pc', 'page_h_access_block');
54            }
55
56            // あしあとをつける
57            db_ashiato_insert_c_ashiato($target_c_member_id, $u);
58        }
59        $this->set("type", $type);
60
61        $this->set('inc_navi', fetch_inc_navi($type, $target_c_member_id));
62
63        $this->set("member", db_member_c_member4c_member_id($u));
64
65        $this->set("target_member", db_member_c_member4c_member_id($target_c_member_id));
66        $this->set("target_diary", $target_c_diary);
67
68        if ($is_all) {
69            $page_size = db_diary_count_c_diary_comment4c_diary_id($target_c_diary_id);
70        } else {
71            $page_size = 10;
72        }
73
74        list ($c_diary_comment_list, $is_next, $is_prev, $total_num, $total_page_num)
75            = k_p_fh_diary_c_diary_comment_list4c_diary_id($target_c_diary_id, $page_size, $page, false);
76        $this->set('target_diary_comment_list', $c_diary_comment_list);
77        $this->set("is_prev", $is_prev);
78        $this->set("is_next", $is_next);
79        $this->set("total_num", $total_num);
80        $this->set("total_page_num", $total_page_num);
81        $this->set("page_size", $page_size);
82        $this->set('is_all', $is_all);
83        $this->set('page', $page);
84
85        $pager = array();
86        $pager['start'] = ($page_size * ($page - 1)) + 1;
87        $pager['end'] = $pager['start'] + count($c_diary_comment_list) - 1;
88        $this->set('pager', $pager);
89
90        $this->set("body", $body);
91
92        //最近の日記を取得
93        $list_set = p_fh_diary_list_diary_list4c_member_id($target_c_member_id, 7, 1, $u);
94        $this->set("new_diary_list", $list_set[0]);
95
96        //カレンダー関係
97        //カレンダー開始用変数
98        $time = strtotime($target_c_diary['r_datetime']);
99        $year = date('Y', $time);
100        $month= date('n', $time);
101        //日記一覧、カレンダー用変数
102        $date_val = array(
103            'year' => $year,
104            'month' => $month,
105            'day' => null,
106        );
107        $this->set("date_val", $date_val);
108
109        //日記のカレンダー
110        $calendar = db_common_diary_monthly_calendar($year, $month, $target_c_member_id, $u);
111
112        $this->set("calendar", $calendar['days']);
113        $this->set("ym", $calendar['ym']);
114
115        //各月の日記
116        $this->set("date_list", p_fh_diary_list_date_list4c_member_id($target_c_member_id));
117
118        if (USE_DIARY_CATEGORY) {
119            //カテゴリ一覧
120            $this->set('category', db_diary_category_list4c_member_id($target_c_member_id));
121   
122            //この日記のカテゴリリストを得る
123            $this->set("category_list", db_diary_category_list4c_diary_id($target_c_diary_id));
124        }
125
126        return 'success';
127    }
128}
129
130?>
Note: See TracBrowser for help on using the repository browser.