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

source: OpenPNE/trunk/webapp/modules/pc/do/c_topic_add_insert_c_commu_topic.php @ 2188

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

#223 ファイルアップロード

File size: 3.4 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_do_c_topic_add_insert_c_commu_topic extends OpenPNE_Action
8{
9    function execute($requests)
10    {
11        $u = $GLOBALS['AUTH']->uid();
12
13        $c_commu_id = $requests['c_commu_id'];
14        $title  = $requests['title'];
15        $image_filename1_tmpfile = $requests['image_filename1_tmpfile'];
16        $image_filename2_tmpfile = $requests['image_filename2_tmpfile'];
17        $image_filename3_tmpfile = $requests['image_filename3_tmpfile'];
18        $body = $requests['body'];
19
20        //---添付ファイル
21        $filename4_tmpfile = $requests['filename4_tmpfile'];
22        $filename4_mime_type = $requests['filename4_mime_type'];
23
24        //---権限チェック
25        //コミュニティ参加者
26
27        $status = db_common_commu_status($u, $c_commu_id);
28
29        if (!$status['is_commu_member']) {
30            handle_kengen_error();
31        }
32
33        $c_commu = db_commu_c_commu4c_commu_id2($c_commu_id);
34
35        //トピック作成権限チェック
36        if ($c_commu['topic_authority'] == 'admin_only' && !db_commu_is_c_commu_admin($c_commu_id, $u)) {
37            $_REQUEST['target_c_commu_id'] = $c_commu_id;
38            $_REQUEST['msg'] = "トピックは管理者だけが作成できます";
39            openpne_forward('pc', 'page', "c_home");
40            exit;
41        }
42        //---
43
44        $insert_c_commu_topic = array(
45            "name"        => $title,
46            "c_commu_id"  => $c_commu_id,
47            "c_member_id" => $u,
48            "event_flag"  => 0
49        );
50
51        $c_commu_topic_id = db_commu_insert_c_commu_topic($insert_c_commu_topic);
52
53        if ($image_filename1_tmpfile) {
54            $filename1 = image_insert_c_image4tmp("t_{$c_commu_topic_id}_1", $image_filename1_tmpfile);
55        }
56        if ($image_filename2_tmpfile) {
57            $filename2 = image_insert_c_image4tmp("t_{$c_commu_topic_id}_2", $image_filename2_tmpfile);
58        }
59        if ($image_filename3_tmpfile) {
60            $filename3 = image_insert_c_image4tmp("t_{$c_commu_topic_id}_3", $image_filename3_tmpfile);
61        }
62
63        // 添付ファイルをDBに入れる
64        if ($filename4_tmpfile) {
65            $filename4 = file_insert_c_file4tmp("t_{$c_commu_topic_id}_4", $filename4_tmpfile, $filename4_mime_type);
66        }
67
68        //テンポラリファイルを削除(画像と同時)
69        t_image_clear_tmp(session_id());
70
71        $insert_c_commu_topic_comment = array(
72            "c_commu_id"       => $c_commu_id,
73            "c_member_id"      => $u,
74            "body"             => $body,
75            "number"           => 0,
76            "c_commu_topic_id" => $c_commu_topic_id,
77            "image_filename1"  => !empty($filename1) ? $filename1 : '',
78            "image_filename2"  => !empty($filename2) ? $filename2 : '',
79            "image_filename3"  => !empty($filename3) ? $filename3 : '',
80            "filename4"  => !empty($filename4) ? $filename4 : '',
81        );
82        $insert_id = db_commu_insert_c_commu_topic_comment_3($insert_c_commu_topic_comment);
83
84        //お知らせメール送信(携帯へ)
85        send_bbs_info_mail($insert_id, $u);
86        //お知らせメール送信(PCへ)
87        send_bbs_info_mail_pc($insert_id, $u);
88
89        $p = array('target_c_commu_topic_id' => $c_commu_topic_id);
90
91        openpne_redirect('pc', 'page_c_topic_detail', $p);
92    }
93}
94
95?>
Note: See TracBrowser for help on using the repository browser.