Esempio n. 1
0
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";
Esempio n. 2
0
    $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'/>" : "&nbsp;";
$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";
Esempio n. 3
0
<?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;
Esempio n. 4
0
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();
Esempio n. 5
0
        }
        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&nbsp;<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&nbsp;<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&nbsp;\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;
        }
Esempio n. 6
0
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");
Esempio n. 7
0
        }
        $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";
Esempio n. 8
0
<?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 = "&nbsp;";
$isAdmin = hasCap(CAP_SYSTEM) ? 'true' : 'false';
Esempio n. 9
0
<?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'];