. */ include("./include/include.php"); require_once(FILESYSTEMROOTPATH."jc/include/classes/DefaultLayout.php"); require_once(FILESYSTEMROOTPATH."include/form/AbstractForm.php"); class VoteSelectForm extends AbstractForm { private $votesService; private $open, $close; public function __construct(Layout $layout, IModel $model, $votesService, $open, $close) { parent::__construct($layout, $model); $this->votesService = $votesService; $this->open = $open; $this->close = $close; } public function save(IModel $model) { $now = date('Y-m-d H:i:s'); if ($this->open==NULL || $this->open > $now){ //has been ckecked after submission in main body $this->layout->echoln('
Your vote has not been submitted: Voting has not opened yet!
'); return; } elseif($this->close== NULL || $this->close < $now){ //has been checked after submission in main body $this->layout->echoln('Your vote has not been submitted: Voting has closed!
'); return; } $model->setSubmit_date($now); $votes_left = $this->votesService->get_max_votes($model->getUid(),$model->getProposal_id(), $model->getType()); if ($votes_left > 0){ if ($this->votesService->saveOrUpdate($model)){ $success = 1; $url ='vote2.php?'.$model->getType().'_id='.$model->getProposal_id()."&msg=".$success; $this->layout->redirect($url); }else{ $this->layout->echoln('Error at saving your vote!
'); } } else{ //We will never reach this point, because " if (max_votes > 0) " in main body of page is checked after submission $this->layout->echoln('You have reached your maximum votes!
'); } } } $ns = $GLOBALS['ClassFactory']->getNotificationsService(); $layout = new DefaultLayout(Access::BOARD, "./jc/"); $layout->init(); //get ids if (isset($_GET['proposal_id'])){ $pid = $_GET['proposal_id']; $type = 'proposal'; $pService = $GLOBALS['ClassFactory']->getProposalsService(); $proposal = $pService->load($pid); $pmService = $GLOBALS['ClassFactory']->getProposals_managementService(); $pm = $pmService->loadByPID($pid, 'Plenary'); $open = $pm->getOpen(); $close = $pm->getClose(); $ns->seen($pid,'Proposal'); } elseif (isset($_GET['rollcall_id'])){ $pid = $_GET['rollcall_id']; $type = 'rollcall'; $rService = $GLOBALS['ClassFactory']->getRollcallsService(); $proposal = $rService->load($pid); $close = $proposal->getClose(); $open = $proposal->getOpen(); $ns->seen($pid,'Rollcall'); } unset($_SESSION['JC_MODULE']['Notifications']); if (isset($_GET["msg"]) && $_GET["msg"] == "1"){ $layout->echoln('Your vote has been submitted!
'); } if($open==NULL || $open > date("Y-m-d H:i:s")){ $layout->echoln('Voting has not opened yet!
'); $layout->page_footer(); } elseif($close==NULL || $close < date("Y-m-d H:i:s")){ $layout->echoln('Voting has closed!
'); $layout->page_footer(); } else{ $uid = $_SESSION['sess_uid']; $votesService = $GLOBALS['ClassFactory']->getVotesService(); $registered = $votesService->isRegistered($uid); if($registered==false){ $layout->echoln('You have not been registered!
'); $layout->page_footer(); exit(0); } $myBodyCode = $_SESSION['JC_MODULE']['BodyCode']; $myBodyName = $_SESSION['JC_MODULE']['BodyName']; $result = $votesService->get_my_votes($uid, $pid, $type); $max_votes = $result['my_votes']; $cast_votes = $result['votes_cast']; $local_delegates = $result['local_delegates']; $local_votes = $result['local_votes']; $local_votes_cast = $result['local_votes_cast']; $layout->echoln(''.$myBodyName.' has '.$local_votes.' votes and '.$local_delegates.' delegate(s).
');
if( $local_votes%$local_delegates==0 ) $layout->echoln('Each delegate can cast '.$local_votes/$local_delegates.'
'.$myBodyName.' has already cast: '.$local_votes_cast.' vote(s). You have already cast: '.$cast_votes.' vote(s).
');
$layout->echoln('Maximum amount of votes you can still cast: '.$max_votes.' vote(s)