} $subSelect = $cols . "\n from" . $join; // $dbConn->log($subSelect); } $grades = ""; $con = ''; foreach ($gradeColumns as $grade) { $grades .= $con . "subselect.{$grade},subselect.{$grade}_mul"; $con = "\n\t,"; } $sql = "select snummer,achternaam,roepnaam,voorvoegsel, afko, year, \n" . "milestone,grp_num,\"alias\",tutor,\"role\",{$grades},sw.final_grade \n" . "from prj_grp join all_prj_tutor using(prjtg_id)\n" . " join student using(snummer) \n" . " left join milestone_grade using(prjm_id,snummer)\n" . " left join student_role using (prjm_id,snummer)\n" . " left join project_roles using (prj_id,rolenum)\n" . " join ({$subSelect}) subselect using(snummer)\n" . " left join (select snummer,round(grade_weight_sum/w.weight_sum,1) \n" . " as final_grade from project_grade_weight_sum_product\n" . " cross join (select weight_sum from project_weight_sum where prj_id={$prj_id}) w where prj_id={$prj_id} ) sw using(snummer)\n" . "where prjm_id={$prjm_id} order by grp_num,achternaam,roepnaam"; $pp = array(); $dbConn->log($sql); $spreadSheetWriter = new SpreadSheetWriter($dbConn, $sql); $title = "Results for all participants in project {$afko} {$year} milestone {$milestone}"; $spreadSheetWriter->setFilename($filename)->setLinkUrl($server_url . $PHP_SELF)->setTitle($title)->setColorChangerColumn(7); //->setRowParser( new RowWithArraysParser()); $spreadSheetWriter->processRequest(); $pp['spreadSheetWidget'] = $spreadSheetWriter->getWidget(); $page = new PageContainer(); $page->setTitle('Get group tables'); $page_opening = "Group lists for project {$afko} {$description} <span style='font-size:8pt;'>prjm_id {$prjm_id} prj_id {$prj_id} milestone {$milestone} </span>"; $nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening); $nav->setInterestMap($tabInterestCount); $rainbow = new RainBow(); $pp['rtable'] = getQueryToTableChecked($dbConn, $sql, false, 7, $rainbow, -1, '', ''); $pp['selector'] = $prjSel->getSelector(); $pp['selectionDetails'] = $prjSel->getSelectionDetails(); $page->addBodyComponent($nav); $page->addHtmlFragment('templates/milestonegrades.html', $pp); $page->show();
?> <div id='navmain' style='padding:1em;'> <fieldset><legend>Select project</legend> <form method="get" name="project" action="<?php echo $PHP_SELF; ?> "> <?php echo $prj_id_selector; ?> <input type='submit' name='get' value='Get' /> <?php echo $spreadSheetWidget; ?> <?php echo $prjSel->getSelectionDetails(); ?> </form> <br/> <p>If you select <b>comma ',' separated</b> file in the menu, this page will produce a file fit for Auto Multiple Choice use, a.k.a. a Latex exam.</p> </div> </fieldset> <div align='left' style='margin:0 10ex 0 10ex'> <?php echo simpletable($dbConn, $sql, "<table summary='candidates' style='border-collapse:collapse' border='1'>"); ?> </div> </body> </html> <?php
$prjSel->setJoin(' all_project_scribe using(prj_id) '); $prjSel->setWhere(' prj_id in (select prj_id from project_task) and ' . $peer_id . '=scribe'); extract($prjSel->getSelectedData()); $_SESSION['prj_id'] = $prj_id; $_SESSION['prjm_id'] = $prjm_id; $_SESSION['milestone'] = $milestone; $filename = 'presencelist_' . $afko . '-' . date('Ymd') . '.csv'; $csvout = 'N'; $csvout_checked = ''; if (isset($_REQUEST['csvout'])) { $csvout = $_REQUEST['csvout']; $csvout_checked = $csvout == 'Y' ? 'checked' : ''; } //pagehead2("Presence list to $afko $year $description");//,$scripts); $prj_id_selector = $prjSel->getSelector(); $selection_details = $prjSel->getSelectionDetails(); $sql = "select st.snummer,roepnaam||coalesce(' '||voorvoegsel||' ',' ')||achternaam as name," . " '#'||task_number||': '||apt.afko||': '||apt.description as checktitle,\n" . " pt.name as task_name,\n" . " coalesce(grade::text,mark) as check, ptc.comment as title,photo,grp_num \n" . " from prj_grp join all_prj_tutor apt using(prjtg_id)\n" . " natural join student st \n" . " join portrait tp using (snummer) \n" . " join project_task pt using(prj_id)\n" . " left join project_task_completed_latest ptc using(snummer,task_id)\n" . " where prj_id={$prj_id} \n" . " order by grp_num,achternaam,roepnaam, task_number\n"; $dbConn->log($sql); $page = new PageContainer(); include 'js/balloonscript.php'; $page->setTitle('Overview of tasks completed'); $page->addHeadComponent(new Component("<style type='text/css'>\n *.notered { \n\tbackground-image:url('images/redNote.png');\n }\n *.notegreen { \n\tbackground-image:url('images/greenNote.png');\n }\n *.noteblue { \n\tbackground-image:url('images/blueNote.png');\n }\n </style>")); $page_opening = "Task completed list for project {$afko} {$description} prj_id {$prj_id}"; $nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening); $page->addBodyComponent($nav); $tableBuilder = new TableBuilder($dbConn, new TaskRowFactory()); $task_table = $tableBuilder->getTable($sql, 'snummer'); $templatefile = 'templates/taskoverview.html'; $template_text = file_get_contents($templatefile, true); $text = ''; if ($template_text === false) {
$spreadSheetWriter->setFilename($filename)->setLinkUrl($server_url . $PHP_SELF . '?class_id=' . $class_id)->setTitle($title)->setAutoZebra(true)->setWeights(array(1, 2, 3, 4))->setFirstWeightsColumn(2)->setWeightSumsColumn(9)->setRowParser(new RowWithArraysPreHeadersParser(array('contestant', 'name', criteriaShortAsArray($criteria, 'en'), 'multiplier', 'tutorg'))); $spreadSheetWriter->processRequest(); $scripts = '<script type="text/javascript" src="js/jquery.js"></script> <script src="js/jquery.tablesorter.js"></script> <script type="text/javascript"> $(document).ready(function() { // do stuff when DOM is ready $("#groupresult").tablesorter({ }); }); </script> <link rel=\'stylesheet\' type=\'text/css\' href=\'' . SITEROOT . '/style/tablesorterstyle.css\'/> '; pagehead2('groupresult', $scripts); $prj_id_selector = $prjSel->getSelector(); $prj_data = $prjSel->getSelectionDetails(); extract($prjSel->getSelectedData()); $grpList = '<select name="prjtg_id" onchange="submit()">' . "\n"; $grpList .= getOptionList($dbConn, "select distinct grp_num||' ('||tutor||')'||coalesce(': '||alias ,'')" . "||' (#'||prjtg_id||')' as name,\n" . " prjtg_id as value,case when prj_tutor_open=true then 'background:#fee' else 'font-weight:bold;background:#efe' end as style,grp_num\n" . " from all_prj_tutor \n" . " where prjm_id={$prjm_id} order by grp_num ", $prjtg_id); $grpList .= "\n</select>\n"; $page_opening = "Group results for {$afko} \"{$description}\" {$year} prj_id {$prj_id} mil {$milestone} ({$prjm_id})"; $nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening); $nav->setInterestMap($tabInterestCount); $prj_widget = $prjSel->getWidget(); $spreadSheetWidget = $spreadSheetWriter->getWidget(); $remarkList = remarkList($dbConn, $prjtg_id); echo $nav->show(); ?> <div id='navmain' style='padding:1em;'> <?php echo $prj_widget;