function execute($requests) { if (!OPENPNE_USE_ALBUM) { handle_kengen_error(); } $u = $GLOBALS['AUTH']->uid(); // --- リクエスト変数 $target_c_album_id = $requests['target_c_album_id']; $subject = $requests['subject']; $image_description1 = $requests['image_description1']; $image_description2 = $requests['image_description2']; $image_description3 = $requests['image_description3']; $image_description4 = $requests['image_description4']; $image_description5 = $requests['image_description5']; // ---------- $c_album = db_album_get_c_album4c_album_id($target_c_album_id); if ($c_album['c_member_id'] != $u) { handle_kengen_error(); } $sessid = session_id(); t_image_clear_tmp($sessid); $upfiles = array(1 => $_FILES['upfile_1'], $_FILES['upfile_2'], $_FILES['upfile_3'], $_FILES['upfile_4'], $_FILES['upfile_5']); $tmpfiles = array(1 => '', '', '', '', ''); $is_set_file = false; foreach ($upfiles as $key => $upfile) { if ($upfile['name']) { $is_set_file = true; break; } } if (!$is_set_file) { $_REQUEST['msg'] = '写真を指定してください'; openpne_forward('pc', 'page', 'h_album_image_add'); exit; } $filesize_all = 0; foreach ($upfiles as $key => $upfile) { if ($upfile['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile))) { $_REQUEST['msg'] = '写真は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; openpne_forward('pc', 'page', 'h_album_image_add'); exit; } else { $filesize_all += $image['size']; $tmpfiles[$key] = t_image_save2tmp($upfile, $sessid, "a_{$target_c_album_id}_{$key}", $image['format']); } } } // 画像アップロード可能サイズチェック $result = util_image_check_add_image_upload($filesize_all, $u, 'album'); if ($result) { if ($result == 2) { $result = 3; } 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); openpne_redirect('pc', 'page_h_album_image_add', $p); } if (!db_album_is_insertable4c_member_id($u, $filesize_all)) { t_image_clear_tmp($sessid); $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); } $this->set('inc_navi', fetch_inc_navi('h')); $form_val = array("target_c_album_id" => $target_c_album_id, "subject" => $subject, "upfile_1" => $_FILES['upfile_1'], "upfile_2" => $_FILES['upfile_2'], "upfile_3" => $_FILES['upfile_3'], "upfile_4" => $_FILES['upfile_4'], "upfile_5" => $_FILES['upfile_5'], "tmpfile_1" => $tmpfiles[1], "tmpfile_2" => $tmpfiles[2], "tmpfile_3" => $tmpfiles[3], "tmpfile_4" => $tmpfiles[4], "tmpfile_5" => $tmpfiles[5]); //ファイル写真を指定しているものだけ説明文を設定 foreach ($tmpfiles as $key => $tmpfile) { $name = "image_description{$key}"; if ($tmpfile) { $form_val["{$name}"] = ${$name}; } } $this->set("form_val", $form_val); return 'success'; }
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); }
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']; // ---------- $sessid = session_id(); t_image_clear_tmp($sessid); // アルバムの写真データ取得 $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']; //アルバムデータ取得 $c_album = db_album_get_c_album4c_album_id($target_c_album_id); //--- 権限チェック if ($u != $c_album['c_member_id']) { handle_kengen_error(); } $upfile = $_FILES['upfile_1']; $tmpfile = ''; if ($upfile['error'] !== UPLOAD_ERR_NO_FILE) { if (!($image = t_check_image($upfile))) { $_REQUEST['msg'] = '写真は' . IMAGE_MAX_FILESIZE . 'KB以内のGIF・JPEG・PNGにしてください'; openpne_forward('pc', 'page', 'h_album_image_edit'); exit; } $tmpfile = t_image_save2tmp($upfile, $sessid, "a_{$target_c_album_id}_1", $image['format']); // 画像アップロード可能サイズチェック $del_file = array(); if ($c_album_image['image_filename']) { $del_file[] = $c_album_image['image_filename']; } $result = util_image_check_change_image_upload($image['size'], $del_file, $u, 'album'); if ($result) { 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); } // 置き換えたときのファイルサイズを出すために、追加ファイルサイズから置き換わるファイルサイズを減算 $filesize = $upfile['size'] - $c_album_image['filesize']; if (!db_album_is_insertable4c_member_id($u, $filesize)) { t_image_clear_tmp($sessid); $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); } } $this->set('inc_navi', fetch_inc_navi("h")); $form_val = array("target_c_album_id" => $target_c_album_id, "target_c_album_image_id" => $target_c_album_image_id, "image_description" => $image_description, "upfile_1" => $upfile, "tmpfile_1" => $tmpfile); $this->set("form_val", $form_val); return 'success'; }
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); }