Example #1
0
 public function pollRegister()
 {
     $id = Input::get('id');
     $answer_id = Input::get('poll_answer');
     $capcha = Input::get('capcha');
     $validator = Validator::make(array('id' => $id, varlang('poll-raspunsuri') => $answer_id, 'capcha' => SimpleCapcha::valid('poll', $capcha) ? 1 : null), array('id' => 'required', varlang('poll-raspunsuri') => 'required', 'capcha' => 'required'));
     $return = array('message' => '', 'error' => 0, 'html' => '');
     if ($validator->fails()) {
         $return['message'] = implode(' ', $validator->messages()->all('<p>:message</p>'));
         $return['error'] = 1;
     } else {
         $wdata = array('poll' => PollModel::getWithVotes($id), 'answer' => PollAnswerModel::join(PollModel::getTableName(), PollModel::getField('id'), '=', PollAnswerModel::getField('poll_id'))->where(PollAnswerModel::getField('poll_id'), $id)->first(), 'total_votes' => \PollVotesModel::where('poll_id', $id)->count());
         if ($wdata['poll'] && $wdata['answer']) {
             if (!PollModel::ivoted($id)) {
                 SimpleCapcha::destroy('poll');
                 $vote = new \PollVotesModel();
                 $vote->poll_id = $wdata['poll']->id;
                 $vote->answer_id = $answer_id;
                 $vote->ip = \Request::getClientIp();
                 $vote->save();
                 \Cookie::queue('voted_id_' . $wdata['poll']->id, '1', 3600);
                 $return['html'] = Template::moduleView($this->module_name, 'views.pollResults', $wdata)->render();
             } else {
                 $return['message'] = varlang('you-have-already-voted');
                 $return['error'] = 1;
             }
         } else {
             $return['message'] = varlang('poll-not-found');
             $return['error'] = 1;
         }
     }
     return $return;
 }