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

source: OpenPNE/branches/takanashi/prj_takanashi/webapp/modules/pc/do/c_topic_edit_update_c_commu_topic.php @ 1322

Last change on this file since 1322 was 1322, checked in by takanashi, 14 years ago

bugfix確認用

File size: 4.3 KB
Line 
1<?php
2/**
3 * @copyright 2005-2006 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7class pc_do_c_topic_edit_update_c_commu_topic extends OpenPNE_Action
8{
9    function execute($requests)
10    {
11        $u = $GLOBALS['AUTH']->uid();
12
13        // --- リクエスト変数
14        $c_commu_topic_id = $requests['target_c_commu_topic_id'];
15        $body = $requests['body'];
16        $title = $requests['title'];
17        // ----------
18        $upfile_obj1 = $_FILES['image_filename1'];
19        $upfile_obj2 = $_FILES['image_filename2'];
20        $upfile_obj3 = $_FILES['image_filename3'];
21
22        //--- 権限チェック
23        //トピック作成者 or コミュニティ管理者
24
25        $c_topic = c_topic_detail_c_topic4c_commu_topic_id($c_commu_topic_id);
26        $c_commu_id = $c_topic['c_commu_id'];
27
28        if (!db_commu_is_c_topic_admin($c_commu_topic_id, $u) &&
29            !db_commu_is_c_commu_admin($c_commu_id, $u)) {
30            handle_kengen_error();
31        }
32        $c_commu = db_commu_c_commu4c_commu_id2($c_commu_id);
33        if ($c_commu['topic_authority'] == 'admin_only' &&
34            !db_commu_is_c_commu_admin($c_commu_id, $u)) {
35            handle_kengen_error();
36        }
37        //---
38
39        //エラーチェック
40        $err_msg = array();
41        if (is_null($title) || $title === '') $err_msg[] = "タイトルを入力してください";
42        if (is_null($body) || $body === '') $err_msg[] = "詳細を入力してください";
43
44        if ($upfile_obj1['error'] !== UPLOAD_ERR_NO_FILE) {
45            if (!($image = t_check_image($upfile_obj1))) {
46                $err_msg[] = '画像1は'.IMAGE_MAX_FILESIZE.'KB以内のGIF・JPEG・PNGにしてください';
47            }
48        }
49        if ($upfile_obj2['error'] !== UPLOAD_ERR_NO_FILE) {
50            if (!($image = t_check_image($upfile_obj2))) {
51                $err_msg[] = '画像2は'.IMAGE_MAX_FILESIZE.'KB以内のGIF・JPEG・PNGにしてください';
52            }
53        }
54        if ($upfile_obj3['error'] !== UPLOAD_ERR_NO_FILE) {
55            if (!($image = t_check_image($upfile_obj3))) {
56                $err_msg[] = '画像3は'.IMAGE_MAX_FILESIZE.'KB以内のGIF・JPEG・PNGにしてください';
57            }
58        }
59
60        if ($err_msg) {
61            $_REQUEST['err_msg'] = $err_msg;
62            $_REQUEST['target_c_commu_topic_id'] = $c_commu_topic_id;
63            $_REQUEST['title'] = $title;
64            $_REQUEST['body'] = $body;
65            openpne_forward('pc', 'page', "c_topic_edit");
66            exit;
67        }
68
69        //画像コピー
70        $sessid = session_id();
71        t_image_clear_tmp($sessid);
72        $tmpfile1 = t_image_save2tmp($upfile_obj1, $sessid, "t_1");
73        $tmpfile2 = t_image_save2tmp($upfile_obj2, $sessid, "t_2");
74        $tmpfile3 = t_image_save2tmp($upfile_obj3, $sessid, "t_3");
75
76        if ($tmpfile1) {
77            $filename1 = image_insert_c_image4tmp("t_{$c_commu_topic_id}_1", $tmpfile1);
78        }
79        if ($tmpfile2) {
80            $filename2 = image_insert_c_image4tmp("t_{$c_commu_topic_id}_2", $tmpfile2);
81        }
82        if ($tmpfile3) {
83            $filename3 = image_insert_c_image4tmp("t_{$c_commu_topic_id}_3", $tmpfile3);
84        }
85        t_image_clear_tmp(session_id());
86
87
88        $update_c_commu_topic = array(
89            'name'       => $title,
90            'event_flag' => 0,
91        );
92        db_commu_update_c_commu_topic($c_commu_topic_id, $update_c_commu_topic);
93
94
95        $update_c_commu_topic_comment = array(
96            'body' => $body,
97        );
98        $c_topic = c_topic_detail_c_topic4c_commu_topic_id($c_commu_topic_id);
99        if ($filename1) {
100            $update_c_commu_topic_comment["image_filename1"] = $filename1;
101            image_data_delete($c_topic['image_filename1']);
102        }
103        if ($filename2) {
104            $update_c_commu_topic_comment["image_filename2"] = $filename2;
105            image_data_delete($c_topic['image_filename2']);
106        }
107        if ($filename3) {
108            $update_c_commu_topic_comment["image_filename3"] = $filename3;
109            image_data_delete($c_topic['image_filename3']);
110        }
111        db_commu_update_c_commu_topic_comment($c_commu_topic_id, $update_c_commu_topic_comment);
112
113        $p = array('target_c_commu_topic_id' => $c_commu_topic_id);
114        openpne_redirect('pc', 'page_c_topic_detail', $p);
115    }
116}
117
118?>
Note: See TracBrowser for help on using the repository browser.