include_once 'navigation2.inc'; require_once 'prjMilestoneSelector2.php'; require_once 'TableBuilder.class.php'; require_once 'TaskRowFactory.class.php'; requireScribeCap($peer_id); // get group tables for a project $prj_id = 0; $prjm_id = 0; $milestone = 1; $afko = 'PRJ00'; $description = ''; extract($_SESSION); $prjSel = new PrjMilestoneSelector2($dbConn, $peer_id, $prjm_id); $prjSel->setJoin('milestone_grp using (prj_id,milestone) natural join activity_project '); $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";
$sql = "select distinct email1,email2, tutor_email, \n" . "s.roepnaam ||' '||coalesce(s.voorvoegsel,'')||' '||s.achternaam as name\n" . ", afko, description,milestone,assessment_due as due \n" . " from prj_grp pg \n" . " join student s on (s.snummer=pg.snummer) \n" . " join prj_tutor pt on(pt.prjtg_id=pg.prjtg_id) \n" . " join tutor t on(userid=tutor_id) \n" . " join prj_milestone pm on(pt.prjm_id=pm.prjm_id) \n" . " join project p on (pm.prj_id=p.prj_id)\n" . " join tutor_data td on (pt.tutor_id=td.tutor_id)" . " left join alt_email aem on (s.snummer=aem.snummer)\n" . "where s.snummer in ({$mailset}) and pm.prjm_id={$prjm_id}"; $dbConn->log($sql); formMailer($dbConn, $sql, $formsubject, $mailbody, $sender, $sender_name); } $page_opening = "These students are overdue with filling in their peer assessment forms."; $nav = new Navigation(array(), basename($PHP_SELF), $page_opening); $page = new PageContainer(); $page->addBodyComponent($nav); ob_end_clean(); if (hasCap(CAP_SYSTEM)) { $tutor_select = ""; } else { $tutor_select = " and (tutor='{$tutor}' or tutor_owner='{$tutor}') "; } ob_start(); $prjSel->setWhere("assessment_due <now() and pm.prj_milestone_open=true"); $prj_id_selector = $prjSel->getWidget(); $sqlhead = "select afko as code,pm.milestone as milstn,pt.grp_num,\n" . "s.snummer as snmailto,s.snummer,\n" . "achternaam||coalesce(', '||voorvoegsel,'') as achternaam\n" . ",roepnaam, s.snummer,pm.assessment_due as due,tutor\n"; $sqllate = "( select distinct snummer from prj_grp \n" . "natural join prj_tutor pt \n" . "join tutor t on(userid=tutor_id)\n" . "natural join prj_milestone \n" . "where written =false \n" . "and prj_milestone_open=true \n" . "and prj_grp_open=true \n" . "and assessment_due < now()::date \n" . "and prjm_id={$prjm_id})"; $sqltail = " \n" . " join milestone_open_past_due mopd on(jnr.prjtg_id=mopd.prjtg_id)" . " join prj_grp_open pgo on(pgo.prjtg_id=jnr.prjtg_id)\n" . " join student s on (jnr.snummer=s.snummer) \n" . " join prj_tutor pt on(jnr.prjtg_id=pt.prjtg_id)\n" . " join tutor t on(userid=tutor_id)\n" . " join prj_milestone pm on(pt.prjm_id=pm.prjm_id)\n" . " join project p on(p.prj_id=pm.prj_id)\n" . " where pm.prjm_id={$prjm_id}\n"; //$dbConn->log($sql); $latecountsql = "select count(*) as latecount from {$sqllate} foo"; $resultSet = $dbConn->Execute($latecountsql); if ($resultSet === false) { echo "<br>Cannot get latecount with <pre>{$latecountsql}</pre>, cause" . $dbConn->ErrorMsg() . "<br>"; stacktrace(1); die; } $latecount = $resultSet->fields['latecount']; $mailbutton = $latecount > 0 ? "<input type='submit' name='domail' value='Send Mail'/>" : " "; $sql = $sqlhead . " from \n" . "prj_grp pg \n" . "join prj_tutor pt using(prjtg_id)\n" . "join tutor t on (userid=tutor_id)\n" . "join prj_milestone pm using(prjm_id)\n" . "join project p using(prj_id)\n" . "join student s using(snummer)\n" . "where prjm_id={$prjm_id}" . " and snummer in" . $sqllate . "\n" . " order by afko,grp_num,achternaam,roepnaam";
<?php include_once './peerlib/peerutils.inc'; include_once 'navigation2.inc'; require_once 'prjMilestoneSelector2.php'; requireCap(CAP_TUTOR); extract($_SESSION); $year = date('Y'); if (date('m') < '07') { $year -= 1; } $tutor = $tutor_code; $milestone = 1; $class_ids = array(); $prjSel = new PrjMilestoneSelector2($dbConn, $peer_id, $prjm_id); $prjSel->setWhere('valid_until > now()::date')->setExtraInfo("<span style='color:#800'><p>Note that you can only select <a href='alterproject.php'>project</a>s which have a <b>valid until</b> date in the future.</p></span><br/>"); extract($prjSel->getSelectedData()); $_SESSION['prj_id'] = $prj_id; $_SESSION['prjm_id'] = $prjm_id; $_SESSION['milestone'] = $milestone; if (isset($_SESSION['prjm_id'])) { $sql = "select distinct class_id,cl.sclass as sclass \n" . "from prj_grp join student using (snummer) join prj_tutor using(prjtg_id)\n" . " join student_class cl using(class_id)\n" . "where prjm_id={$prjm_id}\n" . " order by sclass,class_id asc"; $resultSet = $dbConn->Execute($sql); if ($resultSet === false) { die("<br>Cannot get groups with \"" . $sql . '", cause ' . $dbConn->ErrorMsg() . "<br>"); } $gcount = 0; while (!$resultSet->EOF) { $sclass = $resultSet->fields['sclass']; $class_id = $resultSet->fields['class_id']; $class_ids[$gcount] = $class_id;
include_once 'navigation2.inc'; require_once 'prjMilestoneSelector2.php'; require_once 'maillists.inc.php'; if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')) { include_once 'templates/getrealbrowser.html'; exit(0); } $maillist_dir = '/home/maillists'; //$dbConn->setSqlAutoLog( $db_name <> 'peer' ); requireCap(CAP_TUTOR); $prjm_id = 0; $prj_id = 1; $milestone = 1; extract($_SESSION); $prjSel = new PrjMilestoneSelector2($dbConn, $peer_id, $prjm_id); $prjSel->setWhere(" exists (select * from prj_grp pg join prj_tutor pt on (pg.prjtg_id=pt.prjtg_id) where pt.prjm_id=pm.prjm_id)"); extract($prjSel->getSelectedData()); $_SESSION['prj_id'] = $prj_id; $_SESSION['prjm_id'] = $prjm_id; $_SESSION['milestone'] = $milestone; // unknown project? $grp_num = 1; if (isset($_POST['grp_num'])) { $_SESSION['grp_num'] = $grp_num = $_POST['grp_num']; } $isTutorOwner = checkTutorOwnerMilestone($dbConn, $prjm_id, $peer_id); // check if this is tutor_owner of this project if (isset($_POST['maillist'])) { createMaillists($dbConn, $prjm_id); } $prjm_id_selector = $prjSel->getWidget();
} return "\t<td>\n" . "\t\t<div style='font-size:80%' id='radio_{$snummer}' class='{$divClass}'>\n" . "\t\t\t<input type='radio' class='absent a{$grp_id}' name='mark_{$snummer}[]'" . " value='' {$checkedAbsent} style='vertical-align: middle' onChange='this.parentNode.className=\"absent\"'>Absent <br/>\n" . "\t\t\t<input type='radio' class='present p{$grp_id}' name='mark_{$snummer}[]'" . " value='P' {$checkedPresent} style='vertical-align: middle' onChange='this.parentNode.className=\"present\"'/>Present <br/>\n" . "\t\t\t<input type='radio' class='reason r{$grp_id}' name='mark_{$snummer}[]' " . "value='A' {$checkedReason} style='vertical-align: middle' onChange='this.parentNode.className=\"reason\"'/>Absent with reason \n" . "\t\t</div>\n\t</td>" . "\t<td class='tabledata'><textarea rows='2' cols='50' name='comment[]'>{$comment}</textarea></td>\n"; // ."\t<td class='tabledata num' $trans_title >$trans_id</td>\n"; } public function buildHeaderCell($valueArray) { return ''; } } $prjm_id = 0; $act_id = 1; extract($_SESSION); //$dbConn->setSqlAutoLog(true); $prjSel = new PrjMilestoneSelector2($dbConn, $peer_id, $prjm_id); $prjSel->setJoin(' all_project_scribe aps using(prj_id) '); $prjSel->setWhere(" {$peer_id} =aps.scribe "); extract($prjSel->getSelectedData()); $_SESSION['prj_id'] = $prj_id; $_SESSION['prjm_id'] = $prjm_id; $_SESSION['milestone'] = $milestone; if (isset($_REQUEST['act_id'])) { $_SESSION['act_id'] = $act_id = validate($_REQUEST['act_id'], 'integer', $act_id); } else { if (!defined($_SESSION['act_id'])) { // get last defined activity for project milestone $sql = "select max(act_id) as act_id from activity where prjm_id={$prjm_id}"; $rs = $dbConn->Execute($sql); if (!$rs->EOF) { extract($rs->fields); $_SESSION['act_id'] = $act_id; }
include_once './peerlib/peerutils.inc'; include_once 'navigation2.inc'; require_once './peerlib/simplequerytable.inc'; require_once 'prjMilestoneSelector2.php'; require_once 'pgrowparser.php'; require_once 'SpreadSheetWriter.php'; requireCap(CAP_TUTOR); // get group tables for a project $afko = 'PRJ00'; $prj_id = 1; $milestone = 1; $prjm_id = 0; extract($_SESSION); $prjSel = new PrjMilestoneSelector2($dbConn, $peer_id, $prjm_id); $prjSel->setWhere("has_assessment = true"); extract($prjSel->getSelectedData()); $_SESSION['prj_id'] = $prj_id; $_SESSION['prjm_id'] = $prjm_id; $_SESSION['milestone'] = $milestone; $filename = 'peerassessment_grades_' . $afko . '-' . date('Ymd'); /** * Get the grades the students received per project/milestone. */ //$prjm_id = 408; // get the number of milestones, their names and weights $sql = "select prj_id,prjm_id,milestone,milestone_name,weight from prj_milestone where prj_id={$prj_id}"; $resultSet = $dbConn->Execute($sql); $gradeColumns = array(); if ($resultSet === 0) { die("cannot get result with<pre>" . $sql . "</pre><br/> reason " . $dbConn->ErrorMsg() . "\n");
} $result .= "\t\t<td {$class} {$title}>" . $valueArray['check'] . "</td>\n"; return $result; } } // get group tables for a project $prj_id = 0; $prjm_id = 0; $milestone = 1; $afko = 'PRJ00'; $description = ''; extract($_SESSION); $prjSel = new PrjMilestoneSelector2($dbConn, $peer_id, $prjm_id); //$prjSel->setJoin('milestone_grp using (prj_id,milestone) natural join activity_project '); $prjSel->setJoin('activity_project using(prj_id) join all_project_scribe using(prj_id) '); $prjSel->setWhere(' prjm_id in (select prjm_id from activity) 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 snummer,roepnaam||coalesce(' '||voorvoegsel||' ',' ')||achternaam as name," . "datum||'#'||al.act_id||': '||short||' '||description as checktitle,\n" . "present as check, note as title,agroup as grp,act_id,photo \n" . " from act_presence_list2 al join student st using(snummer) \n" . " join portrait tp using (snummer) \n" . " left join absence_reason ar using (act_id,snummer)\n" . " where prjm_id={$prjm_id} order by achternaam,roepnaam,al.act_id\n";
<?php include_once './peerlib/peerutils.inc'; include_once 'navigation2.inc'; include_once 'openBarChart2.php'; require_once 'prjMilestoneSelector2.php'; require_once 'mailFunctions.php'; //$dbConn->setSqlAutoLog( $db_name <> 'peer' ); requireCap(CAP_TUTOR); $prjm_id = 0; $prj_id = 1; $milestone = 1; extract($_SESSION); $prjSel = new PrjMilestoneSelector2($dbConn, $peer_id, $prjm_id); $prjSel->setWhere('valid_until > now()::date'); extract($prjSel->getSelectedData()); $_SESSION['prj_id'] = $prj_id; $_SESSION['prjm_id'] = $prjm_id; $_SESSION['milestone'] = $milestone; // unknown project? $grp_num = 1; if (isset($_POST['grp_num'])) { $_SESSION['grp_num'] = $grp_num = $_POST['grp_num']; } $isTutorOwner = checkTutorOwnerMilestone($dbConn, $prjm_id, $peer_id); // check if this is tutor_owner of this project // process data groupOpener($dbConn, $prjm_id, $isTutorOwner, $_POST); $prjm_id_selector = $prjSel->getSimpleForm(); $mail_button = " "; $isAdmin = hasCap(CAP_SYSTEM) ? 'true' : 'false';
<?php include_once './peerlib/peerutils.inc'; include_once 'navigation2.inc'; require_once 'prjMilestoneSelector2.php'; require_once 'maillists.inc.php'; $maillist_dir = '/home/maillists'; //$dbConn->setSqlAutoLog( $db_name <> 'peer' ); requireCap(CAP_TUTOR); $prjm_id = 0; $prj_id = 1; $milestone = 1; extract($_SESSION); $prjSel = new PrjMilestoneSelector2($dbConn, $peer_id, $prjm_id); $prjSel->setWhere(" exists (select * from prj_grp where prjm_id=pm.prjm_id)"); extract($prjSel->getSelectedData()); $_SESSION['prj_id'] = $prj_id; $_SESSION['prjm_id'] = $prjm_id; $_SESSION['milestone'] = $milestone; // unknown project? $grp_num = 1; if (isset($_POST['grp_num'])) { $_SESSION['grp_num'] = $grp_num = $_POST['grp_num']; } $isTutorOwner = checkTutorOwnerMilestone($dbConn, $prjm_id, $peer_id); // check if this is tutor_owner of this project if (isset($_POST['maillist'])) { createMaillists($dbConn, $prjm_id); } if (isset($_POST['dup'])) { $new_prjm_id = $_POST['dup_prjm_id'];