Esempio n. 1
0
<?php

/* $Id: activeprojects.php 1761 2014-05-24 13:17:31Z hom $ */
include_once './peerlib/peerutils.inc';
include_once './peerlib/makeinput.inc';
include_once 'tutorhelper.inc';
include_once 'navigation2.inc';
require_once './peerlib/SimpleTableFormatter.php';
$page_opening = "Active projects and websites";
$page = new PageContainer();
$page->setTitle('Set peer roles in projects');
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
$nav->setInterestMap($tabInterestCount);
ob_start();
tutorHelper($dbConn, $isTutor);
$page->addBodyComponent(new Component(ob_get_clean()));
$page->addBodyComponent($nav);
$css = '<link rel=\'stylesheet\' type=\'text/css\' href=\'' . SITEROOT . '/style/tablesorterstyle.css\'/>';
$page->addScriptResource('js/jquery.js');
$page->addScriptResource('js/jquery.tablesorter.js');
$page->addHeadText($css);
$page->addJqueryFragment('$("#myTable").tablesorter({widgets: [\'zebra\']});');
$sql = "select distinct prj_id,milestone,afko,year,grp_num,tutor,rtrim(alias) as alias,long_name,productname,\n" . "  pg.snummer as gm_snumber,roepnaam||coalesce(' '||voorvoegsel||' ',' ')||achternaam as gm_name,rtrim(email1) as gm_email,\n" . "  '<a href='''||website||''' target=''_blank''>'||website||'</a>' as website," . "'<a href='''||youtube_link||''' target=''_blank''>'||youtube_link||'</a>' as youtube_link \n" . "from prj_grp pg join all_prj_tutor_y apt join grp_alias using (prjtg_id) using(prjtg_id)\n" . " join student_role sr on  (sr.prjm_id=apt.prjm_id and pg.snummer=sr.snummer and rolenum=1)\n" . " join student s on(pg.snummer=s.snummer)\n" . "where website notnull\n" . " and now()::date < valid_until\n" . " order by year desc,afko,milestone desc,grp_num";
$pp = array();
$tableFormatter = new SimpleTableFormatter($dbConn, $sql, $page);
$tableFormatter->setCheckName('studenten[]');
//$tableFormatter->setCheckColumn( 0 );
$tableFormatter->setTabledef("<table id='myTable' class='tablesorter' summary='your requested data'" . " style='empty-cells:show;border-collapse:collapse' border='1'>");
$pp['tab'] = $tableFormatter->getTable();
$page->addHtmlFragment('templates/activeprojects.html', $pp);
$page->show();
Esempio n. 2
0
    $_SESSION['hourcode'] = $hourcode = validate($_REQUEST['hourcode'], 'integer', 1);
}
// get project data
$sql = "select * from project where prj_id={$presence_prj_id}";
$resultSet = $dbConn->Execute($sql);
if ($resultSet == false) {
    die("<br>Cannot get project data with <pre>{$sql}</pre> cause" . $dbConn->ErrorMsg() . "<br>");
}
extract($resultSet->fields);
if (isset($_REQUEST['personal_presence'])) {
    $_SESSION['personal_presence'] = $personal_presence = $_REQUEST['personal_presence'] == 'Y' ? 'Y' : 'N';
}
if ($personal_presence == 'Y') {
    $page_opening = "Presence of {$roepnaam} {$voorvoegsel} {$achternaam}, <span style='font-size:6pt;'>({$snummer})</span>";
} else {
    $page_opening = "Student presence for participants of module {$presence_prj_id}  {$afko}, {$year} {$description}";
}
$page = new PageContainer();
$page->setTitle('Presence during fontys timetable hours');
$page_opening = "Presence of {$roepnaam} {$voorvoegsel} {$achternaam} ({$snummer})";
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
$nav->setInterestMap($tabInterestCount);
$nav->addLeftNavText(file_get_contents('news.html'));
ob_start();
tutorHelper($dbConn, $isTutor);
$page->addBodyComponent(new Component(ob_get_clean()));
$page->addBodyComponent($nav);
ob_start();
include_once 'presence1.php';
$page->addBodyComponent(new Component(ob_get_clean()));
$page->show();
Esempio n. 3
0
    }
    $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();
Esempio n. 4
0
<?php

/**
 * The simple table editor for the tutor
 * @author Pieter van den Hombergh
 * $Id: bigface_settings.php 1723 2014-01-03 08:34:59Z hom $
 */
include_once "ste.php";
$page = new PageContainer();
$page->setTitle("Bigface settings  on DB " . $db_name);
$ste = new SimpleTableEditor($dbConn, $page);
$ste->setFormAction($PHP_SELF)->setRelation('bigface_settings')->setMenuName('bigface_settings')->setKeyColumns(array('bfkey'))->setNameExpression("rtrim(bfkey)")->setListRowTemplate(array('bfkey', 'bfvalue', 'comment'))->setOrderList(array('bfkey'))->setFormTemplate('templates/bigface_settings.html')->show();
Esempio n. 5
0
<?php

