. */ 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(); ?>