Example #1
0
 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();
     }
 }
Example #2
0
 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);
 }
Example #4
0
 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();
 }
Example #5
0
 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');
 }
Example #6
0
 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']);
     }
 }
Example #7
0
 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;
 }
Example #8
0
<?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 
}
Example #9
0
 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;
 }