public function init()
 {
     if ($this->_module == null) {
         $this->_module = Yii::$app->getModule('cackle_reviews');
     }
     if (!$this->_module) {
         throw new InvalidConfigException("Не определен модуль в конфигурации проекта");
     }
     /*Устанавливаем по умолчанию канал равный адресу страницы*/
     if (!$this->params['channel']) {
         $this->params['channel'] = Yii::$app->request->url;
     }
     /*Синхронизация комментариев*/
     if ($this->sync) {
         $sync = new helpers\CackleReviewSync();
         $sync->sync();
     }
     $this->_uid = uniqid(time());
     $this->params['widget'] = 'Review';
     $this->params['id'] = $this->_module->site_id;
     $this->params['chanWithoutParams'] = true;
     $this->params['container'] = 'mc-review-' . $this->_uid;
     $js = 'cackle_widget.push(' . Json::encode($this->params) . ');';
     $cackle_pos_end = 'document.getElementById("mc-review-' . $this->_uid . '").innerHTML = "";';
     $cackle_pos_end .= 'cackle_widget = window.cackle_widget || [];';
     $cackle_pos_end .= "\r\n        (function() {\r\n            var mc = document.createElement('script');\r\n            mc.type = 'text/javascript';\r\n            mc.async = true;\r\n            mc.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://cackle.me/widget.js';\r\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(mc, s.nextSibling);\r\n        })();";
     $this->getView()->registerJs($js, View::POS_READY, 'cackle_init_' . $this->_uid);
     $this->getView()->registerJs($cackle_pos_end, View::POS_END, 'cackle_load');
     parent::init();
 }
 public function actionIndex()
 {
     $sync = new CackleReviewSync();
     $sync->sync();
 }