本文整理汇总了PHP中DiscussionModel::NotifyNewDiscussion方法的典型用法代码示例。如果您正苦于以下问题:PHP DiscussionModel::NotifyNewDiscussion方法的具体用法?PHP DiscussionModel::NotifyNewDiscussion怎么用?PHP DiscussionModel::NotifyNewDiscussion使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DiscussionModel
的用法示例。
在下文中一共展示了DiscussionModel::NotifyNewDiscussion方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: notifyNewDiscussion
public function notifyNewDiscussion($DiscussionID)
{
if (!c('Vanilla.QueueNotifications')) {
throw forbiddenException('NotifyNewDiscussion');
}
if (!$this->Request->isPostBack()) {
throw forbiddenException('GET');
}
// Grab the discussion.
$Discussion = $this->DiscussionModel->getID($DiscussionID);
if (!$Discussion) {
throw notFoundException('Discussion');
}
if (val('Notified', $Discussion) != ActivityModel::SENT_PENDING) {
die('Not pending');
}
// Mark the notification as in progress.
$this->DiscussionModel->setField($DiscussionID, 'Notified', ActivityModel::SENT_INPROGRESS);
$discussionType = val('Type', $Discussion);
if ($discussionType) {
$Code = "HeadlineFormat.Discussion.{$discussionType}";
} else {
$Code = 'HeadlineFormat.Discussion';
}
$HeadlineFormat = t($Code, '{ActivityUserID,user} started a new discussion: <a href="{Url,html}">{Data.Name,text}</a>');
$Category = CategoryModel::categories(val('CategoryID', $Discussion));
$Activity = array('ActivityType' => 'Discussion', 'ActivityUserID' => $Discussion->InsertUserID, 'HeadlineFormat' => $HeadlineFormat, 'RecordType' => 'Discussion', 'RecordID' => $DiscussionID, 'Route' => DiscussionUrl($Discussion), 'Data' => array('Name' => $Discussion->Name, 'Category' => val('Name', $Category)));
$ActivityModel = new ActivityModel();
$this->DiscussionModel->NotifyNewDiscussion($Discussion, $ActivityModel, $Activity);
$ActivityModel->SaveQueue();
$this->DiscussionModel->setField($DiscussionID, 'Notified', ActivityModel::SENT_OK);
die('OK');
}