Example #1
0
 function edit($id)
 {
     $polls = polls::find($id);
     $polls->pollTitle = Input::get('pollTitle');
     $polls->pollOptions = json_encode(Input::get('pollOptions'));
     $polls->pollTarget = Input::get('pollTarget');
     $polls->pollStatus = Input::get('pollStatus');
     $polls->save();
     return $this->panelInit->apiOutput(true, $this->panelInit->language['editPoll'], $this->panelInit->language['pollUpdated'], $polls->toArray());
 }
 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;
 }
Example #3
0
<?php

////////////////////////////////////////////////////////////////////////////////
//   Copyright (C) ReloadCMS Development Team                                 //
//   http://reloadcms.com                                                     //
//   This product released under GNU General Public License v2                //
////////////////////////////////////////////////////////////////////////////////
$polls = new polls();
$polls->openCurrentPolls();
$save_o = false;
$save_c = false;
if (!empty($_POST['remove'])) {
    if (!$polls->removePollFromArchive($_POST['remove'])) {
        rcms_showAdminMessage($polls->lasterror);
    } else {
        rcms_showAdminMessage(__('Poll removed'));
        $save_o = true;
    }
}
$polls->close($save_c, $save_o);
$poll = $polls->getArchivedPolls();
if (!empty($poll)) {
    foreach ($poll as $pollid => $polldata) {
        $frm = new InputForm('', 'post', __('Submit'));
        $frm->addbreak(__('Question') . ': ' . $polldata['q']);
        foreach ($polldata['v'] as $id => $answer) {
            $frm->addrow($polldata['c'][$id], $answer);
        }
        $frm->addrow($frm->checkbox('remove', $pollid, __('Remove poll from archive')));
        $frm->show();
    }
Example #4
0
<?php

////////////////////////////////////////////////////////////////////////////////
//   Copyright (C) ReloadCMS Development Team                                 //
//   http://reloadcms.com                                                     //
//   This product released under GNU General Public License v2                //
////////////////////////////////////////////////////////////////////////////////
$polls = new polls();
$polls->openCurrentPolls();
$save_o = false;
$save_c = false;
if (!empty($_POST['new'])) {
    if (!$polls->startPoll($_POST['poll_question'], $_POST['poll_variants'])) {
        rcms_showAdminMessage($polls->lasterror);
    } else {
        rcms_showAdminMessage(__('Poll created'));
        $save_c = true;
    }
}
if (!empty($_POST['stop'])) {
    if (!$polls->removePoll($_POST['stop'], true)) {
        rcms_showAdminMessage($polls->lasterror);
    } else {
        rcms_showAdminMessage(__('Poll stopped'));
        $save_o = true;
        $save_c = true;
    }
}
if (!empty($_POST['remove'])) {
    if (!$polls->removePoll($_POST['remove'], false)) {
        rcms_showAdminMessage($polls->lasterror);
Example #5
0
            show_error($cpolls->lasterror);
        } else {
            $cpolls->close(true, false);
        }
    }
    $result = '';
    if ($polls = $cpolls->getCurrentPolls()) {
        foreach ($polls as $poolid => $poll) {
            $poll['voted'] = $cpolls->isVotedInPoll($poolid, $_SERVER['REMOTE_ADDR']);
            $poll['id'] = $poolid;
            $result .= rcms_parse_module_template('poll.tpl', $poll);
        }
    }
    show_window(__('Poll'), $result, 'center');
} else {
    //Show Archive of Polls
    $polls = new polls();
    $polls->openCurrentPolls();
    $result = '';
    $cpolls = array_reverse($polls->getArchivedPolls());
    if (!empty($cpolls)) {
        foreach ($cpolls as $poll) {
            $poll['voted'] = true;
            $result .= rcms_parse_module_template('poll.tpl', $poll);
        }
    } else {
        $result = __('Archive poll is empty');
    }
    $system->config['pagename'] = __('Polls archive');
    show_window(__('Polls archive'), $result);
}