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

source: OpenPNE/branches/stable-2.12.x/webapp/modules/pc/page/fh_diary.php @ 8622

Last change on this file since 8622 was 8622, checked in by ebihara, 12 years ago

#2768:list() のコール部分で、括弧の直前にスペースが入っている部分を置換

File size: 5.1 KB
Line 
1<?php
2/**
3 * @copyright 2005-2008 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        $page = $requests['page'];
17        // ----------
18
19        // target が指定されていない
20        if (!$target_c_diary_id) {
21            openpne_redirect('pc', 'page_h_err_fh_diary');
22        }
23        // target の日記が存在しない
24        if (!p_common_is_active_c_diary_id($target_c_diary_id)) {
25            openpne_redirect('pc', 'page_h_err_fh_diary');
26        }
27
28
29        $target_c_diary = db_diary_get_c_diary4id($target_c_diary_id);
30        $target_c_member_id = $target_c_diary['c_member_id'];
31
32        if ($target_c_member_id == $u) {
33            $type = 'h';
34
35            //日記を閲覧済みにする
36            db_diary_update_c_diary_is_checked($target_c_diary_id, 1);
37
38        } else {
39            $type = 'f';
40            $target_c_member = db_member_c_member4c_member_id($target_c_member_id);
41            $is_friend = db_friend_is_friend($u, $target_c_member_id);
42
43            // check public_flag
44            if (!pne_check_diary_public_flag($target_c_diary_id, $u)) {
45                openpne_redirect('pc', 'page_h_err_diary_access');
46            }
47            // アクセスブロック
48            if (db_member_is_access_block($u, $target_c_member_id)) {
49                openpne_redirect('pc', 'page_h_access_block');
50            }
51
52            // あしあとをつける
53            db_ashiato_insert_c_ashiato($target_c_member_id, $u);
54        }
55
56        $this->set('type', $type);
57        $this->set('inc_navi', fetch_inc_navi($type, $target_c_member_id));
58
59        $this->set('member', db_member_c_member4c_member_id($u));
60
61        $this->set('target_member', db_member_c_member4c_member_id($target_c_member_id));
62        $this->set('target_diary', $target_c_diary);
63
64        // 日記コメント
65        if ($requests['page_size'] == 100) {
66            $page_size = 100;
67        } else {
68            $page_size = 20;
69        }
70        if ($requests['order'] === 'asc') {
71            $desc = false;
72        } else {
73            $desc = true;
74        }
75
76        list($c_diary_comment_list, $is_prev, $is_next, $total_num, $total_page_num)
77            = k_p_fh_diary_c_diary_comment_list4c_diary_id($target_c_diary_id, $page_size, $page, $desc);
78        if ($desc) {
79            $c_diary_comment_list = array_reverse($c_diary_comment_list);
80        }
81
82        $this->set('target_diary_comment_list', $c_diary_comment_list);
83        $this->set('total_num', $total_num);
84        $this->set('total_page_num', $total_page_num);
85        $this->set('page_size', $page_size);
86        $this->set('page', $page);
87
88        $this->set('is_writable_comment', db_diary_is_writable_comment4c_diary_id($target_c_diary_id));
89
90        $start_comment = reset($c_diary_comment_list);
91        $end_comment = end($c_diary_comment_list);
92
93        $pager = array();
94        $pager['start'] = (int)$start_comment['number'];
95        $pager['end'] = (int)$end_comment['number'];
96        if ($is_prev) {
97            if ($desc) {
98                $pager['page_next'] = $page - 1;
99            } else {
100                $pager['page_prev'] = $page - 1;
101            }
102        }
103        if ($is_next) {
104            if ($desc) {
105                $pager['page_prev'] = $page + 1;
106            } else {
107                $pager['page_next'] = $page + 1;
108            }
109        }
110        $this->set('pager', $pager);
111
112        //最近の日記を取得
113        $list_set = p_fh_diary_list_diary_list4c_member_id($target_c_member_id, 7, 1, $u);
114        $this->set('new_diary_list', $list_set[0]);
115
116        $this->set('c_diary_id_prev', db_diary_c_diary_id_prev4c_diary_id($target_c_member_id, $target_c_diary_id, $u));
117        $this->set('c_diary_id_next', db_diary_c_diary_id_next4c_diary_id($target_c_member_id, $target_c_diary_id, $u));
118
119        //カレンダー関係
120        //カレンダー開始用変数
121        $time = strtotime($target_c_diary['r_datetime']);
122        $year = date('Y', $time);
123        $month= date('n', $time);
124        //日記一覧、カレンダー用変数
125        $date_val = array(
126            'year' => $year,
127            'month' => $month,
128            'day' => null,
129        );
130        $this->set('date_val', $date_val);
131
132        //日記のカレンダー
133        $calendar = db_common_diary_monthly_calendar($year, $month, $target_c_member_id, $u);
134
135        $this->set('calendar', $calendar['days']);
136        $this->set('ym', $calendar['ym']);
137
138        //各月の日記
139        $this->set('date_list', p_fh_diary_list_date_list4c_member_id($target_c_member_id));
140
141        if (USE_DIARY_CATEGORY) {
142            //カテゴリ一覧
143            $this->set('category', db_diary_category_list4c_member_id($target_c_member_id));
144
145            //この日記のカテゴリリストを得る
146            $this->set('category_list', db_diary_category_list4c_diary_id($target_c_diary_id));
147        }
148
149        return 'success';
150    }
151}
152
153?>
Note: See TracBrowser for help on using the repository browser.