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

source: OpenPNE/trunk/webapp/modules/pc/do/h_album_image_add_insert_c_album_image.php @ 6677

Last change on this file since 6677 was 6677, checked in by ogawa, 12 years ago

LICENSEの年号が古くなっていたものを修正

File size: 2.9 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
7/**
8 * アルバムに写真を登録
9 */
10class pc_do_h_album_image_add_insert_c_album_image extends OpenPNE_Action
11{
12    function handleError($errors)
13    {
14        $_REQUEST['msg1'] = $errors['target_c_album_id'];
15        openpne_forward('pc', 'page', 'h_album_image_add', $errors);
16        exit;
17    }
18
19    function execute($requests)
20    {
21        if (!OPENPNE_USE_ALBUM) {
22            handle_kengen_error();
23        }
24
25        $u = $GLOBALS['AUTH']->uid();
26
27        // --- リクエスト変数
28        $target_c_album_id = $requests['target_c_album_id'];
29        // ----------
30
31        $img_tmp_dir_path = OPENPNE_VAR_DIR . '/tmp/';
32        $insert_data = array();
33        $filesize_all = 0;
34
35        // 写真登録用の連想配列を作成
36        for ($i = 1; $i <= 5; $i++) {
37            $tmpfile = $requests['tmpfile_' . $i];
38
39            if ($tmpfile) {
40                $description = $requests['image_description' . $i];
41                $filename = image_insert_c_image_album4tmp("a_{$target_c_album_id}_{$i}", $tmpfile);
42                $filesize = filesize($img_tmp_dir_path . basename($tmpfile));
43
44                // 説明文が空の場合はファイル名を挿入する
45                if (!$description) {
46                    $description = $filename;
47                }
48
49                $insert_data[] = array(
50                    'filename' => $filename,
51                    'description' => $description,
52                    'filesize' => $filesize,
53                );
54
55                $filesize_all += $filesize;
56            }
57        }
58
59        t_image_clear_tmp(session_id());
60
61        // 容量制限
62        if (!db_album_is_insertable4c_member_id($u, $filesize_all)) {
63            $msg = 'これ以上写真を投稿することができません。';
64            if (!db_album_is_insertable4c_member_id($u)) {
65                $msg .= '登録済みの写真を削除してからやり直してください。';
66            } else {
67                $msg .= '投稿する写真を減らすか、ファイルサイズを変更してやり直してください。';
68            }
69            $p = array(
70                'msg' => $msg,
71                'target_c_album_id' => $target_c_album_id,
72            );
73            openpne_redirect('pc', 'page_h_album_image_add', $p);
74        }
75
76        // 写真を登録する
77        foreach ($insert_data as $value) {
78            db_insert_c_album_image($target_c_album_id, $u, $value['filename'], $value['description'], $value['filesize']);
79        }
80
81        // 写真が登録されたので、アルバムの更新日時も更新する
82        db_album_update_c_album_u_datetime($target_c_album_id);
83
84        $p = array('target_c_album_id' => $target_c_album_id);
85        openpne_redirect('pc', 'page_fh_album', $p);
86    }
87}
88
89?>
Note: See TracBrowser for help on using the repository browser.