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

source: OpenPNE/trunk/webapp/modules/pc/page/h_album_image_edit_confirm.php @ 8063

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

#2847:画像がアップロードされなかった場合に、アルバム容量制限のチェックなどの処理をおこなわないように修正

File size: 3.1 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_h_album_image_edit_confirm extends OpenPNE_Action
8{
9    function handleError($errors)
10    {
11        $_REQUEST['msg'] = array_shift($errors);
12        openpne_forward('pc', 'page', 'h_album_edit', $errors);
13        exit;
14    }
15
16    function execute($requests)
17    {
18        if (!OPENPNE_USE_ALBUM) {
19            handle_kengen_error();
20        }
21
22        $u = $GLOBALS['AUTH']->uid();
23
24        // --- リクエスト変数
25        $target_c_album_image_id = $requests['target_c_album_image_id'];
26        $image_description = $requests['image_description'];
27        // ----------
28
29        $sessid = session_id();
30        t_image_clear_tmp($sessid);
31
32        // アルバムの写真データ取得
33        $c_album_image = db_album_image_get_c_album_image4id($target_c_album_image_id);
34        $target_c_album_id = $c_album_image['c_album_id'];
35
36        //アルバムデータ取得
37        $c_album = db_album_get_c_album4c_album_id($target_c_album_id);
38        //--- 権限チェック
39        if ($u != $c_album['c_member_id']) {
40            handle_kengen_error();
41        }
42
43        $upfile = $_FILES['upfile_1'];
44        $tmpfile = '';
45
46        if ($upfile['error'] !== UPLOAD_ERR_NO_FILE) {
47            if (!($image = t_check_image($upfile))) {
48                $_REQUEST['msg'] = '写真は'.IMAGE_MAX_FILESIZE.'KB以内のGIF・JPEG・PNGにしてください';
49                openpne_forward('pc', 'page', 'h_album_image_edit');
50                exit;
51            }
52            $tmpfile = t_image_save2tmp($upfile, $sessid, "a_{$target_c_album_id}_1", $image['format']);
53
54            // 置き換えたときのファイルサイズを出すために、追加ファイルサイズから置き換わるファイルサイズを減算
55            $filesize = $upfile['size'] - $c_album_image['filesize'];
56
57            if (!db_album_is_insertable4c_member_id($u, $filesize)) {
58                t_image_clear_tmp($sessid);
59                $msg = 'これ以上写真を投稿することができません。';
60                if (!db_album_is_insertable4c_member_id($u)) {
61                    $msg .= '登録済みの写真を削除してからやり直してください。';
62                } else {
63                    $msg .= 'ファイルサイズを変更してやり直してください。';
64                }
65                $p = array(
66                    'msg' => $msg,
67                    'target_c_album_id' => $target_c_album_id,
68                    'target_c_album_image_id' => $target_c_album_image_id,
69                );
70                openpne_redirect('pc', 'page_h_album_image_edit', $p);
71            }
72        }
73
74        $this->set('inc_navi', fetch_inc_navi("h"));
75
76        $form_val = array(
77            "target_c_album_id" => $target_c_album_id,
78            "target_c_album_image_id" => $target_c_album_image_id,
79            "image_description" => $image_description,
80            "upfile_1" => $upfile,
81            "tmpfile_1" => $tmpfile,
82        );
83
84        $this->set("form_val", $form_val);
85       
86        return 'success';
87    }
88}
89
90?>
Note: See TracBrowser for help on using the repository browser.