diff --git a/.gitignore b/.gitignore index afe3e2f..9b0ba82 100755 --- a/.gitignore +++ b/.gitignore @@ -46,4 +46,6 @@ phpunit.phar /frontend/views/вертска composer.lock -tests/_output/* \ No newline at end of file +tests/_output/* +/common/modules/_comment/ +Будет удалено common/modules/comment/ diff --git a/common/behaviors/RatingBehavior.php b/common/behaviors/RatingBehavior.php new file mode 100644 index 0000000..62dbd79 --- /dev/null +++ b/common/behaviors/RatingBehavior.php @@ -0,0 +1,40 @@ + 'afterUpdate', + ]; + } + + public function afterUpdate($event) + { + /** + * @var Event $event + * @var CommentModel $owner + */ + $owner = $this->owner; + if($owner->status == $owner::STATUS_ACTIVE && $owner->entity == Product::className()) { + $model = Product::findOne($owner->entity_id); + if($model != NULL) { + $model->recalculateRating(); + } + } + } + } \ No newline at end of file diff --git a/common/modules/comment/controllers/DefaultController.php b/common/modules/comment/controllers/DefaultController.php index ae97cda..b4b0de0 100644 --- a/common/modules/comment/controllers/DefaultController.php +++ b/common/modules/comment/controllers/DefaultController.php @@ -61,17 +61,19 @@ /** * @var CommentModel $model */ - $model = new $commentModelClass; + $model = new $commentModelClass([ + 'scenario' => \Yii::$app->user->getIsGuest() ? $commentModelClass::SCENARIO_GUEST : $commentModelClass::SCENARIO_USER, + ]); if($model->load(\Yii::$app->request->post())) { $model->setAttributes($entity_data); if($model->save()) { - if(empty($model->artbox_comment_pid) && $module::$enableRating) { + if(empty( $model->artbox_comment_pid ) && $module::$enableRating) { $ratingModelClass = $module->ratingModelClass; /** * @var RatingModel $rating */ $rating = new $ratingModelClass([ - 'model' => $model::className(), + 'model' => $model::className(), 'model_id' => $model->primaryKey, ]); if($rating->load(\Yii::$app->request->post())) { @@ -90,8 +92,7 @@ } return [ 'status' => 'error', - 'message' => /*Yii::t('yii2mod.comments', 'Oops, something went wrong. Please try again later.'*/ - "Oops, something went wrong. Please try again later.", + 'message' => \Yii::t('artbox-comment', 'Oops, something went wrong. Please try again later.'), ]; } @@ -107,9 +108,9 @@ \Yii::$app->response->format = Response::FORMAT_JSON; $model = $this->findModel($id); if($model->deleteComment()) { - return [ 'status' => 'success', - 'message' => /*\Yii::t('yii2mod.comments', 'Comment has been deleted.');*/ - "Comment has been deleted.", + return [ + 'status' => 'success', + 'message' => \Yii::t('yii2mod.comments', 'Comment has been deleted.'), ]; } else { \Yii::$app->response->setStatusCode(500); @@ -132,8 +133,7 @@ if(( $model = $commentModelClass::findOne($id) ) !== NULL) { return $model; } else { - throw new NotFoundHttpException(/*\Yii::t('yii2mod.comments', 'The requested page does not exist.')*/ - "Comment not found."); + throw new NotFoundHttpException(\Yii::t('yii2mod.comments', 'The requested page does not exist.')); } } } \ No newline at end of file diff --git a/common/modules/comment/messages/ru/artbox-comment.php b/common/modules/comment/messages/ru/artbox-comment.php index 9b14ee3..81b0d22 100755 --- a/common/modules/comment/messages/ru/artbox-comment.php +++ b/common/modules/comment/messages/ru/artbox-comment.php @@ -53,4 +53,7 @@ 'Active' => 'Включён', 'Deleted' => 'Удален', 'Comment posted' => 'Комментарий успешно добавлен и появится после проверки администрацией.', + 'Submit' => 'Добавить комментарий', + 'Cancel' => 'Отменить', + 'Guest' => 'Гость', ]; diff --git a/common/modules/comment/models/CommentModel.php b/common/modules/comment/models/CommentModel.php index b2f4f3a..c3b8b2e 100644 --- a/common/modules/comment/models/CommentModel.php +++ b/common/modules/comment/models/CommentModel.php @@ -1,6 +1,7 @@ self::SCENARIO_GUEST, + ], + [ + [ 'text', 'entity', + 'username', ], 'string', ], [ + [ + 'email', + ], + 'email', + ], + [ [ 'entity_id', 'artbox_comment_pid' ], 'integer', ], @@ -106,6 +133,9 @@ [ 'class' => ParentBehavior::className(), ], + [ + 'class' => RatingBehavior::className(), + ], ]; } diff --git a/common/modules/comment/resources/artbox_comment.css b/common/modules/comment/resources/artbox_comment.css index e69de29..7ca9879 100644 --- a/common/modules/comment/resources/artbox_comment.css +++ b/common/modules/comment/resources/artbox_comment.css @@ -0,0 +1,319 @@ +@import "https://fonts.googleapis.com/css?family=Roboto:400,700,500&subset=cyrillic-ext,latin,cyrillic,latin-ext"; + +.input_bl, .area_bl, .form-comm-wr, .user_name, .user_txt, .comment-panel, .answer-form, .comments-start input, .comments-start textarea, .submit_btn button, .input_bl label { + box-sizing: border-box +} + +.comments-border { + width: 100%; + margin-top: 25px; + margin-bottom: 27px; + height: 1px; + background: #d2d2d2 +} + +.comments-start { + width: 730px; + margin: 0 auto; + font-family: 'Roboto', sans-serif; + font-weight: 400; + color: #333 +} + +.form-comm-wr { + width: 100%; + background: #f5f5f5; + padding: 20px; + float: left +} + +.input_bl { + margin-top: 15px; + float: left +} + +.area_bl, .input_bl { + position: relative +} + +.input_bl input, .input_bl textarea, .answer-form textarea { + width: 258px; + height: 30px; + border: 1px solid #d2d2d2; + background: #fff; + outline: none !important; + border-radius: 4px; + padding-left: 10px +} + +.area_bl textarea, .answer-form textarea { + resize: none !important; + height: 140px; + width: 585px; + padding-top: 7px +} +.stars-wr_ { + width: 100%; +} +.input_bl input:focus, .input_bl textarea:focus, .answer-form textarea:focus { + box-shadow: 1px 2px 2px 0 rgba(215, 215, 215, 0.75) inset; + transition: .1s; + border: 1px solid #d2d2d2 !important; +} + +.input_bl label { + font-size: 12px; + color: #7d7d7d; + font-weight: 400; + text-transform: uppercase; + position: relative; + width: 105px; + float: left; + text-align: right; + padding-right: 10px; + margin: 9px 0 0 0; +} + +.field-commentmodel-email label { + width: 69px +} + +.submit_btn { + float: right; + margin-top: 27px +} + +.submit_btn button, .answer-form button { + padding: 0 17px; + height: 32px; + font-weight: 500; + font-size: 15px; + color: #fff; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 2px solid #799920; + background: #95ba2f; + border-radius: 4px; + cursor: pointer; + outline: none !important +} + +.submit_btn button:hover, .answer-form button:hover { + border-bottom: 2px solid #95ba2f +} + +.submit_btn button:active, .answer-form button:active { + border-bottom: 2px solid #799920; + background: #799920 +} + +.answer-form button { + float: right; + margin-top: 27px; + margin-left: 10px; +} + +.comments-wr, .comment-answer { + min-height: 64px; + position: relative; + float: left; + width: 100% +} + +.answer-form { + float: left; + width: 100% +} + +.answer-form label { + position: relative; +} + +.answer-form .required label:before { + right: -7px; +} + +.user-ico { + width: 80px; + height: 80px; + float: left; + overflow: hidden; + border-radius: 50%; + position: absolute; + top: 0; + left: 0 +} + +.user-ico img { + width: 100%; + height: 100% +} + +.comments-start .user_data { + margin-top: -2px; + font-size: 12px; + color: #636363; + border-right: none; +} + +.user_name { + margin-top: 6px; + font-weight: 700; + font-size: 15px +} + +.comments-start .user_name, .comments-start .user_txt, .comments-start .comment-panel, .comments-start .user_data, .comments-start .user_rating { + width: 100%; + float: left; + padding-left: 100px +} + +.user_txt { + margin-top: 8px; + font-size: 13px; + line-height: 18px +} + +.comment-panel { + width: 100%; + float: left; + margin-top: 11px +} + +.comment-panel a:first-child { + margin-left: 0 +} + +.btn-comm-answer, .btn-comm-delete { + font-size: 13px; + color: #799920; + border-bottom: 1px dotted #799920 +} + +.btn-comm-answer, .btn-comm-delete, .btn-comm-like, .btn-comm-dislike { + float: left; + margin-left: 10px; + text-decoration: none; + margin-top: 11px; +} + +.btn-comm-answer, .btn-comm-delete { + height: 16px; + line-height: 16px +} + +.btn-comm-answer:hover, .btn-comm-delete:hover { + text-decoration: none; + border-bottom: 0 +} + +.btn-comm-like, .btn-comm-dislike { + width: 14px; + height: 16px; + background-image: url(../images/like_dislike.png); + background-repeat: no-repeat +} + +.btn-comm-like { + background-position: 0 0 +} + +.btn-comm-like:hover { + background-position: 0 -16px +} + +.btn-comm-dislike:hover { + background-position: -14px -16px +} + +.btn-comm-dislike { + background-position: -14px 0 +} + +.btn-comm-like:active, .btn-comm-dislike:active { + opacity: .7 +} + +.comment-answer { + margin-top: 40px +} + +.comment-answer .user-ico { + left: 100px +} + +.comment-answer .user_name, .comment-answer .user_txt, .comment-answer .comment-panel, .comment-answer .user_data { + padding-left: 200px +} + +.comments-wr { + margin-top: 40px +} + +.answer-form { + margin-top: 20px +} + +.answer-form textarea { + width: 100%; + height: 90px +} + +.input_bl.has-error input, .input_bl.has-error textarea, .answer-form .has-error textarea { + box-shadow: 1px 2px 2px 0 rgba(212, 0, 0, 0.2) inset; + border: 1px solid #d2d2d2; +} + +.required.has-error label { + color: #d40000 !important; +} + +.input_bl .help-block, .answer-form .help-block { + display: none +} + +.comments-start .required label:before { + display: block; + content: "*"; + color: #d40000; + position: absolute; + top: 0; + right: 3px +} + +.comments-start ul.pagination { + list-style: none; + text-align: center; + margin-top: 40px; + width: 100%; + float: left +} + +.comments-start ul.pagination li { + display: inline +} + +.comments-start ul.pagination li.prev.disabled span { + display: none +} + +.comments-start ul.pagination li.next.disabled span { + display: none +} + +.comments-start ul.pagination li a { + padding: 3px; + color: #82a02f; + font-size: 15px; + margin: 0; + text-decoration: none; + float: none; + border: none; + backgroun-color: inherit; +} + +.comments-start ul.pagination li.active a { + color: #333; + background-color: inherit; +} \ No newline at end of file diff --git a/common/modules/comment/resources/artbox_comment.js b/common/modules/comment/resources/artbox_comment.js index 0eab022..c6f9180 100644 --- a/common/modules/comment/resources/artbox_comment.js +++ b/common/modules/comment/resources/artbox_comment.js @@ -1,5 +1,7 @@ /** * Artbox comment plugin + * + * @todo Translate Submit and Loading texts */ (function($) { @@ -89,7 +91,7 @@ var $replyForm = $(this); var $commentForm = event.data.commentForm; settings = $commentForm.data('artbox_comment'); - $replyForm.find(':submit').prop('disabled', true).text('Loading...'); + $replyForm.find(':submit').prop('disabled', true).text('Загрузка...'); $.post( $replyForm.attr("action"), $replyForm.serialize(), function(data) { @@ -99,7 +101,7 @@ $(settings.listSelector).load( ' ' + settings.listSelector, function(data) { - $replyForm.find(':submit').prop('disabled', false).text('Submit'); + $replyForm.find(':submit').prop('disabled', false).text('Добавить комментарий'); $replyForm.trigger("reset"); } ); @@ -113,7 +115,7 @@ { $replyForm.yiiActiveForm('updateAttribute', 'commentmodel-text-reply', [data.message]); } - $replyForm.find(':submit').prop('disabled', false).text('Submit'); + $replyForm.find(':submit').prop('disabled', false).text('Добавить комментарий'); } } ); @@ -129,7 +131,7 @@ { event.preventDefault(); var $commentForm = $(this), settings = $commentForm.data('artbox_comment'); - $commentForm.find(':submit').prop('disabled', true).text('Loading...'); + $commentForm.find(':submit').prop('disabled', true).text('Загрузка...'); $.post( $commentForm.attr("action"), $commentForm.serialize(), function(data) { @@ -139,7 +141,7 @@ $(settings.listSelector).load( ' ' + settings.listSelector, function(data) { - $commentForm.find(':submit').prop('disabled', false).text('Submit'); + $commentForm.find(':submit').prop('disabled', false).text('Добавить комментарий'); $commentForm.trigger("reset"); } ); @@ -153,7 +155,7 @@ { $commentForm.yiiActiveForm('updateAttribute', 'commentmodel-text', [data.message]); } - $commentForm.find(':submit').prop('disabled', false).text('Submit'); + $commentForm.find(':submit').prop('disabled', false).text('Добавить комментарий'); } } ); diff --git a/common/modules/comment/views/artbox_comment_form.php b/common/modules/comment/views/artbox_comment_form.php index 4fcad7d..1e8c552 100644 --- a/common/modules/comment/views/artbox_comment_form.php +++ b/common/modules/comment/views/artbox_comment_form.php @@ -22,23 +22,35 @@ 'entity' => $comment_model->encryptedEntity, ]), ]); - if(!empty( $rating_model )) { - echo $form->field($rating_model, 'value', [ 'enableClientValidation' => false ]) - ->hiddenInput() - ->label(false); - echo Html::tag('div', '', [ - 'class' => 'rateit', - 'data-rateit-backingfld' => '#' . Html::getInputId($rating_model, 'value'), - ]); - } - if(\Yii::$app->user->isGuest) { - echo $form->field($comment_model, 'username') - ->textInput(); - echo $form->field($comment_model, 'email') - ->textInput(); - } - echo $form->field($comment_model, 'text') - ->textarea(); - echo Html::submitButton(/*Yii::t('artbox-comment', 'Submit')*/ - 'Submit'); - ActiveForm::end(); \ No newline at end of file +?> +
+ +
+ field($rating_model, 'value', [ 'enableClientValidation' => false ]) + ->hiddenInput() + ->label(false); + echo Html::tag('div', '', [ + 'class' => 'rateit', + 'data-rateit-backingfld' => '#' . Html::getInputId($rating_model, 'value'), + ]); + ?> +
+ user->isGuest) { + echo $form->field($comment_model, 'username', [ 'options' => [ 'class' => 'form-group input_bl' ] ]) + ->textInput(); + echo $form->field($comment_model, 'email', [ 'options' => [ 'class' => 'form-group input_bl' ] ]) + ->textInput(); + } + echo $form->field($comment_model, 'text', [ 'options' => [ 'class' => 'form-group input_bl area_bl' ] ]) + ->textarea(); + echo Html::tag('div', Html::submitButton(Yii::t('artbox-comment', 'Submit')), [ 'class' => 'input_bl submit_btn' ]); + ?> +
+ \ No newline at end of file diff --git a/common/modules/comment/views/artbox_comment_item.php b/common/modules/comment/views/artbox_comment_item.php index 6d26670..7c826ab 100644 --- a/common/modules/comment/views/artbox_comment_item.php +++ b/common/modules/comment/views/artbox_comment_item.php @@ -1,5 +1,6 @@ -
-
- Пользователь: - +
+
+
+ +
+
+ date_add); + ?> +
+
user )) { echo $model->user->username; } else { - echo $model->username . ' (' . $model->email . ')'; + echo $model->username . ' (' . Yii::t('artbox-comment', 'Guest') . ')'; } ?> - -
- rating )) { - ?> -
- Рейтинг: -
-
- -
- Дата: - - date_add); - ?> - -
-
- Сообщение: - +
text; + if(!empty( $model->rating )) { + ?> +
+
+
+ - +
+ text; + ?> +
-
-
- -
+
+
children )) { foreach($model->children as $index => $child) { ?> -
+
-
- Пользователь: - +
user )) { - echo $child->user->username; - } else { - echo $child->username . ' (' . $child->email . ')'; - } + echo Html::img('/img/user-noimage.png'); ?> -
-
- Дата: - +
date_add); ?> -
-
- Сообщение: - +
+ user )) { + echo $child->user->username; + } else { + echo $child->username . ' (' . Yii::t('artbox-comment', 'Guest') . ')'; + } + ?> +
+
text; ?> -
-
-
diff --git a/common/modules/comment/views/artbox_comment_list.php b/common/modules/comment/views/artbox_comment_list.php index d4fd6ca..20dc4a9 100644 --- a/common/modules/comment/views/artbox_comment_list.php +++ b/common/modules/comment/views/artbox_comment_list.php @@ -16,7 +16,7 @@ * @var ActiveDataProvider $comments * @var View $this */ - //Pjax::begin(); + Pjax::begin(); if(($success = \Yii::$app->session->getFlash('artbox_comment_success')) != null) { echo Html::tag('p', $success); } @@ -24,6 +24,7 @@ 'dataProvider' => $comments, 'itemOptions' => $item_options, 'itemView' => $item_view, + 'summary' => '', ]); - //Pjax::end(); + Pjax::end(); \ No newline at end of file diff --git a/common/modules/comment/views/artbox_comment_reply.php b/common/modules/comment/views/artbox_comment_reply.php index 039ca72..2aed197 100644 --- a/common/modules/comment/views/artbox_comment_reply.php +++ b/common/modules/comment/views/artbox_comment_reply.php @@ -30,25 +30,32 @@ 'entity' => $comment_model->encryptedEntity, ]), ]); - echo $form->field($comment_model, 'artbox_comment_pid', [ - 'selectors' => $artbox_comment_pid_input_selectors, - 'inputOptions' => [ - 'id' => $artbox_comment_pid_input_id, - 'class' => 'form-control', - ], - ]) - ->hiddenInput() - ->label(false); - echo $form->field($comment_model, 'text', [ - 'selectors' => $text_input_selectors, - 'inputOptions' => [ - 'id' => $text_input_id, - 'class' => 'form-control', - ], - ]) - ->textarea(); - echo Html::submitButton(/*Yii::t('artbox-comment', 'Submit')*/ - 'Submit'); - echo Html::button(/*Yii::t('artbox-comment', 'Cancel')*/ - 'Cancel', [ 'data-action' => 'reply-cancel' ]); - ActiveForm::end(); \ No newline at end of file +?> +
+ field($comment_model, 'artbox_comment_pid', [ + 'selectors' => $artbox_comment_pid_input_selectors, + 'inputOptions' => [ + 'id' => $artbox_comment_pid_input_id, + 'class' => 'form-control', + ], + ]) + ->hiddenInput() + ->label(false); + echo $form->field($comment_model, 'text', [ + 'selectors' => $text_input_selectors, + 'inputOptions' => [ + 'id' => $text_input_id, + 'class' => 'form-control', + 'cols' => 30, + 'rows' => 10, + ], + ]) + ->textarea(); + echo Html::submitButton(Yii::t('artbox-comment', 'Submit')); + echo Html::button(Yii::t('artbox-comment', 'Cancel'), [ 'data-action' => 'reply-cancel' ]); + ?> +
+ \ No newline at end of file diff --git a/common/modules/comment/widgets/CommentWidget.php b/common/modules/comment/widgets/CommentWidget.php index a523cfa..e962f4b 100755 --- a/common/modules/comment/widgets/CommentWidget.php +++ b/common/modules/comment/widgets/CommentWidget.php @@ -32,7 +32,7 @@ * Options * @var array */ - public $options = [ 'class' => 'artbox_comment_container' ]; + public $options = [ 'class' => 'artbox_comment_container comments-start', 'id' => 'artbox-comment' ]; /** * @var string the view file that will render comment form. @@ -138,7 +138,7 @@ */ public $pjaxContainerId; - public $layout = "{form} {reply_form} {list}"; + public $layout = "
{form} {reply_form} {list}"; /** * Model fully namespaced classname @@ -215,6 +215,7 @@ 'entity' => $this->entity, 'entityId' => $this->entityId, 'encryptedEntity' => $this->encryptedEntityKey, + 'scenario' => \Yii::$app->user->getIsGuest()?$commentModelClass::SCENARIO_GUEST:$commentModelClass::SCENARIO_USER, ]); if($module::$enableRating) { $ratingModelClass = $module->ratingModelClass; @@ -240,7 +241,7 @@ $options = Json::encode($this->clientOptions); $view = $this->getView(); CommentAsset::register($view); - $view->registerJs("jQuery('#{$this->formId}').artbox_comment({$options})", $view::POS_END); + $view->registerJs("jQuery('#{$this->formId}').artbox_comment({$options});"); } /** diff --git a/common/modules/product/models/Product.php b/common/modules/product/models/Product.php index 7186c76..74014c0 100755 --- a/common/modules/product/models/Product.php +++ b/common/modules/product/models/Product.php @@ -5,16 +5,13 @@ namespace common\modules\product\models; use common\behaviors\Slug; use common\models\ProductToRating; use common\models\Share; -use common\modules\comment\models\Comment; +use common\modules\comment\models\CommentModel; use common\modules\product\behaviors\FilterBehavior; use common\modules\rubrication\models\TaxGroup; use common\modules\rubrication\models\TaxOption; use Yii; use common\modules\relation\relationBehavior; -use yii\db\ActiveQuery; use yii\db\ActiveRecord; -use yii\helpers\Html; -use yii\web\UploadedFile; /** * This is the model class for table "{{%product}}". @@ -392,7 +389,7 @@ class Product extends \yii\db\ActiveRecord /** * @var ProductToRating $averageRating */ - $average = $this->getComments()->joinWith('rating')->select(['average' => 'avg(rating.value)::float'])->scalar(); + $average = $this->getComments()->joinWith('rating')->select(['average' => 'avg(artbox_comment_rating.value)::float'])->scalar(); if(!$average) { $average = 0; } @@ -410,7 +407,7 @@ class Product extends \yii\db\ActiveRecord } public function getComments() { - return $this->hasMany(Comment::className(), ['model_id' => 'product_id'])->where(['comment.model' => self::className(), 'comment.status' => Comment::STATUS_ACTIVE]); + return $this->hasMany(CommentModel::className(), ['entity_id' => 'product_id'])->where(['artbox_comment.entity' => self::className(), 'artbox_comment.status' => CommentModel::STATUS_ACTIVE, 'artbox_comment.artbox_comment_pid' => NULL]); } public function getAverageRating() { diff --git a/frontend/assets/AppAsset.php b/frontend/assets/AppAsset.php index 73dad2b..d1552ea 100755 --- a/frontend/assets/AppAsset.php +++ b/frontend/assets/AppAsset.php @@ -19,7 +19,7 @@ class AppAsset extends AssetBundle public $baseUrl = '@web'; public $css = [ 'css/style.css', - 'css/comments.css', + //'css/comments.css', 'http://fonts.googleapis.com/css?family=Roboto', ]; public $js = [ diff --git a/frontend/controllers/CatalogController.php b/frontend/controllers/CatalogController.php index 289b984..cd36d01 100755 --- a/frontend/controllers/CatalogController.php +++ b/frontend/controllers/CatalogController.php @@ -121,8 +121,8 @@ class CatalogController extends \yii\web\Controller /* * Greedy search for comments and rating */ -// $query = $productProvider->query; -// $query->with(['comments', 'averageRating']); + $query = $productProvider->query; + $query->with(['comments', 'averageRating']); /* * End of greedy search for rating and comments */ diff --git a/frontend/views/catalog/product.php b/frontend/views/catalog/product.php index ce91e32..0872dd0 100755 --- a/frontend/views/catalog/product.php +++ b/frontend/views/catalog/product.php @@ -175,9 +175,6 @@
- averageRating ) && $product->averageRating->value) { ?> @@ -195,9 +192,6 @@ } ?>

-

-
+
$product, - // ]); + echo CommentWidget::widget([ + 'model' => $product, + ]); ?> +
+
$product ]) ?> 'promo' ]) ?> 'new' ]) ?> diff --git a/frontend/views/catalog/product_item.php b/frontend/views/catalog/product_item.php index a577094..9560e7e 100755 --- a/frontend/views/catalog/product_item.php +++ b/frontend/views/catalog/product_item.php @@ -1,10 +1,11 @@ getModule('artbox-comment'); + CommentAsset::register($this); ?>
  • @@ -41,8 +42,6 @@
    averageRating && $product->averageRating->value > 0)) { ?>
    @@ -59,8 +58,6 @@ ]); ?>

    - */ - ?>