本文整理汇总了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();
}