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

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

Last change on this file since 7218 was 7218, checked in by ebihara, 11 years ago

#2318:携帯版で日記コメントが1000番以上に達した場合に日記コメントの投稿ができないようにした

File size: 3.8 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        $this->set('is_writable_comment', db_diary_is_writable_comment4c_diary_id($target_c_diary_id));
70
71        $start_comment = reset($c_diary_comment_list);
72        $end_comment = end($c_diary_comment_list);
73
74        $pager = array();
75        $pager['start'] = (int)$start_comment['number'];
76        $pager['end'] = (int)$end_comment['number'];
77        if ($is_prev) {
78            if ($desc) {
79                $pager['page_next'] = $page - 1;
80            } else {
81                $pager['page_prev'] = $page - 1;
82            }
83        }
84        if ($is_next) {
85            if ($desc) {
86                $pager['page_prev'] = $page + 1;
87            } else {
88                $pager['page_next'] = $page + 1;
89            }
90        }
91        $this->set('pager', $pager);
92
93        // f or h
94        $this->set('INC_NAVI_type', k_p_fh_common_get_type($target_c_member['c_member_id'], $u));
95
96        if (MAIL_ADDRESS_HASHED) {
97            $mail_address = "bc{$target_c_diary_id}-".t_get_user_hash($u).'@'.MAIL_SERVER_DOMAIN;
98        } else {
99            $mail_address = "bc{$target_c_diary_id}".'@'.MAIL_SERVER_DOMAIN;
100        }
101        $mail_address = MAIL_ADDRESS_PREFIX . $mail_address;
102        $this->set('mail_address', $mail_address);
103
104        //あしあとをつける
105        db_ashiato_insert_c_ashiato($target_c_member_id, $u);
106
107        return 'success';
108    }
109}
110
111?>
Note: See TracBrowser for help on using the repository browser.