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

source: OpenPNE/branches/stable-2.8.x/webapp/modules/pc/page/c_topic_add_confirm.php @ 4988

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

#1663:トピック作成リンクの表示・トピック作成アクションの実行権限の統一(r4804の安定版への再度取り込み)

File size: 4.2 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_c_topic_add_confirm extends OpenPNE_Action
8{
9    function handleError($errors)
10    {
11        $_REQUEST['err_msg'] = $errors;
12        openpne_forward('pc', 'page', 'c_topic_add', $errors);
13        exit;
14    }
15
16    function execute($requests)
17    {
18        $u = $GLOBALS['AUTH']->uid();
19
20        // --- リクエスト変数
21        $c_commu_id = $requests['target_c_commu_id'];
22        $title = $requests['title'];
23        $body = $requests['body'];
24        // ----------
25
26        //--- 権限チェック
27        if (!db_commu_is_c_commu_view4c_commu_idAc_member_id($c_commu_id, $u)) {
28            handle_kengen_error();
29        }
30
31        $c_commu = db_commu_c_commu4c_commu_id2($c_commu_id);
32
33        //トピック作成権限チェック
34        if ($c_commu['topic_authority'] == 'admin_only' && !db_commu_is_c_commu_admin($c_commu_id, $u)) {
35            handle_kengen_error();
36        }
37
38        //画像ファイル
39        $upfile_obj1 = $_FILES['image_filename1'];
40        $upfile_obj2 = $_FILES['image_filename2'];
41        $upfile_obj3 = $_FILES['image_filename3'];
42
43        //添付ファイル
44        $upfile_obj4 = $_FILES['uploadfile'];
45
46        $err_msg = array();
47
48        if ($upfile_obj1['error'] !== UPLOAD_ERR_NO_FILE) {
49            if (!($image = t_check_image($upfile_obj1))) {
50                $err_msg[] = '画像1は'.IMAGE_MAX_FILESIZE.'KB以内のGIF・JPEG・PNGにしてください';
51            }
52        }
53        if ($upfile_obj2['error'] !== UPLOAD_ERR_NO_FILE) {
54            if (!($image = t_check_image($upfile_obj2))) {
55                $err_msg[] = '画像2は'.IMAGE_MAX_FILESIZE.'KB以内のGIF・JPEG・PNGにしてください';
56            }
57        }
58        if ($upfile_obj3['error'] !== UPLOAD_ERR_NO_FILE) {
59            if (!($image = t_check_image($upfile_obj3))) {
60                $err_msg[] = '画像3は'.IMAGE_MAX_FILESIZE.'KB以内のGIF・JPEG・PNGにしてください';
61            }
62        }
63
64        if (OPENPNE_USE_FILEUPLOAD) {
65            if ($upfile_obj4['error'] !== UPLOAD_ERR_NO_FILE) {
66                // ファイルサイズ制限
67                if ($upfile_obj4['size'] === 0 || $upfile_obj4['size'] > FILE_MAX_FILESIZE * 1024) {
68                    $err_msg[] = 'ファイルは' . FILE_MAX_FILESIZE . 'KB以内のファイルにしてください(ただし空のファイルはアップロードできません)';
69                }
70
71                // 拡張子制限
72                if (!util_check_file_extention($upfile_obj4['name'])) {
73                    $err_msg[] = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string'));
74                }
75            }
76        }
77
78        if ($err_msg) {
79            $_REQUEST['err_msg'] = $err_msg;
80            openpne_forward('pc', 'page', "c_topic_add");
81            exit;
82        }
83        $sessid = session_id();
84       
85        //-----
86
87        t_image_clear_tmp($sessid);
88        t_file_clear_tmp($sessid);
89
90        //画像をvar/tmpフォルダにコピー
91        $tmpfile1 = t_image_save2tmp($upfile_obj1, $sessid, "t_1");
92        $tmpfile2 = t_image_save2tmp($upfile_obj2, $sessid, "t_2");
93        $tmpfile3 = t_image_save2tmp($upfile_obj3, $sessid, "t_3");
94        if (OPENPNE_USE_FILEUPLOAD) {
95            // 一次ファイルをvar/tmpにコピー
96            $tmpfile4 = t_file_save2tmp($upfile_obj4, $sessid, "t_4");
97        }
98
99        $this->set('inc_navi', fetch_inc_navi("c", $c_commu_id));
100        $c_topic = array(
101            'c_commu_id' => $c_commu_id,
102            'title'      => $title,
103            'body'       => $body,
104            'image_filename1_tmpfile' => $tmpfile1,
105            'image_filename2_tmpfile' => $tmpfile2,
106            'image_filename3_tmpfile' => $tmpfile3,
107            'image_filename1'         => $upfile_obj1["name"],
108            'image_filename2'         => $upfile_obj2["name"],
109            'image_filename3'         => $upfile_obj3["name"],
110             // 添付ファイル
111            'filename4_tmpfile' => $tmpfile4,
112            'filename4_original_filename' => $upfile_obj4["name"],
113        );
114
115        $this->set('c_topic', $c_topic);
116        return 'success';
117    }
118}
119
120?>
Note: See TracBrowser for help on using the repository browser.