function polls() { $model = new cms_model_polls(); global $_LANG; $do = cmsCore::getInstance()->do; //========================================================================================================================// //========================================================================================================================// if ($do == 'view') { $answer = cmsCore::request('answer', 'str', ''); $poll_id = cmsCore::request('poll_id', 'int'); if (!$answer || !$poll_id) { if (cmsCore::isAjax()) { cmsCore::jsonOutput(array('error' => true, 'text' => $_LANG['SELECT_THE_OPTION'])); } else { cmsCore::error404(); } } $poll = $model->getPoll($poll_id); if (!$poll) { cmsCore::jsonOutput(array('error' => true, 'text' => '')); } if ($model->isUserVoted($poll_id)) { cmsCore::jsonOutput(array('error' => true, 'text' => '')); } if (!cmsUser::checkCsrfToken()) { cmsCore::halt(); } $model->votePoll($poll, $answer); cmsCore::jsonOutput(array('error' => false, 'text' => $_LANG['VOTE_ACCEPTED'])); } }
function mod_polls($module_id, $cfg) { cmsCore::loadModel('polls'); $model = new cms_model_polls(); if ($cfg['poll_id'] > 0) { $poll = $model->getPoll($cfg['poll_id']); } else { $poll = $model->getPoll(0, 'RAND()'); } if (!$poll) { return false; } cmsPage::initTemplate('modules', 'mod_polls')->assign('poll', $poll)->assign('is_voted', $model->isUserVoted($poll['id']))->assign('module_id', $module_id)->assign('cfg', $cfg)->display('mod_polls.tpl'); return true; }