public function actionCeleb() { $request = Yii::app()->request; try { $rate_height = StringHelper::filterString($request->getQuery('rate_height')); $rate_weight = StringHelper::filterString($request->getQuery('rate_weight')); $data = Celebrities::model()->recommend($rate_height, $rate_weight); // var_dump($data); die; $this->render('index', $data); } catch (Exception $ex) { // echo '<pre>'; // var_dump($ex->getTrace()); // echo '</pre>'; } }
public function actionAddCeleb() { $this->pageTitile = 'Thêm người nổi tiếng'; $request = Yii::app()->request; try { $celeb_image = UploadHelper::getUrlUploadSingleImage($_FILES['celeb_image'], 'celebs_image'); $celeb_cover = UploadHelper::getUrlUploadSingleImage($_FILES['celeb_cover'], 'celebs_cover'); $res = Celebrities::model()->addCeleb($_POST, $celeb_image, $celeb_cover); if ($res != FALSE) { Yii::app()->user->setFlash('success', 'Thêm người nổi tiếng thành công'); } else { Yii::app()->user->setFlash('error', 'Có lỗi xảy ra'); } $this->redirect(Yii::app()->createUrl('celebrity/add')); } catch (Exception $ex) { var_dump($ex->getMessage()); } }
public function recommend($rate_height, $rate_weight, $ref) { $criteria = new CDbCriteria(); $criteria->conditon = "celeb_heigt_rate = {$rate_height} AND celeb_weight_rate = {$rate_weight}"; $celebs = Celebrities::model()->findAll($criteria); if ($ref == 'api') { $count = Posts::model()->count($celebs); $pages = new CPagination($count); $pages->pageSize = Yii::app()->params['RESULT_PER_PAGE']; $pages->applyLimit($criteria); } $returnArr = array(); foreach ($celebs as $celeb) { $post_id = Posts::model()->findByAttributes(array('celeb_id' => $celeb->id)); $returnArr[] = Posts::model()->getPostById($post_id->post_id, Yii::app()->session['user_id']); } return array('data' => $returnArr, 'pages' => $pages); }
public function recommend($rate_height, $rate_weight) { $criteria = new CDbCriteria(); $criteria->condition = "t.celeb_height_rate = '" . $rate_height . "' AND t.celeb_weight_rate = '" . $rate_weight . "'"; $celebs = Celebrities::model()->findAll($criteria); $celebs_arr = array(); foreach ($celebs as $celeb) { $celebs_arr[] = $celeb->id; } // var_dump($celebs_arr); die; $returnArr = array(); $criteria_post = new CDbCriteria(); $criteria_post->addInCondition('t.celeb_id', $celebs_arr); $count = Posts::model()->count($criteria_post); $pages = new CPagination($count); $pages->validateCurrentPage = FALSE; $pages->pageSize = Yii::app()->params['RESULT_PER_PAGE']; $pages->applyLimit($criteria_post); $posts = Posts::model()->findAll($criteria_post); foreach ($posts as $post) { $returnArr[] = Posts::model()->getPostById($post->post_id, Yii::app()->session['user_id']); } return array('data' => $returnArr, 'pages' => $pages); }
public function getProfileCeleb($user_id) { $data = Celebrities::model()->findByPk($user_id); return $data; }
public function addNotificationCelebWhenAddPost($celeb_id, $post_id) { $celeb = Celebrities::model()->findByPk($celeb_id); $followers = Follow::model()->findAllByAttributes(array('user_followed' => $celeb_id, 'type' => 'CELEB')); foreach ($followers as $follower) { $arr_noti = array('user_id' => $celeb_id, 'content' => "{$celeb->celeb_name} vừa đăng một bài viết mới", 'type' => 'follow_celeb', 'recipient_id' => $follower->user_follow, 'url' => Yii::app()->createAbsoluteUrl('post/viewPost', array('post_id' => $post_id, array('ref' => 'noti')))); Notifications::model()->add($arr_noti); } }