Exemplo n.º 1
0
 function makeActive($id)
 {
     $polls = polls::where('id', $id)->first();
     $pollOptions = json_decode($polls->pollOptions, true);
     if (count($pollOptions) == 0) {
         return $this->panelInit->apiOutput(false, $this->panelInit->language['activatePoll'], "Poll has no options");
     }
     polls::where('pollStatus', '1')->update(array('pollStatus' => '0'));
     $polls->pollStatus = 1;
     $polls->save();
     return $this->panelInit->apiOutput(true, $this->panelInit->language['activatePoll'], $this->panelInit->language['pollActivated'], array("id" => $polls->id));
 }
Exemplo n.º 2
0
 public function savePolls()
 {
     $toReturn = array();
     $polls = polls::where('pollTarget', $this->data['users']->role)->orWhere('pollTarget', 'all')->where('pollStatus', '1')->where('id', Input::get('id'))->first();
     if (count($polls) > 0) {
         $userVoted = json_decode($polls->userVoted, true);
         if (!is_array($userVoted)) {
             $userVoted = array();
         }
         if (is_array($userVoted) and in_array($this->data['users']->id, $userVoted)) {
             return json_encode(array("jsTitle" => $this->panelInit->language['votePoll'], "jsMessage" => $this->panelInit->language['alreadyvoted']));
             exit;
         }
         $userVoted[] = $this->data['users']->id;
         $polls->userVoted = json_encode($userVoted);
         $toReturn['polls']['items'] = json_decode($polls->pollOptions, true);
         $toReturn['polls']['totalCount'] = 0;
         while (list($key, $value) = each($toReturn['polls']['items'])) {
             if ($value['title'] == Input::get('selected')) {
                 if (!isset($toReturn['polls']['items'][$key]['count'])) {
                     $toReturn['polls']['items'][$key]['count'] = 0;
                 }
                 $toReturn['polls']['items'][$key]['count']++;
             }
             if (isset($toReturn['polls']['items'][$key]['count'])) {
                 $toReturn['polls']['totalCount'] += $toReturn['polls']['items'][$key]['count'];
             }
         }
         reset($toReturn['polls']['items']);
         while (list($key, $value) = each($toReturn['polls']['items'])) {
             if (isset($toReturn['polls']['items'][$key]['count'])) {
                 $toReturn['polls']['items'][$key]['perc'] = $toReturn['polls']['items'][$key]['count'] * 100 / $toReturn['polls']['totalCount'];
             }
         }
         $polls->pollOptions = json_encode($toReturn['polls']['items']);
         $polls->save();
         $toReturn['polls']['title'] = $polls->pollTitle;
         $toReturn['polls']['id'] = $polls->id;
         $toReturn['polls']['view'] = "results";
         $toReturn['polls']['voted'] = true;
     }
     return $toReturn['polls'];
     exit;
 }