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