public function run()
 {
     DB::table('votes')->delete();
     Vote::create(['user_id' => 1, 'entry_id' => 1, 'up' => true]);
     Vote::create(['user_id' => 2, 'entry_id' => 1, 'up' => true]);
     Vote::create(['user_id' => 3, 'entry_id' => 1, 'up' => true]);
     Vote::create(['user_id' => 1, 'entry_id' => 2, 'up' => true]);
     Vote::create(['user_id' => 2, 'entry_id' => 2, 'up' => true]);
     Vote::create(['user_id' => 3, 'entry_id' => 2, 'up' => true]);
     Vote::create(['user_id' => 1, 'entry_id' => 3, 'up' => true]);
     Vote::create(['user_id' => 2, 'entry_id' => 3, 'up' => true]);
     Vote::create(['user_id' => 3, 'entry_id' => 3, 'up' => true]);
     Vote::create(['user_id' => 1, 'entry_id' => 4, 'up' => true]);
     Vote::create(['user_id' => 2, 'entry_id' => 4, 'up' => true]);
     Vote::create(['user_id' => 3, 'entry_id' => 4, 'up' => true]);
     Vote::create(['user_id' => 1, 'entry_id' => 5, 'up' => true]);
     Vote::create(['user_id' => 2, 'entry_id' => 5, 'up' => true]);
     Vote::create(['user_id' => 3, 'entry_id' => 5, 'up' => true]);
     Vote::create(['user_id' => 1, 'entry_id' => 6, 'up' => true]);
     Vote::create(['user_id' => 2, 'entry_id' => 6, 'up' => true]);
     Vote::create(['user_id' => 3, 'entry_id' => 6, 'up' => true]);
     Vote::create(['user_id' => 1, 'entry_id' => 7, 'up' => true]);
     Vote::create(['user_id' => 2, 'entry_id' => 7, 'up' => true]);
     Vote::create(['user_id' => 3, 'entry_id' => 7, 'up' => true]);
     Vote::create(['user_id' => 1, 'entry_id' => 8, 'up' => true]);
     Vote::create(['user_id' => 2, 'entry_id' => 8, 'up' => true]);
     Vote::create(['user_id' => 3, 'entry_id' => 8, 'up' => true]);
 }
 public function vote_store($id)
 {
     $same = Vote::where('user_id', '=', $id)->where('login_id', '=', Auth::User()->id)->get();
     //var_dump($same);die;
     if (count($same) != 0 and $same) {
         return Redirect::back();
     } else {
         $votes = new Vote();
         $data = Input::all();
         $data['login_id'] = Auth::User()->id;
         $data['user_id'] = $id;
         $votes->create($data);
         return Redirect::intended('home');
     }
 }
Exemplo n.º 3
0
 public static function action_vote($id = null)
 {
     if (!$id) {
         if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
             return Response::error(404);
         } else {
             $id = (int) Param::post('id');
             $answers = Param::post('answers');
             $poll = Poll::get($id);
             $poll->various_answers = '0' != $poll->various_answers;
             $cookiename = 'p_' . $poll->id . '_v';
             // Si no hay respuestas o hay más de una respuesta
             if (count($answers) === 0 || !$poll->various_answers && count($answers) > 1) {
                 Redirect::to(Url::get('vote', $id, 'vote_error=true'));
             }
             if (Vote::where('voter_ip', '=', CURRENT_USER_IP)->and_where('poll_id', '=', $id)->first() || Cookie::get($cookiename)) {
                 Cookie::set($cookiename, !$poll->various_answers ? (string) $answers[0] : 'true', 360);
                 Redirect::to(Url::get('view', $poll->slug, 'poll_already_voted=true'));
             }
             Cookie::set($cookiename, !$poll->various_answers ? (string) $answers[0] : 'true', 360);
             Vote::create(array('voter_ip' => CURRENT_USER_IP, 'poll_id' => $id, 'answer_id' => !$poll->various_answers ? $answers[0] : 0));
             foreach ($answers as $answer_id) {
                 Answer::find($answer_id)->set(array('nofilter:votes' => '`votes` + 1'));
             }
             Poll::find($id)->set(array('nofilter:total_votes' => '`total_votes` + 1'));
             Redirect::to(Url::get('view', $poll->slug, 'voted=true'));
         }
     } elseif (!is_numeric($id)) {
         return Response::error(404);
     }
     $id = intval($id, 10);
     if (!($poll = Poll::get($id))) {
         return Response::error(404);
     }
     $answers = Answer::where('poll_id', '=', $poll->id)->get();
     return View::make('vote')->add_var('poll', $poll)->add_var('answers', $answers);
 }
