Esempio n. 1
0
 public function actionIndex()
 {
     $type = $_POST['type'];
     $input = $_POST['input'];
     $search = $input;
     if ($type == 0) {
         $result = array_merge($this->search($search));
         while (count($result) == 0) {
             $mid = strlen($search) / 2;
             $sub1 = substr($search, 0, $mid);
             $sub2 = substr($search, $mid);
             $result = array_merge($this->search($sub1), $this->search($sub2));
         }
         $myLike = LikeQue::model()->findAll('userId=:uid', array(':uid' => Yii::app()->user->id));
         $this->render('question', array('result' => $result, 'input' => $input, 'myLike' => $myLike));
     } else {
         $in = str_split($input);
         $search = '%';
         foreach ($in as $key => $c) {
             $search .= $c . '%';
         }
         $result = User::model()->with('questions', 'answers')->findAll(array('condition' => 'username LIKE "' . $search . '"'));
         $this->render('user', array('result' => $result, 'input' => $input));
     }
 }
Esempio n. 2
0
 public function actionView($tid)
 {
     $criteria = new CDbCriteria();
     $criteria->with = 'questions';
     $criteria->addCondition('t.id=' . $tid);
     $tag = Tag::model()->find($criteria);
     $myLike = LikeQue::model()->findAll('userId=:uid', array(':uid' => Yii::app()->user->id));
     $this->render('view', array('tag' => $tag, 'myLike' => $myLike));
 }
Esempio n. 3
0
 public function actionLikeQue($uid)
 {
     if (Yii::app()->user->isGuest) {
         Yii::app()->user->loginRequired();
     } else {
         $cri = new CDbCriteria();
         $cri->with = array('question.tags');
         $cri->addCondition('t.userId=' . $uid);
         $cri->order = 'time DESC';
         $viewModel = LikeQue::model()->findAll($cri);
         $myLike = LikeQue::model()->findAll('userId=:uid', array(':uid' => Yii::app()->user->id));
         $this->render('likeQue', array('viewModel' => $viewModel, 'uid' => $uid, 'myLike' => $myLike));
     }
 }
Esempio n. 4
0
 /**
  * This is the default 'index' action that is invoked
  * when an action is not explicitly requested by users.
  */
 public function actionIndex($tab = 'new')
 {
     Yii::app()->user->setReturnUrl(Yii::app()->request->url);
     $cri = new CDbCriteria();
     switch ($tab) {
         case 'new':
             $cri->with = array('user', 'tags');
             $cri->order = 'createTime DESC';
             break;
         case 'dayHot':
             $cri->with = array('user', 'tags');
             $cri->addCondition('createTime>=NOW()-INTERVAL 1 day');
             $cri->order = 'answerCount+likeCount DESC';
             $cri->limit = 100;
             break;
         case 'weekHot':
             $cri->with = array('user', 'tags');
             $cri->addCondition('createTime>=NOW()-INTERVAL 7 day');
             $cri->order = 'answerCount+likeCount DESC';
             $cri->limit = 100;
             break;
         case 'monthHot':
             $cri->with = array('user', 'tags');
             $cri->addCondition('createTime>=NOW()-INTERVAL 30 day');
             $cri->order = 'answerCount+likeCount DESC';
             $cri->limit = 100;
             break;
         case 'unsolved':
             $cri->with = array('user', 'tags');
             $cri->addCondition('bestAnsId=0');
             $cri->order = 't.credit DESC';
             break;
         case 'all':
             $cri->with = array('user', 'tags');
             break;
     }
     $viewModel = Question::model()->findAll($cri);
     $myLike = LikeQue::model()->findAll('userId=:uid', array(':uid' => Yii::app()->user->id));
     $this->render('index', array('viewModel' => $viewModel, 'myLike' => $myLike));
 }
Esempio n. 5
0
 public function actionAll()
 {
     Yii::app()->user->setReturnUrl(Yii::app()->request->url);
     $viewModel = Question::model()->with('user', 'tags')->findAll();
     $myLike = LikeQue::model()->findAll('userId=:uid', array(':uid' => Yii::app()->user->id));
     $this->render('all', array('viewModel' => $viewModel, 'myLike' => $myLike));
 }