function setBlogLanguage($blogid, $language, $blogLanguage) { $ctx = Model_Context::getInstance(); if ($language == $ctx->getProperty('blog.language') && $blogLanguage == $ctx->getProperty('blog.blogLanguage')) { return true; } $language = Utils_Unicode::lessenAsEncoding($language, 5); $blogLanguage = Utils_Unicode::lessenAsEncoding($blogLanguage, 5); if (Setting::setBlogSettingGlobal('language', $language) && Setting::setBlogSettingGlobal('blogLanguage', $blogLanguage)) { $ctx->setProperty('blog.language', $language); $ctx->setProperty('blog.blogLanguage', $blogLanguage); requireModel('blog.feed'); clearFeed(); return true; } else { return false; } }
<?php /// Copyright (c) 2004-2015, 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('publishWholeOnRSS' => array('int', 0, 1, 'default' => 0), 'publishEolinSyncOnRSS' => array('int', 0, 1, 'default' => 0), 'entriesOnRSS' => array('int', 'default' => 5), 'commentsOnRSS' => array('int', 'default' => 5), 'useFeedViewOnCategory' => array('int', 0, 1, 'default' => 1), 'rssURL' => array('url', 'mandatory' => false), 'atomURL' => array('url', 'mandatory' => false))); require ROOT . '/library/preprocessor.php'; requireStrictRoute(); setCommentsOnRSS($blogid, $_POST['commentsOnRSS']); setEntriesOnRSS($blogid, $_POST['entriesOnRSS']); // Feed range Setting::setBlogSettingGlobal('publishWholeOnRSS', $_POST['publishWholeOnRSS']); Setting::setBlogSettingGlobal('publishEolinSyncOnRSS', $_POST['publishEolinSyncOnRSS']); // Category Feed Setting::setBlogSettingGlobal('useFeedViewOnCategory', $_POST['useFeedViewOnCategory']); Setting::setBlogSettingGlobal('atomURL', $_POST['atomURL']); Setting::setBlogSettingGlobal('rssURL', $_POST['rssURL']); clearFeed(); CacheControl::flushSkin(); Respond::ResultPage(0);
function setEntryVisibility($id, $visibility) { global $database; requireModel("blog.feed"); requireModel("blog.category"); requireComponent('Needlworks.Cache.PageCache'); $blogid = getBlogId(); if ($visibility < 0 || $visibility > 3) { return false; } list($oldVisibility, $category) = POD::queryRow("SELECT visibility, category FROM {$database['prefix']}Entries WHERE blogid = {$blogid} AND id = {$id} AND draft = 0"); if ($category < 0) { if ($visibility == 1) { $visibility = 0; } if ($visibility == 3) { $visibility = 2; } } if ($oldVisibility === null) { return false; } if ($visibility == $oldVisibility) { return true; } if ($oldVisibility == 3) { syndicateEntry($id, 'delete'); } else { if ($visibility == 3) { if (!syndicateEntry($id, 'create')) { POD::query("UPDATE {$database['prefix']}Entries \n\t\t\t\tSET visibility = {$oldVisibility}, \n\t\t\t\t\tmodified = UNIX_TIMESTAMP() \n\t\t\t\tWHERE blogid = {$blogid} AND id = {$id}"); return false; } } } $result = POD::queryCount("UPDATE {$database['prefix']}Entries \n\t\tSET visibility = {$visibility}, \n\t\t\tmodified = UNIX_TIMESTAMP() \n\t\tWHERE blogid = {$blogid} AND id = {$id}"); if (!$result) { // Error. return false; } if ($result == 0) { // Not changed. return true; } if ($category >= 0) { if ($oldVisibility >= 2 && $visibility < 2 || $oldVisibility < 2 && $visibility >= 2) { clearFeed(); } if ($oldVisibility == 3 && $visibility <= 2 || $oldVisibility <= 2 && $visibility == 3) { clearFeed(); } if ($category > 0) { updateCategoryByEntryId($blogid, $id, 'update', $parameters = array('visibility' => array($oldVisibility, $visibility))); } // updateEntriesOfCategory($blogid, $category); } CacheControl::flushEntry($id); CacheControl::flushDBCache('entry'); CacheControl::flushDBCache('comment'); CacheControl::flushDBCache('trackback'); fireEvent('ChangeVisibility', $visibility, $id); return true; }
function setCategoryVisibility($blogid, $id, $visibility) { requireModel('blog.feed'); if ($id == 0) { return false; } $parentVisibility = getParentCategoryVisibility($blogid, $id); if ($parentVisibility !== false && $parentVisibility < 2) { return false; } // return without changing if parent category is set to hidden. $pool = DBModel::getInstance(); $pool->reset('Categories'); $pool->setAttribute('visibility', $visibility); $pool->setQualifier('blogid', 'eq', $blogid); $pool->setQualifier('id', 'eq', $id); $result = $pool->update(); if ($result && $visibility == 1) { $result = setChildCategoryVisibility($blogid, $id, $visibility); } if ($result) { clearFeed(); } updateEntriesOfCategory($blogid); CacheControl::flushCategory($id); return $result ? $visibility : false; }
function setCategoryVisibility($blogid, $id, $visibility) { global $database; requireModel('blog.feed'); if ($id == 0) { return false; } $parentVisibility = getParentCategoryVisibility($blogid, $id); if ($parentVisibility !== false && $parentVisibility < 2) { return false; } // return without changing if parent category is set to hidden. $result = POD::query("UPDATE {$database['prefix']}Categories\n\t\tSET visibility = {$visibility}\n\t\tWHERE blogid = {$blogid}\n\t\t\tAND id = {$id}"); if ($result && $visibility == 1) { $result = setChildCategoryVisibility($blogid, $id, $visibility); } if ($result) { clearFeed(); } updateEntriesOfCategory($blogid); CacheControl::flushCategory($id); return $result ? $visibility : false; }
function setBlogLanguage($blogid, $language, $blogLanguage) { global $blog; requireModel('blog.feed'); if ($language == $blog['language'] && $blogLanguage == $blog['blogLanguage']) { return true; } $language = UTF8::lessenAsEncoding($language, 5); $blogLanguage = UTF8::lessenAsEncoding($blogLanguage, 5); if (Setting::setBlogSettingGlobal('language', $language) && Setting::setBlogSettingGlobal('blogLanguage', $blogLanguage)) { $blog['language'] = $language; $blog['blogLanguage'] = $blogLanguage; clearFeed(); return true; } else { return false; } }
function setEntryVisibility($id, $visibility) { importlib("model.blog.feed"); importlib("model.blog.category"); $blogid = getBlogId(); if ($visibility < 0 || $visibility > 3) { return false; } $pool = DBModel::getInstance(); $pool->init("Entries"); $pool->setQualifier("blogid", "eq", $blogid); $pool->setQualifier("id", "eq", $id); $pool->setQualifier("draft", "eq", 0); list($category, $oldVisibility) = $pool->getRow("category, visibility"); if ($category < 0) { if ($visibility == 1) { $visibility = 0; } if ($visibility == 3) { $visibility = 2; } } if ($oldVisibility === null) { return false; } if ($visibility == $oldVisibility) { return true; } if ($oldVisibility == 3) { syndicateEntry($id, 'delete'); } else { if ($visibility == 3) { if (!syndicateEntry($id, 'create')) { $pool->init("Entries"); $pool->setQualifier("blogid", "eq", $blogid); $pool->setQualifier("id", "eq", $id); $pool->setAttribute("visibility", $oldVisibility); $pool->setAttribute("modified", Timestamp::getUNIXtime()); $pool->update(); return false; } } } $pool->init("Entries"); $pool->setQualifier("blogid", "eq", $blogid); $pool->setQualifier("id", "eq", $id); $pool->setAttribute("visibility", $visibility); $pool->setAttribute("modified", Timestamp::getUNIXtime()); $result = $pool->update(); if (!$result) { return false; } if ($result == 0) { return true; } if ($category >= 0) { if ($oldVisibility >= 2 && $visibility < 2 || $oldVisibility < 2 && $visibility >= 2) { clearFeed(); } if ($oldVisibility == 3 && $visibility <= 2 || $oldVisibility <= 2 && $visibility == 3) { clearFeed(); } if ($category > 0) { updateCategoryByEntryId($blogid, $id, 'update', $parameters = array('visibility' => array($oldVisibility, $visibility))); } // updateEntriesOfCategory($blogid, $category); } CacheControl::flushEntry($id); CacheControl::flushDBCache('entry'); CacheControl::flushDBCache('comment'); CacheControl::flushDBCache('trackback'); fireEvent('ChangeVisibility', $visibility, $id); return true; }
function setEnclosure($name, $order) { importlib('model.blog.feed'); importlib('model.blog.attachment'); $pool = DBModel::getInstance(); $blogid = getBlogId(); $pool->reset('Attachments'); $pool->setQualifier('blogid', 'eq', $blogid); $pool->setQualifier('name', 'eq', $name, true); $parent = $pool->getCell('parent'); if ($parent !== null) { $pool->setAttribute('enclosure', 0); $pool->setQualifier('parent', 'eq', $parent); $pool->unsetQualifier('name'); $pool->update(); if ($order) { clearFeed(); $pool->setAttribute('enclosure', 1); $pool->unsetQualifier('parent'); $pool->setQualifier('name', 'eq', $name, true); return $pool->update(); } else { return 0; } } else { return 3; } }