Exemplo n.º 4
0
 private function vote_down($id, $obj)
 {
     if (Auth::check()) {
         $user_id = Auth::user()->id;
         $vote = Vote::where('user_id', $user_id)->where('obj_id', $id)->where('obj', $obj)->first();
         if ($vote) {
             if ($vote->vote == -1) {
                 return;
             }
             $vote->vote = -1;
             $vote->save();
         } else {
             Vote::create(['vote' => -1, 'obj_id' => $id, 'user_id' => $user_id, 'obj' => $obj]);
         }
         $obj = $obj::find($id);
         $obj->vote_down -= 1;
         $obj->save();
         $arr = [];
         $arr['vote_up'] = $obj->vote_up;
         $arr['vote_down'] = $obj->vote_down;
         return $arr;
     }
 }
Exemplo n.º 5
0
$votePoints = (int) $_GET['points'];
if (empty($videoID)) {
    die;
}
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
    $ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
    $ip = $_SERVER['REMOTE_ADDR'];
}
$ip = md5($ip);
$dbh = new Database();
$sth = $dbh->prepare("SELECT * FROM " . DB_PREFIX . "votes WHERE video = ? AND ip = ?");
$sth->execute(array($videoID, $ip));
$result = $sth->fetchObject();
$vote = new Vote();
$vote->ip = $ip;
$vote->video = $videoID;
$vote->vote = $votePoints;
if (empty($result)) {
    if ($votePoints == 1 || $votePoints == -1) {
        $vote->create();
    }
} else {
    if ($votePoints == 1 || $votePoints == -1) {
        $vote->save();
    } elseif ($votePoints == 0) {
        $vote->delete();
    }
}
Exemplo n.º 6
0
 /**
  * Vote to a survey
  * 
  * Request body must be an object with properties :
  *   * survey_id : identifier of the survey the vote is to be added to
  *   * answers : array of objects with properties
  *     * key : choice key
  *     * value : answer value for choice
  * 
  * @return array
  * 
  * @throws RestBadParameterException
  * @throws RestMissingParameterException
  * @throws NotFoundException
  * @throws RestNotAllowedException
  */
 public static function post()
 {
     // Get creation data
     $data = RestServer::getRequest()->input;
     if (!is_object($data)) {
         throw new RestBadParameterException('vote');
     }
     // Get related survey
     if (!property_exists($data, 'survey_id')) {
         throw new RestMissingParameterException('vote.survey_id');
     }
     $survey = Survey::fromId($data->survey_id);
     // Check permissions
     if (!$survey->can->vote) {
         throw new RestNotAllowedException('add vote to survey ' . $survey->id);
     }
     // Check if vote did not exists already
     foreach ($survey->votes as $vote) {
         if ($vote->author->is(Auth::user())) {
             throw new RestVoteAlreadyExistsException($survey);
         }
     }
     // Check if there is answers
     if (!property_exists($data, 'answers')) {
         throw new RestMissingParameterException('vote.answers');
     }
     if (!is_array($data->answers)) {
         throw new RestBadParameterException('vote.answers');
     }
     // Create the vote and add answers
     $vote = Vote::create($survey);
     foreach ($data->answers as $answer) {
         if (!is_object($answer)) {
             throw new RestBadParameterException('vote.answers[]');
         }
         if (!property_exists($answer, 'key')) {
             throw new RestMissingParameterException('vote.answers[].key');
         }
         if (!property_exists($answer, 'value')) {
             throw new RestMissingParameterException('vote.answers[].value');
         }
         $vote->addAnswer($answer->key, $answer->value);
         // throws if anything wrong
     }
     $vote->save();
     return array('path' => '/vote/' . $vote->id, 'data' => self::cast($vote));
 }