Ejemplo n.º 1
0
 /**
  * Устанавливает и показывает лайки
  * @param $id
  * @return mixed
  */
 public function actionSetlikes($id)
 {
     $article = ArticlesContent::findOne($id);
     $article->likes++;
     $article->update();
     return 'лайков ' . $article->likes . ' - прослушиваний ' . $article->count;
 }
Ejemplo n.º 2
0
 /**
  * Загрузка картинок статьи 
  * @param $id
  * @return \yii\web\Response
  */
 public function actionLoadArticlePictures($id)
 {
     $model = ArticlesContent::findOne($id);
     $dom = new \DOMDocument('1.0', 'UTF-8');
     // set error level
     $internalErrors = libxml_use_internal_errors(true);
     // load HTML
     $dom->loadHTML($model->body);
     // Restore error level
     libxml_use_internal_errors($internalErrors);
     $img = $dom->getElementsByTagName("img");
     foreach ($img as $node) {
         foreach ($node->attributes as $attr) {
             if ($attr->localName === 'src') {
                 $extension = '.png';
                 if (strstr($attr->localName, 'jpg')) {
                     $extension = '.jpg';
                 }
                 $imageFile = md5($attr->nodeValue) . $extension;
                 // var_dump($attr->nodeValue); exit;
                 //if()
                 copy($attr->nodeValue, '/home/romanych/public_html/plis/basic/web/uploads/article_img/' . $imageFile);
                 $image = new ImageStorage();
                 $image->img = '/home/romanych/public_html/plis/basic/web/uploads/article_img/' . $imageFile;
                 $image->orig_tag = $attr->nodeValue;
                 $image->cont_art_id = $id;
                 $image->save();
             }
         }
     }
     return $this->redirect(Url::toRoute('articles/index'));
 }
Ejemplo n.º 3
0
 /**
  * Поиск Sphinx в статьях 
  * @return string
  */
 function actionArticleSearch()
 {
     if (Yii::$app->getRequest()->getQueryParam('user')) {
         $user = MarkUser::findOne(Yii::$app->getRequest()->getQueryParam('user'));
         if (!$user) {
             return 'Доступ запрещен!';
         }
         if (Yii::$app->getRequest()->getQueryParam('text')) {
             $articles_records = [];
             $query = new Query();
             // $search_result = $query_search->from('siteSearch')->match($q)->all();  // поиск осуществляется по средством метода match с переданной поисковой фразой.
             $query_articles_ids = $query->from('articles')->match(Yii::$app->getRequest()->getQueryParam('text'))->all();
             foreach ($query_articles_ids as $arr_articles_rec) {
                 foreach ($arr_articles_rec as $id) {
                     $articles_records[] = ArticlesContent::findOne((int) $id);
                 }
             }
             //  var_dump(Items::findOne($r)); exit;
             return $this->renderPartial('articles_searched', ['articles_rows' => is_array($articles_records) && !empty($articles_records) ? $articles_records : 'Ничего не найдено']);
         }
         return $this->renderPartial('article_search_form');
     }
 }