本文整理汇总了PHP中CacheControl::flushDBCache方法的典型用法代码示例。如果您正苦于以下问题:PHP CacheControl::flushDBCache方法的具体用法?PHP CacheControl::flushDBCache怎么用?PHP CacheControl::flushDBCache使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CacheControl
的用法示例。
在下文中一共展示了CacheControl::flushDBCache方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: receiveTrackback
function receiveTrackback($blogid, $entry, $title, $url, $excerpt, $site)
{
global $database, $blog, $defaultURL;
if (empty($url)) {
return 5;
}
$post = new Post();
if (!$post->doesAcceptTrackback($entry)) {
return 3;
}
$filtered = 0;
if (!Filter::isAllowed($url)) {
if (Filter::isFiltered('ip', $_SERVER['REMOTE_ADDR']) || Filter::isFiltered('url', $url)) {
$filtered = 1;
} else {
if (Filter::isFiltered('content', $excerpt)) {
$filtered = 1;
} else {
if (!fireEvent('AddingTrackback', true, array('entry' => $entry, 'url' => $url, 'site' => $site, 'title' => $title, 'excerpt' => $excerpt))) {
$filtered = 1;
}
}
}
}
$title = correctTTForXmlText($title);
$excerpt = correctTTForXmlText($excerpt);
$url = UTF8::lessenAsEncoding($url);
$site = UTF8::lessenAsEncoding($site);
$title = UTF8::lessenAsEncoding($title);
$excerpt = UTF8::lessenAsEncoding($excerpt);
$trackback = new Trackback();
$trackback->entry = $entry;
$trackback->url = $url;
$trackback->site = $site;
$trackback->title = $title;
$trackback->excerpt = $excerpt;
if ($filtered > 0) {
$trackback->isfiltered = true;
}
if ($trackback->add()) {
if ($filtered == 0) {
CacheControl::flushDBCache('trackback');
}
return $filtered == 0 ? 0 : 3;
} else {
return 4;
}
return 0;
}
示例2: flushEntry
function flushEntry($entryId = null)
{
global $database;
if (empty($entryId)) {
$entryId = '';
} else {
$entryId = $entryId . '\\_';
}
$cache = pageCache::getInstance();
$Entries = POD::queryColumn("SELECT name\n\t\t\tFROM {$database['prefix']}PageCacheLog\n\t\t\tWHERE blogid = " . getBlogId() . "\n\t\t\tAND (name like 'entry\\_" . $entryId . "%' OR name = 'commentRSS_" . $entryId . "')");
CacheControl::purgeItems($Entries);
if (!empty($entryId)) {
$entry = POD::queryCell("SELECT userid, category FROM {$database['prefix']}Entries\n\t\t\t\tWHERE blogid = " . getBlogId() . " AND id = {$entryId}");
if (!empty($entry)) {
CacheControl::flushAuthor($entry['userid']);
CacheControl::flushCategory($entry['category']);
CacheControl::flushDBCache();
}
} else {
CacheControl::flushAuthor();
CacheControl::flushCategory();
CacheControl::flushDBCache();
}
unset($cache);
return true;
}
示例3: trashCommentInOwner
function trashCommentInOwner($blogid, $id)
{
global $database;
if (!is_numeric($id)) {
return false;
}
$entryId = POD::queryCell("SELECT entry FROM {$database['prefix']}Comments WHERE blogid = {$blogid} AND id = {$id}");
// $result = POD::queryCount("UPDATE {$database['prefix']}Comments SET isfiltered = UNIX_TIMESTAMP() WHERE blogid = $blogid AND id = $id");
// if ($result && $result == 1) {
if (POD::query("UPDATE {$database['prefix']}Comments SET isfiltered = UNIX_TIMESTAMP() WHERE blogid = {$blogid} AND id = {$id}")) {
if (POD::query("UPDATE {$database['prefix']}Comments SET isfiltered = UNIX_TIMESTAMP() WHERE blogid = {$blogid} AND parent = {$id}")) {
CacheControl::flushCommentRSS($entryId);
CacheControl::flushDBCache('comment');
updateCommentsOfEntry($blogid, $entryId);
return true;
}
}
return false;
}
示例4: protectEntry
function protectEntry($id, $password)
{
global $database;
$password = POD::escapeString($password);
$result = POD::queryCount("UPDATE {$database['prefix']}Entries SET password = '{$password}', modified = UNIX_TIMESTAMP() WHERE blogid = " . getBlogId() . " AND id = {$id} AND visibility = 1");
if ($result > 0) {
CacheControl::flushEntry($id);
CacheControl::flushDBCache('entry');
CacheControl::flushDBCache('comment');
CacheControl::flushDBCache('trackback');
return true;
} else {
return false;
}
}
示例5: trashCommentInOwner
function trashCommentInOwner($blogid, $id)
{
if (!is_numeric($id)) {
return false;
}
$pool = DBModel::getInstance();
$pool->reset('Comments');
$pool->setQualifier('blogid', 'eq', $blogid);
$pool->setQualifier('id', 'eq', $id);
$entryId = $pool->getCell('entry');
$pool->setAttribute('isfiltered', Timestamp::getUNIXtime());
if ($pool->update()) {
$pool->unsetQualifier('id');
$pool->setQualifier('parent', 'eq', $id);
if ($pool->update()) {
CacheControl::flushCommentRSS($entryId);
CacheControl::flushDBCache('comment');
filterTrashComments($blogid, $id);
updateCommentsOfEntry($blogid, $entryId);
return true;
}
}
return false;
}
示例6: flushEntry
function flushEntry($entryId = null)
{
global $database;
if (empty($entryId)) {
$entryId = '';
} else {
$entryId = intval($entryId);
}
$Entries = POD::queryColumn("SELECT name\n\t\t\tFROM {$database['prefix']}PageCacheLog\n\t\t\tWHERE blogid = " . getBlogId() . "\n\t\t\tAND (name like 'entry-" . $entryId . "-%' OR name like '%RSS-" . $entryId . "' OR name like '%ATOM-" . $entryId . "')");
if (!empty($Entries)) {
CacheControl::purgeItems($Entries);
}
if (!empty($entryId)) {
$entry = POD::queryRow("SELECT userid, category, published FROM {$database['prefix']}Entries\n\t\t\t\tWHERE blogid = " . getBlogId() . " AND id = {$entryId}");
if (!empty($entry)) {
$entry['period'] = Timestamp::getYearMonth($entry['published']);
CacheControl::flushAuthor($entry['userid']);
CacheControl::flushCategory($entry['category']);
CacheControl::flushArchive($entry['period']);
CacheControl::flushDBCache('entry');
}
} else {
CacheControl::flushAuthor();
CacheControl::flushCategory();
CacheControl::flushDBCache('entry');
}
return true;
}
示例7: protectEntry
function protectEntry($id, $password)
{
$pool->init("Entries");
$pool->setQualifier("blogid", "eq", getBlogId());
$pool->setQualifier("id", "eq", $id);
$pool->setQualifier("visibility", "eq", 1);
$pool->setAttribute("password", $password, true);
$pool->setAttribute("modified", Timestamp::getUNIXtime());
$result = $pool->update();
if ($result) {
CacheControl::flushEntry($id);
CacheControl::flushDBCache('entry');
CacheControl::flushDBCache('comment');
CacheControl::flushDBCache('trackback');
return true;
} else {
return false;
}
}
示例8: remove
function remove($id = null)
{
// attachment & category is own your risk!
global $database, $gCacheStorage;
$this->init();
if (!empty($id)) {
$this->id = $id;
}
// step 0. Get Information
if (!isset($this->id) || !Validator::number($this->id, 1)) {
return $this->_error('id');
}
if (!($query = $this->_buildQuery())) {
return false;
}
if (!($entry = $query->getRow('category, visibility'))) {
return $this->_error('id');
}
// step 1. Check Syndication
if ($entry['visibility'] == 3) {
requireComponent('Eolin.API.Syndication');
Syndication::leave($this->getLink());
}
CacheControl::flushEntry($this->id);
CacheControl::flushDBCache('entry');
CacheControl::flushDBCache('comment');
CacheControl::flushDBCache('trackback');
$gCacheStorage->purge();
// step 2. Delete Entry
$sql = "DELETE FROM " . $database['prefix'] . "Entries WHERE blogid = " . $this->blogid . " AND id = " . $this->id;
if (POD::queryCount($sql)) {
// step 3. Delete Comment
POD::execute("DELETE FROM {$database['prefix']}Comments WHERE blogid = " . $this->blogid . " AND entry = " . $this->id);
// step 4. Delete Trackback
POD::execute("DELETE FROM {$database['prefix']}RemoteResponses WHERE blogid = " . $this->blogid . " AND entry = " . $this->id);
// step 5. Delete Trackback Logs
POD::execute("DELETE FROM {$database['prefix']}RemoteResponseLogs WHERE blogid = " . $this->blogid . " AND entry = " . $this->id);
// step 6. update Category
if (isset($entry['category'])) {
$target = ($parentCategory = Category::getParent($entry['category'])) ? '(id = ' . $entry['category'] . ' OR id = ' . $parentCategory . ')' : 'id = ' . $entry['category'];
if (isset($entry['visibility']) && $entry['visibility'] != 1) {
POD::query("UPDATE {$database['prefix']}Categories SET entries = entries - 1, entriesinlogin = entriesinlogin - 1 WHERE blogid = " . $this->blogid . " AND " . $target);
} else {
POD::query("UPDATE {$database['prefix']}Categories SET entriesinlogin = entriesinlogin - 1 WHERE blogid = " . $this->blogid . " AND " . $target);
}
}
// step 7. Delete Attachment
$attachNames = POD::queryColumn("SELECT name FROM {$database['prefix']}Attachments\n\t\t\t\tWHERE blogid = " . getBlogId() . " AND parent = " . $this->id);
if (POD::execute("DELETE FROM {$database['prefix']}Attachments WHERE blogid = " . getBlogId() . " AND parent = " . $this->id)) {
foreach ($attachNames as $attachName) {
if (file_exists(__TEXTCUBE_ATTACH_DIR__ . "/" . getBlogId() . "/{$attachName}")) {
@unlink(__TEXTCUBE_ATTACH_DIR__ . "/" . getBlogId() . "/{$attachName}");
}
}
}
// step 8. Delete Tags
$this->deleteTags();
// step 9. Clear RSS
requireComponent('Textcube.Control.RSS');
RSS::refresh();
return true;
}
return false;
}
示例9: protectEntry
function protectEntry($id, $password)
{
$ctx = Model_Context::getInstance();
$password = POD::escapeString($password);
$result = POD::queryCount("UPDATE " . $ctx->getProperty('database.prefix') . "Entries SET password = '{$password}', modified = UNIX_TIMESTAMP() WHERE blogid = " . getBlogId() . " AND id = {$id} AND visibility = 1");
if ($result > 0) {
CacheControl::flushEntry($id);
CacheControl::flushDBCache('entry');
CacheControl::flushDBCache('comment');
CacheControl::flushDBCache('trackback');
return true;
} else {
return false;
}
}