/** * File情報から削除する(実ファイル込み) */ public function deleteByObject($file) { $flag = parent::deleteByIdAndBlogId($file['id'], $file['blog_id']); // ファイル削除 if ($flag) { App::deleteFile($file['blog_id'], $file['id']); } return $flag; }
/** * idとblog_idをキーとした削除 + 付随情報も削除 */ public function deleteByIdAndBlogId($entry_id, $blog_id, $options = array()) { // コメント削除 Model::load('Comments')->deleteEntryRelation($blog_id, $entry_id); // カテゴリー削除 Model::load('EntryCategories')->deleteEntryRelation($blog_id, $entry_id); // タグ削除 Model::load('EntryTags')->deleteEntryRelation($blog_id, $entry_id); // 記事本体削除 return parent::deleteByIdAndBlogId($entry_id, $blog_id, $options); }
/** * idとblog_idをキーとした削除 + ファイル削除も行う */ public function deleteByIdAndBlogId($id, $blog_id, $options = array()) { // プラグインファイルの削除 $plugin_file = App::getPluginFilePath($blog_id, $id); is_file($plugin_file) && unlink($plugin_file); // 本体削除 return parent::deleteByIdAndBlogId($id, $blog_id, $options); }
/** * idとblog_idをキーとした削除 + 記事のコメント数減少処理 */ public function deleteByIdAndBlogId($comment_id, $blog_id, $options = array()) { $comment = $this->findByIdAndBlogId($comment_id, $blog_id); if (empty($comment)) { return 0; } // Entry記事数増加処理 Model::load('Entries')->decreaseCommentCount($blog_id, $comment['entry_id']); // 記事本体削除 return parent::deleteByIdAndBlogId($comment_id, $blog_id, $options); }
/** * idとblog_idをキーとした削除 + 付随情報も削除 */ public function deleteByIdAndBlogId($tag_id, $blog_id, $options = array()) { // タグの紐付け情報削除 Model::load('EntryTags')->delete('blog_id=? AND tag_id=?', array($blog_id, $tag_id)); // 記事本体削除 return parent::deleteByIdAndBlogId($tag_id, $blog_id, $options); }