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(); } }
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); } }
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; }
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(); }