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

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

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

#177:日記コメントにページャを追加

File size: 4.5 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//        $this->set("target_diary_comment_list", db_diary_get_c_diary_comment_list4c_diary_id($target_c_diary_id));
75        list ($c_diary_comment_list, $is_prev, $is_next, $total_num, $total_page_num)
76            = k_p_fh_diary_c_diary_comment_list4c_diary_id($target_c_diary_id, $page_size, $page);
77        $this->set('target_diary_comment_list', $c_diary_comment_list);
78        $this->set("is_prev", $is_prev);
79        $this->set("is_next", $is_next);
80        $this->set("total_num", $total_num);
81        $this->set("total_page_num", $total_page_num);
82        $this->set("page_size", $page_size);
83        $this->set('is_all', $is_all);
84        $this->set('page', $page);
85
86        $pager = array();
87        $pager['end'] = $total_num - ($page_size * ($page - 1));
88        $pager['start'] = $pager['end'] - count($c_diary_comment_list) + 1;
89        $this->set('pager', $pager);
90
91        $this->set("body", $body);
92
93        //最近の日記を取得
94        $list_set = p_fh_diary_list_diary_list4c_member_id($target_c_member_id, 7, 1, $u);
95        $this->set("new_diary_list", $list_set[0]);
96
97        //カレンダー関係
98        //カレンダー開始用変数
99        $time = strtotime($target_c_diary['r_datetime']);
100        $year = date('Y', $time);
101        $month= date('n', $time);
102        //日記一覧、カレンダー用変数
103        $date_val = array(
104            'year' => $year,
105            'month' => $month,
106            'day' => null,
107        );
108        $this->set("date_val", $date_val);
109
110        //日記のカレンダー
111        $calendar = db_common_diary_monthly_calendar($year, $month, $target_c_member_id, $u);
112
113        $this->set("calendar", $calendar['days']);
114        $this->set("ym", $calendar['ym']);
115
116        //各月の日記
117        $this->set("date_list", p_fh_diary_list_date_list4c_member_id($target_c_member_id));
118
119        if (USE_DIARY_CATEGORY) {
120            //カテゴリ一覧
121            $this->set('category', db_diary_category_list4c_member_id($target_c_member_id));
122   
123            //この日記のカテゴリリストを得る
124            $this->set("category_list", db_diary_category_list4c_diary_id($target_c_diary_id));
125        }
126
127        return 'success';
128    }
129}
130
131?>
Note: See TracBrowser for help on using the repository browser.