示例#1
0
 public function run()
 {
     if (isset($this->model->rating)) {
         $rating = $this->model->rating;
     } else {
         $rating = Rating::getValue($this->model);
         $rating = Rating::getHtml($rating);
     }
     $model_id = get_class($this->model);
     $value = null;
     if (!Yii::app()->user->isGuest) {
         $value = Rating::model()->fetchScalarByAttributes(array('user_id' => Yii::app()->user->id, 'object_id' => $this->model->id, 'model_id' => $model_id), 'value');
     }
     $this->render('RatingWidget', array('object_id' => $this->model->id, 'user_id' => $this->model->getUserId(), 'model_id' => $model_id, 'rating' => $rating, 'value' => $value));
 }
示例#2
0
 public function actionCreate()
 {
     if (!isset($_POST['Rating'])) {
         $this->badRequest();
     }
     $rating = Rating::model()->findByAttributes(array('user_id' => Yii::app()->user->id, 'object_id' => $_POST['Rating']['object_id'], 'model_id' => $_POST['Rating']['model_id']));
     if (!$rating) {
         $rating = new Rating();
     }
     $rating->attributes = $_POST['Rating'];
     if ($rating->save()) {
         $rating = Rating::getValue($rating->model_id, $rating->object_id);
         echo Rating::getHtml($rating);
     } else {
         echo CJSON::encode(array('errors' => $rating->errors_flat_array));
     }
 }