Example #1
0
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;
}
Example #2
0
<?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);
Example #3
0
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;
}
Example #4
0
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;
}