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)); } }
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)); }
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)); } }
/** * 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)); }
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)); }