function ProperDate($date = '', $length = 'long') { $months_number['JAN'] = '1'; $months_number['FEB'] = '2'; $months_number['MAR'] = '3'; $months_number['APR'] = '4'; $months_number['MAY'] = '5'; $months_number['JUN'] = '6'; $months_number['JUL'] = '7'; $months_number['AUG'] = '8'; $months_number['SEP'] = '9'; $months_number['OCT'] = '10'; $months_number['NOV'] = '11'; $months_number['DEC'] = '12'; if ($date && strlen($date) == 9) { $year = substr($date, 7); $month = $months_number[strtoupper(substr($date, 3, 3))]; $day = substr($date, 0, 2) * 1; $comment = '<!-- ' . ($year < 50 ? 20 : 19) . $year . MonthNWSwitch(substr($date, 3, 3), 'tonum') . substr($date, 0, 2) . ' -->'; } elseif ($date) { $year = substr($date, 0, 4); $month = substr($date, 5, 2) * 1; $day = substr($date, 8) * 1; $comment = '<!-- ' . $year . substr($date, 5, 2) . substr($date, 8) . ' -->'; } if ((Preferences('MONTH') == 'm' || Preferences('MONTH') == 'M') && (Preferences('DAY') == 'j' || Preferences('DAY') == 'd') && Preferences('YEAR')) { $sep = '/'; } else { $sep = ' '; } if ($date) { return date(($length == 'long' || Preferences('MONTH') != 'F' ? Preferences('MONTH') : 'M') . $sep . Preferences('DAY') . $sep . Preferences('YEAR'), mktime(0, 0, 0, $month, $day, $year)); } }
function ProperDate($date = '', $length = 'long') { if ($date) { if (mb_strlen($date) == 9) { $months_number = array('JAN' => '01', 'FEB' => '02', 'MAR' => '03', 'APR' => '04', 'MAY' => '05', 'JUN' => '06', 'JUL' => '07', 'AUG' => '08', 'SEP' => '09', 'OCT' => '10', 'NOV' => '11', 'DEC' => '12'); $year = mb_substr($date, 7, 2); $year = ($year < 50 ? '20' : '19') . $year; $month = $months_number[mb_strtoupper(mb_substr($date, 3, 3))]; $day = mb_substr($date, 0, 2); } elseif (mb_strlen($date) == 10) { $year = mb_substr($date, 0, 4); $month = mb_substr($date, 5, 2); $day = mb_substr($date, 8, 2); } else { $months_number = array('JAN' => '01', 'FEB' => '02', 'MAR' => '03', 'APR' => '04', 'MAY' => '05', 'JUN' => '06', 'JUL' => '07', 'AUG' => '08', 'SEP' => '09', 'OCT' => '10', 'NOV' => '11', 'DEC' => '12'); $year = mb_substr($date, 7, 4); $day = mb_substr($date, 0, 2); $month = $months_number[mb_strtoupper(mb_substr($date, 3, 3))]; } $comment = '<!-- ' . $year . $month . $day . ' -->'; if (!empty($_REQUEST['_ROSARIO_PDF']) && $_REQUEST['LO_save'] && Preferences('E_DATE') == 'MM/DD/YYYY') { return $comment . $month . '/' . $day . '/' . $year; } //modif Francois: display locale with strftime() // if((Preferences('MONTH')=='m' || Preferences('MONTH')=='M') && (Preferences('DAY')=='j' || Preferences('DAY')=='d') && Preferences('YEAR')) if ((Preferences('MONTH') == '%m' || Preferences('MONTH') == '%b') && Preferences('DAY') == '%d' && Preferences('YEAR')) { $sep = '/'; } else { $sep = ' '; } //modif Francois: display locale with strftime() return $comment . mb_convert_case(iconv('', 'UTF-8', strftime(($length == 'long' || Preferences('MONTH') != '%B' ? Preferences('MONTH') : '%b') . $sep . Preferences('DAY') . $sep . Preferences('YEAR'), mktime(0, 0, 0, $month + 0, $day + 0, $year + 0))), MB_CASE_TITLE, "UTF-8"); // return $comment.date((($length=='long' || Preferences('MONTH')!='F')?Preferences('MONTH'):'M').$sep.Preferences('DAY').$sep.Preferences('YEAR'),mktime(0,0,0,$month+0,$day+0,$year+0)); } }
function ProperDate($date = '', $length = 'long') { if ($date) { if (strlen($date) == 9) { $months_number = array('JAN' => '01', 'FEB' => '02', 'MAR' => '03', 'APR' => '04', 'MAY' => '05', 'JUN' => '06', 'JUL' => '07', 'AUG' => '08', 'SEP' => '09', 'OCT' => '10', 'NOV' => '11', 'DEC' => '12'); $year = substr($date, 7, 2); $year = ($year < 50 ? '20' : '19') . $year; $month = $months_number[strtoupper(substr($date, 3, 3))]; $day = substr($date, 0, 2); } elseif (strlen($date) == 10) { $year = substr($date, 0, 4); $month = substr($date, 5, 2); $day = substr($date, 8, 2); } else { $months_number = array('JAN' => '01', 'FEB' => '02', 'MAR' => '03', 'APR' => '04', 'MAY' => '05', 'JUN' => '06', 'JUL' => '07', 'AUG' => '08', 'SEP' => '09', 'OCT' => '10', 'NOV' => '11', 'DEC' => '12'); $year = substr($date, 7, 4); $day = substr($date, 0, 2); $month = $months_number[strtoupper(substr($date, 3, 3))]; } $comment = '<!-- ' . $year . $month . $day . ' -->'; if (isset($_REQUEST['_CENTRE_PDF']) && $_REQUEST['_CENTRE_PDF'] && $_REQUEST['LO_save'] && Preferences('E_DATE') == 'MM/DD/YYYY') { return $comment . $month . '/' . $day . '/' . $year; } if ((Preferences('MONTH') == 'm' || Preferences('MONTH') == 'M') && (Preferences('DAY') == 'j' || Preferences('DAY') == 'd') && Preferences('YEAR')) { $sep = '/'; } else { $sep = ' '; } return $comment . date(($length == 'long' || Preferences('MONTH') != 'F' ? Preferences('MONTH') : 'M') . $sep . Preferences('DAY') . $sep . Preferences('YEAR'), mktime(0, 0, 0, $month + 0, $day + 0, $year + 0)); } }
function DrawHeader($left = '', $right = '', $center = '') { global $_CENTRE; if (!isset($_CENTRE['DrawHeader'])) { $_CENTRE['DrawHeader'] = 'bgcolor=' . Preferences('HEADER'); if ($_CENTRE['HeaderIcon']) { $left = '<IMG src=assets/icons/' . $_CENTRE['HeaderIcon'] . ' height=20 border=0 align=absmiddle> ' . $left; } } if ($_CENTRE['DrawHeader'] == 'bgcolor=' . Preferences('HEADER')) { $attribute = 'B'; $font_color = '#FFFFFF'; } else { $attribute = 'FONT size=-1'; $font_color = '#000000'; } echo '<TABLE width=100% border=0 cellpadding=0 cellspacing=0><TR>'; if ($left) { echo '<TD ' . $_CENTRE['DrawHeader'] . ' align=left> <font color=' . $font_color . '><' . $attribute . '>' . $left . '</' . substr($attribute, 0, 4) . '></font></TD>'; } if ($center) { echo '<TD ' . $_CENTRE['DrawHeader'] . ' align=center><font color=' . $font_color . '><' . $attribute . '>' . $center . '</' . $attribute . '></font></TD>'; } if ($right) { echo '<TD ' . $_CENTRE['DrawHeader'] . ' align=right><font color=' . $font_color . '><' . $attribute . '>' . $right . '</' . substr($attribute, 0, 4) . '></font></TD>'; } echo '</TR></TABLE>'; if ($_CENTRE['DrawHeader'] == 'bgcolor=' . Preferences('HEADER')) { $_CENTRE['DrawHeader'] = 'bgcolor=#FFFFFF style="border:1;border-style: none none solid none;"'; } else { $_CENTRE['DrawHeader'] = 'bgcolor=#F0F0F1 style="border:1;border-style: none none solid none;"'; } }
function PopTable($action, $title = 'Search', $table_att = '', $cell_padding = '5') { global $_ROSARIO; if ($action == 'header') { //modif Francois: css WPadmin if (!empty($_REQUEST['_ROSARIO_PDF'])) { echo '<TABLE class="cellpadding-6" ' . $table_att . '>'; echo '<TR><TD class="width-100p center" style="background-color:' . Preferences('HEADER') . ';">'; } else { echo '<TABLE class="postbox cellspacing-0 cellpadding-0" ' . $table_att . '>'; echo '<TR><TD class="center">'; } if (is_array($title)) { echo WrapTabs($title, $_ROSARIO['selected_tab']); } else { echo DrawTab($title); } echo '</TD></TR> <TR><TD>'; // Start content table. echo '<TABLE style="padding:' . $cell_padding . 'px;" class="width-100p cellspacing-0"><tr><td>'; } elseif ($action == 'footer') { // Close embeded table. echo '</td></tr></TABLE>'; echo '</TD> </TR> </TABLE>'; } }
function Warehouse($mode) { global $__SHOW_FOOTER, $_CENTRE, $CentreTitle; switch ($mode) { case 'header': echo '<HTML' . (substr($_SESSION['locale'], 0, 2) == 'he' ? ' dir="RTL"' : '') . '>'; echo "<HEAD><TITLE>{$CentreTitle}</TITLE>"; echo "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />"; if (basename($_SERVER['PHP_SELF']) != 'index.php') { echo "<noscript><META http-equiv=REFRESH content='0;url=index.php?modfunc=logout&reason=javascript' /></noscript>"; } echo "<script language=\"JavaScript\" type=\"text/javascript\">"; if (basename($_SERVER['PHP_SELF']) == 'index.php') { echo "\n\t\t\t\t\t\t\tif(parent.frames.length > 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tparent.location.href = 'index.php?modfunc=logout';\n\t\t\t\t\t\t\t}"; } echo "\n\t\t\t\t\t\t\tvar locked;\n\t\t\t\t\t\t\tfunction doOnload()\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvar layer;\n\t\t\t\t\t\t\t\tif(layer = document.getElementById('LOx_layer'))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvar right,left = getLeft(1);\n\t\t\t\t\t\t\t\t\tlayer.style.left = left;\n\t\t\t\t\t\t\t\t\tlayer.style.top = 0;\n\t\t\t\t\t\t\t\t\tdocument.getElementById('LOx_table').left = left;\n\n\t\t\t\t\t\t\t\t\tfor(i=2;column = document.getElementById('LOx'+i);i++)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tright = getLeft(i);\n\t\t\t\t\t\t\t\t\t\tdocument.getElementById('LO_col'+(i-1)).width = right-left-14;\n\t\t\t\t\t\t\t\t\t\tleft = right;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdocument.getElementById('LO_col'+(i-2)).width = left-getLeft(i-2)-10;\n\t\t\t\t\t\t\t\t\ttotal_width = getLeft(i-1)-getLeft(1) + 7;\n\t\t\t\t\t\t\t\t\tdocument.getElementById('LOx_table').width = total_width;\n\t\t\t\t\t\t\t\t\tif(navigator.userAgent.indexOf('Safari')==-1&&navigator.userAgent.indexOf('Microsoft Internet Explorer')==-1)\n\t\t\t\t\t\t\t\t\t\twindow.setInterval('doOnscroll()',50);\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\twindow.onscroll = doOnscroll;\n\t\t\t\t\t\t\t\t\twindow.onresize = doOnresize;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif(layer = document.getElementById('LOy_layer'))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvar bottom,top = getTop(1);\n\t\t\t\t\t\t\t\t\tlayer.style.left = getLeft(1);\n\t\t\t\t\t\t\t\t\tlayer.style.top = top;\n\t\t\t\t\t\t\t\t\tdocument.getElementById('LOy_table').left = left;\n\n\t\t\t\t\t\t\t\t\tfor(i=2;row = document.getElementById('LOy'+i);i++)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tbottom = getTop(i);\n\t\t\t\t\t\t\t\t\t\tdocument.getElementById('LO_row'+(i-1)).height = bottom-top-2;\n\t\t\t\t\t\t\t\t\t\ttop = bottom;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdocument.getElementById('LOy_table').width = getLeft(2)-getLeft(1);\n\t\t\t\t\t\t\t\t\tif(navigator.userAgent.indexOf('Safari')==-1&&navigator.userAgent.indexOf('Microsoft Internet Explorer')==-1)\n\t\t\t\t\t\t\t\t\t\twindow.setInterval('doOnscroll()',50);\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\twindow.onscroll = doOnscroll;\n\t\t\t\t\t\t\t\t\twindow.onresize = doOnresize;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfunction doOnresize()\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdoOnload();\n\t\t\t\t\t\t\t\tdoOnscroll();\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfunction doOnscroll()\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvar layer;\n\t\t\t\t\t\t\t\tif(layer = document.getElementById(\"LOx_layer\"))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvar pY = (window.document.body.scrollTop ? window.document.body.scrollTop : window.pageYOffset);\n\t\t\t\t\t\t\t\t\tif(pY > getListTop())\n\t\t\t\t\t\t\t\t\t\tlayer.style.visibility = \"visible\";\n\t\t\t\t\t\t\t\t\telse if(pY < getListTop())\n\t\t\t\t\t\t\t\t\t\tlayer.style.visibility = \"hidden\";\n\t\t\t\t\t\t\t\t\tif(pY)\n\t\t\t\t\t\t\t\t\t\tlayer.style.top = (window.document.body.scrollTop ? window.document.body.scrollTop : window.pageYOffset);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif(layer = document.getElementById(\"LOy_layer\"))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvar pX = (window.document.body.scrollLeft ? window.document.body.scrollLeft : window.pageXOffset);\n\t\t\t\t\t\t\t\t\tif(pX > 0)\n\t\t\t\t\t\t\t\t\t\tlayer.style.visibility = \"visible\";\n\t\t\t\t\t\t\t\t\telse if(pX == 0)\n\t\t\t\t\t\t\t\t\t\tlayer.style.visibility = \"hidden\";\n\t\t\t\t\t\t\t\t\tif(pX)\n\t\t\t\t\t\t\t\t\t\tlayer.style.left = (window.document.body.scrollLeft ? window.document.body.scrollLeft : window.pageXOffset);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfunction getLeft(column_number)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvar x = 0;\n\t\t\t\t\t\t\t\tif(document.layers)\n\t\t\t\t\t\t\t\t\tx = document.layers['LOx'+column_number].pageX;\n\t\t\t\t\t\t\t\telse if(document.all || document.getElementById)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvar cell = document.all ? document.all['LOx'+column_number] : document.getElementById('LOx'+column_number);\n\t\t\t\t\t\t\t\t\twhile(cell)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tx += cell.offsetLeft;\n\t\t\t\t\t\t\t\t\t\tcell = cell.offsetParent;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn x-8;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfunction getTop(row_number)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvar y = 0;\n\t\t\t\t\t\t\t\tif(document.layers)\n\t\t\t\t\t\t\t\t\ty = document.layers['LOy'+row_number].pageY;\n\t\t\t\t\t\t\t\telse if(document.all || document.getElementById)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvar cell = document.all ? document.all['LOy'+row_number] : document.getElementById('LOy'+row_number);\n\t\t\t\t\t\t\t\t\twhile(cell)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ty += cell.offsetTop;\n\t\t\t\t\t\t\t\t\t\tcell = cell.offsetParent;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn y-8;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfunction getListTop()\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvar y = 0;\n\t\t\t\t\t\t\t\tif(document.layers)\n\t\t\t\t\t\t\t\t\ty = document.layers['LOx1'].pageY;\n\t\t\t\t\t\t\t\telse if(document.all || document.getElementById)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvar cell = document.all ? document.all['LOx1'] : document.getElementById('LOx1');\n\t\t\t\t\t\t\t\t\twhile(cell)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ty += cell.offsetTop;\n\t\t\t\t\t\t\t\t\t\tcell = cell.offsetParent;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn y;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfunction putFocus()\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif(document.forms.length > 0)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tdocument.forms[0].elements[0].focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfunction addHTML(html,id,replace)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif(locked!=false)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif(replace==true)\n\t\t\t\t\t\t\t\t\t\tdocument.getElementById(id).innerHTML = html;\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\tdocument.getElementById(id).innerHTML = document.getElementById(id).innerHTML + html;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfunction changeHTML(show,hide)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfor(key in show)\n\t\t\t\t\t\t\t\t\tdocument.getElementById(key).innerHTML = document.getElementById(show[key]).innerHTML;\n\t\t\t\t\t\t\t\tfor(i=0;i<hide.length;i++)\n\t\t\t\t\t\t\t\t\tdocument.getElementById(hide[i]).innerHTML = '';\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfunction checkAll(form,value,name_like)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif(value==true)\n\t\t\t\t\t\t\t\t\tchecked = true;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tchecked = false;\n\n\t\t\t\t\t\t\t\tfor(i=0;i<form.elements.length;i++)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif(form.elements[i].type=='checkbox' && form.elements[i].name!='controller' && form.elements[i].name.substr(0,name_like.length)==name_like)\n\t\t\t\t\t\t\t\t\t\tform.elements[i].checked = checked;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfunction switchMenu(id)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif(document.getElementById(id).style.display=='none')\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tdocument.getElementById(id).style.display = 'block';\n\t\t\t\t\t\t\t\t\tdocument.getElementById(id+'_arrow').src = 'assets/arrow_down.gif';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tdocument.getElementById(id).style.display = 'none';\n\t\t\t\t\t\t\t\t\tdocument.getElementById(id+'_arrow').src = 'assets/arrow_right.gif';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n \n function setMLvalue(id,loc,value)\n {\n res = document.getElementById(id).value.split('|');\n if(loc=='') {\n if (value == '') {\n alert('" . _('The first translation string cannot be empty.') . "');\n value = 'Something';\n }\n res[0] = value;\n } else {\n found = 0;\n for (i=1;i<res.length;i++) {\n if (res[i].substring(0,loc.length) == loc) {\n found = 1;\n if (value == '') {\n for (j=i+1;j<res.length;j++)\n res[j-1] = res[j];\n res.pop();\n } else {\n res[i] = loc+':'+value;\n }\n }\n } \n if ((found == 0) && (value != '')) res.push(loc+':'+value);\n }\n document.getElementById(id).value = res.join('|'); \n }\n\t\t\t\t\t\t</script>\n\t\t\t\t\t</HEAD>\n\t\t\t\t\t<link rel=stylesheet type=text/css href=assets/themes/" . Preferences('THEME') . "/stylesheet.css>"; echo ' <link rel="stylesheet" type="text/css" media="all" href="assets/jscalendar/calendar-blue2.css" /> <script type="text/javascript" src="assets/jscalendar/calendar.js"></script> <script type="text/javascript" src="assets/jscalendar/lang/calendar-en.js"></script> <script type="text/javascript" src="assets/jscalendar/calendar-setup.js"></script> <script type="text/javascript" src="assets/js/jquery.js"></script> <script type="text/javascript" src="assets/js/prototype.js"></script> <script type="text/javascript" src="assets/js/billing.js"></script> <script type="text/javascript" src="assets/tipmessage/main15.js"></script>'; break; case "footer": echo '</TD></TR></TABLE>'; if (isset($_CENTRE['PrepareDate'])) { for ($i = 1; $i <= $_CENTRE['PrepareDate']; $i++) { echo '<script type="text/javascript"> Calendar.setup({ monthField : "monthSelect' . $i . '", dayField : "daySelect' . $i . '", yearField : "yearSelect' . $i . '", ifFormat : "%d-%b-%y", button : "trigger' . $i . '", align : "Tl", singleClick : true }); </script>'; } } echo '</BODY>'; echo '</HTML>'; break; } }
function PDFStop($handle) { //global $htmldocPath,$htmldocAssetsPath; global $wkhtmltopdfPath, $wkhtmltopdfAssetsPath, $locale; $handle['orientation'] = $_SESSION['orientation']; unset($_SESSION['orientation']); $html_content = ob_get_clean(); //convert to HTML page with CSS $html = '<!DOCTYPE html><HTML lang="' . mb_substr($locale, 0, 2) . '" ' . (mb_substr($locale, 0, 2) == 'he' || mb_substr($locale, 0, 2) == 'ar' ? ' dir="RTL"' : '') . '><HEAD><meta charset="UTF-8" />'; if ($handle['css']) { $html .= '<link rel="stylesheet" type="text/css" href="assets/themes/' . Preferences('THEME') . '/stylesheet.css" />'; } //modif Francois: bugfix wkhtmltopdf screen resolution on linux //see: https://code.google.com/p/wkhtmltopdf/issues/detail?id=118 $html .= '<TITLE>' . str_replace(_('Print') . ' ', '', ProgramTitle()) . '</TITLE></HEAD><BODY><div style="width:' . (!empty($handle['orientation']) && $handle['orientation'] == 'landscape' ? '1448' : '1024') . 'px">' . $html_content . '</div></BODY></HTML>'; //modif Francois: wkhtmltopdf if (!empty($wkhtmltopdfPath)) { if (!empty($wkhtmltopdfAssetsPath)) { $html = str_replace('assets/', $wkhtmltopdfAssetsPath, $html); } require 'classes/Wkhtmltopdf.php'; try { //indicate to create PDF in the temporary files system directory $wkhtmltopdf = new Wkhtmltopdf(array('path' => sys_get_temp_dir())); $wkhtmltopdf->setBinPath($wkhtmltopdfPath); if (!empty($handle['orientation']) && $handle['orientation'] == 'landscape') { $wkhtmltopdf->setOrientation(Wkhtmltopdf::ORIENTATION_LANDSCAPE); } if (!empty($handle['margins']) && is_array($handle['margins'])) { $wkhtmltopdf->setMargins($handle['margins']); } $wkhtmltopdf->setTitle(utf8_decode(str_replace(_('Print') . ' ', '', ProgramTitle()))); //directly pass HTML code $wkhtmltopdf->setHtml($html); //MODE_EMBEDDED displays PDF in browser, MODE_DOWNLOAD forces PDF download $wkhtmltopdf->output(Wkhtmltopdf::MODE_EMBEDDED, str_replace(array(_('Print') . ' ', ' '), array('', '_'), utf8_decode(ProgramTitle())) . '.pdf'); } catch (Exception $e) { echo $e->getMessage(); } } else { echo $html; } }
/** * Reports module Bottom Buttons. * Messaging new messages note. * * @uses Bottom.php|bottom_buttons hook * * @return true if bottom button, else false. */ function ReportsBottomButtons() { if (!User('PROFILE') === 'admin' || !AllowEdit('Reports/SavedReports.php') || !isset($_SESSION['List_PHP_SELF'])) { return false; } ?> <a href="Modules.php?modname=Reports/SavedReports.php&modfunc=new" class="BottomButton"> <img src="assets/themes/<?php echo Preferences('THEME'); ?> /btn/download.png" /> <span><?php echo _('Save Report'); ?> </span> </a> <?php return true; }
function DrawRoundedRect($title, $link = '', $tabcolor = '#333366', $textcolor = '#FFFFFF', $type = '', $rollover = '') { if (substr($title, 0, 1) != '<') { $title = preg_replace("/ /", " ", $title); } if (!$tabcolor) { $tabcolor = Preferences('HEADER'); } $block_table .= "<table border=0 cellspacing=0 cellpadding=0>"; $block_table .= " <tr style='background-color:{$tabcolor}' id=tab[" . preg_replace('/[^a-zA-Z0-9]/', '_', $link) . "]>"; $block_table .= " <td height=5 width=5 valign=top><IMG SRC=assets/left_upper_corner.gif border=0></td><td rowspan=3 width=100% class=\"BoxHeading\" valign=middle>"; if ($link) { if (is_array($rollover)) { $rollover = " onmouseover=\"document.getElementById('tab[" . preg_replace('/[^a-zA-Z0-9]/', '_', $link) . "]').style.backgroundColor='" . $rollover['tabcolor'] . "';document.getElementById('tab_link[" . preg_replace('/[^a-zA-Z0-9]/', '_', $link) . "]').style.color='" . $rollover['textcolor'] . "';\" onmouseout=\"document.getElementById('tab[" . preg_replace('/[^a-zA-Z0-9]/', '_', $link) . "]').style.backgroundColor='{$tabcolor}';document.getElementById('tab_link[" . preg_replace('/[^a-zA-Z0-9]/', '_', $link) . "]').style.color='" . $textcolor . "';\" "; } if (!isset($_REQUEST['_CENTRE_PDF'])) { $block_table .= "<A HREF='{$link}' class=BoxHeading style='color:{$textcolor}' {$rollover} id=tab_link[" . preg_replace('/[^a-zA-Z0-9]/', '_', $link) . "]>" . ParseMLField($title) . "</A>"; } else { $block_table .= "<font color={$textcolor} face=Verdana,Arial,sans-serif size=-2><b>" . ParseMLField($title) . "</b></font>"; } } else { if (!isset($_REQUEST['_CENTRE_PDF'])) { $block_table .= "<font color={$textcolor}>" . ParseMLField($title) . "</font>"; } else { $block_table .= "<font color={$textcolor} face=Verdana,Arial,sans-serif size=-2><b>" . ParseMLField($title) . "</b></font>"; } } $block_table .= "</td><td height=5 width=5 valign=top><IMG SRC=assets/right_upper_corner.gif border=0></td>"; $block_table .= " </tr>"; // MIDDLE ROW $block_table .= " <tr style='background-color:{$tabcolor}' id=tab[" . preg_replace('/[^a-zA-Z0-9]/', '_', $link) . "]>"; $block_table .= " <td width=5> </td>"; $block_table .= "<td width=5> </td>"; $block_table .= " </tr>"; // BOTTOM ROW $block_table .= " <tr style='background-color:{$tabcolor}' id=tab[" . preg_replace('/[^a-zA-Z0-9]/', '_', $link) . "]>"; $block_table .= " <td height=5 width=5 valign=bottom><IMG SRC=assets/left_lower_corner.gif border=0></td>"; $block_table .= "<td height=5 width=5 valign=bottom><IMG SRC=assets/right_lower_corner.gif border=0></td>"; $block_table .= " </tr>"; $block_table .= "</table>\n"; return $block_table; }
function DrawTab($title, $link = '') { $title = ParseMLField($title); if (mb_substr($title, 0, 1) != '<') { $title = str_replace(" ", " ", $title); } /* if(!$tabcolor) $tabcolor = Preferences('HEADER');*/ //modif Francois: css WPadmin if ($link && !isset($_REQUEST['_ROSARIO_PDF'])) { $block_table .= '<h3><A HREF="' . $link . '" class="BoxHeading" id="tab_link[' . preg_replace('/[^a-zA-Z0-9]/', '_', $link) . ']">' . _($title) . '</A></h3>'; } else { if (!isset($_REQUEST['_ROSARIO_PDF'])) { $block_table .= '<h3>' . $title . '</h3>'; } else { $block_table .= '<span class="size-1" style="color:' . Preferences('HIGHLIGHT') . '"><b>' . $title . '</b> </span>'; } } return $block_table; }
function TextAreaInputOrg($value, $name, $title = '', $options = '', $div = true, $divwidth = '500px') { if (Preferences('HIDDEN') != 'Y') { $div = false; } if (AllowEdit() && !$_REQUEST['_CENTRE_PDF']) { $value = str_replace("'", ''', str_replace('"', '”', $value)); if (strpos($options, 'cols') === false) { $options .= ' cols=30'; } if (strpos($options, 'rows') === false) { $options .= ' rows=4'; } $rows = substr($options, strpos($options, 'rows') + 5, 2) * 1; $cols = substr($options, strpos($options, 'cols') + 5, 2) * 1; if ($value == '' || $div == false) { return "<TEXTAREA name={$name} {$options}>{$value}</TEXTAREA>" . ($title != '' ? '<BR><small>' . (strpos(strtolower($title), '<font ') === false ? '<FONT color=' . Preferences('TITLES') . '>' : '') . $title . (strpos(strtolower($title), '<font ') === false ? '</FONT>' : '') . '</small>' : ''); } else { return "<DIV id='div{$name}'><div style='width:500px;' onclick='javascript:addHTML(\"<TEXTAREA id=textarea{$name} name={$name} {$options}>" . ereg_replace("[\n\r]", '\\u000D\\u000A', str_replace("\r\n", '\\u000D\\u000A', str_replace("'", "'", $value))) . "</TEXTAREA>" . ($title != '' ? "<BR><small>" . str_replace("'", ''', (strpos(strtolower($title), '<font ') === false ? '<FONT color=' . Preferences('TITLES') . '>' : '') . $title . (strpos(strtolower($title), '<font ') === false ? '</FONT>' : '')) . "</small>" : '') . "\",\"div{$name}\",true); document.getElementById(\"textarea{$name}\").value=unescape(document.getElementById(\"textarea{$name}\").value);'><TABLE class=LO_field height=100%><TR><TD>" . (substr_count($value, "\r\n") > $rows ? '<DIV style="overflow:auto; height:' . 15 * $rows . 'px; width:' . $cols * 10 . '; padding-right: 16px;">' . nl2br($value) . '</DIV>' : '<DIV style="overflow:auto; width:' . $divwidth . '; padding-right: 16px;">' . nl2br($value) . '</DIV>') . '</TD></TR></TABLE>' . ($title != '' ? '<BR><small>' . str_replace("'", ''', (strpos(strtolower($title), '<font ') === false ? '<FONT color=' . Preferences('TITLES') . '>' : '') . $title . (strpos(strtolower($title), '<font ') === false ? '</FONT>' : '')) . '</small>' : '') . '</div></DIV>'; } } else { return ($value != '' ? nl2br($value) : '-') . ($title != '' ? '<BR><small>' . (strpos(strtolower($title), '<font ') === false ? '<FONT color=' . Preferences('TITLES') . '>' : '') . $title . (strpos(strtolower($title), '<font ') === false ? '</FONT>' : '') . '</small>' : ''); } }
$count++; } } else { if ($schooldate > $end && $end != NULL && $start == $start2) { $URIcount++; //echo "$URIcount | "; if ($URIcount > $startrow && $URIcount < $endrow) { echo "<input type=hidden name=delete value=true>"; echo "<input type=hidden name=studentidx[{$count}] value={$studentid}>"; echo "<input type=hidden name=periodidx[{$count}] value={$courseid}>"; echo "<input type=hidden name=schooldatex[{$count}] value={$schooldate}>"; if ($yellow == 0) { $color = 'F8F8F9'; $yellow++; } else { $color = Preferences('COLOR'); $yellow = 0; } echo "<tr class=even><td ><input type=checkbox name=deletecheck[{$count}] value={$count}></td><td bgcolor=#{$color}><font color=#000000><FONT size=-1>{$first} {$last} ({$studentid})</td><td bgcolor=#{$color}><font color=#000000><FONT size=-1>{$short_name} ({$courseid})</td><td bgcolor=#{$color}><font color=#000000><FONT size=-1>{$start}  </td><td bgcolor=#{$color}><font color=#000000><FONT size=-1>{$end}  </td><td bgcolor=#{$color}><font color=#000000><FONT size=-1>{$schooldate}</td></tr>"; $count++; } } else { //echo "<tr><td>$studentid</td><td>$courseid</td></tr>"; $duplicate = 0; } } $studentid2 = $studentid; $courseid2 = $courseid; $periodid2 = $periodid; $schooldate2 = $schooldate; $first2 = $first;
function _makeMultipleInput($column, $name, $request = 'staff') { global $value, $field, $_openSIS; if ((AllowEdit() || $_openSIS['allow_edit']) && !$_REQUEST['_openSIS_PDF']) { $field['SELECT_OPTIONS'] = str_replace("\n", "\r", str_replace("\r\n", "\r", $field['SELECT_OPTIONS'])); $select_options = explode("\r", $field['SELECT_OPTIONS']); if (count($select_options)) { foreach ($select_options as $option) { $options[$option] = $option; } } if ($value[$column] != '') { echo "<DIV id='div" . $request . "[" . $column . "]'><div onclick='javascript:addHTML(\""; } echo '<TABLE border=0 cellpadding=3>'; if (count($options) > 12) { echo '<TR><TD colspan=2>'; echo '<small><FONT color=' . Preferences('TITLES') . '>' . $name . '</FONT></small>'; if ($value[$column] != '') { echo '<TABLE width=100% height=7 style=\\"border:1;border-style: solid solid none solid;\\"><TR><TD></TD></TR></TABLE>'; } else { echo '<TABLE width=100% height=7 style="border:1;border-style: solid solid none solid;"><TR><TD></TD></TR></TABLE>'; } echo '</TD></TR>'; } echo '<TR>'; $i = 0; foreach ($options as $option) { if ($i % 2 == 0) { echo '</TR><TR>'; } if ($value[$column] != '') { echo '<TD><INPUT TYPE=hidden name=' . $request . '[' . $column . '][] value=\\"\\"><INPUT type=checkbox name=' . $request . '[' . $column . '][] value=\\"' . str_replace('"', '"', $option) . '\\"' . (strpos($value[$column], '||' . $option . '||') !== false ? ' CHECKED' : '') . '><small>' . $option . '</small></TD>'; } else { echo '<TD><INPUT type=checkbox name=' . $request . '[' . $column . '][] value="' . str_replace('"', '"', $option) . '"' . (strpos($value[$column], '||' . $option . '||') !== false ? ' CHECKED' : '') . '><small>' . $option . '</small></TD>'; } $i++; } echo '</TR><TR><TD colspan=2>'; if ($value[$column] != '') { echo '<TABLE width=100% height=7 style=\\"border:1;border-style: none solid solid solid;\\"><TR><TD></TD></TR></TABLE>'; } else { echo '<TABLE width=100% height=7 style="border:1;border-style: none solid solid solid;"><TR><TD></TD></TR></TABLE>'; } echo '</TD></TR></TABLE>'; if ($value[$column] != '') { echo "\",\"div" . $request . "[" . $column . "]" . "\",true);' >" . ($value[$column] != '' ? str_replace('"', '”', str_replace('||', ', ', substr($value[$column], 2, -2))) : '-') . "</div></DIV>"; } } else { echo $value[$column] != '' ? str_replace('"', '”', str_replace('||', ', ', substr($value[$column], 2, -2))) : '-<BR>'; } echo '<small><FONT color=' . Preferences('TITLES') . '>' . $name . '</FONT></small>'; }
# # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # #*************************************************************************************** #DrawHeader('Gradebook - '.ProgramTitle()); include '../../Redirect_modules.php'; $tmp_REQUEST = $_REQUEST; unset($tmp_REQUEST['include_inactive']); echo "<FORM action=Modules.php?modname={$_REQUEST['modname']} method=POST>"; DrawHeaderHome('<INPUT type=checkbox name=include_inactive value=Y' . ($_REQUEST['include_inactive'] == 'Y' ? " CHECKED onclick='document.location.href=\"" . PreparePHP_SELF($tmp_REQUEST) . "&include_inactive=\";'" : " onclick='document.location.href=\"" . PreparePHP_SELF($tmp_REQUEST) . "&include_inactive=Y\";'") . '>Include Inactive Students'); echo '</FORM>'; $course_period_id = UserCoursePeriod(); $course_id = DBGet(DBQuery("SELECT COURSE_ID FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='{$course_period_id}'")); $course_id = $course_id[1]['COURSE_ID']; $max_allowed = Preferences('ANOMALOUS_MAX', 'Gradebook') / 100; $extra['SELECT'] = ",ga.ASSIGNMENT_ID,gt.TITLE AS TYPE_TITLE,ga.TITLE,ga.POINTS AS TOTAL_POINTS,'' AS LETTER_GRADE"; $extra['SELECT'] .= ',(SELECT POINTS FROM GRADEBOOK_GRADES WHERE STUDENT_ID=s.STUDENT_ID AND ASSIGNMENT_ID=ga.ASSIGNMENT_ID) AS POINTS'; $extra['SELECT'] .= ',(SELECT COMMENT FROM GRADEBOOK_GRADES WHERE STUDENT_ID=s.STUDENT_ID AND ASSIGNMENT_ID=ga.ASSIGNMENT_ID) AS COMMENT'; $extra['FROM'] = ",GRADEBOOK_ASSIGNMENTS ga,GRADEBOOK_ASSIGNMENT_TYPES gt"; $extra['WHERE'] = 'AND ((SELECT POINTS FROM GRADEBOOK_GRADES WHERE STUDENT_ID=s.STUDENT_ID AND ASSIGNMENT_ID=ga.ASSIGNMENT_ID) IS NULL AND (ga.ASSIGNED_DATE IS NULL OR CURRENT_DATE>=ga.ASSIGNED_DATE) AND (ga.DUE_DATE IS NULL OR CURRENT_DATE>=ga.DUE_DATE) OR (SELECT POINTS FROM GRADEBOOK_GRADES WHERE STUDENT_ID=s.STUDENT_ID AND ASSIGNMENT_ID=ga.ASSIGNMENT_ID)<0 OR (SELECT POINTS FROM GRADEBOOK_GRADES WHERE STUDENT_ID=s.STUDENT_ID AND ASSIGNMENT_ID=ga.ASSIGNMENT_ID)>ga.POINTS*' . $max_allowed . ') AND ((ga.COURSE_ID=\'' . $course_id . '\' AND ga.STAFF_ID=\'' . User('STAFF_ID') . '\') OR ga.COURSE_PERIOD_ID=\'' . $course_period_id . '\') AND ga.MARKING_PERIOD_ID=\'' . UserMP() . '\' AND gt.ASSIGNMENT_TYPE_ID=ga.ASSIGNMENT_TYPE_ID'; $extra['functions'] = array('POINTS' => '_makePoints'); $students_RET = GetStuList($extra); //echo '<pre>'; var_dump($students_RET); echo '</pre>'; if (AllowUse('Grades/Grades.php')) { $link = array('FULL_NAME' => array('link' => "Modules.php?modname=Grades/Grades.php&include_ianctive={$_REQUEST['include_inactive']}&assignment_id=all", 'variables' => array('student_id' => 'STUDENT_ID')), 'TITLE' => array('link' => "Modules.php?modname=Grades/Grades.php&include_inactive={$_REQUEST['include_inactive']}", 'variables' => array('assignment_id' => 'ASSIGNMENT_ID', 'student_id' => 'STUDENT_ID'))); } $columns = array('FULL_NAME' => 'Name', 'STUDENT_ID' => 'Student ID', 'POINTS' => 'Problem', 'TYPE_TITLE' => 'Category', 'TITLE' => 'Assignment', 'COMMENT' => 'Comment'); ListOutput($students_RET, $columns, 'Anomalous Grade', 'Anomalous Grades', $link, array(), array('center' => false, 'save' => false, 'search' => false)); function _makePoints($value, $column) {
$link['TITLE']['link'] = "Modules.php?modname={$_REQUEST['modname']}&modfunc={$_REQUEST['modfunc']}&mp_term=QTR&year_id={$_REQUEST['year_id']}&semester_id={$_REQUEST['semester_id']}"; $link['TITLE']['variables'] = array('marking_period_id' => 'MARKING_PERIOD_ID'); $link['add']['link'] = "Modules.php?modname={$_REQUEST['modname']}&mp_term=QTR&marking_period_id=new&year_id={$_REQUEST['year_id']}&semester_id={$_REQUEST['semester_id']}"; ListOutput($qtr_RET, $columns, 'Quarter', 'Quarters', $link, array(), $LO_options); echo '</TD>'; // PROGRESS PERIODS if ($_REQUEST['mp_term'] == 'QTR' && $_REQUEST['marking_period_id'] != 'new' || $_REQUEST['mp_term'] == 'PRO') { $sql = 'SELECT MARKING_PERIOD_ID,TITLE FROM school_progress_periods WHERE SCHOOL_ID=\'' . UserSchool() . '\' AND SYEAR=\'' . UserSyear() . '\' AND QUARTER_ID=\'' . $_REQUEST['quarter_id'] . '\' ORDER BY SORT_ORDER'; $QI = DBQuery($sql); $pro_RET = DBGet($QI); if (count($pro_RET)) { if ($_REQUEST['mp_term'] == 'PRO' && $_REQUEST['marking_period_id'] != 'new') { $_REQUEST['progress_period_id'] = $_REQUEST['marking_period_id']; foreach ($pro_RET as $key => $value) { if ($value['MARKING_PERIOD_ID'] == $_REQUEST['marking_period_id']) { $pro_RET[$key]['row_color'] = Preferences('HIGHLIGHT'); } } } } echo '<TD valign=top>'; $columns = array('TITLE' => 'Progress Period'); $link = array(); $link['TITLE']['link'] = "Modules.php?modname={$_REQUEST['modname']}&modfunc={$_REQUEST['modfunc']}&mp_term=PRO&year_id={$_REQUEST['year_id']}&semester_id={$_REQUEST['semester_id']}&quarter_id={$_REQUEST['quarter_id']}"; $link['TITLE']['variables'] = array('marking_period_id' => 'MARKING_PERIOD_ID'); $link['add']['link'] = "Modules.php?modname={$_REQUEST['modname']}&mp_term=PRO&marking_period_id=new&year_id={$_REQUEST['year_id']}&semester_id={$_REQUEST['semester_id']}&quarter_id={$_REQUEST['quarter_id']}"; $sql_mp_id = 'SELECT MARKING_PERIOD_ID,TITLE FROM school_progress_periods'; ListOutput($pro_RET, $columns, 'Progress Period', 'Progress Periods', $link, array(), $LO_options); echo '</TD>'; } }
$items = 'Assignments'; $link['TITLE']['link'] = "Modules.php?modname={$_REQUEST['modname']}&include_inactive={$_REQUEST['include_inactive']}"; $link['TITLE']['variables'] = array('assignment_id' => 'ASSIGNMENT_ID'); $current_RET[$_REQUEST['student_id']] = DBGet(DBQuery('SELECT g.ASSIGNMENT_ID FROM gradebook_grades g,gradebook_assignments a WHERE a.ASSIGNMENT_ID=g.ASSIGNMENT_ID AND a.MARKING_PERIOD_ID=\'' . UserMP() . '\' AND g.STUDENT_ID=\'' . $_REQUEST['student_id'] . '\' AND g.COURSE_PERIOD_ID=\'' . $course_period_id . '\'' . ($_REQUEST['assignment_id'] == 'all' ? '' : ' AND g.ASSIGNMENT_ID=\'' . $_REQUEST['assignment_id'] . '\'')), array(), array('ASSIGNMENT_ID')); if (count($assignments_RET)) { foreach ($assignments_RET as $id => $assignment) { $total_points[$id] = $assignment[1]['POINTS']; } } $count_assignments = count($assignments_RET); $extra['SELECT'] = ',ga.ASSIGNMENT_ID,gt.TITLE AS TYPE_TITLE,ga.TITLE,ga.POINTS AS TOTAL_POINTS,\'\' AS LETTER_GRADE,CASE WHEN (ga.ASSIGNED_DATE IS NULL OR CURRENT_DATE>=ga.ASSIGNED_DATE) AND (ga.DUE_DATE IS NULL OR CURRENT_DATE>=ga.DUE_DATE) THEN \'Y\' ELSE NULL END AS DUE'; $extra['SELECT'] .= ',(SELECT POINTS FROM gradebook_grades WHERE STUDENT_ID=s.STUDENT_ID AND ASSIGNMENT_ID=ga.ASSIGNMENT_ID AND COURSE_PERIOD_ID=cp.COURSE_PERIOD_ID) AS POINTS'; $extra['SELECT'] .= ',(SELECT COMMENT FROM gradebook_grades WHERE STUDENT_ID=s.STUDENT_ID AND ASSIGNMENT_ID=ga.ASSIGNMENT_ID AND COURSE_PERIOD_ID=cp.COURSE_PERIOD_ID) AS COMMENT'; $extra['FROM'] = ',gradebook_assignments ga,gradebook_assignment_types gt'; $extra['WHERE'] = 'AND (ga.due_date>=ssm.start_date OR ga.due_date IS NULL) AND ((ga.COURSE_ID=\'' . $course_id . '\' AND ga.STAFF_ID=\'' . User('STAFF_ID') . '\') OR ga.COURSE_PERIOD_ID=\'' . $course_period_id . '\') AND ga.MARKING_PERIOD_ID=\'' . UserMP() . '\' AND gt.ASSIGNMENT_TYPE_ID=ga.ASSIGNMENT_TYPE_ID' . ($_REQUEST['assignment_id'] == 'all' ? '' : ' AND ga.ASSIGNMENT_ID=\'' . $_REQUEST[assignment_id] . '\' '); $extra['ORDER_BY'] = Preferences('ASSIGNMENT_SORTING', 'Gradebook') . " DESC"; $extra['functions'] = array('POINTS' => '_makeExtraStuCols', 'LETTER_GRADE' => '_makeExtraStuCols', 'COMMENT' => '_makeExtraStuCols'); } else { $LO_columns = array('FULL_NAME' => 'Student'); if ($_REQUEST['assignment_id'] != 'all') { $LO_columns += array('STUDENT_ID' => 'Student ID'); } if ($_REQUEST['include_inactive'] == 'Y') { $LO_columns += array('ACTIVE' => 'School Status', 'ACTIVE_SCHEDULE' => 'Course Status'); } $item = 'Student'; $items = 'Students'; $link['FULL_NAME']['link'] = "Modules.php?modname={$_REQUEST['modname']}&include_inactive={$_REQUEST['include_inactive']}&assignment_id=all"; $link['FULL_NAME']['variables'] = array('student_id' => 'STUDENT_ID'); if ($_SESSION['student_id']) { unset($_SESSION['student_id']);
function Warehouse($mode) { global $_ROSARIO, $locale; switch ($mode) { case 'header': //modif Francois: fix bug Internet Explorer Quirks Mode, add DOCTYPE ?> <!DOCTYPE html> <HTML lang="<?php echo mb_substr($locale, 0, 2); ?> " <?php echo mb_substr($locale, 0, 2) == 'he' || mb_substr($locale, 0, 2) == 'ar' ? ' dir="RTL"' : ''; ?> > <HEAD><TITLE><?php echo ParseMLField(Config('TITLE')); ?> </TITLE> <meta charset="UTF-8" /> <?php if (basename($_SERVER['PHP_SELF']) != 'index.php') { ?> <noscript><META http-equiv="REFRESH" content="0; url=index.php?modfunc=logout&reason=javascript" /></noscript> <script type="text/javascript" src="assets/js/tipmessage/main15.js"></script> <?php } if (basename($_SERVER['PHP_SELF']) == 'index.php') { } ?> <link rel="stylesheet" type="text/css" href="assets/themes/<?php echo Preferences('THEME'); ?> /stylesheet.css" /> <?php break; case "footer": //modif Francois: Javascript load optimization ?> <BR /> <script type="text/javascript" src="assets/js/warehouse.js" defer></script> <?php //modif Francois: load calendar Javascript only if required if (isset($_ROSARIO['PrepareDate'])) { ?> <link rel="stylesheet" type="text/css" media="all" href="assets/js/jscalendar/calendar-blue.css" /> <script type="text/javascript" src="assets/js/jscalendar/calendar.js"></script> <script type="text/javascript" src="assets/js/jscalendar/lang/calendar-<?php echo mb_substr($locale, 0, 2); ?> .js"></script> <script type="text/javascript" src="assets/js/jscalendar/calendar-setup.js"></script> <?php for ($i = 1; $i <= $_ROSARIO['PrepareDate']; $i++) { ?> <script type="text/javascript"> Calendar.setup({ monthField : "monthSelect<?php echo $i; ?> ", dayField : "daySelect<?php echo $i; ?> ", yearField : "yearSelect<?php echo $i; ?> ", ifFormat : "%d-%b-%y", button : "trigger<?php echo $i; ?> ", align : "Tl", singleClick : true }); </script> <?php } } echo '</BODY></HTML>'; break; } }
$cond = " AND (MARKING_PERIOD_ID = " . UserMP() . " OR MARKING_PERIOD_ID = " . $p_id . " OR MARKING_PERIOD_ID = " . $gp_id . ")"; } if ($mp_type == 'semester') { $cond = " AND (MARKING_PERIOD_ID = " . UserMP() . " OR MARKING_PERIOD_ID = " . $p_id . ")"; } if ($mp_type == 'year') { $cond = " AND MARKING_PERIOD_ID = " . UserMP(); } $sql = "SELECT COURSE_PERIOD_ID,TITLE,COALESCE(TOTAL_SEATS-FILLED_SEATS,0) AS AVAILABLE_SEATS FROM course_periods WHERE COURSE_ID='{$_REQUEST['course_id']}'" . $cond . " ORDER BY TITLE"; $QI = DBQuery($sql); $periods_RET = DBGet($QI); if (count($periods_RET)) { if ($_REQUEST['course_period_id']) { foreach ($periods_RET as $key => $value) { if ($value['COURSE_PERIOD_ID'] == $_REQUEST['course_period_id']) { $periods_RET[$key]['row_color'] = Preferences('HIGHLIGHT'); } } } } echo '<TD valign=top>'; $columns = array('TITLE' => '' . _('Course Period') . ''); if ($_REQUEST['modname'] == 'Scheduling/Schedule.php') { $columns += array('AVAILABLE_SEATS' => '' . _('Available Seats') . ''); } $link = array(); $link['TITLE']['link'] = "for_window.php?modname={$_REQUEST['modname']}&subject_id={$_REQUEST['subject_id']}&course_id={$_REQUEST['course_id']}"; //$link['TITLE']['link'] = "#"." onclick='check_content(\"ajax.php?modname=$_REQUEST[modname]&subject_id=$_REQUEST[subject_id]&course_id=$_REQUEST[course_id]\");'"; $link['TITLE']['variables'] = array('course_period_id' => 'COURSE_PERIOD_ID'); if ($_REQUEST['modfunc'] != 'choose_course') { $link['add']['link'] = "for_window.php?modname={$_REQUEST['modname']}&subject_id={$_REQUEST['subject_id']}&course_id={$_REQUEST['course_id']}&course_period_id=new";
} //print_r($extra); $RET = GetStuList($extra); //print_r($RET); //print_r($columns); if ($extra['array_function'] && function_exists($extra['array_function'])) { $extra['array_function']($RET); } echo "<html><link rel='stylesheet' type='text/css' href='styles/export.css'><body style=\" font-family:Arial; font-size:12px;\">"; ListOutputPrint_Report($RET, $columns, $extra['singular'] ? $extra['singular'] : 'Student', $extra['plural'] ? $extra['plural'] : 'Students', array(), $extra['LO_group'], $extra['LO_options']); echo "</body></html>"; } } else { if (!$fields_list) { if (AllowUse('Students/Student.php&category_id=1')) { $fields_list['General'] = array('FULL_NAME' => Preferences('NAME') == 'Common' ? 'Last, Common' : 'Last, First M', 'FIRST_NAME' => 'First', 'FIRST_INIT' => 'First Initial', 'LAST_NAME' => 'Last', 'MIDDLE_NAME' => 'Middle', 'NAME_SUFFIX' => 'Suffix', 'STUDENT_ID' => 'Student ID', 'GRADE_ID' => 'Grade', 'SCHOOL_ID' => 'School', 'NEXT_SCHOOL' => 'Rolling / Retention Options', 'CALENDAR_ID' => 'Calendar', 'USERNAME' => 'Username', 'ALT_ID' => 'Alternate ID', 'BIRTHDATE' => 'DOB', 'EMAIL' => 'Email ID', 'PHONE' => 'Phone'); } if (AllowUse('Students/Student.php&category_id=3')) { $fields_list['Address'] = array('ADDRESS' => 'Address', 'CITY' => 'City', 'STATE' => 'State', 'ZIPCODE' => 'Zip Code', 'MAIL_ADDRESS' => 'Mailing Address', 'MAIL_CITY' => 'Mailing City', 'MAIL_STATE' => 'Mailing State', 'MAIL_ZIPCODE' => 'Mailing Zipcode'); $categories_RET = DBGet(DBQuery("SELECT ID,TITLE FROM ADDRESS_FIELD_CATEGORIES ORDER BY SORT_ORDER")); $custom_RET = DBGet(DBQuery("SELECT TITLE,ID,TYPE,CATEGORY_ID FROM ADDRESS_FIELDS ORDER BY SORT_ORDER"), array(), array('CATEGORY_ID')); foreach ($categories_RET as $category) { foreach ($custom_RET[$category['ID']] as $field) { $fields_list['Address']['ADDRESS_' . $field['ID']] = str_replace("'", ''', $field['TITLE']); } } } if ($extra['field_names']) { $fields_list['General'] += $extra['field_names']; } }
echo '<TR>'; $_SESSION['staff_selected'] = $staff['STAFF_ID']; if (clean_param($_REQUEST['staff_id'], PARAM_ALPHANUM) != 'new' && $UserPicturesPath && (($file = @fopen($picture_path = $UserPicturesPath . UserSyear() . '/' . UserStaffID() . '.JPG', 'r')) || $staff['ROLLOVER_ID'] && ($file = @fopen($picture_path = $UserPicturesPath . (UserSyear() - 1) . '/' . $staff['ROLLOVER_ID'] . '.JPG', 'r')))) { fclose($file); echo '<TD width=150><IMG SRC="' . $picture_path . '" width=150></TD><TD valign=top>'; } else { echo '<TD colspan=2>'; } echo '<TABLE width=100% cellpadding=5 >'; echo '<TR><td valign="top">'; echo '<TABLE border=0>'; echo '<tr><td style=width:100px>' . _('Name') . '</td><td>:</td><td>'; if (clean_param($_REQUEST['staff_id'], PARAM_ALPHA) == 'new') { echo '<TABLE><TR><TD>' . SelectInput($staff['TITLE'], 'staff[TITLE]', '' . _('Title') . '', array('Mr.' => '' . _('Mr.') . '', 'Mrs.' => '' . _('Mrs.') . '', 'Ms.' => '' . _('Ms.') . '', 'Miss' => '' . _('Miss') . '', 'Dr' => '' . _('Dr') . '', 'Rev' => '' . _('Rev') . ''), '') . '</TD><TD>' . TextInput($staff['FIRST_NAME'], 'staff[FIRST_NAME]', '<FONT class=red>' . _('First') . '</FONT>', 'id=fname size="20" maxlength=50 class=cell_floating') . '</TD><TD>' . TextInput($staff['MIDDLE_NAME'], 'staff[MIDDLE_NAME]', '' . _('Middle') . '', 'size="18" maxlength=50 class=cell_floating') . '</TD><TD>' . TextInput($staff['LAST_NAME'], 'staff[LAST_NAME]', '<FONT color=red>' . _('Last') . '</FONT>', 'id=lname size="20" maxlength=50 class=cell_floating') . '</TD></TR></TABLE>'; } else { echo '<DIV id=user_name><div onclick=\'addHTML("<TABLE><TR><TD>' . str_replace('"', '\\"', SelectInput($staff['TITLE'], 'staff[TITLE]', 'Title', array('Mr.' => '' . _('Mr') . '', 'Mrs.' => '' . _('Mrs.') . '', 'Ms.' => '' . _('Ms.') . '', 'Miss' => '' . _('Miss') . '', 'Dr' => '' . _('Dr') . '', 'Rev' => '' . _('Rev')), '', '', false)) . '</TD><TD>' . str_replace('"', '\\"', TextInput($staff['FIRST_NAME'], 'staff[FIRST_NAME]', (!$staff['FIRST_NAME'] ? '<FONT color=red>' : '') . 'First' . (!$staff['FIRST_NAME'] ? '</FONT>' : ''), 'id=fname size=20 maxlength=50', false)) . '</TD><TD>' . str_replace('"', '\\"', TextInput($staff['MIDDLE_NAME'], 'staff[MIDDLE_NAME]', 'Middle', 'size=18 maxlength=50', false)) . '</TD><TD>' . str_replace('"', '\\"', TextInput($staff['LAST_NAME'], 'staff[LAST_NAME]', (!$staff['LAST_NAME'] ? '<FONT color=red>' : '') . 'Last' . (!$staff['LAST_NAME'] ? '</FONT>' : ''), 'id=lname size=20 maxlength=50', false)) . '</TD></TR></TABLE>","user_name",true);\'>' . (!$staff['TITLE'] && !$staff['FIRST_NAME'] && !$staff['MIDDLE_NAME'] && !$staff['LAST_NAME'] ? '-' : $staff['TITLE'] . ' ' . $staff['FIRST_NAME'] . ' ' . $staff['MIDDLE_NAME'] . ' ' . $staff['LAST_NAME']) . '</div></DIV><small>' . (!$staff['FIRST_NAME'] || !$staff['LAST_NAME'] ? '<FONT color=red>' : '<FONT color=' . Preferences('TITLES') . '>') . '</FONT></small>'; } echo '</td></tr>'; echo '<tr><td>' . _('Email Address') . '</td><td>:</td><td>'; echo TextInput($staff['EMAIL'], 'staff[EMAIL]', '', 'size=25 maxlength=100 id=email class=cell_floating'); echo '</TD></tr>'; echo '<tr><td>' . _('Phone Number') . '</td><td>:</td><td><table cellpadding=0 cellspacing=0><tr><td>'; echo TextInput($staff['PHONE'], 'staff[PHONE]', '', 'size=25 maxlength=100 class=cell_floating'); echo '</td></tr></table></TD>'; if ($_REQUEST['staff_id'] != 'new') { echo '<TR><TD>'; echo '' . _('Disable User') . '</TD><TD>:</TD><TD>' . CheckboxInput($staff['IS_DISABLE'], 'staff[IS_DISABLE]', '', 'CHECKED', $new, '<IMG SRC=assets/check.gif width=15>', '<IMG SRC=assets/x.gif width=15>'); echo '</TD></TR>'; echo '<TR><TD>'; echo '' . _('Last Login') . '</TD><TD>:</TD><TD>' . NoInput(ProperDate(substr($staff['LAST_LOGIN'], 0, 10)) . substr($staff['LAST_LOGIN'], 10)); echo '</TD></TR>';
function CheckboxInput_No($value, $name, $title = '', $checked = '', $new = false, $yes = 'Yes', $no = 'No', $div = true, $extra = '') { // $checked has been deprecated -- it remains only as a placeholder if (Preferences('HIDDEN') != 'Y') { $div = false; } if ($div == false || $new == true) { if ($value && $value != 'N') { $checked = 'CHECKED'; } else { $checked = ''; } } if (AllowEdit() && !$_REQUEST['_openSIS_PDF']) { if ($new || $div == false) { return "<INPUT type=checkbox name={$name} value=Y {$extra}>" . ($title != '' ? '<BR><small>' . (strpos(strtolower($title), '<font ') === false ? '<FONT color=' . Preferences('TITLES') . '>' : '') . $title . (strpos(strtolower($title), '<font ') === false ? '</FONT>' : '') . '</small>' : ''); } else { return "<DIV id='div{$name}'><div onclick='javascript:addHTML(\"<INPUT type=hidden name={$name} value=\\\"N\\\"><INPUT type=checkbox name={$name} " . ($value == 'Y' ? 'checked' : '') . " value=Y " . str_replace('"', '\\"', $extra) . ">" . ($title != '' ? '<BR><small>' . str_replace("'", ''', (strpos(strtolower($title), '<font ') === false ? '<FONT color=' . Preferences('TITLES') . '>' : '') . $title . (strpos(strtolower($title), '<font ') === false ? '</FONT>' : '')) . '</small>' : '') . "\",\"div{$name}\",true)'>" . ($value != 'N' ? $yes : $no) . ($title != '' ? "<BR><small>" . str_replace("'", ''', (strpos(strtolower($title), '<font ') === false ? '<FONT color=' . Preferences('TITLES') . '>' : '') . $title . (strpos(strtolower($title), '<font ') === false ? '</FONT>' : '')) . "</small>" : '') . "</div></DIV>"; } } else { return ($value != 'N' ? $yes : $no) . ($title != '' ? '<BR><small>' . (strpos(strtolower($title), '<font ') === false ? '<FONT color=' . Preferences('TITLES') . '>' : '') . $title . (strpos(strtolower($title), '<font ') === false ? '</FONT>' : '') . '</small>' : ''); } }
function ListOutputGrade($result, $column_names, $singular = '', $plural = '', $link = false, $group = false, $options = false, $for_window = '') { if (!isset($options['save'])) { $options['save'] = true; } if (!isset($options['print'])) { $options['print'] = true; } if (!isset($options['search'])) { $options['search'] = true; } if (!isset($options['center'])) { $options['center'] = true; } if (!isset($options['count'])) { $options['count'] = true; } if (!isset($options['sort'])) { $options['sort'] = true; } if (!$link) { $link = array(); } if (isset($_REQUEST['page'])) { if ($_REQUEST['list_type'] == $singular) { $Request_page = $_REQUEST['page']; } } if (!isset($options['add'])) { if (!AllowEdit() || $_REQUEST['_openSIS_PDF']) { if ($link) { unset($link['add']); unset($link['remove']); } } } // PREPARE LINKS --- $result_count = $display_count = count($result); $num_displayed = 100000; $extra = "page={$_REQUEST['page']}&LO_sort={$_REQUEST['LO_sort']}&LO_direction={$_REQUEST['LO_direction']}&LO_search=" . urlencode($_REQUEST['LO_search']); $tmp_REQUEST = $_REQUEST; unset($tmp_REQUEST['page']); unset($tmp_REQUEST['LO_sort']); unset($tmp_REQUEST['LO_direction']); unset($tmp_REQUEST['LO_search']); unset($tmp_REQUEST['remove_prompt']); unset($tmp_REQUEST['remove_name']); unset($tmp_REQUEST['LO_save']); unset($tmp_REQUEST['PHPSESSID']); //$PHP_tmp_SELF = PreparePHP_SELF($tmp_REQUEST); $PHP_tmp_SELF = str_replace('>', '', PreparePHP_SELF($tmp_REQUEST)); // END PREPARE LINKS --- // UN-GROUPING $group_count = count($group); if (!is_array($group)) { $group_count = false; } //$side_color = Preferences('COLOR'); $side_color = 'class=odd'; if ($group_count && $result_count) { $color = 'class=even'; $group_result = $result; unset($result); $result[0] = ''; foreach ($group_result as $item1) { if ($group_count == 1) { if ($color == 'class=even') { $color = $side_color; } else { $color = 'class=even'; } } foreach ($item1 as $item2) { if ($group_count == 1) { $i++; if (count($group[0]) && $i != 1) { foreach ($group[0] as $column) { $item2[$column] = str_replace('<!-- <!--', '<!--', '<!-- ' . str_replace('-->', '--><!--', $item2[$column])) . ' -->'; } } $item2['row_color'] = $color; $result[] = $item2; } else { if ($group_count == 2) { if ($color == 'class=even') { $color = $side_color; } else { $color = 'class=even'; } } foreach ($item2 as $item3) { if ($group_count == 2) { $i++; if (count($group[0]) && $i != 1) { foreach ($group[0] as $column) { $item3[$column] = '<!-- ' . $item3[$column] . ' -->'; } } if (count($group[1]) && $i != 1) { foreach ($group[1] as $column) { $item3[$column] = '<!-- ' . $item3[$column] . ' -->'; } } $item3['row_color'] = $color; $result[] = $item3; } else { if ($group_count == 3) { if ($color == 'class=even') { $color = $side_color; } else { $color = 'class=even'; } } foreach ($item3 as $item4) { if ($group_count == 3) { $i++; if (count($group[2]) && $i != 1) { foreach ($group[2] as $column) { unset($item4[$column]); } } $item4['row_color'] = $color; $result[] = $item4; } } } } } } $i = 0; } unset($result[0]); $result_count = count($result); unset($_REQUEST['LO_sort']); } // END UN-GROUPING $_LIST['output'] = true; // PRINT HEADINGS, PREPARE PDF, AND SORT THE LIST --- if ($_LIST['output'] != false) { if ($result_count != 0) { $count = 0; $remove = count($link['remove']['variables']); $cols = count($column_names); // HANDLE SEARCHES --- if ($result_count && $_REQUEST['LO_search'] && $_REQUEST['LO_search'] != 'Search') { $_REQUEST['LO_search'] = $search_term = str_replace('\\\\"', '"', $_REQUEST['LO_search']); $_REQUEST['LO_search'] = $search_term = ereg_replace('[^a-zA-Z0-9 _"]*', '', strtolower($search_term)); if (substr($search_term, 0, 0) != '"' && substr($search_term, -1) != '"') { $search_term = ereg_replace('"', '', $search_term); while ($space_pos = strpos($search_term, ' ')) { $terms[strtolower(substr($search_term, 0, $space_pos))] = 1; $search_term = substr($search_term, $space_pos + 1); } $terms[trim($search_term)] = 1; } else { $search_term = ereg_replace('"', '', $search_term); $terms[trim($search_term)] = 1; } unset($terms['of']); unset($terms['the']); unset($terms['a']); unset($terms['an']); unset($terms['in']); foreach ($result as $key => $value) { $values[$key] = 0; foreach ($value as $name => $val) { $val = ereg_replace('[^a-zA-Z0-9 _]+', '', strtolower($val)); if (strtolower($_REQUEST['LO_search']) == $val) { $values[$key] += 25; } foreach ($terms as $term => $one) { if (ereg($term, $val)) { $values[$key] += 3; } } } if ($values[$key] == 0) { unset($values[$key]); unset($result[$key]); $result_count--; $display_count--; } } if ($result_count) { array_multisort($values, SORT_DESC, $result); $result = ReindexResults($result); $values = ReindexResults($values); $last_value = 1; $scale = 100 / $values[$last_value]; for ($i = $last_value; $i <= $result_count; $i++) { $result[$i]['RELEVANCE'] = '<!--' . (int) ($values[$i] * $scale) . '--><IMG SRC="assets/pixel_grey.gif" width=' . (int) ($values[$i] * $scale) . ' height=10>'; } } $column_names['RELEVANCE'] = "" . _('Relevance') . ""; if (is_array($group) && count($group)) { $options['count'] == false; $display_zero = true; } } // END SEARCHES --- if ($_REQUEST['LO_sort']) { $r = array(); $a = array(); $t = array(); $c = 0; for ($i = 1; $i <= count($result); $i++) { if (array_key_exists("FULL_NAME", $result[$i])) { array_push($a, $i); } } $l = 0; $k = 0; foreach ($result as $column => $value) { for ($n = 0; $n < count($a); $n++) { if ($column == $a[$n]) { $k = $k + 1; } } $t[$k][$l] = $value; $l++; } for ($h = 1; $h <= count($a); $h++) { foreach ($t[$h] as $sort) { if (substr($sort[$_REQUEST['LO_sort']], 0, 4) != '<!--') { $sort_array[] = $sort[$_REQUEST['LO_sort']]; } else { $sort_array[] = substr($sort[$_REQUEST['LO_sort']], 4, strpos($sort[$_REQUEST['LO_sort']], '-->') - 5); } } if ($_REQUEST['LO_direction'] == -1) { $dir = SORT_DESC; } else { $dir = SORT_ASC; } if (count($t) > 1) { if (is_int($sort_array[1]) || is_double($sort_array[1])) { array_multisort($sort_array, $dir, SORT_NUMERIC, $t[$h]); } else { array_multisort($sort_array, $dir, $t[$h]); } // print_r($t[$h]); $inc = 0; $pos = 0; $flag = true; $inc = 0; $select = $_REQUEST['LO_sort']; for ($c = 0; $c < count($t[$h]); $c++) { if (array_key_exists($_REQUEST['LO_sort'], $t[$h][$c])) { $temp = $t[$h][$c]; if ($temp[$select]) { $inc++; if ($flag) { $pos = $c; $flag = false; } } } } $abc = array_slice($t[$h], $pos, $inc); if ($pos == 0) { $cde = array_slice($t[$h], $inc, count($t[$h]) - 1); } else { $cde = array_slice($t[$h], 0, $pos); } if ($inc != 0) { $t[$h] = array_merge($abc, $cde); } echo "<br/>"; array_push($result, $t[$h]); } for ($i = $result_count - 1; $i >= 0; $i--) { $result[$i + 1] = $result[$i]; } unset($result[0]); $sort_array = ""; } // $name_sort=array(); $bgcolor_sort = array(); for ($h = 1; $h <= count($t); $h++) { for ($n = 0; $n < count($t[$h]); $n++) { if ($_REQUEST['LO_sort'] == "FULL_NAME") { if (array_key_exists("FULL_NAME", $t[$h][$n])) { $name_sort[] = array_shift($t[$h][$n]); } if (array_key_exists("bgcolor", $t[$h][$n])) { $bgcolor_sort[] = array_shift($t[$h][$n]); } } else { if (array_key_exists("FULL_NAME", $t[$h][$n])) { $FULL_NAME = array_shift($t[$h][$n]); } if (array_key_exists("bgcolor", $t[$h][$n])) { $bgcolor = array_shift($t[$h][$n]); } $t[$h][0][FULL_NAME] = $FULL_NAME; $t[$h][0][bgcolor] = $bgcolor; } } } for ($h = 1; $h <= count($t); $h++) { for ($n = 0; $n < count($t[$h]); $n++) { if (array_key_exists("0", $t[$h][$n])) { $mkperiod = $t[$h][$n]['MARKING_PERIOD_ID']; $t[$h][$n][$mkperiod] = $t[$h][$n][0]; } } } //print_r($name_sort); if ($_REQUEST['LO_sort'] == "FULL_NAME") { array_multisort($name_sort, $dir); for ($h = 1; $h <= count($t); $h++) { $t[$h][0][FULL_NAME] = $name_sort[$h - 1]; } } $result = ""; for ($n = 1; $n <= count($a); $n++) { $result = array_merge((array) $result, $t[$n]); } } } // HANDLE SAVING THE LIST --- if ($_REQUEST['LO_save'] == '1') { if (!$options['save_delimiter'] && Preferences('DELIMITER') == 'CSV') { $options['save_delimiter'] = 'comma'; } switch ($options['save_delimiter']) { case 'comma': $extension = 'csv'; break; case 'xml': $extension = 'xml'; break; default: $extension = 'xls'; break; } ob_end_clean(); if ($options['save_delimiter'] != 'xml') { foreach ($column_names as $key => $value) { $output .= str_replace(' ', ' ', eregi_replace('<BR>', ' ', ereg_replace('<!--.*-->', '', $value))) . ($options['save_delimiter'] == 'comma' ? ',' : "\t"); } $output .= "\n"; } foreach ($result as $item) { foreach ($column_names as $key => $value) { if ($options['save_delimiter'] == 'comma' && !$options['save_quotes']) { $item[$key] = str_replace(',', ';', $item[$key]); } $item[$key] = eregi_replace('<SELECT.*SELECTED\\>([^<]+)<.*</SELECT\\>', '\\1', $item[$key]); $item[$key] = eregi_replace('<SELECT.*</SELECT\\>', '', $item[$key]); $output .= ($options['save_quotes'] ? '"' : '') . ($options['save_delimiter'] == 'xml' ? '<' . str_replace(' ', '', $value) . '>' : '') . ereg_replace('<[^>]+>', '', ereg_replace("<div onclick='[^']+'>", '', ereg_replace(' +', ' ', ereg_replace('&[^;]+;', '', str_replace('<BR>·', ' : ', str_replace(' ', ' ', $item[$key])))))) . ($options['save_delimiter'] == 'xml' ? '</' . str_replace(' ', '', $value) . '>' . "\n" : '') . ($options['save_quotes'] ? '"' : '') . ($options['save_delimiter'] == 'comma' ? ',' : "\t"); } $output .= "\n"; } header("Cache-Control: public"); header("Pragma: "); header("Content-Type: application/{$extension}"); header("Content-Disposition: inline; filename=\"" . ProgramTitle() . ".{$extension}\"\n"); if ($options['save_eval']) { eval($options['save_eval']); } echo $output; exit; } // END SAVING THE LIST --- if ($options['center']) { #echo '<CENTER>'; if ($result_count > $num_displayed || ($options['count'] || $display_zero) && (($result_count == 0 || $display_count == 0) && $plural || ($result_count == 0 || $display_count == 0))) { #echo "<TABLE border=0 cellspacing=3 cellpadding=6>" ; if (isset($_REQUEST['_openSIS_PDF'])) { #echo " width=98%"; echo " <TR><TD align=center>"; } } } if ($options['count'] || $display_zero) { if (($result_count == 0 || $display_count == 0) && $plural) { echo "<div style=text-align:left><table cellpadding=5 cellspacing=5 class=alert_box ><tr><td class=alert></td><td class=alert_msg ><b>" . _('No') . " {$plural} " . _('were found.') . "</b></td></tr><tr><td colspan=2 class=clear></td></tr></table></div>"; } elseif ($result_count == 0 || $display_count == 0) { echo '<div style=text-align:left><table cellpadding=5 cellspacing=5 class=alert_box ><tr><td class=alert></td><td class=alert_msg ><b>' . _('None were found.') . '</b></td></tr><tr><td colspan=2 class=clear></td></tr></table></div>'; } } if ($result_count != 0 || $_REQUEST['LO_search'] && $_REQUEST['LO_search'] != 'Search') { if (!isset($_REQUEST['_openSIS_PDF'])) { if (!$Request_page) { $Request_page = 1; } if (!$_REQUEST['LO_direction']) { $_REQUEST['LO_direction'] = 1; } $start = ($Request_page - 1) * $num_displayed + 1; $stop = $start + ($num_displayed - 1); if ($stop > $result_count) { $stop = $result_count; } if ($result_count > $num_displayed) { echo $where_message = "<strong><br>\n\t\t\t\t\t\t\t\t\t {$start} " . _('through') . " {$stop}</strong>"; echo "<div style=text-align:right;margin-top:-14px;padding-right:15px><strong>" . _('Go to Page') . " "; if (ceil($result_count / $num_displayed) <= 10) { for ($i = 1; $i <= ceil($result_count / $num_displayed); $i++) { if ($i != $Request_page) { if ($for_window == 'for_window') { $pages .= "<A HREF=" . str_replace('Modules.php', 'for_window.php', $PHP_tmp_SELF) . "&LO_sort={$_REQUEST['LO_sort']}&LO_direction={$_REQUEST['LO_direction']}&LO_search=" . urlencode($_REQUEST['LO_search']) . "&page={$i}&list_type={$singular}>{$i}</A>, "; } else { $pages .= "<A HREF={$PHP_tmp_SELF}&LO_sort={$_REQUEST['LO_sort']}&LO_direction={$_REQUEST['LO_direction']}&LO_search=" . urlencode($_REQUEST['LO_search']) . "&page={$i}&list_type={$singular}>{$i}</A>, "; } } else { $pages .= "{$i}, "; } } $pages = substr($pages, 0, -2); } else { for ($i = 1; $i <= 7; $i++) { if ($i != $Request_page) { $pages .= "<A HREF={$PHP_tmp_SELF}&LO_sort={$_REQUEST['LO_sort']}&LO_direction={$_REQUEST['LO_direction']}&LO_search=" . urlencode($_REQUEST['LO_search']) . "&page={$i}>{$i}</A>, "; } else { $pages .= "{$i}, "; } } $pages = substr($pages, 0, -2) . " ... "; for ($i = ceil($result_count / $num_displayed) - 2; $i <= ceil($result_count / $num_displayed); $i++) { if ($i != $Request_page) { $pages .= "<A HREF={$PHP_tmp_SELF}&LO_sort={$_REQUEST['LO_sort']}&LO_direction={$_REQUEST['LO_direction']}&LO_search=" . urlencode($_REQUEST['LO_search']) . "&page={$i}>{$i}</A>, "; } else { $pages .= "{$i}, "; } } $pages = substr($pages, 0, -2) . " <A HREF={$PHP_tmp_SELF}&LO_sort={$_REQUEST['LO_sort']}&LO_direction={$_REQUEST['LO_direction']}&LO_search=" . urlencode($_REQUEST['LO_search']) . "&page=" . ($Request_page + 1) . ">" . _('Next Page') . "</A><BR>"; } echo $pages; //echo '</td></tr></table></div>'; echo '</strong></div>'; //echo '<BR>'; } } else { $start = 1; $stop = $result_count; if ($cols > 8 || $_REQUEST['expanded_view']) { $_SESSION['orientation'] = 'landscape'; $repeat_headers = 16; } else { $repeat_headers = 27; } if ($options['print']) { $html = explode('<!-- new page -->', strtolower(ob_get_contents())); $html = $html[count($html) - 1]; echo '</TD></TR></TABLE>'; $br = substr_count($html, '<br>') + substr_count($html, '</p>') + substr_count($html, '</tr>') + substr_count($html, '</h1>') + substr_count($html, '</h2>') + substr_count($html, '</h3>') + substr_count($html, '</h4>') + substr_count($html, '</h5>'); if ($br % 2 != 0) { $br++; echo '<BR>'; } } else { echo '</TD></TR></TABLE>'; } } // END MISC --- // WIDTH = 100% echo '<TABLE width=98% border=0 cellspacing=0 cellpadding=0><TR>'; // SEARCH BOX & MORE HEADERS if ($where_message || $singular && $plural || !isset($_REQUEST['_openSIS_PDF']) && $options['search']) { echo '<TD align=center>'; echo '<TABLE cellpadding=1 width=100% border=0 class=\\"grid\\">'; echo "<TR><TD align=left valign=middle>"; if ($singular && $plural && $options['count']) { if ($display_count > 1) { echo "<table cellpadding=5 cellspacing=5 class=alert_box align=left ><tr><td class=notice></td><td class=notice_msg ><b>{$display_count} {$plural} " . _('were found.') . "</b></td></tr></table>"; } elseif ($display_count == 1) { echo "<table cellpadding=5 cellspacing=5 class=alert_box align=left ><tr><td class=notice></td><td class=notice_msg ><b>" . _('1') . " {$singular} " . _('was found.') . "</b></td></tr></table>"; } #if($where_message) # echo '<br>'.$where_message; } if ($options['save'] && !isset($_REQUEST['_openSIS_PDF']) && $result_count > 0) { //echo str_replace("Modules.php", "for_export.php", $PHP_tmp_SELF); echo "<table cellpadding=0 cellspacing=0 class=download align=left ><tr><td><A HREF=" . str_replace('Modules.php', 'for_export.php', $PHP_tmp_SELF) . "&{$extra}&LO_save=1&_openSIS_PDF=true ><IMG SRC=assets/download.png border=0 alt=\"Download\" title=\"" . _('Download') . "\"></a></td></tr></table>"; } //echo "<br><br><table class=download ><tr><td><A HREF=".str_replace('Modules.php', 'for_export.php', $PHP_tmp_SELF)."&$extra&_openSIS_PDF=true ><IMG SRC=assets/download.png border=0></a></td><td><A HREF=".str_replace('Modules.php', 'for_export.php', $PHP_tmp_SELF)."&$extra&_openSIS_PDF=true >Download</A></td></tr></table>"; echo '</TD>'; $colspan = 1; if (!isset($_REQUEST['_openSIS_PDF']) && $options['search']) { $_REQUEST['portal_search'] = 'true'; $tmp_REQUEST = $_REQUEST; unset($tmp_REQUEST['LO_search']); unset($tmp_REQUEST['page']); echo '<TD height="50" align=right valign=middle style="white-space:nowrap;"> '; echo "<INPUT type=text class='cell_medium' id=LO_search name=LO_search value='" . ($_REQUEST['LO_search'] && $_REQUEST['LO_search'] != 'Search' ? $_REQUEST['LO_search'] : 'Search\' style=\'color:BBBBBB\''), "' onfocus='if(this.value==\"Search\") this.value=\"\"; this.style.color=\"000000\";' onblur='if(this.value==\"\") {this.value=\"Search\"; this.style.color=\"BBBBBB\";}' onkeypress='if(event.keyCode==13){document.location.href=\"" . PreparePHP_SELF($tmp_REQUEST) . "&LO_search=\"+this.value; return false;} '> <INPUT type=button class='btn_go' value=" . _('Go') . " onclick='document.location.href=\"" . PreparePHP_SELF($tmp_REQUEST) . "&LO_search=\"+document.getElementById(\"LO_search\").value;'></TD>"; $colspan++; } echo "</TR>"; echo '<TR style="height:0;"><TD width=100% align=center colspan=' . $colspan . '><DIV id=LOx' . (count($column_names) + ($result_count != 0 && $cols && !isset($_REQUEST['_openSIS_PDF']) ? 1 : 0) + ($remove && !isset($_REQUEST['_openSIS_PDF']) ? 1 : 0)) . ' style="width:0; position: relative; height:0;"></DIV></TD></TR></TABLE>'; } else { echo '<TD width=100% align=right><DIV id=LOx' . (count($column_names) + ($result_count != 0 && $cols && !isset($_REQUEST['_openSIS_PDF']) ? 1 : 0) + ($remove && !isset($_REQUEST['_openSIS_PDF']) ? 1 : 0)) . ' style="width:0; position: relative; height:0;"></DIV>'; } // END SEARCH BOX ---- echo '</TD></TR><TR><TD>'; // SHADOW if (!isset($_REQUEST['_openSIS_PDF'])) { //echo "<link rel='stylesheet' type='text/css' href='styles/paging.css' />\n"; echo '<div id="pagerNavPosition"></div>'; echo '<TABLE width=100% cellpadding=0 cellspacing=0><TR><TD align=center>'; } echo "<TABLE id='results' cellpadding=6 width=96% cellspacing=1 class=\"grid\" align=center>"; if (!isset($_REQUEST['_openSIS_PDF']) && $stop - $start > 10) { echo '<THEAD>'; } if (!isset($_REQUEST['_openSIS_PDF'])) { echo '<TR>'; } $i = 1; if ($remove && !isset($_REQUEST['_openSIS_PDF']) && $result_count != 0) { //THIS LINE IS FOR COLUMN HEADING echo "<TD class=subtabs><DIV id=LOx{$i} style='position: relative;'></DIV></TD>"; $i++; } if ($result_count != 0 && $cols && !isset($_REQUEST['_openSIS_PDF'])) { foreach ($column_names as $key => $value) { if ($_REQUEST['LO_sort'] == $key) { $direction = -1 * $_REQUEST['LO_direction']; } else { $direction = 1; } //THIS LINE IS FOR COLUMN HEADING echo "<TD class=subtabs><DIV id=LOx{$i} style='position: relative;'></DIV>"; echo "<A "; if ($options['sort']) { if ($for_window == 'for_window') { echo "HREF=#"; } else { echo "HREF={$PHP_tmp_SELF}&page={$_REQUEST['page']}&LO_sort={$key}&LO_direction={$direction}&LO_search=" . urlencode($_REQUEST['LO_search']); } } echo " class=column_heading><b>{$value}</b></A>"; if ($i == 1) { echo "<DIV id=LOy0 style='position: relative;'></DIV>"; } echo "</TD>"; $i++; } //echo '<TD width=0><DIV id=LO'.$i.'></DIV></TD>'; echo "</TR>"; } $color = 'class=even'; //style="height: 300px; overflow: auto; padding-right: 16px;" if (!isset($_REQUEST['_openSIS_PDF']) && $stop - $start > 10) { echo '</THEAD><TBODY>'; } // mab - enable add link as first or last if ($result_count != 0 && $link['add']['first'] && $stop - $start >= $link['add']['first']) { //if($remove && !isset($_REQUEST['_openSIS_PDF'])) // $cols++; if ($link['add']['link'] && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TR><TD colspan=" . ($remove ? $cols + 1 : $cols) . " align=left class=even>" . button('add', $link['add']['title'], $link['add']['link']) . "</TD></TR>"; } elseif ($link['add']['span'] && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TR><TD colspan=" . ($remove ? $cols + 1 : $cols) . " align=left class=even>" . button('add') . $link['add']['span'] . "</TD></TR>"; } elseif ($link['add']['html'] && $cols) { echo "<TR {$color}>"; if ($remove && !isset($_REQUEST['_openSIS_PDF']) && $link['add']['html']['remove']) { echo "<TD class=even align=left>" . $link['add']['html']['remove'] . "</TD>"; } elseif ($remove && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TD class=even align=left>" . button('add') . "</TD>"; } foreach ($column_names as $key => $value) { echo "<TD class=even align=left >" . $link['add']['html'][$key] . "</TD>"; } echo "</TR>"; $count++; } } for ($i = $start; $i <= $stop; $i++) { $item = $result[$i]; if (isset($_REQUEST['_openSIS_PDF']) && $options['print'] && count($item)) { foreach ($item as $key => $value) { $value = eregi_replace('<SELECT.*SELECTED\\>([^<]+)<.*</SELECT\\>', '\\1', $value); $value = eregi_replace('<SELECT.*</SELECT\\>', '', $value); if (strpos($value, 'LO_field') === false) { $item[$key] = str_replace(' ', ' ', ereg_replace("<div onclick='[^']+'>", '', $value)); } else { $item[$key] = ereg_replace("<div onclick='[^']+'>", '', $value); } } } if ($item['row_color']) { $color = $item['row_color']; } elseif ($color == 'class=even') { $color = $side_color; } else { $color = 'class=even'; } //$color = '#EDF3FE'; if (isset($_REQUEST['_openSIS_PDF']) && $count % $repeat_headers == 0) { if ($count != 0) { echo '</TABLE><TABLE cellpadding=6 width=820 class=\\"grid\\">'; echo '<!-- NEW PAGE -->'; } echo "<TR>"; if ($remove && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TD class=grid></TD>"; } if ($cols) { foreach ($column_names as $key => $value) { echo "<TD class=grid >" . str_replace(' ', ' ', $value) . "</TD>"; } } echo "</TR>"; } if ($count == 0) { $count = $br; } echo "<TR {$color}>"; $count++; if ($remove && !isset($_REQUEST['_openSIS_PDF'])) { $button_title = $link['remove']['title']; //if(!$button_title) //$button_title = 'Remove'; $button_link = $link['remove']['link']; if (count($link['remove']['variables'])) { foreach ($link['remove']['variables'] as $var => $val) { $button_link .= "&{$var}=" . $item[$val]; } } echo "<TD {$color}>" . button('remove', $button_title, $button_link) . "</TD>"; } if ($cols) { foreach ($column_names as $key => $value) { if ($link[$key] && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TD {$color} >"; if ($key == 'FULL_NAME') { echo '<DIV id=LOy' . ($count - $br) . ' style="height: 100%; min-height: 100%; position: relative;">'; } if ($link[$key]['js'] === true) { echo "<A HREF=# onclick='window.open(\"{$link[$key][link]}"; if (count($link[$key]['variables'])) { foreach ($link[$key]['variables'] as $var => $val) { echo "&{$var}=" . urlencode($item[$val]); } } echo "\",\"\",\"scrollbars=yes,resizable=yes,width=800,height=400\");'"; if ($link[$key]['extra']) { echo ' ' . $link[$key]['extra']; } echo ">"; } else { echo "<A HREF={$link[$key][link]}"; if (count($link[$key]['variables'])) { foreach ($link[$key]['variables'] as $var => $val) { echo "&{$var}=" . urlencode($item[$val]); } } if ($link[$key]['extra']) { echo ' ' . $link[$key]['extra']; } echo " onclick='grabA(this); return false;'>"; } if ($color == Preferences('HIGHLIGHT')) { echo ''; } else { echo '<b>'; } echo $item[$key]; echo '</b>'; if (!$item[$key]) { echo '***'; } echo "</A>"; if ($key == 'FULL_NAME') { echo '</DIV>'; } echo "</TD>"; } else { echo "<TD {$color} >"; if ($key == 'FULL_NAME') { echo '<DIV id=LOy' . ($count - $br) . ' style="position: relative;">'; } if ($color == Preferences('HIGHLIGHT')) { echo ''; } echo $item[$key]; if (!$item[$key]) { echo ' '; } if ($key == 'FULL_NAME') { echo '<DIV>'; } echo "</TD>"; } } } echo "</TR>"; } if ($result_count != 0 && (!$link['add']['first'] || $link['add']['first'] && $stop - $start < $link['add']['first'])) { //if($remove && !isset($_REQUEST['_openSIS_PDF'])) // $cols++; if ($link['add']['link'] && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TR><TD colspan=" . ($remove ? $cols + 1 : $cols) . " align=left class=even>" . button('add', $link['add']['title'], $link['add']['link']) . "</TD></TR>"; } elseif ($link['add']['span'] && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TR><TD colspan=" . ($remove ? $cols + 1 : $cols) . " align=left class=even>" . button('add') . $link['add']['span'] . "</TD></TR>"; } elseif ($link['add']['html'] && $cols) { if ($count % 2) { $color = 'class=even'; } else { $color = $side_color; } echo "<TR {$color}>"; if ($remove && !isset($_REQUEST['_openSIS_PDF']) && $link['add']['html']['remove']) { echo "<TD class=even align=left>" . $link['add']['html']['remove'] . "</TD>"; } elseif ($remove && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TD class=even align=left class=grid_button>" . button('add') . "</TD>"; } foreach ($column_names as $key => $value) { echo "<TD class=even align=left valign=top>" . $link['add']['html'][$key] . "</TD>"; } echo "</TR>"; } } if ($result_count != 0) { if (!isset($_REQUEST['_openSIS_PDF']) && $stop - $start > 10) { echo '</TBODY>'; } echo "</TABLE>"; // SHADOW if (!isset($_REQUEST['_openSIS_PDF'])) { echo '</TD ></TR></TABLE>'; echo "<script language='javascript' type='text/javascript'>\n"; #echo "alert('calling pager');\n"; $number_rec = 100; echo "var pager = new Pager('results',{$number_rec});\n"; echo "pager.init();\n"; echo "pager.showPageNav('pager', 'pagerNavPosition');\n"; echo "pager.showPage(1);\n"; echo "</script>\n"; } echo "</TD ></TR>"; echo "</TABLE>"; if ($options['center']) { echo ''; } } // END PRINT THE LIST --- } if ($result_count == 0) { // mab - problem with table closing if not opened above - do same conditional? if ($result_count > $num_displayed || ($options['count'] || $display_zero) && (($result_count == 0 || $display_count == 0) && $plural || ($result_count == 0 || $display_count == 0))) { #echo '<td>'; //edited for Search in parents (user>> associate student with parents) if ($link['add']['link'] && !isset($_REQUEST['_openSIS_PDF'])) { echo '<table width=120px cellspacing=8 cellpadding=6 ><tr><TD align=left class=lone_add >' . button('add', $link['add']['title'], $link['add']['link']) . '</td></tr></table>'; } elseif (($link['add']['html'] || $link['add']['span']) && count($column_names) && !isset($_REQUEST['_openSIS_PDF'])) { $color = $side_color; if ($options['center']) { #echo '<CENTER>'; // WIDTH=100% //echo "<TABLE cellpadding=1 bgcolor=#f8f8f9 width=100%><TR><TD>"; // SHADOW echo '<TABLE width=100% cellpadding=0 cellspacing=0><TR><TD align=center>'; } if ($link['add']['html']) { /*Here also change the colour for left corner*/ echo "<TABLE cellpadding=6 cellspacing=1 width=96% class=\"grid\"><TR><TD class=subtabs></TD>"; foreach ($column_names as $key => $value) { //Here to change the ListOutput Header Colour echo "<TD class=subtabs><A><b>" . str_replace(' ', ' ', $value) . "</b></A></TD>"; } echo "</TR>"; echo "<TR class=odd>"; if ($link['add']['html']['remove']) { echo "<TD >" . $link['add']['html']['remove'] . "</TD>"; } else { echo "<TD>" . button('add') . "</TD>"; } foreach ($column_names as $key => $value) { echo "<TD >" . $link['add']['html'][$key] . "</TD>"; } echo "</TR>"; echo "</TABLE>"; } elseif ($link['add']['span'] && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TABLE><TR><TD align=center>" . button('add') . $link['add']['span'] . "</TD></TR></TABLE>"; } // SHADOW //echo '</TD></TR></TABLE>'; echo "</TD></TR></TABLE>"; if ($options['center']) { echo '</CENTER>'; } } } } if ($result_count != 0) { if ($options['yscroll']) { echo '<div id="LOy_layer" style="position: absolute; top: 0; left: 0; visibility:hidden;">'; echo '<TABLE cellpadding=6 id=LOy_table>'; $i = 1; if ($cols && !isset($_REQUEST['_openSIS_PDF'])) { $color = $side_color; foreach ($result as $item) { echo "<TR><TD {$color} id=LO_row{$i}>"; if ($color == Preferences('HIGHLIGHT')) { echo ''; } echo $item['FULL_NAME']; if (!$item['FULL_NAME']) { echo ' '; } if ($color == Preferences('HIGHLIGHT')) { echo ''; } echo "</TD></TR>"; $i++; if ($item['row_color']) { $color = $item['row_color']; } elseif ($color == 'class=even') { $color = $side_color; } else { $color = 'class=even'; } } } echo '</TABLE>'; echo '</div>'; } echo '<div id="LOx_layer" style="position: absolute; top: 0; left: 0; visibility:hidden;">'; echo '<TABLE cellpadding=6 id=LOx_table><TR>'; $i = 1; if ($remove && !isset($_REQUEST['_openSIS_PDF']) && $result_count != 0) { echo "<TD class=grid id=LO_col{$i}></TD>"; $i++; } if ($cols && !isset($_REQUEST['_openSIS_PDF'])) { foreach ($column_names as $key => $value) { echo '<TD class=grid id=LO_col' . $i . '><A class=column_heading><b>' . str_replace('controller', '', $value) . '</b></A></TD>'; $i++; } } echo '</TR></TABLE>'; echo '</div>'; } } }
PopTable('header', 'Find a Student'); if ($extra['pdf'] != true) { echo "<FORM name=search id=search action=Modules.php?modname={$_REQUEST['modname']}&modfunc={$_REQUEST['modfunc']}&search_modfunc=list&next_modname={$_REQUEST['next_modname']}" . $extra['action'] . " method=POST>"; } else { echo "<FORM name=search id=search action=for_export.php?modname={$_REQUEST['modname']}&modfunc={$_REQUEST['modfunc']}&search_modfunc=list&next_modname={$_REQUEST['next_modname']}" . $extra['action'] . " method=POST target=_blank>"; } echo '<TABLE border=0>'; Search('general_info'); if ($extra['search']) { echo $extra['search']; } Search('student_fields'); echo '<TABLE width=100%><TR><TD align=center><BR>'; if (User('PROFILE') == 'admin') { echo '<INPUT type=checkbox name=address_group value=Y' . (Preferences('DEFAULT_FAMILIES') == 'Y' ? ' CHECKED' : '') . '>Group by Family<BR>'; echo '<INPUT type=checkbox name=_search_all_schools value=Y' . (Preferences('DEFAULT_ALL_SCHOOLS') == 'Y' ? ' CHECKED' : '') . '>Search All Schools<BR>'; } echo '<INPUT type=checkbox name=include_inactive value=Y>Include Inactive Students<BR>'; echo '<BR>'; //echo Buttons('Submit','Reset'); if ($extra['pdf'] != true) { echo "<INPUT type=SUBMIT class=btn_medium value='Submit' onclick='formload_ajax(\"search\");'> <INPUT type=RESET class=btn_medium value='Reset'>"; } else { echo "<INPUT type=SUBMIT class=btn_medium value='Submit'> <INPUT type=RESET class=btn_medium value='Reset'>"; } echo '</TD></TR>'; echo '</TABLE>'; echo '</FORM>'; // set focus to last name text box echo '<script type="text/javascript"><!-- document.search.last.focus();
function _makeCommentsA($value, $column) { global $THIS_RET, $current_commentsA_RET, $import_commentsA_RET, $commentsA_select, $tabindex; if ($import_commentsA_RET[$THIS_RET['STUDENT_ID']][$value]) { $select = $import_commentsA_RET[$THIS_RET['STUDENT_ID']][$value][1]['COMMENT']; $div = false; } else { if (!$current_commentsA_RET[$THIS_RET['STUDENT_ID']] && !$import_commentsA_RET[$THIS_RET['STUDENT_ID']] && AllowEdit()) { $select = Preferences('COMMENT_A', 'Gradebook'); $div = false; } else { $select = $current_commentsA_RET[$THIS_RET['STUDENT_ID']][$value][1]['COMMENT']; $div = true; } } if (!isset($_REQUEST['_openSIS_PDF'])) { $return = SelectInput($select, 'values[' . $THIS_RET['STUDENT_ID'] . '][commentsA][' . $value . ']', '', $commentsA_select, 'N/A', 'tabindex=' . ($tabindex += 100), $div); } else { $return = $select != ' ' ? $select : 'o'; } return $return; }
function GetStuList(&$extra = array()) { global $contacts_RET, $view_other_RET, $_ROSARIO; if ((empty($extra['SELECT_ONLY']) || mb_strpos($extra['SELECT_ONLY'], 'GRADE_ID') !== false) && !isset($extra['functions']['GRADE_ID'])) { $functions = array('GRADE_ID' => 'GetGrade'); } else { $functions = array(); } if (isset($extra['functions'])) { $functions += $extra['functions']; } if (!isset($extra['MP']) && !isset($extra['DATE'])) { $extra['MP'] = UserMP(); $extra['DATE'] = DBDate(); } elseif (!$extra['MP']) { $extra['MP'] = GetCurrentMP('QTR', $extra['DATE'], false); } elseif (!$extra['DATE']) { $extra['DATE'] = DBDate(); } if (isset($_REQUEST['expanded_view']) && $_REQUEST['expanded_view'] == 'true') { if (!$extra['columns_after']) { $extra['columns_after'] = array(); } $view_fields_RET = DBGet(DBQuery("SELECT cf.ID,cf.TYPE,cf.TITLE FROM CUSTOM_FIELDS cf WHERE ((SELECT VALUE FROM PROGRAM_USER_CONFIG WHERE TITLE=cast(cf.ID AS TEXT) AND PROGRAM='StudentFieldsView' AND USER_ID='" . User('STAFF_ID') . "')='Y'" . ($extra['student_fields']['view'] ? " OR cf.ID IN (" . $extra['student_fields']['view'] . ")" : '') . ") ORDER BY cf.SORT_ORDER,cf.TITLE")); $view_address_RET = DBGet(DBQuery("SELECT VALUE FROM PROGRAM_USER_CONFIG WHERE PROGRAM='StudentFieldsView' AND TITLE='ADDRESS' AND USER_ID='" . User('STAFF_ID') . "'")); $view_address_RET = $view_address_RET[1]['VALUE']; $view_other_RET = DBGet(DBQuery("SELECT TITLE,VALUE FROM PROGRAM_USER_CONFIG WHERE PROGRAM='StudentFieldsView' AND TITLE IN ('CONTACT_INFO','HOME_PHONE','GUARDIANS','ALL_CONTACTS') AND USER_ID='" . User('STAFF_ID') . "'"), array(), array('TITLE')); if (!count($view_fields_RET) && !isset($view_address_RET) && !isset($view_other_RET['CONTACT_INFO'])) { //modif Francois: add translation $extra['columns_after'] = array('CONTACT_INFO' => '<IMG SRC="assets/down_phone_button.png" width="24">', 'CUSTOM_200000000' => _('Gender'), 'CUSTOM_200000001' => _('Ethnicity'), 'ADDRESS' => _('Mailing Address'), 'CITY' => _('City'), 'STATE' => _('State'), 'ZIPCODE' => _('Zipcode')) + $extra['columns_after']; $select = ',ssm.STUDENT_ID AS CONTACT_INFO,s.CUSTOM_200000000,s.CUSTOM_200000001,coalesce(a.MAIL_ADDRESS,a.ADDRESS) AS ADDRESS,coalesce(a.MAIL_CITY,a.CITY) AS CITY,coalesce(a.MAIL_STATE,a.STATE) AS STATE,coalesce(a.MAIL_ZIPCODE,a.ZIPCODE) AS ZIPCODE '; $extra['FROM'] = " LEFT OUTER JOIN STUDENTS_JOIN_ADDRESS sam ON (ssm.STUDENT_ID=sam.STUDENT_ID AND sam.RESIDENCE='Y') LEFT OUTER JOIN ADDRESS a ON (sam.ADDRESS_ID=a.ADDRESS_ID) " . $extra['FROM']; $functions['CONTACT_INFO'] = 'makeContactInfo'; $RET = DBGet(DBQuery("SELECT ID,TYPE FROM CUSTOM_FIELDS WHERE ID IN ('200000000','200000001')"), array(), array('ID')); // if gender and ethnicity are converted to codeds or exports type if ($RET['200000000'][1]['TYPE'] == 'codeds' || $RET['200000000'][1]['TYPE'] == 'exports') { $functions['CUSTOM_200000000'] = 'DeCodeds'; } if ($RET['200000001'][1]['TYPE'] == 'codeds' || $RET['200000001'][1]['TYPE'] == 'exports') { $functions['CUSTOM_200000001'] = 'DeCodeds'; } $extra['singular'] = 'Student Address'; $extra['plural'] = 'Student Addresses'; $extra2['NoSearchTerms'] = true; $extra2['SELECT_ONLY'] = 'ssm.STUDENT_ID,p.PERSON_ID,p.FIRST_NAME,p.LAST_NAME,sjp.STUDENT_RELATION,pjc.TITLE,pjc.VALUE,a.PHONE,sjp.ADDRESS_ID '; $extra2['FROM'] .= ',ADDRESS a,STUDENTS_JOIN_ADDRESS sja LEFT OUTER JOIN STUDENTS_JOIN_PEOPLE sjp ON (sja.STUDENT_ID=sjp.STUDENT_ID AND sja.ADDRESS_ID=sjp.ADDRESS_ID AND (sjp.CUSTODY=\'Y\' OR sjp.EMERGENCY=\'Y\')) LEFT OUTER JOIN PEOPLE p ON (p.PERSON_ID=sjp.PERSON_ID) LEFT OUTER JOIN PEOPLE_JOIN_CONTACTS pjc ON (pjc.PERSON_ID=p.PERSON_ID) '; $extra2['WHERE'] .= ' AND a.ADDRESS_ID=sja.ADDRESS_ID AND sja.STUDENT_ID=ssm.STUDENT_ID '; $extra2['ORDER_BY'] .= 'sjp.CUSTODY'; $extra2['group'] = array('STUDENT_ID', 'PERSON_ID'); // EXPANDED VIEW AND ADDR BREAKS THIS QUERY ... SO, TURN 'EM OFF if (!isset($_REQUEST['_ROSARIO_PDF'])) { $expanded_view = $_REQUEST['expanded_view']; $_REQUEST['expanded_view'] = false; $addr = $_REQUEST['addr']; unset($_REQUEST['addr']); $contacts_RET = GetStuList($extra2); $_REQUEST['expanded_view'] = $expanded_view; $_REQUEST['addr'] = $addr; } else { unset($extra2['columns_after']['CONTACT_INFO']); } } else { if ($view_other_RET['CONTACT_INFO'][1]['VALUE'] == 'Y' && !isset($_REQUEST['_ROSARIO_PDF'])) { $select .= ',ssm.STUDENT_ID AS CONTACT_INFO '; $extra['columns_after']['CONTACT_INFO'] = '<IMG SRC="assets/down_phone_button.png" width="24">'; $functions['CONTACT_INFO'] = 'makeContactInfo'; $extra2 = $extra; $extra2['NoSearchTerms'] = true; $extra2['SELECT'] = ''; $extra2['SELECT_ONLY'] = 'ssm.STUDENT_ID,p.PERSON_ID,p.FIRST_NAME,p.LAST_NAME,sjp.STUDENT_RELATION,pjc.TITLE,pjc.VALUE,a.PHONE,sjp.ADDRESS_ID '; $extra2['FROM'] .= ',ADDRESS a,STUDENTS_JOIN_ADDRESS sja LEFT OUTER JOIN STUDENTS_JOIN_PEOPLE sjp ON (sja.STUDENT_ID=sjp.STUDENT_ID AND sja.ADDRESS_ID=sjp.ADDRESS_ID AND (sjp.CUSTODY=\'Y\' OR sjp.EMERGENCY=\'Y\')) LEFT OUTER JOIN PEOPLE p ON (p.PERSON_ID=sjp.PERSON_ID) LEFT OUTER JOIN PEOPLE_JOIN_CONTACTS pjc ON (pjc.PERSON_ID=p.PERSON_ID) '; $extra2['WHERE'] .= ' AND a.ADDRESS_ID=sja.ADDRESS_ID AND sja.STUDENT_ID=ssm.STUDENT_ID '; $extra2['ORDER_BY'] .= 'sjp.CUSTODY'; $extra2['group'] = array('STUDENT_ID', 'PERSON_ID'); $extra2['functions'] = array(); $extra2['link'] = array(); // EXPANDED VIEW AND ADDR BREAKS THIS QUERY ... SO, TURN 'EM OFF $expanded_view = $_REQUEST['expanded_view']; $_REQUEST['expanded_view'] = false; $addr = $_REQUEST['addr']; unset($_REQUEST['addr']); $contacts_RET = GetStuList($extra2); $_REQUEST['expanded_view'] = $expanded_view; $_REQUEST['addr'] = $addr; } foreach ($view_fields_RET as $field) { $extra['columns_after']['CUSTOM_' . $field['ID']] = $field['TITLE']; if ($field['TYPE'] == 'date') { $functions['CUSTOM_' . $field['ID']] = 'ProperDate'; } elseif ($field['TYPE'] == 'numeric') { $functions['CUSTOM_' . $field['ID']] = 'removeDot00'; } elseif ($field['TYPE'] == 'codeds') { $functions['CUSTOM_' . $field['ID']] = 'DeCodeds'; } elseif ($field['TYPE'] == 'exports') { $functions['CUSTOM_' . $field['ID']] = 'DeCodeds'; } $select .= ',s.CUSTOM_' . $field['ID']; } if ($view_address_RET) { $extra['FROM'] = " LEFT OUTER JOIN STUDENTS_JOIN_ADDRESS sam ON (ssm.STUDENT_ID=sam.STUDENT_ID AND sam." . $view_address_RET . "='Y') LEFT OUTER JOIN ADDRESS a ON (sam.ADDRESS_ID=a.ADDRESS_ID) " . $extra['FROM']; $extra['columns_after'] += array('ADDRESS' => _(ucwords(mb_strtolower(str_replace('_', ' ', $view_address_RET)))) . ' ' . _('Address'), 'CITY' => _('City'), 'STATE' => _('State'), 'ZIPCODE' => _('Zipcode')); if ($view_address_RET != 'MAILING') { $select .= ",a.ADDRESS_ID,a.ADDRESS,a.CITY,a.STATE,a.ZIPCODE,a.PHONE,ssm.STUDENT_ID AS PARENTS"; } else { $select .= ",a.ADDRESS_ID,coalesce(a.MAIL_ADDRESS,a.ADDRESS) AS ADDRESS,coalesce(a.MAIL_CITY,a.CITY) AS CITY,coalesce(a.MAIL_STATE,a.STATE) AS STATE,coalesce(a.MAIL_ZIPCODE,a.ZIPCODE) AS ZIPCODE,a.PHONE,ssm.STUDENT_ID AS PARENTS "; } $extra['singular'] = 'Student Address'; $extra['plural'] = 'Student Addresses'; if ($view_other_RET['HOME_PHONE'][1]['VALUE'] == 'Y') { $functions['PHONE'] = 'makePhone'; $extra['columns_after']['PHONE'] = _('Home Phone'); } if ($view_other_RET['GUARDIANS'][1]['VALUE'] == 'Y' || $view_other_RET['ALL_CONTACTS'][1]['VALUE'] == 'Y') { $functions['PARENTS'] = 'makeParents'; if ($view_other_RET['ALL_CONTACTS'][1]['VALUE'] == 'Y') { $extra['columns_after']['PARENTS'] = _('Contacts'); } else { $extra['columns_after']['PARENTS'] = _('Guardians'); } } } elseif ($_REQUEST['addr'] || $extra['addr']) { $extra['FROM'] = " LEFT OUTER JOIN STUDENTS_JOIN_ADDRESS sam ON (ssm.STUDENT_ID=sam.STUDENT_ID " . $extra['STUDENTS_JOIN_ADDRESS'] . ") LEFT OUTER JOIN ADDRESS a ON (sam.ADDRESS_ID=a.ADDRESS_ID) " . $extra['FROM']; $distinct = 'DISTINCT '; } } $extra['SELECT'] .= $select; } else { if (isset($extra['student_fields']['view'])) { if (!$extra['columns_after']) { $extra['columns_after'] = array(); } $view_fields_RET = DBGet(DBQuery("SELECT cf.ID,cf.TYPE,cf.TITLE FROM CUSTOM_FIELDS cf WHERE cf.ID IN (" . $extra['student_fields']['view'] . ") ORDER BY cf.SORT_ORDER,cf.TITLE")); foreach ($view_fields_RET as $field) { $extra['columns_after']['CUSTOM_' . $field['ID']] = $field['TITLE']; if ($field['TYPE'] == 'date') { $functions['CUSTOM_' . $field['ID']] = 'ProperDate'; } elseif ($field['TYPE'] == 'numeric') { $functions['CUSTOM_' . $field['ID']] = 'removeDot00'; } elseif ($field['TYPE'] == 'codeds') { $functions['CUSTOM_' . $field['ID']] = 'DeCodeds'; } elseif ($field['TYPE'] == 'exports') { $functions['CUSTOM_' . $field['ID']] = 'DeCodeds'; } $select .= ',s.CUSTOM_' . $field['ID']; } $extra['SELECT'] .= $select; } if (!empty($_REQUEST['addr']) || !empty($extra['addr'])) { $extra['FROM'] = " LEFT OUTER JOIN STUDENTS_JOIN_ADDRESS sam ON (ssm.STUDENT_ID=sam.STUDENT_ID " . $extra['STUDENTS_JOIN_ADDRESS'] . ") LEFT OUTER JOIN ADDRESS a ON (sam.ADDRESS_ID=a.ADDRESS_ID) " . $extra['FROM']; $distinct = 'DISTINCT '; } } switch (User('PROFILE')) { case 'admin': $sql = 'SELECT '; //$sql = 'SELECT '.$distinct; if (isset($extra['SELECT_ONLY'])) { $sql .= $extra['SELECT_ONLY']; } else { $sql .= "s.LAST_NAME||', '||s.FIRST_NAME||' '||coalesce(s.MIDDLE_NAME,' ') AS FULL_NAME,"; $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME,s.STUDENT_ID,ssm.SCHOOL_ID,ssm.SCHOOL_ID AS LIST_SCHOOL_ID,ssm.GRADE_ID ' . $extra['SELECT']; if (isset($_REQUEST['include_inactive']) && $_REQUEST['include_inactive'] == 'Y') { $sql .= ',' . db_case(array("(ssm.SYEAR='" . UserSyear() . "' AND ('" . $extra['DATE'] . "'>=ssm.START_DATE AND ('" . $extra['DATE'] . "'<=ssm.END_DATE OR ssm.END_DATE IS NULL)))", 'TRUE', '\'<span style="color:green">' . _('Active') . '</span>\'', '\'<span style="color:red">' . _('Inactive') . '</span>\'')) . ' AS ACTIVE'; } } $sql .= " FROM STUDENTS s JOIN STUDENT_ENROLLMENT ssm ON (ssm.STUDENT_ID=s.STUDENT_ID"; if (isset($_REQUEST['include_inactive']) && $_REQUEST['include_inactive'] == 'Y') { //$sql .= " AND ssm.ID=(SELECT max(ID) FROM STUDENT_ENROLLMENT WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR<='".UserSyear()."')"; $sql .= " AND ssm.ID=(SELECT ID FROM STUDENT_ENROLLMENT WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR<='" . UserSyear() . "' ORDER BY SYEAR DESC,START_DATE DESC LIMIT 1)"; } else { $sql .= " AND ssm.SYEAR='" . UserSyear() . "' AND ('" . $extra['DATE'] . "'>=ssm.START_DATE AND (ssm.END_DATE IS NULL OR '" . $extra['DATE'] . "'<=ssm.END_DATE))"; } if (UserSchool() && $_REQUEST['_search_all_schools'] != 'Y') { $sql .= " AND ssm.SCHOOL_ID='" . UserSchool() . "'"; } else { if (User('SCHOOLS')) { $sql .= " AND ssm.SCHOOL_ID IN (" . mb_substr(str_replace(',', "','", User('SCHOOLS')), 2, -2) . ") "; } $extra['columns_after']['LIST_SCHOOL_ID'] = 'School'; $functions['LIST_SCHOOL_ID'] = 'GetSchool'; } $sql .= ")" . $extra['FROM'] . " WHERE TRUE"; if (empty($extra['SELECT_ONLY']) && isset($_REQUEST['include_inactive']) && $_REQUEST['include_inactive'] == 'Y') { $extra['columns_after']['ACTIVE'] = _('Status'); } break; case 'teacher': $sql = 'SELECT '; //$sql = 'SELECT '.$distinct; if ($extra['SELECT_ONLY']) { $sql .= $extra['SELECT_ONLY']; } else { $sql .= "s.LAST_NAME||', '||s.FIRST_NAME||' '||coalesce(s.MIDDLE_NAME,' ') AS FULL_NAME,"; $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME,s.STUDENT_ID,ssm.SCHOOL_ID,ssm.GRADE_ID ' . $extra['SELECT']; if ($_REQUEST['include_inactive'] == 'Y') { $sql .= ',' . db_case(array("('" . $extra['DATE'] . "'>=ssm.START_DATE AND (ssm.END_DATE IS NULL OR '" . $extra['DATE'] . "'<=ssm.END_DATE))", 'TRUE', '\'<span style="color:green">' . _('Active') . '</span>\'', '\'<span style="color:red">' . _('Inactive') . '</span>\'')) . ' AS ACTIVE'; $sql .= ',' . db_case(array("('" . $extra['DATE'] . "'>=ss.START_DATE AND (ss.END_DATE IS NULL OR '" . $extra['DATE'] . "'<=ss.END_DATE)) AND ss.MARKING_PERIOD_ID IN (" . GetAllMP($extra['MPTable'], $extra['MP']) . ")", 'TRUE', '\'<span style="color:green">' . _('Active') . '</span>\'', '\'<span style="color:red">' . _('Inactive') . '</span>\'')) . ' AS ACTIVE_SCHEDULE'; } } $sql .= " FROM STUDENTS s JOIN SCHEDULE ss ON (ss.STUDENT_ID=s.STUDENT_ID AND ss.SYEAR='" . UserSyear() . "'"; if ($_REQUEST['include_inactive'] == 'Y') { $sql .= " AND ss.START_DATE=(SELECT START_DATE FROM SCHEDULE WHERE STUDENT_ID=s.STUDENT_ID AND SYEAR=ss.SYEAR AND COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID ORDER BY START_DATE DESC LIMIT 1)"; } else { $sql .= " AND ss.MARKING_PERIOD_ID IN (" . GetAllMP($extra['MPTable'], $extra['MP']) . ") AND ('" . $extra['DATE'] . "'>=ss.START_DATE AND ('" . $extra['DATE'] . "'<=ss.END_DATE OR ss.END_DATE IS NULL))"; } $sql .= ") JOIN COURSE_PERIODS cp ON (cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID AND " . ($extra['all_courses'] == 'Y' ? "cp.TEACHER_ID='" . User('STAFF_ID') . "'" : "cp.COURSE_PERIOD_ID='" . UserCoursePeriod() . "'") . ")\n\t\t\t\tJOIN STUDENT_ENROLLMENT ssm ON (ssm.STUDENT_ID=s.STUDENT_ID AND ssm.SYEAR=ss.SYEAR AND ssm.SCHOOL_ID='" . UserSchool() . "'"; if ($_REQUEST['include_inactive'] == 'Y') { $sql .= " AND ssm.ID=(SELECT ID FROM STUDENT_ENROLLMENT WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR=ssm.SYEAR ORDER BY START_DATE DESC LIMIT 1)"; } else { $sql .= " AND ('" . $extra['DATE'] . "'>=ssm.START_DATE AND (ssm.END_DATE IS NULL OR '" . $extra['DATE'] . "'<=ssm.END_DATE))"; } $sql .= ")" . $extra['FROM'] . " WHERE TRUE"; if (!$extra['SELECT_ONLY'] && $_REQUEST['include_inactive'] == 'Y') { $extra['columns_after']['ACTIVE'] = _('School Status'); $extra['columns_after']['ACTIVE_SCHEDULE'] = _('Course Status'); } break; case 'parent': case 'student': $sql = 'SELECT '; if ($extra['SELECT_ONLY']) { $sql .= $extra['SELECT_ONLY']; } else { $sql .= "s.LAST_NAME||', '||s.FIRST_NAME||' '||coalesce(s.MIDDLE_NAME,' ') AS FULL_NAME,"; $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME,s.STUDENT_ID,ssm.SCHOOL_ID,ssm.GRADE_ID ' . $extra['SELECT']; } $sql .= " FROM STUDENTS s JOIN STUDENT_ENROLLMENT ssm ON (ssm.STUDENT_ID=s.STUDENT_ID AND ssm.SYEAR='" . UserSyear() . "' AND ssm.SCHOOL_ID='" . UserSchool() . "'\n\t\t\t\t\tAND ('" . $extra['DATE'] . "'>=ssm.START_DATE AND (ssm.END_DATE IS NULL OR '" . $extra['DATE'] . "'<=ssm.END_DATE)) AND s.STUDENT_ID" . ($extra['ASSOCIATED'] ? " IN (SELECT STUDENT_ID FROM STUDENTS_JOIN_USERS WHERE STAFF_ID='" . $extra['ASSOCIATED'] . "')" : "='" . UserStudentID() . "'"); $sql .= ")" . $extra['FROM'] . " WHERE TRUE"; break; default: exit(_('Error')); } //$sql = appendSQL($sql,array('NoSearchTerms'=>$extra['NoSearchTerms'])); $sql .= ' ' . $extra['WHERE'] . ' '; if (isset($extra['GROUP'])) { $sql .= ' GROUP BY ' . $extra['GROUP']; } if (!isset($extra['ORDER_BY']) && !isset($extra['SELECT_ONLY'])) { $sql .= ' ORDER BY '; if (Preferences('SORT') == 'Grade') { $sql .= '(SELECT SORT_ORDER FROM SCHOOL_GRADELEVELS WHERE ID=ssm.GRADE_ID),'; } // it would be easier to sort on full_name but postgres sometimes yields strange results $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME'; $sql .= $extra['ORDER']; } elseif (isset($extra['ORDER_BY'])) { $sql .= ' ORDER BY ' . $extra['ORDER_BY']; } //modif Francois: bugfix if PDF, dont echo SQL if (!isset($_REQUEST['_ROSARIO_PDF']) && 0) { //activate only for debug purpose echo '<!--' . $sql . '-->'; } return DBGet(DBQuery($sql), $functions, $extra['group']); }
function GetStuListAttn(&$extra) { global $contacts_RET, $view_other_RET, $_openSIS; if ((!$extra['SELECT_ONLY'] || strpos($extra['SELECT_ONLY'], 'GRADE_ID') !== false) && !$extra['functions']['GRADE_ID']) { $functions = array('GRADE_ID' => 'GetGrade'); } else { $functions = array(); } if ($extra['functions']) { $functions += $extra['functions']; } if (!$extra['DATE']) { $queryMP = UserMP(); $extra['DATE'] = DBDate(); } else { $queryMP = UserMP(); } if ($_REQUEST['expanded_view'] == 'true') { if (!$extra['columns_after']) { $extra['columns_after'] = array(); } ############################################################################################# //Commented as it crashing for Linux due to Blank Database tables ############################################################################################# $view_address_RET = DBGet(DBQuery('SELECT VALUE FROM program_user_config WHERE PROGRAM=\'StudentFieldsView\' AND TITLE=\'ADDRESS\' AND USER_ID=\'' . User('STAFF_ID') . '\'')); $view_address_RET = $view_address_RET[1]['VALUE']; $view_other_RET = DBGet(DBQuery('SELECT TITLE,VALUE FROM program_user_config WHERE PROGRAM=\'StudentFieldsView\' AND TITLE IN (\'CONTACT_INFO\',\'HOME_PHONE\',\'GUARDIANS\',\'ALL_CONTACTS\') AND USER_ID=\'' . User('STAFF_ID') . '\''), array(), array('TITLE')); if (!count($view_fields_RET) && !isset($view_address_RET) && !isset($view_other_RET['CONTACT_INFO'])) { $extra['columns_after'] = array('CONTACT_INFO' => '<IMG SRC=assets/down_phone_button.gif border=0>', 'gender' => 'Gender', 'ethnicity' => 'Ethnicity', 'ADDRESS' => 'Mailing Address', 'CITY' => 'City', 'STATE' => 'State', 'ZIPCODE' => 'Zipcode') + $extra['columns_after']; $select = ',s.STUDENT_ID AS CONTACT_INFO,s.GENDER,s.ETHNICITY,a.STREET_ADDRESS_1 as ADDRESS,a.CITY,a.STATE,a.ZIPCODE'; $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (ssm.STUDENT_ID=a.STUDENT_ID AND a.TYPE=\'Mail\') ' . $extra['FROM']; $functions['CONTACT_INFO'] = 'makeContactInfo'; // if gender is converted to codeds type //$functions['CUSTOM_200000000'] = 'DeCodeds'; $extra['singular'] = 'Student Address'; $extra['plural'] = 'Student Addresses'; $extra2['NoSearchTerms'] = true; $extra2['SELECT_ONLY'] = 'ssm.STUDENT_ID,p.STAFF_ID AS PERSON_ID,p.FIRST_NAME,p.LAST_NAME,sjp.RELATIONSHIP as STUDENT_RELATION,p.TITLE,s.PHONE,a.ID AS ADDRESS_ID '; $extra2['FROM'] .= ',student_address a LEFT OUTER JOIN students_join_people sjp ON (a.STUDENT_ID=sjp.STUDENT_ID AND (p.CUSTODY=\'Y\' OR sjp.IS_EMERGENCY=\'Y\')) LEFT OUTER JOIN people p ON (p.STAFF_ID=sjp.PERSON_ID) '; $extra2['WHERE'] .= ' AND a.STUDENT_ID=sjp.STUDENT_ID AND sjp.STUDENT_ID=ssm.STUDENT_ID '; $extra2['ORDER_BY'] .= 'COALESCE(p.CUSTODY,\'N\') DESC'; $extra2['group'] = array('STUDENT_ID', 'PERSON_ID'); // EXPANDED VIEW AND ADDR BREAKS THIS QUERY ... SO, TURN 'EM OFF if (!$_REQUEST['_openSIS_PDF']) { $expanded_view = $_REQUEST['expanded_view']; $_REQUEST['expanded_view'] = false; $addr = $_REQUEST['addr']; unset($_REQUEST['addr']); $contacts_RET = GetStuList($extra2); $_REQUEST['expanded_view'] = $expanded_view; $_REQUEST['addr'] = $addr; } else { unset($extra2['columns_after']['CONTACT_INFO']); } } else { if ($view_other_RET['CONTACT_INFO'][1]['VALUE'] == 'Y' && !$_REQUEST['_openSIS_PDF']) { $select .= ',NULL AS CONTACT_INFO '; $extra['columns_after']['CONTACT_INFO'] = '<IMG SRC=assets/down_phone_button.gif border=0>'; $functions['CONTACT_INFO'] = 'makeContactInfo'; $extra2 = $extra; $extra2['NoSearchTerms'] = true; $extra2['SELECT'] = ''; $extra2['SELECT_ONLY'] = 'ssm.STUDENT_ID,p.STAFF_ID AS PERSON_ID,p.FIRST_NAME,p.LAST_NAME,sjp.RELATIONSHIP AS STUDENT_RELATION,p.TITLE,s.PHONE,a.ID AS ADDRESS_ID,COALESCE(p.CUSTODY,\'N\') '; $extra2['FROM'] .= ',student_address a LEFT OUTER JOIN students_join_people sjp ON (a.STUDENT_ID=sjp.STUDENT_ID AND (p.CUSTODY=\'Y\' OR sjp.IS_EMERGENCY=\'Y\')) LEFT OUTER JOIN people p ON (p.STAFF_ID=sjp.PERSON_ID) '; $extra2['WHERE'] .= ' AND a.STUDENT_ID=sjp.STUDENT_ID AND sjp.STUDENT_ID=ssm.STUDENT_ID '; $extra2['ORDER_BY'] .= 'COALESCE(p.CUSTODY,\'N\') DESC'; $extra2['group'] = array('STUDENT_ID', 'PERSON_ID'); $extra2['functions'] = array(); $extra2['link'] = array(); // EXPANDED VIEW AND ADDR BREAKS THIS QUERY ... SO, TURN 'EM OFF $expanded_view = $_REQUEST['expanded_view']; $_REQUEST['expanded_view'] = false; $addr = $_REQUEST['addr']; unset($_REQUEST['addr']); $contacts_RET = GetStuList($extra2); $_REQUEST['expanded_view'] = $expanded_view; $_REQUEST['addr'] = $addr; } foreach ($view_fields_RET as $field) { $extra['columns_after']['CUSTOM_' . $field['ID']] = $field['TITLE']; if ($field['TYPE'] == 'date') { $functions['CUSTOM_' . $field['ID']] = 'ProperDate'; } elseif ($field['TYPE'] == 'numeric') { $functions['CUSTOM_' . $field['ID']] = 'removeDot00'; } elseif ($field['TYPE'] == 'codeds') { $functions['CUSTOM_' . $field['ID']] = 'DeCodeds'; } $select .= ',s.CUSTOM_' . $field['ID']; } if ($view_address_RET) { if ($view_address_RET == 'RESIDENCE') { $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (ssm.STUDENT_ID=a.STUDENT_ID AND a.TYPE=\'Home Address\') ' . $extra['FROM']; } elseif ($view_address_RET == 'MAILING') { $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (ssm.STUDENT_ID=a.STUDENT_ID AND a.TYPE=\'Mail\') ' . $extra['FROM']; } elseif ($view_address_RET == 'BUS_PICKUP') { $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (a.STUDENT_ID=a.STUDENT_ID AND a.BUS_PICKUP=\'Y\') ' . $extra['FROM']; } else { $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (a.STUDENT_ID=a.STUDENT_ID AND a.BUS_DROPOFF=\'Y\') ' . $extra['FROM']; } $extra['columns_after'] += array('ADDRESS' => ucwords(strtolower(str_replace('_', ' ', $view_address_RET))) . ' Address', 'CITY' => 'City', 'STATE' => 'State', 'ZIPCODE' => 'Zipcode'); $select .= ',a.ID AS ADDRESS_ID,a.STREET_ADDRESS_1 as ADDRESS,a.CITY,a.STATE,a.ZIPCODE,s.PHONE,ssm.STUDENT_ID AS PARENTS'; $extra['singular'] = 'Student Address'; $extra['plural'] = 'Student Addresses'; if ($view_other_RET['HOME_PHONE'][1]['VALUE'] == 'Y') { $functions['PHONE'] = 'makePhone'; $extra['columns_after']['PHONE'] = 'Home Phone'; } if ($view_other_RET['GUARDIANS'][1]['VALUE'] == 'Y' || $view_other_RET['ALL_CONTACTS'][1]['VALUE'] == 'Y') { $functions['PARENTS'] = 'makeParents'; if ($view_other_RET['ALL_CONTACTS'][1]['VALUE'] == 'Y') { $extra['columns_after']['PARENTS'] = 'Contacts'; } else { $extra['columns_after']['PARENTS'] = 'Guardians'; } } } elseif ($_REQUEST['addr'] || $extra['addr']) { $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (ssm.STUDENT_ID=a.STUDENT_ID) ' . $extra['FROM']; $distinct = 'DISTINCT '; } } $extra['SELECT'] .= $select; } elseif ($_REQUEST['addr'] || $extra['addr']) { $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (ssm.STUDENT_ID=a.STUDENT_ID) ' . $extra['FROM']; $distinct = 'DISTINCT '; } switch (User('PROFILE')) { case 'admin': $sql = 'SELECT '; if ($extra['SELECT_ONLY']) { $sql .= $extra['SELECT_ONLY']; } else { if (Preferences('NAME') == 'Common') { $sql .= 'CONCAT(s.LAST_NAME,\', \',coalesce(s.COMMON_NAME,s.FIRST_NAME)) AS FULL_NAME,'; } else { $sql .= 'CONCAT(s.LAST_NAME,\', \',s.FIRST_NAME,\' \',COALESCE(s.MIDDLE_NAME,\' \')) AS FULL_NAME,'; } $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME,s.STUDENT_ID,ssm.SCHOOL_ID AS LIST_SCHOOL_ID,ssm.GRADE_ID ' . $extra['SELECT']; if ($_REQUEST['include_inactive'] == 'Y') { $sql .= ',' . db_case(array('(ssm.SYEAR=\'' . UserSyear() . '\' AND (ssm.START_DATE IS NOT NULL AND (\'' . date('Y-m-d', strtotime($extra['DATE'])) . '\'<=ssm.END_DATE OR ssm.END_DATE IS NULL)))', 'true', "'<FONT color=green>Active</FONT>'", "'<FONT color=red>Inactive</FONT>'")) . ' AS ACTIVE '; } } $sql .= ' FROM students s,student_enrollment ssm ' . $extra['FROM'] . ' WHERE ssm.STUDENT_ID=s.STUDENT_ID '; if ($_REQUEST['include_inactive'] == 'Y') { $sql .= ' AND ssm.ID=(SELECT ID FROM student_enrollment WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR<=\'' . UserSyear() . '\' ORDER BY START_DATE DESC LIMIT 1)'; } else { $sql .= ' AND ssm.SYEAR=\'' . UserSyear() . '\' AND (ssm.START_DATE IS NOT NULL AND (\'' . date('Y-m-d', strtotime($extra['DATE'])) . '\'<=ssm.END_DATE OR ssm.END_DATE IS NULL)) '; } if (UserSchool() && $_REQUEST['_search_all_schools'] != 'Y') { $sql .= ' AND ssm.SCHOOL_ID=\'' . UserSchool() . '\''; } else { // $sql .= ' AND ssm.SCHOOL_ID IN (' . GetUserSchools(UserID(), true) . ') '; $extra['columns_after']['LIST_SCHOOL_ID'] = 'School'; $functions['LIST_SCHOOL_ID'] = 'GetSchool'; } if (!$extra['SELECT_ONLY'] && $_REQUEST['include_inactive'] == 'Y') { $extra['columns_after']['ACTIVE'] = 'Status'; } break; case 'teacher': $sql = 'SELECT '; if ($extra['SELECT_ONLY']) { $sql .= $extra['SELECT_ONLY']; } else { if (Preferences('NAME') == 'Common') { $sql .= 'CONCAT(s.LAST_NAME,\', \',coalesce(s.COMMON_NAME,s.FIRST_NAME)) AS FULL_NAME,'; } else { $sql .= 'CONCAT(s.LAST_NAME,\', \',s.FIRST_NAME,\' \',COALESCE(s.MIDDLE_NAME,\' \')) AS FULL_NAME,'; } $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME,s.STUDENT_ID,ssm.SCHOOL_ID,ssm.GRADE_ID ' . $extra['SELECT']; if ($_REQUEST['include_inactive'] == 'Y') { $sql .= ',' . db_case(array('(ssm.START_DATE IS NOT NULL AND (\'' . $extra['DATE'] . '\'<=ssm.END_DATE OR ssm.END_DATE IS NULL))', 'true', "'<FONT color=green>Active</FONT>'", "'<FONT color=red>Inactive</FONT>'")) . ' AS ACTIVE'; $sql .= ',' . db_case(array('(\'' . $extra['DATE'] . '\'>=ss.START_DATE AND (\'' . $extra['DATE'] . '\'<=ss.END_DATE OR ss.END_DATE IS NULL))', 'true', "'<FONT color=green>Active</FONT>'", "'<FONT color=red>Inactive</FONT>'")) . ' AS ACTIVE_SCHEDULE'; } } // $sql .= ' FROM students s,course_periods cp,schedule ss,student_enrollment ssm,course_period_var cpv ' . $extra['FROM'] . ' WHERE ssm.STUDENT_ID=s.STUDENT_ID AND cpv.COURSE_PERIOD_ID=cp.COURSE_PERIOD_ID AND cpv.ID="' . $extra['ID'] . '" AND ssm.STUDENT_ID=ss.STUDENT_ID AND ssm.SCHOOL_ID=\'' . UserSchool() . '\' AND ssm.SYEAR=\'' . UserSyear() . '\' AND ssm.SYEAR=cp.SYEAR AND ssm.SYEAR=ss.SYEAR AND ' . db_case(array(User('STAFF_ID'), 'cp.teacher_id', ' cp.teacher_id=' . User('STAFF_ID'), 'cp.secondary_teacher_id', ' cp.secondary_teacher_id=' . User('STAFF_ID'), 'cp.course_period_id IN(SELECT course_period_id from teacher_reassignment tra WHERE cp.course_period_id=tra.course_period_id AND tra.pre_teacher_id=' . User('STAFF_ID') . ')')) . ' AND cp.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\' AND cp.COURSE_ID=ss.COURSE_ID AND cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID'; if ($extra['cpvdate'] != '') { $sql .= $extra['cpvdate']; } if ($_REQUEST['include_inactive'] == 'Y') { $sql .= ' AND ssm.ID=(SELECT ID FROM student_enrollment WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR=ssm.SYEAR ORDER BY START_DATE DESC LIMIT 1)'; $sql .= ' AND ss.START_DATE=(SELECT START_DATE FROM schedule WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR=ssm.SYEAR AND MARKING_PERIOD_ID IN (' . GetAllMP('', $queryMP) . ') AND COURSE_ID=cp.COURSE_ID AND COURSE_PERIOD_ID=cp.COURSE_PERIOD_ID ORDER BY START_DATE DESC LIMIT 1)'; } else { $sql .= ' AND (ssm.START_DATE IS NOT NULL AND \'' . $extra['DATE'] . '\'>=ssm.START_DATE AND (\'' . $extra['DATE'] . '\'<=ssm.END_DATE OR ssm.END_DATE IS NULL))'; $sql .= ' AND (\'' . $extra['DATE'] . '\'>=ss.START_DATE AND (\'' . $extra['DATE'] . '\'<=ss.END_DATE OR ss.END_DATE IS NULL))'; } if (!$extra['SELECT_ONLY'] && $_REQUEST['include_inactive'] == 'Y') { $extra['columns_after']['ACTIVE'] = 'School Status'; $extra['columns_after']['ACTIVE_SCHEDULE'] = 'Course Status'; } break; case 'parent': case 'student': $sql = 'SELECT '; if ($extra['SELECT_ONLY']) { $sql .= $extra['SELECT_ONLY']; } else { if (Preferences('NAME') == 'Common') { $sql .= 'CONCAT(s.LAST_NAME,\', \',coalesce(s.COMMON_NAME,s.FIRST_NAME)) AS FULL_NAME,'; } else { $sql .= 'CONCAT(s.LAST_NAME,\', \',s.FIRST_NAME,\' \',COALESCE(s.MIDDLE_NAME,\' \')) AS FULL_NAME,'; } $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME,s.STUDENT_ID,ssm.SCHOOL_ID,ssm.GRADE_ID ' . $extra['SELECT']; } $sql .= ' FROM students s,student_enrollment ssm ' . $extra['FROM'] . ' WHERE ssm.STUDENT_ID=s.STUDENT_ID AND ssm.SYEAR=\'' . UserSyear() . '\' AND ssm.SCHOOL_ID=\'' . UserSchool() . '\' AND (\'' . DBDate() . '\' BETWEEN ssm.START_DATE AND ssm.END_DATE OR (ssm.END_DATE IS NULL AND \'' . DBDate() . '\'>ssm.START_DATE)) AND ssm.STUDENT_ID' . ($extra['ASSOCIATED'] ? ' IN (SELECT STUDENT_ID FROM students_join_users WHERE STAFF_ID=\'' . $extra['ASSOCIATED'] . '\')' : '=\'' . UserStudentID() . '\''); break; default: exit('Error'); } $sql = appendSQL($sql, $extra); $sql .= $extra['WHERE'] . ' '; $sql .= CustomFields('where'); if ($extra['GROUP']) { $sql .= ' GROUP BY ' . $extra['GROUP']; } if (!$extra['ORDER_BY'] && !$extra['SELECT_ONLY']) { if (Preferences('SORT') == 'Grade') { $sql .= ' ORDER BY (SELECT SORT_ORDER FROM school_gradelevels WHERE ID=ssm.GRADE_ID),FULL_NAME'; } else { $sql .= ' ORDER BY FULL_NAME'; } $sql .= $extra['ORDER']; } elseif ($extra['ORDER_BY']) { $sql .= ' ORDER BY ' . $extra['ORDER_BY']; } if ($extra['DEBUG'] === true) { echo '<!--' . $sql . '-->'; } return DBGet(DBQuery($sql), $functions, $extra['group']); }
unset($_SESSION['_REQUEST_vars']['search_modfunc']); */ } //if($_REQUEST['staff_id']=='new') if (optional_param('staff_id', '', PARAM_ALPHANUM) == 'new') { unset($_SESSION['miss_attn']); unset($_SESSION['staff_id']); unset($_SESSION['_REQUEST_vars']['staff_id']); unset($_SESSION['_REQUEST_vars']['search_modfunc']); echo "<script language=javascript>parent.body.location='" . str_replace('&', '&', PreparePHP_SELF($_SESSION['_REQUEST_vars'])) . "';</script>"; } unset($_REQUEST['modfunc']); echo "\n<HTML>\n\t<head>\n\t\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n\t\t<meta http-equiv=\"Content-Style-Type\" content=\"text/css\" />\n\t\t<link rel=stylesheet type=\"text/css\" href=\"assets/stylesheet.css\">\n\t\t<script language=\"JavaScript\" type=\"text/javascript\">\n\t\t\n\t\t</script>\n\t\t<title>" . Config('TITLE') . "</title>\n\t</head>\n\t<BODY background=assets/themes/" . Preferences('THEME') . "/bg.jpg leftmargin=6 marginwidth=4 topmargin=0 " . (clean_param($_REQUEST['modcat'], PARAM_NOTAGS) ? "onload=openMenu('" . clean_param($_REQUEST['modcat'], PARAM_NOTAGS) . "');" : '') . ">"; // User Information echo "<TABLE border=0 cellpadding=0 cellspacing=0 width=100%><TR><TD height=30>"; echo '<A HREF=index.php target=_top>' . DrawPNG('themes/' . Preferences('THEME') . '/logo.png', 'border=0 width=160') . '</A>'; echo "</TD></TR><TR>"; echo "<TD class=BoxContents style='border: inset #C9C9C9 2px; background-image:url(\"assets/bg.gif\")' width=100% valign=top>\n\t<FORM action=Side.php?modfunc=update method=POST>\n\t<INPUT type=hidden name=modcat value='' id=modcat_input>\n\t<b>" . User('NAME') . "</b>\n\t<BR>" . date('l F j, Y') . "\n\t<BR>"; if (User('PROFILE') == 'admin') { $schools = substr(str_replace(",", "','", User('SCHOOLS')), 2, -2); $QI = DBQuery("SELECT ID,TITLE FROM schools" . ($schools ? " WHERE ID IN ({$schools})" : '')); $RET = DBGet($QI); // if(!UserSchool()) // { // $_SESSION['UserSchool'] = $RET[1]['ID']; // DBQuery("UPDATE staff SET CURRENT_SCHOOL_ID='".UserSchool()."' WHERE STAFF_ID='".User('STAFF_ID')."'"); // } echo "<SELECT name=school onChange='document.forms[0].submit();' style='width:150;'>"; foreach ($RET as $school) { echo "<OPTION value={$school['ID']}" . (UserSchool() == $school['ID'] ? ' SELECTED' : '') . ">" . $school['TITLE'] . "</OPTION>"; }
$_REQUEST['month_date'] = mb_strtoupper(date('M')); $_REQUEST['year_date'] = date('y'); $date = $_REQUEST['day_date'] . '-' . $_REQUEST['month_date'] . '-' . $_REQUEST['year_date']; } if ($_REQUEST['type']) { $_SESSION['FSA_type'] = $_REQUEST['type']; } else { $_SESSION['_REQUEST_vars']['type'] = $_REQUEST['type'] = $_SESSION['FSA_type']; } if ($_REQUEST['type'] == 'staff') { $tabcolor_s = '#DFDFDF'; $textcolor_s = '#999999'; $tabcolor_u = Preferences('HEADER'); $textcolor_u = '#FFFFFF'; } else { $tabcolor_s = Preferences('HEADER'); $textcolor_s = '#FFFFFF'; $tabcolor_u = '#DFDFDF'; $textcolor_u = '#999999'; } $header = '<TABLE class="cellpadding-0 cellspacing-0" style="height:14px;"><TR>'; //modif Francois: remove DrawTab params $header .= '<TD style="width:10px;"></TD><TD>' . DrawTab(_('Students'), "Modules.php?modname={$_REQUEST['modname']}&day_date={$_REQUEST['day_date']}&month_date={$_REQUEST['month_date']}&year_date={$_REQUEST['year_date']}&type=student") . '</TD>'; $header .= '<TD style="width:10px;"></TD><TD>' . DrawTab(_('Users'), "Modules.php?modname={$_REQUEST['modname']}&day_date={$_REQUEST['day_date']}&month_date={$_REQUEST['month_date']}&year_date={$_REQUEST['year_date']}&type=staff") . '</TD>'; $header .= '<TD style="width:10px;"></TD></TR></TABLE>'; DrawHeader(($_SESSION['FSA_type'] == 'staff' ? _('User') : _('Student')) . ' ' . ProgramTitle(), User('PROFILE') == 'student' ? '' : '<TABLE style="background-color:#ffffff;"><TR><TD>' . $header . '</TD></TR></TABLE>'); if ($_REQUEST['search_modfunc'] == 'list') { $PHP_tmp_SELF = PreparePHP_SELF(); echo '<FORM action="' . $PHP_tmp_SELF . '" method="POST">'; DrawHeader(PrepareDate($date, '_date') . ' : <INPUT type=submit value=' . _('Go') . '>'); echo '</FORM>';
} } $AllowUse = DBGet(DBQuery("SELECT MODNAME FROM PROFILE_EXCEPTIONS WHERE PROFILE_ID='" . User('PROFILE_ID') . "' AND CAN_USE='Y'")); foreach ($AllowUse as $programs) { //if($programs['MODNAME']==$_REQUEST['modname']) if ($programs['MODNAME'] == optional_param('modname', '', PARAM_NOTAGS)) { $allowed = true; break; } } // if(substr($_REQUEST['modname'],0,5)=='misc/') if (substr(optional_param('modname', '', PARAM_NOTAGS), 0, 5) == 'misc/') { $allowed = true; } if ($allowed) { if (Preferences('SEARCH') != 'Y') { $_REQUEST['search_modfunc'] = 'list'; } include 'modules/' . $modname; } else { if (User('USERNAME')) { if ($_SERVER['HTTP_X_FORWARDED_FOR']) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip = $_SERVER['REMOTE_ADDR']; } echo "You're not allowed to use this program! This attempted violation has been logged and your IP address was captured."; DBQuery("INSERT INTO HACKING_LOG (HOST_NAME,IP_ADDRESS,LOGIN_DATE,VERSION,PHP_SELF,DOCUMENT_ROOT,SCRIPT_NAME,MODNAME,USERNAME) values('{$_SERVER['SERVER_NAME']}','{$ip}','" . date('Y-m-d') . "','{$openSISVersion}','{$_SERVER['PHP_SELF']}','{$_SERVER['DOCUMENT_ROOT']}','{$_SERVER['SCRIPT_NAME']}','{$_REQUEST['modname']}','" . User('USERNAME') . "')"); Warehouse('footer'); if ($openSISNotifyAddress) { //mail($openSISNotifyAddress,'HACKING ATTEMPT',"INSERT INTO HACKING_LOG (HOST_NAME,IP_ADDRESS,LOGIN_DATE,VERSION,PHP_SELF,DOCUMENT_ROOT,SCRIPT_NAME,MODNAME,USERNAME) values('$_SERVER[SERVER_NAME]','$ip','".date('Y-m-d')."','$openSISVersion','$_SERVER[PHP_SELF]','$_SERVER[DOCUMENT_ROOT]','$_SERVER[SCRIPT_NAME]','$_REQUEST[modname]','".User('USERNAME')."')");
if ($_REQUEST['modfunc'] == 'search') { echo '<BR>'; PopTable('header', 'Advanced'); echo "<FORM name=percentform action=Modules.php?modname=" . strip_tags(trim($_REQUEST[modname])) . "&list_by_day=" . strip_tags(trim($_REQUEST[list_by_day])) . "&day_start=" . strip_tags(trim($_REQUEST[day_start])) . "&day_end=" . strip_tags(trim($_REQUEST[day_end])) . "&month_start=" . strip_tags(trim($_REQUEST[month_start])) . "&month_end=" . strip_tags(trim($_REQUEST[month_end])) . "&year_start=" . strip_tags(trim($_REQUEST[year_start])) . "&year_end=" . strip_tags(trim($_REQUEST[year_end])) . " method=POST>"; echo '<TABLE>'; Search('general_info', $extra['grades']); if (!isset($extra)) { $extra = array(); } Widgets('user', $extra); if ($extra['search']) { echo $extra['search']; } Search('student_fields', is_array($extra['student_fields']) ? $extra['student_fields'] : array()); if (User('PROFILE') == 'admin') { echo '<CENTER><INPUT type=checkbox name=_search_all_schools value=Y' . (Preferences('DEFAULT_ALL_SCHOOLS') == 'Y' ? ' CHECKED' : '') . '><font color=black>Search All Schools</font></CENTER><BR>'; } echo '<CENTER>' . Buttons('Submit') . '</CENTER>'; echo '</FORM>'; PopTable('footer'); } if (!$_REQUEST['modfunc']) { if (!isset($extra)) { $extra = array(); } Widgets('user'); if ($_REQUEST['advanced'] == 'Y') { Widgets('all'); } $extra['WHERE'] .= appendSQL(''); $extra['WHERE'] .= CustomFields('where');