本文整理汇总了PHP中CacheControl::flushCategory方法的典型用法代码示例。如果您正苦于以下问题:PHP CacheControl::flushCategory方法的具体用法?PHP CacheControl::flushCategory怎么用?PHP CacheControl::flushCategory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CacheControl
的用法示例。
在下文中一共展示了CacheControl::flushCategory方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: flushItemsByPlugin
function flushItemsByPlugin($pluginName)
{
global $databases;
$xmls = new XMLStruct();
$manifest = @file_get_contents(ROOT . "/plugins/{$pluginName}/index.xml");
if ($manifest && $xmls->open($manifest)) {
if ($xmls->doesExist('/plugin/binding/listener')) {
//event listener가 있는 경우
foreach ($xmls->selectNodes('/plugin/binding/listener') as $listener) {
if (!empty($listener['.attributes']['event']) && !empty($listener['.value'])) {
// Event가 있는 경우
if (strpos(strtolower($listener['.attributes']['event']), 'view') !== false) {
CacheControl::flushCategory();
}
}
}
unset($listener);
}
if ($xmls->doesExist('/plugin/binding/tag')) {
foreach ($xmls->selectNodes('/plugin/binding/tag') as $tag) {
if (!empty($tag['.attributes']['name']) && !empty($tag['.attributes']['handler'])) {
CacheControl::flushCategory();
CacheControl::flushTag();
}
}
unset($tag);
}
// if ($xmls->doesExist('/plugin/binding/sidebar')) {
// TODO: 사이드바 캐시때 처리하도록 하지요.
// }
if ($xmls->doesExist('/plugin/binding/formatter[lang()]')) {
CacheControl::flushCategory();
}
}
}
示例2: retrieveCallback
function retrieveCallback($lines, $uid)
{
$this->appendUid($uid);
$mail = $this->pop3->parse($lines);
if (isset($mail['date_string'])) {
$slogan = $mail['date_string'];
$docid = $mail['time_string'];
} else {
$slogan = date("Y-m-d");
$docid = date("H:i:s");
}
if (in_array($mail['subject'], array('제목없음'))) {
$mail['subject'] = '';
}
if (!$this->isAllowed($mail)) {
return false;
}
if (false && empty($mail['attachments'])) {
$this->logMail($mail, "SKIP");
return false;
}
$post = new Post();
$moblog_begin = "\n<div class=\"moblog-entry\">";
$moblog_end = "\n</div>\n";
if ($post->open("slogan = '{$slogan}'")) {
$post->loadTags();
$this->log("* 기존 글을 엽니다. (SLOGAN:{$slogan})");
if (empty($post->tags)) {
$post->tags = array();
}
$tags = $this->extractTags($mail);
/* mail content will be changed */
$post->tags = array_merge($post->tags, $tags);
$post->content .= $moblog_begin . $this->_getDecoratedContent($mail, $docid);
$post->modified = $mail['date'];
$post->visibility = $this->visibility;
} else {
$this->log("* 새 글을 작성합니다. (SLOGAN:{$slogan})");
if (isset($mail['date_year'])) {
$post->title = str_replace(array('%Y', '%M', '%D'), array($mail['date_year'], $mail['date_month'], $mail['date_day']), $this->subject);
} else {
$post->title = str_replace(array('%Y', '%M', '%D'), array(date("Y"), date("m"), date("d")), $this->subject);
}
$post->userid = $this->userid;
$post->category = $this->category;
$post->tags = $this->extractTags($mail);
/* Go with csv string, Tag class supports both string and array */
$post->content = $moblog_begin . $this->_getDecoratedContent($mail, $docid);
$post->contentformatter = getDefaultFormatter();
$post->contenteditor = getDefaultEditor();
$post->created = time();
$post->acceptcomment = true;
$post->accepttrackback = true;
$post->visibility = $this->visibility;
$post->published = time();
$post->modified = $mail['date'];
$post->slogan = $slogan;
if (!$post->add()) {
$this->logMail($mail, "ERROR");
$this->log(_t("실패: 글을 추가하지 못하였습니다") . " : " . $post->error);
return false;
} else {
CacheControl::flushCategory($post->category);
}
}
/* 슬로건을 지워야만 문제가 발생하지 않습니다. */
//unset($post->slogan);
if (isset($mail['attachments']) && count($mail['attachments'])) {
importlib("model.blog.api");
$post->content .= "<div class=\"moblog-attachments\">\n";
foreach ($mail['attachments'] as $mail_att) {
$this->log("* " . _t("첨부") . " : {$mail_att['filename']}");
$att = api_addAttachment(getBlogId(), $post->id, array('name' => $mail_att['filename'], 'content' => $mail_att['decoded_content'], 'size' => $mail_att['length']));
if (!$att) {
$this->logMail($mail, "ERROR");
$this->log(_t("실패: 첨부파일을 추가하지 못하였습니다") . " : " . $post->error);
return false;
}
$alt = htmlentities($mail_att['filename'], ENT_QUOTES, 'utf-8');
$content = '[##_1C|$FILENAME|width="$WIDTH" height="$HEIGHT" alt="' . $alt . '"|_##]';
$content = str_replace('$FILENAME', $att['name'], $content);
$content = str_replace('$WIDTH', $att['width'], $content);
$content = str_replace('$HEIGHT', $att['height'], $content);
$post->content .= $content;
}
$post->content .= "\n</div>";
}
$post->content .= $moblog_end;
if (!$post->update()) {
$this->logMail($mail, "ERROR");
$this->log(_t("실패: 첨부파일을 본문에 연결하지 못하였습니다") . ". : " . $post->error);
return false;
}
$this->logMail($mail, "OK");
return true;
}
示例3: useBlogSlogan
function useBlogSlogan($blogid, $useSloganOnPost, $useSloganOnCategory, $useSloganOnTag)
{
$ctx = Model_Context::getInstance();
$useSloganOnPost = $useSloganOnPost ? 1 : 0;
$useSloganOnCategory = $useSloganOnCategory ? 1 : 0;
$useSloganOnTag = $useSloganOnTag ? 1 : 0;
if ($useSloganOnPost == $ctx->getProperty('blog.useSloganOnPost') && $useSloganOnCategory == $ctx->getProperty('blog.useSloganOnCategory') && $useSloganOnTag == $ctx->getProperty('blog.useSloganOnTag')) {
return true;
}
/* if(Setting::setBlogSettingGlobal('useSloganOnPost',$useSlogan) === false
|| Setting::setBlogSettingGlobal('useSloganOnCategory',$useSlogan) === false
|| Setting::setBlogSettingGlobal('useSloganOnTag',$useSlogan) === false
) {
return false;
}*/
Setting::setBlogSettingGlobal('useSloganOnPost', $useSloganOnPost);
Setting::setBlogSettingGlobal('useSloganOnCategory', $useSloganOnCategory);
Setting::setBlogSettingGlobal('useSloganOnTag', $useSloganOnTag);
$ctx->setProperty('blog.useSloganOnPost', $useSloganOnPost);
$ctx->setProperty('blog.useSloganOnCategory', $useSloganOnCategory);
$ctx->setProperty('blog.useSloganOnTag', $useSloganOnTag);
requireModel('blog.feed');
CacheControl::flushCategory();
CacheControl::flushEntry();
CacheControl::flushTag();
fireEvent('ToggleBlogSlogan', null, $useSloganOnPost);
clearFeed();
return true;
}
示例4: setSkinSetting
function setSkinSetting($blogid, $setting)
{
global $skinSetting;
// Legacy global support. TODO: DELETE THIS LINE AFTER CHECK EVERY REFERENCES IN WHOLE SOURCE
importlib('blogskin');
$blogid = getBlogId();
if (strncmp($context->getProperty('skin.skin'), 'customize/', 10) == 0) {
if (strcmp($context->getProperty('skin.skin'), "customize/{$blogid}") != 0) {
return false;
}
} else {
$skinSetting['skin'] = Path::getBaseName($context->getProperty('skin.skin'));
// Legacy global support. TODO: DELETE THIS LINE AFTER CHECK EVERY REFERENCES IN WHOLE SOURCE
$context->setProperty('skin.skin', $skinSetting['skin']);
if ($context->getProperty('skin.skin') === '.' || $context->getProperty('skin.skin') === '..') {
return _t('실패 했습니다');
}
}
$skinpath = getSkinPath($context->getProperty('skin.skin'));
if (!is_dir($skinpath)) {
return _t('실패 했습니다');
}
foreach ($setting as $key => $value) {
Setting::setSkinSetting($key, $value, $blogid);
}
Setting::setSkinSetting('skin', $context->getProperty('skin.skin'), $blogid);
Setting::setBlogSetting('useMicroformat', $setting['useMicroformat'], true);
Setting::setBlogSetting('useAjaxComment', $setting['useAjaxComment'], true);
Setting::setBlogSetting('useFOAF', $setting['useFOAF'] == 1 ? 1 : 0, true);
Setting::setBlogSetting('entriesOnPage', $setting['entriesOnPage'], true);
Setting::setBlogSetting('entriesOnList', $setting['entriesOnList'], true);
CacheControl::flushCategory();
CacheControl::flushTag();
CacheControl::flushSkin();
Setting::getSkinSettings($blogid, true);
// refresh skin cache
return true;
}
示例5: setCategoryVisibility
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;
}
示例6: setCategoryVisibility
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;
}
示例7: useBlogSlogan
function useBlogSlogan($blogid, $useSloganOnPost, $useSloganOnCategory, $useSloganOnTag)
{
global $blog;
requireModel('blog.feed');
$useSloganOnPost = $useSloganOnPost ? 1 : 0;
$useSloganOnCategory = $useSloganOnCategory ? 1 : 0;
$useSloganOnTag = $useSloganOnTag ? 1 : 0;
if ($useSloganOnPost == $blog['useSloganOnPost'] && $useSloganOnCategory == $blog['useSloganOnCategory'] && $useSloganOnTag == $blog['useSloganOnTag']) {
return true;
}
/* if(Setting::setBlogSettingGlobal('useSloganOnPost',$useSlogan) === false
|| Setting::setBlogSettingGlobal('useSloganOnCategory',$useSlogan) === false
|| Setting::setBlogSettingGlobal('useSloganOnTag',$useSlogan) === false
) {
return false;
}*/
Setting::setBlogSettingGlobal('useSloganOnPost', $useSloganOnPost);
Setting::setBlogSettingGlobal('useSloganOnCategory', $useSloganOnCategory);
Setting::setBlogSettingGlobal('useSloganOnTag', $useSloganOnTag);
$blog['useSloganOnPost'] = $useSloganOnPost;
$blog['useSloganOnCategory'] = $useSloganOnCategory;
$blog['useSloganOnTag'] = $useSloganOnTag;
CacheControl::flushCategory();
CacheControl::flushEntry();
CacheControl::flushTag();
fireEvent('ToggleBlogSlogan', null, $blog['useSloganOnPost']);
clearFeed();
return true;
}
示例8: setSkinSetting
function setSkinSetting($blogid, $setting)
{
global $database;
global $skinSetting;
requireLibrary('blog.skin');
$blogid = getBlogId();
if (strncmp($skinSetting['skin'], 'customize/', 10) == 0) {
if (strcmp($skinSetting['skin'], "customize/{$blogid}") != 0) {
return false;
}
} else {
$skinSetting['skin'] = Path::getBaseName($skinSetting['skin']);
if ($skinSetting['skin'] === '.' || $skinSetting['skin'] === '..') {
return _t('실패 했습니다');
}
}
$skinpath = ROOT . '/skin/blog/' . $skinSetting['skin'];
if (!is_dir($skinpath)) {
return _t('실패 했습니다');
}
foreach ($setting as $key => $value) {
Setting::setSkinSetting($key, $value, $blogid);
}
Setting::setSkinSetting('skin', $skinSetting['skin'], $blogid);
Setting::setBlogSetting('useMicroformat', $setting['useMicroformat'], true);
Setting::setBlogSetting('useAjaxComment', $setting['useAjaxComment'], true);
Setting::setBlogSetting('useFOAF', $setting['useFOAF'] == 1 ? 1 : 0, true);
Setting::setBlogSetting('entriesOnPage', $setting['entriesOnPage'], true);
Setting::setBlogSetting('entriesOnList', $setting['entriesOnList'], true);
CacheControl::flushCategory();
CacheControl::flushTag();
CacheControl::flushSkin();
Setting::getSkinSettings($blogid, true);
// refresh skin cache
return true;
}