Пример #1
0
function Widgets($item, &$myextra = null)
{
    global $extra, $_CENTRE, $CentreModules;
    if (isset($myextra)) {
        $extra =& $myextra;
    }
    if (!is_array($_CENTRE['Widgets'])) {
        $_CENTRE['Widgets'] = array();
    }
    if (!is_array($extra['functions'])) {
        $extra['functions'] = array();
    }
    if ((User('PROFILE') == 'admin' || User('PROFILE') == 'teacher') && !$_CENTRE['Widgets'][$item]) {
        switch ($item) {
            case 'all':
                $extra['search'] .= '<TR><TD colspan=2>';
                if ($CentreModules['Students'] && (!$_CENTRE['Widgets']['calendar'] || !$_CENTRE['Widgets']['next_year'] || !$_CENTRE['Widgets']['enrolled'] || !$_CENTRE['Widgets']['rolled'])) {
                    $extra['search'] .= '<A onclick="switchMenu(\'enrollment_table\');"><IMG SRC=assets/arrow_right.gif id=enrollment_table_arrow> <B>' . _('Enrollment') . '</B></A><BR><TABLE bgcolor=#f8f8f9 width=100% id=enrollment_table style="display:none;">';
                    Widgets('calendar', $extra);
                    Widgets('next_year', $extra);
                    Widgets('enrolled', $extra);
                    Widgets('rolled', $extra);
                    $extra['search'] .= '</TABLE>';
                }
                if ($CentreModules['Scheduling'] && (!$_CENTRE['Widgets']['course'] || !$_CENTRE['Widgets']['request']) && User('PROFILE') == 'admin') {
                    $extra['search'] .= '<A onclick="switchMenu(\'scheduling_table\');"><IMG SRC=assets/arrow_right.gif id=scheduling_table_arrow> <B>' . _('Scheduling') . '</B></A><BR><TABLE bgcolor=#f8f8f9 width=100% id=scheduling_table style="display:none;">';
                    Widgets('course', $extra);
                    //Widgets('request',$extra);
                    $extra['search'] .= '</TABLE>';
                }
                if ($CentreModules['Attendance'] && !$_CENTRE['Widgets']['absences']) {
                    $extra['search'] .= '<A onclick="switchMenu(\'absences_table\');"><IMG SRC=assets/arrow_right.gif id=absences_table_arrow> <B>' . _('Attendance') . '</B></A><BR><TABLE bgcolor=#f8f8f9 width=100% id=absences_table style="display:none;">';
                    Widgets('absences', $extra);
                    $extra['search'] .= '</TABLE>';
                }
                if ($CentreModules['Grades'] && (!$_CENTRE['Widgets']['gpa'] || !$_CENTRE['Widgets']['class_rank'] || !$_CENTRE['Widgets']['letter_grade'])) {
                    $extra['search'] .= '<A onclick="switchMenu(\'grades_table\');"><IMG SRC=assets/arrow_right.gif id=grades_table_arrow> <B>' . _('Grades') . '</B></A><BR><TABLE bgcolor=#f8f8f9 width=100% cellpadding=5 id=grades_table style="display:none;">';
                    Widgets('gpa', $extra);
                    Widgets('class_rank', $extra);
                    Widgets('letter_grade', $extra);
                    $extra['search'] .= '</TABLE>';
                }
                if ($CentreModules['Eligibility'] && (!$_CENTRE['Widgets']['eligibility'] || !$_CENTRE['Widgets']['activity'])) {
                    $extra['search'] .= '<A onclick="switchMenu(\'eligibility_table\');"><IMG SRC=assets/arrow_right.gif id=eligibility_table_arrow> <B>' . _('Eligibility') . '</B></A><BR><TABLE bgcolor=#f8f8f9 width=100% id=eligibility_table style="display:none;">';
                    Widgets('eligibility', $extra);
                    Widgets('activity', $extra);
                    $extra['search'] .= '</TABLE>';
                }
                if ($CentreModules['Food_Service'] && (!$_CENTRE['Widgets']['fsa_balance'] || !$_CENTRE['Widgets']['fsa_discount'] || !$_CENTRE['Widgets']['fsa_status'] || !$_CENTRE['Widgets']['fsa_barcode'])) {
                    $extra['search'] .= '<A onclick="switchMenu(\'food_service_table\');"><IMG SRC=assets/arrow_right.gif id=food_service_table_arrow> <B>' . _('Food Service') . '</B></A><BR><TABLE bgcolor=#f8f8f9 width=100% id=food_service_table style="display:none;">';
                    Widgets('fsa_balance', $extra);
                    Widgets('fsa_discount', $extra);
                    Widgets('fsa_status', $extra);
                    Widgets('fsa_barcode', $extra);
                    $extra['search'] .= '</TABLE>';
                }
                if ($CentreModules['Discipline'] && (!$_CENTRE['Widgets']['discipline'] || !$_CENTRE['Widgets']['discipline_categories'])) {
                    $extra['search'] .= '<A onclick="switchMenu(\'discipline_table\');"><IMG SRC=assets/arrow_right.gif id=discipline_table_arrow> <B>' . _('Discipline') . '</B></A><BR><TABLE bgcolor=#f8f8f9 width=100% id=discipline_table style="display:none;">';
                    Widgets('discipline', $extra);
                    Widgets('discipline_categories', $extra);
                    $extra['search'] .= '</TABLE>';
                }
                if ($CentreModules['Student_Billing'] && !$_CENTRE['Widgets']['balance']) {
                    $extra['search'] .= '<A onclick="switchMenu(\'billing_table\');"><IMG SRC=assets/arrow_right.gif id=billing_table_arrow> <B>' . _('Student Billing') . '</B></A><BR><TABLE bgcolor=#f8f8f9 width=100% id=billing_table style="display:none;">';
                    Widgets('balance', $extra);
                    $extra['search'] .= '</TABLE>';
                }
                $extra['search'] .= '</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($_CENTRE['Widgets']) ? " AND TITLE NOT IN ('" . implode("','", array_keys($_CENTRE['Widgets'])) . "')" : '')));
                foreach ($widgets_RET as $widget) {
                    Widgets($widget['TITLE'], $extra);
                }
                break;
            case 'course':
                if ($CentreModules['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']) {
                                $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('Course')) . ' </b></font>' . $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']) {
                                $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('Course Period')) . ' </b></font>' . $course[1]['COURSE_TITLE'] . ': ' . $course[1]['TITLE'] . '<BR>';
                            }
                        }
                    }
                    $extra['search'] .= "<TR><TD align=right width=120>" . _('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\");'><SMALL>" . _('Choose') . "</SMALL></A></TD></TR>";
                }
                break;
            case 'request':
                if ($CentreModules['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']) {
                                $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('Request')) . ' </b></font>' . $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']) {
                                $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('Missing Request')) . ' </b></font>' . $course[1]['TITLE'] . '<BR>';
                            }
                        }
                    }
                    $extra['search'] .= "<TR><TD align=right width=120>" . _('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\");'><SMALL>" . _('Choose') . "</SMALL></A></TD></TR>";
                }
                break;
            case 'absences':
                if ($CentreModules['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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . _('Days Absent') . '&nbsp;' . $term . ' ' . _('Between') . ' </b></font>' . $_REQUEST['absences_low'] . ' &amp; ' . $_REQUEST['absences_high'] . '<BR>';
                        }
                    }
                    $extra['search'] .= "<TR><TD align=right width=120>" . _('Days Absent') . "<BR><INPUT type=radio name=absences_term value=FY checked><small>YTD</small><INPUT type=radio name=absences_term value=SEM><small>" . GetMP(GetParentMP('SEM', UserMP()), 'SHORT_NAME') . "</small><INPUT type=radio name=absences_term value=QTR><small>" . GetMP(UserMP(), 'SHORT_NAME') . "</small></TD><TD><small>" . _('Between') . "</small> <INPUT type=text name=absences_low size=3 maxlength=5> <small>&amp;</small> <INPUT type=text name=absences_high size=3 maxlength=5></TD></TR>";
                }
                break;
            case 'gpa':
                if ($CentreModules['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']) {
                            $extra['SELECT'] .= ',sgc.WEIGHTED_GPA,sgc.UNWEIGHTED_GPA';
                            $extra['columns_after']['WEIGHTED_GPA'] = _('Weighted GPA');
                            $extra['columns_after']['UNWEIGHTED_GPA'] = _('Unweighted GPA');
                        }
                        if (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'] . "'";
                        }
                        $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'] . "'";
                        if (!$extra['NoSearchTerms']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . ($_REQUEST['gpa_weighted'] == 'Y' ? 'Weighted ' : '') . Localize('colon', _('GPA between')) . ' </b></font>' . $_REQUEST['gpa_low'] . ' &amp; ' . $_REQUEST['gpa_high'] . '<BR>';
                        }
                    }
                    $extra['search'] .= "<TR><TD align=right width=120>GPA<BR><INPUT type=checkbox name=gpa_weighted value=Y><small>" . _('Weighted') . "</small><BR><INPUT type=radio name=gpa_term value=CUM checked><small>" . _('Cumulative') . "</small><INPUT type=radio name=gpa_term value=" . GetParentMP('SEM', UserMP()) . "><small>" . GetMP(GetParentMP('SEM', UserMP()), 'SHORT_NAME') . "</small><INPUT type=radio name=gpa_term value=" . UserMP() . "><small>" . GetMP(UserMP(), 'SHORT_NAME') . "</small></TD><TD><small>" . _('Between') . "</small> <INPUT type=text name=gpa_low size=3 maxlength=5> <small>&amp;</small> <INPUT type=text name=gpa_high size=3 maxlength=5></TD></TR>";
                }
                break;
            case 'class_rank':
                if ($CentreModules['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;
                        }
                        if (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'] . "'";
                        }
                        $extra['WHERE'] .= " AND sgc.CLASS_RANK BETWEEN '{$_REQUEST['class_rank_low']}' AND '{$_REQUEST['class_rank_high']}'";
                        if (!$extra['NoSearchTerms']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('Class Rank')) . ' ' . _('Between') . '</b></font>' . $_REQUEST['class_rank_low'] . ' &amp; ' . $_REQUEST['class_rank_high'] . '<BR>';
                        }
                    }
                    $extra['search'] .= "<TR><TD align=right width=120>Class Rank<BR><INPUT type=radio name=class_rank_term value=CUM checked><small>" . _('Cumulative') . "</small><INPUT type=radio name=class_rank_term value=" . GetParentMP('SEM', UserMP()) . "><small>" . GetMP(GetParentMP('SEM', UserMP()), 'SHORT_NAME') . "</small><INPUT type=radio name=class_rank_term value=" . UserMP() . "><small>" . GetMP(UserMP(), 'SHORT_NAME') . "</small>";
                    if (strlen($pros = GetChildrenMP('PRO', UserMP()))) {
                        $pros = explode(',', str_replace("'", '', $pros));
                        foreach ($pros as $pro) {
                            $extra['search'] .= "<INPUT type=radio name=class_rank_term value=" . $pro . "><small>" . GetMP($pro, 'SHORT_NAME') . "</small>";
                        }
                    }
                    $extra['search'] .= "</TD><TD><small>" . _('Between') . "</small> <INPUT type=text name=class_rank_low size=3 maxlength=5> <small>&amp;</small> <INPUT type=text name=class_rank_high size=3 maxlength=5></TD></TR>";
                }
                break;
            case 'letter_grade':
                if ($CentreModules['Grades']) {
                    if (count($_REQUEST['letter_grade'])) {
                        if (!$extra['NoSearchTerms']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>With' . ($_REQUEST['letter_grade_exclude'] == 'Y' ? 'out' : '') . ' Report Card Grade: </b></font>';
                        }
                        $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']) {
                                $_CENTRE['SearchTerms'] .= $letter_grades_RET[$grade][1]['TITLE'] . ', ';
                            }
                        }
                        if (!$extra['NoSearchTerms']) {
                            $_CENTRE['SearchTerms'] = substr($_CENTRE['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 (" . substr($letter_grades, 1) . ") AND sg3.MARKING_PERIOD_ID='" . $_REQUEST['letter_grade_term'] . "' )";
                    }
                    $extra['search'] .= "<TR><TD align=right width=120>" . _('Letter Grade') . "<BR><INPUT type=checkbox name=letter_grade_exclude value=Y><small>" . _('Did not receive') . "</small><BR><INPUT type=radio name=letter_grade_term value=" . GetParentMP('SEM', UserMP()) . "><small>" . GetMP(GetParentMP('SEM', UserMP()), 'SHORT_NAME') . "</small><INPUT type=radio name=letter_grade_term value=" . UserMP() . "><small>" . GetMP(UserMP(), 'SHORT_NAME') . "</small>";
                    if (strlen($pros = GetChildrenMP('PRO', UserMP()))) {
                        $pros = explode(',', str_replace("'", '', $pros));
                        foreach ($pros as $pro) {
                            $extra['search'] .= "<INPUT type=radio name=letter_grade_term value=" . $pro . "><small>" . GetMP($pro, 'SHORT_NAME') . "</small>";
                        }
                    }
                    $extra['search'] .= "</TD><TD>";
                    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'] .= '<INPUT type=checkbox value=Y name=letter_grade[' . $grade['ID'] . ']>' . $grade['TITLE'];
                                $i++;
                            }
                        }
                    }
                    $extra['search'] .= '</TD></TR>';
                }
                break;
            case 'eligibility':
                if ($CentreModules['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 = strtoupper(date('d-M-y', time() - ($today - $START_DAY) * 60 * 60 * 24));
                        $end_date = 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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('Eligibility')) . ' </b></font>' . _('Ineligible') . '<BR>';
                        }
                    }
                    $extra['search'] .= "<TR><TD align=right width=120>" . _('Ineligible') . "</TD><TD><INPUT type=checkbox name=ineligible value='Y'></TD></TR>";
                }
                break;
            case 'activity':
                if ($CentreModules['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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Activity: </b></font>' . $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 align=right width=120>" . _('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 align=right width=120>' . _('Mailing Labels') . '</TD><TD><INPUT type=checkbox name=mailing_labels value=Y></TD>';
                break;
            case 'balance':
                if ($CentreModules['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(f.AMOUNT) FROM BILLING_FEES f,STUDENTS_JOIN_FEES sjf WHERE sjf.FEE_ID=f.ID AND sjf.STUDENT_ID=ssm.STUDENT_ID AND f.SYEAR=ssm.SYEAR),0)+(SELECT coalesce(sum(f.AMOUNT),0)-coalesce(sum(f.CASH),0) FROM LUNCH_TRANSACTIONS f WHERE f.STUDENT_ID=ssm.STUDENT_ID AND f.SYEAR=ssm.SYEAR)-coalesce((SELECT sum(p.AMOUNT) FROM BILLING_PAYMENTS p WHERE p.STUDENT_ID=ssm.STUDENT_ID AND p.SYEAR=ssm.SYEAR),0)) BETWEEN '{$_REQUEST['balance_low']}' AND '{$_REQUEST['balance_high']}' ";
                        if (!$extra['NoSearchTerms']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('Student Billing Balance')) . ' </b></font>' . _('Between') . ' ' . $_REQUEST['balance_low'] . ' &amp; ' . $_REQUEST['balance_high'] . '<BR>';
                        }
                    }
                    $extra['search'] .= "<TR><TD align=right width=120>" . _('Balance') . "<BR></TD><TD><small>" . _('Between') . "</small> <INPUT type=text name=balance_low size=5 maxlength=10> <small>&amp;</small> <INPUT type=text name=balance_high size=5 maxlength=10></TD></TR>";
                }
                break;
            case 'discipline':
                if ($CentreModules['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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Reporter: </b></font>' . $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 align=right width=120>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>';
                    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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Incident Date Between: </b></font>' . ProperDate($_REQUEST['discipline_entry_begin']) . '<font color=gray><b> and </b></font>' . ProperDate($_REQUEST['discipline_entry_end']) . '<BR>';
                        }
                    } elseif ($_REQUEST['discipline_entry_begin']) {
                        $extra['WHERE'] .= " AND dr.ENTRY_DATE>='{$_REQUEST['discipline_entry_begin']}' ";
                        if (!$extra['NoSearchTerms']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Incident Entered On or After </b></font>' . ProperDate($_REQUEST['discipline_entry_begin']) . '<BR>';
                        }
                    } elseif ($_REQUEST['discipline_entry_end']) {
                        $extra['WHERE'] .= " AND dr.ENTRY_DATE<='{$_REQUEST['discipline_entry_end']}' ";
                        if (!$extra['NoSearchTerms']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Incident Entered On or Before </b></font>' . ProperDate($_REQUEST['discipline_entry_end']) . '<BR>';
                        }
                    }
                    $extra['search'] .= '<TR><TD align=right width=120>Incident Date</TD><TD><table cellpadding=0 cellspacing=0><tr><td>&ge;&nbsp;</td><td>' . PrepareDate('', '_discipline_entry_begin', true, array('short' => true)) . '</td></tr><tr><td>&le;&nbsp;</td><td>' . PrepareDate('', '_discipline_entry_end', true, array('short' => true)) . '</td></tr></table></TD></TR>';
                }
                break;
            case 'discipline_categories':
                if ($CentreModules['Discipline']) {
                    $categories_RET = DBGet(DBQuery("SELECT ID,TITLE,TYPE,OPTIONS FROM DISCIPLINE_CATEGORIES WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' AND TYPE!='textarea'"));
                    foreach ($categories_RET as $category) {
                        if ($category['TYPE'] != 'date') {
                            $extra['search'] .= '<TR><TD align=right width=120>' . $category['TITLE'] . '</TD><TD>';
                            switch ($category['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':
                                    if ($_REQUEST['discipline_begin'][$category['ID']] && $_REQUEST['discipline_end'][$category['ID']]) {
                                        $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . " BETWEEN '" . $_REQUEST['discipline_begin'][$category['ID']] . "' AND '" . $_REQUEST['discipline_end'][$category['ID']] . "' ";
                                        if (!$extra['NoSearchTerms']) {
                                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . $category['TITLE'] . ' &ge; </b></font>' . $_REQUEST['discipline_begin'][$category['ID']] . '<font color=gray><b> and &le; </b></font>' . $_REQUEST['discipline_end'][$category['ID']] . '<BR>';
                                        }
                                    } elseif ($_REQUEST['discipline_begin'][$category['ID']]) {
                                        $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . ">='" . $_REQUEST['discipline_begin'][$category['ID']] . "' ";
                                        if (!$extra['NoSearchTerms']) {
                                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . $category['TITLE'] . ' &ge; </b></font>' . $_REQUEST['discipline_begin'][$category['ID']] . '<BR>';
                                        }
                                    } elseif ($_REQUEST['discipline_end'][$category['ID']]) {
                                        $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . "<='" . $_REQUEST['discipline_end'][$category['ID']] . "' ";
                                        if (!$extra['NoSearchTerms']) {
                                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . $category['TITLE'] . ' &le; </b></font>' . $_REQUEST['discipline_end'][$category['ID']] . '<BR>';
                                        }
                                    }
                                    $extra['search'] .= '&ge; <INPUT type=text name=discipline_begin[' . $category['ID'] . '] size=3 maxlength=11> &le; <INPUT type=text name=discipline_end[' . $category['ID'] . '] size=3 maxlength=11>';
                                    break;
                                case 'multiple_checkbox':
                                case 'multiple_radio':
                                case 'select':
                                    $category['OPTIONS'] = str_replace("\n", "\r", str_replace("\r\n", "\r", $category['OPTIONS']));
                                    $category['OPTIONS'] = explode("\r", $category['OPTIONS']);
                                    $extra['search'] .= '<SELECT name=discipline[' . $category['ID'] . ']><OPTION value="">' . _('Not Specified') . '</OPTION><OPTION value="!">' . _('No Value') . '</OPTION>';
                                    foreach ($category['OPTIONS'] as $option) {
                                        $extra['search'] .= '<OPTION value="' . $option . '">' . $option . '</OPTION>';
                                    }
                                    $extra['search'] .= '</SELECT>';
                                    if ($_REQUEST['discipline'][$category['ID']]) {
                                        if ($_REQUEST['discipline'][$category['ID']] == '!') {
                                            $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . " IS NULL ";
                                        } elseif ($category['TYPE'] == 'multiple_radio' || $category['TYPE'] == 'select') {
                                            $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . "='" . $_REQUEST['discipline'][$category['ID']] . "' ";
                                        } elseif ($category['TYPE'] == 'multiple_checkbox') {
                                            $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . " LIKE '%||" . $_REQUEST['discipline'][$category['ID']] . "||%' ";
                                        }
                                    }
                                    break;
                            }
                            $extra['search'] .= '</TD></TR>';
                        }
                    }
                }
                break;
            case 'next_year':
                if ($CentreModules['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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('Next Year')) . ' </b></font>No Value<BR>';
                        }
                    } elseif ($_REQUEST['next_year'] != '') {
                        $extra['WHERE'] .= " AND ssm.NEXT_SCHOOL='" . $_REQUEST['next_year'] . "'";
                        if (!$extra['NoSearchTerms']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('Next Year')) . ' </b></font>' . ($_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 align=right width=120>" . _('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 ($CentreModules['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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Calendar: </b></font>' . ($_REQUEST['calendar_not'] == 'Y' ? 'Any' : 'No') . ' Value<BR>';
                        }
                    } elseif ($_REQUEST['calendar'] != '') {
                        $extra['WHERE'] .= " AND ssm.CALENDAR_ID" . ($_REQUEST['calendar_not'] == 'Y' ? '!' : '') . "='" . $_REQUEST['calendar'] . "'";
                        if (!$extra['NoSearchTerms']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Calendar: </b></font>' . ($_REQUEST['calendar_not'] == 'Y' ? 'Not ' : '') . $calendars_RET[$_REQUEST['calendar']][1]['TITLE'] . '<BR>';
                        }
                    }
                    $extra['search'] .= "<TR><TD align=right width=120>Calendar</TD><TD><INPUT type=checkbox name=calendar_not value=Y>Not <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 ($CentreModules['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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Enrolled Between: </b></font>' . 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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Enrolled On or After: </b></font>' . ProperDate($_REQUEST['enrolled_begin']) . '<BR>';
                        }
                    }
                    if ($_REQUEST['enrolled_end']) {
                        $extra['WHERE'] .= " AND ssm.START_DATE<='" . $_REQUEST['enrolled_end'] . "'";
                        if (!$extra['NoSearchTerms']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Enrolled On or Before: </b></font>' . ProperDate($_REQUEST['enrolled_end']) . '<BR>';
                        }
                    }
                    $extra['search'] .= '<TR><TD align=right width=120>Attendance Start</TD><TD><table cellpadding=0 cellspacing=0><tr><td>&ge;&nbsp;</td><td>' . PrepareDate('', '_enrolled_begin', true, array('short' => true)) . '</td></tr><tr><td>&le;&nbsp;</td><td>' . PrepareDate('', '_enrolled_end', true, array('short' => true)) . '</td></tr></table></TD></TR>';
                }
                break;
            case 'rolled':
                if ($CentreModules['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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Previously Enrolled: </b></font>' . ($_REQUEST['rolled'] == 'Y' ? 'Yes' : 'No') . '<BR>';
                        }
                    }
                    $extra['search'] .= '<TR><TD align=right width=120>Previously Enrolled</TD><TD><INPUT type=radio value="" name=rolled checked>N/A <INPUT type=radio value=Y name=rolled>Yes <INPUT type=radio value=N name=rolled>No</TD></TR>';
                }
                break;
            case 'fsa_balance_warning':
                $value = $GLOBALS['warning'];
                $item = 'fsa_balance';
            case 'fsa_balance':
                if ($CentreModules['Food_Service']) {
                    if ($_REQUEST['fsa_balance'] != '') {
                        if (!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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Food Service Balance: </b></font>' . ($_REQUEST['fsa_bal_ge'] == 'Y' ? '&ge;' : '&lt;') . number_format($_REQUEST['fsa_balance'], 2) . '<BR>';
                        }
                    }
                    $extra['search'] .= '<TR><TD align=right width=120>Balance</TD><TD><table cellpadding=0 cellspacing=0><tr><td>&lt;<INPUT type=radio name=fsa_bal_ge value="" CHECKED></td><td rowspan=2><INPUT type=text name=fsa_balance size=10' . ($value ? ' value="' . $value . '"' : '') . '></td></tr><tr><td>&ge;<INPUT type=radio name=fsa_bal_ge value=Y></td></tr></table></TD></TR>';
                }
                break;
            case 'fsa_discount':
                if ($CentreModules['Food_Service']) {
                    if ($_REQUEST['fsa_discount']) {
                        if (!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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Food Service Dscount: </b></font>' . $_REQUEST['fsa_discount'] . '<BR>';
                        }
                    }
                    $extra['search'] .= '<TR><TD align=right width=120>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 ($CentreModules['Food_Service']) {
                    if ($_REQUEST['fsa_status']) {
                        if (!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 align=right width=120>Account Status</TD><TD><SELECT name=fsa_status><OPTION value="">Not Specified</OPTION><OPTION value="Active"' . ($value == 'active' ? ' 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 ($CentreModules['Food_Service']) {
                    if ($_REQUEST['fsa_barcode']) {
                        if (!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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Food Service Barcode: </b></font>' . $_REQUEST['fsa_barcode'] . '<BR>';
                        }
                    }
                    $extra['search'] .= '<TR><TD align=right width=120>Barcode</TD><TD><INPUT type=text name=fsa_barcode size="15"></TD></TR>';
                }
                break;
            case 'fsa_account_id':
                if ($CentreModules['Food_Service']) {
                    if ($_REQUEST['fsa_account_id']) {
                        if (!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']) {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>Food Service Account ID: </b></font>' . ($_REQUEST['fsa_account_id'] + 0) . '<BR>';
                        }
                    }
                    $extra['search'] .= '<TR><TD align=right width=120>Account ID</TD><TD><INPUT type=text name=fsa_account_id size="15"></TD></TR>';
                }
                break;
        }
        $_CENTRE['Widgets'][$item] = true;
    }
}
Пример #2
0
#  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 '../../RedirectModulesInc.php';
if (!$_REQUEST['modfunc'] && $_REQUEST['search_modfunc'] != 'list') {
    unset($_SESSION['MassDrops.php']);
}
if (clean_param($_REQUEST['modfunc'], PARAM_ALPHA) == 'save') {
    $END_DATE = $_REQUEST['day'] . '-' . $_REQUEST['month'] . '-' . $_REQUEST['year'];
    $end_date_mod = date('Y-m-d', strtotime($END_DATE));
    if (!VerifyDate($END_DATE)) {
        DrawHeader('<table><tr><td><IMG SRC=assets/x.gif></td><td>The date you entered is not valid</td></tr></table>');
        for_error_sch();
    } else {
        $mp_table = GetMPTable(GetMP($_REQUEST['marking_period_id'], 'TABLE'));
        $current_RET = DBGet(DBQuery('SELECT STUDENT_ID FROM schedule WHERE COURSE_PERIOD_ID=\'' . $_SESSION['MassDrops.php']['course_period_id'] . '\''));
        if (count($_REQUEST['student']) > 0) {
            foreach ($_REQUEST['student'] as $student_id => $yes) {
                $start_end_RET = DBGet(DBQuery('SELECT START_DATE,END_DATE,SCHEDULER_LOCK FROM schedule WHERE STUDENT_ID=\'' . $student_id . '\' AND COURSE_PERIOD_ID=\'' . $_SESSION['MassDrops.php']['course_period_id'] . '\''));
                if (count($start_end_RET)) {
                    if ($start_end_RET[1]['SCHEDULER_LOCK'] == 'Y' || $start_end_RET[1]['START_DATE'] > $end_date_mod) {
                        $select_stu = DBGet(DBQuery('SELECT FIRST_NAME,LAST_NAME FROM students WHERE STUDENT_ID=\'' . $student_id . '\''));
                        $select_stu = $select_stu[1]['FIRST_NAME'] . "&nbsp;" . $select_stu[1]['LAST_NAME'];
                        if ($start_end_RET[1]['SCHEDULER_LOCK'] == 'Y') {
                            $inactive_schedule2 .= $select_stu . "<br>";
                            $inactive_schedule_found = 2;
Пример #3
0
         if ($_REQUEST['day_values']['START_DATE'][$school_id]) {
             $start_date = $_REQUEST['day_values']['START_DATE'][$school_id] . "-" . $_REQUEST['month_values']['START_DATE'][$school_id] . "-" . $_REQUEST['year_values']['START_DATE'][$school_id];
         } else {
             $start_date = '';
         }
         if ($_REQUEST['day_values']['END_DATE'][$school_id]) {
             $end_date = $_REQUEST['day_values']['END_DATE'][$school_id] . "-" . $_REQUEST['month_values']['END_DATE'][$school_id] . "-" . $_REQUEST['year_values']['END_DATE'][$school_id];
         } else {
             $end_date = '';
         }
         if ($end_date != '') {
             $end_date = date('Y-m-d', strtotime($end_date));
         } else {
             $end_date = '0000-00-00';
         }
         if ($start_date != '' && VerifyDate($start_date) || $end_date != '' && VerifyDate($end_date) || $start_date == '' && $end_date == '') {
             $day_valid = true;
             $user_syear_RET = DBGet(DBQuery('SELECT MAX(syear) AS USERSYEAR FROM school_years WHERE school_id=\'' . $school_id . '\''));
             $usersyear = $user_syear_RET[1]['USERSYEAR'];
             $rel_value .= "({$staff_id},{$school_id},{$usersyear},'" . date('Y-m-d', strtotime($start_date)) . "','" . $end_date . "'),";
         } else {
             $day_valid = true;
             $user_syear_RET = DBGet(DBQuery('SELECT MAX(syear) AS USERSYEAR FROM school_years WHERE school_id=\'' . $school_id . '\''));
             $usersyear = $user_syear_RET[1]['USERSYEAR'];
             $rel_value .= "({$staff_id},{$school_id},{$usersyear},'0000-00-00','" . $end_date . "'),";
         }
     }
     $rel_value = substr($rel_value, 0, -1);
     DBQuery("INSERT INTO staff_school_relationship(staff_id,school_id,syear,start_date,end_date)VALUES ({$rel_value})");
     $_SESSION['staff_id'] = $_REQUEST['staff_id'] = $staff_id;
 } else {
Пример #4
0
function SaveData($iu_extra, $fields_done = false, $field_names = false)
{
    if (!$fields_done) {
        $fields_done = array();
    }
    if (!$field_names) {
        $field_names = array();
    }
    if ($_REQUEST['month_values']) {
        foreach ($_REQUEST['month_values'] as $table => $values) {
            foreach ($values as $id => $columns) {
                foreach ($columns as $column => $value) {
                    $_REQUEST['values'][$table][$id][$column] = $_REQUEST['day_values'][$table][$id][$column] . '-' . $value . '-' . $_REQUEST['year_values'][$table][$id][$column];
                    if ($_REQUEST['values'][$table][$id][$column] == '--') {
                        $_REQUEST['values'][$table][$id][$column] = '';
                    }
                }
            }
        }
    }
    foreach ($_REQUEST['values'] as $table => $values) {
        $table_properties = db_properties($table);
        foreach ($values as $id => $columns) {
            foreach ($columns as $column => $value) {
                if ($field_names[$table][$column]) {
                    $name = 'The value for ' . $field_names[$table][$column];
                } else {
                    $name = 'The value for ' . ucwords(strtolower(str_replace('_', ' ', $column)));
                }
                // COLUMN DOESN'T EXIST
                if (!$table_properties[$column]) {
                    $error[] = 'There is no column for ' . $name . '. This value was not saved.';
                    continue;
                }
                // VALUE IS TOO LONG
                if ($table_properties[$column]['TYPE'] == 'VARCHAR' && strlen($value) > $table_properties[$column]['SIZE']) {
                    $value = substr($value, 0, $table_properties[$column]['SIZE']);
                    $error[] = $name . ' was too long.  It was truncated to fit in the field.';
                }
                // FIELD IS NUMERIC, VALUE CONTAINS NON-NUMERICAL CHARACTERS
                if ($table_properties[$column]['TYPE'] == 'NUMERIC' && ereg('[^0-9-]', $value)) {
                    $value = ereg_replace('[^0-9]', '', $value);
                    $error[] = $name . ', a numerical field, contained non-numerical characters.  These characaters were removed.';
                }
                // FIELD IS DATE, DATE IS WRONG
                if ($table_properties[$column]['TYPE'] == 'DATE' && $value && !VerifyDate($value)) {
                    $error[] = $name . ', a date field, was not a valid date.  This value could not be saved.';
                    continue;
                }
                if ($table_properties[$column]['TYPE'] == 'DATE' && $value) {
                    $value = date('Y-m-d', strtotime($value));
                }
                if ($id == 'new') {
                    if ($value) {
                        $ins_fields[$table] .= $column . ',';
                        $ins_values[$table] .= "'" . str_replace("\\'", "''", $value) . "',";
                        $go = true;
                    }
                } else {
                    if (strlen($value) > 0) {
                        $sql[$table] .= "{$column}='" . str_replace("\\'", "''", str_replace('&#39;', "''", $value)) . "',";
                    } else {
                        $sql[$table] .= "{$column}=NULL,";
                    }
                }
            }
            if ($id == 'new') {
                $sql[$table] = 'INSERT INTO ' . $table . ' (' . $iu_extra['fields'][$table] . substr($ins_fields[$table], 0, -1) . ') values(' . $iu_extra['values'][$table] . substr($ins_values[$table], 0, -1) . ')';
            } else {
                $sql[$table] = 'UPDATE ' . $table . ' SET ' . substr($sql[$table], 0, -1) . ' WHERE ' . str_replace('__ID__', $id, $iu_extra[$table]);
            }
            echo ErrorMessage($error);
            if ($id != 'new' || $go == true) {
                DBQuery($sql[$table]);
            }
            $error = $ins_fields = $ins_values = $sql = $go = '';
        }
    }
}
Пример #5
0
if (count($grades_RET)) {
    foreach ($grades_RET as $value) {
        $options[$value['ID']] = $value['TITLE'];
    }
}
if ($_REQUEST['student_id'] != 'new' && $student['SCHOOL_ID'] != UserSchool()) {
    $allow_edit = $_openSIS['allow_edit'];
    $AllowEdit = $_openSIS['AllowEdit'][$_REQUEST['modname']];
    $_openSIS['AllowEdit'][$_REQUEST['modname']] = $_openSIS['allow_edit'] = false;
}
if ($_REQUEST['student_id'] == 'new') {
    $student_id = 'new';
} else {
    $student_id = UserStudentID();
}
if ($student_id == 'new' && !VerifyDate($_REQUEST['day_values']['student_enrollment']['new']['START_DATE'] . '-' . $_REQUEST['month_values']['student_enrollment']['new']['START_DATE'] . '-' . $_REQUEST['year_values']['student_enrollment']['new']['START_DATE'])) {
    unset($student['GRADE_ID']);
}
echo SelectInput($student['GRADE_ID'], 'values[student_enrollment][' . $student_id . '][GRADE_ID]', (!$student['GRADE_ID'] ? '<FONT color=red>' : '') . '' . (!$student['GRADE_ID'] ? '</FONT>' : ''), $options, '', '');
echo '</td></tr>';
echo '</table>';
echo '</td></TR>';
echo '<TR><td height="30px" colspan=2 class=hseparator><b>Access Information</b></td></tr><tr><td colspan="2">';
echo '<TABLE border=0>';
echo '<tr><td style=width:120px>Username</td><td>:</td><td>';
echo TextInput($student['USERNAME'], 'students[USERNAME]', '', 'class=cell_medium onkeyup="usercheck_init_student(this)"');
echo '<span id="ajax_output_st"></span>';
echo '</td></tr>';
echo '<tr><td>Password</td><td>:</td><td>';
echo TextInput(array($student['PASSWORD'], str_repeat('*', strlen($student['PASSWORD']))), 'students[PASSWORD]', '', 'class=cell_medium onkeyup=passwordStrength(this.value)', 'AUTOCOMPLETE = off');
echo '<div id="passwordStrength" style=display:none></div>';
Пример #6
0
function SaveData($iu_extra, $fields_done = false, $field_names = false)
{
    if (!$fields_done) {
        $fields_done = array();
    }
    if (!$field_names) {
        $field_names = array();
    }
    if ($_REQUEST['month_values']) {
        foreach ($_REQUEST['month_values'] as $table => $values) {
            foreach ($values as $id => $columns) {
                foreach ($columns as $column => $value) {
                    if ($value == 'JAN') {
                        $value = '01';
                    }
                    if ($value == 'FEB') {
                        $value = '02';
                    }
                    if ($value == 'MAR') {
                        $value = '03';
                    }
                    if ($value == 'APR') {
                        $value = '04';
                    }
                    if ($value == 'MAY') {
                        $value = '05';
                    }
                    if ($value == 'JUN') {
                        $value = '06';
                    }
                    if ($value == 'JUL') {
                        $value = '07';
                    }
                    if ($value == 'AUG') {
                        $value = '08';
                    }
                    if ($value == 'SEP') {
                        $value = '09';
                    }
                    if ($value == 'OCT') {
                        $value = '10';
                    }
                    if ($value == 'NOV') {
                        $value = '11';
                    }
                    if ($value == 'DEC') {
                        $value = '12';
                    }
                    $_REQUEST['values'][$table][$id][$column] = $_REQUEST['year_values'][$table][$id][$column] . '-' . $value . '-' . $_REQUEST['day_values'][$table][$id][$column];
                    if ($_REQUEST['values'][$table][$id][$column] == '--') {
                        $_REQUEST['values'][$table][$id][$column] = '';
                    }
                }
            }
        }
    }
    foreach ($_REQUEST['values'] as $table => $values) {
        $table_properties = db_properties($table);
        foreach ($values as $id => $columns) {
            foreach ($columns as $column => $value) {
                if ($table == 'student_enrollment') {
                    if ($column == 'START_DATE') {
                        $s_date = '1-' . $_REQUEST['month_values'][$table][$id][$column] . '-' . $_REQUEST['year_values'][$table][$id][$column];
                        $num_days = date('t', strtotime($s_date));
                        if ($num_days < $_REQUEST['day_values'][$table][$id][$column]) {
                            $error[] = '<font color=red>' . date('F', strtotime($s_date)) . ' has ' . $num_days . ' days</font>';
                            continue;
                        }
                    }
                }
                if ($field_names[$table][$column]) {
                    $name = 'The value for ' . $field_names[$table][$column];
                } else {
                    $name = 'The value for ' . ucwords(strtolower(str_replace('_', ' ', $column)));
                }
                // COLUMN DOESN'T EXIST
                if (!$table_properties[$column]) {
                    $error[] = 'There is no column for ' . $name . '. This value was not saved.';
                    continue;
                }
                // VALUE IS TOO LONG
                if ($table_properties[$column]['TYPE'] == 'VARCHAR' && strlen($value) > $table_properties[$column]['SIZE']) {
                    $value = substr($value, 0, $table_properties[$column]['SIZE']);
                    $error[] = $name . ' was too long.  It was truncated to fit in the field.';
                }
                // FIELD IS NUMERIC, VALUE CONTAINS NON-NUMERICAL CHARACTERS
                if ($table_properties[$column]['TYPE'] == 'NUMERIC' && ereg('[^0-9-]', $value)) {
                    $value = ereg_replace('[^0-9]', '', $value);
                    $error[] = $name . ', a numerical field, contained non-numerical characters.  These characaters were removed.';
                }
                // FIELD IS DATE, DATE IS WRONG
                if ($table_properties[$column]['TYPE'] == 'DATE' && $value && !VerifyDate($value)) {
                    $error[] = $name . ', a date field, was not a valid date.  This value could not be saved.';
                    continue;
                }
                if ($table_properties[$column]['TYPE'] == 'DATE' && $value) {
                    $value = date('Y-m-d', strtotime($value));
                }
                if ($id == 'new') {
                    if (trim($value)) {
                        $value = paramlib_validation($column, $value);
                        $ins_fields[$table] .= $column . ',';
                        if (stripos($_SERVER['SERVER_SOFTWARE'], 'linux')) {
                            $ins_values[$table] .= '\'' . str_replace("'", "''", $value) . ' \',';
                        } else {
                            $ins_values[$table] .= '\'' . str_replace("'", "''", $value) . ' \',';
                        }
                        $go = true;
                    }
                } else {
                    if (strlen($value) > 0) {
                        $value = paramlib_validation($column, $value);
                        if (stripos($_SERVER['SERVER_SOFTWARE'], 'linux')) {
                            $values = $column . '=\'' . str_replace("'", "''", $value) . ' \',';
                        } else {
                            $values = $column . '=\'' . str_replace("'", "''", $value) . ' \',';
                        }
                        $sql[$table] .= str_replace('%u201D', "\"", $values);
                        if ($column == 'END_DATE' && $table == 'student_enrollment') {
                            DBQuery('UPDATE schedule SET END_DATE=\'' . $value . '\' WHERE STUDENT_ID=\'' . $_REQUEST['student_id'] . '\' AND SCHOOL_ID=\'' . UserSchool() . '\'  AND SYEAR=\'' . UserSyear() . '\'');
                        }
                    } else {
                        $sql[$table] .= "{$column}=NULL,";
                    }
                }
            }
            if ($id == 'new') {
                $sql[$table] = 'INSERT INTO ' . $table . ' (' . $iu_extra['fields'][$table] . substr($ins_fields[$table], 0, -1) . ') values(' . $iu_extra['values'][$table] . substr($ins_values[$table], 0, -1) . ')';
            } else {
                $sql[$table] = 'UPDATE ' . $table . ' SET ' . substr($sql[$table], 0, -1) . ' WHERE ' . str_replace('__ID__', $id, $iu_extra[$table]);
                if ($table == 'student_enrollment') {
                    $enrollment_record = DBGet(DBQuery("SELECT * FROM student_enrollment WHERE STUDENT_ID='{$_REQUEST['student_id']}' AND SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"));
                    $enrollment_record = $enrollment_record[1];
                    //
                }
            }
            echo ErrorMessage($error);
            if ($id != 'new' || $go == true) {
                DBQuery($sql[$table]);
            }
            $error = $ins_fields = $ins_values = $sql = $go = '';
        }
    }
}
Пример #7
0
<?php

if ($_REQUEST['modfunc'] == 'save') {
    $date = $_REQUEST['day'] . '-' . $_REQUEST['month'] . '-' . $_REQUEST['year'];
    if (count($_REQUEST['month_values'])) {
        foreach ($_REQUEST['month_values'] as $field_name => $month) {
            $_REQUEST['values'][$field_name] = $_REQUEST['day_values'][$field_name] . '-' . $month . '-' . $_REQUEST['year_values'][$field_name];
            if (!VerifyDate($_REQUEST['values'][$field_name])) {
                if ($_REQUEST['values'][$field_name] != '--') {
                    $note = '<IMG SRC=assets/warning_button.gif>' . _('The date you specified is not valid, so was not used. The other data was saved.');
                }
                unset($_REQUEST['values'][$field_name]);
            }
        }
    }
    if (count($_REQUEST['values']) && count($_REQUEST['student'])) {
        if ($_REQUEST['values']['NEXT_SCHOOL'] != '') {
            $next_school = $_REQUEST['values']['NEXT_SCHOOL'];
            unset($_REQUEST['values']['NEXT_SCHOOL']);
        }
        if ($_REQUEST['values']['CALENDAR_ID']) {
            $calendar = $_REQUEST['values']['CALENDAR_ID'];
            unset($_REQUEST['values']['CALENDAR_ID']);
        }
        foreach ($_REQUEST['values'] as $field => $value) {
            if (isset($value) && $value != '') {
                $update .= ',' . $field . "='{$value}'";
                $values_count++;
            }
        }
        foreach ($_REQUEST['student'] as $student_id => $yes) {
Пример #8
0
 $id = DBGet(DBQuery("SHOW TABLE STATUS LIKE 'student_enrollment'"));
 $studentemrollment_id[1]['STUDENTENROLL_ID'] = $id[1]['AUTO_INCREMENT'];
 $studentemrollment_id = $studentemrollment_id[1]['STUDENTENROLL_ID'];
 $sql = "INSERT INTO student_enrollment ";
 $fields = 'STUDENT_ID,SYEAR,SCHOOL_ID,';
 $values = "'{$student_id}','" . UserSyear() . "','" . UserSchool() . "',";
 if ($_REQUEST['day_values']) {
     $_REQUEST['values']['student_enrollment']['new']['START_DATE'] = $_REQUEST['day_values']['student_enrollment']['new']['START_DATE'] . '-' . $_REQUEST['month_values']['student_enrollment']['new']['START_DATE'] . '-' . $_REQUEST['year_values']['student_enrollment']['new']['START_DATE'];
 } else {
     $_REQUEST['values']['student_enrollment']['new']['START_DATE'] = '';
 }
 foreach ($_REQUEST['values']['student_enrollment']['new'] as $column => $value) {
     if ($value) {
         $value = paramlib_validation($column, $value);
         if ($column == 'START_DATE' || $column == 'END_DATE') {
             if (VerifyDate($value)) {
                 $values .= "'" . date('Y-m-d', strtotime($value)) . "',";
             } else {
                 $err = "Invalid Enrollment date could not be saved";
                 continue;
             }
         } else {
             $values .= "'" . str_replace("\\'", "''", str_replace('&#39;', "''", $value)) . "',";
         }
         $fields .= $column . ',';
     }
 }
 $sql .= '(' . substr($fields, 0, -1) . ') values(' . substr($values, 0, -1) . ')';
 if (!$error) {
     if ($un_chl_res != 'exist' && $pass_chl_res != 'exist' && $day_valid != false) {
         DBQuery($sql);
Пример #9
0
    $options .= "<OPTION value={$template['ID']}>" . $template['TITLE'] . '</OPTION>';
}
$extra['second_col'] .= '<TABLE><TR><TD width=100> &nbsp; </TD><TD align=' . ALIGN_RIGHT . '>' . _('Document Template') . ' </TD><TD><SELECT name=_template_id><OPTION value="">' . _('None') . '</OPTION>' . $options . '</SELECT></TD></TR></TABLE>';
Widgets('all');
$extra['force_search'] = true;
if (!$_REQUEST['search_modfunc'] || $_REQUEST['search_modfunc'] == 'search' || $_FOCUS['modules_search']) {
    DrawHeader(ProgramTitle());
    Search('student_id', $extra);
} else {
    if ($_REQUEST['month_discipline_entry_begin'] && $_REQUEST['day_discipline_entry_begin'] && $_REQUEST['year_discipline_entry_begin']) {
        $start_date = $_REQUEST['day_discipline_entry_begin'] . '-' . $_REQUEST['month_discipline_entry_begin'] . '-' . $_REQUEST['year_discipline_entry_begin'];
        if (!VerifyDate($start_date)) {
            unset($start_date);
        }
        $end_date = $_REQUEST['day_discipline_entry_end'] . '-' . $_REQUEST['month_discipline_entry_end'] . '-' . $_REQUEST['year_discipline_entry_end'];
        if (!VerifyDate($end_date)) {
            unset($end_date);
        }
    }
    if (!$_REQUEST['_FOCUS_PDF']) {
        DrawHeader(ProgramTitle());
        echo '<BR><BR>';
    }
    foreach ($_REQUEST['elements'] as $column => $Y) {
        $extra['SELECT'] .= ',r.' . $column;
    }
    $extra['FROM'] .= ',DISCIPLINE_REFERRALS r ';
    $extra['WHERE'] .= " AND r.STUDENT_ID=ssm.STUDENT_ID AND r.SYEAR=ssm.SYEAR ";
    if (strpos($extra['FROM'], 'DISCIPLINE_REFERRALS dr') !== false) {
        $extra['WHERE'] .= ' AND r.ID=dr.ID';
    }
Пример #10
0
<?php

include 'modules/Students/config.inc.php';
if ($_REQUEST['values'] && $_POST['values']) {
    if (count($_REQUEST['month_values'])) {
        foreach ($_REQUEST['month_values'] as $table => $month_values) {
            foreach ($month_values as $column => $value) {
                $_REQUEST['values'][$table][$column] = $_REQUEST['day_values'][$table][$column] . '-' . $_REQUEST['month_values'][$table][$column] . '-' . $_REQUEST['year_values'][$table][$column];
                if ($_REQUEST['values'][$table][$column] == '--') {
                    $_REQUEST['values'][$table][$column] = '';
                } elseif (!VerifyDate($_REQUEST['values'][$table][$column])) {
                    unset($_REQUEST['values'][$table][$column]);
                    $note = _('This date is invalid and could not be saved.');
                }
            }
        }
    }
    unset($_REQUEST['day_values']);
    unset($_REQUEST['month_values']);
    unset($_REQUEST['year_values']);
    if ($_REQUEST['values']['EXISTING']) {
        if ($_REQUEST['values']['EXISTING']['address_id'] && $_REQUEST['address_id'] == 'old') {
            $_REQUEST['address_id'] = $_REQUEST['values']['EXISTING']['address_id'];
            if (count(DBGet(DBQuery("SELECT '' FROM STUDENTS_JOIN_ADDRESS WHERE ADDRESS_ID='{$_REQUEST['address_id']}' AND STUDENT_ID='" . UserStudentID() . "'"))) == 0) {
                DBQuery("INSERT INTO STUDENTS_JOIN_ADDRESS (ID,STUDENT_ID,ADDRESS_ID) values(" . db_seq_nextval('STUDENTS_JOIN_ADDRESS_SEQ') . ",'" . UserStudentID() . "','{$_REQUEST['address_id']}')");
                DBQuery("INSERT INTO STUDENTS_JOIN_PEOPLE (ID,STUDENT_ID,PERSON_ID,ADDRESS_ID,CUSTODY,EMERGENCY,STUDENT_RELATION) SELECT DISTINCT ON (PERSON_ID) " . db_seq_nextval('STUDENTS_JOIN_PEOPLE_SEQ') . ",'" . UserStudentID() . "',PERSON_ID,ADDRESS_ID,CUSTODY,EMERGENCY,STUDENT_RELATION FROM STUDENTS_JOIN_PEOPLE WHERE ADDRESS_ID='{$_REQUEST['address_id']}'");
            }
        } elseif ($_REQUEST['values']['EXISTING']['person_id'] && $_REQUEST['person_id'] == 'old') {
            $_REQUEST['person_id'] = $_REQUEST['values']['EXISTING']['person_id'];
            if (count(DBGet(DBQuery("SELECT '' FROM STUDENTS_JOIN_PEOPLE WHERE PERSON_ID='{$_REQUEST['person_id']}' AND STUDENT_ID='" . UserStudentID() . "'"))) == 0) {
                DBQuery("INSERT INTO STUDENTS_JOIN_PEOPLE (ID,STUDENT_ID,PERSON_ID,ADDRESS_ID,CUSTODY,EMERGENCY,STUDENT_RELATION) SELECT DISTINCT ON (PERSON_ID) " . db_seq_nextval('STUDENTS_JOIN_PEOPLE_SEQ') . ",'" . UserStudentID() . "',PERSON_ID,'{$_REQUEST['address_id']}',CUSTODY,EMERGENCY,STUDENT_RELATION FROM STUDENTS_JOIN_PEOPLE WHERE PERSON_ID='{$_REQUEST['person_id']}'");
Пример #11
0
             $values .= "'{$_REQUEST['year_id']}',";
             break;
         case 'QTR':
             $fields .= "PARENT_ID,";
             $values .= "'{$_REQUEST['semester_id']}',";
             break;
         case 'PRO':
             $fields .= "PARENT_ID,";
             $values .= "'{$_REQUEST['quarter_id']}',";
             break;
     }
     $go = false;
     foreach ($columns as $column => $value) {
         if ($column == 'START_DATE' || $column == 'END_DATE' || $column == 'POST_START_DATE' || $column == 'POST_END_DATE') {
             //modif Francois: fix SQL bug START_DATE or END_DATE is null
             if (!VerifyDate($value) && $value != '' || ($column == 'START_DATE' || $column == 'END_DATE') && $value == '') {
                 BackPrompt(_('Not all of the dates were entered correctly.'));
             }
         }
         if ($value) {
             $fields .= $column . ',';
             $values .= "'" . $value . "',";
             $go = true;
         }
     }
     $sql .= '(' . mb_substr($fields, 0, -1) . ') values(' . mb_substr($values, 0, -1) . ')';
 }
 // CHECK TO MAKE SURE ONLY ONE MP & ONE GRADING PERIOD IS OPEN AT ANY GIVEN TIME
 $dates_RET = DBGet(DBQuery("SELECT MARKING_PERIOD_ID FROM SCHOOL_MARKING_PERIODS WHERE MP='{$_REQUEST['mp_term']}' AND (true=false" . ($columns['START_DATE'] ? " OR '" . $columns['START_DATE'] . "' BETWEEN START_DATE AND END_DATE" : '') . ($columns['END_DATE'] ? " OR '" . $columns['END_DATE'] . "' BETWEEN START_DATE AND END_DATE" : '') . ($columns['START_DATE'] && $columns['END_DATE'] ? " OR START_DATE BETWEEN '" . $columns['START_DATE'] . "' AND '" . $columns['END_DATE'] . "'\n\t\t\t\tOR END_DATE BETWEEN '" . $columns['START_DATE'] . "' AND '" . $columns['END_DATE'] . "'" : '') . ") AND SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "'" . ($id != 'new' ? " AND SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "' AND MARKING_PERIOD_ID!='{$id}'" : '')));
 $posting_RET = DBGet(DBQuery("SELECT MARKING_PERIOD_ID FROM SCHOOL_MARKING_PERIODS WHERE MP='{$_REQUEST['mp_term']}' AND (true=false" . ($columns['POST_START_DATE'] ? " OR '" . $columns['POST_START_DATE'] . "' BETWEEN POST_START_DATE AND POST_END_DATE" : '') . ($columns['POST_END_DATE'] ? " OR '" . $columns['POST_END_DATE'] . "' BETWEEN POST_START_DATE AND POST_END_DATE" : '') . ($columns['POST_START_DATE'] && $columns['POST_END_DATE'] ? " OR POST_START_DATE BETWEEN '" . $columns['POST_START_DATE'] . "' AND '" . $columns['POST_END_DATE'] . "'\n\t\t\t\tOR POST_END_DATE BETWEEN '" . $columns['POST_START_DATE'] . "' AND '" . $columns['POST_END_DATE'] . "'" : '') . ") AND SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "'" . ($id != 'new' ? " AND MARKING_PERIOD_ID!='{$id}'" : '')));
 if (count($dates_RET)) {
Пример #12
0
function CustomFields($location, $type = 'student', $extra = array())
{
    global $_ROSARIO;
    if (count($_REQUEST['month_cust_begin'])) {
        foreach ($_REQUEST['month_cust_begin'] as $field_name => $month) {
            $_REQUEST['cust_begin'][$field_name] = $_REQUEST['day_cust_begin'][$field_name] . '-' . $month . '-' . $_REQUEST['year_cust_begin'][$field_name];
            if (!VerifyDate($_REQUEST['cust_begin'][$field_name])) {
                unset($_REQUEST['cust_begin'][$field_name]);
            }
        }
    }
    unset($_REQUEST['month_cust_begin']);
    unset($_REQUEST['year_cust_begin']);
    unset($_REQUEST['day_cust_begin']);
    if (count($_REQUEST['month_cust_end'])) {
        foreach ($_REQUEST['month_cust_end'] as $field_name => $month) {
            $_REQUEST['cust_end'][$field_name] = $_REQUEST['day_cust_end'][$field_name] . '-' . $month . '-' . $_REQUEST['year_cust_end'][$field_name];
            if (!VerifyDate($_REQUEST['cust_end'][$field_name])) {
                unset($_REQUEST['cust_end'][$field_name]);
            }
        }
    }
    unset($_REQUEST['month_cust_end']);
    unset($_REQUEST['year_cust_end']);
    unset($_REQUEST['day_cust_end']);
    if (count($_REQUEST['cust'])) {
        foreach ($_REQUEST['cust'] as $key => $value) {
            if ($value == '') {
                unset($_REQUEST['cust'][$key]);
            }
        }
    }
    switch ($location) {
        case 'from':
            break;
        case 'where':
            if (count($_REQUEST['cust']) || count($_REQUEST['cust_begin'] || count($_REQUEST['cust_null']))) {
                $fields = ParseMLArray(DBGet(DBQuery("SELECT TITLE,ID,TYPE,SELECT_OPTIONS FROM " . ($type == 'staff' ? 'STAFF' : 'CUSTOM') . "_FIELDS"), array(), array('ID')), 'TITLE');
            }
            if (count($_REQUEST['cust'])) {
                foreach ($_REQUEST['cust'] as $field_name => $value) {
                    if ($value != '') {
                        switch ($fields[mb_substr($field_name, 7)][1]['TYPE']) {
                            case 'radio':
                                if (!$extra['NoSearchTerms']) {
                                    $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . ': </b></span>';
                                }
                                if ($value == 'Y') {
                                    $string .= " AND s.{$field_name}='{$value}' ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= _('Yes');
                                    }
                                } elseif ($value == 'N') {
                                    $string .= " AND (s.{$field_name}!='Y' OR s.{$field_name} IS NULL) ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= _('No');
                                    }
                                }
                                if (!$extra['NoSearchTerms']) {
                                    $_ROSARIO['SearchTerms'] .= '<BR />';
                                }
                                break;
                            case 'codeds':
                                if (!$extra['NoSearchTerms']) {
                                    $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . ': </b></span>';
                                }
                                if ($value == '!') {
                                    $string .= " AND (s.{$field_name}='' OR s.{$field_name} IS NULL) ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= _('No Value');
                                    }
                                } else {
                                    $string .= " AND s.{$field_name}='{$value}' ";
                                    if (!$extra['NoSearchTerms']) {
                                        $select_options = str_replace("\n", "\r", str_replace("\r\n", "\r", $fields[mb_substr($field_name, 7)][1]['SELECT_OPTIONS']));
                                        $select_options = explode("\r", $select_options);
                                        foreach ($select_options as $option) {
                                            $option = explode('|', $option);
                                            if ($option[0] != '' && $option[1] != '' && $value == $option[0]) {
                                                $value = $option[1];
                                                break;
                                            }
                                        }
                                        $_ROSARIO['SearchTerms'] .= $value;
                                    }
                                }
                                if (!$extra['NoSearchTerms']) {
                                    $_ROSARIO['SearchTerms'] .= '<BR />';
                                }
                                break;
                            case 'exports':
                                if (!$extra['NoSearchTerms']) {
                                    $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . ': </b></span>';
                                }
                                if ($value == '!') {
                                    $string .= " AND (s.{$field_name}='' OR s.{$field_name} IS NULL) ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= _('No Value');
                                    }
                                } else {
                                    $string .= " AND s.{$field_name}='{$value}' ";
                                    if (!$extra['NoSearchTerms']) {
                                        $select_options = str_replace("\n", "\r", str_replace("\r\n", "\r", $fields[mb_substr($field_name, 7)][1]['SELECT_OPTIONS']));
                                        $select_options = explode("\r", $select_options);
                                        foreach ($select_options as $option) {
                                            $option = explode('|', $option);
                                            if ($option[0] != '' && $value == $option[0]) {
                                                $value = $option[0];
                                                break;
                                            }
                                        }
                                        $_ROSARIO['SearchTerms'] .= $value;
                                    }
                                }
                                if (!$extra['NoSearchTerms']) {
                                    $_ROSARIO['SearchTerms'] .= '<BR />';
                                }
                                break;
                            case 'select':
                                if (!$extra['NoSearchTerms']) {
                                    $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . ': </b></span>';
                                }
                                if ($value == '!') {
                                    $string .= " AND (s.{$field_name}='' OR s.{$field_name} IS NULL) ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= _('No Value');
                                    }
                                } else {
                                    $string .= " AND s.{$field_name}='{$value}' ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= $value;
                                    }
                                }
                                if (!$extra['NoSearchTerms']) {
                                    $_ROSARIO['SearchTerms'] .= '<BR />';
                                }
                                break;
                            case 'autos':
                                if (!$extra['NoSearchTerms']) {
                                    $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . ': </b></span>';
                                }
                                if ($value == '!') {
                                    $string .= " AND (s.{$field_name}='' OR s.{$field_name} IS NULL) ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= _('No Value');
                                    }
                                } else {
                                    $string .= " AND s.{$field_name}='{$value}' ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= $value;
                                    }
                                }
                                if (!$extra['NoSearchTerms']) {
                                    $_ROSARIO['SearchTerms'] .= '<BR />';
                                }
                                break;
                            case 'edits':
                                if (!$extra['NoSearchTerms']) {
                                    $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . ': </b></span>';
                                }
                                if ($value == '!') {
                                    $string .= " AND (s.{$field_name}='' OR s.{$field_name} IS NULL) ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= _('No Value');
                                    }
                                } elseif ($value == '~') {
                                    $string .= " AND position('\r'||s.{$field_name}||'\r' IN '\r'||(SELECT SELECT_OPTIONS FROM " . ($type == 'staff' ? 'STAFF' : 'CUSTOM') . "_FIELDS WHERE ID='" . mb_substr($field_name, 7) . "')||'\r')=0 ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= _('Other Value');
                                    }
                                } else {
                                    $string .= " AND s.{$field_name}='{$value}' ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= $value;
                                    }
                                }
                                if (!$extra['NoSearchTerms']) {
                                    $_ROSARIO['SearchTerms'] .= '<BR />';
                                }
                                break;
                            case 'text':
                                if ($value == '!') {
                                    $string .= " AND (s.{$field_name}='' OR s.{$field_name} IS NULL) ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . ': </b></span>' . _('No Value') . '<BR />';
                                    }
                                } elseif (mb_substr($value, 0, 2) == '\\"' && mb_substr($value, -2) == '\\"') {
                                    $string .= " AND s.{$field_name}='" . mb_substr($value, 2, -2) . "' ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . ': </b></span>' . mb_substr($value, 2, -2) . '<BR />';
                                    }
                                } else {
                                    $string .= " AND LOWER(s.{$field_name}) LIKE '" . mb_strtolower($value) . "%' ";
                                    if (!$extra['NoSearchTerms']) {
                                        $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . '&nbsp;' . Localize('colon', _('starts with')) . ' </b></span>' . str_replace("''", "'", $value) . '<BR />';
                                    }
                                }
                                break;
                        }
                    }
                }
            }
            if (count($_REQUEST['cust_begin'])) {
                foreach ($_REQUEST['cust_begin'] as $field_name => $value) {
                    if ($fields[mb_substr($field_name, 7)][1]['TYPE'] == 'numeric') {
                        $value = preg_replace('/[^0-9.-]+/', '', $value);
                    }
                    if ($value != '') {
                        $string .= " AND s.{$field_name} >= '{$value}' ";
                        if (!$extra['NoSearchTerms']) {
                            if ($fields[mb_substr($field_name, 7)][1]['TYPE'] == 'date') {
                                $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . ' <span class="sizep2">&ge;</span> </b></span>' . ProperDate($value) . '<BR />';
                            } else {
                                $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . ' <span class="sizep2">&ge;</span> </b></span>' . $value . '<BR />';
                            }
                        }
                    }
                }
            }
            if (count($_REQUEST['cust_end'])) {
                foreach ($_REQUEST['cust_end'] as $field_name => $value) {
                    if ($fields[mb_substr($field_name, 7)][1]['TYPE'] == 'numeric') {
                        $value = preg_replace('/[^0-9.-]+/', '', $value);
                    }
                    if ($value != '') {
                        $string .= " AND s.{$field_name} <= '{$value}' ";
                        if (!$extra['NoSearchTerms']) {
                            if ($fields[mb_substr($field_name, 7)][1]['TYPE'] == 'date') {
                                $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . ' <span class="sizep2">&le;</span> </b></span>' . ProperDate($value) . '<BR />';
                            } else {
                                $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . ' <span class="sizep2">&le;</span> </b></span>' . $value . '<BR />';
                            }
                        }
                    }
                }
            }
            if (count($_REQUEST['cust_null'])) {
                foreach ($_REQUEST['cust_null'] as $field_name => $y) {
                    $string .= " AND s.{$field_name} IS NULL ";
                    if (!$extra['NoSearchTerms']) {
                        $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . $fields[mb_substr($field_name, 7)][1]['TITLE'] . ': </b></span>' . _('No Value') . '<BR />';
                    }
                }
            }
            break;
    }
    return $string;
}
Пример #13
0
}
unset($_SESSION['_REQUEST_vars']['modfunc']);
Widgets('course');
Widgets('request');
Search('student_id', $extra);
if ($_REQUEST['month_schedule'] && $_POST['month_schedule']) {
    foreach ($_REQUEST['month_schedule'] as $id => $start_dates) {
        foreach ($start_dates as $start_date => $columns) {
            foreach ($columns as $column => $value) {
                $_REQUEST['schedule'][$id][$start_date][$column] = $_REQUEST['day_schedule'][$id][$start_date][$column] . '-' . $value . '-' . $_REQUEST['year_schedule'][$id][$start_date][$column];
                //modif Francois: bugfix SQL bug when incomplete or non-existent date
                //if($_REQUEST['schedule'][$id][$start_date][$column]=='--')
                if (mb_strlen($_REQUEST['schedule'][$id][$start_date][$column]) < 11) {
                    $_REQUEST['schedule'][$id][$start_date][$column] = '';
                } else {
                    while (!VerifyDate($_REQUEST['schedule'][$id][$start_date][$column])) {
                        $_REQUEST['day_schedule'][$id][$start_date][$column]--;
                        $_REQUEST['schedule'][$id][$start_date][$column] = $_REQUEST['day_schedule'][$id][$start_date][$column] . '-' . $value . '-' . $_REQUEST['year_schedule'][$id][$start_date][$column];
                    }
                }
            }
        }
    }
    unset($_REQUEST['month_schedule']);
    unset($_REQUEST['day_schedule']);
    unset($_REQUEST['year_schedule']);
    unset($_SESSION['_REQUEST_vars']['month_schedule']);
    unset($_SESSION['_REQUEST_vars']['day_schedule']);
    unset($_SESSION['_REQUEST_vars']['year_schedule']);
    $_POST['schedule'] = $_REQUEST['schedule'];
}
Пример #14
0
function CustomFields($location, $table_arr = '')
{
    global $_CENTRE;
    if (count($_REQUEST['month_cust_begin'])) {
        foreach ($_REQUEST['month_cust_begin'] as $field_name => $month) {
            $_REQUEST['cust_begin'][$field_name] = $_REQUEST['day_cust_begin'][$field_name] . '-' . $_REQUEST['month_cust_begin'][$field_name] . '-' . $_REQUEST['year_cust_begin'][$field_name];
            $_REQUEST['cust_end'][$field_name] = $_REQUEST['day_cust_end'][$field_name] . '-' . $_REQUEST['month_cust_end'][$field_name] . '-' . $_REQUEST['year_cust_end'][$field_name];
            if (!VerifyDate($_REQUEST['cust_begin'][$field_name]) || !VerifyDate($_REQUEST['cust_end'][$field_name])) {
                unset($_REQUEST['cust_begin'][$field_name]);
                unset($_REQUEST['cust_end'][$field_name]);
            }
        }
        unset($_REQUEST['month_cust_begin']);
        unset($_REQUEST['year_cust_begin']);
        unset($_REQUEST['day_cust_begin']);
        unset($_REQUEST['month_cust_end']);
        unset($_REQUEST['year_cust_end']);
        unset($_REQUEST['day_cust_end']);
    }
    if (count($_REQUEST['cust'])) {
        foreach ($_REQUEST['cust'] as $key => $value) {
            if ($value == '') {
                unset($_REQUEST['cust'][$key]);
            }
        }
    }
    switch ($location) {
        case 'from':
            break;
        case 'where':
            if (count($_REQUEST['cust']) || count($_REQUEST['cust_begin'])) {
                $fields = DBGet(DBQuery("SELECT TITLE,ID,TYPE FROM CUSTOM_FIELDS"), array(), array('ID'));
            }
            if (count($_REQUEST['cust'])) {
                foreach ($_REQUEST['cust'] as $field_name => $value) {
                    if ($value != '') {
                        switch ($fields[substr($field_name, 7)][1]['TYPE']) {
                            case 'radio':
                                $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . $fields[substr($field_name, 7)][1]['TITLE'] . ': </b></font>';
                                if ($value == 'Y') {
                                    $string .= " and s.{$field_name}='{$value}' ";
                                    $_CENTRE['SearchTerms'] .= 'Yes';
                                } elseif ($value == 'N') {
                                    $string .= " and (s.{$field_name}!='Y' OR s.{$field_name} IS NULL) ";
                                    $_CENTRE['SearchTerms'] .= 'No';
                                }
                                $_CENTRE['SearchTerms'] .= '<BR>';
                                break;
                            case 'codeds':
                                $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . $fields[substr($field_name, 7)][1]['TITLE'] . ': </b></font>';
                                if ($value == '!') {
                                    $string .= " and (s.{$field_name}='' OR s.{$field_name} IS NULL) ";
                                    $_CENTRE['SearchTerms'] .= 'No Value';
                                } else {
                                    $string .= " and s.{$field_name}='{$value}' ";
                                    $_CENTRE['SearchTerms'] .= $value;
                                }
                                $_CENTRE['SearchTerms'] .= '<BR>';
                                break;
                            case 'select':
                                $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . $fields[substr($field_name, 7)][1]['TITLE'] . ': </b></font>';
                                if ($value == '!') {
                                    $string .= " and (s.{$field_name}='' OR s.{$field_name} IS NULL) ";
                                    $_CENTRE['SearchTerms'] .= 'No Value';
                                } else {
                                    $string .= " and s.{$field_name}='{$value}' ";
                                    $_CENTRE['SearchTerms'] .= $value;
                                }
                                $_CENTRE['SearchTerms'] .= '<BR>';
                                break;
                            case 'autos':
                                $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . $fields[substr($field_name, 7)][1]['TITLE'] . ': </b></font>';
                                if ($value == '!') {
                                    $string .= " and (s.{$field_name}='' OR s.{$field_name} IS NULL) ";
                                    $_CENTRE['SearchTerms'] .= 'No Value';
                                } else {
                                    $string .= " and s.{$field_name}='{$value}' ";
                                    $_CENTRE['SearchTerms'] .= $value;
                                }
                                $_CENTRE['SearchTerms'] .= '<BR>';
                                break;
                            case 'edits':
                                $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . $fields[substr($field_name, 7)][1]['TITLE'] . ': </b></font>';
                                if ($value == '!') {
                                    $string .= " and (s.{$field_name}='' OR s.{$field_name} IS NULL) ";
                                    $_CENTRE['SearchTerms'] .= 'No Value';
                                } elseif ($value == '~') {
                                    $string .= " and position('\n'||s.{$field_name}||'\r' IN '\n'||(SELECT SELECT_OPTIONS FROM CUSTOM_FIELDS WHERE ID='" . substr($field_name, 7) . "')||'\r')=0 ";
                                    $_CENTRE['SearchTerms'] .= 'Other';
                                } else {
                                    $string .= " and s.{$field_name}='{$value}' ";
                                    $_CENTRE['SearchTerms'] .= $value;
                                }
                                $_CENTRE['SearchTerms'] .= '<BR>';
                                break;
                            case 'text':
                                if (substr($value, 0, 2) == '\\"' && substr($value, -2) == '\\"') {
                                    $string .= " and s.{$field_name}='" . substr($value, 2, -2) . "' ";
                                    $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . $fields[substr($field_name, 7)][1]['TITLE'] . ': </b></font>' . substr($value, 2, -2) . '<BR>';
                                } else {
                                    $string .= " and LOWER(s.{$field_name}) LIKE '" . strtolower($value) . "%' ";
                                    $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . $fields[substr($field_name, 7)][1]['TITLE'] . ' starts with: </b></font>' . $value . '<BR>';
                                }
                                break;
                        }
                    }
                }
            }
            if (count($_REQUEST['cust_begin'])) {
                foreach ($_REQUEST['cust_begin'] as $field_name => $value) {
                    if ($fields[substr($field_name, 7)][1]['TYPE'] == 'numeric') {
                        $_REQUEST['cust_end'][$field_name] = ereg_replace('[^0-9.-]+', '', $_REQUEST['cust_end'][$field_name]);
                        $value = ereg_replace('[^0-9.-]+', '', $value);
                    }
                    if ($_REQUEST['cust_begin'][$field_name] != '' && $_REQUEST['cust_end'][$field_name] != '') {
                        if ($fields[substr($field_name, 7)][1]['TYPE'] == 'numeric' && $_REQUEST['cust_begin'][$field_name] > $_REQUEST['cust_end'][$field_name]) {
                            $temp = $_REQUEST['cust_end'][$field_name];
                            $_REQUEST['cust_end'][$field_name] = $value;
                            $value = $temp;
                        }
                        $string .= " and s.{$field_name} BETWEEN '{$value}' AND '" . $_REQUEST['cust_end'][$field_name] . "' ";
                        if ($fields[substr($field_name, 7)][1]['TYPE'] == 'date') {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . $fields[substr($field_name, 7)][1]['TITLE'] . ' between: </b></font>' . ProperDate($value) . ' &amp; ' . ProperDate($_REQUEST['cust_end'][$field_name]) . '<BR>';
                        } else {
                            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . $fields[substr($field_name, 7)][1]['TITLE'] . ' between: </b></font>' . $value . ' &amp; ' . $_REQUEST['cust_end'][$field_name] . '<BR>';
                        }
                    }
                }
            }
            break;
    }
    return $string;
}
Пример #15
0
function _make($value, $column)
{
    if (substr_count($value, '-') == 2 && VerifyDate($value)) {
        $value = ProperDate($value);
    } elseif (is_numeric($value)) {
        $value = strpos($value, '.') === false ? $value : rtrim(rtrim($value, '0'), '.');
    }
    return str_replace('||', ',<BR>', trim($value, '|'));
}
Пример #16
0
        $can_edit_RET = DBGet(DBQuery("SELECT MODNAME FROM PROFILE_EXCEPTIONS WHERE PROFILE_ID='" . User('PROFILE_ID') . "' AND MODNAME='Users/User.php&category_id={$_REQUEST['category_id']}' AND CAN_EDIT='Y'"));
    } else {
        $can_edit_RET = DBGet(DBQuery("SELECT MODNAME FROM STAFF_EXCEPTIONS WHERE USER_ID='" . User('STAFF_ID') . "' AND MODNAME='Users/User.php&category_id={$_REQUEST['category_id']}' AND CAN_EDIT='Y'"), array(), array('MODNAME'));
    }
    if ($can_edit_RET) {
        $_openSIS['allow_edit'] = true;
    }
}
unset($schools);
if (clean_param($_REQUEST['modfunc'], PARAM_ALPHAMOD) == 'update') {
    if (count($_REQUEST['month_staff'])) {
        foreach ($_REQUEST['month_staff'] as $column => $value) {
            $_REQUEST['staff'][$column] = $_REQUEST['day_staff'][$column] . '-' . $_REQUEST['month_staff'][$column] . '-' . $_REQUEST['year_staff'][$column];
            if ($_REQUEST['staff'][$column] == '--') {
                $_REQUEST['staff'][$column] = '';
            } elseif (!VerifyDate($_REQUEST['staff'][$column])) {
                unset($_REQUEST['staff'][$column]);
                $note = "The invalid date could not be saved.";
            }
        }
    }
    unset($_REQUEST['day_staff']);
    unset($_REQUEST['month_staff']);
    unset($_REQUEST['year_staff']);
    if ($_REQUEST['staff']['SCHOOLS']) {
        foreach ($_REQUEST['staff']['SCHOOLS'] as $school_id => $yes) {
            $schools .= ',' . $school_id;
        }
        $_REQUEST['staff']['SCHOOLS'] = $schools . ',';
    } else {
        $_REQUEST['staff']['SCHOOLS'] = $_POST['staff'] = '';
Пример #17
0
<?php

include 'modules/Grades/DeletePromptX.fnc.php';
//echo '<pre>'; var_dump($_REQUEST); echo '</pre>';
DrawHeader(ProgramTitle());
$_CENTRE['allow_edit'] = $_REQUEST['allow_edit'] == 'Y';
if ($_REQUEST['day_values'] && $_POST['day_values']) {
    foreach ($_REQUEST['day_values'] as $id => $values) {
        if ($_REQUEST['day_values'][$id]['ASSIGNED_DATE'] && $_REQUEST['month_values'][$id]['ASSIGNED_DATE'] && $_REQUEST['year_values'][$id]['ASSIGNED_DATE']) {
            while (!VerifyDate($_REQUEST['day_values'][$id]['ASSIGNED_DATE'] . '-' . $_REQUEST['month_values'][$id]['ASSIGNED_DATE'] . '-' . $_REQUEST['year_values'][$id]['ASSIGNED_DATE'])) {
                $_REQUEST['day_values'][$id]['ASSIGNED_DATE']--;
            }
            $_REQUEST['values'][$id]['ASSIGNED_DATE'] = $_REQUEST['day_values'][$id]['ASSIGNED_DATE'] . '-' . $_REQUEST['month_values'][$id]['ASSIGNED_DATE'] . '-' . $_REQUEST['year_values'][$id]['ASSIGNED_DATE'];
        }
        if ($_REQUEST['day_values'][$id]['DUE_DATE'] && $_REQUEST['month_values'][$id]['DUE_DATE'] && $_REQUEST['year_values'][$id]['DUE_DATE']) {
            while (!VerifyDate($_REQUEST['day_values'][$id]['DUE_DATE'] . '-' . $_REQUEST['month_values'][$id]['DUE_DATE'] . '-' . $_REQUEST['year_values'][$id]['DUE_DATE'])) {
                $_REQUEST['day_values'][$id]['DUE_DATE']--;
            }
            $_REQUEST['values'][$id]['DUE_DATE'] = $_REQUEST['day_values'][$id]['DUE_DATE'] . '-' . $_REQUEST['month_values'][$id]['DUE_DATE'] . '-' . $_REQUEST['year_values'][$id]['DUE_DATE'];
        }
    }
    $_POST['values'] = $_REQUEST['values'];
    unset($_REQUEST['day_values']);
    unset($_REQUEST['month_values']);
    unset($_REQUEST['year_values']);
    unset($_SESSION['_REQUEST_vars']['day_values']);
    unset($_SESSION['_REQUEST_vars']['month_values']);
    unset($_SESSION['_REQUEST_vars']['year_values']);
}
if ($_REQUEST['modfunc'] == 'update') {
    if ($_REQUEST['values'] && $_POST['values']) {
Пример #18
0
if (count($grades_RET)) {
    foreach ($grades_RET as $value) {
        $options[$value['ID']] = $value['TITLE'];
    }
}
if ($_REQUEST['student_id'] != 'new' && $student['SCHOOL_ID'] != UserSchool()) {
    $allow_edit = $_openSIS['allow_edit'];
    $AllowEdit = $_openSIS['AllowEdit'][$_REQUEST['modname']];
    $_openSIS['AllowEdit'][$_REQUEST['modname']] = $_openSIS['allow_edit'] = false;
}
if ($_REQUEST['student_id'] == 'new') {
    $student_id = 'new';
} else {
    $student_id = UserStudentID();
}
if ($student_id == 'new' && !VerifyDate($_REQUEST['day_values']['STUDENT_ENROLLMENT']['new']['START_DATE'] . '-' . $_REQUEST['month_values']['STUDENT_ENROLLMENT']['new']['START_DATE'] . '-' . $_REQUEST['year_values']['STUDENT_ENROLLMENT']['new']['START_DATE'])) {
    unset($student['GRADE_ID']);
}
echo SelectInput($student['GRADE_ID'], 'values[STUDENT_ENROLLMENT][' . $student_id . '][GRADE_ID]', (!$student['GRADE_ID'] ? '<FONT color=red>' : '') . '' . (!$student['GRADE_ID'] ? '</FONT>' : ''), array('Primero' => 'Primero'), '', 'class=cell_medium');
echo '</td></tr>';
echo '<tr><td>Calendario</td><td>:</td><td>' . SelectInput($calendar, "values[STUDENT_ENROLLMENT][{$id}][CALENDAR_ID]", (!$calendar || !$div ? '' : '') . '' . (!$calendar || !$div ? '' : ''), $calendar_options, false, 'class=cell_medium', $div) . '</td></tr>';
// echo '<tr><td>Rolling/Retention Options</td><td>:</td><td>'.SelectInput($next_school,"values[STUDENT_ENROLLMENT][$id][NEXT_SCHOOL]",(!$next_school||!$div?'':'').''.(!$next_school||!$div?'':''),$next_school_options,false,'class=cell_medium',$div).'</td></tr>';
echo '</table>';
echo '</td></TR>';
echo '<TR><td height="30px" colspan=2 class=hseparator><b>Informaci&oacute;n de acceso</b></td></tr><tr><td colspan="2">';
echo '<TABLE border=0>';
echo '<tr><td style=width:120px>Nombre de usuario</td><td>:</td><td>';
echo TextInput($student['USERNAME'], 'students[USERNAME]', '', 'class=cell_medium onkeyup="usercheck_init_student(this)"');
echo '<span id="ajax_output_st"></span>';
echo '</td></tr>';
echo '<tr><td>Password</td><td>:</td><td>';
Пример #19
0
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">&nbsp;<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">&nbsp;<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">&nbsp;<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">&nbsp;<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">&nbsp;<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">&nbsp;<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">&nbsp;<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">&nbsp;<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') . '&nbsp;' . $term . ' ' . _('Between') . ' </b>' . $_REQUEST['absences_low'] . ' &amp; ' . $_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 />&nbsp;' . _('YTD') . '</label>&nbsp; <label><INPUT type="radio" name="absences_term" value="SEM">&nbsp;' . GetMP(GetParentMP('SEM', UserMP()), 'SHORT_NAME') . '</label>&nbsp; <label><INPUT type="radio" name="absences_term" value="QTR">&nbsp;' . GetMP(UserMP(), 'SHORT_NAME') . '</label></TD><TD>' . _('Between') . ' <INPUT type="text" name="absences_low" size="3" maxlength="5"> &amp; <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'] . ' &amp; ' . $_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>&nbsp;"._('Weighted').'</label><BR /><label><INPUT type="radio" name="gpa_term" value=CUM checked />&nbsp;'._('Cumulative').'</label>&nbsp; <label><INPUT type="radio" name="gpa_term" value="'.GetParentMP('SEM',UserMP()).'">&nbsp;'.GetMP(GetParentMP('SEM',UserMP()),'SHORT_NAME').'</label> &nbsp;<label><INPUT type="radio" name="gpa_term" value="'.UserMP().'">&nbsp;'.GetMP(UserMP(),'SHORT_NAME')."</label></TD><TD>"._('Between')." <INPUT type="text" name=gpa_low size=3 maxlength=5> &amp; <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">&nbsp;' . _('Weighted') . '</label><BR />' . (GetMP($MPfy = GetParentMP('FY', GetParentMP('SEM', UserMP())), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="gpa_term" value="' . $MPfy . '" checked />&nbsp;' . GetMP($MPfy, 'SHORT_NAME') . '</label>&nbsp; ' : '') . (GetMP($MPsem = GetParentMP('SEM', UserMP()), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="gpa_term" value="' . $MPsem . '">&nbsp;' . GetMP($MPsem, 'SHORT_NAME') . '</label> &nbsp;' : '') . (GetMP($MPtrim = UserMP(), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="gpa_term" value="' . $MPtrim . '" checked />&nbsp;' . GetMP($MPtrim, 'SHORT_NAME') . '</label>' : '') . '</TD><TD>' . _('Between') . ' <INPUT type="text" name="gpa_low" size="3" maxlength="5"> &amp; <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'] . ' &amp; ' . $_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 />&nbsp;'._('Cumulative').'</label> &nbsp;<label><INPUT type="radio" name="class_rank_term" value="'.GetParentMP('SEM',UserMP()).'">&nbsp;'.GetMP(GetParentMP('SEM',UserMP()),'SHORT_NAME').'</label> &nbsp;<label><INPUT type="radio" name="class_rank_term" value="'.UserMP().'">&nbsp;'.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 . '">&nbsp;' . GetMP($MPfy, 'SHORT_NAME') . '</label>&nbsp; ' : '') . (GetMP($MPsem = GetParentMP('SEM', UserMP()), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="class_rank_term" value="' . $MPsem . '">&nbsp;' . GetMP($MPsem, 'SHORT_NAME') . '</label> &nbsp;' : '') . (GetMP($MPtrim = UserMP(), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="class_rank_term" value="' . $MPtrim . '" checked />&nbsp;' . 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 . '">&nbsp;' . GetMP($pro, 'SHORT_NAME') . '</label> &nbsp;';
                        }
                    }
                    $extra['search'] .= '</TD><TD>' . _('Between') . ' <INPUT type="text" name="class_rank_low" size="3" maxlength="5"> &amp; <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">&nbsp;' . _('Did not receive') . '</label><BR /><label><INPUT type="radio" name="letter_grade_term" value="' . GetParentMP('SEM', UserMP()) . '">&nbsp;' . GetMP(GetParentMP('SEM', UserMP()), 'SHORT_NAME') . '</label>&nbsp; <label><INPUT type="radio" name="letter_grade_term" value="' . UserMP() . '">&nbsp;' . 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 . '">&nbsp;' . GetMP($pro, 'SHORT_NAME') . '</label> &nbsp;';
                        }
                    }
                    $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'] . ']">&nbsp;' . $grade['TITLE'] . '</label>&nbsp; ';
                                    $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">&nbsp;' . _('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') . '&nbsp;<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'] . ' &amp; ' . $_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"> &amp; <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">&ge;</span>&nbsp;</td><td>' . PrepareDate('', '_discipline_entry_begin', true, array('short' => true)) . '</td></tr><tr><td><span class="sizep2">&le;</span>&nbsp;</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">&ge;</span>&nbsp;</td><td>' . PrepareDate('', '_enrolled_begin', true, array('short' => true)) . '</td></tr><tr><td><span class="sizep2">&le;</span>&nbsp;</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> &nbsp;<label><INPUT type="radio" value="Y" name="rolled"> ' . _('Yes') . '</label> &nbsp;<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' ? '&ge;' : '&lt;') . 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">&lt;</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">&ge;</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;
    }
}
Пример #20
0
#  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/>.
#**************************************************************************
if (!UserStudentID()) {
    $_SESSION['UserSyear'] = Config('SYEAR');
    $RET = DBGet(DBQuery("SELECT sju.STUDENT_ID,CONCAT(s.LAST_NAME,', ',s.FIRST_NAME) AS FULL_NAME,se.SCHOOL_ID FROM STUDENTS s,STUDENTS_JOIN_USERS sju, STUDENT_ENROLLMENT se WHERE s.STUDENT_ID=sju.STUDENT_ID AND sju.STAFF_ID='" . User('STAFF_ID') . "' AND se.SYEAR=" . UserSyear() . " AND se.STUDENT_ID=sju.STUDENT_ID AND (('" . DBDate() . "' BETWEEN se.START_DATE AND se.END_DATE OR se.END_DATE IS NULL) AND '" . DBDate() . "'>=se.START_DATE)"));
    $_SESSION['student_id'] = $RET[1]['STUDENT_ID'];
}
$_CENTRE['allow_edit'] = true;
$_REQUEST['values']['STUDENTS']['CUSTOM_200000004'] = $_REQUEST['day_birth_date'] . '-' . $_REQUEST['month_birth_date'] . '-' . $_REQUEST['year_birth_date'];
unset($_REQUEST['day_birth_date']);
unset($_REQUEST['month_birth_date']);
unset($_REQUEST['year_birth_date']);
if (!VerifyDate($_REQUEST['values']['STUDENTS']['CUSTOM_200000004'])) {
    unset($_REQUEST['values']['STUDENTS']['CUSTOM_200000004']);
}
if ($_REQUEST['values']) {
    if ($_REQUEST['values']['ADDRESS']) {
        foreach ($_REQUEST['values']['ADDRESS'] as $key => $columns) {
            if ($columns['ADDRESS'] && !$inserted_addresses[ereg_replace('[^0-9A-Za-z]+', '', strtolower($columns['ADDRESS']))]) {
                $address_RET = DBGet(DBQuery("SELECT " . db_seq_nextval('ADDRESS_SEQ') . ' AS ADDRESS_ID ' . FROM_DUAL));
                $address_id[$key] = $address_RET[1]['ADDRESS_ID'];
                if ($key == 1) {
                    $address_id[2] = $address_RET[1]['ADDRESS_ID'];
                }
                $sql = "INSERT INTO ADDRESS ";
                $fields = 'ADDRESS_ID,';
                $values = $address_id[$key] . ',';
                if ($columns['ADDRESS']) {
Пример #21
0
function SaveData($iu_extra, $fields_done = false, $field_names = false)
{
    if (!$fields_done) {
        $fields_done = array();
    }
    if (!$field_names) {
        $field_names = array();
    }
    if ($_REQUEST['month_values']) {
        foreach ($_REQUEST['month_values'] as $table => $values) {
            foreach ($values as $id => $columns) {
                foreach ($columns as $column => $value) {
                    $_REQUEST['values'][$table][$id][$column] = $_REQUEST['day_values'][$table][$id][$column] . '-' . $value . '-' . $_REQUEST['year_values'][$table][$id][$column];
                    //modif Francois: bugfix SQL bug when incomplete or non-existent date
                    //if($_REQUEST['values'][$table][$id][$column]=='--')
                    if (mb_strlen($_REQUEST['values'][$table][$id][$column]) < 11) {
                        $_REQUEST['values'][$table][$id][$column] = '';
                    } else {
                        while (!VerifyDate($_REQUEST['values'][$table][$id][$column])) {
                            $_REQUEST['day_values'][$table][$id][$column]--;
                            $_REQUEST['values'][$table][$id][$column] = $_REQUEST['day_values'][$table][$id][$column] . '-' . $value . '-' . $_REQUEST['year_values'][$table][$id][$column];
                        }
                    }
                }
            }
        }
    }
    foreach ($_REQUEST['values'] as $table => $values) {
        $table_properties = db_properties($table);
        foreach ($values as $id => $columns) {
            foreach ($columns as $column => $value) {
                if ($field_names[$table][$column]) {
                    $name = sprintf(_('The value for %s'), $field_names[$table][$column]);
                } else {
                    $name = sprintf(_('The value for %s'), ucwords(mb_strtolower(str_replace('_', ' ', $column))));
                }
                // COLUMN DOESN'T EXIST
                if (!$table_properties[$column]) {
                    $error[] = sprintf(_('There is no column for %s. This value was not saved.'), $name);
                    continue;
                }
                // VALUE IS TOO LONG
                if ($table_properties[$column]['TYPE'] == 'VARCHAR' && mb_strlen($value) > $table_properties[$column]['SIZE']) {
                    $value = mb_substr($value, 0, $table_properties[$column]['SIZE']);
                    $error[] = sprintf(_('%s was too long. It was truncated to fit in the field.'), $name);
                }
                // FIELD IS NUMERIC, VALUE CONTAINS NON-NUMERICAL CHARACTERS
                if ($table_properties[$column]['TYPE'] == 'NUMERIC' && preg_match('/[^0-9-]/', $value)) {
                    $value = preg_replace('/[^0-9]/', '', $value);
                    $error[] = sprintf(_('%s, a numerical field, contained non-numerical characters. These characters were removed.'), $name);
                }
                // FIELD IS DATE, DATE IS WRONG
                if ($table_properties[$column]['TYPE'] == 'DATE' && $value && !VerifyDate($value)) {
                    $error[] = sprintf(_('%s, a date field, was not a valid date. This value could not be saved.'), $name);
                    continue;
                }
                if ($id == 'new') {
                    if ($value) {
                        $ins_fields[$table] .= $column . ',';
                        $ins_values[$table] .= "'" . $value . "',";
                        $go = true;
                    }
                } else {
                    $sql[$table] .= "{$column}='" . str_replace('&#39;', "''", $value) . "',";
                }
            }
            if ($id == 'new') {
                $sql[$table] = 'INSERT INTO ' . $table . ' (' . $iu_extra['fields'][$table] . mb_substr($ins_fields[$table], 0, -1) . ') values(' . $iu_extra['values'][$table] . mb_substr($ins_values[$table], 0, -1) . ')';
            } else {
                $sql[$table] = 'UPDATE ' . $table . ' SET ' . mb_substr($sql[$table], 0, -1) . ' WHERE ' . str_replace('__ID__', $id, $iu_extra[$table]);
            }
            echo ErrorMessage($error);
            if ($id != 'new' || $go == true) {
                DBQuery($sql[$table]);
            }
            $error = $ins_fields = $ins_values = $sql = $go = '';
        }
    }
}
Пример #22
0
     $values = $id . ",'" . $_REQUEST['assignment_type_id'] . "','" . User('STAFF_ID') . "','" . UserMP() . "',";
     $_REQUEST['assignment_id'] = $id;
 } elseif ($table == 'GRADEBOOK_ASSIGNMENT_TYPES') {
     $id = DBGet(DBQuery("SELECT " . db_seq_nextval('GRADEBOOK_ASSIGNMENT_TYPES_SEQ') . ' AS ID ' . FROM_DUAL));
     $id = $id[1]['ID'];
     $fields = "ASSIGNMENT_TYPE_ID,STAFF_ID,COURSE_ID,";
     $values = $id . ",'" . User('STAFF_ID') . "','{$course_id}',";
     $_REQUEST['assignment_type_id'] = $id;
 }
 $go = false;
 if (!$columns['COURSE_ID'] && $_REQUEST['table'] == 'GRADEBOOK_ASSIGNMENTS') {
     $columns['COURSE_ID'] = 'N';
 }
 foreach ($columns as $column => $value) {
     if ($column == 'DUE_DATE' || $column == 'ASSIGNED_DATE') {
         if (!VerifyDate($value)) {
             BackPrompt(_('Some dates were not entered correctly.'));
         }
     } elseif ($column == 'COURSE_ID' && $value == 'Y') {
         $value = $course_id;
     } elseif ($column == 'COURSE_ID') {
         $column = 'COURSE_PERIOD_ID';
         $value = UserCoursePeriod();
     } elseif ($column == 'FINAL_GRADE_PERCENT' && $table == 'GRADEBOOK_ASSIGNMENT_TYPES') {
         $value = ereg_replace('[^0-9.]', '', $value) / 100;
     }
     if ($value != '') {
         $fields .= $column . ',';
         $values .= "'" . str_replace("\\'", "''", $value) . "',";
         $go = true;
     }
Пример #23
0
}
// UPDATING
if (clean_param($_REQUEST['tables'], PARAM_NOTAGS) && ($_POST['tables'] || $_REQUEST['ajax']) && AllowEdit()) {
    $where = array('course_subjects' => 'SUBJECT_ID', 'courses' => 'COURSE_ID', 'course_periods' => 'COURSE_PERIOD_ID', 'course_period_var' => 'COURSE_PERIOD_ID');
    if ($_REQUEST['tables']['parent_id']) {
        $_REQUEST['tables']['course_periods'][$_REQUEST['course_period_id']]['PARENT_ID'] = $_REQUEST['tables']['parent_id'];
    }
    //===================================For custom range==========================
    if ($_REQUEST['month_begin'] && $_REQUEST['day_begin'] && $_REQUEST['year_begin']) {
        while (!VerifyDate($begin = $_REQUEST['day_begin'] . '-' . $_REQUEST['month_begin'] . '-' . $_REQUEST['year_begin'])) {
            $_REQUEST['day_begin']--;
        }
        $_REQUEST['tables']['course_periods'][$_REQUEST['course_period_id']]['BEGIN_DATE'] = date('Y-m-d', strtotime($begin));
    }
    if ($_REQUEST['month_end'] && $_REQUEST['day_end'] && $_REQUEST['year_end']) {
        while (!VerifyDate($end = $_REQUEST['day_end'] . '-' . $_REQUEST['month_end'] . '-' . $_REQUEST['year_end'])) {
            $_REQUEST['day_end']--;
        }
        $_REQUEST['tables']['course_periods'][$_REQUEST['course_period_id']]['END_DATE'] = date('Y-m-d', strtotime($end));
    }
    #echo '<pre>';print_r($_REQUEST['course_period_variable']);echo '</pre>';
    #echo '<pre>';print_r($_REQUEST['course_period_variable']);echo '</pre>';
    if ($_REQUEST['course_period_variable']) {
        if (scheduleAssociation($_REQUEST['course_period_id'])) {
            $scheduleAssociation = true;
        }
        if (gradeAssociation($_REQUEST['course_period_id'])) {
            $gradeAssociation = true;
        }
        if (!$scheduleAssociation && !$gradeAssociation) {
            $columns['COURSE_PERIOD_ID'] = $_REQUEST['course_period_id'];
Пример #24
0
            $can_edit_RET = DBGet(DBQuery("SELECT MODNAME FROM STAFF_EXCEPTIONS WHERE USER_ID='" . User('STAFF_ID') . "' AND MODNAME='Students/Student.php&category_id={$_REQUEST['category_id']}' AND CAN_EDIT='Y'"), array(), array('MODNAME'));
        }
    } else {
        $can_edit_RET = DBGet(DBQuery("SELECT MODNAME FROM PROFILE_EXCEPTIONS WHERE PROFILE_ID='0' AND MODNAME='Students/Student.php&category_id={$_REQUEST['category_id']}' AND CAN_EDIT='Y'"));
    }
    if ($can_edit_RET) {
        $_CENTRE['allow_edit'] = true;
    }
}
if ($_REQUEST['modfunc'] == 'update' && AllowEdit()) {
    if (count($_REQUEST['month_students'])) {
        foreach ($_REQUEST['month_students'] as $column => $value) {
            $_REQUEST['students'][$column] = $_REQUEST['day_students'][$column] . '-' . $_REQUEST['month_students'][$column] . '-' . $_REQUEST['year_students'][$column];
            if ($_REQUEST['students'][$column] == '--') {
                $_REQUEST['students'][$column] = '';
            } elseif (!VerifyDate($_REQUEST['students'][$column])) {
                unset($_REQUEST['students'][$column]);
                $note = "The invalid date could not be saved.";
            }
        }
    }
    unset($_REQUEST['day_students']);
    unset($_REQUEST['month_students']);
    unset($_REQUEST['year_students']);
    if ((count($_REQUEST['students']) || count($_REQUEST['values'])) && AllowEdit()) {
        if ($_REQUEST['student_id'] && $_REQUEST['student_id'] != 'new') {
            if (count($_REQUEST['students'])) {
                $sql = "UPDATE STUDENTS SET ";
                foreach ($_REQUEST['students'] as $column_name => $value) {
                    if ($column_name == 'PASSWORD') {
                        $sql .= "{$column_name}='" . str_replace("\\'", "''", str_replace("`", "''", md5($value))) . "',";
Пример #25
0
<?php

if ($_REQUEST['month_date'] && $_REQUEST['day_date'] && $_REQUEST['year_date']) {
    while (!VerifyDate($date = $_REQUEST['day_date'] . '-' . $_REQUEST['month_date'] . '-' . $_REQUEST['year_date'])) {
        $_REQUEST['day_date']--;
    }
} else {
    $_REQUEST['day_date'] = date('d');
    $_REQUEST['month_date'] = strtoupper(date('M'));
    $_REQUEST['year_date'] = date('y');
    $date = $_REQUEST['day_date'] . '-' . $_REQUEST['month_date'] . '-' . $_REQUEST['year_date'];
}
DrawHeader(ProgramTitle());
$categories_RET = DBGet(DBQuery("SELECT ID,TITLE FROM ATTENDANCE_CODE_CATEGORIES WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' ORDER BY SORT_ORDER,TITLE"));
if ($_REQUEST['table'] == '') {
    $_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);
Пример #26
0
<?php

if ($_REQUEST['month_values'] && $_POST['month_values']) {
    foreach ($_REQUEST['month_values'] as $id => $columns) {
        foreach ($columns as $column => $value) {
            $_REQUEST['values'][$id][$column] = $_REQUEST['day_values'][$id][$column] . '-' . $value . '-' . $_REQUEST['year_values'][$id][$column];
            //modif Francois: bugfix SQL bug when incomplete or non-existent date
            //if($_REQUEST['values'][$id][$column]=='--')
            if (mb_strlen($_REQUEST['values'][$id][$column]) < 11) {
                $_REQUEST['values'][$id][$column] = '';
            } else {
                while (!VerifyDate($_REQUEST['values'][$id][$column])) {
                    $_REQUEST['day_values'][$id][$column]--;
                    $_REQUEST['values'][$id][$column] = $_REQUEST['day_values'][$id][$column] . '-' . $value . '-' . $_REQUEST['year_values'][$id][$column];
                }
            }
        }
    }
    $_POST['values'] = $_REQUEST['values'];
}
if ($_REQUEST['values'] && $_POST['values']) {
    foreach ($_REQUEST['values'] as $id => $columns) {
        if ($id != 'new') {
            $sql = "UPDATE ELIGIBILITY_ACTIVITIES SET ";
            foreach ($columns as $column => $value) {
                $sql .= $column . "='" . $value . "',";
            }
            $sql = mb_substr($sql, 0, -1) . " WHERE ID='{$id}'";
            DBQuery($sql);
        } else {
            $sql = "INSERT INTO ELIGIBILITY_ACTIVITIES ";
Пример #27
0
         $values .= '\'' . $_REQUEST['year_id'] . '\',';
         break;
     case 'QTR':
         $fields .= 'SEMESTER_ID,';
         $values .= '\'' . $_REQUEST['semester_id'] . '\',';
         break;
     case 'PRO':
         $fields .= 'QUARTER_ID,';
         $values .= '\'' . $_REQUEST['quarter_id'] . '\',';
         break;
 }
 $go = false;
 foreach ($columns as $column => $value) {
     $value = paramlib_validation($column, trim($value));
     if ($column == 'START_DATE' || $column == 'END_DATE' || $column == 'POST_START_DATE' || $column == 'POST_END_DATE') {
         if (!VerifyDate($value) && $value != '') {
             BackPrompt('Not all of the dates were entered correctly.');
         }
     }
     if ($value) {
         if ($column == 'START_DATE' && $columns['START_DATE'] != '') {
             if (strtotime($dates['START_DATE']) <= strtotime($columns['START_DATE'])) {
                 $fields .= $column . ',';
                 $values .= '\'' . str_replace("'", "''", str_replace("\\'", "''", $value)) . '\',';
                 $go = true;
             } else {
                 $err_msg = "Start date cannot be earlier than {$nm} start date";
                 $_REQUEST['marking_period_id'] = 'new';
                 break 2;
             }
         }
Пример #28
0
function CustomFields($location, $table_arr = '', $exp = 0)
{
    global $_openSIS;
    if (count($_REQUEST['month_cust_begin'])) {
        foreach ($_REQUEST['month_cust_begin'] as $field_name => $month) {
            $_REQUEST['cust_begin'][$field_name] = $_REQUEST['day_cust_begin'][$field_name] . '-' . $_REQUEST['month_cust_begin'][$field_name] . '-' . $_REQUEST['year_cust_begin'][$field_name];
            $_REQUEST['cust_end'][$field_name] = $_REQUEST['day_cust_end'][$field_name] . '-' . $_REQUEST['month_cust_end'][$field_name] . '-' . $_REQUEST['year_cust_end'][$field_name];
            if (!VerifyDate($_REQUEST['cust_begin'][$field_name]) || !VerifyDate($_REQUEST['cust_end'][$field_name])) {
                unset($_REQUEST['cust_begin'][$field_name]);
                unset($_REQUEST['cust_end'][$field_name]);
            }
        }
        unset($_REQUEST['month_cust_begin']);
        unset($_REQUEST['year_cust_begin']);
        unset($_REQUEST['day_cust_begin']);
        unset($_REQUEST['month_cust_end']);
        unset($_REQUEST['year_cust_end']);
        unset($_REQUEST['day_cust_end']);
    }
    if (count($_REQUEST['cust'])) {
        foreach ($_REQUEST['cust'] as $key => $value) {
            if ($value == '') {
                unset($_REQUEST['cust'][$key]);
            }
        }
    }
    switch ($location) {
        case 'from':
            break;
        case 'where':
            if (count($_REQUEST['cust']) || count($_REQUEST['cust_begin'])) {
                $fields = DBGet(DBQuery('SELECT TITLE,ID,TYPE,SYSTEM_FIELD FROM custom_fields'), array(), array('ID'));
            }
            if (count($_REQUEST['cust'])) {
                foreach ($_REQUEST['cust'] as $id => $value) {
                    $field_name = $id;
                    $id = substr($id, 7);
                    if ($fields[$id][1]['SYSTEM_FIELD'] == 'Y') {
                        $field_name = strtoupper(str_replace(' ', '_', $fields[$id][1]['TITLE']));
                    }
                    if ($value != '') {
                        switch ($fields[$id][1]['TYPE']) {
                            case 'radio':
                                $_openSIS['SearchTerms'] .= '<font color=gray><b>' . $fields[$id][1]['TITLE'] . ': </b></font>';
                                if ($value == 'Y') {
                                    $string .= ' and s.' . $field_name . '=\'' . $value . '\' ';
                                    $_openSIS['SearchTerms'] .= 'Yes';
                                } elseif ($value == 'N') {
                                    $string .= ' and (s.' . $field_name . '!=\'Y\' OR s.' . $field_name . ' IS NULL) ';
                                    $_openSIS['SearchTerms'] .= 'No';
                                }
                                $_openSIS['SearchTerms'] .= '<BR>';
                                break;
                            case 'codeds':
                                $_openSIS['SearchTerms'] .= '<font color=gray><b>' . $fields[$id][1]['TITLE'] . ': </b></font>';
                                if ($value == '!') {
                                    $string .= ' and (s.' . $field_name . '=\'\' OR s.' . $field_name . ' IS NULL) ';
                                    $_openSIS['SearchTerms'] .= 'No Value';
                                } else {
                                    $string .= ' and s.' . $field_name . '=\'' . $value . '\' ';
                                    $_openSIS['SearchTerms'] .= $value;
                                }
                                $_openSIS['SearchTerms'] .= '<BR>';
                                break;
                            case 'select':
                                $_openSIS['SearchTerms'] .= '<font color=gray><b>' . $fields[$id][1]['TITLE'] . ': </b></font>';
                                if ($value == '!') {
                                    $string .= ' and (s.' . $field_name . '=\'\' OR s.' . $field_name . ' IS NULL) ';
                                    $_openSIS['SearchTerms'] .= 'No Value';
                                } else {
                                    $string .= ' and s.' . $field_name . '=\'' . $value . '\' ';
                                    $_openSIS['SearchTerms'] .= $value;
                                }
                                $_openSIS['SearchTerms'] .= '<BR>';
                                break;
                            case 'autos':
                                $_openSIS['SearchTerms'] .= '<font color=gray><b>' . $fields[$id][1]['TITLE'] . ': </b></font>';
                                if ($value == '!') {
                                    $string .= ' and (s.' . $field_name . '=\'\' OR s.' . $field_name . ' IS NULL) ';
                                    $_openSIS['SearchTerms'] .= 'No Value';
                                } else {
                                    $string .= ' and s.' . $field_name . '=\'' . $value . '\' ';
                                    $_openSIS['SearchTerms'] .= $value;
                                }
                                $_openSIS['SearchTerms'] .= '<BR>';
                                break;
                            case 'edits':
                                $_openSIS['SearchTerms'] .= '<font color=gray><b>' . $fields[$id][1]['TITLE'] . ': </b></font>';
                                if ($value == '!') {
                                    $string .= ' and (s.' . $field_name . '=\'\' OR s.' . $field_name . ' IS NULL) ';
                                    $_openSIS['SearchTerms'] .= 'No Value';
                                } elseif ($value == '~') {
                                    $string .= " and position('\n'||s.{$field_name}||'\r' IN '\n'||(SELECT SELECT_OPTIONS FROM custom_fields WHERE ID='" . $id . "')||'\r')=0 ";
                                    $_openSIS['SearchTerms'] .= 'Other';
                                } else {
                                    $string .= ' and s.' . $field_name . '=\'' . $value . '\' ';
                                    $_openSIS['SearchTerms'] .= $value;
                                }
                                $_openSIS['SearchTerms'] .= '<BR>';
                                break;
                            case 'text':
                                if (substr($value, 0, 2) == '\\"' && substr($value, -2) == '\\"') {
                                    $string .= ' and s.' . $field_name . '=\'' . substr($value, 2, -2) . '\' ';
                                    $_openSIS['SearchTerms'] .= '<font color=gray><b>' . $fields[$id][1]['TITLE'] . ': </b></font>' . substr($value, 2, -2) . '<BR>';
                                } else {
                                    $string .= ' and LOWER(s.' . $field_name . ') LIKE \'' . strtolower($value) . '%\' ';
                                    if ($exp == 1) {
                                        $_openSIS['Search'] .= '<font color=gray><b>' . $fields[$id][1]['TITLE'] . ' starts with: </b></font>' . $value . '<BR>';
                                    } elseif ($exp == 2) {
                                        $_openSIS['SearchTerms'] .= '<font color=gray><b>' . $fields[$id][1]['TITLE'] . ' starts with: </b></font>' . $value . '<BR>';
                                    } else {
                                        $_openSIS['SearchTerms'] .= '<font color=gray><b>' . $fields[$id][1]['TITLE'] . ' starts with: </b></font>' . $value . '<BR>';
                                    }
                                }
                                break;
                        }
                    }
                }
            }
            if (count($_REQUEST['cust_begin'])) {
                foreach ($_REQUEST['cust_begin'] as $id => $value) {
                    $field_name = $id;
                    $id = substr($id, 7);
                    $column_name = $field_name;
                    if ($fields[$id][1]['SYSTEM_FIELD'] == 'Y') {
                        $column_name = strtoupper(str_replace(' ', '_', $fields[$id][1]['TITLE']));
                    }
                    if ($fields[$id][1]['TYPE'] == 'numeric') {
                        $_REQUEST['cust_end'][$field_name] = ereg_replace('[^0-9.-]+', '', $_REQUEST['cust_end'][$field_name]);
                        $value = ereg_replace('[^0-9.-]+', '', $value);
                    }
                    if ($_REQUEST['cust_begin'][$field_name] != '' && $_REQUEST['cust_end'][$field_name] != '') {
                        if ($fields[$id][1]['TYPE'] == 'numeric' && $_REQUEST['cust_begin'][$field_name] > $_REQUEST['cust_end'][$field_name]) {
                            $temp = $_REQUEST['cust_end'][$field_name];
                            $_REQUEST['cust_end'][$field_name] = $value;
                            $value = $temp;
                        }
                        $string .= ' and s.' . $column_name . ' BETWEEN ' . $value . ' AND \'' . $_REQUEST['cust_end'][$field_name] . '\' ';
                        if ($fields[$id][1]['TYPE'] == 'date') {
                            $_openSIS['SearchTerms'] .= '<font color=gray><b>' . $fields[$id][1]['TITLE'] . ' between: </b></font>' . ProperDate($value) . ' &amp; ' . ProperDate($_REQUEST['cust_end'][$field_name]) . '<BR>';
                        } else {
                            $_openSIS['SearchTerms'] .= '<font color=gray><b>' . $fields[$id][1]['TITLE'] . ' between: </b></font>' . $value . ' &amp; ' . $_REQUEST['cust_end'][$field_name] . '<BR>';
                        }
                    }
                }
            }
            break;
    }
    return $string;
}
Пример #29
0
#
#  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/>.
#**************************************************************************
if (!$_REQUEST['modfunc'] && $_REQUEST['search_modfunc'] != 'list') {
    unset($_SESSION['MassSchedule.php']);
}
if ($_REQUEST['modfunc'] == 'save') {
    if ($_SESSION['MassSchedule.php']) {
        $start_date = $_REQUEST['day'] . '-' . $_REQUEST['month'] . '-' . $_REQUEST['year'];
        if (!VerifyDate($start_date)) {
            BackPrompt('The date you entered is not valid');
        }
        $course_mp = DBGet(DBQuery("SELECT MARKING_PERIOD_ID FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='" . $_SESSION['MassSchedule.php']['course_period_id'] . "'"));
        $course_mp = $course_mp[1]['MARKING_PERIOD_ID'];
        $course_mp_table = GetMPTable(GetMP($course_mp, 'TABLE'));
        if ($course_mp_table != 'FY' && $course_mp != $_REQUEST['marking_period_id'] && strpos(GetChildrenMP($course_mp_table, $course_mp), "'" . $_REQUEST['marking_period_id'] . "'") === false) {
            //	BackPrompt("You cannot schedule a student into that course during the marking period that you chose.  This course meets on ".GetMP($course_mp).'.');
            ShowErr("You cannot schedule a student into that course during the marking period that you chose.  This course meets on " . GetMP($course_mp) . '.');
            for_error();
        }
        $mp_table = GetMPTable(GetMP($_REQUEST['marking_period_id'], 'TABLE'));
        $current_RET = DBGet(DBQuery("SELECT STUDENT_ID FROM SCHEDULE WHERE COURSE_PERIOD_ID='" . $_SESSION['MassSchedule.php']['course_period_id'] . "' AND SYEAR='" . UserSyear() . "' AND (('" . $start_date . "' BETWEEN START_DATE AND END_DATE OR END_DATE IS NULL) AND '" . $start_date . "'>=START_DATE)"), array(), array('STUDENT_ID'));
        $request_RET = DBGet(DBQuery("SELECT STUDENT_ID FROM SCHEDULE_REQUESTS WHERE WITH_PERIOD_ID=(SELECT PERIOD_ID FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='" . $_SESSION['MassSchedule.php']['course_period_id'] . "') AND SYEAR='" . UserSyear() . "' AND COURSE_ID='" . $_SESSION['MassSchedule.php']['course_id'] . "'"), array(), array('STUDENT_ID'));
        $check_seats = DBGet(DBQuery("SELECT  (TOTAL_SEATS - FILLED_SEATS) AS AVAILABLE_SEATS FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='" . $_SESSION['MassSchedule.php']['course_period_id'] . "'"));
        $check_seats = $check_seats[1]['AVAILABLE_SEATS'];
Пример #30
0
function _make($value, $column)
{
    if (mb_substr_count($value, '-') == 2 && VerifyDate($value)) {
        $value = ProperDate($value);
    } elseif (is_numeric($value)) {
        $value = mb_strpos($value, '.') === false ? $value : rtrim(rtrim($value, '0'), '.');
    } elseif ($value == 'Y') {
        $value = '<img src="assets/check.png" height="24" />';
    }
    return str_replace('||', ',<BR />', trim($value, '|'));
}