.
*/
include("./include/include.php");
require_once(FILESYSTEMROOTPATH."jc/include/classes/DefaultLayout.php");
require_once(FILESYSTEMROOTPATH."include/form/AbstractForm.php");
require_once(FILESYSTEMROOTPATH."jc/include/classes/RemainingForm.php");
require_once(FILESYSTEMROOTPATH."include/list/ListPager.php");
class TicketForm extends RemainingForm {
public function __construct(Layout $layout, IModel $model) {
parent::__construct($layout, $model,'ticketForm');
}
public function save(IModel $model)
{
$this->layout->echoln('
');
$bService = $GLOBALS['ClassFactory']->getBallotsService();
$cService = $GLOBALS['ClassFactory']->getCandidatesService();
$eService = $GLOBALS['ClassFactory']->getElectionsService();
$ballots = $bService->loadByTicket($model->getTicket());
if (empty($ballots)){
$this->layout->echoln('This voting ticket is invalid!');
return;
}
$election_id = $ballots[0]['election_id'];
$election = $eService->load($election_id);
//list of candidates
$candidates = $GLOBALS['ClassFactory']->getCandidatesService()->loadbyElection($election_id);
foreach ($candidates as $c)
{
$c['check']='';
foreach($ballots as $b)
{
if ($c['id'] == $b['candidate_id']){
$c['check']='';
break;
}
}
$candidates[$c['id']]['check']=$c['check'];
}
$pager = new ListPager($election->getPosition());
$pager->addColumn(new TextColumn('check', 'Vote'));
$pager->addColumn(new TextColumn('name', 'Name'));
$pager->addColumn(new TextColumn('surname', 'Surname'));
$this->layout->echoln($pager->display($candidates));
}
}
$layout = new DefaultLayout(Access::BOARD, "./jc/");
$layout->init();
$bService = $GLOBALS['ClassFactory']->getBallotsService();
$ballot = new Ballots('');
$form = new TicketForm($layout, $ballot);
$tf = new TextField('ticket', 'Voting Ticket');
$tf->setCompulsory(true);
$form->addField($tf);
$form->setSubmitText('Submit');
$form->display();
$layout->page_footer();
?>