/** * アルバム写真登録 */ function add_album_image($c_album_id) { if (!($c_album = db_album_get_c_album4c_album_id($c_album_id))) { return false; } if ($c_album['c_member_id'] != $this->c_member_id) { return false; } $subject = $this->decoder->get_subject(); $images = $this->decoder->get_images(); if (!$images) { $this->error_mail('写真が添付されていないか、ファイルサイズが大きすぎるため、登録できませんでした。'); m_debug_log('mail_sns::add_album_image() no images'); return false; } // 写真登録 $image = $images[0]; $image_ext = $image['ext']; $image_data = $image['data']; $image_size = $image['filesize']; // 容量制限 $result = util_image_check_add_image_upload($image_size, $this->c_member_id, 'album'); if ($result) { $msg = util_image_get_upload_err_msg($result); $this->error_mail($msg); m_debug_log('mail_sns::add_album_image() size over'); return false; } $filename = 'a_' . $c_album_id . '_1_' . time() . '.' . $image_ext; db_image_insert_c_image($filename, $image_data, $image_size, $this->c_member_id); if (!$subject) { // 説明文が空の場合はファイル名を挿入する $subject = $filename; } //アルバムデータの変更 db_insert_c_album_image($c_album_id, $this->c_member_id, $filename, $subject, $image_size); return true; }
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); }