function image_insert_c_image4tmp($prefix, $tmpfile, $c_member_id, $category = '') { if (!$tmpfile || preg_match('/[^\\.\\w]/', $tmpfile)) { return false; } $path_parts = pathinfo($tmpfile); $ext = $path_parts['extension']; $ext = strtolower($ext); $allowed_ext = array('jpg', 'jpeg', 'gif', 'png'); if (!in_array($ext, $allowed_ext)) { return false; } $filename = sprintf('%s_%s.%s', $prefix, time(), $ext); if (!OPENPNE_TMP_IMAGE_DB) { $img_tmp_dir_path = OPENPNE_VAR_DIR . '/tmp/'; $filepath = $img_tmp_dir_path . basename($tmpfile); if (db_image_insert_c_image2($filename, $filepath, $c_member_id, $category)) { return $filename; } } else { $c_tmp_image = db_image_c_tmp_image4filename($tmpfile); $filesize = $c_tmp_image['filesize']; if (db_image_insert_c_image($filename, $c_tmp_image['bin'], $filesize, $c_member_id, $category, '', true)) { return $filename; } } return false; }
/** * アルバム表紙変更 */ function add_album_cover_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; } // 写真登録 if ($images = $this->decoder->get_images()) { $image = $images[0]; $image_ext = $image['ext']; $image_data = $image['data']; $filename = 'a_' . $c_album_id . '_1_' . time() . '.' . $image_ext; // 画像アップロード可能サイズチェック $filesize = $image['filesize']; $result = util_image_check_add_image_upload($filesize, $this->c_member_id, 'other'); if ($result) { $msg = util_image_get_upload_err_msg($result); $this->error_mail($msg); m_debug_log('mail_sns::add_album_cover_image() size over'); return false; } db_image_insert_c_image($filename, $image_data, $filesize, $this->c_member_id); //アルバムデータの変更 $c_album_cover = $c_album['album_cover_image']; db_album_image_data_delete($c_album_cover, $c_album['c_member_id']); db_album_update_c_album_album_cover_image($c_album_id, $filename); } else { $this->error_mail('写真が添付されていないか、ファイルサイズが大きすぎるため、アルバム表紙を変更できませんでした。'); m_debug_log('mail_sns::add_album_cover_image() no images'); return false; } return true; }
function db_image_data_copy($filename, $new_filename, $c_member_id, $filesize) { if (!$filename) { return false; } $db =& db_get_instance('image'); $sql = 'SELECT * FROM c_image WHERE filename = ?'; $params = array($filename); $c_image[] = $db->get_row($sql, $params); if (!$c_image[0]) { return false; } $bin = base64_decode($c_image[0]['bin']); $type = $c_image[0]['type']; return db_image_insert_c_image($new_filename, $bin, $filesize, $c_member_id, null, $type); }