require_once './peerlib/peerutils.inc';
require_once 'component.inc';
$page = new PageContainer();
$html = new HtmlContainer('<html>');
$page->setTitle('Welcome to peerweb');
$page->setBodyTag("<body id='body'>");
$navtop = new HtmlContainer("<div id='navtop' class='navopening'>");
$navtop->add(new Component('<h1>Hello World</h1>'));
$navmid = new HtmlContainer("<div id='navmid'>");
$navcol = new HtmlContainer("<div id='navcol' class='navcol'>");
// force page log
$dbConn->Execute("bogus sql");
$navcol->add(new Component("<table class='navcol'>\n\t\t\t    <tr><th class='navcol'><img src='" . IMAGEROOT . "/filter.png' alt=''>Link1</th></tr>\n\t\t\t    <tr><td class='navcol selected'><img src='" . IMAGEROOT . "/attach.gif' alt=''>Link1</td></tr>\n\t\t\t    <tr><td class='navcol'><img src='" . IMAGEROOT . "/editcut.gif' alt=''>Link1</td></tr>\n</table>"));
// test if can add som more to navcol after adding navcol to parent.
$navcol->add($gif1 = new Component("<img src='" . IMAGEROOT . "/fireworks015.gif' alt=''>"));
$navmid->add($navcol);
$navcol->add($gif2 = new Component("<img src='" . IMAGEROOT . "/fireworks015.gif' alt='' style='background:black;'>"));
$navmain = new HtmlContainer("<div id='navmain' class='navmain'>");
$navmain->add(new Component("<h1 class='normal'>Main</h1>"));
$navmain->add(new Component("\n<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent\ntempor. Nulla vel tortor. Suspendisse tristique viverra urna. Proin tristique\nsuscipit magna. Donec ut elit. Quisque ligula enim, sollicitudin vel, mollis\nquis, tincidunt sit amet, enim. Maecenas elit. Sed viverra leo at\npede. Phasellus vestibulum semper tellus. Ut facilisis. Fusce sed odio. </p>\n"));
$navmain->add(new Component("\n<p>Duis auctor massa sed turpis. Ut hendrerit urna. Sed vitae leo et neque\nelementum varius. Aenean ac nunc. Nulla congue. Praesent turpis nulla, tempus\nvitae, rutrum quis, pellentesque a, orci. Vestibulum placerat pellentesque\nmi. Vivamus cursus sapien nec nunc. Cras dolor lectus, vestibulum vel,\nimperdiet at, lobortis eu, mi. Pellentesque a libero. Sed ornare. Integer\nfeugiat luctus ipsum. Nulla ante. </p>\n<h2>Factum est</h2>\n<p>Sed vestibulum ullamcorper justo. Etiam eu sapien. Proin elit magna, varius\nquis, faucibus a, congue sit amet, mi. Nam accumsan justo sed sem. Vestibulum\nnibh ipsum, laoreet et, congue eget, posuere quis, lacus. Vivamus neque tellus,\nconvallis sit amet, rhoncus ac, accumsan et, nulla. Vestibulum eu\nsapien. Praesent eu massa at neque molestie porta. Nullam turpis. Nullam\nbibendum quam vitae enim. Suspendisse ligula turpis, mollis at, consectetuer\nsit amet, venenatis eu, dolor. Maecenas eu augue. Praesent vitae mauris. Proin\nrhoncus tincidunt eros. </p>\n \n<h3>Platea dictumst</h3>\n<p>In hac habitasse platea dictumst. In adipiscing justo eget lacus. Ut eget lacus\nquis purus posuere porttitor. In pretium. Etiam vulputate elit non purus. Donec\nac lacus et lectus ultricies cursus. Quisque erat turpis, blandit nec, nonummy\neu, auctor ornare, justo. Cras adipiscing pulvinar eros. Nullam dolor metus,\nsuscipit nec, ullamcorper id, posuere ut, wisi. Donec justo mauris, scelerisque\nid, feugiat eu, dictum ut, lacus. Nunc orci lectus, laoreet placerat, nonummy\neuismod, rhoncus in, tellus. Aenean feugiat est vel purus. Fusce tempor. Sed\naugue. </p>\n\nPellentesque malesuada arcu lacinia dui. Nunc feugiat ligula eget magna. Proin\nvarius. Duis eget quam. Ut non nibh. Nam a felis. Class aptent taciti sociosqu\nad litora torquent per conubia nostra, per inceptos hymenaeos. Cras quis metus\nin sapien tempor dignissim. Quisque id metus. Sed sed tellus et metus lacinia\nultricies. Fusce venenatis diam sed augue. Nunc libero diam, consequat in,\nplacerat et, rhoncus eu, tellus. Nullam mattis ultricies velit. Donec at nisl a\nmauris vulputate accumsan. Suspendisse non lorem. \n<p>Duis auctor massa sed turpis. Ut hendrerit urna. Sed vitae leo et neque\nelementum varius. Aenean ac nunc. Nulla congue. Praesent turpis nulla, tempus\nvitae, rutrum quis, pellentesque a, orci. Vestibulum placerat pellentesque\nmi. Vivamus cursus sapien nec nunc. Cras dolor lectus, vestibulum vel,\nimperdiet at, lobortis eu, mi. Pellentesque a libero. Sed ornare. Integer\nfeugiat luctus ipsum. Nulla ante. </p>\n<h2>Factum est</h2>\n<p>Sed vestibulum ullamcorper justo. Etiam eu sapien. Proin elit magna, varius\nquis, faucibus a, congue sit amet, mi. Nam accumsan justo sed sem. Vestibulum\nnibh ipsum, laoreet et, congue eget, posuere quis, lacus. Vivamus neque tellus,\nconvallis sit amet, rhoncus ac, accumsan et, nulla. Vestibulum eu\nsapien. Praesent eu massa at neque molestie porta. Nullam turpis. Nullam\nbibendum quam vitae enim. Suspendisse ligula turpis, mollis at, consectetuer\nsit amet, venenatis eu, dolor. Maecenas eu augue. Praesent vitae mauris. Proin\nrhoncus tincidunt eros. </p>\n \n<h3>Platea dictumst</h3>\n<p>In hac habitasse platea dictumst. In adipiscing justo eget lacus. Ut eget lacus\nquis purus posuere porttitor. In pretium. Etiam vulputate elit non purus. Donec\nac lacus et lectus ultricies cursus. Quisque erat turpis, blandit nec, nonummy\neu, auctor ornare, justo. Cras adipiscing pulvinar eros. Nullam dolor metus,\nsuscipit nec, ullamcorper id, posuere ut, wisi. Donec justo mauris, scelerisque\nid, feugiat eu, dictum ut, lacus. Nunc orci lectus, laoreet placerat, nonummy\neuismod, rhoncus in, tellus. Aenean feugiat est vel purus. Fusce tempor. Sed\naugue. </p>\n\nPellentesque malesuada arcu lacinia dui. Nunc feugiat ligula eget magna. Proin\nvarius. Duis eget quam. Ut non nibh. Nam a felis. Class aptent taciti sociosqu\nad litora torquent per conubia nostra, per inceptos hymenaeos. Cras quis metus\nin sapien tempor dignissim. Quisque id metus. Sed sed tellus et metus lacinia\nultricies. Fusce venenatis diam sed augue. Nunc libero diam, consequat in,\nplacerat et, rhoncus eu, tellus. Nullam mattis ultricies velit. Donec at nisl a\nmauris vulputate accumsan. Suspendisse non lorem. \n"));
$navmid->add($navmain);
$page->addBodyComponent($navtop);
$page->addBodyComponent($navmid);
$page->show();
Esempio n. 6
0
$_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) {
    $text = "<strong>cannot read template file {$templatefile}</strong>";
} else {
    eval("\$text = \"{$template_text}\";");
}
$page->addBodyComponent(new Component($text));
Esempio n. 7
0
$sql = "SELECT roepnaam, voorvoegsel,achternaam,lang,email1,email2 FROM student left join alt_email using(snummer) WHERE snummer={$snummer}";
$resultSet = $dbConn->Execute($sql);
if ($resultSet === false) {
    die('Error: ' . $dbConn->ErrorMsg() . ' with ' . $sql);
}
$lang = strtolower($resultSet->fields['lang']);
$email1 = $resultSet->fields['email1'];
if (isset($resultSet->fields['email2'])) {
    $email2 = $resultSet->fields['email2'];
} else {
    $email2 = '';
}
extract($resultSet->fields, EXTR_PREFIX_ALL, 'stud');
$page_opening = "The project tasks of {$roepnaam} {$voorvoegsel} {$achternaam} ({$snummer})";
$page = new PageContainer();
$page->setTitle('Project tasks');
$nav = new Navigation($navtable, basename($PHP_SELF), $page_opening);
$nav->setInterestMap($tabInterestCount);
$nav->addLeftNavText(file_get_contents('news.html'));
ob_start();
tutorHelper($dbConn, $isTutor);
$page->addBodyComponent(new Component(ob_get_clean()));
$page->addBodyComponent($nav);
ob_start();
?>
<div id="content">
  <div style='padding: 2em;'>
    <h2 class='normal'>Defined project task defined by you</h2>
    <fieldset><legend>My defined tasks</legend>
      <p>Each user in this application can use a personal task timer. This task timer can be used to record time spent on
        tasks. To use the task timers you must define at least one task. The personal tasks are visible only to you. Task time 
