本文整理汇总了PHP中CommentModel::save2方法的典型用法代码示例。如果您正苦于以下问题:PHP CommentModel::save2方法的具体用法?PHP CommentModel::save2怎么用?PHP CommentModel::save2使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CommentModel
的用法示例。
在下文中一共展示了CommentModel::save2方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: commit
/**
*
*
* @return bool
* @throws Exception
* @throws Gdn_UserException
*/
public function commit()
{
if (is_null($this->Type)) {
throw new Exception(T("Adding a Regarding event requires a type."));
}
if (is_null($this->ForeignType)) {
throw new Exception(T("Adding a Regarding event requires a foreign association type."));
}
if (is_null($this->ForeignID)) {
throw new Exception(T("Adding a Regarding event requires a foreign association id."));
}
if (is_null($this->Comment)) {
throw new Exception(T("Adding a Regarding event requires a comment."));
}
if (is_null($this->UserID)) {
$this->UserID = Gdn::session()->UserID;
}
$RegardingModel = new RegardingModel();
$CollapseMode = c('Garden.Regarding.AutoCollapse', true);
$Collapse = false;
if ($CollapseMode) {
// Check for an existing report of this type
$ExistingRegardingEntity = $RegardingModel->getRelated($this->Type, $this->ForeignType, $this->ForeignID);
if ($ExistingRegardingEntity) {
$Collapse = true;
$RegardingID = val('RegardingID', $ExistingRegardingEntity);
}
}
if (!$Collapse) {
// Create a new Regarding entry
$RegardingPreSend = array('Type' => $this->Type, 'ForeignType' => $this->ForeignType, 'ForeignID' => $this->ForeignID, 'InsertUserID' => $this->UserID, 'DateInserted' => date('Y-m-d H:i:s'), 'ParentType' => $this->ParentType, 'ParentID' => $this->ParentID, 'ForeignURL' => $this->ForeignURL, 'Comment' => $this->Comment, 'OriginalContent' => $this->OriginalContent, 'Reports' => 1);
$RegardingID = $RegardingModel->save($RegardingPreSend);
if (!$RegardingID) {
return false;
}
}
// Handle collaborations
// Don't error on foreach
if (!is_array($this->CollaborativeActions)) {
$this->CollaborativeActions = array();
}
foreach ($this->CollaborativeActions as $Action) {
$ActionType = val('Type', $Action);
switch ($ActionType) {
case 'discussion':
$DiscussionModel = new DiscussionModel();
if ($Collapse) {
$Discussion = Gdn::SQL()->select('*')->from('Discussion')->where(array('RegardingID' => $RegardingID))->get()->firstRow(DATASET_TYPE_ARRAY);
}
if (!$Collapse || !$Discussion) {
$CategoryID = val('Parameters', $Action);
// Make a new discussion
$DiscussionID = $DiscussionModel->save(array('Name' => $this->CollaborativeTitle, 'CategoryID' => $CategoryID, 'Body' => $this->OriginalContent, 'InsertUserID' => val('InsertUserID', $this->SourceElement), 'Announce' => 0, 'Close' => 0, 'RegardingID' => $RegardingID));
if (!$DiscussionID) {
throw new Gdn_UserException($DiscussionModel->Validation->resultsText());
}
$DiscussionModel->updateDiscussionCount($CategoryID);
} else {
// Add a comment to the existing discussion.
$CommentModel = new CommentModel();
$CommentID = $CommentModel->save(array('DiscussionID' => val('DiscussionID', $Discussion), 'Body' => $this->Comment, 'InsertUserID' => $this->UserID));
$CommentModel->save2($CommentID, true);
}
break;
case 'conversation':
$ConversationModel = new ConversationModel();
$ConversationMessageModel = new ConversationMessageModel();
$Users = val('Parameters', $Action);
$UserList = explode(',', $Users);
if (!sizeof($UserList)) {
throw new Exception(sprintf(T("The userlist provided for collaboration on '%s:%s' is invalid.", $this->Type, $this->ForeignType)));
}
$ConversationID = $ConversationModel->save(array('To' => 'Admins', 'Body' => $this->CollaborativeTitle, 'RecipientUserID' => $UserList, 'RegardingID' => $RegardingID), $ConversationMessageModel);
break;
}
}
return true;
}