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

source: OpenPNE/trunk/webapp/modules/ktai/page/fh_diary.php @ 6778

Last change on this file since 6778 was 6778, checked in by ogawa, 11 years ago

#2058:日記コメントのページャ変更を試実装

File size: 3.7 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 ktai_page_fh_diary extends OpenPNE_Action
8{
9    function execute($requests)
10    {
11        $u  = $GLOBALS['KTAI_C_MEMBER_ID'];
12
13        // --- リクエスト変数
14        $target_c_diary_id = $requests['target_c_diary_id'];
15        $page = $requests['page'];
16        // ----------
17
18        $c_diary = db_diary_get_c_diary4id($target_c_diary_id);
19
20        $target_c_member = k_p_fh_diary_c_member4c_diary_id($target_c_diary_id);
21        $target_c_member_id = $target_c_member['c_member_id'];
22
23        if ($u != $target_c_member_id) {
24            // check public_flag
25            if (!pne_check_diary_public_flag($target_c_diary_id, $u)) {
26                ktai_display_error('この' . WORD_DIARY_HALF . 'にはアクセスできません');
27            }
28            //アクセスブロック設定
29            if (db_member_is_access_block($u, $target_c_member_id)) {
30                openpne_redirect('ktai', 'page_h_access_block');
31            }
32        }
33        //管理画面HTML
34        $this->set('c_siteadmin', p_common_c_siteadmin4target_pagename('k_fh_diary'));
35
36        //日記の作者情報
37        $this->set('target_diary_writer', $target_c_member);
38
39        //日記
40        $this->set('target_c_diary', $c_diary);
41        $this->set('c_diary_id_prev', db_diary_c_diary_id_prev4c_diary_id($target_c_member_id, $target_c_diary_id, $u));
42        $this->set('c_diary_id_next', db_diary_c_diary_id_next4c_diary_id($target_c_member_id, $target_c_diary_id, $u));
43        //自分で日記を見たとき
44        if ($c_diary['c_member_id'] == $u) {
45            //日記を閲覧済みにする
46            db_diary_update_c_diary_is_checked($target_c_diary_id, 1);
47            $this->set('type', 'h');
48        }
49
50        //コメント
51        $page_size = 5;
52        if ($requests['order'] === 'asc') {
53            $desc = false;
54        } else {
55            $desc = true;
56        }
57        list ($c_diary_comment_list, $is_prev, $is_next, $total_num, $total_page_num)
58            = k_p_fh_diary_c_diary_comment_list4c_diary_id($target_c_diary_id, $page_size, $page, $desc);
59        if ($desc) {
60            $c_diary_comment_list = array_reverse($c_diary_comment_list);
61        }
62
63        $this->set('c_diary_comment', $c_diary_comment_list);
64        $this->set('total_num', $total_num);
65        $this->set('total_page_num', $total_page_num);
66        $this->set('page_size', $page_size);
67        $this->set('page', $page);
68
69        $start_comment = reset($c_diary_comment_list);
70        $end_comment = end($c_diary_comment_list);
71
72        $pager = array();
73        $pager['start'] = (int)$start_comment['number'];
74        $pager['end'] = (int)$end_comment['number'];
75        if ($is_prev) {
76            if ($desc) {
77                $pager['page_next'] = $page - 1;
78            } else {
79                $pager['page_prev'] = $page - 1;
80            }
81        }
82        if ($is_next) {
83            if ($desc) {
84                $pager['page_prev'] = $page + 1;
85            } else {
86                $pager['page_next'] = $page + 1;
87            }
88        }
89        $this->set('pager', $pager);
90
91        // f or h
92        $this->set('INC_NAVI_type', k_p_fh_common_get_type($target_c_member['c_member_id'], $u));
93
94        if (MAIL_ADDRESS_HASHED) {
95            $mail_address = "bc{$target_c_diary_id}-".t_get_user_hash($u).'@'.MAIL_SERVER_DOMAIN;
96        } else {
97            $mail_address = "bc{$target_c_diary_id}".'@'.MAIL_SERVER_DOMAIN;
98        }
99        $mail_address = MAIL_ADDRESS_PREFIX . $mail_address;
100        $this->set('mail_address', $mail_address);
101
102        //あしあとをつける
103        db_ashiato_insert_c_ashiato($target_c_member_id, $u);
104
105        return 'success';
106    }
107}
108
109?>
Note: See TracBrowser for help on using the repository browser.