コード例 #1
0
 /**
  * Инициализация виджета
  */
 public function init()
 {
     parent::init();
     $this->model = new Comment();
     $this->models = !empty($this->models) ? $this->models : Comment::model()->page()->approved()->findAll();
     $this->publishAssets();
     $this->buildCommentsArray();
 }
コード例 #2
0
ファイル: CHelper.php プロジェクト: pendalf89/yii-commentator
 /**
  * @return string урл первого нового комментария
  */
 public static function getNewCommentsUrl()
 {
     $userID = \Yii::app()->getModule('comments')->getUserID();
     if (!empty($userID)) {
         $newComments = NewComments::model()->user($userID)->findAll();
     }
     if (empty($newComments)) {
         return false;
     }
     $comment = Comment::model()->findByPk($newComments[0]->comment_id);
     return $comment->url . '#comment_' . $comment->id;
 }
コード例 #3
0
 /**
  * Отправляет пачками письма пользователям о новых комментариях
  * @param $newComment
  */
 protected function sendUserNotifies($newComment)
 {
     foreach (Comment::model()->page($newComment->url)->notify()->findAll() as $subscriber) {
         // Если email нового комментария (отправителя) совпадает с email подписчика,
         // то выходит что это один и тот же человек, ему уведомление не высылаем, пропускаем итерацию цикла
         if ($newComment->getEmail() === $subscriber->getEmail()) {
             continue;
         }
         $message = $this->renderPartial('comments.extensions.comments_widget.views.email.notifyUser', array('newComment' => $newComment, 'userName' => $subscriber->getAuthor(), 'userEmail' => $subscriber->getEmail(), 'hash' => $subscriber->getHash()), true);
         $this->module->sendMail($subscriber->getEmail(), 'Новый комментарий на сайте "' . \Yii::app()->name . '"', $message);
     }
 }