$form_head = "\n<form id='delete_edit_form{$critique_id}' method='get' action='{$PHP_SELF}'>\n"; $legend_head = "<legend>Critique {$critique_id} by {$roepnaam} {$voorvoegsel} {$achternaam} ({$critiquer})</legend>\n" . $editor_inputs . "\n"; $history_link = $history_count > 0 ? "<a href='critique_history.php?critique_id={$critique_id}' target='_blank'>{$edit_time}</a>" : "{$edit_time}"; $critiqueList .= "\n{$div_head}\n" . "{$form_head}\n" . "<fieldset>\n" . "{$legend_head}\n" . " <table class='layout' summary='critiquer data'>\n" . "<!--<tr><td>Critique id</td><th align='left'>{$critique_id}</th></tr>\n" . "<tr><td>Critiquer</td><th align='left'>{$roepnaam} {$voorvoegsel} {$achternaam} ({$critiquer})</th></tr> -->" . " <tr><td>Group</td><th align='left'>{$critiquer_grp}({$afko} {$year} ) </th></tr>" . "<tr><td>Critique time</td><th align='left'>{$critique_time}</th></tr>" . "<tr><td>Last edit</td><th align='left'>{$history_link}</th></tr>" . "</table>\n" . "{$critique_text}" . "</fieldset>\n</form>\n</div>"; $resultSet->moveNext(); } $critiqueList .= "<!-- end critiqueList-->"; } } $pp['critiqueList'] = $critiqueList; if (authorized_document($critiquer, $doc_id)) { $fragment = 'templates/upload_critique.html'; } else { $fragment = 'templates/upload_critique_noaccess.html'; } $page->addHtmlFragment($fragment, $pp); $page->addHeadText(' <script type="text/javascript"> function bye(){ opener.focus(); opener.location.href="$referer?doc_id=$doc_id"; opener.location.reload(); self.close(); } function delete_crit( crit ) { var Check = confirm("Do you want to delete this qritique?"); if (Check == true) return true; else false; } function invoke_editor( crit,doc_id,cmd ) { window.open(\'critique_editor.php?critique_id=\'+crit+\'&cmd=\'+cmd+\'&doc_id=\'+doc_id, \'_blank\', \'width=800,height=670,scrollbars\'); }
$result = $dbConn->Affected_Rows(); if ($result == 0) { $sql = "update meeloopmail set subject_nl='{$pp['subject_nl']}',\n" . "subject_de='{$pp['subject_de']}',\n" . "mailbody_nl='{$mailbody_nl}',\n" . "mailbody_de='{$mailbody_de}'\n" . "where owner={$peer_id} and meeloop_datum='{$pp['meeloop_datum']}'"; $dbConn->Execute($sql); $result = $dbConn->Affected_Rows(); } } if (isset($_POST['mail']) && isset($_POST['domail'])) { $mail = $_POST['mail']; $mailset = '\'' . implode("','", $mail) . '\''; $sql_de = "select meelopen_id,email as email1, \n" . "roepnaam ||' '||coalesce(tussenvoegsel,'')||' '||achternaam as name\n" . "from meelopen\n" . "where taal ='DE' and meelopen_id in ({$mailset})"; $sql_nl = "select meelopen_id,email as email1, \n" . "roepnaam ||' '||coalesce(tussenvoegsel,'')||' '||achternaam as name\n" . "from meelopen\n" . "where taal ='NL' and meelopen_id in ({$mailset})"; //$dbConn->log( $sql ); formMailer($dbConn, $sql_de, $pp['subject_de'], $pp['mailbody_de'], $sender, $sender_name); formMailer($dbConn, $sql_nl, $pp['subject_nl'], $pp['mailbody_nl'], $sender, $sender_name); // update invitation $sql = "begin work;\n" . "update meelopen set invitation=now()::date where meelopen_id in ({$mailset});\n" . "update meeloopmail set invitation_datum = now()::date where owner={$peer_id} and meeloop_datum='{$pp['meeloop_datum']}';\n" . "commit"; $rs = $dbConn->Execute($sql); if ($rs === false) { $dbConn->Execute('rollback'); } } $sql = "select '<input type=''checkbox'' name=''mail[]'' value='''||meelopen_id||'''/>' as chk,\n" . "achternaam,roepnaam,tussenvoegsel,plaats,land,postcode,email,sex,datum_in,invitation \n" . "from meelopen where participation isnull order by invitation desc,land,achternaam"; $pp['rtable'] = new SimpleTableFormatter($dbConn, $sql, $page); $pp['rtable']->setCheckColumn(0)->setCheckName('mail[]')->setColorChangerColumn(10)->setTabledef("<table id='myTable' class='tablesorter' summary='meeloop studenten'" . " style='empty-cells:show;border-collapse:collapse' border='1'>"); $page->addHtmlFragment('templates/meeloopdag.html', $pp); $page->addHeadText(file_get_contents('templates/simpledatepicker.html')); $page->addScriptResource('js/jquery-1.7.1.min.js'); $page->addScriptResource('js/jquery-ui-1.8.17.custom.min.js'); $page->addJqueryFragment('$(\'#meeloop_datum\').datepicker(dpoptions);'); $page->show();
// no coauthors for personal project with id==1 $sql = "select snummer as co, achternaam, roepnaam,coalesce(voorvoegsel,'')\n" . " from student natural join prj_grp \n" . " where prjtg_id={$prjtg_id} order by achternaam, roepnaam"; //echo $sql; $resultSet = $dbConn->execute($sql); if ($resultSet === false) { die('Error: ' . $dbConn->ErrorMsg() . ' with ' . $sql); } $pp['coauthor_table'] .= "<table border='1' style='background:rgba(255,255,255,0.3);border-collapse:collapse'>\n" . "\t<caption>Co authors of document</caption>\n" . "\t\t<tr><th>snummer</th><th>name</th><th>is co author</th></tr>\n"; while (!$resultSet->EOF) { extract($resultSet->fields); $checked = $snummer == $co ? 'checked' : ''; $pp['coauthor_table'] .= "<tr><td>{$co}</td><td>{$roepnaam} {$voorvoegsel} {$achternaam}</td>\n\t<td><input type='checkbox' name='coauthor[]' value='{$co}' {$checked}/></td></tr>\n"; $resultSet->moveNext(); } $pp['coauthor_table'] .= "<table>\n"; } } $pp['coauthor_table'] .= "<table border='1' style='background:rgba(255,255,255,0.3);border-collapse:collapse'>\n" . "\t<caption>Co authors of document</caption>\n" . "\t\t<tr><th>snummer</th><th>name</th><th>is co author</th></tr>\n"; while (!$resultSet->EOF) { extract($resultSet->fields); $checked = $snummer == $co ? 'checked' : ''; $pp['coauthor_table'] .= "<tr><td>{$co}</td><td>{$roepnaam} {$voorvoegsel} {$achternaam}</td>\n" . "\t<td><input type='checkbox' name='coauthor[]' value='{$co}' {$checked}/></td></tr>\n"; $resultSet->moveNext(); } $pp['coauthor_table'] .= "<table>\n"; } $pp['prjSel'] = $prjSel; $page->addHtmlFragment('templates/upload.html', $pp); $page->addBodyComponent(new Component(ob_get_clean())); //$page->addBodyComponent($dbConn->getLogHtml()); $page->show();
$page->addBodyComponent(new Component(ob_get_clean())); $page->addBodyComponent($nav); $lazyCount = 0; $lazyjudges = ''; $sqlx = "select distinct roepnaam||coalesce(' '||voorvoegsel,'')||' '||achternaam as naam,achternaam,prjtg_id\n" . "from student join judge_notready using(snummer)\n" . "join prj_tutor using(prjtg_id)\n" . "where prjtg_id={$prjtg_id} order by achternaam,naam"; $resultSet = $dbConn->Execute($sqlx); if ($resultSet === false) { echo 'Error getting judge not ready with <pre>' . $dbConn->ErrorMsg() . ' with<br/> ' . $sqlx . "</pre>\n"; stacktrace(1); } else { while (!$resultSet->EOF) { $lazyCount++; $lazyjudges .= '<tr><td>' . $resultSet->fields['naam'] . '</td></tr>'; $resultSet->moveNext(); } } $sql = "select '('||snummer||')' as snummer,roepnaam||' '||coalesce(voorvoegsel,'')||' '||achternaam as name,\n" . " student_class.sclass as class\n" . " from student join prj_grp using(snummer) \n" . "join student_class using (class_id)\n" . "join all_prj_tutor using(prjtg_id)\n" . "where prjtg_id={$prjtg_id} \n" . "order by class,achternaam,roepnaam"; $resultSet = $dbConn->Execute($sql); if ($resultSet === false) { die('Error getting judge fellows ' . $dbConn->ErrorMsg() . ' with ' . $sql); } $pp['fellowTable'] = getQueryToTableChecked($dbConn, $sql, true, 2, new RainBow(0x46b4b4, 64, 32, 0), 7, '', 0); $pp['formOrNop'] = ''; if ($lazyCount > 0) { $pp['formOrNop'] = "<br/>" . $langmap['niet zover'][$lang] . ": \n<table>" . $lazyjudges . "</table>\n"; } else { $rainbow = new RainBow(STARTCOLOR, COLORINCREMENT_RED, COLORINCREMENT_GREEN, COLORINCREMENT_BLUE); $pp['formOrNop'] = "<form action='{$PHP_SELF}' name='recalc' method='get'>\n" . getIndividualResultTable($dbConn, $lang, $prjtg_id, $snummer, $groupgrade, $rainbow) . "\n</form>\n" . "<table><tr><td>" . $langmap['columnexplain'][$lang] . "</td><td>" . $langmap['columnnorights'][$lang] . "</td></tr></table>\n"; } $page->addHtmlFragment('templates/iresult.html', $pp); $page->show();
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) { foreach ($datePickers as $dp) { $page->addJqueryFragment("\$('#" . $dp . "').datepicker(dpoptions);"); } } $pp['prjSelectionDetails'] = $prjSel->getSelectionDetails(); $page->addHtmlFragment('templates/defuploadtype.html', $pp); $page->show();
$resultSet = $dbConn->Execute($sql); $dbConn->transactionEnd(); unset($_SESSION['gradeSet']); } } $rows = ""; if (count($gradeSet)) { $cands = implode(',', array_keys($gradeSet)); $sql = "select snummer, achternaam,roepnaam,coalesce(', '||voorvoegsel,'') as voorvoegsel " . "from student where snummer in ({$cands}) order by achternaam,roepnaam"; $resultSet = $dbConn->Execute($sql); if ($resultSet === FALSE) { die("error " . $dbConn->ErrorMsg() . "\n"); } for (; !$resultSet->EOF; $resultSet->moveNext()) { extract($resultSet->fields); $rows .= "<tr><td><input type='hidden' name='cand[]' value='{$snummer}'/>{$snummer}</td><td>{$achternaam}{$voorvoegsel}</td>" . "<td>{$roepnaam}</td><td><input style='text-align:right' size='3' type='number' name='grade[]' min='0' max='10.0' step='0.1' value='{$gradeSet[$snummer]}'/></td></tr>\n"; } if ($rows != "") { $rows = "<table border='1' style='border-collapse:collapse;'>\n" . "<tr><th>snummer</th><th>lastname</th><th>name</th><th>grade</th></tr>" . $rows . "\n</table>\n"; } } $pp = array(); $pp['rows'] = $rows; $pp['showInput'] = $showInput; $pp['event'] = $event; $page_opening = "Upload grades on DB {$db_name} "; $nav = new Navigation(array(), basename($PHP_SELF), $page_opening); $page = new PageContainer(); $page->addBodyComponent($nav); $page->addHtmlFragment('templates/uploadGrades.php', $pp)->show();
$grpSelect = ''; } else { $grpSelect = "and grp_num='{$judge_grp_num}' "; } $sql = "select afko,pt.grp_num,coalesce('g'||pt.grp_num,pt.grp_name) as grp_name,\n" . "pg.snummer as mail,rtrim(role) as role, pg.snummer,\n" . "achternaam||coalesce(', '||voorvoegsel,'') as achternaam,roepnaam,\n" . "trim(sclass) as sclass, tutor, 'role'||sr.rolenum as checkclass, 0 as lo\n" . "from\n" . "student join prj_grp pg using(snummer)\n" . "join student_class using (class_id)\n" . " join prj_tutor pt on(pg.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" . " left join student_role sr on(pt.prjm_id=sr.prjm_id and sr.snummer=pg.snummer)\n" . " left join project_roles pr on (pm.prj_id=pr.prj_id and pr.rolenum=sr.rolenum)\n" . " left join grp_alias ga on(pg.prjtg_id=ga.prjtg_id)\n" . " where pt.prjm_id={$prjm_id} {$grpSelect} and pm.prj_id>1"; $sql2 = "\n union\n" . "select apt.afko,grp_num,'tutor' as grp_name,\n" . "apt.tutor_id as mail, 'TUTOR' as role, apt.tutor_id as snummer,ts.achternaam||coalesce(', '||ts.voorvoegsel,'') as achternaam,ts.roepnaam,\n" . "'TUTOR' as sclass, tutor, 'role'||'999' as checkclass,1 as lo \n" . "from all_prj_tutor apt join student ts on(apt.tutor_id=ts.snummer) left join grp_alias gat using(prjtg_id) \n" . "where apt.prjm_id ={$prjm_id} {$grpSelect} and apt.prj_id>1\n"; $sql .= $sql2 . " order by grp_num,lo,achternaam,roepnaam"; // echo $sql; $resultSet = $dbConn->Execute($sql); $rb = new RainBow(); $bg = $rb->getCurrent(); $og = $resultSet->fields['grp_num']; while (!$resultSet->EOF) { extract($resultSet->fields); if ($og != $grp_num) { $bg = $rb->getNext(); $og = $grp_num; } $checked = in_array($snummer, $mailto) ? 'checked' : ''; $result .= "\n <tr style='background:{$bg}'><td align='right'>{$counter}</td>\n <td align='center'><input type='checkbox' name='mailto[]' value='{$snummer}' class='{$checkclass} {$sclass}' {$checked}/></td>\n <td>{$role}</td>\n <td>{$snummer}</td><td>{$achternaam}</td><td>{$roepnaam}</td><td>{$sclass}</td>\n <td class='num'>{$grp_num}</td><td>{$grp_name}</td><td>{$tutor}</td>\n </tr> "; $resultSet->moveNext(); $counter++; } return $result . "</table>"; } $pp['eTable'] = emailTable($dbConn, $prjm_id, $isTutor, $mailto); $pp['rTable'] = roleTable($dbConn, $prjm_id); $pp['classTable'] = classTable($dbConn, $prjm_id); $pp['selWidget'] = $prjSel->getWidget(); $page->addHtmlFragment('templates/groupemail.php', $pp); $page->show();
$nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening); $nav->setInterestMap($tabInterestCount); if (isset($_REQUEST['getall']) && (!isset($mailto) || count($mailto) == 0)) { $sql = "select snummer as mailto \n" . "from prj_grp join all_prj_tutor using(prjtg_id)\n" . "where prjm_id={$prjm_id} "; $resultSet = $dbConn->Execute($sql); if ($resultSet === false) { print "error fetching judge data with {$sql} : " . $dbConn->ErrorMsg() . "<br/>\n"; } $mailto = array(); while (!$resultSet->EOF) { array_push($mailto, $resultSet->fields['mailto']); $resultSet->moveNext(); } } $nav->addLeftNavText(file_get_contents('news.html')); ob_start(); tutorHelper($dbConn, $isTutor); $page->addBodyComponent(new Component(ob_get_clean())); $page->addBodyComponent($nav); $page->addHeadFragment('templates/tinymce_include.html'); $pp['prjList'] = $prjList; if ($isTutor) { $grpSelect = ''; } else { $grpSelect = "and pg.prjtg_id={$prjtg_id} "; } $sql = "select afko,apt.grp_num||coalesce(': '||alias,'') as grp_num,\n" . "'<input type=\"checkbox\" name=\"mail[]\" value=\"'||s.snummer||'\"/>' as chk,\n" . "rtrim(role) as role, s.snummer,\n" . "achternaam||coalesce(', '||voorvoegsel,'') as achternaam,roepnaam,\n" . "sclass as class, tutor " . "from\n" . "student s join prj_grp pg using(snummer)\n" . "join student_class using (class_id)\n" . " join all_prj_tutor apt on(pg.prjtg_id=apt.prjtg_id)\n" . " left join student_role sr on(sr.prjm_id=apt.prjm_id and sr.snummer=s.snummer) " . "left join project_roles pr on(apt.prj_id=pr.prj_id and pr.rolenum=sr.rolenum)\n" . " where apt.prjm_id={$prjm_id} {$grpSelect} and apt.prj_id>1 order by apt.grp_num,apt.milestone,s.achternaam,s.roepnaam"; $pp['rtable'] = new SimpleTableFormatter($dbConn, $sql, $page); $pp['rtable']->setColorChangerColumn(1)->setTabledef("<table id='myTable' summary='your requested data'" . " style='empty-cells:show;border-collapse:collapse' border='1'>")->setCheckName('mail[]')->setCheckColumn(2); $page->addHtmlFragment('templates/imail.html', $pp); $page->show();
<?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();
$groups[$grp_name][] = $snummer; $resultSet->moveNext(); } } $pp['grpLists'] = ''; $all = array(); foreach ($groups as $grp => $list) { //echo implode(' ',$list); if (isset($list) && is_array($list)) { $grpStr = join(',', $list); $all[] = join(',', $list); } else { $grpStr = ''; } $pp['grpLists'] .= "<span>{$grp}={$grpStr}</span><br/>\n"; } $allMembers = join(',', $all); $pp['grpLists'] .= "<span>all={$allMembers}</span><br/>\n"; $pp['afko_lc'] = strtolower($afko); $prjSel->setSubmitOnChange(true); $pp['prj_id_selector'] = $prjSel->getWidget(); $page_opening = "Subversion repositories for project {$afko}: {$description} (prj_id: {$prj_id}, milestone:{$milestone})"; $nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening); $nav->setInterestMap($tabInterestCount); $page->addBodyComponent($nav); $page->addHtmlFragment('templates/subversionrepostop.html', $pp); if (isset($pp['fileeditor'])) { $pp['fileeditor']->getWidgetForPage($page, $pp); } $page->addHtmlFragment('templates/subversionreposbottom.html', $pp); $page->show();
} $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); $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['cTable'] = $tableFormatter; $page->addHtmlFragment('templates/slb.html', $pp); $page->show(); ?>
$result = $dbConn->Affected_Rows(); if ($result == 0) { $sql = "update absentmail set subject_nl='{$pp['subject_nl']}',\n" . "subject_de='{$pp['subject_de']}',\n" . "mailbody_nl='{$mailbody_nl}',\n" . "mailbody_de='{$mailbody_de}'\n" . "where owner={$peer_id} and absent_datum='{$pp['absent_datum']}'"; $dbConn->Execute($sql); $result = $dbConn->Affected_Rows(); } } if (isset($_POST['mail']) && isset($_POST['domail'])) { $mail = $_POST['mail']; $mailset = '\'' . implode("','", $mail) . '\''; $sql_de = "select absent_id,email as email1, \n" . "roepnaam ||' '||coalesce(tussenvoegsel,'')||' '||achternaam as name\n" . "from absent\n" . "where taal ='DE' and absent_id in ({$mailset})"; $sql_nl = "select absent_id,email as email1, \n" . "roepnaam ||' '||coalesce(tussenvoegsel,'')||' '||achternaam as name\n" . "from absent\n" . "where taal ='NL' and absent_id in ({$mailset})"; //$dbConn->log( $sql ); formMailer($dbConn, $sql_de, $pp['subject_de'], $pp['mailbody_de'], $sender, $sender_name); formMailer($dbConn, $sql_nl, $pp['subject_nl'], $pp['mailbody_nl'], $sender, $sender_name); // update invitation $sql = "begin work;\n" . "update absent set invitation=now()::date where absent_id in ({$mailset});\n" . "update absentmail set invitation_datum = now()::date where owner={$peer_id} and absent_datum='{$pp['absent_datum']}';\n" . "commit"; $rs = $dbConn->Execute($sql); if ($rs === false) { $dbConn->Execute('rollback'); } } $sql = "select '<input type=''checkbox'' name=''mail[]'' value='''||absent_id||'''/>' as chk,\n" . "achternaam,roepnaam,tussenvoegsel,plaats,land,postcode,email,sex,datum_in,invitation \n" . "from where participation isnull order by invitation desc,land,achternaam"; $pp['rtable'] = new SimpleTableFormatter($dbConn, $sql, $page); $pp['rtable']->setCheckColumn(0)->setCheckName('mail[]')->setColorChangerColumn(10)->setTabledef("<table id='myTable' class='tablesorter' summary='absent studenten'" . " style='empty-cells:show;border-collapse:collapse' border='1'>"); $page->addHtmlFragment('templates/absentdag.html', $pp); $page->addHeadText(file_get_contents('templates/simpledatepicker.html')); $page->addScriptResource('js/jquery-1.7.1.min.js'); $page->addScriptResource('js/jquery-ui-1.8.17.custom.min.js'); $page->addJqueryFragment('$(\'#absent_datum\').datepicker(dpoptions);'); $page->show();
$pp['newGroupOptionList'] = getOptionListGrouped($dbConn, $grp_sql, $newprjtg_id); $page = new PageContainer(); $page_opening = "Move students between project groups."; $page->setTitle($page_opening); $nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening); $nav->setInterestMap($tabInterestCount); $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\'],headers: {0:{sorter:false}}}); var table = $("#myTable"); table.bind("sortEnd",function() { var i = 0; table.find("tr:gt(0)").each(function(){ $(this).find("td:eq(0)").text(i); i++; }); }); '); $getAll = ''; //$getAll = isSet($_REQUEST['get']) ? 'checked' : ''; $sql = "SELECT '<input type=''checkbox'' name=''studenten[]'' value='''||st.snummer||''' {$getAll}/>' as chk,\n" . "'<a href=''student_admin.php?snummer='||snummer||'''>'||st.snummer||'</a>' as snummer," . "'<img src='''||photo||''' style=''height:24px;width:auto;''/>' as foto,\n" . "achternaam||coalesce(', '||voorvoegsel,'') as achternaam,\n" . "roepnaam,cl.sclass as klas,cohort,st.opl as opl_code,lang,sex,tutor as slb,gebdat,email1,email2," . "hoofdgrp, studieplan_omschrijving as studieplan , plaats,straat||coalesce(' '||huisnr,'') as adres,pcode,land\n" . " from student st " . "join student_class cl using(class_id)\n" . "join prj_grp pg using (snummer)\n" . "left join fontys_course fc on(st.opl=fc.course)\n" . "left join studieplan sp using(studieplan)\n" . "left join tutor t on (st.slb=t.userid)\n" . "left join alt_email using(snummer)\n" . "natural join portrait \n" . "where prjtg_id={$oldprjtg_id} " . "order by hoofdgrp,opl_code,sclass asc,achternaam,roepnaam"; $dbConn->log($sql); $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['memberTable'] = $tableFormatter->getTable(); $page->addHtmlFragment('templates/defgroupmembersalt.html', $pp); $page->show();
<?php require_once 'component.inc'; require_once './peerlib/peerutils.inc'; include_once 'tutorhelper.inc'; require_once 'navigation.inc'; $pp = array(); if (file_exists('fotos/' . $judge . '.jpg')) { $pp['foto'] = 'fotos/' . $judge . '.jpg'; } else { $pp['foto'] = 'fotos/0.jpg'; } if (file_exists('mfotos/' . $judge . '.jpg')) { $pp['mfoto'] = 'mfotos/' . $judge . '.jpg'; } else { $pp['mfoto'] = 'mfotos/0.jpg'; } $title = "My peerweb face"; $page = new PageContainer($title); ob_start(); tutorHelper($dbConn, $isTutor); $page->addBodyComponent(new Component(ob_get_clean())); $nav = new Navigation(array(), $page, $title); $page->addBodyComponent($nav); $page->addHtmlFragment('templates/myface.html', $pp); $page->show();
$page_opening = "Move students between student_class."; $page->setTitle($page_opening); $nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening); $nav->setInterestMap($tabInterestCount); $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\'],headers: {0:{sorter:false}}}); var table = $("#myTable"); table.bind("sortEnd",function() { var i = 0; table.find("tr:gt(0)").each(function(){ $(this).find("td:eq(0)").text(i); i++; }); }); '); $filename = '/home/maillists/' . $prefix . '.maillist'; $pp['filetime'] = 'never'; if (file_exists($filename)) { $pp['filetime'] = date("Y-m-d H:i:s", filemtime($filename)); } $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," . "email1 as email,t.tutor as slb,hoofdgrp,cohort,course_short sprogr,studieplan_short as splan,lang,sex,gebdat," . " land,plaats,pcode\n" . " from student st " . "left 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 join portrait\n" . "where class_id='{$oldclass_id}' " . "order by hoofdgrp,opl,sclass asc,achternaam,roepnaam"; $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['classTable'] = $tableFormatter->getTable(); $page->addHtmlFragment('templates/classmaker.html', $pp); $page->show();
$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();
$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>"; $pp['field_youtube_link'] = $may_change ? makeinputfor('youtube_link', $youtube_link, $may_change, 80) : "<a href='{$youtube_link}'>{$youtube_link}</a>"; $icon = "<a href='{$youtube_link}' target='_blank'><img src='{$youtube_icon_url}' alt='youtube_icon_url' border='0'/></a>"; $pp['field_youtube_icon_url'] = $may_change ? $icon . '<br/>' . makeinputfor('youtube_icon_url', $youtube_icon_url, $may_change, 80) : $icon; $weblink = ''; if ($website != '') { $weblink = '<a href=\'' . $website . '\' target=\'_blank\'>' . $long_name . '</a>'; } } $pp['changeButton'] = $may_change ? "<input type='reset'/> To update, press <input type='submit' name='submit_data' value='submit'/>" : ''; $sqlp = "select pi_description,pi_name,pi_value,interpretation" . " from project_attributes_def " . "join (select prj_id from all_prj_tutor where prjtg_id={$prjtg_id}) apt " . "using(prj_id) natural left join ( select * from project_attributes_values where prjtg_id={$prjtg_id}) pav"; if (isset($prjtg_id)) { $pp['attributeTable'] = simpleTableString($dbConn, $sqlp); } $page->addHtmlFragment('templates/activegroup.html', $pp); $page->show();
$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'); $nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening); $page->addBodyComponent(new Component($tutor_Helper)); $page->addBodyComponent($nav); $criteria = getCriteria($prjm_id);
if (isset($_GET['deletefile']) && strpos($_GET['deletefile'], '..') === false) { $delfilename = $_GET['deletefile']; @system("cd {$keydir}; git rm {$delfilename}"); @system("echo rm key {$delfilename} >> /home/git/incron/doit"); // unlink($delfilename); } function sshkeyDetails($keyFileName) { ob_start(); @system("ssh-keygen -l -f {$keyFileName}"); return ob_get_clean(); } $keyCount = 0; $keytable = "<table class='simpletable' border='1' style='border-collapse:collapse'>\n<caption>Your current keys</caption>\n" . "<tr><th>file name on server</th><th>key timestamp</th><th>ssh key details</th><th>delete</th></tr>\n"; if ($dh = opendir($keydir)) { while (($filename = readdir($dh)) !== false) { if (preg_match('/\\.pub$/', $filename)) { $filename; $filepath = "{$keydir}/{$filename}"; $kdetails = sshkeyDetails($filepath); $fmtime = date("Y-m-d H:i", filemtime($filepath)); $keytable .= "<tr><td>{$filename} </td><td>{$fmtime}</td><td style='width:600px:word-wrap:break-word'><pre>{$kdetails}</pre></td>" . "<td><form id='delete' action='{$PHP_SELF}' method='get'><input type='hidden' name='deletefile' value='{$filename}'/><input type='submit' name='deletBtn' value='Delete'/></form></td></tr>\n"; $keyCount++; } } closedir($dh); } $keytable .= "\t\t</table>\n"; $pp['keytable'] = $keyCount > 0 ? $keytable : ''; $page->addHtmlFragment('templates/gitkey.xhtml.php', $pp); $page->show();
$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();
} $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();
<?php include_once './peerlib/peerutils.inc'; include_once 'tutorhelper.inc'; include_once 'navigation2.inc'; include_once 'navigation2.inc'; require_once 'presencetable.php'; // get group tables for a project $prj_id = 0; $prjm_id = 0; $milestone = 1; $afko = 'PRJ00'; $description = ''; extract($_SESSION); //pagehead2("Presence list to $afko $year $description");//,$scripts); $page = new PageContainer(); ob_start(); tutorHelper($dbConn, $isTutor); $page->addBodyComponent(new Component(ob_get_clean())); $page->setTitle('Overview of presence during activities'); $page_opening = "Presence overview for {$roepnaam} {$voorvoegsel} {$achternaam} ({$snummer})"; $nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening); $page->addBodyComponent($nav); $pp = array(); $pp['presence_table'] = personalPresenceList($dbConn, $snummer); $page->addHtmlFragment('templates/peerpresenceoverview.html', $pp); //$page->addBodyComponent(new Component($text)); $page->addBodyComponent(new Component('<!-- db_name=' . $db_name . '-->')); $page->show();