/**
  * Создаёт новый комментарий
  * @return bool
  */
 public function actionCreate()
 {
     $model = new Comment('guest');
     if ($user = \Yii::app()->getModule('comments')->loadUser()) {
         $model->setScenario('authorized');
         $model->user_id = $user->{$user->tableSchema->primaryKey};
     }
     $this->performAjaxValidation($model);
     if (!isset($_POST['pendalf89_yii_commentator_models_Comment'])) {
         return false;
     }
     $model->attributes = $_POST['pendalf89_yii_commentator_models_Comment'];
     $model->ip = CHelper::getRealIP();
     $model->setStatus();
     if (!$model->save()) {
         return false;
     }
     \Yii::app()->session["commentHash_{$model->id}"] = $model->getHash();
     $widget = new CommentsWidget();
     $widget->models = Comment::model()->page($model->url)->approved()->findAll();
     $widget->init();
     if (\Yii::app()->getModule('comments')->notifyAdmin) {
         $this->sendAdminNotify($model);
     }
     $this->sendUserNotifies($model);
     echo json_encode(array('id' => $model->id, 'premoderate' => \Yii::app()->getModule('comments')->getPremoderateStatus(), 'tree' => $widget->getTree(), 'count' => count($widget->models), 'modal' => $this->getModal(array('title' => '<i class="fa fa-comments"></i> Комментарий успешно отправлен!', 'content' => '<strong>Спасибо за комментарий!</strong> Он появится после проверки модератором.'))));
 }
Beispiel #2
0
<?php

use pendalf89\yii_commentator\helpers\CHelper;
?>
<div class="comments admin-comments">
<h1><i class="fa fa-search"></i> Просмотр комментария #<?php 
echo $model->id;
?>
</h1>

<?php 
$this->widget('zii.widgets.CDetailView', array('data' => $model, 'attributes' => array('id', 'parent_id', 'user_id', array('name' => 'url', 'type' => 'html', 'value' => \CHtml::link($model->getAbsoluteUrl(), $model->getAbsoluteUrl())), 'author', 'email', 'content', 'ip', array('name' => 'likes', 'value' => $model->getLikes()), array('name' => 'status', 'value' => $model->getStatus()), array('name' => 'notify', 'value' => $model->getNotifyStatus()), array('name' => 'created', 'value' => CHelper::date($model->created)), array('name' => 'updated', 'value' => CHelper::date($model->updated)))));
?>

<p class="control">
    <?php 
echo \CHtml::link('<i class="fa fa-list"></i> Менеджер комментариев', array('index'));
?>
    |
    <?php 
echo \CHtml::link('<i class="fa fa-pencil"></i> Редактировать комментарий', array('update', 'id' => $model->id));
?>
    |
    <?php 
echo CHtml::link('<i class="fa fa-cog"></i> Настройки', array('settings'));
?>
</p>
</div>
Beispiel #3
0
echo \CHtml::link('<i class="fa fa-search"></i> Просмотр комментария', array('view', 'id' => $model->id));
?>
            |
            Лайки: <span class="label label-primary"><?php 
echo $model->getLikes();
?>
</span>
            Создан: <span class="label label-success"><?php 
echo CHelper::date($model->created);
?>
</span>
            <?php 
if (!empty($model->updated)) {
    ?>
                Обновлён: <span class="label label-warning"><?php 
    echo CHelper::date($model->updated);
    ?>
</span>
            <?php 
}
?>
            IP: <span class="label label-default"><?php 
echo $model->ip;
?>
</span>
        </p>
    </div>

</div>

<?php 
Beispiel #4
0
$this->widget('zii.widgets.grid.CGridView', array('id' => 'comment-grid', 'dataProvider' => $model->search(), 'filter' => $model, 'rowCssClassExpression' => function ($row, $data) {
    return $row % 2 ? "even{$data->getRowCssClass()}" : "odd{$data->getRowCssClass()}";
}, 'columns' => array(array('class' => 'CCheckBoxColumn', 'id' => 'checkboxes', 'selectableRows' => 2), array('name' => 'id', 'htmlOptions' => array('width' => '50px', 'style' => 'text-align: center;')), array('name' => 'url', 'type' => 'html', 'value' => function ($data) {
    return CHtml::link($data->loadPageTitle(), $data->getAbsoluteUrl());
}), array('name' => 'author', 'value' => function ($data) {
    return $data->getAuthor();
}), array('name' => 'email', 'value' => function ($data) {
    return $data->getEmail();
}), array('name' => 'content', 'value' => function ($data) {
    return CHelper::cutStr($data->content);
}), array('name' => 'likes', 'value' => function ($data) {
    return $data->getLikes();
}, 'htmlOptions' => array('width' => '50px', 'style' => 'text-align: center;')), array('name' => 'status', 'filter' => Comment::getStatusArray(), 'value' => function ($data) {
    return $data->getStatus();
}, 'htmlOptions' => array('width' => '120px', 'style' => 'text-align: center;')), array('name' => 'created', 'filter' => false, 'value' => function ($data) {
    return CHelper::date($data->created);
}, 'htmlOptions' => array('width' => '140px', 'style' => 'text-align: center;')), array('header' => 'Операции', 'class' => 'CButtonColumn', 'htmlOptions' => array('width' => '70px', 'style' => 'text-align: center;')))));
?>

<p class="control">
    Статус:
    <?php 
echo CHtml::dropDownList('status', '', Comment::getStatusArray(), array('empty' => '--Выберите статус--'));
?>

    <?php 
echo CHtml::ajaxSubmitButton('Применить', array('ajaxUpdateStatus'), array('success' => 'reloadGrid'));
?>
    |
    <?php 
echo CHtml::ajaxSubmitButton('Отметить прочитанными', array('ajaxUpdateSetOld'), array('success' => 'reloadGrid'));
 /**
  * Запуск видежта
  */
 public function run()
 {
     $this->render('count', array('count' => CHelper::getNewCommentsCount(), 'url' => CHelper::getNewCommentsUrl()));
 }
Beispiel #6
0
    <div class="pull-right">
        <a href="#comment_like" title="Мне нравится" data-like="1" class="label label-success"><i class="fa fa-thumbs-up"></i></a>
        <span data-role="likes" class="label label-primary"><?php 
echo $comment->getLikes();
?>
</span>
        <a href="#comment_like" title="Мне не нравится" data-like="0" class="label label-danger"><i class="fa fa-thumbs-down"></i></a>

        <time<?php 
echo $enableMicrodata ? ' itemprop="datePublished"' : '';
?>
 datetime="<?php 
echo date('Y-m-d', $comment->created);
?>
" class="label label-default"><?php 
echo CHelper::date($comment->created);
?>
</time>

        <a href="#comment_<?php 
echo $comment->id;
?>
" class="label label-default" title="Ссылка на этот комментарий">#</a>
    </div>

    <div<?php 
echo $enableMicrodata ? ' itemprop="text"' : '';
?>
 class="content"><?php 
echo $comment->content;
?>