当前位置: 首页>>代码示例>>PHP>>正文


PHP CommentModel::SetUserScore方法代码示例

本文整理汇总了PHP中CommentModel::SetUserScore方法的典型用法代码示例。如果您正苦于以下问题:PHP CommentModel::SetUserScore方法的具体用法?PHP CommentModel::SetUserScore怎么用?PHP CommentModel::SetUserScore使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CommentModel的用法示例。


在下文中一共展示了CommentModel::SetUserScore方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: DiscussionController_VoteComment_Create

   /**
    * Increment/decrement comment scores
    */
   public function DiscussionController_VoteComment_Create($Sender) {
		if (!C('Plugins.Voting.Enabled'))
			return;

      $CommentID = GetValue(0, $Sender->RequestArgs, 0);
      $VoteType = GetValue(1, $Sender->RequestArgs);
      $TransientKey = GetValue(2, $Sender->RequestArgs);
      $Session = Gdn::Session();
      $FinalVote = 0;
      $Total = 0;
      if ($Session->IsValid() && $Session->ValidateTransientKey($TransientKey) && $CommentID > 0) {
         $CommentModel = new CommentModel();
         $OldUserVote = $CommentModel->GetUserScore($CommentID, $Session->UserID);
         $NewUserVote = $VoteType == 'voteup' ? 1 : -1;
         $FinalVote = intval($OldUserVote) + intval($NewUserVote);
         // Allow admins to vote unlimited.
         $AllowVote = $Session->CheckPermission('Vanilla.Comments.Edit');
         // Only allow users to vote up or down by 1.
         if (!$AllowVote)
            $AllowVote = $FinalVote > -2 && $FinalVote < 2;
         
         if ($AllowVote)
            $Total = $CommentModel->SetUserScore($CommentID, $Session->UserID, $FinalVote);
      }
      $Sender->DeliveryType(DELIVERY_TYPE_BOOL);
      $Sender->SetJson('TotalScore', $Total);
      $Sender->SetJson('FinalVote', $FinalVote);
      $Sender->Render();
   }
开发者ID:nerdgirl,项目名称:Forums-ILoveBadTV,代码行数:32,代码来源:class.voting.plugin.php

示例2: DiscussionController_VoteComment_Create

 /**
  * Increment/decrement comment scores
  */
 public function DiscussionController_VoteComment_Create($Sender)
 {
     //		if (!C('Plugins.Voting.Enabled'))
     //			return;
     $CommentID = GetValue(0, $Sender->RequestArgs, 0);
     $VoteType = GetValue(1, $Sender->RequestArgs);
     $TransientKey = GetValue(2, $Sender->RequestArgs);
     $Session = Gdn::Session();
     $FinalVote = 0;
     $Total = 0;
     if ($Session->IsValid() && $Session->ValidateTransientKey($TransientKey) && $CommentID > 0) {
         $CommentModel = new CommentModel();
         $OldUserVote = $CommentModel->GetUserScore($CommentID, $Session->UserID);
         $NewUserVote = $VoteType == 'voteup' ? 1 : -1;
         $FinalVote = intval($OldUserVote) + intval($NewUserVote);
         // Allow admins to vote unlimited.
         $AllowVote = $Session->CheckPermission('Garden.Moderation.Manage');
         // Only allow users to vote up or down by 1.
         if (!$AllowVote) {
             $AllowVote = $FinalVote > -2 && $FinalVote < 2;
         }
         if ($AllowVote) {
             $Total = $CommentModel->SetUserScore($CommentID, $Session->UserID, $FinalVote);
         }
         // Move the comment into or out of moderation.
         if (class_exists('LogModel')) {
             $Moderate = FALSE;
             if ($Total <= C('Plugins.Voting.ModThreshold1', -10)) {
                 $LogOptions = array('GroupBy' => array('RecordID'));
                 // Get the comment row.
                 $Data = $CommentModel->GetID($CommentID, DATASET_TYPE_ARRAY);
                 if ($Data) {
                     // Get the users that voted the comment down.
                     $OtherUserIDs = $CommentModel->SQL->Select('UserID')->From('UserComment')->Where('CommentID', $CommentID)->Where('Score <', 0)->Get()->ResultArray();
                     $OtherUserIDs = array_column($OtherUserIDs, 'UserID');
                     $LogOptions['OtherUserIDs'] = $OtherUserIDs;
                     // Add the comment to moderation.
                     if ($Total > C('Plugins.Voting.ModThreshold2', -20)) {
                         LogModel::Insert('Moderate', 'Comment', $Data, $LogOptions);
                     }
                 }
                 $Moderate = TRUE;
             }
             if ($Total <= C('Plugins.Voting.ModThreshold2', -20)) {
                 // Remove the comment.
                 $CommentModel->Delete($CommentID, array('Log' => 'Moderate'));
                 $Sender->InformMessage(sprintf(T('The %s has been removed for moderation.'), T('comment')));
             } elseif ($Moderate) {
                 $Sender->InformMessage(sprintf(T('The %s has been flagged for moderation.'), T('comment')));
             }
         }
     }
     $Sender->DeliveryType(DELIVERY_TYPE_BOOL);
     $Sender->SetJson('TotalScore', $Total);
     $Sender->SetJson('FinalVote', $FinalVote);
     $Sender->Render();
 }
开发者ID:vanilla,项目名称:addons,代码行数:60,代码来源:class.voting.plugin.php

示例3: SetUserScore

 /**
  * This updates the items score for future use in ranking and a best of controller
  *
  * @param int $ID The items ID
  * @param string $Type The type of the item (only supports 'discussion' and 'comment'
  * @param int $UserID The user that is scoring the item
  * @param int $Score What they give it
  * @return boolean Whether or not the the request was successful
  */
 private function SetUserScore($ID, $Type, $UserID, $Score)
 {
     $Model = FALSE;
     switch ($Type) {
         default:
             return FALSE;
         case 'discussion':
             $Model = new DiscussionModel();
             break;
         case 'comment':
             $Model = new CommentModel();
             break;
     }
     if ($Model) {
         $Model->SetUserScore($ID, $UserID, $Score);
         return TRUE;
     } else {
         return FALSE;
     }
 }
开发者ID:hxii,项目名称:Application-Yaga,代码行数:29,代码来源:class.reactionmodel.php


注:本文中的CommentModel::SetUserScore方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。