本文整理匯總了PHP中DiscussionModel::getAnnouncementCacheKey方法的典型用法代碼示例。如果您正苦於以下問題:PHP DiscussionModel::getAnnouncementCacheKey方法的具體用法?PHP DiscussionModel::getAnnouncementCacheKey怎麽用?PHP DiscussionModel::getAnnouncementCacheKey使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類DiscussionModel
的用法示例。
在下文中一共展示了DiscussionModel::getAnnouncementCacheKey方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: announce
/**
* Allows user to announce or unannounce a discussion.
*
* If the discussion isn't announced, this announces it.
* If it is already announced, this unannounces it.
* Announced discussions stay at the top of the discussions
* list regardless of how long ago the last comment was.
*
* @since 2.0.0
* @access public
*
* @param int $DiscussionID Unique discussion ID.
* @param string $TransientKey Single-use hash to prove intent.
*/
public function announce($DiscussionID = '', $Target = '')
{
$Discussion = $this->DiscussionModel->getID($DiscussionID);
if (!$Discussion) {
throw notFoundException('Discussion');
}
$this->permission('Vanilla.Discussions.Announce', true, 'Category', $Discussion->PermissionCategoryID);
if ($this->Form->authenticatedPostBack()) {
// Save the property.
$CacheKeys = array($this->DiscussionModel->getAnnouncementCacheKey(), $this->DiscussionModel->getAnnouncementCacheKey(val('CategoryID', $Discussion)));
$this->DiscussionModel->SQL->cache($CacheKeys);
$this->DiscussionModel->SetProperty($DiscussionID, 'Announce', (int) $this->Form->getFormValue('Announce', 0));
if ($Target) {
$this->RedirectUrl = url($Target);
}
} else {
if (!$Discussion->Announce) {
$Discussion->Announce = 2;
}
$this->Form->setData($Discussion);
}
$Discussion = (array) $Discussion;
$Category = CategoryModel::categories($Discussion['CategoryID']);
$this->setData('Discussion', $Discussion);
$this->setData('Category', $Category);
$this->title(t('Announce'));
$this->render();
}