$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();
$pp['newClassSelector'] = $nclassSelectorClass->setSelectorName('newclass_id')->getSelector(); $page = new PageContainer(); $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();
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();
<?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();
$form1 = new HtmlContainer("<div>"); $input_module_code = "<input type='text' size='10' maxlength='10' class='" . $validator->validationClass('afko') . "' name='afko' value='{$afko}' title='Progress module code'/>"; $input_year = "<input type=text size='4' maxlength='4' align='right' name='year' class='" . $validator->validationClass('year') . "' value='{$year}' title='starting year of scollastic year' />"; $input_description = "<input type='text' size='30' maxlength='30' name='project_description' class='" . $validator->validationClass('project_description') . "' value='{$description}' title='module description in 30 characters'/>\n"; $input_valid_until = "<input type='text' maxlength='10' size='8' class='" . $validator->validationClass('valid_until') . "' " . "name='valid_until' id='embeddedPicker' value='{$valid_until}' title='Project entry to be used until. Date in yyyy-mm-dd format' style='text-align:right'/>\n"; $input_comment = "<textarea class='" . $validator->validationClass('comment') . "' name='comment' cols='72' rows='5'>{$comment}</textarea>\n"; $input_update_button = $isTutorOwner ? "<input type='submit' name='bsubmit'\n" . "value='Update' title='Use this to update project data for project_id={$prj_id}' />" : ''; $input_course = "<select name='course' title='set base course'>\n" . getOptionListGrouped($dbConn, "select trim(course_short)||':'||trim(course_description)||'('||course||')' as name,\n" . " course as value,\n" . " faculty_short as namegrp\n" . " from fontys_course fc natural join faculty f\n" . " order by namegrp,name", $course); $project_selector = getprojectSelector($dbConn, $peer_id, $prj_id); $sql = "select count(prj_id) as active_project_set from activity_project where prj_id={$prj_id}"; $resultSet = $dbConn->Execute($sql); if ($resultSet === false) { die("<br>Cannot activity_project data with <pre>{$sql}</pre> " . $dbConn->ErrorMsg() . "<br>"); } $activity_project_checked = $resultSet->fields['active_project_set'] ? 'checked' : ''; $input_activity_project = "<input type='checkbox' name='activity_project' value='set' {$activity_project_checked}/>"; $templatefile = 'templates/defproject.html'; $template_text = file_get_contents($templatefile, true); if ($template_text === false) { $form1Form->addText("<strong>cannot read template file {$templatefile}</strong>"); } else { eval("\$text = \"{$template_text}\";"); $form1->addText($text); } $page->addBodyComponent($nav); $page->addBodyComponent($form1); $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('$(\'#embeddedPicker\').datepicker(dpoptions);'); $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();