function DateInput($value, $name, $title = '', $div = true, $allow_na = true) { if (Preferences('HIDDEN') != 'Y') { $div = false; } if (AllowEdit() && !$_REQUEST['_openSIS_PDF']) { if ($value == '' || $div == false) { return PrepareDate($value, "_{$name}", $allow_na) . ($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(\"" . str_replace('"', '\\"', PrepareDate($value, "_{$name}", true, array('Y' => 1, 'M' => 1, 'D' => 1))) . ($title != '' ? '<BR><small>' . (strpos(strtolower($title), '<font ') === false ? '<FONT color=' . Preferences('TITLES') . '>' : '') . $title . (strpos(strtolower($title), '<font ') === false ? '</FONT>' : '') . '</small>' : '') . "\",\"div{$name}\",true)'>" . ($value != '' ? ProperDate($value) : '-') . ($title != '' ? '<BR><small>' . (strpos(strtolower($title), '<font ') === false ? '<FONT color=' . Preferences('TITLES') . '>' : '') . $title . (strpos(strtolower($title), '<font ') === false ? '</FONT>' : '') . '</small>' : '') . '</div></DIV>'; } } else { return ($value != '' ? ProperDate($value) : '-') . ($title != '' ? '<BR><small>' . (strpos(strtolower($title), '<font ') === false ? '<FONT color=' . Preferences('TITLES') . '>' : '') . $title . (strpos(strtolower($title), '<font ') === false ? '</FONT>' : '') . '</small>' : ''); } }
function DateInput($value, $name, $title = '', $div = true, $allow_na = true) { if (Preferences('HIDDEN') != 'Y') { $div = false; } if (AllowEdit() && !isset($_REQUEST['_ROSARIO_PDF'])) { if ($value == '' || $div == false) { return PrepareDate($value, '_' . $name, $allow_na) . ($title != '' ? '<BR />' . (mb_strpos(mb_strtolower($title), '<span ') === false ? '<span class="legend-gray">' : '') . $title . (mb_strpos(mb_strtolower($title), '<span ') === false ? '</span>' : '') . '' : ''); } else { $return = '<DIV id="div' . $name . '"><div class="onclick" onclick=\'javascript:addHTML("'; $toEscape = PrepareDate($value, '_' . $name, $allow_na, array('Y' => 1, 'M' => 1, 'D' => 1)) . ($title != '' ? '<BR />' . (mb_strpos(mb_strtolower($title), '<span ') === false ? '<span class="legend-gray">' : '') . str_replace("'", ''', $title) . (mb_strpos(mb_strtolower($title), '<span ') === false ? '</span>' : '') : ''); $return .= str_replace('"', '\\"', $toEscape); $return .= '","div' . $name . '",true)\'><span class="underline-dots">' . ($value != '' ? ProperDate($value) : '-') . '</span>' . ($title != '' ? '<BR />' . (mb_strpos(mb_strtolower($title), '<span ') === false ? '<span class="legend-gray">' : '') . $title . (mb_strpos(mb_strtolower($title), '<span ') === false ? '</span>' : '') . '' : '') . '</div></DIV>'; return $return; } } else { return ($value != '' ? ProperDate($value) : '-') . ($title != '' ? '<BR />' . (mb_strpos(mb_strtolower($title), '<span ') === false ? '<span class="legend-gray">' : '') . $title . (mb_strpos(mb_strtolower($title), '<span ') === false ? '</span>' : '') . '' : ''); } }
/** * Make Search Input * * @param string $field text|numeric|select|date|radio|grade|school|timespan|test_no|other. * * @return string Search Input HTML */ function _makeSearchInput($field) { $div = false; $value = $_REQUEST['bottom_back'] == 'true' && isset($_SESSION['_REQUEST_vars']['cust'][$field['COLUMN_NAME']]) ? $_SESSION['_REQUEST_vars']['cust'][$field['COLUMN_NAME']] : ''; switch ($field['TYPE']) { case 'text': /*return "<INPUT type=text name=cust[{$field[COLUMN_NAME]}] size=30".(($_REQUEST['bottom_back']=='true' && $_SESSION['_REQUEST_vars']['cust'][$field['COLUMN_NAME']])?' value="'.$_SESSION['_REQUEST_vars']['cust'][$field['COLUMN_NAME']].'"':'').">";*/ return TextInput($value, 'cust[' . $field['COLUMN_NAME'] . ']', 'size="20"', $div); break; case 'numeric': /*return "<small>Between</small> <INPUT type=text name=cust_begin[{$field[COLUMN_NAME]}] size=3 maxlength=11".(($_REQUEST['bottom_back']=='true' && $_SESSION['_REQUEST_vars']['cust'][$field['COLUMN_NAME']])?' value="'.$_SESSION['_REQUEST_vars']['cust_begin'][$field['COLUMN_NAME']].'"':'')."> <small>&</small> <INPUT type=text name=cust_end[{$field[COLUMN_NAME]}] size=3 maxlength=11".(($_REQUEST['bottom_back']=='true' && $_SESSION['_REQUEST_vars']['cust'][$field['COLUMN_NAME']])?' value="'.$_SESSION['_REQUEST_vars']['cust_end'][$field['COLUMN_NAME']].'"':'').">";*/ return '<small>' . _('Between') . '</small> ' . TextInput($_REQUEST['bottom_back'] == 'true' && isset($_SESSION['_REQUEST_vars']['cust_begin'][$field['COLUMN_NAME']]) ? $_SESSION['_REQUEST_vars']['cust_begin'][$field['COLUMN_NAME']] : '', 'cust_begin[' . $field['COLUMN_NAME'] . ']', '', 'size="3" maxlength="11"', $div) . '<small>&</small>' . TextInput($_REQUEST['bottom_back'] == 'true' && isset($_SESSION['_REQUEST_vars']['cust_end'][$field['COLUMN_NAME']]) ? $_SESSION['_REQUEST_vars']['cust_end'][$field['COLUMN_NAME']] : '', 'cust_end[' . $field['COLUMN_NAME'] . ']', '', 'size="3" maxlength="11"', $div); break; case 'select': $options = explode("\r", str_replace(array("\r\n", "\n"), "\r", $field['SELECT_OPTIONS'])); /*if($_REQUEST['bottom_back']=='true' && $_SESSION['_REQUEST_vars']['cust'][$field['COLUMN_NAME']]) $bb_option = $_SESSION['_REQUEST_vars']['cust'][$field['COLUMN_NAME']]; else $bb_option = ''; $return = "<SELECT name=cust[{$field[COLUMN_NAME]}] style='max-width:250;'><OPTION value=''>N/A</OPTION><OPTION value='!'".($bb_option=='!'?' SELECTED':'').">No Value</OPTION>"; foreach ( (array) $options as $option ) { //$return .= "<OPTION value=\"$option\"".(($field['COLUMN_NAME']=='CUSTOM_44' && $field['TITLE']=='District' && $option==$_SESSION['district'])?' SELECTED':'').($bb_option==$option?' SELECTED':'').">$option</OPTION>"; $return .= '<option value="' . $option . '"' . ( $bb_option == $option ? ' selected' : '' ) . '>' . $option . '</option>'; } $return .= '</SELECT>';*/ foreach ((array) $options as $option) { $options_with_keys[$option] = $option; } return SelectInput($value, 'cust[' . $field['COLUMN_NAME'] . ']', '', array('!' => _('No Value')) + $options_with_keys, 'N/A', 'style="max-width:250px;"', $div); break; case 'date': return '<small>' . _('Between') . '</small> ' . PrepareDate($value, '_cust_begin[' . $field['COLUMN_NAME'] . ']', true, array('short' => true, 'C' => false)) . ' <small>&</small> ' . PrepareDate('', '_cust_end[' . $field['COLUMN_NAME'] . ']', true, array('short' => true, 'C' => false)); break; case 'radio': /*return "<table clsss=cellpadding=0 cellspacing=0><tr><td width=30 align=center> <input name='cust[{$field[COLUMN_NAME]}]' type='radio' value='Y'".(($_REQUEST['bottom_back']=='true' && $_SESSION['_REQUEST_vars']['cust'][$field['COLUMN_NAME']]=='Y')?' CHECKED':'')." /> Yes </td><td width=25 align=center> <input name='cust[{$field[COLUMN_NAME]}]' type='radio' value='N'".(($_REQUEST['bottom_back']=='true' && $_SESSION['_REQUEST_vars']['cust'][$field['COLUMN_NAME']])?' CHECKED':'')." /> No </td></tr></table>";*/ return RadioInput($value, 'cust[' . $field['COLUMN_NAME'] . ']', $title = '', array('Y' => _('Yes'), 'N' => _('No')), false, '', $div); break; case 'grade': $grades_RET = DBGet(DBQuery("SELECT DISTINCT TITLE,ID,SORT_ORDER\n\t\t\t\tFROM SCHOOL_GRADELEVELS\n\t\t\t\tWHERE SCHOOL_ID='" . UserSchool() . "'\n\t\t\t\tORDER BY SORT_ORDER")); /*$return = '<SELECT name="grade"><OPTION value=""></OPTION>'; foreach ($grades_RET as $grade) $return .= "<OPTION value=" . $grade['ID'] . ">".$grade['TITLE'].'</OPTION>'; $return .= '</SELECT>';*/ $grade_options = array(); foreach ((array) $grades_RET as $grade) { $grade_options[$grade['ID']] = $grade['TITLE']; } return SelectInput('', 'grade', '', $grade_options, 'N/A', '', $div); break; case 'schools': return CheckboxInput('', '_search_all_schools', _('Search All Schools'), '', true); break; case 'timespan': $start_date = '01-' . mb_strtoupper(date('M-y')); $end_date = DBDate(); return '<small>' . _('Between') . '</small> ' . PrepareDate($start_date, '_start', true, array('short' => true, 'C' => false)) . ' <small>&</small> ' . PrepareDate($end_date, '_end', true, array('short' => true, 'C' => false)); break; /*case 'test_no': $select = SelectInput( '', 'test_no[]', '', array( '1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5, '6' => 6, '7' => 7, '8' => 8, '9' => 9, '10' => 10, '0' => _( 'Final' ), ), 'N/A', '', $div ); $select = "<select name='test_no[]'>"; $vals = array('1'=>1,'2'=>2,'3'=>3,'4'=>4,'5'=>5,'6'=>6,'7'=>7,'8'=>8,'9'=>9,'10'=>10,'0'=>'Final'); $select .= '<OPTION value="">N/A</OPTION>'; foreach ($vals as $i=>$val) $select .= "<OPTION value=$i>".$val.'</OPTION>'; $select .= '</SELECT>'; return '<small>' . _( 'Test Number' ) . '</small> ' . $select; break;*/ /*case 'test_no': $select = SelectInput( '', 'test_no[]', '', array( '1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5, '6' => 6, '7' => 7, '8' => 8, '9' => 9, '10' => 10, '0' => _( 'Final' ), ), 'N/A', '', $div ); $select = "<select name='test_no[]'>"; $vals = array('1'=>1,'2'=>2,'3'=>3,'4'=>4,'5'=>5,'6'=>6,'7'=>7,'8'=>8,'9'=>9,'10'=>10,'0'=>'Final'); $select .= '<OPTION value="">N/A</OPTION>'; foreach ($vals as $i=>$val) $select .= "<OPTION value=$i>".$val.'</OPTION>'; $select .= '</SELECT>'; return '<small>' . _( 'Test Number' ) . '</small> ' . $select; break;*/ case 'other': return '<input type="text" name="' . $field['COLUMN_NAME'] . '" size="20" />'; break; } }
} if (!$_REQUEST['modfunc']) { DrawBC("" . _('Scheduling') . " >> " . ProgramTitle()); if ($_REQUEST['search_modfunc'] == 'list') { $mp_RET = DBGet(DBQuery('SELECT MARKING_PERIOD_ID,TITLE,SORT_ORDER,1 AS TBL FROM school_years WHERE SYEAR=\'' . UserSyear() . '\' AND SCHOOL_ID=\'' . UserSchool() . '\' UNION SELECT MARKING_PERIOD_ID,TITLE,SORT_ORDER,2 AS TBL FROM school_semesters WHERE SYEAR=\'' . UserSyear() . '\' AND SCHOOL_ID=\'' . UserSchool() . '\' UNION SELECT MARKING_PERIOD_ID,TITLE,SORT_ORDER,3 AS TBL FROM school_quarters WHERE SYEAR=\'' . UserSyear() . '\' AND SCHOOL_ID=\'' . UserSchool() . '\' ORDER BY TBL,SORT_ORDER')); $mp_select = '<SELECT name=mp_id><OPTION value="">' . _('N/A') . ''; foreach ($mp_RET as $mp) { $mp_select .= '<OPTION value=' . $mp['MARKING_PERIOD_ID'] . '>' . $mp['TITLE']; } $mp_select .= '</SELECT>'; echo "<meta charset='UTF-8'><FORM name=sch id=sch action=for_export.php?modname={$_REQUEST['modname']}&head_html=Student+Schedules+Report&modfunc=save&include_inactive={$_REQUEST['include_inactive']}&_openSIS_PDF=true method=POST target=_blank>"; #$extra['header_right'] = '<INPUT type=submit value=\'Create Schedules for Selected Students\'>'; PopTable_wo_header('header'); $extra['extra_header_left'] = '<TABLE>'; $extra['extra_header_left'] .= '<TR><TD align=right width=120>' . _('Marking Period') . '</TD><TD>' . $mp_select . '</TD></TR>'; $extra['extra_header_left'] .= '<TR><TD align=right width=120>' . _('Include only courses active as of') . '</TD><TD>' . PrepareDate('', '_include_active_date') . '</TD></TR>'; Widgets('mailing_labels', true); $extra['extra_header_left'] .= $extra['search']; $extra['search'] = ''; $extra['extra_header_left'] .= '</TABLE>'; } $extra['link'] = array('FULL_NAME' => false); $extra['SELECT'] = ',s.STUDENT_ID AS CHECKBOX'; $extra['functions'] = array('CHECKBOX' => '_makeChooseCheckbox'); $extra['columns_before'] = array('CHECKBOX' => '</A><INPUT type=checkbox value=Y name=controller checked onclick="checkAll(this.form,this.form.controller.checked,\'st_arr\');"><A>'); $extra['options']['search'] = false; $extra['new'] = true; //$extra['force_search'] = true; Widgets('request'); Widgets('course'); Search('student_id', $extra);
if ($_REQUEST['modfunc'] != 'choose_course') { DrawBC("Scheduling > " . ProgramTitle()); if ($_REQUEST['search_modfunc'] == 'list') { echo "<FORM name=sav id=sav action=Modules.php?modname={$_REQUEST['modname']}&modfunc=save method=POST>"; #DrawHeader('',SubmitButton('Add Course to Selected Students')); PopTable_wo_header('header'); echo '<TABLE><TR><TD>Course to Add</TD><TD><DIV id=course_div>'; if ($_SESSION['MassSchedule.php']) { $course_title = DBGet(DBQuery("SELECT TITLE FROM COURSES WHERE COURSE_ID='" . $_SESSION['MassSchedule.php']['course_id'] . "'")); $course_title = $course_title[1]['TITLE']; $period_title = DBGet(DBQuery("SELECT TITLE FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='" . $_SESSION['MassSchedule.php']['course_period_id'] . "'")); $period_title = $period_title[1]['TITLE']; echo "{$course_title} - {$_REQUEST['course_weight']}<BR>{$period_title}"; } echo '</DIV>' . "<A HREF=# onclick='window.open(\"for_window.php?modname={$_REQUEST['modname']}&modfunc=choose_course\",\"\",\"scrollbars=yes,resizable=yes,width=800,height=400\");'>Choose a Course</A></TD></TR>"; echo '<TR><TD>Start Date</TD><TD>' . PrepareDate(DBDate(), '') . '</TD></TR>'; echo '<TR><TD>Marking Period</TD><TD>'; //echo '<SELECT name=marking_period_id><OPTION value=0>Full Year</OPTION>'; $years_RET = DBGet(DBQuery("SELECT MARKING_PERIOD_ID,TITLE,NULL AS SEMESTER_ID FROM SCHOOL_YEARS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'")); $semesters_RET = DBGet(DBQuery("SELECT MARKING_PERIOD_ID,TITLE,NULL AS SEMESTER_ID FROM SCHOOL_SEMESTERS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' ORDER BY SORT_ORDER")); $quarters_RET = DBGet(DBQuery("SELECT MARKING_PERIOD_ID,TITLE,SEMESTER_ID FROM SCHOOL_QUARTERS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' ORDER BY SORT_ORDER")); echo '<SELECT name=marking_period_id><OPTION value=' . $years_RET[1]['MARKING_PERIOD_ID'] . '>' . $years_RET[1]['TITLE'] . '</OPTION>'; foreach ($semesters_RET as $mp) { echo "<OPTION value={$mp['MARKING_PERIOD_ID']}>" . $mp['TITLE'] . '</OPTION>'; } foreach ($quarters_RET as $mp) { echo "<OPTION value={$mp['MARKING_PERIOD_ID']}>" . $mp['TITLE'] . '</OPTION>'; } echo '</SELECT>'; echo '</TD></TR>'; echo '</TABLE>';
DrawBC("Scheduling > " . ProgramTitle()); echo '<input type="hidden" name="marking_period_id" value=' . strip_tags(trim($_REQUEST['marking_period_id'])) . ' >'; $students_RET = GetStuList($extra); $LO_columns = array('FULL_NAME' => 'Student', 'STUDENT_ID' => 'Student ID', 'ALT_ID' => 'Alternate ID', 'GRADE_ID' => 'Grade', 'PHONE' => 'Phone'); if (is_array($extra['columns_before'])) { $columns = $extra['columns_before'] + $LO_columns; $LO_columns = $columns; } if (is_array($extra['columns_after'])) { $columns = $LO_columns + $extra['columns_after']; } if (!$extra['columns_before'] && !$extra['columns_after']) { $columns = $LO_columns; } if (count($students_RET) > 0) { echo '<TABLE><TR><TD>Drop Date</TD><TD>' . PrepareDate(DBDate(), '') . '</TD></TR></TABLE>'; } if (count($students_RET) > 1 || $link['add'] || !$link['FULL_NAME'] || $extra['columns_before'] || $extra['columns_after'] || $extra['BackPrompt'] == false && count($students_RET) == 0 || $extra['Redirect'] === false && count($students_RET) == 1) { $tmp_REQUEST = $_REQUEST; unset($tmp_REQUEST['expanded_view']); if ($_REQUEST['expanded_view'] != 'true' && !UserStudentID() && count($students_RET) != 0) { DrawHeader("<div><A HREF=" . PreparePHP_SELF($tmp_REQUEST) . "&expanded_view=true class=big_font ><img src=\"themes/blue/expanded_view.png\" />Expanded View</A></div><div class=break ></div>", $extra['header_right']); DrawHeader(str_replace('<BR>', '<BR> ', substr($_openSIS['SearchTerms'], 0, -4))); } elseif (!UserStudentID() && count($students_RET) != 0) { DrawHeader("<div><A HREF=" . PreparePHP_SELF($tmp_REQUEST) . "&expanded_view=false class=big_font><img src=\"themes/blue/expanded_view.png\" />Original View</A></div><div class=break ></div>", $extra['header_right']); DrawHeader(str_replace('<BR>', '<BR> ', substr($_openSIS['Search'], 0, -4))); } DrawHeader($extra['extra_header_left'], $extra['extra_header_right']); if ($_REQUEST['LO_save'] != '1' && !$extra['suppress_save']) { $_SESSION['List_PHP_SELF'] = PreparePHP_SELF($_SESSION['_REQUEST_vars']); echo '<script language=JavaScript>parent.help.location.reload();</script>';
} } elseif (count($periods_RET) == 1) { foreach ($periods_RET as $period) { $period_select .= "<OPTION value=" . $period['PERIOD_ID'] . ($_REQUEST['period_id'] == $period['PERIOD_ID'] || !isset($_REQUEST['period_id']) ? ' SELECTED' : '') . ">" . $period['TITLE'] . '</OPTION>'; } if (!isset($_REQUEST['period_id'])) { $_REQUEST['period_id'] = $period['PERIOD_ID']; } } } else { $period_select .= '<OPTION value="PERIOD"' . ($_REQUEST['period_id'] ? ' SELECTED' : '') . '>By Period</OPTION>'; } $period_select .= '</SELECT>'; echo "<FORM action={$PHP_tmp_SELF} method=POST>"; echo "<div style='width:795px; overflow:scroll; overflow-y:hidden;'>"; DrawHeaderHome('<table><tr><td>' . PrepareDate($start_date, '_start') . '</td><td> - </td><td>' . PrepareDate($end_date, '_end') . '</td><td> : </td><td>' . $period_select . ' : <INPUT type=submit class=btn_medium value=Go></td></tr></table>'); } $cal_RET = DBGet(DBQuery('SELECT DISTINCT SCHOOL_DATE,CONCAT(\'_\',DATE_FORMAT(SCHOOL_DATE,\'%y%b%d\')) AS SHORT_DATE FROM attendance_calendar WHERE SCHOOL_ID=\'' . UserSchool() . '\' AND SCHOOL_DATE BETWEEN \'' . date('Y-m-d', strtotime($start_date)) . '\' AND \'' . date('Y-m-d', strtotime($end_date)) . '\' ORDER BY SCHOOL_DATE')); if (UserStudentID() || $_REQUEST['student_id'] || User('PROFILE') == 'parent') { // JUST TO SET USERSTUDENTID() Search('student_id'); if ($_REQUEST['period_id']) { $sql = 'SELECT cp.TITLE as COURSE_PERIOD,sp.TITLE as PERIOD,cpv.PERIOD_ID FROM schedule s,courses c,course_periods cp,course_period_var cpv,school_periods sp WHERE s.COURSE_ID = c.COURSE_ID AND s.COURSE_ID = cp.COURSE_ID AND cp.COURSE_PERIOD_ID=cpv.COURSE_PERIOD_ID AND s.COURSE_PERIOD_ID = cp.COURSE_PERIOD_ID AND cpv.PERIOD_ID = sp.PERIOD_ID AND cpv.DOES_ATTENDANCE=\'Y\' AND s.SYEAR = c.SYEAR AND cp.MARKING_PERIOD_ID IN (' . GetAllMP('QTR', UserMP()) . ') AND s.STUDENT_ID=\'' . UserStudentID() . '\' AND s.SYEAR=\'' . UserSyear() . '\'
} 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>'; include 'modules/Food_Service/' . ($_REQUEST['type'] == 'staff' ? 'Users' : 'Students') . '/BalanceReport.php'; } $extra['new'] = true; $extra['force_search'] = true; $extra['SELECT'] = ",fsa.ACCOUNT_ID,fst.BALANCE"; //$extra['SELECT'] .= ",(SELECT BALANCE FROM FOOD_SERVICE_TRANSACTIONS WHERE ACCOUNT_ID=fsa.ACCOUNT_ID AND TIMESTAMP<date '".$date."'+1 ORDER BY TIMESTAMP DESC LIMIT 1) AS BALANCE"; $extra['FROM'] = ",FOOD_SERVICE_STUDENT_ACCOUNTS fsa,FOOD_SERVICE_TRANSACTIONS fst"; $extra['WHERE'] = " AND fsa.STUDENT_ID=ssm.STUDENT_ID AND fst.ACCOUNT_ID=fsa.ACCOUNT_ID AND fst.BALANCE>'0' AND fst.TRANSACTION_ID=(SELECT TRANSACTION_ID FROM FOOD_SERVICE_TRANSACTIONS WHERE ACCOUNT_ID=fsa.ACCOUNT_ID AND TIMESTAMP<date '" . $date . "'+1 ORDER BY TIMESTAMP DESC LIMIT 1)"; $extra['functions'] = array('ACCOUNT_ID' => '_total'); $extra['columns_before'] = array('ACCOUNT_ID' => _('Account ID')); $extra['columns_after'] = array('BALANCE' => _('Balance')); $extra['group'] = $extra['LO_group'] = array('ACCOUNT_ID'); $extra['link'] = array('FULL_NAME' => false); Search('student_id', $extra);
$types += array($menu['TITLE'] => array('DESCRIPTION' => $menu['TITLE'], 'COUNT' => 0, 'AMOUNT' => 0, 'ITEMS' => $items)); } $type_select = _('Type') . '<SELECT name=type_select><OPTION value=\'\'>' . _('Not Specified') . '</OPTION>'; foreach ($types as $short_name => $type) { $type_select .= '<OPTION value=' . $short_name . ($_REQUEST['type_select'] == $short_name ? ' SELECTED' : '') . '>' . $type['DESCRIPTION'] . '</OPTION>'; } $type_select .= '</SELECT>'; $staff_RET = DBGet(DBquery('SELECT STAFF_ID,FIRST_NAME||\' \'||LAST_NAME AS FULL_NAME FROM STAFF WHERE SYEAR=\'' . UserSyear() . '\' AND SCHOOLS LIKE \'%,' . UserSchool() . ',%\' AND PROFILE=\'admin\' ORDER BY LAST_NAME')); $staff_select = _('User') . '<SELECT name=staff_select><OPTION value=\'\'>' . _('Not Specified') . '</OPTION>'; foreach ($staff_RET as $staff) { $staff_select .= '<OPTION value=' . $staff['STAFF_ID'] . ($_REQUEST['staff_select'] == $staff['STAFF_ID'] ? ' SELECTED' : '') . '>' . $staff['FULL_NAME'] . '</OPTION>'; } $staff_select .= '</SELECT>'; $PHP_tmp_SELF = PreparePHP_SELF(); echo "<FORM action={$PHP_tmp_SELF} method=POST>"; DrawHeader(PrepareDate($date, '_date') . ' : ' . $type_select . ' : ' . $staff_select . ' : <INPUT type=submit value=' . _('Go') . '>', CheckBoxOnclick('by_name') . _('Sort by Name')); echo '</FORM>'; if ($_REQUEST['type_select']) { $where = "AND fst.SHORT_NAME='" . $_REQUEST['type_select'] . "' "; } if ($_REQUEST['staff_select']) { $where = "AND fst.SELLER_ID='" . $_REQUEST['staff_select'] . "' "; } if ($_REQUEST['detailed_view'] != 'true') { DrawHeader("<A HREF=" . PreparePHP_SELF($_REQUEST, array(), array('detailed_view' => 'true')) . '>' . _('Detailed View') . '</A>'); } else { DrawHeader("<A HREF=" . PreparePHP_SELF($_REQUEST, array(), array('detailed_view' => 'false')) . '>' . _('Original View') . '</A>'); } include 'modules/Food_Service/' . ($_REQUEST['type'] == 'staff' ? 'Users' : 'Students') . '/ActivityReport.php'; //echo '<pre>'; var_dump($RET); echo '</pre>'; //echo '<pre>'; var_dump($types); echo '</pre>';
} elseif ($month == 'SEP') { $month = '09'; } elseif ($month == 'OCT') { $month = '10'; } elseif ($month == 'NOV') { $month = '11'; } elseif ($month == 'DEC') { $month = '12'; } $final_date = $year . "-" . $month . "-" . $day; $date = $final_date; } //echo $date; //--------- if end --------------// //------------------------------ Date Edit End -------------------------------------------// DrawHeader('<TABLE><TR><TD>' . PrepareDate($date, '_date', false, array('submit' => true)) . '</TD><TD> </TD><TD>' . SubmitButton('Go', '', 'class=btn_medium') . '</TD><TR></TABLE>', '<TABLE><TR><TD>' . $current_student_link . button('add', '', "# onclick='javascript:addHTML(\"" . str_replace('"', '\\"', _makeCodeSearch()) . "\",\"code_pulldowns\"); return false;'") . '</TD><TD><DIV id=code_pulldowns>' . $code_pulldowns . '</DIV></TD></TR></TABLE>'); $categories_RET = DBGet(DBQuery("SELECT ID,TITLE FROM ATTENDANCE_CODE_CATEGORIES WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'")); $tmp_REQUEST = $_REQUEST; unset($tmp_REQUEST['table']); unset($tmp_REQUEST['codes']); $tmp_PHP_SELF = PreparePHP_SELF($tmp_REQUEST); if (count($categories_RET)) { echo '<center><div style="margin-bottom:-25px;"><TABLE border=0 cellpadding=0 cellspacing=0 style="border:1;border-style: none none solid none;"><TR><TD>'; echo '<TABLE height=1><TR><TD height=1></TD></TR></TABLE>'; $header = '<TABLE border=0 cellpadding=0 cellspacing=0 height=14><TR>'; if ($_REQUEST['table'] !== '0') { $tabcolor = '#DFDFDF'; $textcolor = '#999999'; } else { $tabcolor = Preferences('HIGHLIGHT'); $textcolor = '#000000';
<?php DrawHeader('Daily Transactions'); if ($_REQUEST[modfunc] == '') { echo '<BR>'; PopTable('header', 'Search'); echo "<FORM action=Modules.php?modname={$_REQUEST['modname']}&modfunc=list method=POST>"; echo '<TABLE>'; echo '<TR><TD>Beginning Date</TD><TD>' . PrepareDate('_begin', DBDate(), false) . '</TD></TR>'; echo '<TR><TD>Ending Date</TD><TD>' . PrepareDate('_end', DBDate(), false) . '</TD></TR>'; PrepareSchool(SessionSchool(), '', SessionCurSchool()); echo '<TR><TD>Report</TD><TD>'; echo '<SELECT name=type> <OPTION value=stubillingcredits>Student Billing Credits</OPTION> <OPTION value=stubillingdebits>Student Billing Debits</OPTION> <OPTION value="stubillingwaived debits">Student Billing Waived Debits</OPTION> <OPTION value=lunchcredits>Lunch Credits</OPTION> <OPTION value=lunchdebits>Lunch Debits</OPTION> </SELECT>'; echo '</TD></TR>'; $accounts_RET = DBGet(DBQuery("SELECT ID,TITLE FROM STU_BILLING_ACCOUNTS WHERE SYEAR='" . GetSysYear() . "'")); if (count($accounts_RET)) { echo '<TR><TD>Account</TD><TD>'; echo '<SELECT name=account_id> <OPTION value="">Not Specified</OPTION>'; foreach ($accounts_RET as $value) { echo "<OPTION value={$value['ID']}>{$value['TITLE']}</OPTION>"; } echo '</SELECT>'; echo '</TD></TR>'; }
$description_select .= '<OPTION value="' . $description['DESCRIPTION'] . '">' . $description['DESCRIPTION']; } $description_select .= '</SELECT'; } } $calendar_RET = DBGet(DBQuery("SELECT DATE_FORMAT(SCHOOL_DATE,'%d-%b-%y') as SCHOOL_DATE FROM ATTENDANCE_CALENDAR WHERE SCHOOL_DATE BETWEEN '" . date('d-M-y', $time) . "' AND '" . date('d-M-y', $time_last) . "' AND SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' AND CALENDAR_ID='{$calendar_id}' AND MINUTES>0 ORDER BY SCHOOL_DATE"), array(), array('SCHOOL_DATE')); $events_RET = DBGet(DBQuery("SELECT ID,TITLE,DESCRIPTION,DATE_FORMAT(SCHOOL_DATE,'%d-%b-%y') AS SCHOOL_DATE FROM CALENDAR_EVENTS WHERE SCHOOL_DATE BETWEEN '" . date('d-M-y', $time) . "' AND '" . date('d-M-y', $time_last) . "' AND SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' AND TITLE='" . $menus_RET[$_REQUEST['menu_id']][1]['TITLE'] . "' ORDER BY SCHOOL_DATE"), array('DESCRIPTION' => 'makeDescriptionInput', 'SCHOOL_DATE' => 'ProperDate')); $events_RET[0] = array(); // make sure indexing from 1 foreach ($calendar_RET as $school_date => $value) { $events_RET[] = array('ID' => 'new', 'SCHOOL_DATE' => ProperDate($school_date), 'DESCRIPTION' => TextInput('', 'food_service[' . $school_date . '][text]', '', 'size=35') . ($description_select ? '<SELECT name=food_service[' . $school_date . '][select]>' . $description_select : '')); } unset($events_RET[0]); $LO_columns = array('ID' => '#', 'SCHOOL_DATE' => 'Date', 'DESCRIPTION' => 'Description'); echo "<FORM action=Modules.php?modname={$_REQUEST['modname']}&menu_id={$_REQUEST['menu_id']}&month={$_REQUEST['month']}&year={$_REQUEST['year']} METHOD=POST>"; DrawHeader(PrepareDate(strtoupper(date("d-M-y", $time)), '', false, array('M' => 1, 'Y' => 1, 'submit' => true)), SubmitButton('Save', 'submit[save]') . '<INPUT type=submit value=\'Generate Menu\' name=submit[print]>'); echo '<BR>'; $tabs = array(); foreach ($menus_RET as $id => $meal) { $tabs[] = array('title' => $meal[1]['TITLE'], 'link' => "Modules.php?modname={$_REQUEST['modname']}&menu_id={$id}&month={$_REQUEST['month']}&year={$_REQUEST['year']}"); } $extra = array('save' => false, 'search' => false, 'header' => WrapTabs($tabs, "Modules.php?modname={$_REQUEST['modname']}&menu_id={$_REQUEST['menu_id']}&month={$_REQUEST['month']}&year={$_REQUEST['year']}")); $singular = $menus_RET[$_REQUEST['menu_id']][1]['TITLE'] . ' Day'; $plural = $singular . 's'; ListOutput($events_RET, $LO_columns, $singular, $plural, array(), array(), $extra); echo '<CENTER>' . SubmitButton('Save', 'submit[save]') . '</CENTER>'; echo "</FORM>"; } function makeDescriptionInput($value, $name) { global $THIS_RET, $calendar_RET;
$_REQUEST['next_modname'] = 'Users/User.php'; } $ERR = ""; if ($_REQUEST['day_From'] == '' && $_REQUEST['day_to']) { $ERR = "please select from date"; } else { if ($_REQUEST['day_From'] && $_REQUEST['day_to'] || $From && $to) { $staff_RET = GetStaffList_Miss_Atn($extra); } } #if(!isset($_openSIS['DrawHeader'])) DrawHeaderHome('Please select a user'); echo '<div><STRONG><FONT color=red>' . $ERR . '</font></strong></DIV>'; echo "<FORM name=missingatten id=missingatten action=Modules.php?modname={$_REQUEST['modname']}&func=save method=POST>"; $header = '<table width=100%><TR>'; $header .= '<TD style="width:30px; vertical-align:top; text-align:left; padding-top:8px;">From</TD><td valign="top" style="width:230px;">' . PrepareDate($From, '_From', true, array('short' => true)) . '</TD>'; $header .= '<TD style="width:20px; vertical-align:top; text-align:left; padding-top:8px;">To</TD><td valign="top" style="width:230px;">' . PrepareDate($to, '_to', true, array('short' => true)) . '</TD>'; $header .= '<td align=left><INPUT type=submit class=btn_medium name=go value=Go ></td>'; $header .= '</tr></table>'; DrawHeaderHome($header); echo '</form>'; if ($extra['profile']) { $options = array('admin' => 'Administrator', 'teacher' => 'Teacher', 'parent' => 'Parent', 'none' => 'No Access'); $singular = $options[$extra['profile']]; $plural = $singular . ($options[$extra['profile']] == 'none' ? 'es' : 's'); $columns = array('FULL_NAME' => $singular, 'STAFF_ID' => 'Staff ID'); } else { $singular = 'User'; $plural = 'Users'; $columns = array('FULL_NAME' => 'Staff Member', 'PROFILE' => 'Profile', 'STAFF_ID' => 'Staff ID'); } if (is_array($extra['columns_before'])) {
//$periods_RET = DBGet(DBQuery("SELECT sp.PERIOD_ID,sp.TITLE FROM SCHOOL_PERIODS sp,COURSE_PERIODS cp WHERE position(',0,' IN cp.DOES_ATTENDANCE)>0 AND sp.PERIOD_ID=cp.PERIOD_ID AND cp.COURSE_PERIOD_ID='".UserCoursePeriod()."'")); $periods_RET = DBGet(DBQuery("SELECT sp.PERIOD_ID,sp.TITLE FROM SCHOOL_PERIODS sp,COURSE_PERIODS cp, COURSE_PERIOD_SCHOOL_PERIODS cpsp WHERE cp.COURSE_PERIOD_ID=cpsp.COURSE_PERIOD_ID AND position(',0,' IN cp.DOES_ATTENDANCE)>0 AND sp.PERIOD_ID=cpsp.PERIOD_ID AND cpsp.COURSE_PERIOD_SCHOOL_PERIODS_ID='" . UserCoursePeriodSchoolPeriod() . "'")); if ($periods_RET) { //$period_select .= '<OPTION value="'.$periods_RET[1]['PERIOD_ID'].'"'.(($_REQUEST['period_id']==$periods_RET[1]['PERIOD_ID'] || !isset($_REQUEST['period_id']))?' SELECTED="SELECTED"':'').">".$periods_RET[1]['TITLE'].'</OPTION>'; $period_select .= '<OPTION value="' . $periods_RET[1]['PERIOD_ID'] . '"' . ($_REQUEST['period_id'] == $periods_RET[1]['PERIOD_ID'] ? ' SELECTED="SELECTED"' : '') . ">" . $periods_RET[1]['TITLE'] . '</OPTION>'; if (!isset($_REQUEST['period_id'])) { $_REQUEST['period_id'] = $periods_RET['PERIOD_ID']; } } } } else { $period_select .= '<OPTION value="PERIOD"' . ($_REQUEST['period_id'] ? ' SELECTED="SELECTED"' : '') . '>' . _('By Period') . '</OPTION>'; } $period_select .= '</SELECT>'; echo '<FORM action="' . $PHP_tmp_SELF . '" method="POST">'; DrawHeader(_('Timeframe') . ':' . PrepareDate($start_date, '_start') . ' ' . _('to') . ' ' . PrepareDate($end_date, '_end') . ' : ' . $period_select . ' : <INPUT type="submit" value="' . _('Go') . '" />'); } $cal_RET = DBGet(DBQuery("SELECT DISTINCT SCHOOL_DATE,'_'||to_char(SCHOOL_DATE,'yyyymmdd') AS SHORT_DATE FROM ATTENDANCE_CALENDAR WHERE SCHOOL_ID='" . UserSchool() . "' AND SCHOOL_DATE BETWEEN '{$start_date}' AND '{$end_date}' ORDER BY SCHOOL_DATE")); //modif Francois: bugfix bug when Back to Student Search //if(UserStudentID() || $_REQUEST['student_id'] || User('PROFILE')=='parent') if ($_REQUEST['student_id'] || User('PROFILE') == 'parent') { // JUST TO SET USERSTUDENTID() Search('student_id'); if ($_REQUEST['period_id']) { //modif Francois: multiple school periods for a course period /*$sql = "SELECT cp.TITLE as COURSE_PERIOD,sp.TITLE as PERIOD,cp.PERIOD_ID FROM SCHEDULE s,COURSES c,COURSE_PERIODS cp,SCHOOL_PERIODS sp WHERE s.COURSE_ID = c.COURSE_ID AND s.COURSE_ID = cp.COURSE_ID
Widgets('absences'); Widgets('gpa'); Widgets('class_rank'); Widgets('letter_grade'); Widgets('eligibility'); $extra['search'] .= '<TR><TD align=right width=120>Include courses active as of </TD><TD>' . PrepareDate('', '_include_active_date') . '</TD></TR>'; $extra['new'] = true; /* if($_REQUEST['modfunc']=='call') include('modules/misc/Export.php'); else */ Search('student_id', $extra); if ($_SESSION['count_stu'] != '0') { unset($_SESSION['count_stu']); echo '<BR><CENTER><INPUT type=submit value=\'Create Report for Selected Students\' class=btn_xxlarge></CENTER>'; } echo "</FORM>"; } else { Widgets('course'); Widgets('request'); Widgets('activity'); Widgets('absences'); Widgets('gpa'); Widgets('class_rank'); Widgets('letter_grade'); Widgets('eligibility'); $extra['search'] .= '<TR><TD align=right width=120>Include courses active as of </TD><TD>' . PrepareDate('', '_include_active_date') . '</TD></TR>'; $extra['new'] = true; Search('student_id', $extra); } }
$calendar_RET = DBGet(DBQuery("SELECT DATE_FORMAT(SCHOOL_DATE,'%d-%b-%y') as SCHOOL_DATE,MINUTES,BLOCK FROM ATTENDANCE_CALENDAR WHERE SCHOOL_DATE BETWEEN '" . date('Y-m-d', $time) . "' AND '" . date('Y-m-d', mktime(0, 0, 0, $_REQUEST['month'], $last, $_REQUEST['year'])) . "' AND SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' AND CALENDAR_ID='" . $_REQUEST['calendar_id'] . "'"), array(), array('SCHOOL_DATE')); unset($_REQUEST['blocks']); unset($_SESSION['_REQUEST_vars']['blocks']); } echo "<FORM action=Modules.php?modname={$_REQUEST['modname']} METHOD=POST>"; $link = ''; $title_RET = DBGet(DBQuery("SELECT CALENDAR_ID,TITLE FROM ATTENDANCE_CALENDARS WHERE SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "' ORDER BY DEFAULT_CALENDAR ASC")); foreach ($title_RET as $title) { $options[$title['CALENDAR_ID']] = $title['TITLE']; } if (AllowEdit()) { $tmp_REQUEST = $_REQUEST; unset($tmp_REQUEST['calendar_id']); $link = "<table><tr><td>" . SelectInput($_REQUEST['calendar_id'], 'calendar_id', '', $options, false, " onchange='document.location.href=\"" . PreparePHP_SELF($tmp_REQUEST) . '&calendar_id="+this.form.calendar_id.value;\' ', false) . " </td><td><a href='#' onclick='load_link(\"Modules.php?modname={$_REQUEST['modname']}&modfunc=create\");'>" . button('add') . "</a></td><td><a href='#' onclick='load_link(\"Modules.php?modname={$_REQUEST['modname']}&modfunc=create\");'>Create a new calendar</a> </td><td> | </td><td><a href='#' onclick='load_link(\"Modules.php?modname={$_REQUEST['modname']}&modfunc=delete_calendar&calendar_id={$_REQUEST['calendar_id']}\");'>" . button('remove') . "</a></td><td><a href='#' onclick='load_link(\"Modules.php?modname={$_REQUEST['modname']}&modfunc=delete_calendar&calendar_id={$_REQUEST['calendar_id']}\");'>Delete this calendar</a></td></tr></table>"; } DrawHeaderHome(PrepareDate(strtoupper(date("d-M-y", $time)), '', false, array('M' => 1, 'Y' => 1, 'submit' => true)) . ' <A HREF=Modules.php?modname=' . $_REQUEST['modname'] . '&modfunc=list_events&month=' . $_REQUEST['month'] . '&year=' . $_REQUEST['year'] . '>List Events</A>', SubmitButton('Save', '', 'class=btn_medium')); DrawHeaderHome($link); // <A HREF=Modules.php?modname='.$_REQUEST['modname'].'&modfunc=list_events&month='.$_REQUEST['month'].'&year='.$_REQUEST['year'].'>List Events</A> if (count($error)) { if ($isajax != "ajax") { echo ErrorMessage($error, 'fatal'); } else { echo ErrorMessage1($error, 'fatal'); } } echo '<BR>'; $events_RET = DBGet(DBQuery("SELECT ID,DATE_FORMAT(SCHOOL_DATE,'%d-%b-%y') AS SCHOOL_DATE,TITLE FROM CALENDAR_EVENTS WHERE SCHOOL_DATE BETWEEN '" . date('Y-m-d', $time) . "' AND '" . date('Y-m-d', mktime(0, 0, 0, $_REQUEST['month'], $last, $_REQUEST['year'])) . "' AND SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"), array(), array('SCHOOL_DATE')); if (User('PROFILE') == 'parent' || User('PROFILE') == 'student') { $assignments_RET = DBGet(DBQuery("SELECT ASSIGNMENT_ID AS ID,DATE_FORMAT(a.DUE_DATE,'%d-%b-%y') AS SCHOOL_DATE,a.TITLE,'Y' AS ASSIGNED FROM GRADEBOOK_ASSIGNMENTS a,SCHEDULE s WHERE (a.COURSE_PERIOD_ID=s.COURSE_PERIOD_ID OR a.COURSE_ID=s.COURSE_ID) AND s.STUDENT_ID='" . UserStudentID() . "' AND (a.DUE_DATE BETWEEN s.START_DATE AND s.END_DATE OR s.END_DATE IS NULL) AND (a.ASSIGNED_DATE<=CURRENT_DATE OR a.ASSIGNED_DATE IS NULL) AND a.DUE_DATE BETWEEN '" . date('Y-m-d', $time) . "' AND '" . date('Y-m-d', mktime(0, 0, 0, $_REQUEST['month'], $last, $_REQUEST['year'])) . "'"), array(), array('SCHOOL_DATE')); } elseif (User('PROFILE') == 'teacher') { $assignments_RET = DBGet(DBQuery("SELECT ASSIGNMENT_ID AS ID,DATE_FORMAT(a.DUE_DATE,'%d-%b-%y') AS SCHOOL_DATE,a.TITLE,CASE WHEN a.ASSIGNED_DATE<=CURRENT_DATE OR a.ASSIGNED_DATE IS NULL THEN 'Y' ELSE NULL END AS ASSIGNED FROM GRADEBOOK_ASSIGNMENTS a WHERE a.STAFF_ID='" . User('STAFF_ID') . "' AND a.DUE_DATE BETWEEN '" . date('Y-m-d', $time) . "' AND '" . date('Y-m-d', mktime(0, 0, 0, $_REQUEST['month'], $last, $_REQUEST['year'])) . "'"), array(), array('SCHOOL_DATE'));
$extra['functions'] = array(); } $extra['functions'] += array('FULL_NAME' => '_makeTipMessage', 'COMMENT' => 'makeCommentInput', 'ATTENDANCE_REASON' => 'makeAttendanceReason'); $extra['DATE'] = $date; $stu_RET = GetStuList($extra); if ($attendance_reason) { $columns += array('ATTENDANCE_REASON' => _('Office Comment')); } $date_note = $date != DBDate() ? ' <span style="color:red">' . _('The selected date is not today') . '</span> |' : ''; $date_note .= AllowEdit() ? ' <span style="color:green">' . _('You can edit this attendance') . '</span>' : ' <span style="color:red">' . _('You cannot edit this attendance') . '</span>'; $completed_RET = DBGet(DBQuery("SELECT 'Y' as COMPLETED FROM ATTENDANCE_COMPLETED WHERE STAFF_ID='" . User('STAFF_ID') . "' AND SCHOOL_DATE='{$date}' AND PERIOD_ID='" . UserPeriod() . "' AND TABLE_NAME='" . $_REQUEST['table'] . "'")); if (count($completed_RET)) { $note = ErrorMessage(array('<IMG SRC="assets/check.png" class="alignImg" /> ' . _('You already have taken attendance today for this period.')), 'note'); } echo '<FORM action="Modules.php?modname=' . $_REQUEST['modname'] . '&table=' . $_REQUEST['table'] . '" method="POST">'; DrawHeader(PrepareDate($date, '_date', false, array('submit' => true)) . $date_note, SubmitButton(_('Save'))); //DrawHeader($note); echo $note; $LO_columns = array('FULL_NAME' => _('Student'), 'STUDENT_ID' => _('RosarioSIS ID'), 'GRADE_ID' => _('Grade Level')) + $columns; //$tabs[] = array('title'=>'Attendance','link'=>"Modules.php?modname=$_REQUEST[modname]&table=0&month_date=$_REQUEST[month_date]&day_date=$_REQUEST[day_date]&year_date=$_REQUEST[year_date]"); //$categories_RET = DBGet(DBQuery("SELECT ID,TITLE FROM ATTENDANCE_CODE_CATEGORIES WHERE SYEAR='".UserSyear()."' AND SCHOOL_ID='".UserSchool()."'")); foreach ($categories_RET as $category) { $tabs[] = array('title' => ParseMLField($category['TITLE']), 'link' => "Modules.php?modname={$_REQUEST['modname']}&table={$category['ID']}&month_date={$_REQUEST['month_date']}&day_date={$_REQUEST['day_date']}&year_date={$_REQUEST['year_date']}"); } echo '<BR />'; if (count($categories_RET)) { $LO_options = array('download' => false, 'search' => false, 'header' => WrapTabs($tabs, "Modules.php?modname={$_REQUEST['modname']}&table={$_REQUEST['table']}&month_date={$_REQUEST['month_date']}&day_date={$_REQUEST['day_date']}&year_date={$_REQUEST['year_date']}")); } else { $LO_options = array(); } ListOutput($stu_RET, $LO_columns, 'Student', 'Students', false, array(), $LO_options);
$profile_check = DBGet(DBQuery("SELECT PROFILE FROM staff WHERE STAFF_ID=" . UserID())); $profile_check = $profile_check[1]['PROFILE']; if ($profile_check == 'admin') { if (count($course_RET) != 0) { DrawHeader(PrepareDate($date, '_date', false, array('submit' => true), 'Y') . $date_note, SubmitButton('Save', '', 'class=btn_medium')); } else { echo '<div style="float:left;">'; DrawHeader(PrepareDate($date, '_date', false, array('submit' => true), 'Y') . $date_note); echo '</div>'; } } else { if (count($course_RET) != 0) { DrawHeader(PrepareDate($date, '_date', false, array('submit' => true), 'Y') . $date_note, SubmitButton('Save', '', 'class=btn_medium')); } else { echo '<div style="float:left;">'; DrawHeader(PrepareDate($date, '_date', false, array('submit' => true), 'Y') . $date_note); echo '</div>'; } } echo "<div style='padding-left:10px; padding-top:8px; float:left;'><input type='button' value='Go' class='btn_medium' onClick='document.location.href=\"Modules.php?modname=Users/TeacherPrograms.php?include=Attendance/TakeAttendance.php&period={$_REQUEST['period']}&include=Attendance/TakeAttendance.php&day_date=\"+this.form.day_date.value+\"&year_date=\"+this.form.year_date.value+\"&table=0&month_date=\"+this.form.month_date.value;' /></div><div style='clear:both;'></div>"; DrawHeader($note, $note1); $LO_columns = array('FULL_NAME' => 'Student', 'STUDENT_ID' => 'Student ID', 'GRADE_ID' => 'Grade') + $columns; $tabs[] = array('title' => 'Attendance', 'link' => "Modules.php?modname={$_REQUEST['modname']}&table=0&month_date={$_REQUEST['month_date']}&day_date={$_REQUEST['day_date']}&year_date={$_REQUEST['year_date']}"); $categories_RET = DBGet(DBQuery('SELECT ID,TITLE FROM attendance_code_categories WHERE SYEAR=\'' . UserSyear() . '\' AND SCHOOL_ID=\'' . UserSchool() . '\'')); foreach ($categories_RET as $category) { $tabs[] = array('title' => $category['TITLE'], 'link' => "Modules.php?modname={$_REQUEST['modname']}&table={$category['ID']}&month_date={$_REQUEST['month_date']}&day_date={$_REQUEST['day_date']}&year_date={$_REQUEST['year_date']}"); } echo '<BR>'; if (count($categories_RET)) { echo '<CENTER>' . WrapTabs($tabs, "Modules.php?modname={$_REQUEST['modname']}&table={$_REQUEST['table']}&month_date={$_REQUEST['month_date']}&day_date={$_REQUEST['day_date']}&year_date={$_REQUEST['year_date']}") . '</CENTER>'; $extra = array('download' => false, 'search' => false);
//modif Francois: Moodle integrator echo $moodleError; if ($_REQUEST['search_modfunc'] == 'list') { echo '<FORM action="Modules.php?modname=' . $_REQUEST['modname'] . '&modfunc=save" method="POST">'; DrawHeader('', SubmitButton(_('Drop Course for Selected Students'))); //modif Francois: css WPadmin echo '<BR /><TABLE class="postbox cellpadding-0 cellspacing-0" style="margin:0 auto;"><TR><TH><H3>' . _('Course to Drop') . '</H3></TH></TR><TR><TD><TABLE style="border-collapse:separate; border-spacing:4px;"><TR><TD> </TD><TD><DIV id=course_div>'; if ($_SESSION['MassDrops.php']) { $course_title = DBGet(DBQuery("SELECT TITLE FROM COURSES WHERE COURSE_ID='" . $_SESSION['MassDrops.php']['course_id'] . "'")); $course_title = $course_title[1]['TITLE']; $period_title = DBGet(DBQuery("SELECT TITLE FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='" . $_SESSION['MassDrops.php']['course_period_id'] . "'")); $period_title = $period_title[1]['TITLE']; echo "{$course_title}<BR />{$period_title}"; } echo '</DIV>' . '<A HREF="#" onclick=\'window.open("Modules.php?modname=' . $_REQUEST['modname'] . '&modfunc=choose_course","","scrollbars=yes,resizable=yes,width=800,height=400");\'>' . _('Choose a Course') . '</A></TD></TR>'; echo '<TR><TD>' . _('Drop Date') . '</TD><TD>' . PrepareDate(DBDate(), '') . '</TD></TR>'; echo '<TR><TD>' . _('Marking Period') . '</TD><TD>'; echo '<SELECT name=marking_period_id>'; $mp_RET = DBGet(DBQuery("SELECT MARKING_PERIOD_ID,TITLE," . db_case(array('MP', "'FY'", "'0'", "'SEM'", "'1'", "'QTR'", "'2'")) . " AS TBL FROM SCHOOL_MARKING_PERIODS WHERE (MP='FY' OR MP='SEM' OR MP='QTR') AND SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "' ORDER BY TBL,SORT_ORDER")); foreach ($mp_RET as $mp) { echo '<OPTION value="' . $mp['MARKING_PERIOD_ID'] . '">' . $mp['TITLE'] . '</OPTION>'; } echo '</SELECT>'; echo '</TD></TR>'; echo '</TABLE></TD></TR></TABLE><BR />'; } } if (empty($_REQUEST['modfunc'])) { if ($_REQUEST['search_modfunc'] != 'list') { unset($_SESSION['MassDrops.php']); }
} } else { $periods_RET = DBGet(DBQuery("SELECT sp.PERIOD_ID,sp.TITLE FROM SCHOOL_PERIODS sp,COURSE_PERIODS cp WHERE position(',0,' IN cp.DOES_ATTENDANCE)>0 AND sp.PERIOD_ID=cp.PERIOD_ID AND cp.COURSE_PERIOD_ID='" . UserCoursePeriod() . "'")); if ($periods_RET) { $period_select .= "<OPTION value=" . $periods_RET[1]['PERIOD_ID'] . ($_REQUEST['period_id'] == $periods_RET[1]['PERIOD_ID'] || !isset($_REQUEST['period_id']) ? ' SELECTED' : '') . ">" . $periods_RET[1]['TITLE'] . '</OPTION>'; if (!isset($_REQUEST['period_id'])) { $_REQUEST['period_id'] = $periods_RET['PERIOD_ID']; } } } } else { $period_select .= '<OPTION value="PERIOD"' . ($_REQUEST['period_id'] ? ' SELECTED' : '') . '>' . _('By Period') . '</OPTION>'; } $period_select .= '</SELECT>'; echo "<FORM action={$PHP_tmp_SELF} method=POST>"; DrawHeader(PrepareDate($start_date, '_start') . ' - ' . PrepareDate($end_date, '_end') . ' : ' . $period_select . ' : <INPUT type=submit value=' . _('Go') . '>'); } $cal_RET = DBGet(DBQuery("SELECT DISTINCT SCHOOL_DATE,'_'||to_char(SCHOOL_DATE,'yyyymmdd') AS SHORT_DATE FROM ATTENDANCE_CALENDAR WHERE SCHOOL_ID='" . UserSchool() . "' AND SCHOOL_DATE BETWEEN '{$start_date}' AND '{$end_date}' ORDER BY SCHOOL_DATE")); if (UserStudentID() || $_REQUEST['student_id'] || User('PROFILE') == 'parent') { // JUST TO SET USERSTUDENTID() Search('student_id'); if ($_REQUEST['period_id']) { $sql = "SELECT\n\t\t\t\tcp.TITLE as COURSE_PERIOD,sp.TITLE as PERIOD,cp.PERIOD_ID\n\t\t\tFROM\n\t\t\t\tSCHEDULE s,COURSES c,COURSE_PERIODS cp,SCHOOL_PERIODS sp\n\t\t\tWHERE\n\t\t\t\ts.COURSE_ID = c.COURSE_ID AND s.COURSE_ID = cp.COURSE_ID\n\t\t\t\tAND s.COURSE_PERIOD_ID = cp.COURSE_PERIOD_ID AND cp.PERIOD_ID = sp.PERIOD_ID AND position(',0,' IN cp.DOES_ATTENDANCE)>0\n\t\t\t\tAND s.SYEAR = c.SYEAR AND cp.MARKING_PERIOD_ID IN (" . GetAllMP('QTR', UserMP()) . ")\n\t\t\t\tAND s.STUDENT_ID='" . UserStudentID() . "' AND s.SYEAR='" . UserSyear() . "'\n\t\t\t\tAND ('" . DBDate() . "' BETWEEN s.START_DATE AND s.END_DATE OR s.END_DATE IS NULL)\n\t\t\tORDER BY sp.SORT_ORDER\n\t\t\t"; $schedule_RET = DBGet(DBQuery($sql)); $sql = "SELECT ap.SCHOOL_DATE,ap.PERIOD_ID,ac.SHORT_NAME,ac.STATE_CODE,ac.DEFAULT_CODE FROM ATTENDANCE_PERIOD ap,ATTENDANCE_CODES ac WHERE ap.SCHOOL_DATE BETWEEN '" . $start_date . "' AND '" . $end_date . "' AND ap.ATTENDANCE_CODE=ac.ID AND ap.STUDENT_ID='" . UserStudentID() . "'"; $attendance_RET = DBGet(DBQuery($sql), array(), array('SCHOOL_DATE', 'PERIOD_ID')); } else { $schedule_RET[1] = array('COURSE_PERIOD' => 'Daily Attendance', 'PERIOD_ID' => '0'); $attendance_RET = DBGet(DBQuery("SELECT ad.SCHOOL_DATE,'0' AS PERIOD_ID,ad.STATE_VALUE AS STATE_CODE," . db_case(array('ad.STATE_VALUE', "'0.0'", "'A'", "'1.0'", "'P'", "'H'")) . " AS SHORT_NAME FROM ATTENDANCE_DAY ad WHERE ad.SCHOOL_DATE BETWEEN '" . $start_date . "' AND '" . $end_date . "' AND ad.STUDENT_ID='" . UserStudentID() . "'"), array(), array('SCHOOL_DATE', 'PERIOD_ID')); } $i = 0;
# This program is released under the terms of the GNU General Public License as # published by the Free Software Foundation, version 2 of the License. # See license.txt. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # #*************************************************************************************** include '../../Redirect_modules.php'; DrawBC("" . _('Attendance') . " > " . ProgramTitle()); $message = '<TABLE><TR><TD colspan=7 align=center>' . _('From') . ' ' . PrepareDate(DBDate(), '_min') . ' ' . _('to') . ' ' . PrepareDate(DBDate(), '_max') . '</TD></TR></TABLE>'; if (Prompt_Home(_('Confirm'), _('When do you want to recalculate the daily attendance?'), $message)) { $current_RET = DBGet(DBQuery('SELECT DISTINCT DATE_FORMAT(SCHOOL_DATE,\'%d-%m-%Y\') as SCHOOL_DATE FROM attendance_calendar WHERE SCHOOL_ID=\'' . UserSchool() . '\' AND SYEAR=\'' . UserSyear() . '\''), array(), array('SCHOOL_DATE')); $students_RET = GetStuList(); $begin = mktime(0, 0, 0, MonthNWSwitch($_REQUEST['month_min'], 'to_num'), $_REQUEST['day_min'] * 1, $_REQUEST['year_min']) + 43200; $end = mktime(0, 0, 0, MonthNWSwitch($_REQUEST['month_max'], 'to_num'), $_REQUEST['day_max'] * 1, $_REQUEST['year_max']) + 43200; for ($i = $begin; $i <= $end; $i += 86400) { if ($current_RET[strtoupper(date('d-M-y', $i))]) { foreach ($students_RET as $student) { UpdateAttendanceDaily($student['STUDENT_ID'], date('d-M-y', $i)); } } } unset($_REQUEST['modfunc']); DrawHeader('<table><tr><td><IMG SRC=assets/check.gif></td><td>' . _('The Daily Attendance for that timeframe has been recalculated.') . '</td></tr></table>'); }
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'); echo "<FORM action=Modules.php?modname={$_REQUEST['modname']}&list_by_day={$_REQUEST['list_by_day']} method=POST>"; $advanced_link = " <A HREF=Modules.php?modname={$_REQUEST['modname']}&modfunc=search&list_by_day={$_REQUEST['list_by_day']}&day_start={$_REQUEST['day_start']}&day_end={$_REQUEST['day_end']}&month_start={$_REQUEST['month_start']}&month_end={$_REQUEST['month_end']}&year_start={$_REQUEST['year_start']}&year_end={$_REQUEST['year_end']}>" . _('Advanced') . "</A>"; DrawHeaderHome('<table><tr><td>' . PrepareDate($start_date, '_start') . '</td><td> - </td><td>' . PrepareDate($end_date, '_end') . '</td><td> - </td><td>' . $advanced_link, ' : <INPUT type=submit value=' . _('Go') . ' class=btn_medium></td></tr></table>'); echo '</FORM>'; if ($_REQUEST['list_by_day'] == 'true') { $cal_days = 1; $atten_possible = DBGet(DBQuery('SELECT DISTINCT ad.SCHOOL_DATE, ssm.GRADE_ID,ssm.CALENDAR_ID,ap.STUDENT_ID AS ST_ID FROM attendance_day ad,student_enrollment ssm,students s, attendance_period ap WHERE s.STUDENT_ID=ssm.STUDENT_ID AND ad.STUDENT_ID=ssm.STUDENT_ID AND ap.STUDENT_ID=ad.STUDENT_ID AND ssm.SYEAR=\'' . UserSyear() . '\' AND ad.SYEAR=ssm.SYEAR AND ad.SCHOOL_DATE BETWEEN \'' . date('Y-m-d', strtotime($start_date)) . '\' AND \'' . date('Y-m-d', strtotime($end_date)) . '\' AND (ad.SCHOOL_DATE BETWEEN ssm.START_DATE AND ssm.END_DATE OR (ssm.END_DATE IS NULL AND ssm.START_DATE <= ad.SCHOOL_DATE)) ' . $extra['WHERE'] . ' GROUP BY ad.SCHOOL_DATE,ssm.GRADE_ID'), array(''), array('SCHOOL_DATE', 'GRADE_ID')); $student_days_absent = DBGet(DBQuery('SELECT ad.SCHOOL_DATE,ssm.GRADE_ID,COALESCE(sum(ad.STATE_VALUE-1)*-1,0) AS STATE_VALUE,ad.MINUTES_PRESENT AS MINUTES_PRESENT FROM attendance_day ad,student_enrollment ssm,students s WHERE s.STUDENT_ID=ssm.STUDENT_ID AND ad.STUDENT_ID=ssm.STUDENT_ID AND ssm.SYEAR=\'' . UserSyear() . '\' AND ad.SYEAR=ssm.SYEAR AND ad.SCHOOL_DATE BETWEEN \'' . date('Y-m-d', strtotime($start_date)) . '\' AND \'' . date('Y-m-d', strtotime($end_date)) . '\' AND (ad.SCHOOL_DATE BETWEEN ssm.START_DATE AND ssm.END_DATE OR (ssm.END_DATE IS NULL AND ssm.START_DATE <= ad.SCHOOL_DATE)) ' . $extra['WHERE'] . ' GROUP BY ad.SCHOOL_DATE,ssm.GRADE_ID'), array(''), array('SCHOOL_DATE', 'GRADE_ID')); $student_days_present = DBGet(DBQuery('SELECT COUNT(*) AS PRESENT_BY_GREAD,SE.GRADE_ID FROM `attendance_period` AP,student_enrollment SE WHERE AP.ATTENDANCE_CODE IN (SELECT ID FROM attendance_codes WHERE STATE_CODE!=\'A\') AND SE.SCHOOL_ID=\'' . UserSchool() . '\' AND AP.SCHOOL_DATE BETWEEN \'' . date('Y-m-d', strtotime($start_date)) . '\' AND \'' . date('Y-m-d', strtotime($end_date)) . '\' AND AP.STUDENT_ID=SE.STUDENT_ID GROUP BY SE.GRADE_ID')); $student_days_possible = DBGet(DBQuery('SELECT ac.SCHOOL_DATE,ssm.GRADE_ID,\'\' AS DAYS_POSSIBLE,count(*) AS ATTENDANCE_POSSIBLE,count(*) AS STUDENTS,\'\' AS PRESENT,\'\' AS ABSENT,\'\' AS ADA,\'\' AS AVERAGE_ATTENDANCE,\'\' AS AVERAGE_ABSENT FROM student_enrollment ssm,attendance_calendar ac,students s WHERE s.STUDENT_ID=ssm.STUDENT_ID AND ssm.SYEAR=\'' . UserSyear() . '\' AND ac.SYEAR=ssm.SYEAR AND ssm.SCHOOL_ID=ac.SCHOOL_ID AND ssm.SCHOOL_ID=\'' . UserSchool() . '\' AND ssm.SCHOOL_ID=ac.SCHOOL_ID AND (ac.SCHOOL_DATE BETWEEN ssm.START_DATE AND ssm.END_DATE OR (ssm.END_DATE IS NULL AND ssm.START_DATE <= ac.SCHOOL_DATE)) AND ac.SCHOOL_DATE BETWEEN \'' . date('Y-m-d', strtotime($start_date)) . '\' AND \'' . date('Y-m-d', strtotime($end_date)) . '\' ' . $extra['WHERE'] . ' GROUP BY ac.SCHOOL_DATE,ssm.GRADE_ID'), array('SCHOOL_DATE' => 'ProperDate', 'GRADE_ID' => 'GetGrade', 'ATTENDANCE_POSSIBLE' => '_makeByDay', 'STUDENTS' => '_makeByDay', 'PRESENT' => '_makeByDay', 'ABSENT' => '_makeByDay', 'ADA' => '_makeByDay', 'AVERAGE_ATTENDANCE' => '_makeByDay', 'AVERAGE_ABSENT' => '_makeByDay', 'DAYS_POSSIBLE' => '_makeByDay')); $columns = array('SCHOOL_DATE' => '' . _('Date') . '', 'GRADE_ID' => '' . _('Grade') . '', 'STUDENTS' => '' . _('Students') . '', 'DAYS_POSSIBLE' => '' . _('Days Possible') . '', 'PRESENT' => '' . _('Present') . '', 'ABSENT' => '' . _('Absent') . '', 'ADA' => '' . _('ADA') . '', 'AVERAGE_ATTENDANCE' => '' . _('Average Attendance') . '', 'AVERAGE_ABSENT' => '' . _('Average Absent') . ''); ListOutput($student_days_possible, $columns, '', '', $link); } else { $cal_days = DBGet(DBQuery('SELECT count(*) AS COUNT,CALENDAR_ID FROM attendance_calendar WHERE ' . ($_REQUEST['_search_all_schools'] != 'Y' ? 'SCHOOL_ID=\'' . UserSchool() . '\' AND ' : '') . ' SYEAR=\'' . UserSyear() . '\' AND SCHOOL_DATE BETWEEN \'' . $start_date . '\' AND \'' . $end_date . '\' GROUP BY CALENDAR_ID'), array(), array('CALENDAR_ID')); $calendars_RET = DBGet(DBQuery('SELECT CALENDAR_ID,TITLE FROM attendance_calendars WHERE SYEAR=\'' . UserSyear() . '\' ' . ($_REQUEST['_search_all_schools'] != 'Y' ? ' AND SCHOOL_ID=\'' . UserSchool() . '\'' : '')), array(), array('CALENDAR_ID')); $extra['WHERE'] .= ' GROUP BY ssm.GRADE_ID,ssm.CALENDAR_ID'; $student_days_absent = DBGet(DBQuery('SELECT ssm.GRADE_ID,ssm.CALENDAR_ID,COUNT(ad.STATE_VALUE) AS STATE_VALUE FROM attendance_day ad,student_enrollment ssm,students s ' . $extra['FROM'] . ' WHERE s.STUDENT_ID=ssm.STUDENT_ID AND ad.STATE_VALUE=0.0 AND ad.STUDENT_ID=ssm.STUDENT_ID AND ssm.SYEAR=\'' . UserSyear() . '\' AND ad.SYEAR=ssm.SYEAR AND ad.SCHOOL_DATE BETWEEN \'' . $start_date . '\' AND \'' . $end_date . '\' AND (ad.SCHOOL_DATE BETWEEN ssm.START_DATE AND ssm.END_DATE OR (ssm.END_DATE IS NULL AND ssm.START_DATE <= ad.SCHOOL_DATE)) ' . $extra['WHERE']), array(''), array('GRADE_ID', 'CALENDAR_ID')); $student_not_taken = DBGet(DBQuery('SELECT ssm.GRADE_ID,ac.CALENDAR_ID,COUNT(*) AS NOT_TAKEN FROM attendance_calendar ac ' . $extra['FROM'] . ' INNER JOIN student_enrollment ssm ON ssm.SYEAR=ac.SYEAR AND ssm.SCHOOL_ID=ac.SCHOOL_ID AND ssm.CALENDAR_ID=ac.CALENDAR_ID AND ac.SCHOOL_DATE BETWEEN ssm.START_DATE AND COALESCE(ssm.END_DATE,CURDATE()) LEFT JOIN attendance_day ad ON ad.SYEAR=ac.SYEAR AND ad.STUDENT_ID=ssm.STUDENT_ID AND ad.SCHOOL_DATE=ac.SCHOOL_DATE WHERE ssm.SYEAR=\'' . UserSyear() . '\' AND ac.SCHOOL_DATE BETWEEN \'' . $start_date . '\' AND \'' . $end_date . '\' AND ad.STUDENT_ID IS NULL ' . $extra['WHERE']), array(''), array('GRADE_ID', 'CALENDAR_ID'));
$_REQUEST['table'] = '0'; } $category_select = "<SELECT name=table onChange='this.form.submit();'><OPTION value='0'" . ($_REQUEST['table'] == '0' ? ' SELECTED' : '') . ">" . _('Attendance') . "</OPTION>"; foreach ($categories_RET as $category) { $category_select .= "<OPTION value={$category['ID']}" . ($_REQUEST['table'] == $category['ID'] ? ' SELECTED' : '') . ">" . $category['TITLE'] . "</OPTION>"; } $category_select .= "</SELECT>"; $QI = DBQuery("SELECT sp.PERIOD_ID,sp.TITLE FROM SCHOOL_PERIODS sp WHERE sp.SCHOOL_ID='" . UserSchool() . "' AND sp.SYEAR='" . UserSyear() . "' AND EXISTS (SELECT '' FROM COURSE_PERIODS WHERE SYEAR=sp.SYEAR AND PERIOD_ID=sp.PERIOD_ID AND position(',{$_REQUEST['table']},' IN DOES_ATTENDANCE)>0) ORDER BY sp.SORT_ORDER"); $periods_RET = DBGet($QI, array(), array('PERIOD_ID')); $period_select = "<SELECT name=period onChange='this.form.submit();'><OPTION value=''>" > _('All') . "</OPTION>"; foreach ($periods_RET as $id => $period) { $period_select .= "<OPTION value={$id}" . ($_REQUEST['period'] == $id ? ' SELECTED' : '') . ">" . $period[1]['TITLE'] . "</OPTION>"; } $period_select .= "</SELECT>"; echo "<FORM action=Modules.php?modname={$_REQUEST['modname']} method=POST>"; DrawHeader(PrepareDate($date, '_date', false, array('submit' => true)) . ' - ' . $period_select, $category_select); echo '</FORM>'; $daysWeek = _('SuMoTuWeThFrSa'); /// Days of the week $sql = "SELECT s.STAFF_ID,s.LAST_NAME||', '||s.FIRST_NAME AS FULL_NAME,sp.TITLE,cp.PERIOD_ID,cp.TITLE AS COURSE_TITLE,\n\t\t(SELECT 'Y' FROM ATTENDANCE_COMPLETED ac WHERE ac.STAFF_ID=cp.TEACHER_ID AND ac.SCHOOL_DATE=acc.SCHOOL_DATE AND ac.PERIOD_ID=sp.PERIOD_ID AND TABLE_NAME='{$_REQUEST['table']}') AS COMPLETED\n\t\tFROM STAFF s,COURSE_PERIODS cp,SCHOOL_PERIODS sp,ATTENDANCE_CALENDAR acc\n\t\tWHERE\n\t\t\tsp.PERIOD_ID = cp.PERIOD_ID AND position(',{$_REQUEST['table']},' IN cp.DOES_ATTENDANCE)>0\n\t\t\tAND cp.TEACHER_ID=s.STAFF_ID AND cp.MARKING_PERIOD_ID IN (" . GetAllMP('QTR', GetCurrentMP('QTR', $date)) . ")\n\t\t\tAND cp.SYEAR='" . UserSyear() . "' AND cp.SCHOOL_ID='" . UserSchool() . "' AND s.PROFILE='teacher'\n\t\t\t" . ($_REQUEST['period'] ? " AND cp.PERIOD_ID='{$_REQUEST['period']}'" : '') . " AND acc.CALENDAR_ID=cp.CALENDAR_ID AND acc.SCHOOL_DATE='{$date}'\n\t\t\tAND acc.SYEAR='" . UserSyear() . "' AND (acc.MINUTES IS NOT NULL AND acc.MINUTES>0)\n\t\t\tAND (sp.BLOCK IS NULL AND position(substring('{$daysWeek}' FROM cast(extract(DOW FROM acc.SCHOOL_DATE) AS INT)*2+1 FOR 2) IN cp.DAYS)>0\n\t\t\tOR sp.BLOCK IS NOT NULL AND acc.BLOCK IS NOT NULL AND sp.BLOCK=acc.BLOCK)\n\t\tORDER BY FULL_NAME"; $RET = DBGet(DBQuery($sql), array(), array('STAFF_ID')); if (!$_REQUEST['period']) { foreach ($RET as $staff_id => $periods) { $i++; $staff_RET[$i]['FULL_NAME'] = $periods[1]['FULL_NAME']; foreach ($periods as $period) { if (!$_REQUEST['_CENTRE_PDF']) { $staff_RET[$i][$period['PERIOD_ID']] .= button($period['COMPLETED'] == 'Y' ? 'check' : 'x', '', '# onMouseOver=\'stm(["Course Title","' . $period['COURSE_TITLE'] . '"],["white","#006699","","","",,"black","#e8e8ff","","","",,,,2,"#006699",2,,,,,"",,,,]);\' onMouseOut=\'htm()\'') . ' '; } else { $staff_RET[$i][$period['PERIOD_ID']] = ($period['COMPLETED'] == 'Y' ? _('Yes') : _('No')) . " "; }
$description_select .= '<OPTION value="' . $description['DESCRIPTION'] . '">' . $description['DESCRIPTION'] . '</OPTION>'; } $description_select .= '</SELECT>'; } } $calendar_RET = DBGet(DBQuery("SELECT to_char(SCHOOL_DATE,'dd-MON-YY') as SCHOOL_DATE FROM ATTENDANCE_CALENDAR WHERE SCHOOL_DATE BETWEEN '" . date('d-M-y', $time) . "' AND '" . date('d-M-y', $time_last) . "' AND SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' AND CALENDAR_ID='{$calendar_id}' AND MINUTES>0 ORDER BY SCHOOL_DATE"), array(), array('SCHOOL_DATE')); $events_RET = DBGet(DBQuery("SELECT ID,TITLE,DESCRIPTION,to_char(SCHOOL_DATE,'dd-MON-yy') AS SCHOOL_DATE FROM CALENDAR_EVENTS WHERE SCHOOL_DATE BETWEEN '" . date('d-M-y', $time) . "' AND '" . date('d-M-y', $time_last) . "' AND SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' AND TITLE='" . $menus_RET[$_REQUEST['menu_id']][1]['TITLE'] . "' ORDER BY SCHOOL_DATE"), array('DESCRIPTION' => 'makeDescriptionInput', 'SCHOOL_DATE' => 'ProperDate')); $events_RET[0] = array(); // make sure indexing from 1 foreach ($calendar_RET as $school_date => $value) { $events_RET[] = array('ID' => 'new', 'SCHOOL_DATE' => ProperDate($school_date), 'DESCRIPTION' => TextInput('', 'food_service[' . $school_date . '][text]', '', 'size=35') . ($description_select ? '<SELECT name="food_service[' . $school_date . '][select]">' . $description_select : '')); } unset($events_RET[0]); $LO_columns = array('ID' => _('ID'), 'SCHOOL_DATE' => _('Date'), 'DESCRIPTION' => _('Description')); echo '<FORM action="Modules.php?modname=' . $_REQUEST['modname'] . '&menu_id=' . $_REQUEST['menu_id'] . '&month=' . $_REQUEST['month'] . '&year=' . $_REQUEST['year'] . '" METHOD="POST">'; DrawHeader(PrepareDate(mb_strtoupper(date("d-M-y", $time)), '', false, array('M' => 1, 'Y' => 1, 'submit' => true)), SubmitButton(_('Save'), 'submit[save]') . '<INPUT type="submit" value="' . _('Generate Menu') . '" name="submit[print]" />'); echo '<BR />'; $tabs = array(); foreach ($menus_RET as $id => $meal) { $tabs[] = array('title' => $meal[1]['TITLE'], 'link' => "Modules.php?modname={$_REQUEST['modname']}&menu_id={$id}&month={$_REQUEST['month']}&year={$_REQUEST['year']}"); } $extra = array('save' => false, 'search' => false, 'header' => WrapTabs($tabs, "Modules.php?modname={$_REQUEST['modname']}&menu_id={$_REQUEST['menu_id']}&month={$_REQUEST['month']}&year={$_REQUEST['year']}")); $singular = sprintf(_('%s Day'), $menus_RET[$_REQUEST['menu_id']][1]['TITLE']); $plural = sprintf(_('%s Days'), $menus_RET[$_REQUEST['menu_id']][1]['TITLE']); //modif Francois: add translation ListOutput($events_RET, $LO_columns, $singular, $plural, array(), array(), $extra); echo '<span class="center">' . SubmitButton(_('Save'), 'submit[save]') . '</span>'; echo '</FORM>'; } function makeDescriptionInput($value, $name) {
} echo "<FORM action=Modules.php?modname={$_REQUEST['modname']} method=POST>"; DrawHeader(ProgramTitle(), '<INPUT type=submit value=' . _('Update') . '>'); if ($REQ_codes) { foreach ($REQ_codes as $code) { $code_pulldowns .= _makeCodeSearch($code); } } elseif ($abs) { $code_pulldowns = _makeCodeSearch('A'); } else { $code_pulldowns = _makeCodeSearch(); } if (UserStudentID()) { $current_student_link = "<A HREF=Modules.php?modname={$_REQUEST['modname']}&modfunc=student&month_date={$_REQUEST['month_date']}&day_date={$_REQUEST['day_date']}&year_date={$_REQUEST['year_date']}&student_id=" . UserStudentID() . ">Current Student</A></TD><TD>"; } DrawHeader(PrepareDate($date, '_date'), '<TABLE><TR><TD>' . $current_student_link . button('add', '', "# onclick='javascript:addHTML(\"" . str_replace('"', '\\"', _makeCodeSearch()) . "\",\"code_pulldowns\"); return false;'") . '</TD><TD><DIV id=code_pulldowns>' . $code_pulldowns . '</DIV></TD></TR></TABLE>'); $_REQUEST['search_modfunc'] = 'list'; Search('student_id', $extra); echo "</FORM>"; } function _makePhone($value, $column) { global $THIS_RET, $contacts_RET; if (count($contacts_RET[$THIS_RET['STUDENT_ID']])) { foreach ($contacts_RET[$THIS_RET['STUDENT_ID']] as $person) { if ($person[1]['FIRST_NAME'] || $person[1]['LAST_NAME']) { $tipmessage .= '<B>' . $person[1]['STUDENT_RELATION'] . ': ' . $person[1]['FIRST_NAME'] . ' ' . $person[1]['LAST_NAME'] . '</B><BR>'; } $tipmessage .= '<TABLE>'; if ($person[1]['PHONE']) { $tipmessage .= '<TR><TD align=right><font color=gray size=1 face=Verdana,Arial,Helvetica>' . _('Home Phone') . '</font> </TD><TD><font size=1 face=Verdana,Arial,Helvetica>' . $person[1]['PHONE'] . '</font></TD></TR>';
function Widgets($item, &$myextra = null) { global $extra, $_ROSARIO, $RosarioModules; if (isset($myextra)) { $extra =& $myextra; } if (!is_array($_ROSARIO['Widgets'])) { $_ROSARIO['Widgets'] = array(); } if (!is_array($extra['functions'])) { $extra['functions'] = array(); } if ((User('PROFILE') == 'admin' || User('PROFILE') == 'teacher') && !$_ROSARIO['Widgets'][$item]) { switch ($item) { case 'all': $extra['search'] .= '<TR><TD colspan="2"><TABLE class="width-100p cellpadding-2" style="border-collapse:separate; border-spacing: 2px">'; if ($RosarioModules['Students'] && (!$_ROSARIO['Widgets']['calendar'] || !$_ROSARIO['Widgets']['next_year'] || !$_ROSARIO['Widgets']['enrolled'] || !$_ROSARIO['Widgets']['rolled'])) { //modif Francois: css WPadmin $extra['search'] .= '<TR><TD colspan="2"> <A onclick="switchMenu(\'enrollment_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="enrollment_table_arrow" height="12"> <B>' . _('Enrollment') . '</B></A><BR /><TABLE id="enrollment_table" style="display:none;" class="widefat width-100p cellspacing-0">'; Widgets('calendar', $extra); Widgets('next_year', $extra); Widgets('enrolled', $extra); Widgets('rolled', $extra); $extra['search'] .= '</TABLE></TD></TR>'; } if ($RosarioModules['Scheduling'] && (!$_ROSARIO['Widgets']['course'] || !$_ROSARIO['Widgets']['request']) && User('PROFILE') == 'admin') { $extra['search'] .= '<TR><TD colspan="2"> <A onclick="switchMenu(\'scheduling_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="scheduling_table_arrow" height="12"> <B>' . _('Scheduling') . '</B></A><BR /><TABLE id="scheduling_table" style="display:none;" class="widefat width-100p cellspacing-0">'; Widgets('course', $extra); //Widgets('request',$extra); $extra['search'] .= '</TABLE></TD></TR>'; } if ($RosarioModules['Attendance'] && !$_ROSARIO['Widgets']['absences']) { $extra['search'] .= '<TR><TD colspan="2"> <A onclick="switchMenu(\'absences_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="absences_table_arrow" height="12"> <B>' . _('Attendance') . '</B></A><BR /><TABLE id="absences_table" style="display:none;" class="widefat width-100p cellspacing-0">'; Widgets('absences', $extra); $extra['search'] .= '</TABLE></TD></TR>'; } if ($RosarioModules['Grades'] && (!$_ROSARIO['Widgets']['gpa'] || !$_ROSARIO['Widgets']['class_rank'] || !$_ROSARIO['Widgets']['letter_grade'])) { $extra['search'] .= '<TR><TD colspan="2"> <A onclick="switchMenu(\'grades_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="grades_table_arrow" height="12"> <B>' . _('Grades') . '</B></A><BR /><TABLE style="padding:5px;" id="grades_table" style="display:none;" class="widefat width-100p cellspacing-0">'; Widgets('gpa', $extra); Widgets('class_rank', $extra); Widgets('letter_grade', $extra); $extra['search'] .= '</TABLE></TD></TR>'; } if ($RosarioModules['Eligibility'] && (!$_ROSARIO['Widgets']['eligibility'] || !$_ROSARIO['Widgets']['activity'])) { $extra['search'] .= '<TR><TD colspan="2"> <A onclick="switchMenu(\'eligibility_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="eligibility_table_arrow" height="12"> <B>' . _('Eligibility') . '</B></A><BR /><TABLE id="eligibility_table" style="display:none;" class="widefat width-100p cellspacing-0">'; Widgets('eligibility', $extra); Widgets('activity', $extra); $extra['search'] .= '</TABLE></TD></TR>'; } if ($RosarioModules['Food_Service'] && (!$_ROSARIO['Widgets']['fsa_balance'] || !$_ROSARIO['Widgets']['fsa_discount'] || !$_ROSARIO['Widgets']['fsa_status'] || !$_ROSARIO['Widgets']['fsa_barcode'])) { $extra['search'] .= '<TR><TD colspan="2"> <A onclick="switchMenu(\'food_service_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="food_service_table_arrow" height="12"> <B>' . _('Food Service') . '</B></A><BR /><TABLE id="food_service_table" style="display:none;" class="widefat width-100p cellspacing-0">'; Widgets('fsa_balance', $extra); Widgets('fsa_discount', $extra); Widgets('fsa_status', $extra); Widgets('fsa_barcode', $extra); $extra['search'] .= '</TABLE></TD></TR>'; } if ($RosarioModules['Discipline'] && !$_ROSARIO['Widgets']['discipline']) { $extra['search'] .= '<TR><TD colspan="2"> <A onclick="switchMenu(\'discipline_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="discipline_table_arrow" height="12"> <B>' . _('Discipline') . '</B></A><BR /><TABLE id="discipline_table" style="display:none;" class="widefat width-100p cellspacing-0">'; Widgets('discipline', $extra); $extra['search'] .= '</TABLE></TD></TR>'; } if ($RosarioModules['Student_Billing'] && !$_ROSARIO['Widgets']['balance']) { $extra['search'] .= '<TR><TD colspan="2"> <A onclick="switchMenu(\'billing_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="billing_table_arrow" height="12"> <B>' . _('Student Billing') . '</B></A><BR /><TABLE id="billing_table" style="display:none;" class="widefat width-100p cellspacing-0">'; Widgets('balance', $extra); $extra['search'] .= '</TABLE></TD></TR>'; } $extra['search'] .= '</TABLE></TD></TR>'; break; case 'user': $widgets_RET = DBGet(DBQuery("SELECT TITLE FROM PROGRAM_USER_CONFIG WHERE USER_ID='" . User('STAFF_ID') . "' AND PROGRAM='WidgetsSearch'" . (count($_ROSARIO['Widgets']) ? " AND TITLE NOT IN ('" . implode("','", array_keys($_ROSARIO['Widgets'])) . "')" : ''))); foreach ($widgets_RET as $widget) { Widgets($widget['TITLE'], $extra); } break; case 'course': if ($RosarioModules['Scheduling'] && User('PROFILE') == 'admin') { if ($_REQUEST['w_course_period_id']) { if ($_REQUEST['w_course_period_id_which'] == 'course') { $course = DBGet(DBQuery("SELECT c.TITLE AS COURSE_TITLE,cp.TITLE,cp.COURSE_ID FROM COURSE_PERIODS cp,COURSES c WHERE c.COURSE_ID=cp.COURSE_ID AND cp.COURSE_PERIOD_ID='" . $_REQUEST['w_course_period_id'] . "'")); $extra['FROM'] .= ",SCHEDULE w_ss"; $extra['WHERE'] .= " AND w_ss.STUDENT_ID=s.STUDENT_ID AND w_ss.SYEAR=ssm.SYEAR AND w_ss.SCHOOL_ID=ssm.SCHOOL_ID AND w_ss.COURSE_ID='" . $course[1]['COURSE_ID'] . "' AND ('" . DBDate() . "' BETWEEN w_ss.START_DATE AND w_ss.END_DATE OR w_ss.END_DATE IS NULL)"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Course')) . ' </b>' . $course[1]['COURSE_TITLE'] . '<BR />'; } } else { $extra['FROM'] .= ",SCHEDULE w_ss"; $extra['WHERE'] .= " AND w_ss.STUDENT_ID=s.STUDENT_ID AND w_ss.SYEAR=ssm.SYEAR AND w_ss.SCHOOL_ID=ssm.SCHOOL_ID AND w_ss.COURSE_PERIOD_ID='" . $_REQUEST['w_course_period_id'] . "' AND ('" . DBDate() . "' BETWEEN w_ss.START_DATE AND w_ss.END_DATE OR w_ss.END_DATE IS NULL)"; $course = DBGet(DBQuery("SELECT c.TITLE AS COURSE_TITLE,cp.TITLE,cp.COURSE_ID FROM COURSE_PERIODS cp,COURSES c WHERE c.COURSE_ID=cp.COURSE_ID AND cp.COURSE_PERIOD_ID='" . $_REQUEST['w_course_period_id'] . "'")); if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Course Period')) . ' </b>' . $course[1]['COURSE_TITLE'] . ': ' . $course[1]['TITLE'] . '<BR />'; } } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Course') . "</TD><TD><DIV id=course_div></DIV> <A HREF=# onclick='window.open(\"Modules.php?modname=misc/ChooseCourse.php\",\"\",\"scrollbars=yes,resizable=yes,width=800,height=400\");'>" . _('Choose') . '</A></TD></TR>'; } break; case 'request': if ($RosarioModules['Scheduling'] && User('PROFILE') == 'admin') { // PART OF THIS IS DUPLICATED IN PrintRequests.php if ($_REQUEST['request_course_id']) { $course = DBGet(DBQuery("SELECT c.TITLE FROM COURSES c WHERE c.COURSE_ID='" . $_REQUEST['request_course_id'] . "'")); if (!$_REQUEST['not_request_course']) { $extra['FROM'] .= ",SCHEDULE_REQUESTS sr"; $extra['WHERE'] .= " AND sr.STUDENT_ID=s.STUDENT_ID AND sr.SYEAR=ssm.SYEAR AND sr.SCHOOL_ID=ssm.SCHOOL_ID AND sr.COURSE_ID='" . $_REQUEST['request_course_id'] . "' "; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Request')) . ' </b>' . $course[1]['TITLE'] . '<BR />'; } } else { $extra['WHERE'] .= " AND NOT EXISTS (SELECT '' FROM SCHEDULE_REQUESTS sr WHERE sr.STUDENT_ID=ssm.STUDENT_ID AND sr.SYEAR=ssm.SYEAR AND sr.COURSE_ID='" . $_REQUEST['request_course_id'] . "' ) "; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Missing Request')) . ' </b>' . $course[1]['TITLE'] . '<BR />'; } } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px">' . _('Request') . '</TD><TD><DIV id="request_div"></DIV> <A HREF="#" onclick=\'window.open("Modules.php?modname=misc/ChooseRequest.php","","scrollbars=yes,resizable=yes,width=800,height=400");\'>' . _('Choose') . '</A></TD></TR>'; } break; case 'absences': if ($RosarioModules['Attendance']) { if (is_numeric($_REQUEST['absences_low']) && is_numeric($_REQUEST['absences_high'])) { if ($_REQUEST['absences_low'] > $_REQUEST['absences_high']) { $temp = $_REQUEST['absences_high']; $_REQUEST['absences_high'] = $_REQUEST['absences_low']; $_REQUEST['absences_low'] = $temp; } if ($_REQUEST['absences_low'] == $_REQUEST['absences_high']) { $extra['WHERE'] .= " AND (SELECT sum(1-STATE_VALUE) AS STATE_VALUE FROM ATTENDANCE_DAY ad WHERE ssm.STUDENT_ID=ad.STUDENT_ID AND ad.SYEAR=ssm.SYEAR AND ad.MARKING_PERIOD_ID IN (" . GetChildrenMP($_REQUEST['absences_term'], UserMP()) . ")) = '{$_REQUEST['absences_low']}'"; } else { $extra['WHERE'] .= " AND (SELECT sum(1-STATE_VALUE) AS STATE_VALUE FROM ATTENDANCE_DAY ad WHERE ssm.STUDENT_ID=ad.STUDENT_ID AND ad.SYEAR=ssm.SYEAR AND ad.MARKING_PERIOD_ID IN (" . GetChildrenMP($_REQUEST['absences_term'], UserMP()) . ")) BETWEEN '{$_REQUEST['absences_low']}' AND '{$_REQUEST['absences_high']}'"; } switch ($_REQUEST['absences_term']) { case 'FY': $term = _('this school year to date'); break; case 'SEM': $term = _('this semester to date'); break; case 'QTR': $term = _('this marking period to date'); break; } if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Days Absent') . ' ' . $term . ' ' . _('Between') . ' </b>' . $_REQUEST['absences_low'] . ' & ' . $_REQUEST['absences_high'] . '<BR />'; } } //modif Francois: add <label> on radio $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Days Absent') . '<BR /><label><INPUT type="radio" name="absences_term" value="FY" checked /> ' . _('YTD') . '</label> <label><INPUT type="radio" name="absences_term" value="SEM"> ' . GetMP(GetParentMP('SEM', UserMP()), 'SHORT_NAME') . '</label> <label><INPUT type="radio" name="absences_term" value="QTR"> ' . GetMP(UserMP(), 'SHORT_NAME') . '</label></TD><TD>' . _('Between') . ' <INPUT type="text" name="absences_low" size="3" maxlength="5"> & <INPUT type="text" name="absences_high" size="3" maxlength="5"></TD></TR>'; } break; case 'gpa': if ($RosarioModules['Grades']) { if (is_numeric($_REQUEST['gpa_low']) && is_numeric($_REQUEST['gpa_high'])) { if ($_REQUEST['gpa_low'] > $_REQUEST['gpa_high']) { $temp = $_REQUEST['gpa_high']; $_REQUEST['gpa_high'] = $_REQUEST['gpa_low']; $_REQUEST['gpa_low'] = $temp; } if ($_REQUEST['list_gpa']) { //modif Francois: remove STUDENT_GPA_CALCULATED table /*$extra['SELECT'] .= ',sgc.WEIGHTED_GPA,sgc.UNWEIGHTED_GPA'; $extra['columns_after']['WEIGHTED_GPA'] = _('Weighted GPA'); $extra['columns_after']['UNWEIGHTED_GPA'] = _('Unweighted GPA');*/ $extra['SELECT'] .= ',sms.CUM_WEIGHTED_FACTOR,sms.CUM_UNWEIGHTED_FACTOR'; $extra['columns_after']['CUM_WEIGHTED_FACTOR'] = _('Weighted GPA'); $extra['columns_after']['CUM_UNWEIGHTED_FACTOR'] = _('Unweighted GPA'); } /*if(mb_strpos($extra['FROM'],'STUDENT_GPA_CALCULATED sgc')===false) { $extra['FROM'] .= ",STUDENT_GPA_CALCULATED sgc"; $extra['WHERE'] .= " AND sgc.STUDENT_ID=s.STUDENT_ID AND sgc.MARKING_PERIOD_ID='".$_REQUEST['gpa_term']."'"; }*/ if (mb_strpos($extra['FROM'], 'STUDENT_MP_STATS sms') === false) { $extra['FROM'] .= ",STUDENT_MP_STATS sms"; $extra['WHERE'] .= " AND sms.STUDENT_ID=s.STUDENT_ID AND sms.MARKING_PERIOD_ID='" . $_REQUEST['gpa_term'] . "'"; } //$extra['WHERE'] .= " AND sgc.".(($_REQUEST['weighted']=='Y')?'WEIGHTED_':'')."GPA BETWEEN '$_REQUEST[gpa_low]' AND '$_REQUEST[gpa_high]' AND sgc.MARKING_PERIOD_ID='".$_REQUEST['gpa_term']."'"; $extra['WHERE'] .= " AND sms.CUM_" . ($_REQUEST['weighted'] == 'Y' ? '' : 'UN') . "WEIGHTED_FACTOR*(SELECT GP_SCALE FROM REPORT_CARD_GRADE_SCALES WHERE SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "') BETWEEN '{$_REQUEST['gpa_low']}' AND '{$_REQUEST['gpa_high']}'"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . ($_REQUEST['gpa_weighted'] == 'Y' ? _('Weighted GPA') . ' ' : _('Unweighted GPA') . ' ') . Localize('colon', _('Between')) . ' </b>' . $_REQUEST['gpa_low'] . ' & ' . $_REQUEST['gpa_high'] . '<BR />'; } } //modif Francois: add <label> on checkbox //modif Francois: replace Cumulative by Full Year //$extra['search'] .= "<TR><TD style="text-align:right; width:120px:">"._('GPA')."<BR /><label><INPUT type=checkbox name=gpa_weighted value=Y> "._('Weighted').'</label><BR /><label><INPUT type="radio" name="gpa_term" value=CUM checked /> '._('Cumulative').'</label> <label><INPUT type="radio" name="gpa_term" value="'.GetParentMP('SEM',UserMP()).'"> '.GetMP(GetParentMP('SEM',UserMP()),'SHORT_NAME').'</label> <label><INPUT type="radio" name="gpa_term" value="'.UserMP().'"> '.GetMP(UserMP(),'SHORT_NAME')."</label></TD><TD>"._('Between')." <INPUT type="text" name=gpa_low size=3 maxlength=5> & <INPUT type="text" name=gpa_high size=3 maxlength=5></TD></TR>"; $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('GPA') . '<BR /><label><INPUT type="checkbox" name="weighted" value="Y"> ' . _('Weighted') . '</label><BR />' . (GetMP($MPfy = GetParentMP('FY', GetParentMP('SEM', UserMP())), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="gpa_term" value="' . $MPfy . '" checked /> ' . GetMP($MPfy, 'SHORT_NAME') . '</label> ' : '') . (GetMP($MPsem = GetParentMP('SEM', UserMP()), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="gpa_term" value="' . $MPsem . '"> ' . GetMP($MPsem, 'SHORT_NAME') . '</label> ' : '') . (GetMP($MPtrim = UserMP(), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="gpa_term" value="' . $MPtrim . '" checked /> ' . GetMP($MPtrim, 'SHORT_NAME') . '</label>' : '') . '</TD><TD>' . _('Between') . ' <INPUT type="text" name="gpa_low" size="3" maxlength="5"> & <INPUT type="text" name="gpa_high" size="3" maxlength="5"></TD></TR>'; } break; case 'class_rank': if ($RosarioModules['Grades']) { if (is_numeric($_REQUEST['class_rank_low']) && is_numeric($_REQUEST['class_rank_high'])) { if ($_REQUEST['class_rank_low'] > $_REQUEST['class_rank_high']) { $temp = $_REQUEST['class_rank_high']; $_REQUEST['class_rank_high'] = $_REQUEST['class_rank_low']; $_REQUEST['class_rank_low'] = $temp; } //modif Francois: remove STUDENT_GPA_CALCULATED table /*if(mb_strpos($extra['FROM'],'STUDENT_GPA_CALCULATED sgc')===false) { $extra['FROM'] .= ",STUDENT_GPA_CALCULATED sgc"; $extra['WHERE'] .= " AND sgc.STUDENT_ID=s.STUDENT_ID AND sgc.MARKING_PERIOD_ID='".$_REQUEST['class_rank_term']."'"; }*/ if (mb_strpos($extra['FROM'], 'STUDENT_MP_STATS sms') === false) { $extra['FROM'] .= ",STUDENT_MP_STATS sms"; $extra['WHERE'] .= " AND sms.STUDENT_ID=s.STUDENT_ID AND sms.MARKING_PERIOD_ID='" . $_REQUEST['class_rank_term'] . "'"; } //$extra['WHERE'] .= " AND sgc.CLASS_RANK BETWEEN '$_REQUEST[class_rank_low]' AND '$_REQUEST[class_rank_high]'"; $extra['WHERE'] .= " AND sms.CUM_RANK BETWEEN '{$_REQUEST['class_rank_low']}' AND '{$_REQUEST['class_rank_high']}'"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Class Rank')) . ' ' . _('Between') . '</b>' . $_REQUEST['class_rank_low'] . ' & ' . $_REQUEST['class_rank_high'] . '<BR />'; } } //modif Francois: replace Cumulative by Full Year //$extra['search'] .= "<TR><TD style="text-align:right; width:120px:">"._('Class Rank').'<BR /><label><INPUT type="radio" name="class_rank_term" value=CUM checked /> '._('Cumulative').'</label> <label><INPUT type="radio" name="class_rank_term" value="'.GetParentMP('SEM',UserMP()).'"> '.GetMP(GetParentMP('SEM',UserMP()),'SHORT_NAME').'</label> <label><INPUT type="radio" name="class_rank_term" value="'.UserMP().'"> '.GetMP(UserMP(),'SHORT_NAME'); $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Class Rank') . '<BR />' . (GetMP($MPfy = GetParentMP('FY', GetParentMP('SEM', UserMP())), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="class_rank_term" value="' . $MPfy . '"> ' . GetMP($MPfy, 'SHORT_NAME') . '</label> ' : '') . (GetMP($MPsem = GetParentMP('SEM', UserMP()), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="class_rank_term" value="' . $MPsem . '"> ' . GetMP($MPsem, 'SHORT_NAME') . '</label> ' : '') . (GetMP($MPtrim = UserMP(), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="class_rank_term" value="' . $MPtrim . '" checked /> ' . GetMP($MPtrim, 'SHORT_NAME') . '</label>' : ''); if (mb_strlen($pros = GetChildrenMP('PRO', UserMP()))) { $pros = explode(',', str_replace("'", '', $pros)); foreach ($pros as $pro) { $extra['search'] .= '<label><INPUT type="radio" name="class_rank_term" value="' . $pro . '"> ' . GetMP($pro, 'SHORT_NAME') . '</label> '; } } $extra['search'] .= '</TD><TD>' . _('Between') . ' <INPUT type="text" name="class_rank_low" size="3" maxlength="5"> & <INPUT type="text" name="class_rank_high" size="3" maxlength="5"></TD></TR>'; } break; case 'letter_grade': if ($RosarioModules['Grades']) { if (count($_REQUEST['letter_grade'])) { if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . ($_REQUEST['letter_grade_exclude'] == 'Y' ? _('Without') : _('With')) . ' ' . _('Report Card Grade') . ': </b>'; } $letter_grades_RET = DBGet(DBQuery("SELECT ID,TITLE FROM REPORT_CARD_GRADES WHERE SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "'"), array(), array('ID')); foreach ($_REQUEST['letter_grade'] as $grade => $Y) { $letter_grades .= ",'{$grade}'"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= $letter_grades_RET[$grade][1]['TITLE'] . ', '; } } if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] = mb_substr($_ROSARIO['SearchTerms'], 0, -2) . '<BR />'; } $extra['WHERE'] .= " AND " . ($_REQUEST['letter_grade_exclude'] == 'Y' ? 'NOT ' : '') . "EXISTS (SELECT '' FROM STUDENT_REPORT_CARD_GRADES sg3 WHERE sg3.STUDENT_ID=ssm.STUDENT_ID AND sg3.SYEAR=ssm.SYEAR AND sg3.REPORT_CARD_GRADE_ID IN (" . mb_substr($letter_grades, 1) . ") AND sg3.MARKING_PERIOD_ID='" . $_REQUEST['letter_grade_term'] . "' )"; } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Grade') . '<BR /><label><INPUT type="checkbox" name="letter_grade_exclude" value="Y"> ' . _('Did not receive') . '</label><BR /><label><INPUT type="radio" name="letter_grade_term" value="' . GetParentMP('SEM', UserMP()) . '"> ' . GetMP(GetParentMP('SEM', UserMP()), 'SHORT_NAME') . '</label> <label><INPUT type="radio" name="letter_grade_term" value="' . UserMP() . '"> ' . GetMP(UserMP(), 'SHORT_NAME') . '</label>'; if (mb_strlen($pros = GetChildrenMP('PRO', UserMP()))) { $pros = explode(',', str_replace("'", '', $pros)); foreach ($pros as $pro) { $extra['search'] .= '<label><INPUT type="radio" name="letter_grade_term" value="' . $pro . '"> ' . GetMP($pro, 'SHORT_NAME') . '</label> '; } } $extra['search'] .= "</TD><TD>"; //modif Francois: fix error Invalid argument supplied for foreach() if ($_REQUEST['search_modfunc'] == 'search_fnc' || !$_REQUEST['search_modfunc']) { $letter_grades_RET = DBGet(DBQuery("SELECT rg.ID,rg.TITLE,rg.GRADE_SCALE_ID FROM REPORT_CARD_GRADES rg,REPORT_CARD_GRADE_SCALES rs WHERE rg.SCHOOL_ID='" . UserSchool() . "' AND rg.SYEAR='" . UserSyear() . "' AND rs.ID=rg.GRADE_SCALE_ID" . (User('PROFILE') == 'teacher' ? ' AND rg.GRADE_SCALE_ID=(SELECT GRADE_SCALE_ID FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\')' : '') . " ORDER BY rs.SORT_ORDER,rs.ID,rg.BREAK_OFF IS NOT NULL DESC,rg.BREAK_OFF DESC,rg.SORT_ORDER"), array(), array('GRADE_SCALE_ID')); foreach ($letter_grades_RET as $grades) { $i = 0; if (count($grades)) { foreach ($grades as $grade) { if ($i % 9 == 0) { $extra['search'] .= '<BR />'; } $extra['search'] .= '<label><INPUT type="checkbox" value="Y" name="letter_grade[' . $grade['ID'] . ']"> ' . $grade['TITLE'] . '</label> '; $i++; } } } } $extra['search'] .= '</TD></TR>'; } break; case 'eligibility': if ($RosarioModules['Eligibility']) { if ($_REQUEST['ineligible'] == 'Y') { $start_end_RET = DBGet(DBQuery("SELECT TITLE,VALUE FROM PROGRAM_CONFIG WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' AND PROGRAM='eligibility' AND TITLE IN ('START_DAY','END_DAY')")); if (count($start_end_RET)) { foreach ($start_end_RET as $value) { ${$value}['TITLE'] = $value['VALUE']; } } switch (date('D')) { case 'Mon': $today = 1; break; case 'Tue': $today = 2; break; case 'Wed': $today = 3; break; case 'Thu': $today = 4; break; case 'Fri': $today = 5; break; case 'Sat': $today = 6; break; case 'Sun': $today = 7; break; } $start_date = mb_strtoupper(date('d-M-y', time() - ($today - $START_DAY) * 60 * 60 * 24)); $end_date = mb_strtoupper(date('d-M-y', time())); $extra['WHERE'] .= " AND (SELECT count(*) FROM ELIGIBILITY e WHERE ssm.STUDENT_ID=e.STUDENT_ID AND e.SYEAR=ssm.SYEAR AND e.SCHOOL_DATE BETWEEN '{$start_date}' AND '{$end_date}' AND e.ELIGIBILITY_CODE='FAILING') > '0'"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Eligibility')) . ' </b>' . _('Ineligible') . '<BR />'; } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:"></TD><TD><label><INPUT type="checkbox" name="ineligible" value="Y"> ' . _('Ineligible') . '</label></TD></TR>'; } break; case 'activity': if ($RosarioModules['Eligibility']) { if ($_REQUEST['activity_id']) { $extra['FROM'] .= ",STUDENT_ELIGIBILITY_ACTIVITIES sea"; $extra['WHERE'] .= " AND sea.STUDENT_ID=s.STUDENT_ID AND sea.SYEAR=ssm.SYEAR AND sea.ACTIVITY_ID='" . $_REQUEST['activity_id'] . "'"; $activity = DBGet(DBQuery("SELECT TITLE FROM ELIGIBILITY_ACTIVITIES WHERE ID='" . $_REQUEST['activity_id'] . "'")); if (!$extra['NoSearchTerms']) { //modif Francois: add translation $_ROSARIO['SearchTerms'] .= '<b>' . _('Activity') . ': </b>' . $activity[1]['TITLE'] . '<BR />'; } } if ($_REQUEST['search_modfunc'] == 'search_fnc' || !$_REQUEST['search_modfunc']) { $activities_RET = DBGet(DBQuery("SELECT ID,TITLE FROM ELIGIBILITY_ACTIVITIES WHERE SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "'")); } $select = '<SELECT name="activity_id"><OPTION value="">' . _('Not Specified') . '</OPTION>'; if (count($activities_RET)) { foreach ($activities_RET as $activity) { $select .= '<OPTION value="' . $activity['ID'] . '">' . $activity['TITLE'] . '</OPTION>'; } } $select .= '</SELECT>'; $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Activity') . '</TD><TD>' . $select . '</TD></TR>'; } break; case 'mailing_labels': if ($_REQUEST['mailing_labels'] == 'Y') { $extra['SELECT'] .= ',coalesce(sam.ADDRESS_ID,-ssm.STUDENT_ID) AS ADDRESS_ID,sam.ADDRESS_ID AS MAILING_LABEL'; $extra['FROM'] = " LEFT OUTER JOIN STUDENTS_JOIN_ADDRESS sam ON (sam.STUDENT_ID=ssm.STUDENT_ID AND sam.MAILING='Y'" . ($_REQUEST['residence'] == 'Y' ? " AND sam.RESIDENCE='Y'" : '') . ")" . $extra['FROM']; $extra['functions'] += array('MAILING_LABEL' => 'MailingLabel'); } $extra['search'] .= '<TR><TD style="text-align:right; width:130px"><label>' . _('Mailing Labels') . ' <INPUT type="checkbox" name="mailing_labels" value="Y"></label></TD>'; break; case 'balance': if ($RosarioModules['Student_Billing']) { if (is_numeric($_REQUEST['balance_low']) && is_numeric($_REQUEST['balance_high'])) { if ($_REQUEST['balance_low'] > $_REQUEST['balance_high']) { $temp = $_REQUEST['balance_high']; $_REQUEST['balance_high'] = $_REQUEST['balance_low']; $_REQUEST['balance_low'] = $temp; } $extra['WHERE'] .= " AND (coalesce((SELECT sum(p.AMOUNT) FROM BILLING_PAYMENTS p WHERE p.STUDENT_ID=ssm.STUDENT_ID AND p.SYEAR=ssm.SYEAR AND (p.LUNCH_PAYMENT!='Y' OR p.LUNCH_PAYMENT IS NULL)),0)-coalesce((SELECT sum(f.AMOUNT) FROM BILLING_FEES f WHERE f.STUDENT_ID=ssm.STUDENT_ID AND f.SYEAR=ssm.SYEAR),0)) BETWEEN '{$_REQUEST['balance_low']}' AND '{$_REQUEST['balance_high']}' "; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Student Billing Balance')) . ' </b>' . _('Between') . ' ' . $_REQUEST['balance_low'] . ' & ' . $_REQUEST['balance_high'] . '<BR />'; } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Balance') . '<BR /></TD><TD>' . _('Between') . ' <INPUT type="text" name="balance_low" size="5" maxlength="10"> & <INPUT type="text" name="balance_high" size="5" maxlength="10"></TD></TR>'; } break; case 'discipline': if ($RosarioModules['Discipline']) { if (is_array($_REQUEST['discipline'])) { foreach ($_REQUEST['discipline'] as $key => $value) { if (!$value) { unset($_REQUEST['discipline'][$key]); } } } if ($_REQUEST['month_discipline_entry_begin'] && $_REQUEST['day_discipline_entry_begin'] && $_REQUEST['year_discipline_entry_begin']) { $_REQUEST['discipline_entry_begin'] = $_REQUEST['day_discipline_entry_begin'] . '-' . $_REQUEST['month_discipline_entry_begin'] . '-' . $_REQUEST['year_discipline_entry_begin']; if (!VerifyDate($_REQUEST['discipline_entry_begin'])) { unset($_REQUEST['discipline_entry_begin']); } unset($_REQUEST['day_discipline_entry_begin']); unset($_REQUEST['month_discipline_entry_begin']); unset($_REQUEST['year_discipline_entry_begin']); } if ($_REQUEST['month_discipline_entry_end'] && $_REQUEST['day_discipline_entry_end'] && $_REQUEST['year_discipline_entry_end']) { $_REQUEST['discipline_entry_end'] = $_REQUEST['day_discipline_entry_end'] . '-' . $_REQUEST['month_discipline_entry_end'] . '-' . $_REQUEST['year_discipline_entry_end']; if (!VerifyDate($_REQUEST['discipline_entry_end'])) { unset($_REQUEST['discipline_entry_end']); } unset($_REQUEST['day_discipline_entry_end']); unset($_REQUEST['month_discipline_entry_end']); unset($_REQUEST['year_discipline_entry_end']); } if ($_REQUEST['discipline_reporter'] || $_REQUEST['discipline_entry_begin'] || $_REQUEST['discipline_entry_end'] || count($_REQUEST['discipline']) || count($_REQUEST['discipline_begin']) || count($_REQUEST['discipline_end'])) { $extra['WHERE'] .= ' AND dr.STUDENT_ID=ssm.STUDENT_ID AND dr.SYEAR=ssm.SYEAR AND dr.SCHOOL_ID=ssm.SCHOOL_ID '; $extra['FROM'] .= ',DISCIPLINE_REFERRALS dr '; } $users_RET = DBGet(DBQuery("SELECT STAFF_ID,FIRST_NAME,LAST_NAME,MIDDLE_NAME FROM STAFF WHERE SYEAR='" . UserSyear() . "' AND (SCHOOLS IS NULL OR SCHOOLS LIKE '%," . UserSchool() . ",%') AND (PROFILE='admin' OR PROFILE='teacher') ORDER BY LAST_NAME,FIRST_NAME,MIDDLE_NAME"), array(), array('STAFF_ID')); if ($_REQUEST['discipline_reporter']) { $extra['WHERE'] .= " AND dr.STAFF_ID='{$_REQUEST['discipline_reporter']}' "; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Reporter') . ': </b>' . $users_RET[$_REQUEST['discipline_reporter']][1]['LAST_NAME'] . ', ' . $users_RET[$_REQUEST['discipline_reporter']][1]['FIRST_NAME'] . ' ' . $users_RET[$_REQUEST['discipline_reporter']][1]['MIDDLE_NAME'] . '<BR />'; } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Reporter') . '</TD><TD>'; $extra['search'] .= '<SELECT name=discipline_reporter><OPTION value="">' . _('Not Specified') . '</OPTION>'; foreach ($users_RET as $id => $user) { $extra['search'] .= '<OPTION value=' . $id . '>' . $user[1]['LAST_NAME'] . ', ' . $user[1]['FIRST_NAME'] . ' ' . $user[1]['MIDDLE_NAME'] . '</OPTION>'; } $extra['search'] .= '</SELECT>'; $extra['search'] .= '</TD></TR>'; $discipline_entry_begin_for_ProperDate = $_REQUEST['discipline_entry_begin']; if (mb_strlen($_REQUEST['discipline_entry_begin']) > 10) { //date = LAST_LOGIN = date + time $discipline_entry_begin_for_ProperDate = mb_substr($_REQUEST['discipline_entry_begin'], 0, 10); } if ($_REQUEST['discipline_entry_begin'] && $_REQUEST['discipline_entry_end']) { $extra['WHERE'] .= " AND dr.ENTRY_DATE BETWEEN '{$_REQUEST['discipline_entry_begin']}' AND '{$_REQUEST['discipline_entry_end']}' "; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Incident Date') . ' ' . _('Between') . ': </b>' . ProperDate($discipline_entry_begin_for_ProperDate) . '<b> ' . _('and') . ' </b>' . ProperDate($_REQUEST['discipline_entry_end']) . '<BR />'; } } elseif ($_REQUEST['discipline_entry_begin']) { $extra['WHERE'] .= " AND dr.ENTRY_DATE>='{$_REQUEST['discipline_entry_begin']}' "; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Incident Entered') . ' ' . _('On or After') . ' </b>' . ProperDate($discipline_entry_begin_for_ProperDate) . '<BR />'; } } elseif ($_REQUEST['discipline_entry_end']) { $extra['WHERE'] .= " AND dr.ENTRY_DATE<='{$_REQUEST['discipline_entry_end']}' "; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Incident Entered') . ' ' . _('On or Before') . ' </b>' . ProperDate($_REQUEST['discipline_entry_end']) . '<BR />'; } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Incident Date') . '</TD><TD><table class="cellpadding-0 cellspacing-0"><tr><td><span class="sizep2">≥</span> </td><td>' . PrepareDate('', '_discipline_entry_begin', true, array('short' => true)) . '</td></tr><tr><td><span class="sizep2">≤</span> </td><td>' . PrepareDate('', '_discipline_entry_end', true, array('short' => true)) . '</td></tr></table></TD></TR>'; } /*break; case 'discipline_categories':*/ if ($RosarioModules['Discipline']) { $categories_RET = DBGet(DBQuery("SELECT f.ID,u.TITLE,f.DATA_TYPE,u.SELECT_OPTIONS FROM DISCIPLINE_FIELDS f,DISCIPLINE_FIELD_USAGE u WHERE u.DISCIPLINE_FIELD_ID=f.ID AND u.SYEAR='" . UserSyear() . "' AND u.SCHOOL_ID='" . UserSchool() . "' AND f.DATA_TYPE!='textarea'")); foreach ($categories_RET as $category) { if ($category['DATA_TYPE'] != 'date') { $extra['search'] .= '<TR><TD width="150">' . $category['TITLE'] . '</TD><TD>'; switch ($category['DATA_TYPE']) { case 'text': $extra['search'] .= '<INPUT type="text" name="discipline[' . $category['ID'] . ']" />'; if ($_REQUEST['discipline'][$cateogory['ID']]) { $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . " LIKE '" . $_REQUEST['discipline'][$cateogory['ID']] . "%' "; } break; case 'checkbox': $extra['search'] .= '<INPUT type="checkbox" name="discipline[' . $category['ID'] . ']" value="Y" />'; if ($_REQUEST['discipline'][$cateogory['ID']]) { $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . " = 'Y' "; } break; case 'numeric': $extra['search'] .= '<small>' . _('Between') . ' </small><INPUT type="text" name="discipline_begin[' . $category['ID'] . ']" size="3" maxlength="11" /> & <INPUT type="text" name="discipline_end[' . $category['ID'] . ']" size="3" maxlength="11" />'; if ($_REQUEST['discipline_begin'][$cateogory['ID']] && $_REQUEST['discipline_begin'][$cateogory['ID']]) { $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . " BETWEEN '" . $_REQUEST['discipline_begin'][$cateogory['ID']] . "' AND '" . $_REQUEST['discipline_end'][$cateogory['ID']] . "' "; } break; case 'multiple_checkbox': case 'multiple_radio': case 'select': $category['SELECT_OPTIONS'] = str_replace("\n", "\r", str_replace("\r\n", "\r", $category['SELECT_OPTIONS'])); $category['SELECT_OPTIONS'] = explode("\r", $category['SELECT_OPTIONS']); $extra['search'] .= '<SELECT name="discipline[' . $category['ID'] . ']"><OPTION value="">' . _('N/A') . '</OPTION>'; foreach ($category['SELECT_OPTIONS'] as $option) { $extra['search'] .= '<OPTION value="' . $option . '">' . $option . '</OPTION>'; } $extra['search'] .= '</SELECT>'; if (($category['DATA_TYPE'] == 'multiple_radio' || $category['DATA_TYPE'] == 'select') && $_REQUEST['discipline'][$category['ID']]) { $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . " = '" . $_REQUEST['discipline'][$category['ID']] . "' "; } elseif ($category['DATA_TYPE'] == 'multiple_checkbox' && $_REQUEST['discipline'][$category['ID']]) { $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . " LIKE '%||" . $_REQUEST['discipline'][$category['ID']] . "||%' "; } break; } $extra['search'] .= '</TD></TR>'; } } } break; case 'next_year': if ($RosarioModules['Students']) { $schools_RET = DBGet(DBQuery("SELECT ID,TITLE FROM SCHOOLS WHERE ID!='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "'"), array(), array('ID')); if ($_REQUEST['next_year'] == '!') { $extra['WHERE'] .= " AND ssm.NEXT_SCHOOL IS NULL"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Next Year')) . ' </b>' . _('No Value') . '<BR />'; } } elseif ($_REQUEST['next_year'] != '') { $extra['WHERE'] .= " AND ssm.NEXT_SCHOOL='" . $_REQUEST['next_year'] . "'"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Next Year')) . ' </b>' . ($_REQUEST['next_year'] == UserSchool() ? 'Next grade at current school' : ($_REQUEST['next_year'] == '0' ? 'Retain' : ($_REQUEST['next_year'] == '-1' ? 'Do not enroll after this school year' : $schools_RET[$_REQUEST['next_year']][1]['TITLE']))) . '<BR />'; } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Next Year') . '</TD><TD><SELECT name="next_year"><OPTION value="">' . _('N/A') . '</OPTION><OPTION value="!">' . _('No Value') . '</OPTION><OPTION value="' . UserSchool() . '">' . _('Next grade at current school') . '</OPTION><OPTION value="0">' . _('Retain') . '</OPTION><OPTION value="-1">' . _('Do not enroll after this school year') . '</OPTION>'; foreach ($schools_RET as $id => $school) { $extra['search'] .= '<OPTION value=' . $id . '>' . $school[1]['TITLE'] . '</OPTION>'; } $extra['search'] .= '</SELECT></TD></TR>'; } break; case 'calendar': if ($RosarioModules['Students']) { $calendars_RET = DBGet(DBQuery("SELECT CALENDAR_ID,TITLE FROM ATTENDANCE_CALENDARS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' ORDER BY DEFAULT_CALENDAR ASC"), array(), array('CALENDAR_ID')); if ($_REQUEST['calendar'] == '!') { $extra['WHERE'] .= " AND ssm.CALENDAR_ID IS " . ($_REQUEST['calendar_not'] == 'Y' ? 'NOT ' : '') . "NULL"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Calendar') . ': </b>' . ($_REQUEST['calendar_not'] == 'Y' ? _('Any Value') : _('No Value')) . '<BR />'; } } elseif ($_REQUEST['calendar'] != '') { $extra['WHERE'] .= " AND ssm.CALENDAR_ID" . ($_REQUEST['calendar_not'] == 'Y' ? '!' : '') . "='" . $_REQUEST['calendar'] . "'"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Calendar') . ': </b>' . ($_REQUEST['calendar_not'] == 'Y' ? _('Not') . ' ' : '') . $calendars_RET[$_REQUEST['calendar']][1]['TITLE'] . '<BR />'; } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Calendar') . '</TD><TD><label><INPUT type="checkbox" name="calendar_not" value="Y"> ' . _('Not') . ' </label><SELECT name="calendar"><OPTION value="">' . _('N/A') . '</OPTION><OPTION value="!">' . _('No Value') . '</OPTION>'; foreach ($calendars_RET as $id => $calendar) { $extra['search'] .= '<OPTION value="' . $id . '">' . $calendar[1]['TITLE'] . '</OPTION>'; } $extra['search'] .= '</SELECT></TD></TR>'; } break; case 'enrolled': if ($RosarioModules['Students']) { if ($_REQUEST['month_enrolled_begin'] && $_REQUEST['day_enrolled_begin'] && $_REQUEST['year_enrolled_begin']) { $_REQUEST['enrolled_begin'] = $_REQUEST['day_enrolled_begin'] . '-' . $_REQUEST['month_enrolled_begin'] . '-' . $_REQUEST['year_enrolled_begin']; if (!VerifyDate($_REQUEST['enrolled_begin'])) { unset($_REQUEST['enrolled_begin']); } } if ($_REQUEST['month_enrolled_end'] && $_REQUEST['day_enrolled_end'] && $_REQUEST['year_enrolled_end']) { $_REQUEST['enrolled_end'] = $_REQUEST['day_enrolled_end'] . '-' . $_REQUEST['month_enrolled_end'] . '-' . $_REQUEST['year_enrolled_end']; if (!VerifyDate($_REQUEST['enrolled_end'])) { unset($_REQUEST['enrolled_end']); } } if ($_REQUEST['enrolled_begin'] && $_REQUEST['enrolled_end']) { $extra['WHERE'] .= " AND ssm.START_DATE BETWEEN '" . $_REQUEST['enrolled_begin'] . "' AND '" . $_REQUEST['enrolled_end'] . "'"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Enrolled') . ' ' . _('Between') . ': </b>' . ProperDate($_REQUEST['enrolled_begin']) . ' and ' . ProperDate($_REQUEST['enrolled_end']) . '<BR />'; } } elseif ($_REQUEST['enrolled_begin']) { $extra['WHERE'] .= " AND ssm.START_DATE>='" . $_REQUEST['enrolled_begin'] . "'"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Enrolled') . ' ' . _('On or After') . ': </b>' . ProperDate($_REQUEST['enrolled_begin']) . '<BR />'; } } if ($_REQUEST['enrolled_end']) { $extra['WHERE'] .= " AND ssm.START_DATE<='" . $_REQUEST['enrolled_end'] . "'"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Enrolled') . ' ' . _('On or Before') . ': </b>' . ProperDate($_REQUEST['enrolled_end']) . '<BR />'; } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Attendance Start') . '</TD><TD><table class="cellpadding-0 cellspacing-0"><tr><td><span class="sizep2">≥</span> </td><td>' . PrepareDate('', '_enrolled_begin', true, array('short' => true)) . '</td></tr><tr><td><span class="sizep2">≤</span> </td><td>' . PrepareDate('', '_enrolled_end', true, array('short' => true)) . '</td></tr></table></TD></TR>'; } break; case 'rolled': if ($RosarioModules['Students']) { if ($_REQUEST['rolled']) { $extra['WHERE'] .= " AND " . ($_REQUEST['rolled'] == 'Y' ? '' : 'NOT ') . "exists (SELECT '' FROM STUDENT_ENROLLMENT WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR<ssm.SYEAR)"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Previously Enrolled') . ': </b>' . ($_REQUEST['rolled'] == 'Y' ? _('Yes') : _('No')) . '<BR />'; } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Previously Enrolled') . '</TD><TD><label><INPUT type="radio" value="" name="rolled" checked /> ' . _('N/A') . '</label> <label><INPUT type="radio" value="Y" name="rolled"> ' . _('Yes') . '</label> <label><INPUT type="radio" value="N" name="rolled"> ' . _('No') . '</label></TD></TR>'; } break; case 'fsa_balance_warning': $value = $GLOBALS['warning']; $item = 'fsa_balance'; case 'fsa_balance': if ($RosarioModules['Food_Service']) { if ($_REQUEST['fsa_balance'] != '') { if (!mb_strpos($extra['FROM'], 'fssa')) { $extra['FROM'] .= ',FOOD_SERVICE_STUDENT_ACCOUNTS fssa'; $extra['WHERE'] .= ' AND fssa.STUDENT_ID=s.STUDENT_ID'; } $extra['FROM'] .= ",FOOD_SERVICE_ACCOUNTS fsa"; $extra['WHERE'] .= " AND fsa.ACCOUNT_ID=fssa.ACCOUNT_ID AND fsa.BALANCE" . ($_REQUEST['fsa_bal_ge'] == 'Y' ? '>=' : '<') . "'" . round($_REQUEST['fsa_balance'], 2) . "'"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Food Service Balance') . ': </b><span class="sizep2">' . ($_REQUEST['fsa_bal_ge'] == 'Y' ? '≥' : '<') . number_format($_REQUEST['fsa_balance'], 2) . '</span><BR />'; } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Balance') . '</TD><TD><table class="cellpadding-0 cellspacing-0"><tr><td><label><span class="sizep2"><</span> <INPUT type="radio" name="fsa_bal_ge" value="" checked /></label></td><td rowspan="2"><INPUT type="text" name="fsa_balance" size=10' . ($value ? ' value="' . $value . '"' : '') . '></label></td></tr><tr><td><label><span class="sizep2">≥</span> <INPUT type="radio" name="fsa_bal_ge" value=Y></label></td></tr></table></TD></TR>'; } break; case 'fsa_discount': if ($RosarioModules['Food_Service']) { if ($_REQUEST['fsa_discount']) { if (!mb_strpos($extra['FROM'], 'fssa')) { $extra['FROM'] .= ",FOOD_SERVICE_STUDENT_ACCOUNTS fssa"; $extra['WHERE'] .= " AND fssa.STUDENT_ID=s.STUDENT_ID"; } if ($_REQUEST['fsa_discount'] == 'Full') { $extra['WHERE'] .= " AND fssa.DISCOUNT IS NULL"; } else { $extra['WHERE'] .= " AND fssa.DISCOUNT='" . $_REQUEST['fsa_discount'] . "'"; } if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Food Service Discount') . ': </b>' . $_REQUEST['fsa_discount'] . '<BR />'; } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Discount') . '</TD><TD><SELECT name=fsa_discount><OPTION value="">' . _('Not Specified') . '</OPTION><OPTION value="Full">' . _('Full') . '</OPTION><OPTION value="Reduced">' . _('Reduced') . '</OPTION><OPTION value="Free">' . _('Free') . '</OPTION></SELECT></TD></TR>'; } break; case 'fsa_status_active': $value = 'active'; $item = 'fsa_status'; case 'fsa_status': if ($RosarioModules['Food_Service']) { if ($_REQUEST['fsa_status']) { if (!mb_strpos($extra['FROM'], 'fssa')) { $extra['FROM'] .= ",FOOD_SERVICE_STUDENT_ACCOUNTS fssa"; $extra['WHERE'] .= " AND fssa.STUDENT_ID=s.STUDENT_ID"; } if ($_REQUEST['fsa_status'] == 'Active') { $extra['WHERE'] .= " AND fssa.STATUS IS NULL"; } else { $extra['WHERE'] .= " AND fssa.STATUS='" . $_REQUEST['fsa_status'] . "'"; } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Account Status') . '</TD><TD><SELECT name=fsa_status><OPTION value="">' . _('Not Specified') . '</OPTION><OPTION value="Active"' . ($value == 'active' ? ' SELECTED="SELECTED"' : '') . '>' . _('Active') . '</OPTION><OPTION value="Inactive">' . _('Inactive') . '</OPTION><OPTION value="Disabled">' . _('Disabled') . '</OPTION><OPTION value="Closed">' . _('Closed') . '</OPTION></SELECT></TD></TR>'; } break; case 'fsa_barcode': if ($RosarioModules['Food_Service']) { if ($_REQUEST['fsa_barcode']) { if (!mb_strpos($extra['FROM'], 'fssa')) { $extra['FROM'] .= ",FOOD_SERVICE_STUDENT_ACCOUNTS fssa"; $extra['WHERE'] .= " AND fssa.STUDENT_ID=s.STUDENT_ID"; } $extra['WHERE'] .= " AND fssa.BARCODE='" . $_REQUEST['fsa_barcode'] . "'"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Food Service Barcode') . ': </b>' . $_REQUEST['fsa_barcode'] . '<BR />'; } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Barcode') . '</TD><TD><INPUT type="text" name="fsa_barcode" size="15"></TD></TR>'; } break; case 'fsa_account_id': if ($RosarioModules['Food_Service']) { if ($_REQUEST['fsa_account_id']) { if (!mb_strpos($extra['FROM'], 'fssa')) { $extra['FROM'] .= ",FOOD_SERVICE_STUDENT_ACCOUNTS fssa"; $extra['WHERE'] .= " AND fssa.STUDENT_ID=s.STUDENT_ID"; } $extra['WHERE'] .= " AND fssa.ACCOUNT_ID='" . ($_REQUEST['fsa_account_id'] + 0) . "'"; if (!$extra['NoSearchTerms']) { $_ROSARIO['SearchTerms'] .= '<b>' . _('Food Service Account ID') . ': </b>' . ($_REQUEST['fsa_account_id'] + 0) . '<BR />'; } } $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Account ID') . '</TD><TD><INPUT type="text" name="fsa_account_id" size="15"></TD></TR>'; } break; } $_ROSARIO['Widgets'][$item] = true; } }
function makeDateInput($value = '00-000-00') { return PrepareDate("", $value); }
} if (empty($_REQUEST['modfunc'])) { unset($_REQUEST['PHPSESSID']); echo '<FORM action="Modules.php?modname=' . $_REQUEST['modname'] . '&chart_type=' . str_replace(' ', '+', $_REQUEST['chart_type']) . '" method="POST">'; DrawHeader(ProgramTitle()); $categories_RET = DBGet(DBQuery("SELECT f.ID,u.TITLE,u.SELECT_OPTIONS,f.DATA_TYPE FROM DISCIPLINE_FIELDS f,DISCIPLINE_FIELD_USAGE u WHERE u.DISCIPLINE_FIELD_ID=f.ID AND f.DATA_TYPE NOT IN ('textarea','text','date') AND u.SYEAR='" . UserSyear() . "' AND u.SCHOOL_ID='" . UserSchool() . "' ORDER BY u.SORT_ORDER")); $select = '<SELECT name=category_id onchange="this.form.submit();"><OPTION value="">' . _('Please choose a category') . '</OPTION>'; if (count($categories_RET)) { foreach ($categories_RET as $category) { $select .= '<OPTION value="' . $category['ID'] . '"' . ($_REQUEST['category_id'] == $category['ID'] ? ' SELECTED="SELECTED"' : '') . '>' . $category['TITLE'] . '</OPTION>'; } } $select .= '</SELECT>'; $advanced_link = ' <A HREF="#" onclick=\'remote = window.open("Modules.php?modname=' . $_REQUEST['modname'] . '&modfunc=search&category_id=' . $_REQUEST['category_id'] . '&chart_type=' . $_REQUEST['chart_type'] . '&day_start=' . $_REQUEST['day_start'] . '&day_end=' . $_REQUEST['day_end'] . '&month_start=' . $_REQUEST['month_start'] . '&month_end=' . $_REQUEST['month_end'] . '&year_start=' . $_REQUEST['year_start'] . '&year_end=' . $_REQUEST['year_end'] . '&include_top=false","","scrollbars=yes,resizable=yes,width=700,height=600"); remote.opener = window;\'>' . _('Advanced') . '</A>'; DrawHeader($select, _('Timeframe') . ': <label><INPUT type="radio" name=timeframe value=month' . ($_REQUEST['timeframe'] == 'month' ? ' checked' : '') . '> ' . _('Month') . '</label> <label><INPUT type="radio" name=timeframe value=SYEAR' . ($_REQUEST['timeframe'] == 'SYEAR' ? ' checked' : '') . '> ' . _('School Year') . '</label>'); DrawHeader(' <B>' . _('Report Timeframe') . ': </B>' . PrepareDate($start_date, '_start') . ' - ' . PrepareDate($end_date, '_end') . $advanced_link, SubmitButton(_('Go'))); echo '<BR />'; if ($_REQUEST['category_id']) { $tmp_REQUEST = $_REQUEST; unset($tmp_REQUEST['chart_type']); $link = PreparePHP_SELF($tmp_REQUEST); $tabs = array(array('title' => _('Column'), 'link' => str_replace($_REQUEST['modname'], $_REQUEST['modname'] . '&chart_type=column', $link)), array('title' => _('List'), 'link' => str_replace($_REQUEST['modname'], $_REQUEST['modname'] . '&chart_type=list', $link))); $_ROSARIO['selected_tab'] = str_replace($_REQUEST['modname'], $_REQUEST['modname'] . '&chart_type=' . str_replace(' ', '+', $_REQUEST['chart_type']), $link); PopTable('header', $tabs, '', 0); if ($_REQUEST['chart_type'] == 'list') { // IGNORE THE 'Series' RECORD $columns = array('TITLE' => _('Option')); foreach ($chart['chart_data'] as $timeframe => $values) { if ($timeframe != 0) { $columns += array($timeframe => $values[0]); unset($values[0]);
# You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # #*************************************************************************************** include '../../Redirect_modules.php'; if (!$_REQUEST['modfunc']) { $start_date = '01-' . strtoupper(date('M-y')); $end_date = DBDate(); echo "<br><FORM name=log id=log action=Modules.php?modname={$_REQUEST['modname']}&modfunc=generate method=POST>"; PopTable('header', 'Log Details'); echo '<div align=center style="padding-top:20px; font-size:12px;"><strong>Please Select Date Range</strong></div> <TABLE border=0 width=100% align=center><tr><TD valign=top style=padding-top:14px;>'; echo '<strong>From :</strong> </TD><TD valign=middle>'; DrawHeader(PrepareDate($start_date, '_start')); echo '</TD><TD valign=top style=padding-top:14px;><strong>To :</strong> </TD><TD valign=middle>'; DrawHeader(PrepareDate($end_date, '_end')); echo '</TD></TR></TABLE><div style=height:10px></div>'; echo '<center><input type="submit" class=btn_medium value="Generate" name="generate"></center>'; PopTable('footer'); echo '</FORM>'; } if ($_REQUEST['day_start'] && $_REQUEST['month_start'] && $_REQUEST['year_start']) { $start_date = $_REQUEST['day_start'] . '-' . $_REQUEST['month_start'] . '-' . substr($_REQUEST['year_start'], 2, 4); $org_start_date = $_REQUEST['day_start'] . '-' . $_REQUEST['month_start'] . '-' . $_REQUEST['year_start']; $conv_st_date = con_date($org_start_date); } if ($_REQUEST['day_end'] && $_REQUEST['month_end'] && $_REQUEST['year_end']) { $end_date = $_REQUEST['day_end'] . '-' . $_REQUEST['month_end'] . '-' . substr($_REQUEST['year_end'], 2, 4); $org_end_date = $_REQUEST['day_end'] . '-' . $_REQUEST['month_end'] . '-' . $_REQUEST['year_end']; $conv_end_date = con_date_end($org_end_date); }
echo '<TD><TABLE><TR>'; $periods_RET = DBGet(DBQuery('SELECT SHORT_NAME,PERIOD_ID FROM school_periods WHERE SYEAR=\'' . UserSyear() . '\' AND SCHOOL_ID=\'' . UserSchool() . '\' AND EXISTS (SELECT * FROM course_periods cp,course_period_var cpv WHERE cpv.PERIOD_ID=school_periods.PERIOD_ID AND cp.COURSE_PERIOD_ID=cpv.COURSE_PERIOD_ID AND cpv.DOES_ATTENDANCE=\'' . 'Y' . '\') ORDER BY SORT_ORDER')); foreach ($periods_RET as $period) { echo '<TD><INPUT type=CHECKBOX value=Y name=period[' . $period['PERIOD_ID'] . ']>' . $period['SHORT_NAME'] . '</TD>'; } echo '</TR></TABLE></TD>'; echo '<TR><TD align=right>Absence code</TD><TD><SELECT name=absence_code>'; $codes_RET = DBGet(DBQuery('SELECT TITLE,ID FROM attendance_codes WHERE SYEAR=\'' . UserSyear() . '\' AND SCHOOL_ID=\'' . UserSchool() . '\' AND TABLE_NAME=0')); foreach ($codes_RET as $code) { echo '<OPTION value=' . $code['ID'] . '>' . $code['TITLE'] . '</OPTION>'; } echo '</SELECT></TD></TR>'; echo '<TR><TD align=right>Absence reason</TD><TD><INPUT type=text name=absence_reason></TD></TR>'; echo '<TR><TD colspan=2 align=center>'; $time = mktime(0, 0, 0, $_REQUEST['month'] * 1, 1, substr($_REQUEST['year'], 2)); echo PrepareDate(strtoupper(date("d-M-y", $time)), '', false, array('M' => 1, 'Y' => 1, 'submit' => true)); $skip = date("w", $time); $last = 31; while (!checkdate($_REQUEST['month'] * 1, $last, substr($_REQUEST['year'], 2))) { $last--; } echo '<TABLE><TR>'; echo '<TH>S</TH><TH>M</TH><TH>T</TH><TH>W</TH><TH>Th</TH><TH>F</TH><TH>S</TH></TR><TR>'; $calendar_RET = DBGet(DBQuery('SELECT SCHOOL_DATE FROM attendance_calendar WHERE SYEAR=\'' . UserSyear() . '\' AND SCHOOL_ID=\'' . UserSchool() . '\' AND MINUTES!=0 AND EXTRACT(MONTH FROM SCHOOL_DATE)=\'' . $_REQUEST['month'] * 1 . '\''), array(), array('SCHOOL_DATE')); for ($i = 1; $i <= $skip; $i++) { echo '<TD></TD>'; } for ($i = 1; $i <= $last; $i++) { $this_date = $_REQUEST['year'] . '-' . $_REQUEST['month'] . '-' . ($i < 10 ? '0' . $i : $i); if (!$calendar_RET[$this_date]) { $disabled = ' DISABLED';