function __construct($conn, $peer_id, $prjm_id = 0, $selName = 'prjm_id')
 {
     global $_SESSION;
     global $_REQUEST;
     $this->dbConn = $conn;
     $this->peer_id = $peer_id;
     $this->prjm_id = $prjm_id;
     $this->selectorName = $selName;
     if (isset($_SESSION[$this->selectorName])) {
         $this->prjm_id = $_SESSION[$this->selectorName];
     }
     if (isset($_REQUEST[$this->selectorName])) {
         $newSelect = validate($_REQUEST[$this->selectorName], 'integer', $this->prjm_id);
         if ($this->prjm_id != $newSelect) {
             $this->selectionChanged = true;
         }
         $this->prjm_id = $newSelect;
     }
     if ($this->prjm_id === 0) {
         // only guess if undefined.
         $this->prjm_id = $this->guessPrjMid($this->peer_id);
     }
     if (hasCap(CAP_SELECT_ALL)) {
         $this->isAdmin = 'true';
     } else {
         //$this->whereClause =" tutor_id={$peer_id} ";
         //$this->extraJoin = " tutor_my_project_milestones({$peer_id}) tmpm on(pm.prjm_id=tmpm.prjm_id) ";
     }
 }
 function __construct($conn, $judge, $prjm_id = 0)
 {
     global $_SESSION;
     global $_REQUEST;
     $this->dbConn = $conn;
     $this->judge = $judge;
     if ($prjm_id) {
         $this->prjm_id = $prjm_id;
     }
     if (isset($_SESSION['prjm_id'])) {
         $this->prjm_id = $_SESSION['prjm_id'];
     }
     if (isset($_REQUEST['prjm_id'])) {
         //	  $this->dbConn->log('found ' .$_REQUEST['prjm_id']);
         $this->prjm_id = validate($_REQUEST['prjm_id'], 'integer', $this->prjm_id);
     }
     if (isset($_REQUEST['judge'])) {
         $this->judge = validate($_REQUEST['judge'], 'integer', $this->judge);
     }
     if (hasCap(CAP_SYSTEM)) {
         $this->isAdmin = 'true';
     }
 }
