public function actionTest() { $tag = 'yii2'; $key = 'actionTest' . $tag; $duration = 60; $data = Yii::$app->cacheDB->get($key); // $current = Hashtag::getOneTagByTag($tag); // if(!$current){ // throw new \HttpRequestException('Not fount tag'); // } if ($data === false) { $data = LibTw::sendSearch($tag); Yii::$app->cacheDB->set($key, $data, $duration); } // $relevantsList = []; // foreach($data['statuses'] AS $statuses){ // if(isset($statuses['entities']['hashtags'])){ // foreach($statuses['entities']['hashtags'] AS $hashtag){ // if(isset($hashtag['text']) && mb_strtolower($hashtag['text'], Yii::$app->charset) != mb_strtolower($tag, Yii::$app->charset)){ // $relevantsList[] = $hashtag['text']; // } // } // } // } // $relevantsList = array_unique($relevantsList); // Hashtag::addRelevant($current->id, $relevantsList); var_dump($data); }
/** * Displays a single Hashtag model. * @param string $tag * @return mixed */ public function actionView($tag) { $tag = ltrim($tag, '#'); $model = $this->findModel($tag); $newDescription = new HashtagDescription(); if ($newDescription->load(Yii::$app->request->post()) && !Yii::$app->user->isGuest) { $newDescription->hashtag = $model->id; $newDescription->user = !Yii::$app->user->isGuest ? Yii::$app->user->id : 0; if ($newDescription->validate()) { $newDescription->save(); return $this->refresh(); } } $key = 'hashtagLastViewFor' . $model->tagUrl; $duration = 3600; $lastTwitter = Yii::$app->cacheDB->get($key); if ($lastTwitter === false) { $lastTwitter = LibTw::sendSearch($model->tagUrl, 'recent', 12); Yii::$app->cacheDB->set($key, $lastTwitter, $duration); } // var_dump($lastTwitter); return $this->render('view', ['model' => $model, 'newDescription' => $newDescription, 'lastTwitter' => $lastTwitter]); }