function execute($requests)
 {
     if (!OPENPNE_USE_ALBUM) {
         handle_kengen_error();
     }
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_album_id = $requests['target_c_album_id'];
     // ----------
     $c_album = db_album_get_c_album4c_album_id($target_c_album_id);
     if ($c_album['c_member_id'] != $u) {
         handle_kengen_error();
     }
     // 画像アップロード可能サイズチェック
     $tmpfile_1 = $requests['tmpfile_1'];
     $tmpfile_2 = $requests['tmpfile_2'];
     $tmpfile_3 = $requests['tmpfile_3'];
     $tmpfile_4 = $requests['tmpfile_4'];
     $tmpfile_5 = $requests['tmpfile_5'];
     $filesize_all = 0;
     if ($tmpfile_1) {
         $filesize_all += util_image_get_c_tmp_filesize4filename("a_{$target_c_album_id}_1", $tmpfile_1);
     }
     if ($tmpfile_2) {
         $filesize_all += util_image_get_c_tmp_filesize4filename("a_{$target_c_album_id}_2", $tmpfile_2);
     }
     if ($tmpfile_3) {
         $filesize_all += util_image_get_c_tmp_filesize4filename("a_{$target_c_album_id}_3", $tmpfile_3);
     }
     if ($tmpfile_4) {
         $filesize_all += util_image_get_c_tmp_filesize4filename("a_{$target_c_album_id}_4", $tmpfile_4);
     }
     if ($tmpfile_5) {
         $filesize_all += util_image_get_c_tmp_filesize4filename("a_{$target_c_album_id}_5", $tmpfile_5);
     }
     if ($filesize_all) {
         $result = util_image_check_add_image_upload($filesize_all, $u, 'album');
         if ($result) {
             if ($result == 2) {
                 $result = 3;
             }
             t_image_clear_tmp(session_id());
             $msg = util_image_get_upload_err_msg($result);
             $p = array('msg' => $msg, 'target_c_album_id' => $target_c_album_id);
             openpne_redirect('pc', 'page_h_album_image_add', $p);
         }
     }
     $img_tmp_dir_path = OPENPNE_VAR_DIR . '/tmp/';
     $insert_data = array();
     $filesize_all = 0;
     // 写真登録用の連想配列を作成
     for ($i = 1; $i <= 5; $i++) {
         $tmpfile = $requests['tmpfile_' . $i];
         if ($tmpfile) {
             $description = $requests['image_description' . $i];
             if (!(list($filename, $filesize) = image_insert_c_image_album4tmp("a_{$target_c_album_id}_{$i}", $tmpfile, $u))) {
                 continue;
             }
             // 説明文が空の場合はファイル名を挿入する
             if (!$description) {
                 $description = $filename;
             }
             $insert_data[] = array('filename' => $filename, 'description' => $description, 'filesize' => $filesize);
             $filesize_all += $filesize;
         }
     }
     t_image_clear_tmp(session_id());
     // 容量制限
     if (!db_album_is_insertable4c_member_id($u, $filesize_all)) {
         $msg = 'これ以上写真を投稿することができません。';
         if (!db_album_is_insertable4c_member_id($u)) {
             $msg .= '登録済みの写真を削除してからやり直してください。';
         } else {
             $msg .= '投稿する写真を減らすか、ファイルサイズを変更してやり直してください。';
         }
         $p = array('msg' => $msg, 'target_c_album_id' => $target_c_album_id);
         openpne_redirect('pc', 'page_h_album_image_add', $p);
     }
     // 写真を登録する
     foreach ($insert_data as $value) {
         db_insert_c_album_image($target_c_album_id, $u, $value['filename'], $value['description'], $value['filesize']);
     }
     // 写真が登録されたので、アルバムの更新日時も更新する
     db_album_update_c_album_u_datetime($target_c_album_id);
     $p = array('target_c_album_id' => $target_c_album_id);
     openpne_redirect('pc', 'page_fh_album', $p);
 }
 function execute($requests)
 {
     if (!OPENPNE_USE_ALBUM) {
         handle_kengen_error();
     }
     $u = $GLOBALS['AUTH']->uid();
     // --- リクエスト変数
     $target_c_album_image_id = $requests['target_c_album_image_id'];
     $image_description = $requests['image_description'];
     $tmpfile = $requests['tmpfile_1'];
     // ----------
     $filename = '';
     $filesize = 0;
     $c_album_image = db_album_image_get_c_album_image4id($target_c_album_image_id);
     $target_c_album_id = $c_album_image['c_album_id'];
     $img_tmp_dir_path = OPENPNE_VAR_DIR . '/tmp/';
     $c_album = db_album_get_c_album4c_album_id($target_c_album_id);
     if ($c_album['c_member_id'] != $u) {
         handle_kengen_error();
     }
     // 画像アップロード可能サイズチェック
     if ($tmpfile) {
         $del_file = array();
         $filesize = util_image_get_c_tmp_filesize4filename("a_{$target_c_album_id}_1", $tmpfile);
         if ($c_album_image['image_filename']) {
             $del_file[] = $c_album_image['image_filename'];
         }
         $result = util_image_check_change_image_upload($filesize, $del_file, $u, 'album');
         if ($result) {
             $sessid = session_id();
             t_image_clear_tmp($sessid);
             $msg = util_image_get_upload_err_msg($result);
             $p = array('msg' => $msg, 'target_c_album_id' => $target_c_album_id, 'target_c_album_image_id' => $target_c_album_image_id);
             openpne_redirect('pc', 'page_h_album_image_edit', $p);
         }
     }
     // アルバム写真登録処理
     if ($tmpfile) {
         if (!(list($filename, $filesize) = image_insert_c_image_album4tmp("a_{$target_c_album_id}_1", $tmpfile, $u))) {
             $this->handleError(array('写真が登録できませんでした'));
         }
         $sessid = session_id();
         t_image_clear_tmp($sessid);
         if (!db_album_is_insertable4c_member_id($u, $filesize - $c_album_image['filesize'])) {
             db_album_image_data_delete($filename, $u);
             $msg = 'これ以上写真を投稿することができません。';
             if (!db_album_is_insertable4c_member_id($u)) {
                 $msg .= '登録済みの写真を削除してからやり直してください。';
             } else {
                 $msg .= 'ファイルサイズを変更してやり直してください。';
             }
             $p = array('msg' => $msg, 'target_c_album_id' => $target_c_album_id, 'target_c_album_image_id' => $target_c_album_image_id);
             openpne_redirect('pc', 'page_h_album_image_edit', $p);
         }
         db_album_image_data_delete($c_album_image['image_filename'], $u);
     }
     db_album_update_c_album_image($target_c_album_image_id, $filename, $image_description, $filesize);
     // c_albumの更新時間UPDATE
     db_album_update_c_album_u_datetime($target_c_album_id);
     $p = array('target_c_album_id' => $target_c_album_id);
     openpne_redirect('pc', 'page_fh_album', $p);
 }
Example #3
0
/**
 * c_album_imageの新規登録
 *
 * @param int $c_album_id
 * @param int $c_member_id
 * @param string $image_filename
 * @param string $image_description
 * @param int $filesize
 */
function db_insert_c_album_image($c_album_id, $c_member_id, $image_filename, $image_description, $filesize = 0)
{
    // 写真説明に書いてあるURLがSNS内でありセッションパラメータを含んでいた場合は削除
    $image_description = db_ktai_delete_url_session_parameter($image_description);
    $data = array('c_album_id' => $c_album_id, 'c_member_id' => $c_member_id, 'image_description' => $image_description, 'image_filename' => $image_filename, 'filesize' => $filesize, 'r_datetime' => db_now());
    $insert_id = db_insert('c_album_image', $data);
    if ($insert_id) {
        db_album_update_c_album_u_datetime($c_album_id);
    }
    return $insert_id;
}