示例#3
0
$prjm_id = 0;
$prj_id = 1;
$milestone = 1;
$newsnummer = 1;
extract($_SESSION);
$prjSel = new PrjMilestoneSelector2($dbConn, $peer_id, $prjm_id);
extract($prjSel->getSelectedData());
$_SESSION['prj_id'] = $prj_id;
$_SESSION['prjm_id'] = $prjm_id;
$_SESSION['milestone'] = $milestone;
// unknown project?
$isTutorOwner = checkTutorOwner($dbConn, $prj_id, $peer_id);
// check if this is tutor_owner of this project
$prjm_id_selector = $prjSel->getSimpleForm();
$mail_button = " ";
$isAdmin = hasCap(CAP_SYSTEM) ? 'true' : 'false';
$studentPicker = new StudentPicker($dbConn, $newsnummer, 'Search and select participant to add.');
$newsnummer = $studentPicker->processRequest();
if (isset($_REQUEST['baccept']) && $newsnummer != 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());
示例#4
0
    if (isset($_POST['newsnummer'])) {
        unset($_GET['newsnummer']);
        $_SESSION['newsnummer'] = $_REQUEST['newsnummer'] = $newsnummer = validate($_POST['newsnummer'], 'integer', '0');
        //    $dbConn->log('POST '.$newsnummer);
    } else {
        unset($_POST['newsnummer']);
        unset($_REQUEST['newsnummer']);
        unset($_GET['newsnummer']);
        unset($_SESSION['newsnummer']);
    }
}
extract($_SESSION);
$searchname = '';
$studentPicker = "<fieldset><legend>Student number</legend>" . "<form method='get' style='font-size:200%'>" . "Note, that the student selected is moved from source to target class immediately with no undo.<br/>" . "<label for='newsnummer'>New student number</label><input type='text' autofocus name='newsnummer' style='text-align:right;' id='newsnummer' onchange='this.submit()' value='' />" . "</form></fieldset>";
$_SESSION['searchname'] = $searchname;
if (hasCap(CAP_ALTER_STUDENT_CLASS) && $newsnummer != 0) {
    // test if this owner can update this project
    $sql = "update student set class_id={$class_id} where snummer={$newsnummer}";
    $resultSet = $dbConn->Execute($sql);
    if ($resultSet === 0) {
        $dbConn->log($dbConn->ErrorMsg());
        $dbConn->Execute("abort");
    }
}
$scripts = '<script type="text/javascript" src="js/jquery.js"></script>
    <script src="js/jquery.tablesorter.js"></script>
    <script type="text/javascript">
      $(document).ready(function() {
           $("#myTable").tablesorter({widgets: [\'zebra\']});
      });
示例#5
0
if (isset($_POST['formsubject'])) {
    $formsubject = $_POST['formsubject'];
}
if (isset($_POST['snmailto']) && isset($_POST['domail'])) {
    $snmailto = $_POST['snmailto'];
    $mailset = '\'' . implode("','", $snmailto) . '\'';
    $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>";
示例#6
0
<?php

/**
 * 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: student_admin.php 1102 2012-02-22 21:44:36Z hom $
 */
require_once "ste.php";
requireCap(CAP_LOOKUP_STUDENT);
$page = new PageContainer("Student work placement address " . $PHP_SELF . " on DB " . $db_name);
$ste = new SimpleTableEditor($dbConn, $page, hasCap(CAP_ALTER_STUDENT));
$ste->setFormAction($PHP_SELF)->setRelation('wp_address')->setMenuName('wp_address')->setKeyColumns(array('wp_address_id'))->setFormTemplate('templates/wp_address.html')->setListRowTemplate(array('snummer', 'wp_type', 'company'))->setNameExpression("snummer||': '||wp_type||', start '||start_date||' at '||company")->show();
?>

示例#7
0
    print "error fetching judge data with {$sql} : " . $dbConn->ErrorMsg() . "<br/>\n";
}
if (!$resultSet->EOF) {
    extract($resultSet->fields, EXTR_PREFIX_ALL, 'judge');
}
$page_opening = 'The groups of ' . "{$judge_roepnaam} {$judge_voorvoegsel} {$judge_achternaam} ({$judge_snummer})";
$page = new PageContainer();
$page->setTitle($page_opening);
$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);
if (hasCap(CAP_TUTOR)) {
    $sql = "select year,'<a href=\"grouplist.php?prjm_id='||prjm_id||'\" target=\"_blank\">'||afko||'.'||milestone||'</a>' as \"project/m\",\n" . "description,prj_id,milestone,milestone_name,grp_name as group_name,prjtg_id,grp_name,coalesce(alias,'G'||grp_num) as group_alias,\n" . " long_name as group_description,tutor as group_tutor,tutor as project_owner" . " from prj_grp join all_prj_tutor using(prjtg_id) \n" . " where snummer={$snummer} order by year desc,prj_id,afko,milestone";
} else {
    $sql = "select year,prjm_id,description,prj_id,milestone,milestone_name,\n" . "grp_num,prjtg_id,grp_name as group_name,coalesce(alias,'G'||grp_num) as group_alias,\n" . " long_name as group_description,tutor as group_tutor,tutor_owner as project_owner" . " from prj_grp join all_prj_tutor using(prjtg_id) \n" . " where snummer={$peer_id} order by year desc,prj_id,afko,milestone";
}
//echo "<pre>$sql</pre>";
ob_start();
?>
<table width='100%'><tr><td valign='top'>
            <div style='padding:1em'>
                <h2>This page informs you about your peerweb project group memberships</h2>
                <fieldset><legend>Group membership</legend>
                    <a href='membershipreport.php' target='_blank'>Print a report in pdf</a>
                    <?php 
$resultSet = $dbConn->Execute($sql);
if ($resultSet === false) {
示例#8
0
 /**
  * expand the item into an <input...> or <select>...</select>
  */
 function expand()
 {
     global $validator;
     global $_SESSION;
     //global $page;
     global $login_snummer;
     $cssClass = $validator->validationClass($this->name);
     $result = '';
     $onChange = '';
     $alignText = ' style="text-align:left;"';
     $textSize = $this->item_length;
     $validClass = " class='{$cssClass}' ";
     switch (substr($this->data_type, 0, 1)) {
         case 'N':
             $textSize = $this->data_precision;
             $alignText = ' style="text-align:right;" ';
             break;
         default:
         case 'C':
             break;
     }
     $readText = hasCap($this->capability) ? '' : ' readonly="readonly"';
     $sizeText = $textSize > 0 ? ' size="' . $textSize . '"' : '';
     switch ($this->edit_type) {
         case 'A':
             $maxCols = 80;
             $cols = $textSize;
             $rows = 1;
             if ($textSize > $maxCols) {
                 $cols = $maxCols;
                 $rows = floor(($textSize + $maxCols) / $maxCols);
             }
             // HACK
             //	    $rows=12;$cols=72;
             $result .= '<textarea id="' . $this->name . '" name="' . $this->name . '" cols="' . $cols . '" rows="' . $rows . '">' . $this->value . '</textarea>';
             break;
             // informational, value only, no vardef.
         // informational, value only, no vardef.
         case 'b':
             $checkedTrue = isset($this->value) && $this->value == 't' ? 'selected' : '';
             $checkedFalse = isset($this->value) && $this->value == 'f' ? 'selected' : '';
             /* $result .= "<input type='checkbox' {$checked} name='{$this->name}'" */
             /*         . " value='{$this->placeholder}' " */
             /*         . "style='vertical-align:middle;'><span style='font-weight:bold'>" */
             /*                 .niceName($this->name) */
             /*                 ."</span></input>\n"; */
             $result .= "<label style='font-weigth:bold' for='{$this->name}'>{$this->name}</label><select name='{$this->name}' id='{$this->name}'>\n\t<option value=''></option>\n" . "\t<option " . $checkedFalse . " value='false'>False</options>\n" . "\t<option " . $checkedTrue . " value='true'>True</options>\n" . "</select>\n";
             break;
         case 'I':
             $result .= '<div class="informational"' . $alignText . $validClass . '>' . $this->value . '</div>&nbsp;' . "\n";
             break;
             /* hidden only */
         /* hidden only */
         case 'H':
             $result .= '<input type="hidden" id="' . $this->name . '" name="' . $this->name . '" value ="' . $this->value . '"/>' . "\n";
             break;
             /* Visible, not editable */
         /* Visible, not editable */
         case 'Q':
             $result .= '<input type="hidden" id="' . $this->name . '" name="' . $this->name . '" value ="' . $this->value . '"/>' . '<span class="sequence">&nbsp;' . $this->value . '</span>' . "\n";
             break;
         case 'V':
             $result .= '<input type="hidden" id="' . $this->name . '" name="' . $this->name . '" value ="' . $this->value . '"/><span class="visible"' . $alignText . '>' . $this->value . '</span>' . "\n";
             break;
         case 'P':
             // Image. wrap without border and alt text
             if (isset($this->value)) {
                 $pict = 'fotos/' . $this->value;
                 $result .= '<img src=\'' . $pict . '\' alt=\'' . $this->value . '\' border=\'0\' />';
             } else {
                 $result = '';
             }
             break;
         case 'C':
             // Creator-owner
         // Creator-owner
         case 'G':
             if (!empty($this->selectQuery)) {
                 $result .= '<select id="' . $this->name . '" name="' . $this->name . '" ' . "{$onChange}" . ' onkeypress="selectKeyPress();" onkeydown="selectKeyDown();" onblur="clr();" ' . 'onfocus="clr();">' . "\n";
                 extract($_SESSION);
                 $q = $this->selectQuery;
                 eval("\$q=\"{$q}\";");
                 $result .= getOptionListGrouped($this->dbConn, $q, $this->value, 'value', isset($this->optionPreloadList) ? $this->optionPreloadList : array('name' => '&nbsp;', 'value' => ''));
                 $result .= "\n" . '</select>' . "\n";
             } else {
                 $result .= '<input' . $alignText . $sizeText . $readText . $validClass . ' type="text" id="' . $this->name . '" name="' . $this->name . '" value="' . $this->value . '"/>' . "\n";
             }
             break;
         case 'M':
             $onChange = 'onChange="submit();"';
         case 'S':
             if (!empty($this->selectQuery)) {
                 $result .= '<select id="' . $this->name . '" name="' . $this->name . '" ' . "{$onChange}" . ' onkeypress="selectKeyPress();" onkeydown="selectKeyDown();" onblur="clr();" ' . 'onfocus="clr();">' . "\n";
                 extract($_SESSION);
                 $q = $this->selectQuery;
                 //echo "<pre style='color:blue'> {$_SESSION['prjm_id']}:{$q}</pre>";
                 eval("\$q=\"{$q}\";");
                 //echo "<pre style='color:green'>{$q}</pre>";
                 $result .= getOptionList($this->dbConn, $q, $this->value, isset($this->optionPreloadList) ? $this->optionPreloadList : array('name' => '&nbsp;', 'value' => ''));
                 $result .= "\n" . '</select>' . "\n";
             } else {
                 $result .= '<input' . $alignText . $sizeText . $readText . $validClass . ' type="text" id="' . $this->name . '" name="' . $this->name . '" value="' . $this->value . '"/>' . "\n";
             }
             break;
         case 'D':
             $result = "<!-- datepicker --><input type='text' placeholder='yyyy-mm-dd' style='text-align:left;' size='10' name='" . $this->name . "' id='" . $this->name . "' value='" . $this->value . "'/>\n";
             $this->page->addScriptResource('js/jquery-1.7.1.min.js')->addScriptResource('js/jquery-ui-1.8.17.custom.min.js')->addFileContentsOnce('templates/simpledatepicker.html')->addJqueryFragment("\$('#" . $this->name . "').datepicker(dpoptions);");
             break;
         case 't':
             $result = "<input type='time' placeholder='HH:MM' style='text-align:left;' size='8' name='" . $this->name . "' id='" . $this->name . "' value='" . $this->value . "'/>\n";
             break;
         case 'e':
             $result = "<input type='email' placeholder='" . $this->placeholder . "' style='text-align:left;' size='64' name='" . $this->name . "' id='" . $this->name . "' value='" . $this->value . "'/>\n";
             break;
         case 'd':
             $result = "<input type='number' placeholder='" . $this->placeholder . "' pattern='\\d+' style='text-align:right;' size='10' name='" . $this->name . "' id='" . $this->name . "' value='" . $this->value . "'/>\n";
             break;
         case 'p':
             // use peer_id of person logged in, unless it is a tutor.
             if (hasCap(CAP_TUTOR)) {
                 $result = "<input type='number' placeholder='2123456' pattern='\\d{7}' size='7' " . "name='" . $this->name . "' id='" . $this->name . "' value='" . $this->value . "'/>\n";
             } else {
                 $result = $login_snummer;
             }
             break;
             // intentional fallthrough
         // intentional fallthrough
         case 'X':
             /* data is editable (for search) but discarded on insert */
             $result = $this->value;
             break;
         case 'U':
             /* mutator is editable (for search) but discared on insert */
         /* mutator is editable (for search) but discared on insert */
         case 'T':
         default:
             $result .= '<input' . $alignText . $sizeText . $readText . $validClass . ' type="text" id="' . $this->name . '" name="' . $this->name . '" value="' . $this->value . '" placeholder="' . $this->placeholder . '"/>' . "\n";
             break;
         case 'C':
             $result .= '<input type=\'checkbox\' name=\'' . $this->name . '\' value=\'t\' ' . ($this->value == 't' ? 'checked' : '') . '/>&nbsp' . "\n";
             break;
         case 'Z':
             // to print out data in supp fields
             $result .= '<b>' . $this->value . '</b>';
             break;
     }
     //    var_dump($this); echo "<br>";
     return $result;
 }
示例#9
0
$tabInterestCount['set_capabilities'] = hasCap(CAP_EDIT_RIGHTS) ? 1 : 0;
$tabInterestCount['bigface'] = hasCap(CAP_BIGFACE) ? 1 : 0;
$tabInterestCount['module'] = hasCap(CAP_MODULES) ? 1 : 0;
$tabInterestCount['git'] = hasCap(CAP_GIT) ? 1 : 0;
$tabInterestCount['none'] = 0;
$sql = "select opl from student where snummer={$peer_id}";
$resultSet = $dbConn->Execute($sql);
if ($resultSet === false) {
    die('Error: ' . $dbConn->ErrorMsg() . ' with ' . $sql);
}
$tabInterestCount['sharing'] = hasCap(CAP_SHARING);
$tabInterestCount['sharing_tutor'] = $tabInterestCount['tutor'] && $tabInterestCount['sharing'];
$tabInterestCount['act_participant'] = $resultSet->fields['opl'] == 112;
$opl = $resultSet->fields['opl'];
$snummer = $_SESSION['snummer'];
$sql = "select count(*) as scribe_count from all_project_scribe where scribe={$peer_id}";
$resultSet = $dbConn->Execute($sql);
if ($resultSet === false) {
    die('Error: ' . $dbConn->ErrorMsg() . ' with ' . $sql);
}
$tabInterestCount['project_scribe'] = $resultSet->fields['scribe_count'] > 0 || hasCap(CAP_TUTOR);
$tabInterestCount['deliverable_count'] = 1;
//$resultSet->fields['nav_deliverable_count'];
$tabInterestCount['assessment_count'] = 1;
//$resultSet->fields['assessment_count'];
$tabInterestCount['project_count'] = 1;
//$resultSet->fields['project_count'];
$tabInterestCount['read_result'] = 1;
//($resultSet->EOF)?0:1;
$navtable = array(array('interest' => 'tutor', 'toplinktext' => 'Start page/home and class lists', 'tooltip' => 'Here you find a home page, class/student photos and class lists', 'menu_name' => 'tuthome', 'image' => 'home.png', 'subitems' => array(array('target' => 'tutorhome.php', 'tooltip' => 'Home page for tutors', 'menu_name' => 'tuthome', 'linktext' => 'Tutor Home', 'image' => 'home.png', 'interest' => 'all'), array('target' => 'classphoto.php', 'tooltip' => 'Class photos', 'linktext' => 'Class Photos', 'menu_name' => 'classphoto', 'image' => 'kontact_contacts.png', 'interest' => 'all'), array('target' => 'classlist.php', 'tooltip' => 'Class lists', 'linktext' => 'Class lists', 'menu_name' => 'classlist', 'image' => 'public.png', 'interest' => 'all'), array('target' => 'hoofdgrplist.php', 'tooltip' => 'List by Hoofdgrp', 'linktext' => 'alt: Hoofdgrp ', 'menu_name' => 'hoofdgrplist', 'image' => 'public.png', 'interest' => 'adminstudent_class'), array('target' => 'slblist.php', 'tooltip' => 'List by slb', 'linktext' => 'slb pupils', 'menu_name' => 'slblist', 'image' => 'public.png', 'interest' => 'adminstudent_class'))), array('interest' => 'tutor_owner', 'toplinktext' => 'Project base data', 'tooltip' => 'Define top level attributes of a project, like project name, dates and owner', 'menu_name' => 'project', 'image' => 'wip-icon.png', 'subitems' => array(array('target' => 'defproject.php', 'tooltip' => 'Enter the project data', 'linktext' => '(1) Define a new project', 'menu_name' => 'defproj', 'image' => 'blank.png', 'interest' => 'mkproject'), array('target' => 'alterproject.php', 'tooltip' => 'Update the project data', 'linktext' => '(?) Alter a project', 'menu_name' => 'altprj', 'image' => 'alter_project.png', 'interest' => 'mkproject'), array('target' => 'addmilestone.php', 'tooltip' => 'Add another assessment milestone', 'linktext' => 'Add/change milestone(s)', 'menu_name' => 'addmilestone', 'image' => 'milestone1.png', 'interest' => 'tutor_owner'), array('target' => 'addscribe.php', 'tooltip' => 'add a project scribe/assistant.', 'linktext' => 'Add a project scribe', 'menu_name' => 'addscribe', 'image' => 'scribe.png', 'interest' => 'tutor_owner'))), array('interest' => 'tutor_owner', 'toplinktext' => 'Project Group definitions', 'tooltip' => 'Here you define group related things', 'menu_name' => 'altgroupsize', 'image' => 'view_icon.png', 'subitems' => array(array('target' => 'copygroups.php', 'tooltip' => 'Copy project groups', 'linktext' => '(?) Copy groups', 'menu_name' => 'copygroups', 'image' => 'view_sidetree.png', 'interest' => 'mkproject'), array('target' => 'defgroupsize.php', 'tooltip' => 'Select group count and assign tutor', 'linktext' => '(1) Set #groups/tutors', 'menu_name' => 'altgroupsize', 'image' => 'view_icon.png', 'interest' => 'mkproject'), array('target' => 'defgroup.php', 'tooltip' => 'Choose the student_class of participating students.', 'linktext' => '(2) Choose class(es)', 'menu_name' => 'defgroup', 'image' => 'filter.png', 'interest' => 'mkproject'), array('target' => 'addindividual.php', 'tooltip' => 'Add individual student', 'linktext' => '(? 3) Add individual', 'menu_name' => 'addindividual', 'image' => 'add_user.png', 'interest' => 'all'), array('target' => 'defgroupmembers2.php', 'tooltip' => 'Distribute students in project groups', 'linktext' => '(4) Assign groups', 'menu_name' => 'defgroupmembers', 'image' => 'view_sidetree.png', 'interest' => 'mkproject'), array('target' => 'defgroupmembersalt.php', 'tooltip' => 'Distribute students in project groups,alternate UI', 'linktext' => 'or (4) Alt Assign groups', 'menu_name' => 'defgroupmembersalt', 'image' => 'view_sidetree.png', 'interest' => 'mkproject'), array('target' => 'defprojectroles.php', 'tooltip' => 'Define student roles in projects.', 'linktext' => '(? 5) Project roles', 'menu_name' => 'defprojectroles', 'image' => 'source_ruby.png', 'interest' => 'tutor'), array('target' => 'defcontacts.php', 'tooltip' => 'Define project contact student/person.', 'linktext' => '(? 6) Project contacts', 'menu_name' => 'defcontacts', 'image' => 'kontact_contacts.png', 'interest' => 'tutor'), array('target' => 'createmaillists.php', 'tooltip' => 'View and create project email lists.', 'linktext' => '(? 7) Create Email lists', 'menu_name' => 'createmaillists', 'image' => 'mail_address.png', 'interest' => 'tutor'), array('target' => 'grpdetails.php', 'tooltip' => 'Group attributes such as links and alt names.', 'linktext' => '(? 8) Group details', 'menu_name' => 'grpdetails', 'image' => 'mail_address.png', 'interest' => 'tutor'))), array('interest' => 'project_scribe', 'toplinktext' => 'Project Group Views', 'tooltip' => 'Various ways to look at groups', 'menu_name' => 'groupviews', 'image' => 'binocular-icon.png', 'subitems' => array(array('target' => 'grouplist.php', 'tooltip' => 'Get the a list of the group', 'linktext' => 'Group list', 'menu_name' => 'grouplist', 'image' => 'html2.png', 'interest' => 'all'), array('target' => 'groupphoto.php', 'tooltip' => 'Group photos', 'linktext' => ' Group Photos', 'menu_name' => 'grouplist', 'image' => 'kontact_contacts.png', 'interest' => 'all'), array('target' => 'grpdetails.php', 'tooltip' => 'Group details', 'linktext' => ' Group details', 'menu_name' => 'grpdetails', 'image' => 'kontact_contacts.png', 'interest' => 'all'), array('target' => 'examlist.php', 'tooltip' => 'Candidates for a exam.', 'linktext' => 'Exam list', 'menu_name' => 'examlist', 'image' => 'html2.png', 'interest' => 'tutor_owner'), array('target' => 'limelist.php', 'tooltip' => 'Lime survey token table.', 'linktext' => 'Limesurvey tokens', 'menu_name' => 'limelist', 'image' => 'limesurvey.png', 'interest' => 'tutor_owner'), array('target' => 'groupemail.php', 'tooltip' => 'Send mail to students groups', 'top_image' => 'mail_generic.png', 'linktext' => 'group eMail', 'menu_name' => 'groupemail', 'image' => 'mail_send.png', 'interest' => 'project_count'))), array('interest' => 'tutor', 'toplinktext' => 'Assessment setup and results', 'tooltip' => 'Here you define the assessments and find the group results', 'menu_name' => 'groupresult', 'image' => 'editcut.png', 'subitems' => array(array('target' => 'criteria3.php', 'tooltip' => 'Choose the criteria in the assessments in this project', 'linktext' => 'select the criteria', 'menu_name' => 'crit1', 'image' => 'apply.png', 'interest' => 'tutor_owner'), array('target' => 'openclose.php', 'tooltip' => 'Open or close an assessment', 'linktext' => 'Open or close assessment', 'menu_name' => 'openclose', 'image' => 'lock-unlock.png', 'interest' => 'tutor_owner'), array('target' => 'groupresult.php', 'tooltip' => 'Get the results for a projectgroup.', 'linktext' => 'Group result', 'menu_name' => 'groupresult', 'image' => 'editcut.png', 'interest' => 'tutor'), array('target' => 'allgroupresults.php', 'tooltip' => 'Get the results for all groups.', 'linktext' => 'All Group result', 'menu_name' => 'allgroupresults', 'image' => 'editcut.png', 'interest' => 'tutor'), array('target' => 'dueassessment.php', 'tooltip' => 'Here you see the students with over due peer assessments', 'linktext' => 'overdue assessment', 'menu_name' => 'dueassessments', 'image' => 'ktip.png', 'interest' => 'tutor'), array('target' => 'moduleresults.php', 'tooltip' => 'Get the unprocessed scores of entered by the participating judges.', 'linktext' => 'Score data', 'menu_name' => 'scoredata', 'image' => 'define_clip.png', 'interest' => 'tutor'), array('target' => 'addmilestone.php', 'tooltip' => 'Add another assessment milestone', 'linktext' => 'Add/change milestone(s)', 'menu_name' => 'addmilestone', 'image' => 'milestone1.png', 'interest' => 'tutor_owner'), array('target' => 'milestonegrades.php', 'tooltip' => 'View results of project milestones and totals', 'linktext' => 'Overall project results', 'menu_name' => 'milestonegrades', 'image' => 'milestonegrades.png', 'interest' => 'tutor'), array('target' => 'project_attributes_def.php', 'tooltip' => 'Define project attributes or performance indicators', 'linktext' => 'Project attributes', 'menu_name' => 'projectattributesdef', 'image' => 'milestonegrades.png', 'interest' => 'tutor_owner'))), array('interest' => 'sharing_tutor', 'toplinktext' => 'Uploads, portfolios and repositories', 'tooltip' => 'Here you define and view student uploads', 'menu_name' => 'defuploadtype', 'image' => 'filesaveas.png', 'subitems' => array(array('target' => 'defuploadtype.php', 'tooltip' => 'Define the documents to upload.', 'linktext' => 'eDeliverables', 'menu_name' => 'defuploadtype', 'image' => 'folder_inbox.png', 'interest' => 'tutor'), array('target' => 'groupuploads.php', 'tooltip' => 'View uploads per project and doc type.', 'linktext' => 'View uploads per doctype', 'menu_name' => 'groupuploads', 'image' => 'filefind.png', 'interest' => 'tutor'), array('target' => 'groupuploadsall.php', 'tooltip' => 'View all uploads per project.', 'linktext' => 'View all uploads per project+milestone', 'menu_name' => 'groupuploadsall', 'image' => 'filefind.png', 'interest' => 'tutor'), array('target' => 'subversionrepos.php', 'tooltip' => 'Create svn repositories for a project.', 'linktext' => 'svn repositories', 'menu_name' => 'examlist', 'image' => 'subversion.png', 'interest' => 'subversion'))), array('interest' => 'tutor_owner', 'toplinktext' => 'Activity presence registration', 'tooltip' => 'Activities like excursions and colloquia', 'menu_name' => 'collo', 'image' => 'dilbert_icon.png', 'subitems' => array(array('target' => 'defactivity.php', 'tooltip' => 'Define activity.', 'linktext' => 'Define Activity', 'menu_name' => 'defactivity', 'image' => 'blank.png', 'interest' => 'tutor_owner'), array('target' => 'deftask.php', 'tooltip' => 'define task to project.', 'linktext' => 'Define tasks.', 'menu_name' => 'deftask', 'image' => 'checkmark.png', 'interest' => 'tutor_owner'), array('target' => 'addscribe.php', 'tooltip' => 'add a project scribe.', 'linktext' => 'Add a project scribe', 'menu_name' => 'addscribe', 'image' => 'scribe.png', 'interest' => 'tutor_owner'), array('target' => 'presencelist.php', 'tooltip' => 'Presence to activities.', 'linktext' => 'Presence to activities.', 'menu_name' => 'presencelist', 'image' => 'html2.png', 'interest' => 'all'), array('target' => 'presenceoverview.php', 'tooltip' => 'Overview of Presence to activities.', 'linktext' => 'Overview of Presence to activities.', 'menu_name' => 'presenceOverview ', 'image' => 'public.png', 'interest' => 'all'))), array('interest' => 'project_scribe', 'toplinktext' => 'Register presence and tasks', 'tooltip' => 'Record task completion for tutors', 'menu_name' => 'project_scribe', 'image' => 'takenote.png', 'subitems' => array(array('target' => 'defactivity.php', 'tooltip' => 'Define activity.', 'linktext' => 'Define Activity', 'menu_name' => 'defactivity', 'image' => 'blank.png', 'interest' => 'project_scribe'), array('target' => 'deftask.php', 'tooltip' => 'define task to project.', 'linktext' => 'Define tasks.', 'menu_name' => 'deftask', 'image' => 'checkmark.png', 'interest' => 'project_scribe'), array('target' => 'presencelist.php', 'tooltip' => 'Presence to activities.', 'linktext' => 'Presence to activities.', 'menu_name' => 'presencelist', 'image' => 'html2.png', 'interest' => 'project_scribe'), array('target' => 'presenceoverview.php', 'tooltip' => 'Overview of Presence to activities.', 'linktext' => 'Overview of Presence to activities.', 'menu_name' => 'presenceOverview ', 'image' => 'public.png', 'interest' => 'project_scribe'), array('target' => 'tasklist.php', 'tooltip' => 'Task recording.', 'linktext' => 'Record and grade completed tasks', 'menu_name' => 'tasklist', 'image' => 'takenote.png', 'interest' => 'project_scribe'), array('target' => 'taskoverview.php', 'tooltip' => 'Tasks completed.', 'linktext' => 'Tasks completed.', 'menu_name' => 'taskOverview ', 'image' => 'checkmarks.png', 'interest' => 'project_scribe'))), array('interest' => 'recruiter', 'toplinktext' => 'Recruiter peer pages', 'tooltip' => 'Recruiters sharing information', 'menu_name' => 'recruitertop', 'image' => 'womanincape.png', 'subitems' => array(array('target' => 'planned_school_visit.php', 'tooltip' => 'School visit by recruiters', 'linktext' => 'Plan and share a school visit', 'menu_name' => 'planned_school_visit', 'image' => 'calendar.png', 'interest' => 'recruiter'), array('target' => 'schulen.php', 'tooltip' => 'Schulen NRW.', 'linktext' => 'Schulen Editor', 'menu_name' => 'schulen', 'image' => 'file_cabinet.png', 'interest' => 'recruiter'), array('target' => 'scholen_int.php', 'tooltip' => 'Scholen NL/int.', 'linktext' => 'Scholen Editor', 'menu_name' => 'scholen_int', 'image' => 'file_cabinet.png', 'interest' => 'recruiter'), array('target' => 'verbaende.php', 'tooltip' => 'Verbände Deutschland.', 'linktext' => 'Verbände Editor', 'menu_name' => 'verbände', 'image' => 'file_cabinet.png', 'interest' => 'recruiter'), array('target' => 'presse.php', 'tooltip' => 'Press contacts.', 'linktext' => 'Press Editor', 'menu_name' => 'presscontacts', 'image' => 'file_cabinet.png', 'interest' => 'recruiter'), array('target' => 'meelopen.php', 'tooltip' => 'Meelopen student', 'linktext' => 'Meelopen student', 'menu_name' => 'meelopen', 'image' => 'shaking_hands_icn.png', 'interest' => 'recruiter'), array('target' => 'meeloopdag.php', 'tooltip' => 'Plan meeloopdag', 'linktext' => 'Plan meeloopdag', 'menu_name' => 'meeloopdag', 'image' => 'plan_invite.png', 'interest' => 'recruiter'))), array('interest' => 'module', 'toplinktext' => 'Module pages', 'tooltip' => 'Module administration', 'menu_name' => 'module', 'image' => 'lego-tiny.png', 'subitems' => array(array('target' => 'module.php', 'tooltip' => 'Module ', 'linktext' => 'Module', 'menu_name' => 'mod', 'image' => 'lego-tiny.png', 'interest' => 'module'), array('target' => 'module_part.php', 'tooltip' => 'Module part', 'linktext' => 'Module part', 'menu_name' => 'mod_part', 'image' => 'lego-tiny.png', 'interest' => 'module'), array('target' => 'module_activity_description.php', 'tooltip' => 'Module details', 'linktext' => 'Module activity', 'menu_name' => 'mod_activity', 'image' => 'lego-tiny.png', 'interest' => 'module'), array('target' => 'exam_event.php', 'tooltip' => 'Define exam event', 'linktext' => 'Exam Event', 'menu_name' => 'exam_event', 'image' => 'lego-tiny.png', 'interest' => 'module'), array('target' => 'uploadGrades.php', 'tooltip' => 'Upload exam grades', 'linktext' => 'Upload Grades', 'menu_name' => 'upload_grades', 'image' => 'file_cabinet.png', 'interest' => 'module'))), array('interest' => 'student_admin', 'toplinktext' => 'Admin pages', 'tooltip' => 'Database administration', 'menu_name' => 'studentadmin', 'image' => 'ooffice-extension.png', 'subitems' => array(array('target' => 'student_admin.php', 'tooltip' => 'Add or edit student data.', 'linktext' => 'Student admin', 'menu_name' => 'studentadmin', 'image' => 'file_cabinet.png', 'interest' => 'lookupstudent'), array('target' => 'classmaker.php', 'tooltip' => 'Update classlists. Move students into student_class.', 'linktext' => 'Update student_class', 'menu_name' => 'classmaker', 'image' => 'SchoolClass.png', 'interest' => 'adminstudent_class'), array('target' => 'defstudent_class.php', 'tooltip' => 'Update student_class. Add and change class definitions.', 'linktext' => 'Class definition', 'menu_name' => 'defstudent_class', 'image' => 'class4b_icon.png', 'interest' => 'adminstudent_class'), array('target' => 'addtoclass.php', 'tooltip' => 'Move a student by number or name to a class.', 'linktext' => 'Move to Class', 'menu_name' => 'addtoclass', 'image' => 'toclass.png', 'interest' => 'adminstudent_class'), array('target' => 'class_cluster.php', 'tooltip' => 'Define class groups or clusters.', 'linktext' => 'Class clusters', 'menu_name' => 'class_cluster', 'image' => 'class4b_icon.png', 'interest' => 'adminstudent_class'), array('target' => 'slb.php', 'tooltip' => 'Update slb assignment.', 'linktext' => 'Set SLB', 'menu_name' => 'slb', 'image' => 'slb.png', 'interest' => 'adminstudent_class'), array('target' => 'ads_data.php', 'tooltip' => 'Get student ads account data', 'linktext' => 'Get ADS Account data', 'menu_name' => 'ADS', 'image' => 'winlogo1.png', 'interest' => 'adminstudent_class'), array('target' => 'base_criteria.php', 'tooltip' => 'Declare the text and meaning of the assessment criteria', 'linktext' => 'Declare criteria', 'menu_name' => 'defcrit', 'image' => 'klipper.png', 'interest' => 'mkproject'), array('target' => 'meelopen.php', 'tooltip' => 'Meelopen student', 'linktext' => 'Meelopen student', 'menu_name' => 'meelopen', 'image' => 'shaking_hands_icn.png', 'interest' => 'recruiter'), array('target' => 'meeloopdag.php', 'tooltip' => 'Plan meeloopdag', 'linktext' => 'Plan meeloopdag', 'menu_name' => 'meeloopdag', 'image' => 'plan_invite.png', 'interest' => 'recruiter'), array('target' => 'potential.php', 'tooltip' => 'Potential student', 'linktext' => 'Potential student', 'menu_name' => 'potential', 'image' => 'kontact_contacts.png', 'interest' => 'recruiter'), array('target' => 'anyselect.php', 'tooltip' => 'Get database data with any select', 'linktext' => 'Any select', 'menu_name' => 'anyselct', 'image' => 'kontact_contacts.png', 'interest' => 'system'), array('target' => 'projectauditor.php', 'tooltip' => 'Manage project auditors.', 'linktext' => 'Project auditor', 'menu_name' => 'projectauditor', 'image' => 'add_user.png', 'interest' => 'adminstudent_class'), array('target' => 'tutor.php', 'tooltip' => 'Set data on a tutor.', 'linktext' => 'Tutor editor', 'menu_name' => 'tutoreditor', 'image' => 'tutor_icon.png', 'interest' => 'adminstudent_class'), array('target' => 'rubberreports.php', 'tooltip' => 'Rubber Reports.', 'linktext' => 'Rubber Reports', 'menu_name' => 'Rubber', 'image' => 'Rubber_small.png', 'interest' => 'system'), array('target' => 'naw.php', 'tooltip' => 'Update Name,address data', 'linktext' => 'NA data', 'menu_name' => 'naw', 'image' => 'cervisia.png', 'interest' => 'adminstudent_class'), array('target' => 'known_courses2.php', 'tooltip' => 'List of known courses.', 'linktext' => 'Known courses', 'menu_name' => 'knowncourses', 'image' => 'cervisia.png', 'interest' => 'adminstudent_class'), array('target' => 'editcapabilities.php', 'tooltip' => 'Set User capabilities', 'linktext' => 'User capabilities', 'menu_name' => 'capabilities', 'image' => 'badge_mini.png', 'interest' => 'set_capabilities'), array('target' => 'tutorcluster.php', 'tooltip' => 'Set tutor class cluster(s)', 'linktext' => 'Tutor class groups', 'menu_name' => 'tutorcluster', 'image' => 'wrench_driver.png', 'interest' => 'set_capabilities'), array('target' => 'peer_settings.php', 'tooltip' => 'Peerweb settings', 'linktext' => 'Peerweb settings', 'menu_name' => 'Peerweb settings', 'image' => 'wrench_driver.png', 'interest' => 'system'), array('target' => 'iso3166.php', 'tooltip' => 'Country table', 'linktext' => 'Country table', 'menu_name' => 'Country table', 'image' => 'wrench_driver.png', 'interest' => 'system'), array('target' => 'nat_mapper.php', 'tooltip' => 'Translate nat to country code', 'linktext' => 'nat mapper', 'menu_name' => 'nat mapper', 'image' => 'wrench_driver.png', 'interest' => 'system'))), array('interest' => 'menu_admin', 'toplinktext' => 'Menu Table management', 'tooltip' => 'Database administration for the gui menus', 'menu_name' => 'menuphp', 'image' => 'cervisia.png', 'subitems' => array(array('target' => 'menu.php', 'tooltip' => 'Table management.', 'linktext' => 'Update menu', 'menu_name' => 'menuphp', 'image' => 'cervisia.png', 'interest' => 'menu_admin'), array('target' => 'menu_items.php', 'tooltip' => 'Menu Items.', 'linktext' => 'Update menu_item', 'menu_name' => 'menuitems', 'image' => 'cervisia.png', 'interest' => 'menu_admin'), array('target' => 'menu_option_queries.php', 'tooltip' => 'Menus select options.', 'linktext' => 'Update menu_option_queries', 'menu_name' => 'menuoptionqueries', 'image' => 'cervisia.png', 'interest' => 'menu_admin'), array('target' => 'enumeraties.php', 'tooltip' => 'Edit menu enumerations', 'linktext' => 'Enumerations', 'menu_name' => 'enumeraties', 'image' => 'cervisia.png', 'interest' => 'menu_admin'), array('target' => 'genform.php', 'tooltip' => 'Generate simple menu form.', 'linktext' => 'Generate Form', 'menu_name' => 'formgenerator', 'image' => 'design.png', 'interest' => 'menu_admin'), array('target' => 'regextester.php', 'tooltip' => 'Test regexes.', 'linktext' => 'Rgex tester', 'menu_name' => 'regextester', 'image' => 'configure.png', 'interest' => 'menu_admin'), array('target' => 'validator_regex.php', 'tooltip' => 'Edit regexes.', 'linktext' => 'Regex Editor', 'menu_name' => 'validator regex editor', 'image' => 'configure.png', 'interest' => 'menu_admin'), array('target' => 'validator_map.php', 'tooltip' => 'Connect regexes to input fields.', 'linktext' => 'Regex Mapper', 'menu_name' => 'validator map editor', 'image' => 'configure.png', 'interest' => 'menu_admin'))), array('interest' => 'student', 'toplinktext' => 'My peerweb', 'tooltip' => 'The student peerweb pages, home', 'menu_name' => 'home', 'image' => 'home.png', 'subitems' => array(array('target' => 'home.php', 'tooltip' => 'Welcome to peerweb', 'linktext' => 'Home', 'menu_name' => 'home', 'image' => 'home.png', 'interest' => 'all'), array('target' => 'activeprojects.php', 'tooltip' => 'Active project groups', 'linktext' => 'Active projects', 'menu_name' => 'activepojects', 'image' => 'folder_image.png', 'interest' => 'all'), array('target' => 'activegroup.php', 'tooltip' => 'Active group settings', 'linktext' => 'Active group', 'menu_name' => 'activegroup', 'image' => 'group_files.png', 'interest' => 'all'), array('target' => 'visited_colloquia.php', 'tooltip' => 'Activities you attended', 'linktext' => 'Activities visited', 'menu_name' => 'visitedcolloquia', 'image' => 'group_files.png', 'interest' => 'act_participant'), array('target' => 'peerpresenceoverview.php', 'tooltip' => 'Your presence lists', 'linktext' => 'Presence to activities', 'menu_name' => 'activitiespresent', 'image' => 'public.png', 'interest' => 'act_participant'), array('target' => 'peertaskoverview.php', 'tooltip' => 'My practica task overview', 'linktext' => 'My task status', 'menu_name' => 'peertaskoverview', 'image' => 'takenote.png', 'interest' => 'act_participant'), array('target' => 'mypeergroups.php', 'tooltip' => 'Your group memberships', 'linktext' => 'Memberships', 'menu_name' => 'mypeergroups', 'image' => 'kontact_contacts.png', 'interest' => 'all'), array('target' => 'myclass.php', 'tooltip' => 'Photos of your classmates', 'linktext' => 'Classmate photos', 'menu_name' => 'myclass', 'image' => 'dilbert_icon.png', 'interest' => 'all'))), array('interest' => 'student', 'toplinktext' => 'Peer assessment', 'tooltip' => 'The student peer assessment pages', 'menu_name' => 'ipeer', 'image' => 'kontact_contacts.png', 'subitems' => array(array('target' => 'igroupphoto.php', 'tooltip' => 'Group members', 'top_image' => 'dilbert_icon.png', 'linktext' => 'Group photos', 'menu_name' => 'groupphotos', 'image' => 'dilbert_icon.png', 'interest' => 'assessment_count'), array('target' => 'ipeer.php', 'tooltip' => 'Enter or update the assessment grades', 'top_image' => 'kontact_contacts.png', 'linktext' => 'Assessment', 'menu_name' => 'ipeer', 'image' => 'kontact_contacts.png', 'interest' => 'assessment_count'), array('target' => 'iresult.php', 'tooltip' => 'View own assessment grades', 'linktext' => 'Assessment Results', 'menu_name' => 'iresult', 'image' => 'kontact_summary.png', 'interest' => 'assessment_count'), array('target' => 'icontestant.php', 'tooltip' => 'View received detail grades', 'linktext' => 'Assessment Grades by judges', 'menu_name' => 'icontestant', 'image' => 'contestantResult.png', 'interest' => 'student_admin'), array('target' => 'mypeerresults.php', 'tooltip' => 'Your peer results', 'linktext' => 'All Assessments', 'menu_name' => 'mypeerresults', 'image' => 'kontact_contacts.png', 'interest' => 'all'), array('target' => 'rolesetter.php', 'tooltip' => 'Set or view roles for peers in project group', 'linktext' => 'Student Roles', 'menu_name' => 'rolesetter', 'image' => 'kontact_summary.png', 'interest' => 'project_count'), array('target' => 'studentgroupresult.php', 'tooltip' => 'Read peer group assessment result', 'linktext' => 'Group result', 'menu_name' => 'studentgroupresult', 'image' => 'kontact_contacts.png', 'interest' => 'read_result'), array('target' => 'imail.php', 'tooltip' => 'Send mail to fellow students', 'top_image' => 'mail_generic.png', 'linktext' => 'group eMail', 'menu_name' => 'imail', 'image' => 'mail_send.png', 'interest' => 'project_count'), array('target' => 'emailer.php', 'tooltip' => 'Send a mail to single recipient', 'top_image' => 'mail_generic.png', 'linktext' => 'Single Mail', 'menu_name' => 'emailer', 'image' => 'mail_send.png', 'interest' => 'all'))), array('interest' => 'sharing', 'toplinktext' => 'My Portfolio and shared stuff', 'tooltip' => 'The student portfolios and shared documents', 'menu_name' => 'portfolio', 'image' => 'group_files.png', 'subitems' => array(array('target' => 'portfolio.php', 'tooltip' => 'Your Portfolio', 'linktext' => 'Portfolio', 'menu_name' => 'portfolio', 'image' => 'folder_green_open.png', 'interest' => 'deliverable_count'), array('target' => 'upload.php', 'tooltip' => 'Upload your documents', 'top_image' => 'group_files.png', 'linktext' => 'Upload', 'menu_name' => 'upload', 'image' => 'fileuploadicon.png', 'interest' => 'deliverable_count'), array('target' => 'uploadviewer.php', 'tooltip' => 'View and critisize project files', 'linktext' => 'Group Files', 'menu_name' => 'uploadviewer', 'image' => 'group_files.png', 'interest' => 'deliverable_count'), array('target' => 'igrouprepos.php', 'tooltip' => 'Show my group repositories', 'linktext' => 'Group Repositories', 'menu_name' => 'ireposviewer', 'image' => 'group_repos.png', 'interest' => 'subversion'), array('target' => 'isubversionrepos.php', 'tooltip' => 'Manage your personal svn repositories', 'linktext' => 'Manage personal SVN repository', 'menu_name' => 'create a svn repository', 'image' => 'subversion.png', 'interest' => 'subversion'), array('target' => 'gitkey.php', 'tooltip' => 'Manage your personal GIT ssh keys', 'linktext' => 'Manage personal GIT keys', 'menu_name' => 'manage you git keys', 'image' => 'git.png', 'interest' => 'git'))), array('interest' => 'system', 'toplinktext' => 'Time and presence', 'tooltip' => 'Time keeping and student presence', 'menu_name' => 'personalpresence', 'image' => 'group_presence.png', 'subitems' => array(array('target' => 'personal_presence.php', 'tooltip' => 'presence at computer in the fontys network', 'top_image' => 'player_time.png', 'linktext' => 'Presence', 'menu_name' => 'personalpresence', 'image' => 'edu_languages.png', 'interest' => 'project_count'), array('target' => 'group_presence.php', 'tooltip' => 'group presence at computers in the fontys network', 'linktext' => 'Group Presence', 'menu_name' => 'grouppresence', 'image' => 'group_presence.png', 'interest' => 'project_count'), array('target' => 'grouptime.php', 'tooltip' => 'Time records of my group', 'linktext' => 'Group Time', 'menu_name' => 'grouptime', 'image' => 'group_time.png', 'interest' => 'project_count'), array('target' => 'project_tasks.php', 'tooltip' => 'Your defined tasks', 'top_image' => 'player_time.png', 'linktext' => 'Project tasks', 'menu_name' => 'gprojecttasks', 'image' => 'player_time.png', 'interest' => 'all'), array('target' => 'timebook.php', 'tooltip' => 'Various personal settings', 'top_image' => 'player_time.png', 'linktext' => 'Time book keeping', 'menu_name' => 'timebook', 'image' => 'player_time.png', 'interest' => 'all'), array('target' => 'tasktimer.php', 'tooltip' => 'The task timer', 'top_image' => 'player_time.png', 'linktext' => 'Task timer', 'menu_name' => 'tasktimer', 'image' => 'player_time.png', 'interest' => 'all'))), array('interest' => 'all', 'toplinktext' => 'Personal data and settings', 'tooltip' => 'Her you can view or modify your personal data', 'image' => 'configure.png', 'menu_name' => 'personaldata', 'subitems' => array(array('target' => 'myface.php', 'tooltip' => 'My image on peerweb', 'linktext' => 'my peer photo', 'menu_name' => 'personal photo', 'image' => 'dilbert_icon.png', 'interest' => 'all'), array('target' => 'emailaddress.php', 'tooltip' => 'Personal data and email addressess', 'linktext' => 'personal data and email addres', 'menu_name' => 'personaldata', 'image' => 'mail_address.png', 'interest' => 'all'), array('target' => 'signature.php', 'tooltip' => 'Set the emailer signature', 'top_image' => 'mail_generic.png', 'linktext' => 'eMail signature', 'menu_name' => 'emailer', 'image' => 'signature.png', 'interest' => 'all'), array('target' => 'bigface_settings.php', 'tooltip' => 'Setting voor smoelenbord fibs', 'linktext' => 'Setting voor smoelenbord fibs', 'menu_name' => 'personaldata', 'image' => 'dilbert_icon.png', 'interest' => 'bigface'))));
$tutor_navtable = $navtable;
示例#10
0
$phone_home = trim($phone_home);
$phone_gsm = trim($phone_gsm);
$huisnr = trim($huisnr);
$plaats = trim($plaats);
$pcode = trim($pcode);
$hoofdgrp = trim($hoofdgrp);
$slb = trim($study_coach);
$email1f = $email1 = trim($email1);
$name = $roepnaam . ' ' . $voorvoegsel . ' ' . $achternaam;
$lpi_id_field = "<input type='text' name='lpi_id' value ='{$lpi_id}' size='12'/>";
$photo = PHOTOROOT . '/' . $snummer . '.jpg';
//$dbConn->log($photo);
if (!file_exists('fotos/' . $snummer . '.jpg')) {
    $photo = '';
}
if (hasCap(CAP_ALTER_STUDENT)) {
    $achternaam = "<input type='text' name='achternaam' value='{$achternaam}' size='20'/>";
    $roepnaam = "<input type='text' name='roepnaam' value='{$roepnaam}' size='20'/>";
    $voorvoegsel = "<input type='text' name='voorvoegsel' value=\"{$voorvoegsel}\" size='10'/>";
    $voorletters = "<input type='text' name='voorletters' value='{$voorletters}' size='8'/>";
    $straat = "<input type='text' name='straat' value='{$straat}' size='20'/>";
    $huisnr = "<input type='text' name='huisnr' value='{$huisnr}' size='5' />";
    $plaats = "<input type='text' name='plaats' value='{$plaats}' size='20' />";
    $pcode = "<input type='text' name='pcode' value='{$pcode}' size='8'/>";
    $pcn = "<input type='text' name='pcn' value='{$pcn}' size='6'/>";
    $cohort = "<input type='text' name='pcn' value='{$cohort}' size='4'/>";
    $class_id = "<select name='class_id'>" . getOptionListGrouped($dbConn, "select distinct rtrim(faculty_short)||':'||rtrim(sclass) as name,\n" . "c.class_id as value,sclass,faculty_short as namegrp\n" . " from student_class c join class_size cs on(c.class_id=cs.class_id) " . "join faculty f on(c.faculty_id=f.faculty_id) \n" . "order by namegrp,name,value", $class_id) . "</select>";
    $faculteit = "<select name='faculty_id'>\n" . getOptionList($dbConn, "select distinct faculty_id||': '||rtrim(faculty.full_name) as name,faculty_id as value\n" . " from faculty \n" . "order by name,value ", $faculty_id) . "</select>";
    $course_description = "<select name='opl'>" . getOptionListGrouped($dbConn, "select distinct rtrim(course_description) as name,\n" . "course as value,\n" . "i.faculty_short as namegrp\n" . " from fontys_course " . "join faculty i using(faculty_id) \n" . "order by namegrp,name,value ", $opl) . "</select>";
    $nationaliteit = "<select name='nationaliteit'>" . getOptionList($dbConn, "select name,value from nationality", $nationaliteit) . "</select>";
    //$hoofdgrp="<input type='text' name='hoofdgrp' value='$hoofdgrp' size='6' />";
示例#11
0
<?php

$tabInterestCount = array();
$tabInterestCount['all'] = 1;
$tabInterestCount['tutor'] = hasCap(CAP_TUTOR) ? 1 : 0;
$tabInterestCount['mkproject'] = hasCap(CAP_MKPROJECT) ? 1 : 0;
$tabInterestCount['adminstudent_class'] = hasCap(CAP_MKCLASSES) ? 1 : 0;
$tabInterestCount['system'] = hasCap(CAP_SYSTEM) ? 1 : 0;
$tabInterestCount['none'] = 0;
$snummer = $_SESSION['snummer'];
$sql = "select count(*) as project_scribe from all_project_scribe where scribe={$peer_id}";
$resultSet = $dbConn->Execute($sql);
if ($resultSet === false) {
    die('Error: ' . $dbConn->ErrorMsg() . ' with ' . $sql);
}
$tabInterestCount['project_scribe'] = $resultSet->fields['project_scribe'];
// $sql = "select count(prj_id) as nav_deliverable_count from prj_grp join project_deliverables using(prj_id,milestone)\n".
//     " where snummer=$snummer";
// $resultSet=$dbConn->Execute($sql);
// if ($resultSet=== false) {
//     die('Error: '.$dbConn->ErrorMsg().' with '.$sql);
// }
$tabInterestCount['deliverable_count'] = 1;
//$resultSet->fields['nav_deliverable_count'];
// $sql = "select count(prj_id) as assessment_count from assessment where contestant=$snummer";
// $resultSet=$dbConn->Execute($sql);
// if ($resultSet=== false) {
//     die('Error: '.$dbConn->ErrorMsg().' with '.$sql);
// }
$tabInterestCount['assessment_count'] = 1;
//$resultSet->fields['assessment_count'];
示例#12
0
文件: ste.php 项目: homberghp/peerweb
 /**
  * execute the delete
  */
 function doDelete()
 {
     /**
      * is there a checker and does it allow delete?
      */
     if (isset($this->deleteChecker)) {
         if (!$this->deleteChecker->checkForDelete($this->menu->getMenuValues(), $this->dbMessage)) {
             return 0;
         }
     }
     if (hasCap($this->menu->requiredCap)) {
         /* test if all keycolumn values are set */
         $dq = new DeleteQuery($this->dbConn, $this->relation);
         $dq->setKeyColumns($this->keyColumns);
         $dq->setSubmitValueSet($_POST);
         $dq->setUpdateSet($_POST);
         /* leave an empty menu .. */
         if ($dq->areKeyColumnsSet()) {
             /* allow delete */
             $query = $dq->getQuery();
             $result = doDelete($this->dbConn, $query, $this->dbMessage);
             if ($result > 0) {
                 $this->dbMessage .= $result . ' rows deleted';
             } else {
                 $this->dbMessage .= ' delete failed';
             }
             $_GET = array();
             $this->keyValues = array();
             /* meuk */
         } else {
             $this->dbMessage .= 'DB ERROR: Delete failed.<br>Not all keyColumns have been set';
         }
     }
 }
示例#13
0
<?php

/**
 * 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: enumeraties.php 1723 2014-01-03 08:34:59Z hom $
 */
require_once "ste.php";
requireCap(CAP_SYSTEM);
$page = new PageContainer("Set enumerations in menus " . $PHP_SELF . " on DB " . $db_name);
$ste = new SimpleTableEditor($dbConn, $page, hasCap(CAP_SYSTEM));
$ste->setFormAction($PHP_SELF)->setRelation('enumeraties')->setMenuName('enumeraties')->setKeyColumns(array('id'))->setFormTemplate('templates/enumeraties.html')->setListRowTemplate(array('id', 'menu_name', 'column_name', 'name', 'value', 'sort_order', 'is_default'))->setNameExpression("menu_name||', '||column_name")->show();
?>

示例#14
0
<?php

include_once './peerlib/peerutils.inc';
// This script dumps a repository to the webbrowser, advertising it as basename(repo)-date.tar.bz2
// Parameters are retreived using post
// userid must be owner of repos
$prepos_id = 0;
$isSystem = hasCap(CAP_SYSTEM) ? 'true' : 'false';
extract($_SESSION);
if (isset($_REQUEST['repos_id'])) {
    $repos_id = validate($_REQUEST['repos_id'], 'integer', $act_id);
}
$sql = "select owner,repospath,url_tail,id,youngest from personal_repos where id={$repos_id} and (owner='{$snummer}' or {$isSystem}) ";
$resultSet = $dbConn->Execute($sql);
if ($resultSet === false) {
    die('Error: ' . $dbConn->ErrorMsg() . ' with ' . $sql);
}
if (!$resultSet->EOF) {
    $dumpname = 'tarfile.tar.bz2';
    extract($resultSet->fields);
    $repossubdir = basename($repospath);
    $dumpname = $owner . '-' . basename($repossubdir) . '-' . date('Y-m-d') . '.tar.bz2';
    $reposparent = dirname($repospath);
    // open stream with proper name and execute tar cmnd
    header("Pragma: no-cache");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header('Content-Description: File Download');
    header('Content-Type: application/octet-stream');
    //	header( 'Content-Length: '.trim(`stat -c%s "$file"`) );
    header('Content-Disposition: attachment; filename="' . $dumpname . '"');
    header('Content-Transfer-Encoding: binary');