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

source: OpenPNE/trunk/webapp/modules/pc/page/fh_diary_comment_confirm.php @ 5234

Last change on this file since 5234 was 5234, checked in by ebihara, 14 years ago

#1217:画像をアップロードしていない場合に$_FILESが空配列、もしくはnullになる環境の場合日記などの書き込みができなかったのを修正

File size: 2.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 pc_page_fh_diary_comment_confirm extends OpenPNE_Action
8{
9    function handleError($errors)
10    {
11        $_REQUEST['msg'] = array_shift($errors);
12        openpne_forward('pc', 'page', 'fh_diary', $errors);
13        exit;
14    }
15
16    function execute($requests)
17    {
18        $u = $GLOBALS['AUTH']->uid();
19
20        // --- リクエスト変数
21        $target_c_diary_id = $requests['target_c_diary_id'];
22        $body = $requests['body'];
23        // ----------
24
25        $target_diary = db_diary_get_c_diary4id($target_c_diary_id);
26        $target_c_member_id = $target_diary['c_member_id'];
27
28        if (!$target_c_member_id) {
29            $target_c_member_id = $u;
30        }
31
32        if ($target_c_member_id == $u) {
33            $type = 'h';
34
35        } else {
36            $type = 'f';
37            $target_c_member = db_member_c_member4c_member_id($target_c_member_id);
38
39            // check public_flag
40            if (!pne_check_diary_public_flag($target_c_diary_id, $u)) {
41                openpne_redirect('pc', 'page_h_err_diary_access');
42            }
43            // アクセスブロック
44            if (db_member_is_access_block($u, $target_c_member_id)) {
45                openpne_redirect('pc', 'page_h_access_block');
46            }
47        }
48
49        $sessid = session_id();
50        t_image_clear_tmp($sessid);
51
52        $upfiles = array(
53            1 => $_FILES['upfile_1'],
54            $_FILES['upfile_2'],
55            $_FILES['upfile_3'],
56        );
57        $tmpfiles = array(
58            1 => '',
59            '',
60            '',
61        );
62
63        foreach ($upfiles as $key => $upfile) {
64            if (!empty($upfile) && $upfile['error'] !== UPLOAD_ERR_NO_FILE) {
65                if (!($image = t_check_image($upfile))) {
66                    $_REQUEST['msg'] = '画像は'.IMAGE_MAX_FILESIZE.'KB以内のGIF・JPEG・PNGにしてください';
67                    openpne_forward('pc', 'page', 'fh_diary');
68                    exit;
69                } else {
70                    $tmpfiles[$key] = t_image_save2tmp($upfile, $sessid, "dc_{$key}", $image['format']);
71                }
72            }
73        }
74
75        $this->set('inc_navi', fetch_inc_navi($type, $target_c_member_id));
76        $form_val = array(
77            "target_c_diary_id" => $target_c_diary_id,
78            "body" => $body,
79            "upfile_1" => $_FILES['upfile_1'],
80            "upfile_2" => $_FILES['upfile_2'],
81            "upfile_3" => $_FILES['upfile_3'],
82            "tmpfile_1" => $tmpfiles[1],
83            "tmpfile_2" => $tmpfiles[2],
84            "tmpfile_3" => $tmpfiles[3],
85        );
86
87        $this->set("form_val", $form_val);
88        return 'success';
89    }
90}
91
92?>
Note: See TracBrowser for help on using the repository browser.