Esempio n. 8
0
            $mil = $i + 1;
            $sql .= "update prj_milestone set assessment_due='{$assessment_due}' where prj_id={$prj_id} and milestone={$mil};\n";
        }
        $sql .= "commit";
        $resultSet = $dbConn->Execute($sql);
        if ($resultSet === false) {
            echo "<br>Cannot update milestone values with " . $sql . " reason " . $dbConn->ErrorMsg() . "<br>";
        }
    }
}
$prj_id = isset($_SESSION['prj_id']) ? $_SESSION['prj_id'] : -1;
extract(getTutorOwnerData($dbConn, $prj_id));
$_SESSION['prj_id'] = $prj_id;
$isTutorOwner = $tutor == $tutor_code;
$page = new PageContainer();
$page->setTitle('Define the number of assessments (milestones) in the project.');
$page_opening = "Define the number of assessments (milestones) in the project. <font style='font-size:6pt;'>prj_id {$prj_id}</font>\n";
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
$form1 = new HtmlContainer("<fieldset id='form1'><legend><b>Project milestones.</b></legend>");
$form1->addText("After you determined the number of milestones, select the due dates. (Defaults are 14 days from now).");
$form1Form = new HtmlContainer("<form id='project' method='post' name='project' action='{$PHP_SELF}'>");
// ."<!--<input type='submit' name='bsubmit' value='Get'>-->";
//if ($isTutorOwner) {
$submit_button = "<button type='submit' name='bsubmit' value='Update'>Update</button>";
// } else {
//  $submit_button ='';
// }
$project_selector = getProjectSelector($dbConn, $peer_id, $prj_id);
$templatefile = 'templates/defmilestoneform1.html.inc';
$template_text = file_get_contents($templatefile, true);
if ($template_text === false) {
Esempio n. 9
0
$criteria = criteriaShortAsArray(getCriteria($prjm_id), 'en');
$criteria[] = 'Overall';
$sql = "select prjtg_id,tutor_grade from prj_tutor where prjm_id={$prjm_id}";
$sql2 = "";
$resultSet = $dbConn->Execute($sql);
$con = " ";
while (!$resultSet->EOF) {
    extract($resultSet->fields);
    $sql2 .= $con . " select * from assessment_grade_set({$prjtg_id},{$tutor_grade})\n";
    $con = "union\n\t";
    $resultSet->moveNext();
}
//echo "<pre>$sql2</pre>\n";
$sql = "select s.snummer,achternaam,roepnaam,voorvoegsel,gebdat,grp_num,coalesce(mg.grade,tutor_grade) as group_grade," . "ags.grade,\n" . "ags.multiplier,ags.multiplier[array_upper(ags.multiplier,1)] as final_mult," . "ags.grade[array_upper(ags.grade,1)] as peers_grade,tutor,mg.grade as final_tutor_grade,operator,date_trunc('second',ts) as trans_time\n" . " from  \n" . " prj_grp \n " . " join all_prj_tutor using(prjtg_id) \n" . " join student s using(snummer)\n " . "left join ({$sql2}) ags using(prjtg_id,snummer)\n" . " left join milestone_grade mg using(snummer,prjm_id) left join transaction using(trans_id)\n" . " where prjm_id={$prjm_id} order by grp_num,achternaam";
$spreadSheetWriter = new SpreadSheetWriter($dbConn, $sql);
$title = "Results for all peer assessment groups in project {$afko} {$year} milestone {$milestone}";
$spreadSheetWriter->setFilename($filename)->setLinkUrl($server_url . $PHP_SELF)->setTitle($title)->setColorChangerColumn(5)->setRowParser(new RowWithArraysParser());
$spreadSheetWriter->processRequest();
$pp['spreadSheetWidget'] = $spreadSheetWriter->getWidget();
$pp['projectSelector'] = $prjSel->getSelector();
$pp['selectionDetails'] = $prjSel->getSelectionDetails();
$page = new PageContainer();
$page->setTitle('All group tables');
$page_opening = "Group peer assessment results for all groups of 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, 5, $rainbow, -1, '', '');
$page->addBodyComponent($nav);
$page->addHtmlFragment('templates/allgroupresult.html', $pp);
$page->show();
Esempio n. 10
0
ob_start();
tutorHelper($dbConn, $isTutor);
$tutor_Helper = ob_get_clean();
$prjSel = new StudentMilestoneSelector($dbConn, $judge, $prjtg_id);
$prjSel->setExtraConstraint(" and prjtg_id in (select distinct prjtg_id from assessment) and " . " (pr.capabilities &" . CAP_READ_PEER_ASSESSMENT_DATA . ") <> 0");
$prjSel->setEmptySelectorResult("<h1>There are no projects of which you may view the peer results</h1>");
extract($prjSel->getSelectedData());
$_SESSION['prjm_id'] = $prjm_id;
$_SESSION['prjtg_id'] = $prjtg_id;
$studentMayRead = hasStudentCap($snummer, CAP_READ_PEER_ASSESSMENT_DATA, $prjm_id);
$pp['prjList'] = $prjList = $prjSel->getWidget();
$page = new PageContainer();
// now test if student is allowed
if (!$studentMayRead) {
    $page_opening = 'You cannot view the results for this project and group';
    $page->setTitle($page_opening);
    $page->addBodyComponent(new Component($tutor_Helper));
    $nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
    $page->addBodyComponent($nav);
    $page->addHtmlFragment('templates/studentgroupresult_noaccess.html', $pp);
    $page->show();
    exit(0);
}
if (isset($_REQUEST['productgrade'])) {
    $tmpnum = preg_replace('/,/', '.', $_REQUEST['productgrade']);
    if (preg_match("/^\\d{1,2}(\\.?\\d*)?\$/", $tmpnum)) {
        $productgrade = $tmpnum;
    }
}
$page_opening = "Group assessment results viewable by {$roepnaam} {$voorvoegsel} {$achternaam} ({$snummer}) for <i>average group grade</i> {$productgrade}";
$page->setTitle('Results for all students in a group');
Esempio n. 11
0
/**
 * The simple table editor for the table menu. Menu is one of the tables that support
 * the simple table editor.
 *
 * @package prafda2
 * @author Pieter van den Hombergh
 * $Id: literature.php 1723 2014-01-03 08:34:59Z hom $
 */
include_once "peerutils.inc";
include_once 'navigation2.inc';
include_once "utils.inc";
include_once "ste.php";
$navTitle = "Course literature" . $PHP_SELF . " on DB " . $db_name;
$page = new PageContainer();
$page->setTitle('Literature');
$ste = new SimpleTableEditor($dbConn, $page);
$ste->setFormAction($PHP_SELF);
$ste->setRelation('literature');
$ste->setMenuName('literature');
$ste->setKeyColumns(array('literature_id'));
$ste->setNameExpression("rtrim(menu_name,' ')||', '||rtrim(column_name,' ')");
$ste->setOrderList(array('literature_code'));
$ste->setFormTemplate('templates/literature.html');
$page_opening = "Literature for all courses";
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
$page->addBodyComponent($nav);
$ste->render();
$page->addBodyComponent(new Component('<!-- db_name=$db_name $Id: literature.php 1723 2014-01-03 08:34:59Z hom $ -->'));
$page->show();
?>
Esempio n. 12
0
<?php

include_once './peerlib/peerutils.inc';
require_once 'component.inc';
$page = new PageContainer();
$page->setTitle('Critique history');
$page->addHeadComponent(new Component("<script type='text/javascript'>\n" . "/*\n" . " * refresh parent page on close\n" . " */\n" . "function bye(){ \n" . "   opener.focus();\n" . "   self.close();\n" . "}\n" . "</script>"));
$page->addHeadComponent(new Component("<link rel='stylesheet' type='text/css' href='{$root_url}/style/newdivstyle.css'/>"));
$page->addHeadComponent(new Component("<style type='text/css'>\n" . " p {text-align: justify;}\n" . " p:first-letter {font-size:180%; font-family: script;font-weight:bold; color:#800;}\n" . " </style>"));
$maindiv = new HtmlContainer("<div id='main'>");
$page->addBodyComponent($maindiv);
if (isset($_REQUEST['critique_id'])) {
    $critique_id = validate($_REQUEST['critique_id'], 'integer', 1);
    $maindiv->addText("<div class='navopening'><h1>Critique history of critique {$critique_id} <button onClick='javascript:bye()'>Close</button></h1></div>");
    $sql = "select distinct critiquer, roepnaam,voorvoegsel,achternaam,critique_id,id,\n" . "date_trunc('seconds',ch.edit_time) as critique_time,ch.critique_text as critique_text,\n" . "afko,year,apt.grp_num as critiquer_grp\n" . "from document_critique dcr\n" . "join critique_history ch using(critique_id)\n" . "join student st on (dcr.critiquer=st.snummer)\n" . "join uploads u on(dcr.doc_id=u.upload_id)\n" . "join all_prj_tutor apt on(u.prjtg_id=apt.prjtg_id) where critique_id={$critique_id}\n" . "order by id desc";
    $resultSet = $dbConn->Execute($sql);
    if ($resultSet === false) {
        die('Error: ' . $dbConn->ErrorMsg() . ' with ' . $sql);
    }
    $table_div = new HtmlContainer("<div id='tablediv' style='padding: 0 2em 0 2em'>");
    $table = new HtmlContainer("<table id='critique_table' class='layout' style='padding:0;margin:0;'");
    $table_div->add($table);
    $maindiv->add($table_div);
    while (!$resultSet->EOF) {
        extract($resultSet->fields);
        $table->add(new Component("<tr><td>\n" . "\t<div class='critique' style='background:#ffffe0;'>\n" . "\t<fieldset style='margin: .2em border:2;'>\n" . "\t\t<legend>Critique {$critique_id} by {$roepnaam} {$voorvoegsel} {$achternaam} ({$critiquer})&nbsp;</legend>\n" . "\t\t\t<table class='layout'>\n" . "\t\t\t\t<tr><td>Group</td><th align='left'>{$critiquer_grp} ({$afko} {$year}) </th></tr>\n" . "\t\t\t\t<tr><td>Critique time</td><th align='left'> {$critique_time}</th></tr>\n" . "\t\t\t</table>\n" . "{$critique_text}\n" . "\t</fieldset>\n" . "\t</div>\n" . "</td></tr>"));
        $resultSet->MoveNext();
    }
}
$page->show();
Esempio n. 13
0
    $description = pg_escape_string($_POST['description']);
    $sql = "update personal_repos set description='{$description}' where id={$fileNr}";
    $resultSet = $dbConn->Execute($sql);
    if (!$resultSet->EOF) {
        $dbConn->log("could not save description with sql " . $sql);
    }
    $dbConn->log("saved {$description}");
}
$pp = array();
$sql = "select repospath,description,id as fileNr from personal_repos where owner={$snummer} and id={$fileNr}\n";
$resultSet = $dbConn->Execute($sql);
if (!$resultSet->EOF) {
    $pp = array_merge($pp, $resultSet->fields);
    $description = stripslashes($description);
}
//pagehead('Edit Subversion repositories');
$page = new PageContainer();
$page->addHeadText('<script type="text/javascript">
function closeAction() {
    document.edit_form.action = "isubversionrepos.php";
    return true;
}
</script>
  ');
$page->setTitle('Edit Subversion repositories');
$page_opening = "Edit Subversion repositories for {$roepnaam} {$voorvoegsel} {$achternaam} ({$snummer})";
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
$nav->setInterestMap($tabInterestCount);
$page->addBodyComponent($nav);
$page->addHtmlFragment('templates/svneditor.html', $pp);
$page->show();
Esempio n. 14
0
    } else {
        echo 'Email address ' . $adr . " has an invalid format.<br/>\n";
    }
    return false;
}
//$snummer=$peer_id; // this page is always personal
$sql = "select snummer,roepnaam,voorvoegsel,achternaam,email1,email2 \n" . "from student left join alt_email using(snummer) where snummer={$snummer}";
$resultSet = $dbConn->Execute($sql);
if ($resultSet === false) {
    die('Error: ' . $dbConn->ErrorMsg() . ' with ' . $sql);
}
extract($resultSet->fields);
extract($resultSet->fields, EXTR_PREFIX_ALL, 'stud');
$page_opening = "Personal settings for {$roepnaam} {$voorvoegsel} {$achternaam} ({$snummer})";
$page = new PageContainer();
$page->setTitle('Personal settings');
//$page->addHeadComponent(new HtmlContainer("<script id='tasktimerstarter' type='text/javascript'>"));
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
//$nav->addLeftNavText(file_get_contents('news.html'));
ob_start();
tutorHelper($dbConn, $isTutor);
$page->addBodyComponent(new Component(ob_get_clean()));
$page->addBodyComponent($nav);
//ob_start();
//echo "<pre>";print_r($_POST);echo "</pre>";
if (isset($_POST['email2']) || isset($_POST['email3'])) {
    $email2 = trim($_POST['email2']);
    $email3 = trim($_POST['email3']);
    if ($email2 == '' && $email3 == '') {
        $sql = "delete from alt_email where snummer={$snummer}";
        $resultSet = $dbConn->Execute($sql);
Esempio n. 15
0
    $_SESSION['class_ids'] = $class_ids;
}
$prj_id = isset($_SESSION['prj_id']) ? $_SESSION['prj_id'] : -1;
extract(getTutorOwnerData($dbConn, $prj_id), EXTR_PREFIX_ALL, 'ot');
$_SESSION['prj_id'] = $prj_id = $ot_prj_id;
$isTutorOwner = $ot_tutor == $tutor_code;
if ($isTutorOwner) {
    $submit_button = '<button name=\'bsubmit\' value=\'submit\'>Submit</button>';
} else {
    $submit_button = '';
}
$resultSet = $dbConn->execute("select count(*) as participants from prj_grp join prj_tutor using(prjtg_id) where prjm_id={$prjm_id}");
extract($resultSet->fields);
// generating output
$page = new PageContainer();
$page->setTitle('Select participating student_class');
$page_opening = "Select the student_class of the participating students";
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
$page->addBodyComponent($nav);
$resultSet = $dbConn->Execute("select afko,description from project where prj_id={$prj_id}");
extract($resultSet->fields);
$form1Form = new HtmlContainer("<div id='projectsel'>");
$prjSel->setJoin(" (select distinct prjm_id from prj_milestone natural join project  where owner_id={$peer_id}) p_mil using (prjm_id)");
//$dbConn->log($prjSel->getQuery());
$form1Form->addText($prjSel->getWidget());
$form2Form = new HtmlContainer("<form method='post' name='group_def' action='{$PHP_SELF}'>");
//$form2Table = new HtmlContainer( "<table border='3' style='border-collapse:3d; padding:2pt;'" .
//                " align='left'  rules='groups' frame='box'" .
//                "summary='class selection' id='form2table'>" );
$form2Table = new HtmlContainer("<div id='tabs'>");
//$form2Form->addText( "Legend:class name [class size]<br/>\n" );
Esempio n. 16
0
if ($resultSet === false) {
    die("<br>Cannot get document types with " . $sql . " reason " . $dbConn->ErrorMsg() . "<br>");
}
$i = 0;
$doctype_set = array();
while (!$resultSet->EOF) {
    extract($resultSet->fields);
    array_push($doctype_set, $doctype);
    $resultSet->moveNext();
}
//echo "<pre>doctype_set \n";print_r($doctype_set);echo "</pre>\n";
$pp = array();
pagehead2('Define types of deliverables students can upload.', file_get_contents('templates/simpledatepicker.html'));
$page_opening = "Define the types of deliverables students can upload per milestones in a project. " . "<font style='font-size:6pt'>prj_id={$prj_id} milestone={$milestone}</font>";
$page = new PageContainer();
$page->setTitle('Define types of deliverables students can upload.');
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
$page->addBodyComponent($nav);
$prjSel->setJoin('milestone_grp using (prj_id,milestone)');
$pp['prj_id_selector'] = $prjSel->getSelector();
$sql = "select  distinct udt.description as upload_description,udt.url,coalesce(version_limit,0) as version_limit," . "due, pd.publish_early,udt.doctype,pd.rights[0:2],warn_members,indiv_group\n" . "\tfrom uploaddocumenttypes udt left join " . "( select * from project_deliverables join prj_milestone using(prjm_id) where prjm_id={$prjm_id} ) pd \n" . "\tusing(prj_id,doctype)\n" . "\twhere prj_id={$prj_id} order by due,udt.doctype";
// echo "<pre>$sql</pre>\n";
$inputColumns = array('0' => array('type' => 'T', 'size' => '40'), '1' => array('type' => 'U', 'size' => '40'), '2' => array('type' => 'N', 'size' => '3'), '3' => array('type' => 'D', 'size' => '10'), '4' => array('type' => 'B', 'size' => '1', 'colname' => 'publish_early'), '5' => array('type' => 'H', 'size' => '0'), '6' => array('type' => 'R', 'size' => '2', 'rightsChars' => 'GPW'), '7' => array('type' => 'B', 'size' => '1', 'colname' => 'warn_members'), '8' => array('type' => 'Z', 'size' => 1, 'options' => array('Ind' => 'I', 'Grp' => 'G')));
$pp['checked'] = $warn_members == 'true' ? 'checked' : '';
$pp['prj_id'] = $prj_id;
$pp['milestone'] = $milestone;
$datePickers = array();
$page->addScriptResource('js/jquery-1.7.1.min.js');
$page->addScriptResource('js/jquery-ui-1.8.17.custom.min.js');
$pp['rtable'] = getQueryToTableChecked2($dbConn, $sql, true, -1, new RainBow(), 'doctype[]', $doctype_set, $inputColumns);
if (count($datePickers) > 0) {
Esempio n. 17
0
    $updateButton = "<button type='submit' name='bmove' value='Move' " . "title='Update the group composition' >Move student(s)</button>";
    $sql = "select prj_milestone_open from prj_milestone where prjm_id={$prjm_id}";
    $resultSet = $dbConn->Execute($sql);
    if ($resultSet === false) {
        print "<br>Cannot get open close data <pre>{$sql}</pre>, cause" . $dbConn->ErrorMsg() . "<br>";
    }
    $assessment_open = false;
    while (!$resultSet->EOF) {
        $assessment_open = $assessment_open || $resultSet->fields['prj_milestone_open'] == 't';
        $resultSet->moveNext();
    }
}
$page = new PageContainer();
$page_opening = "Put participants into groups";
$page_opening = "Select participants into project groups&nbsp;" . "<span style='font-size:8pt;'>prj_id {$prj_id} milestone {$milestone} prjm_id {$prjm_id}</span>";
$page->setTitle('Put participants into groups');
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
extract(getTutorOwnerData2($dbConn, $prjm_id), EXTR_PREFIX_ALL, 'ot');
$page->addBodyComponent($nav);
$templatefile = 'templates/defgroupmembers3.html';
$ie_warning = strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') ? "Internet Exploder is not supported" : "";
$template_text = file_get_contents($templatefile, true);
if ($template_text === false) {
    $page->addBodyComponent(new Component("<strong>cannot read template file {$templatefile}</strong>"));
} else {
    eval("\$text = \"{$template_text}\";");
    $page->addBodyComponent(new Component($text));
}
$page->addHeadText('
<script src="' . $root_url . '/js/scriptaculous/prototype.js" type="text/javascript"></script>
<script src="' . $root_url . '/js/scriptaculous/scriptaculous.js" type="text/javascript"></script>
Esempio n. 18
0
    if ($fp != false) {
        if ($debug == 1) {
            echo "{$name}<br/>{$mimetype} </br>{$filename}<br/>\n";
        } else {
            // send the right headers
            header("Content-type: application/pdf");
            header("Pragma: public");
            header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
            header("Content-Length: " . filesize($texdir . '/' . $pdfname));
            header("Content-Disposition: attachment; filename=\"{$pdfname}\"");
            // dump the picture and stop the script
            fpassthru($fp);
        }
        fclose($fp);
        exit;
    }
}
$page_opening = 'Create your own table card';
$page = new PageContainer();
$page->setTitle('Create your own Table Card');
$form1 = new HtmlContainer("<div id='main'>");
$templatefile = 'tablecard.html';
$template_text = file_get_contents($templatefile, true);
if ($template_text === false) {
    $form1->addText("<strong>cannot read template file {$templatefile}</strong>");
} else {
    eval("\$text = \"{$template_text}\";");
    $form1->addText($text);
}
$page->addBodyComponent($form1);
$page->show();
Esempio n. 19
0
    if (!$resultSet->EOF) {
        $pp = array_merge($pp, $resultSet->fields);
        extract($resultSet->fields);
    }
}
// get definition of role 1 for this project
$sql = "select coalesce('That is '||short||': '||role||' for this project','') as role_one \n" . "from project_roles where prj_id={$prj_id} and rolenum=1";
//$dbConn->log($sql);
$resultSet = $dbConn->Execute($sql);
if ($resultSet !== false && !$resultSet->EOF) {
    extract($resultSet->fields);
    $pp = array_merge($pp, $resultSet->fields);
}
$page_opening = "Data for active group {$grp_num}";
$page = new PageContainer();
$page->setTitle('Project group data');
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
ob_start();
tutorHelper($dbConn, $isTutor);
$page->addBodyComponent(new Component(ob_get_clean()));
$page->addBodyComponent($nav);
$pp['prjList'] = $prjSel->getWidget();
$sqlm = "select '<a href=''mailto:'||rtrim(email1)||'''>'||roepnaam||coalesce(' '||voorvoegsel||' ',' ')||achternaam||'</a>' as name," . "role\n" . " from prj_grp pg join student using (snummer)\n" . "join all_prj_tutor using(prjtg_id)\n" . "  join student_role using (prjm_id,snummer)\n" . "  join project_roles using(prj_id,rolenum)\n" . " where pg.prjtg_id={$prjtg_id} order by achternaam,roepnaam";
$pp['memberTable'] = simpleTableString($dbConn, $sqlm);
if (!$resultSet->EOF) {
    $pp = array_merge($pp, $resultSet->fields);
    extract($resultSet->fields);
    $pp['field_alias'] = makeinputfor('alias', $alias, $may_change, 15);
    $pp['field_long_name'] = makeinputfor('long_name', $long_name, $may_change, 40);
    $pp['field_productname'] = makeinputfor('productname', $productname, $may_change, 60);
    $pp['field_website'] = $may_change ? makeinputfor('website', $website, $may_change, 80) : "<a href='{$website}'>{$website}</a>";
Esempio n. 20
0
<?php

/**
 * The simple table editor for the tutor
 * @author Pieter van den Hombergh
 * $Id: meelopen.php 1723 2014-01-03 08:34:59Z hom $
 */
require_once "ste.php";
$navTitle = "Meelopen " . $PHP_SELF . " on DB " . $db_name;
$page = new PageContainer();
$page->setTitle($navTitle);
$ste = new SimpleTableEditor($dbConn, $page);
$ste->setFormAction($PHP_SELF)->setRelation('meelopen')->setMenuName('meelopen')->setKeyColumns(array('meelopen_id'))->setListRowTemplate(array('email', 'taal', 'straat', 'huisnr', 'postcode', 'plaats', 'land', 'telefoon', 'participation', 'invitation', 'confirmed', 'vooropleiding'))->setOrderList(array('achternaam', 'roepnaam'))->setNameExpression("rtrim(achternaam||', '||roepnaam||coalesce(', '||tussenvoegsel,''))")->setFormTemplate('templates/meelopen.html')->show();
Esempio n. 21
0
$_SESSION['milestone'] = $milestone;
if (isset($_POST['criterium_id']) && isset($_POST['setcrit'])) {
    $critset = implode(",", $_POST['criterium_id']);
    $sql = "begin work;\n" . "delete from prjm_criterium where prjm_id={$prjm_id} and criterium_id not in ({$critset});\n" . "insert into prjm_criterium select {$prjm_id},criterium_id from base_criteria \n" . " where criterium_id in ({$critset}) and ({$prjm_id},criterium_id) not in (select prjm_id,criterium_id from prjm_criterium);\n" . "commit\n";
    $resultSet = $dbConn->Execute($sql);
    if ($resultSet === false) {
        $dbConn->log("cannot insert appplied criteria with <pre>{$sql}</pre>, reason: " . $dbConn->ErrorMsg() . "<br/>\n");
        $dbConn->Execute("rollback;");
    }
}
$prj_id = isset($_SESSION['prj_id']) ? $_SESSION['prj_id'] : -1;
extract(getTutorOwnerData($dbConn, $prj_id));
$_SESSION['prj_id'] = $prj_id;
$isTutorOwner = $tutor == $tutor_code;
$page = new PageContainer();
$page->setTitle('Peer assessment, define project');
$page_opening = "Define the number of criteria for the project.";
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
$nav->setInterestMap($tabInterestCount);
$page->addBodyComponent($nav);
$form1 = new HtmlContainer("<fieldset id='form1'><legend><b>Project milestone and number of criteria.</b></legend>");
$form1Form = new HtmlContainer("<form id='project' method='post' name='project' action='{$PHP_SELF}'>");
$input_prj_selector = "<select name='prj_id' onchange='submit()'>\n" . getOptionListGrouped($dbConn, "select afko||': '||description||' ('||year||')' as name" . ", year as namegrp,prj_id as value from project order by year desc,afko", $prj_id) . "\n</select>\n";
if ($isTutorOwner) {
    $input_num_criteria = "<input class='" . $validator->validationClass('critcount') . "' type='text' align='right' size='1' maxlength='2' name='critcount' value='{$critcount}'/>";
    $input_submit_button = "<input type='submit' name='setcrit' value='Set Criteria'/>";
} else {
    $input_num_criteria = "{$critcount}";
    $input_submit_button = '';
}
$project_selector = $prjSel->getSelector();
Esempio n. 22
0
<?php

require_once 'peerlib/component.inc';
require_once 'navigation2.inc';
require_once 'peerlib/SimpleTableFormatter.php';
require_once 'peerlib/mailFunctions.php';
$pp = array();
$page = new PageContainer();
$page->setTitle("Plan meeloopdag");
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), "Plan een meeloopdag");
$page->addBodyComponent($nav);
//$css = "<link rel='stylesheet' type='text/css' href='style/tablesorterstyle.css'/>";
//$page->addScriptResource('js/jquery.js');
//$page->addScriptResource('js/jquery.tablesorter.js');
//$page->addJqueryFragment( '$("#myTable").tablesorter({widgets: [\'zebra\'],headers: {0:{sorter:false}}});' );
//$page->addHeadText($css);
$page->addHeadFragment('templates/tinymce_include.html');
$pp['subject_de'] = 'Einladung zum Schnuppertag an der Fontys FH in Venlo';
$pp['subject_nl'] = 'Uitnodiging voor een meeloopdag bij Fontys Hogescholen in Venlo';
$pp['mailbody_de'] = file_get_contents('templates/meeloop_mailbody_de.html', true);
$pp['mailbody_nl'] = file_get_contents('templates/meeloop_mailbody_nl.html', true);
$sql = "select 0 as sorter,m.*,s.roepnaam||coalesce(' '||s.voorvoegsel||' ',' ')||s.achternaam as mail_author from meeloopmail m join student s on (owner=snummer) where owner={$peer_id} \n" . "union\n" . "select 1 as sorter,m.* ,s.roepnaam||coalesce(' '||s.voorvoegsel||' ',' ')||s.achternaam as mail_author from meeloopmail m join student s on (owner=snummer) \n" . "order by sorter,meeloop_datum desc limit 1";
$resultSet = $dbConn->Execute($sql);
if ($resultSet !== false && !$resultSet->EOF) {
    $pp = array_merge($pp, $resultSet->fields);
}
$sqlsender = "select rtrim(email1) as sender,roepnaam||coalesce(' '||voorvoegsel,'')||' '||achternaam as sender_name," . "coalesce(signature," . "'sent by the peerweb service on behalf of '||roepnaam||coalesce(' '||voorvoegsel,'')||' '||achternaam)\n" . "  as signature from student left join email_signature using(snummer) where snummer='{$peer_id}'";
$rs = $dbConn->Execute($sqlsender);
if (!$rs->EOF) {
    extract($rs->fields);
} else {
Esempio n. 23
0
        //$headers
    }
}
$prjSel->setJoin('milestone_grp using (prj_id,milestone)');
$prjList = $prjSel->getSelector();
$sql = "select * from student\n" . "where snummer={$peer_id}";
$resultSet = $dbConn->Execute($sql);
if ($resultSet === false) {
    print "error fetching judge data with {$sql} : " . $dbConn->ErrorMsg() . "<br/>\n";
}
if (!$resultSet->EOF) {
    extract($resultSet->fields);
}
$page_opening = "Email to group members From: {$roepnaam} {$voorvoegsel} {$achternaam} <span style='font-family: courier'>&lt;{$email1}&gt;</span>";
$page = new PageContainer();
$page->setTitle('Mail-list page');
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
$page->addBodyComponent($nav);
$page->addFileContentsOnce('templates/tinymce_include.html');
$page->addHeadText('<script type="text/javascript">
 function checkThem(ref,state){
  var checks = document.getElementsByName(ref);
  var boxLength = checks.length;
      for ( i=0; i < boxLength; i++ ) {
        checks[i].checked = state;
      }
}
 function unCheckThem(ref){
  var checks = document.getElementsByName(ref);
  var boxLength = checks.length;
  for ( i=0; i < boxLength; i++ ) {
Esempio n. 24
0
        $_SESSION['prj_id'] = $prj_id;
        $_SESSION['milestone'] = $milestone;
        $_SESSION['prjm_id'] = $prjm_id;
        $_SESSION['prjtg_id'] = $prjtg_id;
    }
}
$sql = "select afko as abbriviation,description,year,comment from project where prj_id={$prj_id}";
$resultSet = $dbConn->Execute($sql);
if ($resultSet === false) {
    die('Error: ' . $dbConn->ErrorMsg() . ' with ' . $sql);
}
if (!$resultSet->EOF) {
    extract($resultSet->fields);
}
$page = new PageContainer();
$page->setTitle('Peer (re)viewable portfolio');
$page_opening = "Welcome to the upload page of {$roepnaam} {$voorvoegsel} {$achternaam} ({$snummer})";
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
$nav->setInterestMap($tabInterestCount);
$nav->addLeftNavText(file_get_contents('news.html'));
ob_start();
tutorHelper($dbConn, $isTutor);
$page->addBodyComponent(new Component(ob_get_clean()));
$page->addBodyComponent($nav);
$ob_start = ob_start();
$sql = "SELECT roepnaam, voorvoegsel,achternaam,lang FROM student WHERE snummer={$snummer}";
$resultSet = $dbConn->Execute($sql);
if ($resultSet === false) {
    die('Error: ' . $dbConn->ErrorMsg() . ' with ' . $sql);
}
extract($resultSet->fields);
Esempio n. 25
0
    // try to insert this snummer into max prj_grp
    $sql = "insert into project_scribe (prj_id,scribe) values({$prj_id},{$newsnummer})\n";
    $dbConn->Execute($sql);
    $dbConn->log($sql);
    //    $dbConn->log($dbConn->ErrorMsg());
}
if (isset($_REQUEST['bdelete']) && $newsnummer != 0) {
    // try to insert this snummer into max prj_grp
    $sql = "delete from project_scribe where scribe={$newsnummer} and prj_id={$prj_id}\n";
    $dbConn->Execute($sql);
    $dbConn->log($sql);
    //    $dbConn->log($dbConn->ErrorMsg());
}
$page = new PageContainer();
$page_opening = "Add project scribe" . "<span style='font-size:8pt;'>prj_id {$prj_id} milestone {$milestone} prjm_id {$prjm_id}</span>";
$page->setTitle('Add a project scribe');
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
$page->addBodyComponent($nav);
$templatefile = 'templates/addscribe.html';
$template_text = file_get_contents($templatefile, true);
$studentPicker->setPresentQuery("select scribe as snummer from project_scribe where prj_id={$prj_id}");
$student_picker_text = $studentPicker->getPicker();
$scribeQuery = "select snummer,achternaam,roepnaam,voorvoegsel from student\n" . "where snummer in (select scribe from project_scribe where prj_id={$prj_id}) order by achternaam,roepnaam";
$scribeTable = simpleTableString($dbConn, $scribeQuery, "<table summary='students found' border='1' style='border-collapse:collapse'>");
if ($template_text === false) {
    $page->addBodyComponent(new Component("<strong>cannot read template file {$templatefile}</strong>"));
} else {
    eval("\$text = \"{$template_text}\";");
    $page->addBodyComponent(new Component($text));
}
$page->show();
Esempio n. 26
0
<?php

