Beispiel #1
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();
     }
 }
Beispiel #2
0
 public function before_delete(\Orm\Model $obj)
 {
     // Delete album_image file.
     $album_images = \Album\Model_AlbumImage::get4album_id($obj->id);
     foreach ($album_images as $album_image) {
         $album_image->delete();
     }
     // delete timeline
     if (is_enabled('timeline')) {
         \Timeline\Model_Timeline::delete4foreign_table_and_foreign_ids('album', $obj->id);
     }
 }
Beispiel #3
0
 public static function delete_with_timeline($name)
 {
     if (!($obj = self::get4name($name))) {
         return false;
     }
     if (is_enabled('timeline')) {
         \Timeline\Model_Timeline::delete4foreign_table_and_foreign_ids('file', $obj->id);
     }
     $deleted_filesize = $obj->filesize;
     $obj->delete();
     return $deleted_filesize;
 }
Beispiel #4
0
 public function delete_with_relations()
 {
     // album_image の削除
     if (\Module::loaded('album') && ($album_images = Model_NoteAlbumImage::get_album_image4note_id($this->id))) {
         $album_image_ids = array();
         foreach ($album_images as $album_image) {
             $album_image_ids[] = $album_image->id;
         }
         \Album\Model_AlbumImage::delete_multiple($album_image_ids);
     }
     // timeline 投稿の削除
     if (\Module::loaded('timeline')) {
         \Timeline\Model_Timeline::delete4foreign_table_and_foreign_ids('note', $this->id);
     }
     // note の削除
     $this->delete();
 }