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)); }
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; }