Ejemplo n.º 1
0
 public function actionIndex()
 {
     $this->title = Yii::$app->name;
     $this->description = 'V2SEX,一个很实在的技术宅的专属社区。在这里交流技术,各种创意点子,聊妹子,聊男人,同性恋,各种兴趣爱好,提问,甚至可以交流AV。';
     $tab = Yii::$app->request->get('tab');
     $sessionTab = Yii::$app->session->get('tab');
     if (Yii::$app->request->get('tab') === null) {
         if (empty($sessionTab)) {
             Yii::$app->session->set('tab', 'tech');
             $tab = 'tech';
         } else {
             $tab = $sessionTab;
         }
     } else {
         if (Tab::findOne(['enname' => $tab]) !== null) {
             Yii::$app->session->set('tab', $tab);
         } else {
             Yii::$app->session->set('tab', 'tech');
             $tab = 'tech';
         }
     }
     $tabModel = Tab::find()->where(['enname' => $tab])->one();
     if (!empty($tabModel->bg) && $tabModel->use_bg == 1) {
         $this->bg = $tabModel->bg;
     }
     if (!empty($tabModel->bg_color)) {
         $this->bg_color = $tabModel->bg_color;
     }
     if ($tab == 'new') {
         $topic = (new Query())->select('topic.*, node.enname, node.name, user.username, user.avatar')->from(Topic::tableName() . ' topic')->leftJoin(Node::tableName() . ' node', 'node.id = topic.node_id')->leftJoin(User::tableName() . ' user', 'user.id = topic.user_id')->where('node.is_hidden = 0')->orderBy(['topic.updated_at' => SORT_DESC])->limit(20)->all();
     } else {
         $topic = (new Query())->select('topic.*, node.enname, node.name, user.username, user.avatar')->from(Topic::tableName() . ' topic')->leftJoin(Node::tableName() . ' node', 'node.id = topic.node_id')->leftJoin(User::tableName() . ' user', 'user.id = topic.user_id')->where('node.is_hidden = 0')->andWhere(['in', 'topic.node_id', Tab::SubNodeId($tab)])->orderBy(['topic.updated_at' => SORT_DESC])->limit(20)->all();
     }
     return $this->render('index', ['topic' => $topic]);
 }
Ejemplo n.º 2
0
 static function TabAd($tab)
 {
     if (!($TabAd = Yii::$app->cache->get('TabAd' . $tab))) {
         $TabModel = Tab::findOne(['enname' => $tab]);
         if (!empty($TabModel->id)) {
             $TabAd = TabAd::find()->where(['tab_id' => $TabModel->id])->asArray()->all();
             Yii::$app->cache->set('TabAd' . $tab, $TabAd, 0);
         } else {
             return null;
         }
     }
     return $TabAd;
 }
Ejemplo n.º 3
0
 /**
  * 获取tab的节点id,有缓存就获取缓存,用来取tab下面的节点建议
  * @return array|\yii\db\ActiveRecord[]
  */
 static function SubNodeId($enname)
 {
     if (!($SubNodeId = Yii::$app->cache->get('subnodeid' . $enname))) {
         $tab = Tab::findOne(['enname' => $enname]);
         if (empty($tab->id)) {
             return [];
         }
         $SubNodeId = ArrayHelper::map(Node::find()->where(['tab_id' => $tab->id])->andWhere(['is_hidden' => 0])->all(), 'id', 'id');
         Yii::$app->cache->set('subnodeid' . $enname, $SubNodeId, 0);
     }
     return $SubNodeId;
 }
Ejemplo n.º 4
0
 /**
  * Finds the Tab model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return Tab the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = Tab::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
Ejemplo n.º 5
0
Archivo: Node.php Proyecto: npk/v2sex
 public function create()
 {
     $this->created = time();
     if ($this->validate()) {
         $this->logo = UploadedFile::getInstance($this, 'logo');
         if ($this->logo != null) {
             $filename = date('Ymdhis') . rand(1000, 9999);
             $this->logo->saveAs(Yii::getAlias('@node') . '/origin/' . $filename . '.' . $this->logo->extension);
             $extension = $this->logo->extension;
             $this->logo = $filename . '.' . $extension;
             Image::thumbnail(Yii::getAlias('@node') . '/origin/' . $filename . '.' . $extension, 80, 80)->save(Yii::getAlias('@node') . '/80/' . $filename . '.' . $extension, ['quality' => 80]);
             Image::thumbnail(Yii::getAlias('@node') . '/origin/' . $filename . '.' . $extension, 48, 48)->save(Yii::getAlias('@node') . '/48/' . $filename . '.' . $extension, ['quality' => 80]);
             Image::thumbnail(Yii::getAlias('@node') . '/origin/' . $filename . '.' . $extension, 24, 24)->save(Yii::getAlias('@node') . '/24/' . $filename . '.' . $extension, ['quality' => 80]);
         } else {
             $this->addError('logo', 'logo不能为空');
             return false;
         }
         $this->bg = UploadedFile::getInstance($this, 'bg');
         if ($this->bg != null) {
             $filename = date('Ymdhis') . rand(1000, 9999);
             $this->bg->saveAs(Yii::getAlias('@bg') . '/' . $filename . '.' . $this->bg->extension);
             $extension = $this->bg->extension;
             $this->bg = $filename . '.' . $extension;
         }
         if (!empty($this->tab_id)) {
             Yii::$app->cache->delete('subnodeid' . Tab::findOne($this->tab_id)->enname);
         }
         return $this->save();
     }
     return false;
 }