.
*/
include("./include/include.php");
require_once(FILESYSTEMROOTPATH."jc/include/classes/DefaultLayout.php");
require_once(FILESYSTEMROOTPATH."include/list/ListPager.php");
$layout = new DefaultLayout(Access::VISITOR, "./jc/");
$layout->init();
$layout->echoln('
Aggregated Agora Attendance Statistics
');
$attendanceStatisticsService = $GLOBALS['ClassFactory']->getAttendanceStatisticsService();
$data = $attendanceStatisticsService->getAggregatedAttendanceStatistics();
$pager = new ListPager("Aggregated Agora Attendance Statistics");
$pager->addColumn(new TextColumn('percent','Percentage (%)'));
$pager->addColumn(new TextColumn('BodyName','Body'));
if($data) $layout->echoln($pager->display($data));
else $layout->echoln("No data available yet!");
/*
$layout->topPageMenu['charts']['title']="Charts & Pies";
$layout->topPageMenu['summaryPerBody']['title']="Summary Per Body";
$layout->topPageMenu['summaryPerParticipant']['title']="Summary Per Participant";
$layout->topPageMenu['detailsPerParticipant']['title']="Details Per Participant";
if (! isset( $_GET['show'] ) )$_GET['show']="charts";
$layout->topPageMenu[$_GET['show']]['selected']=true;
foreach ( $layout->topPageMenu as $show => $v ) {
$layout->topPageMenu[$show]['link']=$_SERVER['PHP_SELF']."?show=".$show;
}
$attendanceStatisticsService = $GLOBALS['ClassFactory']->getAttendanceStatisticsService();
$plenariesService = $GLOBALS['ClassFactory']->getPlenariesService();
$layout->echoln("
");
$fuzzyPlenaries = $plenariesService->getFuzzy( $_SESSION['JC_MODULE']['AgoraId'] );
if( $fuzzyPlenaries != NULL ){
$layout->echoln("The following Plenaries have been marked as fuzzy and have therefore not been included in the calculations:
");
foreach( $fuzzyPlenaries as $fuzzyPlenary ) {
$layout->echoln( $fuzzyPlenary['date'].", ".$fuzzyPlenary['number'].", ".$fuzzyPlenary['name']."
" );
}
$layout->echoln("
");
}
switch (strtolower($_GET['show'])){
case strtolower("summaryPerBody"):
$data = $attendanceStatisticsService->attendanceBodySummary( $_SESSION['JC_MODULE']['AgoraId'] );
$pager = new ListPager("Agora Attendance: Summary per Body");
$pager->addColumn(new TextColumn('BodyName', 'Body'));
$pager->addColumn(new TextColumn('minutes', 'Presence'));
$pager->addColumn(new TextColumn('total','Plenary Total'));
$pager->addColumn(new TextColumn('percentage','Percentage'));
$layout->echoln($pager->display($data));
break;
case strtolower("summaryPerParticipant"):
$data = $attendanceStatisticsService->attendanceDelegateSummary( $_SESSION['JC_MODULE']['AgoraId'] );
$pager = new ListPager("Agora Attendance: Summary per Participant");
$pager->addColumn(new TextColumn('BodyName', 'Body'));
$pager->addColumn(new TextColumn('participant','Participant'));
$pager->addColumn(new TextColumn('minutes', 'Presence'));
$pager->addColumn(new TextColumn('total','Plenary Total'));
$pager->addColumn(new TextColumn('percentage','Percentage'));
$layout->echoln($pager->display($data));
break;
case strtolower("detailsPerParticipant"):
$data = $attendanceStatisticsService->attendanceFullDetails( $_SESSION['JC_MODULE']['AgoraId'] );
$pager = new ListPager("Agora Attendance: Detailed per Participant");
$pager->addColumn(new TextColumn('BodyName', 'Body'));
$pager->addColumn(new TextColumn('participant','Participant'));
$pager->addColumn(new TextColumn('enter','Entered'));
$pager->addColumn(new TextColumn('exit','Exited'));
$pager->addColumn(new TextColumn('minutes', 'Duration'));
$pager->addColumn(new TextColumn('number','Plenary'));
$pager->addColumn(new TextColumn('name','When'));
$pager->addColumn(new TextColumn('open', 'Started'));
$pager->addColumn(new TextColumn('close', 'Finished'));
$pager->addColumn(new TextColumn('origin', 'Origin*'));
$layout->echoln($pager->display($data));
$layout->echoln("
*Origin represents the interpretation of the enter/exit data and is offered solely to cross-check that the interpretation is valid. If something is wrong, contact us!!!");
$layout->echoln("
Origin A means: The participant entered exactly when the plenary started and exited exactly when the plenary finished.");
$layout->echoln("
Origin B means: The participant entered after the plenary started, exited before the plenary finished.");
$layout->echoln("
Origin C means: The participant entered before or exactly when the plenary started, exited after or exactly when the plenary finished.");
$layout->echoln("
Origin D means: The participant entered after or exactly when the plenary started, exited after or exactly when the plenary finished.");
$layout->echoln("
Origin E means: The participant entered before the plenary started and exited before the plenary finished.");
break;
case "charts":
$layout->echoln("
coming soon...");
$layout->echoln("
Check the rest of the menus till then!");
break;
}
*/
$fuzzy = $attendanceStatisticsService->getFuzzyPlenaries();
if( $fuzzy != NULL){
$layout->echoln("
Caution: The data for the plenaries below were not collected in a proper manner and have therefore not been taken into account:");
$layout->echoln($fuzzy);
}
$layout->echoln("
How do the data get calculated?");
$layout->echoln("
The time of presence of a local in each plenary gets summed up and then divided by the total number of time of plenaries at the current Agora");
$layout->echoln("
NB: For each plenary, the time of presence of only one delegate is taken into account - that is the delegate with the highest time of presence in that plenary");
$layout->page_footer();
?>