/** * Устанавливает и показывает лайки * @param $id * @return mixed */ public function actionSetlikes($id) { $article = ArticlesContent::findOne($id); $article->likes++; $article->update(); return 'лайков ' . $article->likes . ' - прослушиваний ' . $article->count; }
/** * Загрузка картинок статьи * @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')); }
/** * Поиск 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'); } }