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

source: OpenPNE/branches/2.8.x/webapp/modules/pc/page/h_diary_edit.php @ 2911

Last change on this file since 2911 was 2911, checked in by ogawa, 12 years ago

#757:日記修正確認画面から「キャンセル」で日記編集画面に戻った場合、公開範囲設定が保持されていない

File size: 3.6 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_h_diary_edit 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        $subject = $requests['subject'];
16        $body = $requests['body'];
17        $public_flag = $requests['public_flag'];
18        $category = $requests['category'];
19        // ----------
20
21        $c_diary = db_diary_get_c_diary4id($target_c_diary_id);
22
23        // target が指定されていない
24        // 新規作成
25        if (!$target_c_diary_id) {
26            openpne_redirect('pc', 'page_h_diary_add');
27        }
28
29        // target の日記が存在しない
30        if (!p_common_is_active_c_diary_id($target_c_diary_id) && $target_c_diary_id != null) {
31            openpne_redirect('pc', 'page_h_err_fh_diary');
32        }
33
34        //--- 権限チェック
35        //日記の作成者
36        if ($u != $c_diary['c_member_id']) {
37            handle_kengen_error();
38        }
39
40
41        //登録されている写真を削除 0は削除しない 1は削除する
42        if ($_REQUEST['del_img'] & 0x01 == 1)  $c_diary['image_filename_1'] = "";
43        if ($_REQUEST['del_img'] & 0x02 == 1)  $c_diary['image_filename_2'] = "";
44        if ($_REQUEST['del_img'] & 0x04 == 1)  $c_diary['image_filename_3'] = "";
45        $this->set('del_img', $_REQUEST['del_img']);
46
47        $this->set('inc_navi', fetch_inc_navi('h'));
48
49        //プロフィール
50        $this->set("target_member", db_member_c_member4c_member_id($u));
51
52        //カレンダー関係
53        //カレンダー開始用変数
54        $time = strtotime($c_diary['r_datetime']);
55        $year = date('Y', $time);
56        $month= date('n', $time);
57        //日記一覧、カレンダー用変数
58        $date_val = array(
59            'year' => $year,
60            'month' => $month,
61            'day' => null,
62        );
63        $this->set("date_val", $date_val);
64
65        //日記のカレンダー
66        $calendar = db_common_diary_monthly_calendar($year, $month, $u);
67
68        $this->set("calendar", $calendar['days']);
69        $this->set("ym", $calendar['ym']);
70
71        //各月の日記
72        $this->set("date_list", p_fh_diary_list_date_list4c_member_id($u));
73
74        if (USE_DIARY_CATEGORY) {
75                //この日記のカテゴリリストを得る
76                if ($category) {
77                    $category_list = array();
78                    foreach(preg_split('/\s+/', $category) as $value) {
79                        if (empty($value)) {
80                            break;
81                        }
82                        $category_list[] = array('c_diary_category_id' => 'dummy', 'category_name' => $value);
83                    }
84                    $this->set("category", $category_list);
85                } else {
86                    $this->set("category", db_diary_category_list4c_diary_id($target_c_diary_id));
87                }
88                //メンバーのカテゴリリスト
89                $this->set("category_list", db_diary_category_list4c_member_id($u));
90            $this->set("use_diary_category", true);
91        }
92
93        if (!(is_null($subject) || is_null($body))) {
94            $c_diary['subject'] = $subject;
95            $c_diary['body'] = $body;
96        }
97        if ($public_flag) {
98            $c_diary['public_flag'] = util_cast_public_flag_diary($public_flag);
99        }
100        $this->set("diary", $c_diary);
101
102        // inc_entry_point
103        $this->set('inc_entry_point', fetch_inc_entry_point($this->getView(), 'h_diary_edit'));
104
105        return 'success';
106    }
107}
108
109?>
Note: See TracBrowser for help on using the repository browser.