/** * Создаёт новый комментарий * @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> Он появится после проверки модератором.')))); }
<?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>
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
$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())); }
<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; ?>