public function before_delete(\Orm\Model $obj) { // delete profile image. if (conf('upload.types.img.types.m.save_as_album_image') && $obj->file_name && ($file = \Model_File::get4name($obj->file_name))) { $file->delete(); } }
public function before_delete(\Orm\Model $obj) { // カバー写真の確認 & 削除 if (!($album = \Album\Model_Album::find($obj->album_id))) { throw new \FuelException('Invalid album id.'); } if ($album->cover_album_image_id == $obj->id) { $album->cover_album_image_id = null; $album->save(); } // プロフィール写真の確認 & 削除 if ($album->foreign_table == 'member') { if ($album->member->file_name == $obj->file_name) { $album->member->file_name = null; $album->member->save(); } // timeline 投稿の削除 if (is_enabled('timeline')) { \Timeline\Model_Timeline::delete4foreign_table_and_foreign_ids('album_image', $obj->id); } } if (is_enabled('timeline')) { // timeline_child_data の削除 \Timeline\Model_TimelineChildData::delete4foreign_table_and_foreign_ids('album_image', $obj->id); // timeline view cache の削除 if (is_enabled('note') && \Config::get('timeline.articles.cache.is_use') && $obj->album->foreign_table == 'note') { \Timeline\Site_Model::delete_note_view_cache4album_image_id($obj->id); } } // file 削除 if ($file = \Model_File::get4name($obj->file_name)) { $file->delete(); } }
protected static function get_location(\Album\Model_AlbumImage $obj) { if (!($file = \Model_File::get4name($obj->file_name))) { return false; } if (!$file->exif) { return false; } $exif = unserialize($file->exif); return \Util_Exif::get_location($exif); }
protected function delete_stored_file(\Orm\Model $obj) { if (conf('upload.storageType') == 'normal') { return; } if ($this->_is_tmp && \Model_File::get4name($obj->name)) { return; } if (conf('upload.storageType') == 'S3') { return \Site_S3::delete($obj->name, 'img') && \Site_S3::delete($obj->name, 'file'); } if (!($file_bin = \Model_FileBin::get4name($obj->name))) { return; } return $file_bin->delete(); }
public static function get_album_image_display_name(Model_AlbumImage $album_image, $default = '', $is_accept_hash_filename = false) { if (isset($album_image->name) && strlen($album_image->name)) { return $album_image->name; } if (!\Config::get('album.isDisplayOriginalFileName')) { return $default; } $file = \Model_File::get4name($album_image->file_name); if ($file && isset($file->original_filename) && strlen($file->original_filename)) { return $file->original_filename; } if ($is_accept_hash_filename) { return $album_image->file_name; } return term('album_image'); }
public function test_check_real_file_info() { $raw_file_dir_path = conf('upload.types.img.raw_file_path'); if (!file_exists($raw_file_dir_path) || !($file_paths = Util_file::get_file_recursive($raw_file_dir_path))) { \Util_Develop::output_test_info(__FILE__, __LINE__); $this->markTestSkipped('No data.'); } foreach ($file_paths as $file_path) { $file_info = File::file_info($file_path); $file_name = \Site_Upload::get_filename_from_file_path($file_path); $file = Model_File::get4name($file_name); // file に対応する Model_File が存在する $this->assertNotEmpty($file); // path の確認 $this->assertEquals(trim(\Site_Upload::get_filepath_prefix_from_filename($file_name), '/'), Util_file::get_path_partial($file_info['dirname'], 2)); // type の確認 $this->assertEquals($file->type, $file_info['mimetype']); // size の確認 $this->assertEquals($file->filesize, $file_info['size']); } }
public function get_file_objects_from_related_model($model_objs, $image_names_posted = array()) { $files = array(); if (!$model_objs) { return $files; } $key = Util_Array::get_first_key($model_objs); $table = $model_objs[$key]->table(); $need_member_id_tables = array('album_image'); if (in_array($table, $need_member_id_tables) && !$this->options['member_id']) { throw new \FuelException('Need member_id.'); } $file_cate = $model_objs[$key]->get_image_prefix(); $cache_size = conf('upload.types.img.types.' . $file_cate . '.sizes.thumbnail'); foreach ($model_objs as $model_obj) { $file_name = $this->remove_filename_prefix($model_obj->file_name); if (!($file = $this->get_file_object($file_name))) { continue; } $file_obj = Model_File::get4name($model_obj->file_name); $file->is_tmp = false; $file->name_prefix = $this->options['filename_prefix']; $file->id = (int) $model_obj->id; $file->original_name = $file_obj->original_filename; $file->thumbnail_uri = Site_Upload::get_uploaded_file_path($model_obj->file_name, $cache_size, 'img', false, true); $file->description = $model_obj->name; if (isset($image_names_posted[$model_obj->id]) && strlen($image_names_posted[$model_obj->id])) { $file->description = $image_names_posted[$model_obj->id]; } if (!empty($this->options['accept_sizes'])) { $file->accept_sizes = $this->options['accept_sizes']; } $files[] = $file; } return $files; }
<?php if ($list) { $file_cate = !empty($file_cate) ? $file_cate : 'nw'; $file_uri_base = conf('upload.types.file.tmp.root_path.raw_dir'); if (!empty($title)) { ?> <h4><?php echo $title; ?> </h4> <?php } ?> <ul> <?php foreach ($list as $file) { $file_obj = \Model_File::get4name($file->file_name); $file_uri = Site_Upload::get_uploaded_file_path($file_obj->name, 'raw', 'file', false, true); ?> <li><?php echo anchor($file_uri, $file->name ?: $file_obj->original_filename); ?> </li> <?php } ?> </ul> <?php }
private static function get_album_filesize_total($album_id) { $album_images = Model_AlbumImage::get4album_id($album_id); $size = 0; foreach ($album_images as $album_image) { $file = \Model_File::get4name($album_image->file_name); $size += $file->filesize; } return $size; }