public function canvote($answer_id, $userid, $role) { $can = false; $answer = self::model()->findByPk($answer_id); $count = AnswerVotes::model()->countByAttributes(array('answer_id' => $answer_id, 'voted_by' => $userid, 'voted_user_type' => $role)); if ($answer->owner_id != $userid && $answer->owner_user_type != $role) { if ($count == 0) { $can = true; } } return $can; }
public function voteanswer($post) { $role = Yii::app()->user->role; $userid = Yii::app()->user->getId(); $answer_id = $post['answer_id']; $v = new AnswerVotes(); $v->answer_id = $answer_id; $v->voted_by = $userid; $v->voted_user_type = $role; if ($v->save()) { $status = true; } else { $status = false; $return['message'] = $q->getErrors(); } $answer = Answers::model()->findByPk($answer_id); $return['status'] = $status; $return['votecount'] = $answer->voteCount; $return['id'] = $answer_id; $this->renderJSON($return, $status); }