.
*/
include("./include/include.php");
require_once(FILESYSTEMROOTPATH."jc/include/classes/DefaultLayout.php");
require_once(FILESYSTEMROOTPATH."include/list/ListPager.php");
require_once(FILESYSTEMROOTPATH."jc/include/classes/RemainingForm.php");
$layout = new DefaultLayout(Access::VISITOR, "./jc/");
$layout->init();
$layout->echoln('Back
');
//get id if set
if (isset($_GET['pid'])){
$pid = $_GET['pid'];
$poll = $GLOBALS['ClassFactory']->getRankedVoteService()->load($pid);
if (date("Y-m-d H:i:s") < $poll->getClose()){
$layout->echoln('Ranked Voting has not closed yet!');
}
else
{
//results
$ba = $poll->getBodies_available();
$bv = $poll->getBodies_voted();
$va = $poll->getVotes_available();
$vc = $poll->getVotes_cast();
if ($ba){
$bp = sprintf('%.2f', 100 * $bv / $ba);
}else{
$bp = '0.00';
}
if ($va){
$vp = sprintf('%.2f', 100 * $vc / $va);
}else{
$vp = '0.00';
}
$layout->echoln('
Bodies Registered | '.$ba.' | ');
$layout->echoln('Bodies Voted | '.$bv.' ('.$bp.'%) |
');
$layout->echoln('Votes Available | '.$va.' |
');
$layout->echoln('Votes Cast | '.$vc.' ('.$vp.'%) |
');
$rvoService = $GLOBALS['ClassFactory']->getRankedVoteOptionsService();
$data = $rvoService->loadByRankedVote($poll->getId());
$pager = new ListPager($poll->getTitle());
$pager->addColumn(new TextColumn('rankedVoteOption', 'Option'));
$pager->addColumn(new TextColumn('ranking', 'Ranking'));
$layout->echoln($pager->display($data));
//visualize d, p
$d = json_decode($poll->getSchultze_d());
$p = json_decode($poll->getSchultze_p());
$candidate_names = array();
$d_viz = ' | ';
foreach($data as $candidate){
$d_viz .= ''.$candidate["rankedVoteOption"].' | ';
$candidate_names[] = $candidate["rankedVoteOption"];
}
$d_viz .= '
';
$C = count($data);
for($i=0;$i<$C;$i++){
$d_viz .= ''.$candidate_names[$i].' | ';
for($j=0;$j<$C;$j++){
$color = '#FFFFFF';
if ($d[$i][$j] > $d[$j][$i]){
$color = '#D0F0D0';
}elseif($d[$i][$j] < $d[$j][$i]){
$color = '#F0D0D0';
}
$d_viz .= "".$d[$i][$j].' | ';
}
$d_viz .= '
';
}
$d_viz .= '
';
$p_viz = ' | ';
foreach($data as $candidate){
$p_viz .= ''.$candidate["rankedVoteOption"].' | ';
}
$p_viz .= '
';
for($i=0;$i<$C;$i++){
$p_viz .= ''.$candidate_names[$i].' | ';
for($j=0;$j<$C;$j++){
$color = '#FFFFFF';
if ($p[$i][$j] > $p[$j][$i]){
$color = '#D0F0D0';
}elseif($p[$i][$j] < $p[$j][$i]){
$color = '#F0D0D0';
}
$p_viz .= "".$p[$i][$j].' | ';
}
$p_viz .= '
';
}
$p_viz .= '
';
$layout->echoln('
Preference Table
'.$d_viz);
$layout->echoln('
Path Strength Table
'.$p_viz);
}
$layout->echoln('
View All Ballots');
}
$layout->page_footer();
?>