include_once './peerlib/peerutils.inc';
require_once './peerlib/simplequerytable.inc';
requireCap(CAP_TUTOR);
$page_opening = 'Select or define a project ';
$page = new PageContainer();
$page->setTitle('Fontys knwon courses');
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
$nav->setInterestMap($tabInterestCount);
$form1 = new HtmlContainer('<fieldset id=\'fieldset1\'><legend>Fontys courses known by peerweb</legend>');
$sql = "select course," . "rtrim(course_description)," . "faculty,faculty_short as inst from fontys_course join faculty using(faculty_id)";
ob_start();
simpletable($dbConn, $sql, '<table border=\'1\' style=\'border-collapse:collapse\' summary=\'table of courses\'>');
$form1->addText(ob_get_clean());
$page->addBodyComponent($form1);
$page->addBodyComponent(new Component('<!-- db_name=$db_name $Id: known_courses.php 1723 2014-01-03 08:34:59Z hom $ -->'));
$page->addBodyComponent($nav);
$page->show();
Esempio n. 27
0
<?php

/**
 * mini task_timer
 */
require_once 'component.inc';
$peer_id = $_SESSION['peer_id'];
require_once 'tasktimer.inc';
$page = new PageContainer();
$page->setTitle('Your personal task timer');
$task_div = new HtmlContainer('<div id=\'task_timer_id\' class=\'navopening\'>');
ob_start();
taskTimer($_SESSION['peer_id']);
$task_div->addText("<a href='logout.php' title='logout'><img src='" . IMAGEROOT . "/close_1.png' border='0' alt='logout'/></a>");
$task_div->addText(ob_get_clean());
$page->addBodyComponent($task_div);
$page->show();
Esempio n. 28
0
    $doctype = $_POST['doctype'];
    $mime_type = $_POST['mime_type'];
    $new_prjtg_id = $_POST['new_prjtg_id'];
    $sql = "update uploads \n" . "set title='{$doc_title}'," . "\t rights='{$rights}', " . "\t doctype={$doctype}," . "\t mime_type=substr('{$mime_type}',1,64),\n " . "\t mime_type_long='{$mime_type}',\n" . "\t prjtg_id={$new_prjtg_id}\n " . "where upload_id={$doc_id}";
    $dbConn->log($sql);
    $resultSet = $dbConn->execute($sql);
}
if (isset($_REQUEST['delete_critique'])) {
    $critique_id = validate($_REQUEST['critique_id'], 'integer', 1);
    $sql = "update document_critique set deleted=true where critique_id={$critique_id}";
    $resultSet = $dbConn->execute($sql);
}
// debug hack
//$_GET['doc_id'] = 1;
$page = new PageContainer();
$page->setTitle('Document and feedback viewer');
if (!isset($_REQUEST['doc_id'])) {
    echo "<p>To critisize a document you should select a document from the <a href='uploadviewer.php'>documents page</a> " . "and click on the critisizeable document</p>";
} else {
    // a document is selected
    $doc_id = validate($_REQUEST['doc_id'], 'doc_id', 0);
    $sql = "select upload_id,title, to_char(uploadts,'YYYY-MM-DD HH24:MI')::text as uploadts,due,mime_type,\n" . "ups.snummer as author,achternaam,voorvoegsel,roepnaam,apt.prj_id,apt.prjm_id,apt.milestone,apt.afko,apt.description as project_description,\n" . "apt.year,apt.grp_num, ups.prjtg_id,rel_file_path, coalesce(apt.alias,'g'||apt.grp_num) as grp_name,\n" . " coalesce('g'||apts.grp_num||' '''||apts.alias||'''','g'||apts.grp_num)||' tutor '||apts.tutor as sgrp_name,\n" . "vers, pd.doctype,udt.description as documenttype,apt.long_name,ups.rights[0:2] as rights,\n" . "getDocAuthors({$doc_id}) as coauthors,filesize \n" . "from (uploads ups join student std using(snummer) \n" . "join all_prj_tutor apt using(prjtg_id)) \n" . "join (all_prj_tutor join prj_grp using (prjtg_id)) apts on (apts.snummer=ups.snummer and apts.prjm_id =ups.prjm_id)\n" . "join uploaddocumenttypes udt on (apt.prj_id=udt.prj_id and ups.doctype=udt.doctype) \n" . "join project_deliverables  pd on(apt.prjm_id=pd.prjm_id and ups.doctype=pd.doctype)" . " where upload_id={$doc_id}";
    $resultSet = $dbConn->execute($sql);
    if ($resultSet === false) {
        die('Error: ' . $dbConn->ErrorMsg() . ' with <br/><pre>' . $sql . '</pre>');
    }
    if (!$resultSet->EOF) {
        extract($resultSet->fields);
        $author = $resultSet->fields['author'];
        $pp = array_merge($pp, $resultSet->fields);
        $rights = substr($rights, 1, strlen($rights) - 2);
Esempio n. 29
0
        $signature = "<hr/><div>Sent by the peerweb service at" . " fontysvenlo.org on behalf of {$sender_name}</div>";
    }
} else {
    $replyto = '*****@*****.**';
    $sender_name = 'Pieter van den Hombergh';
    $signature = '';
}
if (isset($_POST['signature'])) {
    $signature = $_POST['signature'];
    $sql_signature = pg_escape_string($signature);
    $sql = "begin work;\n" . " delete from email_signature where snummer={$peer_id};\n" . " insert into email_signature (snummer,signature) values({$peer_id},'{$signature}');\n" . "commit";
    $dbConn->doSilent($sql);
}
$page_opening = "Set you mailer signature";
$page = new PageContainer();
$page->setTitle($page_opening);
$nav = new Navigation(array(), basename($PHP_SELF), $page_opening);
$page->addBodyComponent($nav);
$mailer_signature = "\n<form method='post' action='{$PHP_SELF}' name='mailerform' id='mailerform'>\n<fieldset><legend>Mailer</legend>\nThis signature will be appended to your email editor on startup. \nYou may use html enriched tex.\n<div>\n\n<b>Signature:</b><br/>\n<textarea cols='120' rows='20' id='signature' name='signature' class='mceEditor'>\n{$signature}\n</textarea >\n<input type='submit' name='set' value='Update signature'/>\n<input type='reset' name='reset' value='reset'/>\n</div>\n</fieldset>\n</form>\n";
$page->addBodyComponent(new Component($mailer_signature));
$page->addHeadText('<script language="javascript" type="text/javascript" src="' . SITEROOT . '/js/tiny_mce/tiny_mce.js"></script>
 <script language="javascript" type="text/javascript">
   tinyMCE.init({
        theme: "advanced",
        gecko_spellcheck : true,
        theme_advanced_toolbar_location : "top",
	mode : "textareas", /*editor_selector : "mceEditor",*/

        theme_advanced_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Row=tableRow1",
        plugins: "advlink,searchreplace,insertdatetime,table",
	plugin_insertdate_dateFormat : "%Y-%m-%d",
Esempio n. 30
0
}
if (isset($_POST['setslb']) && isset($slb) && isset($_POST['studenten'])) {
    $memberset = '\'' . implode("','", $_POST['studenten']) . '\'';
    $sql = "update student set slb={$slb} " . "where snummer in ({$memberset})";
    $resultSet = $dbConn->Execute($sql);
    if ($resultSet === false) {
        die("<br>Cannot update student  with " . $sql . " reason " . $dbConn->ErrorMsg() . "<br>");
    }
}
$class_sql = "select distinct student_class.sclass||'#'||class_id||' (#'||coalesce(student_count,0)||')'  as name,\n" . "class_id as value, \n" . "  trim(faculty_short)||'.'||trim(coalesce(cluster_name,'')) as namegrp, \n" . " faculty_short,\n" . " case when class_cluster=(select class_cluster from student join student_class using(class_id) where snummer={$peer_id}) then 0 else 1 end as myclass " . " from student_class " . " natural left join class_cluster\n" . " left join faculty  using(faculty_id) \n" . " left join class_size using(class_id) \n" . "order by myclass,namegrp,name";
$pp = array();
$classSelectorClass = new ClassSelectorClass($dbConn, $oldclass_id);
$pp['oldClassOptionsList'] = $classSelectorClass->setSelectorName('oldclass_id')->addConstraint('sort1 < 10 and student_count <>0')->setAutoSubmit(true)->getSelector();
$page_opening = "Get and set Student Study coach (SLB) by class.";
$page = new PageContainer();
$page->setTitle("Set/check SLB");
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening);
$nav->setInterestMap($tabInterestCount);
$sql_slb = "select achternaam||','||roepnaam||' ['||tutor||']' as name,\n" . " snummer as value,faculty_short||'-'||course_short as namegrp \n" . " from tutor_join_student tjs left join faculty using(faculty_id)\n" . " left join fontys_course fc on (tjs.opl=fc.course)\n" . " order by namegrp,faculty,achternaam,roepnaam ";
$pp['slbList'] = getOptionListGrouped($dbConn, $sql_slb, $slb);
$css = '<link rel=\'stylesheet\' type=\'text/css\' href=\'' . SITEROOT . '/style/tablesorterstyle.css\'/>';
$page->addScriptResource('js/jquery.js');
$page->addScriptResource('js/jquery.tablesorter.js');
$page->addHeadText($css);
$page->addJqueryFragment('$("#myTable").tablesorter({widgets: [\'zebra\'],headers: {0:{sorter:false}}});');
//echo "<pre>\n";print_r($_REQUEST); echo"</pre>\n";
$page->addBodyComponent($nav);
$sql = "SELECT '<input type=''checkbox''  name=''studenten[]'' value='''||st.snummer||'''/>' as chk," . "'<a href=''student_admin.php?snummer='||snummer||'''>'||st.snummer||'</a>' as snummer," . "'<img src='''||photo||''' style=''height:24px;width:auto;''/>' as foto,\n" . "achternaam||', '||roepnaam||coalesce(' '||voorvoegsel,'') as naam,pcn," . "t.tutor as slb," . "sclass as klas," . " hoofdgrp," . " cohort,course_short sprogr,studieplan_short as splan,lang,sex,gebdat," . " land,plaats,pcode\n" . " from student st \n" . "join student_class cl using(class_id)\n" . "natural left join studieplan \n" . "left join fontys_course fc on(st.opl=fc.course)\n" . "left join tutor t on (st.slb=t.userid)\n" . "natural left join portrait \n" . "where class_id='{$oldclass_id}' " . "order by hoofdgrp,st.opl,sclass asc,achternaam,roepnaam";
//simpletable($dbConn,$sql,"<table id='myTable' class='tablesorter' summary='your requested data'"
//		." style='empty-cells:show;border-collapse:collapse' border='1'>");
$tableFormatter = new SimpleTableFormatter($dbConn, $sql, $page);