function blogger_deletePost() { $params = func_get_args(); $result = api_login($params[2], $params[3]); if ($result) { return $result; } $post = new Post(); $id = intval($params[1]); $ret = $post->open($id); $ret = $post->remove(); deleteAttachments(getBlogId(), $id); fireEvent('DeletePostByBlogAPI', $id, $post); return $ret ? true : false; }
<?php /// Copyright (c) 2004-2012, Needlworks / Tatter Network Foundation /// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) $IV = array('POST' => array('templateId' => array('int', 'default' => 0), 'isSaved' => array('bool', 'default' => false), 'entryId' => array('int', 'default' => 0))); require ROOT . '/library/preprocessor.php'; requireModel('blog.entry'); requireStrictRoute(); if (!is_null($entry = getEntry($blogid, $_POST['templateId']))) { if (!$_POST['isSaved']) { $entry['category'] = 0; $entry['visibility'] = 0; $entry['published'] = 'UNIX_TIMESTAMP()'; $id = addEntry($blogid, $entry); } else { if ($_POST['entryId'] == 0) { Respond::ResultPage(1); } $id = $_POST['entryId']; } // Delete original attachments. deleteAttachments($blogid, $id); if (copyAttachments($blogid, $_POST['templateId'], $id) === true) { $result = array("error" => "0", "title" => $entry['title'], "content" => $entry['content'], "entryId" => $id); Respond::PrintResult($result); } } Respond::ResultPage(1);
function deleteEntry($blogid, $id) { global $database, $gCacheStorage; requireModel("blog.feed"); requireModel("blog.category"); requireModel("blog.attachment"); requireModel("blog.tag"); requireComponent("Textcube.Data.Tag"); $target = getEntry($blogid, $id); if (is_null($target)) { return false; } if (POD::queryCell("SELECT visibility FROM {$database['prefix']}Entries WHERE blogid = {$blogid} AND id = {$id}") == 3) { syndicateEntry($id, 'delete'); } CacheControl::flushEntry($id); CacheControl::flushDBCache('entry'); CacheControl::flushDBCache('comment'); CacheControl::flushDBCache('trackback'); $gCacheStorage->purge(); $result = POD::queryCount("DELETE FROM {$database['prefix']}Entries WHERE blogid = {$blogid} AND id = {$id}"); if ($result > 0) { $result = POD::query("DELETE FROM {$database['prefix']}Comments WHERE blogid = {$blogid} AND entry = {$id}"); $result = POD::query("DELETE FROM {$database['prefix']}RemoteResponses WHERE blogid = {$blogid} AND entry = {$id}"); $result = POD::query("DELETE FROM {$database['prefix']}RemoteResponseLogs WHERE blogid = {$blogid} AND entry = {$id}"); updateCategoryByEntryId($blogid, $id, 'delete', array('entry' => $target)); deleteAttachments($blogid, $id); Tag::deleteTagsWithEntryId($blogid, $id); clearFeed(); fireEvent('DeletePost', $id, null); return true; } return false; }
function deleteEntry($blogid, $id) { $gCacheStorage = globalCacheStorage::getInstance(); $ctx = Model_Context::getInstance(); $pool = DBModel::getInstance(); importlib("model.blog.feed"); importlib("model.blog.category"); importlib("model.blog.attachment"); importlib("model.blog.tag"); $target = getEntry($blogid, $id); if (is_null($target)) { return false; } $pool->init("Entries"); $pool->setQualifier("blogid", "eq", $blogid); $pool->setQualifier("id", "eq", $id); if ($pool->getCell("visibility") == 3) { syndicateEntry($id, 'delete'); } CacheControl::flushEntry($id); CacheControl::flushDBCache('entry'); CacheControl::flushDBCache('comment'); CacheControl::flushDBCache('trackback'); $gCacheStorage->purge(); $pool->init("Entries"); $pool->setQualifier("blogid", "eq", $blogid)->setQualifier("id", "eq", $id); $result = $pool->delete(); if ($result) { $pool->init("Comments")->setQualifier("blogid", "eq", $blogid)->setQualifier("entry", "eq", $id)->delete(); $pool->init("RemoteResponses")->setQualifier("blogid", "eq", $blogid)->setQualifier("entry", "eq", $id)->delete(); $pool->init("RemoteResponseLogs")->setQualifier("blogid", "eq", $blogid)->setQualifier("entry", "eq", $id)->delete(); updateCategoryByEntryId($blogid, $id, 'delete', array('entry' => $target)); deleteAttachments($blogid, $id); Tag::deleteTagsWithEntryId($blogid, $id); clearFeed(); fireEvent('DeletePost', $id, null); return true; } return false; }