Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 /**
  * 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]);
 }