function _makeLetterGrade($percent, $course_period_id = 0, $staff_id = 0, $ret = 'TITLE')
{
    global $programconfig, $_ROSARIO;
    if (!$course_period_id) {
        $course_period_id = UserCoursePeriod();
    }
    if (!$staff_id) {
        $staff_id = User('STAFF_ID');
    }
    if (!$programconfig[$staff_id]) {
        $config_RET = DBGet(DBQuery("SELECT TITLE,VALUE FROM PROGRAM_USER_CONFIG WHERE USER_ID='" . $staff_id . "' AND PROGRAM='Gradebook'"), array(), array('TITLE'));
        if (count($config_RET)) {
            foreach ($config_RET as $title => $value) {
                $programconfig[$staff_id][$title] = $value[1]['VALUE'];
            }
        } else {
            $programconfig[$staff_id] = true;
        }
    }
    if (!$_ROSARIO['_makeLetterGrade']['courses'][$course_period_id]) {
        $_ROSARIO['_makeLetterGrade']['courses'][$course_period_id] = DBGet(DBQuery("SELECT DOES_BREAKOFF,GRADE_SCALE_ID FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='" . $course_period_id . "'"));
    }
    $does_breakoff = $_ROSARIO['_makeLetterGrade']['courses'][$course_period_id][1]['DOES_BREAKOFF'];
    $grade_scale_id = $_ROSARIO['_makeLetterGrade']['courses'][$course_period_id][1]['GRADE_SCALE_ID'];
    $percent *= 100;
    if ($does_breakoff == 'Y') {
        if ($programconfig[$staff_id]['ROUNDING'] == 'UP') {
            $percent = ceil($percent);
        } elseif ($programconfig[$staff_id]['ROUNDING'] == 'DOWN') {
            $percent = floor($percent);
        } elseif ($programconfig[$staff_id]['ROUNDING'] == 'NORMAL') {
            $percent = round($percent);
        }
    } else {
        $percent = round($percent);
    }
    // school default
    if ($ret == '%') {
        return $percent;
    }
    if (!$_ROSARIO['_makeLetterGrade']['grades'][$grade_scale_id]) {
        $_ROSARIO['_makeLetterGrade']['grades'][$grade_scale_id] = DBGet(DBQuery("SELECT TITLE,ID,BREAK_OFF,COMMENT FROM REPORT_CARD_GRADES WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' AND GRADE_SCALE_ID='{$grade_scale_id}' ORDER BY BREAK_OFF IS NOT NULL DESC,BREAK_OFF DESC,SORT_ORDER"));
    }
    //$grades = array('A+','A','A-','B+','B','B-','C+','C','C-','D+','D','D-','F');
    foreach ($_ROSARIO['_makeLetterGrade']['grades'][$grade_scale_id] as $grade) {
        if ($does_breakoff == 'Y' ? $percent >= $programconfig[$staff_id][$course_period_id . '-' . $grade['ID']] && is_numeric($programconfig[$staff_id][$course_period_id . '-' . $grade['ID']]) : $percent >= $grade['BREAK_OFF']) {
            //modif Francois: use Report Card Grades comments
            //return $ret=='ID' ? $grade['ID'] : $grade['TITLE'];
            return $grade[$ret];
        }
    }
}
Ejemplo n.º 2
0
function _makeLetterGrade($percent, $course_period_id = 0, $staff_id = 0, $ret = '')
{
    global $programconfig, $_openSIS;
    if (!$course_period_id) {
        $course_period_id = UserCoursePeriod();
    }
    if (!$staff_id) {
        $staff_id = User('STAFF_ID');
    }
    if (!$programconfig[$staff_id]) {
        $config_RET = DBGet(DBQuery('SELECT TITLE,VALUE FROM program_user_config WHERE USER_ID=\'' . $staff_id . '\' AND PROGRAM=\'Gradebook\''), array(), array('TITLE'));
        if (count($config_RET)) {
            foreach ($config_RET as $title => $value) {
                $programconfig[$staff_id][$title] = $value[1]['VALUE'];
            }
        } else {
            $programconfig[$staff_id] = true;
        }
    }
    if (!$_openSIS['_makeLetterGrade']['courses'][$course_period_id]) {
        $_openSIS['_makeLetterGrade']['courses'][$course_period_id] = DBGet(DBQuery('SELECT DOES_BREAKOFF,GRADE_SCALE_ID FROM course_periods WHERE COURSE_PERIOD_ID=\'' . $course_period_id . '\''));
    }
    $does_breakoff = $_openSIS['_makeLetterGrade']['courses'][$course_period_id][1]['DOES_BREAKOFF'];
    $grade_scale_id = $_openSIS['_makeLetterGrade']['courses'][$course_period_id][1]['GRADE_SCALE_ID'];
    $percent *= 100;
    //	if ($does_breakoff=='Y')
    //	{
    if ($programconfig[$staff_id]['ROUNDING'] == 'UP') {
        $percent = ceil($percent);
    } elseif ($programconfig[$staff_id]['ROUNDING'] == 'DOWN') {
        $percent = floor($percent);
    } elseif ($programconfig[$staff_id]['ROUNDING'] == 'NORMAL') {
        $percent = round($percent, 2);
    } else {
        $percent = round($percent, 2);
    }
    // school default
    if ($ret == '%') {
        return $percent;
    }
    if (!$_openSIS['_makeLetterGrade']['grades'][$grade_scale_id]) {
        $_openSIS['_makeLetterGrade']['grades'][$grade_scale_id] = DBGet(DBQuery('SELECT TITLE,ID,BREAK_OFF FROM report_card_grades WHERE SYEAR=\'' . UserSyear() . '\' AND SCHOOL_ID=\'' . UserSchool() . '\' AND GRADE_SCALE_ID=\'' . $grade_scale_id . '\' ORDER BY BREAK_OFF IS NOT NULL DESC,BREAK_OFF DESC,SORT_ORDER'));
    }
    //$grades = array('A+','A','A-','B+','B','B-','C+','C','C-','D+','D','D-','F');
    foreach ($_openSIS['_makeLetterGrade']['grades'][$grade_scale_id] as $grade) {
        if ($does_breakoff == 'Y' ? $percent >= $programconfig[$staff_id][$course_period_id . '-' . $grade['ID']] && is_numeric($programconfig[$staff_id][$course_period_id . '-' . $grade['ID']]) : $percent >= $grade['BREAK_OFF']) {
            return $ret == 'ID' ? $grade['ID'] : $grade['TITLE'];
        }
    }
}
Ejemplo n.º 3
0
function core_calendar_create_calendar_events_object()
{
    //first, gather the necessary variables
    global $columns;
    //then, convert variables for the Moodle object:
    /*
    list of ( 
    	  //event
    	object {
    		name string   //event name
    		description string  Default to "null" //Description
    		format int  Default to "1" //description format (1 = HTML, 0 = MOODLE, 2 = PLAIN or 4 = MARKDOWN)
    		courseid int  Default to "0" //course id
    		groupid int  Default to "0" //group id
    		repeats int  Default to "0" //number of repeats
    		eventtype string  Default to "user" //Event type
    		timestart int  Default to "1370827707" //timestart
    		timeduration int  Default to "0" //time duration (in minutes)
    		visible int  Default to "1" //visible
    		sequence int  Default to "1" //sequence
    	} 
    )
    */
    $name = $columns['TITLE'];
    $description = (!empty($columns['ASSIGNED_DATE']) ? _('Assigned Date') . ': ' . ProperDate($columns['ASSIGNED_DATE']) . '<br />' : '') . $columns['DESCRIPTION'];
    $format = 1;
    //gather the Moodle course ID
    $courseid = DBGet(DBQuery("SELECT moodle_id FROM moodlexrosario WHERE rosario_id='" . UserCoursePeriod() . "' AND \"column\"='course_period_id'"));
    if (count($courseid)) {
        $courseid = (int) $courseid[1]['MOODLE_ID'];
    } else {
        return null;
    }
    $eventtype = 'course';
    $timestart = strtotime($columns['DUE_DATE']);
    $events = array(array('name' => $name, 'description' => $description, 'format' => $format, 'courseid' => $courseid, 'timestart' => $timestart, 'eventtype' => $eventtype));
    return array($events);
}
Ejemplo n.º 4
0
function _makePercentGrade($grade_id, $course_period_id = 0, $staff_id = 0)
{
    global $programconfig, $_openSIS;
    if (!$course_period_id) {
        $course_period_id = UserCoursePeriod();
    }
    if (!$staff_id) {
        $staff_id = User('STAFF_ID');
    }
    if (!$programconfig[$staff_id]) {
        $config_RET = DBGet(DBQuery('SELECT TITLE,VALUE FROM program_user_config WHERE USER_ID=\'' . $staff_id . '\' AND PROGRAM=\'Gradebook\''), array(), array('TITLE'));
        if (count($config_RET)) {
            foreach ($config_RET as $title => $value) {
                $programconfig[$staff_id][$title] = $value[1]['VALUE'];
            }
        } else {
            $programconfig[$staff_id] = true;
        }
    }
    if (!$_openSIS['_makeLetterGrade']['courses'][$course_period_id]) {
        $_openSIS['_makeLetterGrade']['courses'][$course_period_id] = DBGet(DBQuery('SELECT DOES_BREAKOFF,GRADE_SCALE_ID FROM course_periods WHERE COURSE_PERIOD_ID=\'' . $course_period_id . '\''));
    }
    $does_breakoff = $_openSIS['_makeLetterGrade']['courses'][$course_period_id][1]['DOES_BREAKOFF'];
    $grade_scale_id = $_openSIS['_makeLetterGrade']['courses'][$course_period_id][1]['GRADE_SCALE_ID'];
    if (!$_openSIS['_makeLetterGrade']['grades'][$grade_scale_id]) {
        $_openSIS['_makeLetterGrade']['grades'][$grade_scale_id] = DBGet(DBQuery('SELECT TITLE,ID,BREAK_OFF FROM report_card_grades WHERE SYEAR=\'' . UserSyear() . '\' AND SCHOOL_ID=\'' . UserSchool() . '\' AND GRADE_SCALE_ID=\'' . $grade_scale_id . '\' ORDER BY BREAK_OFF IS NOT NULL DESC,BREAK_OFF DESC,SORT_ORDER'));
    }
    //$grades = array('A+','A','A-','B+','B','B-','C+','C','C-','D+','D','D-','F');
    foreach ($_openSIS['_makeLetterGrade']['grades'][$grade_scale_id] as $grade) {
        $prev = $crnt;
        $crnt = $does_breakoff == 'Y' ? $programconfig[$staff_id][$course_period_id . '-' . $grade['ID']] : $grade['BREAK_OFF'];
        if (is_numeric($grade_id) ? $grade_id == $grade['ID'] : strtoupper($grade_id) == strtoupper($grade['TITLE'])) {
            return ($crnt + ($crnt > $prev ? 100 : $prev)) / 2;
        }
    }
    return 0;
}
Ejemplo n.º 5
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;
    }
}
Ejemplo n.º 6
0
        }
    }
    if ($_SESSION['miss_attn'] == 1) {
        $get_profile_type = DBGet(DBQuery('SELECT PROFILE FROM user_profiles WHERE ID=' . UserProfileID()));
        if ($_REQUEST['username'] == 'admin' || $get_profile_type[1]['PROFILE'] == 'admin') {
            $note1 = '<a href=Modules.php?modname=users/TeacherPrograms.php?include=attendance/MissingAttendance.php&From=' . $From . '&to=' . $to . '><< Back to Missing Attendance List </a>';
        }
    }
}
if (optional_param('attn', PARAM_NOTGAS) == 'miss') {
    DrawHeaderHome('<A HREF="Modules.php?modname=miscellaneous/Portal.php?back_mssn_attn_list=Y">Back to Missing Attendance List</A>');
}
echo "<FORM ACTION=Modules.php?modname=" . strip_tags(trim($_REQUEST[modname])) . "&table=" . strip_tags(trim($_REQUEST[table])) . "&username="******"&From={$From}&to={$to}&attn=" . strip_tags(trim($_REQUEST[attn])) . " method=POST>";
$profile = DBGet(DBQuery('SELECT PROFILE FROM staff WHERE STAFF_ID=' . UserID()));
if ($profile[1]['PROFILE'] != "admin" && UserCoursePeriod() != '') {
    $QI = DBQuery('SELECT DISTINCT cpv.ID,cpv.PERIOD_ID,cp.COURSE_PERIOD_ID,sp.TITLE,sp.SHORT_NAME,cp.MARKING_PERIOD_ID,cpv.DAYS,sp.SORT_ORDER,c.TITLE AS COURSE_TITLE FROM course_periods cp,course_period_var cpv, school_periods sp,courses c WHERE c.COURSE_ID=cp.COURSE_ID AND cpv.PERIOD_ID=sp.PERIOD_ID AND cp.COURSE_PERIOD_ID=cpv.COURSE_PERIOD_ID AND cpv.COURSE_PERIOD_ID=' . UserCoursePeriod() . ' AND cp.SYEAR=\'' . UserSyear() . '\' AND cp.SCHOOL_ID=\'' . UserSchool() . '\' AND (cp.TEACHER_ID=\'' . User('STAFF_ID') . '\' OR cp.SECONDARY_TEACHER_ID=\'' . User('STAFF_ID') . '\') ORDER BY sp.SORT_ORDER ');
    $RET = DBGet($QI);
    $period_select = "Choose Period:  <SELECT name=period onChange='this.form.submit();'>";
    $period_select .= "<OPTION value='na' selected>N/A</OPTION>";
    $fi = array();
    foreach ($RET as $period) {
        $date1 = ucfirst(date("l", strtotime($redate)));
        $fi = str_split($period['DAYS']);
        $days_arr = array("Monday" => 'M', "Tuesday" => 'T', "Wednesday" => 'W', "Thursday" => 'H', "Friday" => 'F', "Saturday" => 'S', "Sunday" => 'U');
        $d = $days_arr[$date1];
        $period_select .= "<OPTION value={$period['ID']}" . (in_array($d, $fi) ? ' SELECTED' : '') . ">" . $period['SHORT_NAME'] . ($period['MARKING_PERIOD_ID'] != $fy_id ? ' ' . GetMP($period['MARKING_PERIOD_ID'], 'SHORT_NAME') : '') . (strlen($period['DAYS']) < 5 ? ' ' . $period['DAYS'] : '') . ' - ' . $period['COURSE_TITLE'] . "</OPTION>";
        if (CpvId() == $period['ID']) {
            $_SESSION['UserPeriod'] = $period['PERIOD_ID'];
        }
    }
    $period_select .= "</SELECT>";
Ejemplo n.º 7
0
 if (User('PROFILE') == 'admin') {
     $courses_RET = DBGet(DBQuery("SELECT TITLE,COURSE_ID FROM COURSES WHERE SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "' AND COURSE_ID IN (SELECT DISTINCT COURSE_ID FROM COURSE_PERIODS WHERE GRADE_SCALE_ID IS NOT NULL) ORDER BY TITLE"));
     if (!$_REQUEST['course_id']) {
         $_REQUEST['course_id'] = $courses_RET[1]['COURSE_ID'];
     }
     $course_select = '<SELECT name=course_id onchange="document.location.href=\'Modules.php?modname=' . $_REQUEST['modname'] . '&course_id=\'+this.options[selectedIndex].value">';
     foreach ($courses_RET as $course) {
         $course_select .= '<OPTION value=' . $course['COURSE_ID'] . ($_REQUEST['course_id'] == $course['COURSE_ID'] ? ' SELECTED' : '') . '>' . $course['TITLE'] . '</OPTION>';
     }
     $course_select .= '</SELECT>';
 } else {
     $course_period_RET = DBGet(DBQuery('SELECT GRADE_SCALE_ID,DOES_BREAKOFF,TEACHER_ID FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\''));
     if (!$course_period_RET[1]['GRADE_SCALE_ID']) {
         ErrorMessage(array('This course is not graded.'), 'fatal');
     }
     $courses_RET = DBGet(DBQuery("SELECT TITLE,COURSE_ID FROM COURSES WHERE COURSE_ID=(SELECT COURSE_ID FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='" . UserCoursePeriod() . "')"));
     //$course_select = $courses_RET[1]['TITLE'];
     $_REQUEST['course_id'] = $courses_RET[1]['COURSE_ID'];
 }
 if ($_REQUEST['tab_id'] != '0' && $_REQUEST['tab_id'] != 'new') {
     $_REQUEST['tab_id'] = $_REQUEST['course_id'];
 }
 $course_RET = DBGet(DBQuery("SELECT TITLE FROM COURSES WHERE COURSE_ID='{$_REQUEST['course_id']}'"));
 $tabs = array(1 => array('title' => $course_RET[1]['TITLE'], 'link' => "Modules.php?modname={$_REQUEST['modname']}&course_id={$_REQUEST['course_id']}&tab_id={$_REQUEST['course_id']}"), 2 => array('title' => 'All Courses', 'link' => "Modules.php?modname={$_REQUEST['modname']}&course_id={$_REQUEST['course_id']}&tab_id=0"), 3 => array('title' => 'General', 'link' => "Modules.php?modname={$_REQUEST['modname']}&course_id={$_REQUEST['course_id']}&tab_id=new"));
 if ($_REQUEST['tab_id'] != 'new') {
     if ($_REQUEST['tab_id']) {
         $sql = 'SELECT * FROM REPORT_CARD_COMMENTS WHERE COURSE_ID=\'' . $_REQUEST['tab_id'] . '\' ORDER BY SORT_ORDER';
     } else {
         // need to be more specific since course_period_id=0 is not unique
         $sql = 'SELECT * FROM REPORT_CARD_COMMENTS WHERE COURSE_ID=\'' . $_REQUEST['tab_id'] . '\' AND SYEAR=\'' . UserSyear() . '\' AND SCHOOL_ID=\'' . UserSchool() . '\' ORDER BY SORT_ORDER';
     }
Ejemplo n.º 8
0
     $course_periods = DBGet(DBQuery('select marking_period_id from course_periods where course_period_id=' . UserCoursePeriod()));
     if ($course_periods[1]['MARKING_PERIOD_ID'] == NULL) {
         $school_years = DBGet(DBQuery('select marking_period_id from  school_years where  syear=' . UserSyear() . ' and school_id=' . UserSchool()));
         $fy_mp_id = $school_years[1]['MARKING_PERIOD_ID'];
         $sql = 'SELECT a.TITLE,a.ASSIGNED_DATE,a.DUE_DATE, t.ASSIGNMENT_TYPE_ID,     t.FINAL_GRADE_PERCENT,g.POINTS,a.POINTS AS TOTAL_POINTS,g.COMMENT,g.POINTS AS LETTER_GRADE,CASE WHEN (a.ASSIGNED_DATE IS NULL OR CURRENT_DATE>=a.ASSIGNED_DATE) AND (a.DUE_DATE IS NULL OR CURRENT_DATE>=a.DUE_DATE) THEN \'Y\' ELSE NULL END AS DUE FROM gradebook_assignment_types t,gradebook_assignments a LEFT OUTER JOIN gradebook_grades g ON (a.ASSIGNMENT_ID=g.ASSIGNMENT_ID AND g.STUDENT_ID=\'' . $student['STUDENT_ID'] . '\' AND g.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\') WHERE   a.ASSIGNMENT_TYPE_ID=t.ASSIGNMENT_TYPE_ID AND (a.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\' OR a.COURSE_ID=\'' . $course_id . '\' AND a.STAFF_ID=\'' . User('STAFF_ID') . '\') AND t.COURSE_ID=\'' . $course_id . '\' AND (a.MARKING_PERIOD_ID=\'' . UserMP() . '\' OR a.MARKING_PERIOD_ID=\'' . $fy_mp_id . '\')';
     } else {
         $sql = 'SELECT a.TITLE,a.ASSIGNED_DATE,a.DUE_DATE,  t.ASSIGNMENT_TYPE_ID,     t.FINAL_GRADE_PERCENT,g.POINTS,a.POINTS AS TOTAL_POINTS,g.COMMENT,g.POINTS AS LETTER_GRADE,CASE WHEN (a.ASSIGNED_DATE IS NULL OR CURRENT_DATE>=a.ASSIGNED_DATE) AND (a.DUE_DATE IS NULL OR CURRENT_DATE>=a.DUE_DATE) THEN \'Y\' ELSE NULL END AS DUE FROM gradebook_assignment_types t,gradebook_assignments a LEFT OUTER JOIN gradebook_grades g ON (a.ASSIGNMENT_ID=g.ASSIGNMENT_ID AND g.STUDENT_ID=\'' . $student['STUDENT_ID'] . '\' AND g.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\') WHERE   a.ASSIGNMENT_TYPE_ID=t.ASSIGNMENT_TYPE_ID AND (a.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\' OR a.COURSE_ID=\'' . $course_id . '\' AND a.STAFF_ID=\'' . User('STAFF_ID') . '\') AND t.COURSE_ID=\'' . $course_id . '\' AND a.MARKING_PERIOD_ID=\'' . UserMP() . '\'';
     }
 } else {
     $course_periods = DBGet(DBQuery('select marking_period_id from course_periods where course_period_id=' . UserCoursePeriod()));
     if ($course_periods[1]['MARKING_PERIOD_ID'] == NULL) {
         $school_years = DBGet(DBQuery('select marking_period_id from  school_years where  syear=' . UserSyear() . ' and school_id=' . UserSchool()));
         $fy_mp_id = $school_years[1]['MARKING_PERIOD_ID'];
         $sql = 'SELECT a.TITLE,a.ASSIGNED_DATE,a.DUE_DATE,\'-1\' AS ASSIGNMENT_TYPE_ID,\'1\' AS FINAL_GRADE_PERCENT,g.POINTS,a.POINTS AS TOTAL_POINTS,g.COMMENT,g.POINTS AS LETTER_GRADE,CASE WHEN (a.ASSIGNED_DATE IS NULL OR CURRENT_DATE>=a.ASSIGNED_DATE) AND (a.DUE_DATE IS NULL OR CURRENT_DATE>=a.DUE_DATE) THEN \'Y\' ELSE NULL END AS DUE FROM gradebook_assignments a LEFT OUTER JOIN gradebook_grades g ON (a.ASSIGNMENT_ID=g.ASSIGNMENT_ID AND g.STUDENT_ID=\'' . $student[STUDENT_ID] . '\' AND g.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\') WHERE  (a.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\' OR a.COURSE_ID=\'' . $course_id . '\' AND a.STAFF_ID=\'' . User('STAFF_ID') . '\')  AND (a.MARKING_PERIOD_ID=\'' . UserMP() . '\' OR a.MARKING_PERIOD_ID=\'' . $fy_mp_id . '\')';
     } else {
         $sql = 'SELECT a.TITLE,a.ASSIGNED_DATE,a.DUE_DATE,\'-1\' AS ASSIGNMENT_TYPE_ID,\'1\' AS FINAL_GRADE_PERCENT,g.POINTS,a.POINTS AS TOTAL_POINTS,g.COMMENT,g.POINTS AS LETTER_GRADE,CASE WHEN (a.ASSIGNED_DATE IS NULL OR CURRENT_DATE>=a.ASSIGNED_DATE) AND (a.DUE_DATE IS NULL OR CURRENT_DATE>=a.DUE_DATE) THEN \'Y\' ELSE NULL END AS DUE FROM gradebook_assignments a LEFT OUTER JOIN gradebook_grades g ON (a.ASSIGNMENT_ID=g.ASSIGNMENT_ID AND g.STUDENT_ID=\'' . $student[STUDENT_ID] . '\' AND g.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\') WHERE  (a.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\' OR a.COURSE_ID=\'' . $course_id . '\' AND a.STAFF_ID=\'' . User('STAFF_ID') . '\')  AND a.MARKING_PERIOD_ID=\'' . UserMP() . '\'';
     }
 }
 if ($_REQUEST['exclude_notdue'] == 'Y') {
     $sql .= ' AND ((a.ASSIGNED_DATE IS NULL OR CURRENT_DATE>=a.ASSIGNED_DATE) AND (a.DUE_DATE IS NULL OR CURRENT_DATE>=DUE_DATE) OR g.POINTS IS NOT NULL)';
 }
 if ($_REQUEST['exclude_ec'] == 'Y') {
     $sql .= ' AND (a.POINTS!=\'0\' OR g.POINTS IS NOT NULL AND g.POINTS!=\'-1\')';
 }
 $sql .= ' AND a.DUE_DATE>=\'' . $student[START_DATE] . '\' ORDER BY a.ASSIGNMENT_ID';
 $grades_RET = DBGet(DBQuery($sql), array('ASSIGNED_DATE' => '_removeSpaces', 'DUE_DATE' => '_removeSpaces', 'TITLE' => '_removeSpaces', 'POINTS' => '_makeExtra', 'LETTER_GRADE' => '_makeExtra'));
 $sum_points = $sum_percent = 0;
 $flag = false;
 foreach ($percent_weights as $assignment_type_id => $percent) {
     $flag = true;
     $sum_points += $student_points[$assignment_type_id] * $percent_weights[$assignment_type_id] / $total_points[$assignment_type_id];
Ejemplo n.º 9
0
     if ($_REQUEST['allow_edit'] == 'Y' || !$_REQUEST['tab_id']) {
         $LO_columns += array('ASSIGNMENT_TYPE_ID' => _('Type'));
     }
     $link['add']['html'] = array('TITLE' => _makeAssnInput('', 'TITLE'), 'POINTS' => _makeAssnInput('', 'POINTS'), 'ASSIGNED_DATE' => _makeAssnInput('', 'ASSIGNED_DATE'), 'DUE_DATE' => _makeAssnInput('', 'DUE_DATE'), 'COURSE_ID' => _makeAssnInput('', 'COURSE_ID'), 'DESCRIPTION' => _makeAssnInput('', 'DESCRIPTION'));
     if (!$_REQUEST['tab_id']) {
         $link['add']['html'] += array('ASSIGNMENT_TYPE_ID' => _makeAssnInput('', 'ASSIGNMENT_TYPE_ID'));
     }
     $link['remove']['link'] = "Modules.php?modname={$_REQUEST['modname']}&modfunc=remove&tab_id={$_REQUEST['tab_id']}&allow_edit={$_REQUEST['allow_edit']}";
     $link['remove']['variables'] = array('id' => 'ASSIGNMENT_ID');
     $link['add']['html']['remove'] = button('add');
     $link['add']['first'] = 1;
     // number before add link moves to top
     $tabs[] = array('title' => button('add'), 'link' => "Modules.php?modname={$_REQUEST['modname']}&tab_id=new&allow_edit={$_REQUEST['allow_edit']}");
     $subject = 'Assignments';
 } else {
     $sql = "SELECT ASSIGNMENT_TYPE_ID,TITLE,FINAL_GRADE_PERCENT,SORT_ORDER,COLOR FROM GRADEBOOK_ASSIGNMENT_TYPES WHERE STAFF_ID='" . User('STAFF_ID') . "' AND COURSE_ID=(SELECT COURSE_ID FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='" . UserCoursePeriod() . "') ORDER BY SORT_ORDER,TITLE";
     $functions = array('TITLE' => '_makeTypeInput', 'SORT_ORDER' => '_makeTypeInput', 'COLOR' => '_makeColorInput');
     if (Preferences('WEIGHT', 'Gradebook') == 'Y') {
         $functions['FINAL_GRADE_PERCENT'] = '_makeTypeInput';
     }
     $LO_ret = DBGet(DBQuery($sql), $functions);
     $LO_columns = array('TITLE' => _('Type'));
     if (Preferences('WEIGHT', 'Gradebook') == 'Y') {
         $LO_columns += array('FINAL_GRADE_PERCENT' => _('Percent'));
     }
     $LO_columns += array('SORT_ORDER' => _('Sort Order'), 'COLOR' => _('Color'));
     $link['add']['html'] = array('TITLE' => _makeTypeInput('', 'TITLE'), 'SORT_ORDER' => _makeTypeInput('', 'SORT_ORDER'), 'COLOR' => _makeColorInput('', 'COLOR'));
     if (Preferences('WEIGHT', 'Gradebook') == 'Y') {
         $link['add']['html']['FINAL_GRADE_PERCENT'] = _makeTypeInput('', 'FINAL_GRADE_PERCENT');
     }
     $link['remove']['link'] = "Modules.php?modname={$_REQUEST['modname']}&modfunc=remove&tab_id=new&allow_edit={$_REQUEST['allow_edit']}";
Ejemplo n.º 10
0
function GetStuListAttn(&$extra)
{
    global $contacts_RET, $view_other_RET, $_openSIS;
    if ((!$extra['SELECT_ONLY'] || strpos($extra['SELECT_ONLY'], 'GRADE_ID') !== false) && !$extra['functions']['GRADE_ID']) {
        $functions = array('GRADE_ID' => 'GetGrade');
    } else {
        $functions = array();
    }
    if ($extra['functions']) {
        $functions += $extra['functions'];
    }
    if (!$extra['DATE']) {
        $queryMP = UserMP();
        $extra['DATE'] = DBDate();
    } else {
        $queryMP = UserMP();
    }
    if ($_REQUEST['expanded_view'] == 'true') {
        if (!$extra['columns_after']) {
            $extra['columns_after'] = array();
        }
        #############################################################################################
        //Commented as it crashing for Linux due to  Blank Database tables
        #############################################################################################
        $view_address_RET = DBGet(DBQuery('SELECT VALUE FROM program_user_config WHERE PROGRAM=\'StudentFieldsView\' AND TITLE=\'ADDRESS\' AND USER_ID=\'' . User('STAFF_ID') . '\''));
        $view_address_RET = $view_address_RET[1]['VALUE'];
        $view_other_RET = DBGet(DBQuery('SELECT TITLE,VALUE FROM program_user_config WHERE PROGRAM=\'StudentFieldsView\' AND TITLE IN (\'CONTACT_INFO\',\'HOME_PHONE\',\'GUARDIANS\',\'ALL_CONTACTS\') AND USER_ID=\'' . User('STAFF_ID') . '\''), array(), array('TITLE'));
        if (!count($view_fields_RET) && !isset($view_address_RET) && !isset($view_other_RET['CONTACT_INFO'])) {
            $extra['columns_after'] = array('CONTACT_INFO' => '<IMG SRC=assets/down_phone_button.gif border=0>', 'gender' => 'Gender', 'ethnicity' => 'Ethnicity', 'ADDRESS' => 'Mailing Address', 'CITY' => 'City', 'STATE' => 'State', 'ZIPCODE' => 'Zipcode') + $extra['columns_after'];
            $select = ',s.STUDENT_ID AS CONTACT_INFO,s.GENDER,s.ETHNICITY,a.STREET_ADDRESS_1 as ADDRESS,a.CITY,a.STATE,a.ZIPCODE';
            $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (ssm.STUDENT_ID=a.STUDENT_ID AND a.TYPE=\'Mail\')  ' . $extra['FROM'];
            $functions['CONTACT_INFO'] = 'makeContactInfo';
            // if gender is converted to codeds type
            //$functions['CUSTOM_200000000'] = 'DeCodeds';
            $extra['singular'] = 'Student Address';
            $extra['plural'] = 'Student Addresses';
            $extra2['NoSearchTerms'] = true;
            $extra2['SELECT_ONLY'] = 'ssm.STUDENT_ID,p.STAFF_ID AS PERSON_ID,p.FIRST_NAME,p.LAST_NAME,sjp.RELATIONSHIP as STUDENT_RELATION,p.TITLE,s.PHONE,a.ID AS ADDRESS_ID ';
            $extra2['FROM'] .= ',student_address a LEFT OUTER JOIN students_join_people sjp ON (a.STUDENT_ID=sjp.STUDENT_ID AND (p.CUSTODY=\'Y\' OR sjp.IS_EMERGENCY=\'Y\')) LEFT OUTER JOIN people p ON (p.STAFF_ID=sjp.PERSON_ID) ';
            $extra2['WHERE'] .= ' AND a.STUDENT_ID=sjp.STUDENT_ID AND sjp.STUDENT_ID=ssm.STUDENT_ID ';
            $extra2['ORDER_BY'] .= 'COALESCE(p.CUSTODY,\'N\') DESC';
            $extra2['group'] = array('STUDENT_ID', 'PERSON_ID');
            // EXPANDED VIEW AND ADDR BREAKS THIS QUERY ... SO, TURN 'EM OFF
            if (!$_REQUEST['_openSIS_PDF']) {
                $expanded_view = $_REQUEST['expanded_view'];
                $_REQUEST['expanded_view'] = false;
                $addr = $_REQUEST['addr'];
                unset($_REQUEST['addr']);
                $contacts_RET = GetStuList($extra2);
                $_REQUEST['expanded_view'] = $expanded_view;
                $_REQUEST['addr'] = $addr;
            } else {
                unset($extra2['columns_after']['CONTACT_INFO']);
            }
        } else {
            if ($view_other_RET['CONTACT_INFO'][1]['VALUE'] == 'Y' && !$_REQUEST['_openSIS_PDF']) {
                $select .= ',NULL AS CONTACT_INFO ';
                $extra['columns_after']['CONTACT_INFO'] = '<IMG SRC=assets/down_phone_button.gif border=0>';
                $functions['CONTACT_INFO'] = 'makeContactInfo';
                $extra2 = $extra;
                $extra2['NoSearchTerms'] = true;
                $extra2['SELECT'] = '';
                $extra2['SELECT_ONLY'] = 'ssm.STUDENT_ID,p.STAFF_ID AS PERSON_ID,p.FIRST_NAME,p.LAST_NAME,sjp.RELATIONSHIP AS STUDENT_RELATION,p.TITLE,s.PHONE,a.ID AS ADDRESS_ID,COALESCE(p.CUSTODY,\'N\') ';
                $extra2['FROM'] .= ',student_address a LEFT OUTER JOIN students_join_people sjp ON (a.STUDENT_ID=sjp.STUDENT_ID AND (p.CUSTODY=\'Y\' OR sjp.IS_EMERGENCY=\'Y\')) LEFT OUTER JOIN people p ON (p.STAFF_ID=sjp.PERSON_ID)  ';
                $extra2['WHERE'] .= ' AND a.STUDENT_ID=sjp.STUDENT_ID AND sjp.STUDENT_ID=ssm.STUDENT_ID ';
                $extra2['ORDER_BY'] .= 'COALESCE(p.CUSTODY,\'N\') DESC';
                $extra2['group'] = array('STUDENT_ID', 'PERSON_ID');
                $extra2['functions'] = array();
                $extra2['link'] = array();
                // EXPANDED VIEW AND ADDR BREAKS THIS QUERY ... SO, TURN 'EM OFF
                $expanded_view = $_REQUEST['expanded_view'];
                $_REQUEST['expanded_view'] = false;
                $addr = $_REQUEST['addr'];
                unset($_REQUEST['addr']);
                $contacts_RET = GetStuList($extra2);
                $_REQUEST['expanded_view'] = $expanded_view;
                $_REQUEST['addr'] = $addr;
            }
            foreach ($view_fields_RET as $field) {
                $extra['columns_after']['CUSTOM_' . $field['ID']] = $field['TITLE'];
                if ($field['TYPE'] == 'date') {
                    $functions['CUSTOM_' . $field['ID']] = 'ProperDate';
                } elseif ($field['TYPE'] == 'numeric') {
                    $functions['CUSTOM_' . $field['ID']] = 'removeDot00';
                } elseif ($field['TYPE'] == 'codeds') {
                    $functions['CUSTOM_' . $field['ID']] = 'DeCodeds';
                }
                $select .= ',s.CUSTOM_' . $field['ID'];
            }
            if ($view_address_RET) {
                if ($view_address_RET == 'RESIDENCE') {
                    $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (ssm.STUDENT_ID=a.STUDENT_ID AND a.TYPE=\'Home Address\')  ' . $extra['FROM'];
                } elseif ($view_address_RET == 'MAILING') {
                    $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (ssm.STUDENT_ID=a.STUDENT_ID AND a.TYPE=\'Mail\') ' . $extra['FROM'];
                } elseif ($view_address_RET == 'BUS_PICKUP') {
                    $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (a.STUDENT_ID=a.STUDENT_ID AND a.BUS_PICKUP=\'Y\') ' . $extra['FROM'];
                } else {
                    $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (a.STUDENT_ID=a.STUDENT_ID AND a.BUS_DROPOFF=\'Y\') ' . $extra['FROM'];
                }
                $extra['columns_after'] += array('ADDRESS' => ucwords(strtolower(str_replace('_', ' ', $view_address_RET))) . ' Address', 'CITY' => 'City', 'STATE' => 'State', 'ZIPCODE' => 'Zipcode');
                $select .= ',a.ID AS ADDRESS_ID,a.STREET_ADDRESS_1 as ADDRESS,a.CITY,a.STATE,a.ZIPCODE,s.PHONE,ssm.STUDENT_ID AS PARENTS';
                $extra['singular'] = 'Student Address';
                $extra['plural'] = 'Student Addresses';
                if ($view_other_RET['HOME_PHONE'][1]['VALUE'] == 'Y') {
                    $functions['PHONE'] = 'makePhone';
                    $extra['columns_after']['PHONE'] = 'Home Phone';
                }
                if ($view_other_RET['GUARDIANS'][1]['VALUE'] == 'Y' || $view_other_RET['ALL_CONTACTS'][1]['VALUE'] == 'Y') {
                    $functions['PARENTS'] = 'makeParents';
                    if ($view_other_RET['ALL_CONTACTS'][1]['VALUE'] == 'Y') {
                        $extra['columns_after']['PARENTS'] = 'Contacts';
                    } else {
                        $extra['columns_after']['PARENTS'] = 'Guardians';
                    }
                }
            } elseif ($_REQUEST['addr'] || $extra['addr']) {
                $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (ssm.STUDENT_ID=a.STUDENT_ID) ' . $extra['FROM'];
                $distinct = 'DISTINCT ';
            }
        }
        $extra['SELECT'] .= $select;
    } elseif ($_REQUEST['addr'] || $extra['addr']) {
        $extra['FROM'] = ' LEFT OUTER JOIN student_address a ON (ssm.STUDENT_ID=a.STUDENT_ID) ' . $extra['FROM'];
        $distinct = 'DISTINCT ';
    }
    switch (User('PROFILE')) {
        case 'admin':
            $sql = 'SELECT ';
            if ($extra['SELECT_ONLY']) {
                $sql .= $extra['SELECT_ONLY'];
            } else {
                if (Preferences('NAME') == 'Common') {
                    $sql .= 'CONCAT(s.LAST_NAME,\', \',coalesce(s.COMMON_NAME,s.FIRST_NAME)) AS FULL_NAME,';
                } else {
                    $sql .= 'CONCAT(s.LAST_NAME,\', \',s.FIRST_NAME,\' \',COALESCE(s.MIDDLE_NAME,\' \')) AS FULL_NAME,';
                }
                $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME,s.STUDENT_ID,ssm.SCHOOL_ID AS LIST_SCHOOL_ID,ssm.GRADE_ID ' . $extra['SELECT'];
                if ($_REQUEST['include_inactive'] == 'Y') {
                    $sql .= ',' . db_case(array('(ssm.SYEAR=\'' . UserSyear() . '\' AND (ssm.START_DATE IS NOT NULL AND (\'' . date('Y-m-d', strtotime($extra['DATE'])) . '\'<=ssm.END_DATE OR ssm.END_DATE IS NULL)))', 'true', "'<FONT color=green>Active</FONT>'", "'<FONT color=red>Inactive</FONT>'")) . ' AS ACTIVE ';
                }
            }
            $sql .= ' FROM students s,student_enrollment ssm ' . $extra['FROM'] . ' WHERE ssm.STUDENT_ID=s.STUDENT_ID ';
            if ($_REQUEST['include_inactive'] == 'Y') {
                $sql .= ' AND ssm.ID=(SELECT ID FROM student_enrollment WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR<=\'' . UserSyear() . '\' ORDER BY START_DATE DESC LIMIT 1)';
            } else {
                $sql .= ' AND ssm.SYEAR=\'' . UserSyear() . '\' AND (ssm.START_DATE IS NOT NULL AND (\'' . date('Y-m-d', strtotime($extra['DATE'])) . '\'<=ssm.END_DATE OR ssm.END_DATE IS NULL)) ';
            }
            if (UserSchool() && $_REQUEST['_search_all_schools'] != 'Y') {
                $sql .= ' AND ssm.SCHOOL_ID=\'' . UserSchool() . '\'';
            } else {
                //
                $sql .= ' AND ssm.SCHOOL_ID IN (' . GetUserSchools(UserID(), true) . ') ';
                $extra['columns_after']['LIST_SCHOOL_ID'] = 'School';
                $functions['LIST_SCHOOL_ID'] = 'GetSchool';
            }
            if (!$extra['SELECT_ONLY'] && $_REQUEST['include_inactive'] == 'Y') {
                $extra['columns_after']['ACTIVE'] = 'Status';
            }
            break;
        case 'teacher':
            $sql = 'SELECT ';
            if ($extra['SELECT_ONLY']) {
                $sql .= $extra['SELECT_ONLY'];
            } else {
                if (Preferences('NAME') == 'Common') {
                    $sql .= 'CONCAT(s.LAST_NAME,\', \',coalesce(s.COMMON_NAME,s.FIRST_NAME)) AS FULL_NAME,';
                } else {
                    $sql .= 'CONCAT(s.LAST_NAME,\', \',s.FIRST_NAME,\' \',COALESCE(s.MIDDLE_NAME,\' \')) AS FULL_NAME,';
                }
                $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME,s.STUDENT_ID,ssm.SCHOOL_ID,ssm.GRADE_ID ' . $extra['SELECT'];
                if ($_REQUEST['include_inactive'] == 'Y') {
                    $sql .= ',' . db_case(array('(ssm.START_DATE IS NOT NULL AND  (\'' . $extra['DATE'] . '\'<=ssm.END_DATE OR ssm.END_DATE IS NULL))', 'true', "'<FONT color=green>Active</FONT>'", "'<FONT color=red>Inactive</FONT>'")) . ' AS ACTIVE';
                    $sql .= ',' . db_case(array('(\'' . $extra['DATE'] . '\'>=ss.START_DATE AND (\'' . $extra['DATE'] . '\'<=ss.END_DATE OR ss.END_DATE IS NULL))', 'true', "'<FONT color=green>Active</FONT>'", "'<FONT color=red>Inactive</FONT>'")) . ' AS ACTIVE_SCHEDULE';
                }
            }
            //
            $sql .= ' FROM students s,course_periods cp,schedule ss,student_enrollment ssm,course_period_var cpv ' . $extra['FROM'] . ' WHERE ssm.STUDENT_ID=s.STUDENT_ID AND cpv.COURSE_PERIOD_ID=cp.COURSE_PERIOD_ID AND cpv.ID="' . $extra['ID'] . '" AND ssm.STUDENT_ID=ss.STUDENT_ID AND ssm.SCHOOL_ID=\'' . UserSchool() . '\' AND ssm.SYEAR=\'' . UserSyear() . '\' AND ssm.SYEAR=cp.SYEAR AND ssm.SYEAR=ss.SYEAR AND ' . db_case(array(User('STAFF_ID'), 'cp.teacher_id', ' cp.teacher_id=' . User('STAFF_ID'), 'cp.secondary_teacher_id', ' cp.secondary_teacher_id=' . User('STAFF_ID'), 'cp.course_period_id IN(SELECT course_period_id from teacher_reassignment tra WHERE cp.course_period_id=tra.course_period_id AND tra.pre_teacher_id=' . User('STAFF_ID') . ')')) . ' AND cp.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\' AND cp.COURSE_ID=ss.COURSE_ID AND cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID';
            if ($extra['cpvdate'] != '') {
                $sql .= $extra['cpvdate'];
            }
            if ($_REQUEST['include_inactive'] == 'Y') {
                $sql .= ' AND ssm.ID=(SELECT ID FROM student_enrollment WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR=ssm.SYEAR ORDER BY START_DATE DESC LIMIT 1)';
                $sql .= ' AND ss.START_DATE=(SELECT START_DATE FROM schedule WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR=ssm.SYEAR AND MARKING_PERIOD_ID IN (' . GetAllMP('', $queryMP) . ') AND COURSE_ID=cp.COURSE_ID AND COURSE_PERIOD_ID=cp.COURSE_PERIOD_ID ORDER BY START_DATE DESC LIMIT 1)';
            } else {
                $sql .= ' AND (ssm.START_DATE IS NOT NULL  AND \'' . $extra['DATE'] . '\'>=ssm.START_DATE AND (\'' . $extra['DATE'] . '\'<=ssm.END_DATE OR ssm.END_DATE IS NULL))';
                $sql .= ' AND (\'' . $extra['DATE'] . '\'>=ss.START_DATE AND (\'' . $extra['DATE'] . '\'<=ss.END_DATE OR ss.END_DATE IS NULL))';
            }
            if (!$extra['SELECT_ONLY'] && $_REQUEST['include_inactive'] == 'Y') {
                $extra['columns_after']['ACTIVE'] = 'School Status';
                $extra['columns_after']['ACTIVE_SCHEDULE'] = 'Course Status';
            }
            break;
        case 'parent':
        case 'student':
            $sql = 'SELECT ';
            if ($extra['SELECT_ONLY']) {
                $sql .= $extra['SELECT_ONLY'];
            } else {
                if (Preferences('NAME') == 'Common') {
                    $sql .= 'CONCAT(s.LAST_NAME,\', \',coalesce(s.COMMON_NAME,s.FIRST_NAME)) AS FULL_NAME,';
                } else {
                    $sql .= 'CONCAT(s.LAST_NAME,\', \',s.FIRST_NAME,\' \',COALESCE(s.MIDDLE_NAME,\' \')) AS FULL_NAME,';
                }
                $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME,s.STUDENT_ID,ssm.SCHOOL_ID,ssm.GRADE_ID ' . $extra['SELECT'];
            }
            $sql .= ' FROM students s,student_enrollment ssm ' . $extra['FROM'] . '
					WHERE ssm.STUDENT_ID=s.STUDENT_ID AND ssm.SYEAR=\'' . UserSyear() . '\' AND ssm.SCHOOL_ID=\'' . UserSchool() . '\' AND (\'' . DBDate() . '\' BETWEEN ssm.START_DATE AND ssm.END_DATE OR (ssm.END_DATE IS NULL AND \'' . DBDate() . '\'>ssm.START_DATE)) AND ssm.STUDENT_ID' . ($extra['ASSOCIATED'] ? ' IN (SELECT STUDENT_ID FROM students_join_users WHERE STAFF_ID=\'' . $extra['ASSOCIATED'] . '\')' : '=\'' . UserStudentID() . '\'');
            break;
        default:
            exit('Error');
    }
    $sql = appendSQL($sql, $extra);
    $sql .= $extra['WHERE'] . ' ';
    $sql .= CustomFields('where');
    if ($extra['GROUP']) {
        $sql .= ' GROUP BY ' . $extra['GROUP'];
    }
    if (!$extra['ORDER_BY'] && !$extra['SELECT_ONLY']) {
        if (Preferences('SORT') == 'Grade') {
            $sql .= ' ORDER BY (SELECT SORT_ORDER FROM school_gradelevels WHERE ID=ssm.GRADE_ID),FULL_NAME';
        } else {
            $sql .= ' ORDER BY FULL_NAME';
        }
        $sql .= $extra['ORDER'];
    } elseif ($extra['ORDER_BY']) {
        $sql .= ' ORDER BY ' . $extra['ORDER_BY'];
    }
    if ($extra['DEBUG'] === true) {
        echo '<!--' . $sql . '-->';
    }
    return DBGet(DBQuery($sql), $functions, $extra['group']);
}
Ejemplo n.º 11
0
function _makeGrade($value, $column)
{
    global $THIS_RET, $current_RET, $import_RET, $grades_RET, $grades_select, $student_count, $tabindex;
    $tc_grade = 'n';
    if ($column == 'REPORT_CARD_GRADE') {
        if (!isset($_REQUEST['_openSIS_PDF'])) {
            $student_count++;
            $tabindex = $student_count;
            if ($import_RET[$THIS_RET['STUDENT_ID']]) {
                $select = $import_RET[$THIS_RET['STUDENT_ID']][1]['REPORT_CARD_GRADE_ID'];
                $extra_select = array($select => $grades_select[$import_RET[$THIS_RET['STUDENT_ID']][1]['REPORT_CARD_GRADE_ID']]);
                $div = false;
            } else {
                if ($current_RET[$THIS_RET['STUDENT_ID']][1]['GRADE_PERCENT'] != '') {
                    $select = _makeLetterGrade($current_RET[$THIS_RET['STUDENT_ID']][1]['GRADE_PERCENT'] / 100, "", User('STAFF_ID'), "%");
                }
                $rounding = DBGet(DBQuery('SELECT VALUE FROM program_user_config WHERE USER_ID=\'' . User('STAFF_ID') . '\' AND TITLE=\'ROUNDING\' AND PROGRAM=\'Gradebook\' '));
                if (count($rounding)) {
                    $_SESSION['ROUNDING'] = $rounding[1]['VALUE'];
                } else {
                    $_SESSION['ROUNDING'] = '';
                }
                if ($_SESSION['ROUNDING'] == 'UP') {
                    $select = ceil($select);
                } elseif ($_SESSION['ROUNDING'] == 'DOWN') {
                    $select = floor($select);
                } elseif ($_SESSION['ROUNDING'] == 'NORMAL') {
                    $select = round($select);
                }
                $dbf = DBGet(DBQuery('SELECT DOES_BREAKOFF,GRADE_SCALE_ID FROM course_periods WHERE COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\''));
                if ($dbf[1]['DOES_BREAKOFF'] == 'Y' && $select !== '') {
                    $get_details = DBGet(DBQuery('SELECT TITLE,VALUE FROM program_user_config WHERE TITLE LIKE \'' . UserCoursePeriod() . '-%' . '\' AND USER_ID=\'' . User('STAFF_ID') . '\' AND PROGRAM=\'Gradebook\' ORDER BY VALUE DESC '));
                    if (count($get_details)) {
                        foreach ($get_details as $i => $d) {
                            if ($select >= $d['VALUE']) {
                                $id = $i;
                                break;
                            }
                        }
                        $grade_id = explode('-', $get_details[$id]['TITLE']);
                        $select = $grade_id[1];
                        $tc_grade = 'y';
                    }
                }
                if ($tc_grade == 'n') {
                    $select = $current_RET[$THIS_RET['STUDENT_ID']][1]['REPORT_CARD_GRADE_ID'];
                }
                $extra_select = array();
                $div = true;
            }
            if ($_REQUEST['modfunc'] == 'clearall') {
                $select = '';
            }
            $return = SelectInput($select, 'values[' . $THIS_RET['STUDENT_ID'] . '][grade]', '', $extra_select + $grades_select, false, 'tabindex=' . $tabindex, $div);
        } else {
            if ($import_RET[$THIS_RET['STUDENT_ID']]) {
                $select = $import_RET[$THIS_RET['STUDENT_ID']][1]['REPORT_CARD_GRADE_ID'];
            } else {
                $select = $current_RET[$THIS_RET['STUDENT_ID']][1]['REPORT_CARD_GRADE_ID'];
            }
            $return = '<b>' . $grades_RET[$select][1]['TITLE'] . '</b>';
        }
    } elseif ($column == 'GRADE_PERCENT') {
        if ($import_RET[$THIS_RET['STUDENT_ID']]) {
            $select = $import_RET[$THIS_RET['STUDENT_ID']][1]['GRADE_PERCENT'];
        } else {
            $select = $current_RET[$THIS_RET['STUDENT_ID']][1]['GRADE_PERCENT'];
            $rounding = DBGet(DBQuery('SELECT VALUE FROM program_user_config WHERE USER_ID=\'' . User('STAFF_ID') . '\' AND TITLE=\'ROUNDING\' AND PROGRAM=\'Gradebook\' '));
            if (count($rounding)) {
                $_SESSION['ROUNDING'] = $rounding[1]['VALUE'];
            } else {
                $_SESSION['ROUNDING'] = '';
            }
            if ($_SESSION['ROUNDING'] == 'UP') {
                $select = ceil($select);
            } elseif ($_SESSION['ROUNDING'] == 'DOWN') {
                $select = floor($select);
            } elseif ($_SESSION['ROUNDING'] == 'NORMAL') {
                $select = round($select);
            }
            $return = $select == '' ? '' : $select + 0 . '%';
        }
    }
    return $return;
}
Ejemplo n.º 12
0
        }
    }
    $current_RET = DBGet(DBQuery("SELECT ATTENDANCE_TEACHER_CODE,ATTENDANCE_CODE,ATTENDANCE_REASON,STUDENT_ID,ADMIN,COURSE_PERIOD_ID FROM ATTENDANCE_PERIOD WHERE SCHOOL_DATE='" . $date . "'"), array(), array('STUDENT_ID', 'COURSE_PERIOD_ID'));
    unset($_REQUEST['attendance']);
}
if ($_REQUEST['search_modfunc'] || $_REQUEST['student_id'] || UserStudentID() || User('PROFILE') == 'parent' || User('PROFILE') == 'student') {
    $PHP_tmp_SELF = PreparePHP_SELF();
    $period_select = "<SELECT name=period_id onchange='this.form.submit();'><OPTION value=\"\">" . _('Daily') . "</OPTION>";
    if (!UserStudentID() && !$_REQUEST['student_id']) {
        if (User('PROFILE') == 'admin') {
            $periods_RET = DBGet(DBQuery("SELECT sp.PERIOD_ID,sp.TITLE FROM SCHOOL_PERIODS sp WHERE sp.SYEAR='" . UserSyear() . "' AND sp.SCHOOL_ID='" . UserSchool() . "' AND (SELECT count(1) FROM COURSE_PERIODS WHERE position(',0,' IN DOES_ATTENDANCE)>0 AND PERIOD_ID=sp.PERIOD_ID AND SYEAR=sp.SYEAR AND SCHOOL_ID=sp.SCHOOL_ID)>0 ORDER BY sp.SORT_ORDER"));
            foreach ($periods_RET as $period) {
                $period_select .= "<OPTION value=" . $period['PERIOD_ID'] . ($_REQUEST['period_id'] == $period['PERIOD_ID'] ? ' SELECTED' : '') . ">" . $period['TITLE'] . '</OPTION>';
            }
        } else {
            $periods_RET = DBGet(DBQuery("SELECT sp.PERIOD_ID,sp.TITLE FROM SCHOOL_PERIODS sp,COURSE_PERIODS cp WHERE position(',0,' IN cp.DOES_ATTENDANCE)>0 AND sp.PERIOD_ID=cp.PERIOD_ID AND cp.COURSE_PERIOD_ID='" . UserCoursePeriod() . "'"));
            if ($periods_RET) {
                $period_select .= "<OPTION value=" . $periods_RET[1]['PERIOD_ID'] . ($_REQUEST['period_id'] == $periods_RET[1]['PERIOD_ID'] || !isset($_REQUEST['period_id']) ? ' SELECTED' : '') . ">" . $periods_RET[1]['TITLE'] . '</OPTION>';
                if (!isset($_REQUEST['period_id'])) {
                    $_REQUEST['period_id'] = $periods_RET['PERIOD_ID'];
                }
            }
        }
    } else {
        $period_select .= '<OPTION value="PERIOD"' . ($_REQUEST['period_id'] ? ' SELECTED' : '') . '>' . _('By Period') . '</OPTION>';
    }
    $period_select .= '</SELECT>';
    echo "<FORM action={$PHP_tmp_SELF} method=POST>";
    DrawHeader(PrepareDate($start_date, '_start') . ' - ' . PrepareDate($end_date, '_end') . ' : ' . $period_select . ' : <INPUT type=submit value=' . _('Go') . '>');
}
$cal_RET = DBGet(DBQuery("SELECT DISTINCT SCHOOL_DATE,'_'||to_char(SCHOOL_DATE,'yyyymmdd') AS SHORT_DATE FROM ATTENDANCE_CALENDAR WHERE SCHOOL_ID='" . UserSchool() . "' AND SCHOOL_DATE BETWEEN '{$start_date}' AND '{$end_date}' ORDER BY SCHOOL_DATE"));
Ejemplo n.º 13
0
function makeGradesInput($value, $name)
{
    global $THIS_RET, $grade_scale_select, $teacher_id, $config_RET;
    if ($THIS_RET['ID']) {
        $id = $THIS_RET['ID'];
    } else {
        $id = 'new';
    }
    if ($name == 'GRADE_SCALE_ID') {
        return SelectInput($value, "values[{$id}][{$name}]", '', $grade_scale_select, false);
    } elseif ($name == 'COMMENT') {
        $extra = 'size=15 maxlength=100';
    } elseif ($name == 'GPA_VALUE') {
        $extra = 'size=5 maxlength=5';
    } elseif ($name == 'SORT_ORDER') {
        $extra = 'size=5 maxlength=5';
    } elseif ($name == 'BREAK_OFF' && $teacher_id && $config_RET[UserCoursePeriod() . '-' . $THIS_RET['ID']][1]['VALUE'] != '') {
        return '<FONT color=blue>' . $config_RET[UserCoursePeriod() . '-' . $THIS_RET['ID']][1]['VALUE'] . '</FONT>';
    } else {
        $extra = 'size=5 maxlength=5';
    }
    return TextInput($value, "values[{$id}][{$name}]", '', $extra);
}
Ejemplo n.º 14
0
#  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/>.
#
#***************************************************************************************
#DrawHeader('Gradebook - '.ProgramTitle());
/*
$course_id = DBGet(DBQuery("SELECT COURSE_ID,COURSE_PERIOD_ID FROM course_periods WHERE TEACHER_ID='".User('STAFF_ID')."' AND PERIOD_ID='".UserPeriod()."' AND MARKING_PERIOD_ID IN (".GetAllMP('QTR',UserMP()).')'));
$course_period_id = $course_id[1]['COURSE_PERIOD_ID'];
$course_id = $course_id[1]['COURSE_ID'];
*/
include '../../Redirect_modules.php';
$course_period_id = UserCoursePeriod();
$course_id = DBGet(DBQuery('SELECT COURSE_ID FROM course_periods WHERE COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\''));
$course_id = $course_id[1]['COURSE_ID'];
$_openSIS['allow_edit'] = true;
unset($_SESSION['_REQUEST_vars']['assignment_type_id']);
unset($_SESSION['_REQUEST_vars']['assignment_id']);
$config_RET = DBGet(DBQuery('SELECT TITLE,VALUE FROM program_user_config WHERE USER_ID=\'' . User('STAFF_ID') . '\' AND PROGRAM=\'Gradebook\''), array(), array('TITLE'));
if (count($config_RET)) {
    foreach ($config_RET as $title => $value) {
        $programconfig[$title] = $value[1]['VALUE'];
    }
} else {
    $programconfig = true;
}
//echo '<pre>';print_r($_REQUEST['day_tables']);echo'</pre>';
if (clean_param($_REQUEST['day_tables'], PARAM_NOTAGS) && ($_POST['day_tables'] || $_REQUEST['ajax'])) {
    foreach ($_REQUEST['day_tables'] as $id => $values) {
Ejemplo n.º 15
0
             $extra['SELECT'] .= ",(SELECT cp.ROOM FROM COURSE_PERIODS cp WHERE cp.COURSE_PERIOD_ID='{$_REQUEST['w_course_period_id']}') AS ROOM";
         }
     } else {
         if ($_REQUEST['teacher']) {
             $extra['SELECT'] .= ",(SELECT st.FIRST_NAME||' '||st.LAST_NAME FROM STAFF st,COURSE_PERIODS cp,SCHOOL_PERIODS p,SCHEDULE ss WHERE st.STAFF_ID=cp.TEACHER_ID AND cp.PERIOD_id=p.PERIOD_ID AND p.ATTENDANCE='Y' AND cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID AND ss.STUDENT_ID=s.STUDENT_ID AND ss.SYEAR='" . UserSyear() . "' AND ss.MARKING_PERIOD_ID IN(" . GetAllMP('QTR', GetCurrentMP('QTR', DBDate(), false)) . ") AND (ss.START_DATE<='" . DBDate() . "' AND (ss.END_DATE>='" . DBDate() . "' OR ss.END_DATE IS NULL)) ORDER BY p.SORT_ORDER LIMIT 1) AS TEACHER";
         }
         if ($_REQUEST['room']) {
             $extra['SELECT'] .= ",(SELECT cp.ROOM FROM COURSE_PERIODS cp,SCHOOL_PERIODS p,SCHEDULE ss WHERE cp.PERIOD_id=p.PERIOD_ID AND p.ATTENDANCE='Y' AND cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID AND ss.STUDENT_ID=s.STUDENT_ID AND ss.SYEAR='" . UserSyear() . "' AND ss.MARKING_PERIOD_ID IN(" . GetAllMP('QTR', GetCurrentMP('QTR', DBDate(), false)) . ") AND (ss.START_DATE<='" . DBDate() . "' AND (ss.END_DATE>='" . DBDate() . "' OR ss.END_DATE IS NULL)) ORDER BY p.SORT_ORDER LIMIT 1) AS ROOM";
         }
     }
 } else {
     if ($_REQUEST['teacher']) {
         $extra['SELECT'] .= ",(SELECT st.FIRST_NAME||' '||st.LAST_NAME FROM STAFF st,COURSE_PERIODS cp WHERE st.STAFF_ID=cp.TEACHER_ID AND cp.COURSE_PERIOD_ID='" . UserCoursePeriod() . "') AS TEACHER";
     }
     if ($_REQUEST['room']) {
         $extra['SELECT'] .= ",(SELECT cp.ROOM FROM COURSE_PERIODS cp WHERE cp.COURSE_PERIOD_ID='" . UserCoursePeriod() . "') AS ROOM";
     }
 }
 $RET = GetStuList($extra);
 if (count($RET)) {
     $skipRET = array();
     for ($i = ($_REQUEST['start_row'] - 1) * $max_cols + $_REQUEST['start_col']; $i > 1; $i--) {
         $skipRET[-$i] = array('LAST_NAME' => ' ');
     }
     $handle = PDFstart();
     echo '<!-- MEDIA SIZE 8.5x11in -->';
     echo '<!-- MEDIA TOP 0.5in -->';
     echo '<!-- MEDIA BOTTOM 0.25in -->';
     echo '<!-- MEDIA LEFT 0.25in -->';
     echo '<!-- MEDIA RIGHT 0.25in -->';
     echo '<!-- FOOTER RIGHT "" -->';
Ejemplo n.º 16
0
 if (User('PROFILE') == 'admin') {
     $courses_RET = DBGet(DBQuery('SELECT TITLE,COURSE_ID FROM courses WHERE SCHOOL_ID=\'' . UserSchool() . '\' AND SYEAR=\'' . UserSyear() . '\' AND COURSE_ID IN (SELECT DISTINCT COURSE_ID FROM course_periods WHERE GRADE_SCALE_ID IS NOT NULL) ORDER BY TITLE'));
     if (!$_REQUEST['course_id']) {
         $_REQUEST['course_id'] = $courses_RET[1]['COURSE_ID'];
     }
     $course_select = '<SELECT name=course_id onchange="document.location.href=\'Modules.php?modname=' . $_REQUEST['modname'] . '&course_id=\'+this.options[selectedIndex].value">';
     foreach ($courses_RET as $course) {
         $course_select .= '<OPTION value=' . $course['COURSE_ID'] . ($_REQUEST['course_id'] == $course['COURSE_ID'] ? ' SELECTED' : '') . '>' . $course['TITLE'] . '</OPTION>';
     }
     $course_select .= '</SELECT>';
 } else {
     $course_period_RET = DBGet(DBQuery('SELECT GRADE_SCALE_ID,DOES_BREAKOFF,TEACHER_ID FROM course_periods WHERE COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\''));
     if (!$course_period_RET[1]['GRADE_SCALE_ID']) {
         ErrorMessage(array('This course is not graded.'), 'fatal');
     }
     $courses_RET = DBGet(DBQuery('SELECT TITLE,COURSE_ID FROM courses WHERE COURSE_ID=(SELECT COURSE_ID FROM course_periods WHERE COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\')'));
     $_REQUEST['course_id'] = $courses_RET[1]['COURSE_ID'];
 }
 if ($_REQUEST['tab_id'] != '0' && $_REQUEST['tab_id'] != 'new') {
     $_REQUEST['tab_id'] = $_REQUEST['course_id'];
 }
 $course_RET = DBGet(DBQuery("SELECT TITLE FROM courses WHERE COURSE_ID='{$_REQUEST['course_id']}'"));
 $tabs = array(1 => array('title' => $course_RET[1]['TITLE'], 'link' => "Modules.php?modname={$_REQUEST['modname']}&course_id={$_REQUEST['course_id']}&tab_id={$_REQUEST['course_id']}"), 2 => array('title' => 'All Courses', 'link' => "Modules.php?modname={$_REQUEST['modname']}&course_id={$_REQUEST['course_id']}&tab_id=0"), 3 => array('title' => 'General', 'link' => "Modules.php?modname={$_REQUEST['modname']}&course_id={$_REQUEST['course_id']}&tab_id=new"));
 if ($_REQUEST['tab_id'] != 'new') {
     if ($_REQUEST['tab_id']) {
         $sql = 'SELECT * FROM report_card_comments WHERE COURSE_ID=\'' . $_REQUEST['tab_id'] . '\' ORDER BY SORT_ORDER';
     } else {
         // need to be more specific since course_period_id=0 is not unique
         $sql = 'SELECT * FROM report_card_comments WHERE COURSE_ID=\'' . $_REQUEST['tab_id'] . '\' AND SYEAR=\'' . UserSyear() . '\' AND SCHOOL_ID=\'' . UserSchool() . '\' ORDER BY SORT_ORDER';
     }
     $functions = array('TITLE' => 'makeCommentsInput', 'SORT_ORDER' => 'makeCommentsInput');
Ejemplo n.º 17
0
         }
     }
 }
 echo '<TD valign=top>';
 $columns = array('TITLE' => _('Assignment Type'), 'SORT_ORDER' => _('Order'));
 $link = array();
 $link['TITLE']['link'] = "Modules.php?modname={$_REQUEST['modname']}&modfunc={$_REQUEST['modfunc']}";
 $link['TITLE']['variables'] = array('assignment_type_id' => 'ASSIGNMENT_TYPE_ID');
 $link['add']['link'] = "Modules.php?modname={$_REQUEST['modname']}&assignment_type_id=new";
 $link['add']['first'] = 5;
 // number before add link moves to top
 ListOutput($types_RET, $columns, _('Assignment Type'), _('Assignment Types'), $link, array(), $LO_options);
 echo '</TD>';
 // ASSIGNMENTS
 if ($_REQUEST['assignment_type_id'] && $_REQUEST['assignment_type_id'] != 'new' && count($types_RET)) {
     $sql = "SELECT ASSIGNMENT_ID,TITLE,POINTS FROM GRADEBOOK_ASSIGNMENTS WHERE STAFF_ID='" . User('STAFF_ID') . "' AND (COURSE_ID=(SELECT COURSE_ID FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='" . UserCoursePeriod() . "') OR COURSE_PERIOD_ID='" . UserCoursePeriod() . "') AND ASSIGNMENT_TYPE_ID='" . $_REQUEST['assignment_type_id'] . "' AND MARKING_PERIOD_ID='" . UserMP() . "' ORDER BY " . Preferences('ASSIGNMENT_SORTING', 'Gradebook') . " DESC";
     $QI = DBQuery($sql);
     $assn_RET = DBGet($QI);
     if (count($assn_RET)) {
         if ($_REQUEST['assignment_id'] && $_REQUEST['assignment_id'] != 'new') {
             foreach ($assn_RET as $key => $value) {
                 if ($value['ASSIGNMENT_ID'] == $_REQUEST['assignment_id']) {
                     $assn_RET[$key]['row_color'] = Preferences('HIGHLIGHT');
                 }
             }
         }
     }
     echo '<TD valign=top>';
     $columns = array('TITLE' => 'Assignment', 'POINTS' => 'Points');
     $link = array();
     $link['TITLE']['link'] = "Modules.php?modname={$_REQUEST['modname']}&assignment_type_id={$_REQUEST['assignment_type_id']}";
Ejemplo n.º 18
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());
$course_RET = DBGet(DBQuery("SELECT DOES_FS_COUNTS,DAYS,CALENDAR_ID,MP,MARKING_PERIOD_ID FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='" . UserCoursePeriod() . "'"));
//echo '<pre>'; var_dump($course_RET); echo '</pre>';
if (!trim($course_RET[1]['DOES_FS_COUNTS'], ',')) {
    ErrorMessage(array(_('You cannot take meal counts for this period.')), 'fatal');
}
// the following query is for when doea_fs_counts is a comma quoted string of meal_id's, ex. ,1,2,4,
//$menus_RET = DBGet(DBQuery('SELECT MENU_ID,TITLE FROM FOOD_SERVICE_MENUS WHERE SCHOOL_ID=\''.UserSchool().'\' AND MENU_ID IN ('.trim($course_RET[1]['DOES_FS_COUNTS'],',').') ORDER BY SORT_ORDER'),array(),array('MENU_ID'));
// use all meal_id's for now
$menus_RET = DBGet(DBQuery('SELECT MENU_ID,TITLE FROM FOOD_SERVICE_MENUS WHERE SCHOOL_ID=\'' . UserSchool() . '\' ORDER BY SORT_ORDER'), array(), array('MENU_ID'));
//echo '<pre>'; var_dump($menus_RET); echo '</pre>';
if (!$_REQUEST['menu_id']) {
    if (!$_SESSION['FSA_menu_id'] || !$menus_RET[$_SESSION['FSA_menu_id']]) {
        if (count($menus_RET)) {
            $_REQUEST['menu_id'] = $_SESSION['FSA_menu_id'] = key($menus_RET);
        } else {
            ErrorMessage(array(_('You cannot take meal counts for this period.')), 'fatal');
        }
    } else {
Ejemplo n.º 19
0
        if (count($default_RET)) {
            $_REQUEST['calendar_id'] = $default_RET[1]['CALENDAR_ID'];
        } else {
            $calendars_RET = DBGet(DBQuery("SELECT CALENDAR_ID FROM ATTENDANCE_CALENDARS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"));
            if (count($calendars_RET)) {
                $_REQUEST['calendar_id'] = $calendars_RET[1]['CALENDAR_ID'];
            } else {
                $error = array('There are no calendars yet setup.');
            }
        }
        unset($_REQUEST['modfunc']);
        unset($_SESSION['_REQUEST_vars']['modfunc']);
    }
}
if (User('PROFILE') != 'admin') {
    $course_RET = DBGet(DBQuery("SELECT CALENDAR_ID FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='" . UserCoursePeriod() . "'"));
    if ($course_RET[1]['CALENDAR_ID']) {
        $_REQUEST['calendar_id'] = $course_RET[1]['CALENDAR_ID'];
    } else {
        $default_RET = DBGet(DBQuery("SELECT CALENDAR_ID FROM ATTENDANCE_CALENDARS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' AND DEFAULT_CALENDAR='Y'"));
        $_REQUEST['calendar_id'] = $default_RET[1]['CALENDAR_ID'];
    }
} elseif (!$_REQUEST['calendar_id']) {
    $default_RET = DBGet(DBQuery("SELECT CALENDAR_ID FROM ATTENDANCE_CALENDARS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' AND DEFAULT_CALENDAR='Y'"));
    if (count($default_RET)) {
        $_REQUEST['calendar_id'] = $default_RET[1]['CALENDAR_ID'];
    } else {
        $calendars_RET = DBGet(DBQuery("SELECT CALENDAR_ID FROM ATTENDANCE_CALENDARS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"));
        if (count($calendars_RET)) {
            $_REQUEST['calendar_id'] = $calendars_RET[1]['CALENDAR_ID'];
        } else {
Ejemplo n.º 20
0
function _makeStandards($value, $column)
{
    global $THIS_RET, $current_RET, $import_comments_RET, $course_RET, $tabindex;
    //  $standard_exists=DBGet(DBQuery("SELECT COUNT(*) AS TOTAL FROM student_standards WHERE STUDENT_ID=".$THIS_RET['STUDENT_ID']." AND MARKING_PERIOD_ID=".UserMP()." AND COURSE_PERIOD_ID=".UserCoursePeriod()));
    $standard_exists = DBGet(DBQuery("SELECT COUNT(*) AS TOTAL FROM student_standards WHERE STUDENT_ID=" . $THIS_RET['STUDENT_ID'] . " AND MARKING_PERIOD_ID=" . $_REQUEST['mp'] . " AND COURSE_PERIOD_ID=" . UserCoursePeriod()));
    #echo '<pre>'; print_r($course_RET);echo '</pre>';$course_RET[1]['COURSE_ID']
    if ($standard_exists[1]['TOTAL'] > 0) {
        //      return "<center><a href=# onclick='window.open(\"for_window.php?modname=$_REQUEST[modname]&modfunc=enter_standards&process=edit&student_id=".$THIS_RET['STUDENT_ID']."&course_period_id=".UserCoursePeriod()."&course_id=".$course_RET[1]['COURSE_ID']."&mp=".$_REQUEST['mp']."\",\"\",\"scrollbars=yes,resizable=yes,width=800,height=400\");'><img src='assets/edit.png' title='Edit' /></a></center>";
        return "<center><a href=# onclick='window.open(\"for_window.php?modname={$_REQUEST['modname']}&modfunc=enter_standards&process=edit&student_id=" . $THIS_RET['STUDENT_ID'] . "&course_period_id=" . UserCoursePeriod() . "&course_id=" . $course_RET[1]['COURSE_ID'] . "&mp=" . $_REQUEST['mp'] . "\",\"\",\"scrollbars=yes,resizable=yes,width=800,height=400\");'><img src='assets/edit_button.gif' title='Edit' /></a></center>";
    } else {
        #return 'no'.$THIS_RET['STUDENT_ID'].UserCoursePeriod();
        //      return "<center><a href=# onclick='window.open(\"for_window.php?modname=$_REQUEST[modname]&modfunc=enter_standards&process=add&student_id=".$THIS_RET['STUDENT_ID']."&course_period_id=".UserCoursePeriod()."&course_id=".$course_RET[1]['COURSE_ID']."&mp=".$_REQUEST['mp']."\",\"\",\"scrollbars=yes,resizable=yes,width=800,height=400\");'><img src='assets/add.png' title='Add' /></a></center>";
        return "<center><a href=# onclick='window.open(\"for_window.php?modname={$_REQUEST['modname']}&modfunc=enter_standards&process=add&student_id=" . $THIS_RET['STUDENT_ID'] . "&course_period_id=" . UserCoursePeriod() . "&course_id=" . $course_RET[1]['COURSE_ID'] . "&mp=" . $_REQUEST['mp'] . "\",\"\",\"scrollbars=yes,resizable=yes,width=800,height=400\");'><img src='assets/add_button.gif' title='Add' /></a></center>";
    }
}
Ejemplo n.º 21
0
function _makeRadioSelected($value, $title)
{
    global $THIS_RET, $current_RET;
    $colors = array('P' => '#00FF00', 'A' => '#FF0000', 'H' => '#FFCC00', 'T' => '#0000FF');
    $colors1 = array('P' => '#DDFFDD', 'A' => '#FFDDDD', 'H' => '#FFEEDD', 'T' => '#DDDDFF');
    if ($current_RET[$THIS_RET['STUDENT_ID']][1]['ATTENDANCE_TEACHER_CODE'] != '') {
        if ($current_RET[$THIS_RET['STUDENT_ID']][1]['ATTENDANCE_TEACHER_CODE'] == mb_substr($title, 5)) {
            return '<TABLE style="margin:0 auto; ' . ($current_RET[$THIS_RET['STUDENT_ID']][1]['COURSE_PERIOD_ID'] == UserCoursePeriod() ? $colors[$value] ? ' background-color:' . $colors[$value] . ';' : '' : ' background-color:#000000;') . '"><TR><TD><INPUT type="radio" name="attendance[' . $THIS_RET['STUDENT_ID'] . ']" value="' . $title . '" checked /></TD></TR></TABLE>';
        } else {
            return '<TABLE style="margin:0 auto;"><TR><TD><INPUT type="radio" name="attendance[' . $THIS_RET['STUDENT_ID'] . ']" value="' . $title . '"' . (AllowEdit() ? '' : ' disabled') . '></TD></TR></TABLE>';
        }
    } else {
        return '<TABLE style="margin:0 auto; ' . ($colors1[$value] ? ' background-color:' . $colors1[$value] . ';' : '') . '"><TR><TD><INPUT type="radio" name="attendance[' . $THIS_RET['STUDENT_ID'] . ']" value="' . $title . '" checked /></TD></TR></TABLE>';
    }
}
Ejemplo n.º 22
0
             $extra['SELECT'] .= ',(SELECT cp.ROOM FROM course_periods cp WHERE cp.COURSE_PERIOD_ID=\'' . $_REQUEST[w_course_period_id] . '\') AS ROOM';
         }
     } else {
         if ($_REQUEST['teacher']) {
             $extra['SELECT'] .= ',(SELECT CONCAT(st.FIRST_NAME,\'' . ' ' . '\',st.LAST_NAME) FROM staff st,course_periods cp,school_periods p,schedule ss WHERE st.STAFF_ID=cp.TEACHER_ID AND cp.PERIOD_id=p.PERIOD_ID AND p.ATTENDANCE=\'' . 'Y' . '\' AND cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID AND ss.STUDENT_ID=s.STUDENT_ID AND ss.SYEAR=\'' . UserSyear() . '\' AND ss.MARKING_PERIOD_ID IN(' . $qtr . ') AND (ss.START_DATE<=\'' . DBDate() . '\' AND (ss.END_DATE>=\'' . DBDate() . '\' OR ss.END_DATE IS NULL)) ORDER BY p.SORT_ORDER LIMIT 1) AS TEACHER';
         }
         if ($_REQUEST['room']) {
             $extra['SELECT'] .= ',(SELECT cp.ROOM FROM course_periods cp,school_periods p,schedule ss WHERE cp.PERIOD_id=p.PERIOD_ID AND p.ATTENDANCE=\'' . 'Y' . '\' AND cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID AND ss.STUDENT_ID=s.STUDENT_ID AND ss.SYEAR=\'' . UserSyear() . '\' AND ss.MARKING_PERIOD_ID IN(' . $qtr . ') AND (ss.START_DATE<=\'' . DBDate() . '\' AND (ss.END_DATE>=\'' . DBDate() . '\' OR ss.END_DATE IS NULL)) ORDER BY p.SORT_ORDER LIMIT 1) AS ROOM';
         }
     }
 } else {
     if ($_REQUEST['teacher']) {
         $extra['SELECT'] .= ',(SELECT CONCAT(st.FIRST_NAME,\'' . ' ' . '\',st.LAST_NAME) FROM staff st,course_periods cp WHERE st.STAFF_ID=cp.TEACHER_ID AND cp.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\') AS TEACHER';
     }
     if ($_REQUEST['room']) {
         $extra['SELECT'] .= ',(SELECT cp.ROOM FROM course_periods cp WHERE cp.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\') AS ROOM';
     }
 }
 $RET = GetStuList($extra);
 if (count($RET)) {
     $skipRET = array();
     for ($i = ($_REQUEST['start_row'] - 1) * $max_cols + $_REQUEST['start_col']; $i > 1; $i--) {
         $skipRET[-$i] = array('LAST_NAME' => ' ');
     }
     $handle = PDFstart();
     $cols = 0;
     $rows = 0;
     echo "<meta charset='UTF-8'><table width=100%  border=0 style=\" font-family:Arial; font-size:12px;\" >";
     echo "<meta charset='UTF-8'><tr><td width=105>" . DrawLogo() . "</td><td  style=\"font-size:15px; font-weight:bold; padding-top:20px;\">" . GetSchool(UserSchool()) . "<div style=\"font-size:12px;\">" . _('Student Labels') . "</div></td><td align=right style=\"padding-top:20px;\">" . ProperDate(DBDate()) . "<br \\>" . _('Powered by openSIS') . "</td></tr><tr><td colspan=3 style=\"border-top:1px solid #333;\">&nbsp;</td></tr></table>";
     echo '<table width="100%" border="0" cellspacing="0" cellpadding="0" style=font-family:Arial; font-size:12px;>';
     foreach ($skipRET + $RET as $i => $student) {
Ejemplo n.º 23
0
    }
    if (optional_param('ma_day', '', PARAM_NOTAGS) || optional_param('ma_month', '', PARAM_NOTAGS) || optional_param('ma_year', '', PARAM_NOTAGS) || optional_param('med_alrt_title', '', PARAM_NOTAGS) || $_SESSION['sma']) {
        $admin_COMMON_FROM .= " ,student_medical_alerts sma  ";
        $admin_COMMON_WHERE .= " AND sma.STUDENT_ID=s.STUDENT_ID ";
        $_SESSION['sma'] = '1';
    }
    if (optional_param('nv_day', '', PARAM_NOTAGS) || optional_param('nv_month', '', PARAM_NOTAGS) || optional_param('nv_year', '', PARAM_NOTAGS) || optional_param('reason', '', PARAM_NOTAGS) || optional_param('result', '', PARAM_NOTAGS) || optional_param('med_vist_comments', '', PARAM_NOTAGS) || $_SESSION['smv']) {
        $admin_COMMON_FROM .= " ,student_medical_visits smv   ";
        $admin_COMMON_WHERE .= " AND smv.STUDENT_ID=s.STUDENT_ID ";
        $_SESSION['smv'] = '1';
    }
    $admin_COMMON = $admin_COMMON_FROM . $admin_COMMON_WHERE;
}
if (User('PROFILE') == 'teacher') {
    $teacher_COMMON_FROM = " FROM students s, student_enrollment ssm, course_periods cp,\r\n\tschedule ss,student_address a ";
    $teacher_COMMON_WHERE = " WHERE a.STUDENT_ID=s.STUDENT_ID  AND a.TYPE='Home Address' AND s.STUDENT_ID=ssm.STUDENT_ID AND ssm.STUDENT_ID=ss.STUDENT_ID AND ssm.SYEAR=cp.SYEAR AND ssm.SYEAR=ss.SYEAR AND cp.COURSE_ID=ss.COURSE_ID AND cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID AND ss.MARKING_PERIOD_ID IN (" . GetAllMP('', $queryMP) . ")\r\n\t\t\t\t\t\tAND (cp.TEACHER_ID='" . User('STAFF_ID') . "' OR cp.SECONDARY_TEACHER_ID='" . User('STAFF_ID') . "') AND cp.COURSE_PERIOD_ID='" . UserCoursePeriod() . "' AND (ssm.START_DATE IS NOT NULL AND ('" . DBDate() . "'<=ssm.END_DATE OR ssm.END_DATE IS NULL)) AND ssm.SYEAR=" . UserSyear() . " AND ssm.SCHOOL_ID=" . UserSchool() . " ";
    if (optional_param('mp_comment', '', PARAM_SPCL) || $_SESSION['smc']) {
        $teacher_COMMON_FROM .= " ,student_mp_comments smc";
        $teacher_COMMON_WHERE .= " AND smc.STUDENT_ID=s.STUDENT_ID ";
        $_SESSION['smc'] = '1';
    }
    if (optional_param('goal_description', '', PARAM_SPCL) || optional_param('goal_title', '', PARAM_SPCL) || $_SESSION['g']) {
        $teacher_COMMON_FROM .= " ,student_goal g ";
        $teacher_COMMON_WHERE .= " AND g.STUDENT_ID=s.STUDENT_ID ";
        $_SESSION['g'] = '1';
    }
    if (optional_param('progress_name', '', PARAM_NOTAGS) || optional_param('progress_description', '', PARAM_NOTAGS) || $_SESSION['p']) {
        $teacher_COMMON_FROM .= " ,student_goal_progress p ";
        $teacher_COMMON_WHERE .= " AND p.STUDENT_ID=s.STUDENT_ID ";
        $_SESSION['p'] = '1';
    }
Ejemplo n.º 24
0
        $absences_RET = DBGet(DBQuery('SELECT ap.STUDENT_ID,ap.PERIOD_ID,ap.SCHOOL_DATE,ac.SHORT_NAME,ad.STATE_VALUE,ad.COMMENT AS OFFICE_COMMENT,ap.COMMENT AS TEACHER_COMMENT,ac.STATE_CODE FROM attendance_period ap,attendance_day ad,attendance_codes ac,course_periods cp WHERE ap.COURSE_PERIOD_ID=cp.COURSE_PERIOD_ID AND ' . ($_REQUEST['myclasses'] == 'my_classes' ? '(cp.TEACHER_ID=\'' . User('STAFF_ID') . '\' OR cp.SECONDARY_TEACHER_ID=\'' . User('STAFF_ID') . '\')' : 'cp.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\'') . ' AND ap.STUDENT_ID=ad.STUDENT_ID AND ap.SCHOOL_DATE=ad.SCHOOL_DATE AND ap.ATTENDANCE_CODE=ac.ID  AND ap.STUDENT_ID=\'' . UserStudentID() . '\' AND ap.SCHOOL_DATE BETWEEN \'' . $start_date . '\' AND \'' . $end_date . '\''), array(), array('SCHOOL_DATE', 'PERIOD_ID'));
    } else {
        $absences_RET = DBGet(DBQuery('SELECT ap.STUDENT_ID,ap.PERIOD_ID,ap.SCHOOL_DATE,ac.SHORT_NAME,ad.STATE_VALUE,ad.COMMENT AS OFFICE_COMMENT,ap.COMMENT AS TEACHER_COMMENT,ac.STATE_CODE FROM attendance_period ap,attendance_day ad,attendance_codes ac WHERE ap.STUDENT_ID=ad.STUDENT_ID AND ap.SCHOOL_DATE=ad.SCHOOL_DATE AND ap.ATTENDANCE_CODE=ac.ID  AND ap.STUDENT_ID=\'' . UserStudentID() . '\' AND ap.SCHOOL_DATE BETWEEN \'' . $start_date . '\' AND \'' . $end_date . '\''), array(), array('SCHOOL_DATE', 'PERIOD_ID'));
    }
    foreach ($absences_RET as $school_date => $absences) {
        $i++;
        $days_RET[$i]['SCHOOL_DATE'] = ProperDate($school_date);
        $days_RET[$i]['DAILY'] = _makeStateValue($absences[key($absences)][1]['STATE_VALUE']);
        $days_RET[$i]['OFFICE_COMMENT'] = $absences[key($absences)][1]['OFFICE_COMMENT'];
        $days_RET[$i]['TEACHER_COMMENT'] = $absences[key($absences)][1]['TEACHER_COMMENT'];
        foreach ($absences as $period_id => $absence) {
            $days_RET[$i][$period_id] = $absence[1]['STATE_CODE'] != 'P' ? $absence[1]['SHORT_NAME'] : '';
        }
    }
    if ($_REQUEST['myclasses'] != '') {
        $periods_RET = DBGet(DBQuery('SELECT sp.PERIOD_ID,sp.SHORT_NAME FROM school_periods sp,schedule s,course_periods cp,course_period_var cpv WHERE sp.SCHOOL_ID=\'' . UserSchool() . '\' AND sp.SYEAR=\'' . UserSyear() . '\' AND cp.COURSE_PERIOD_ID=cpv.COURSE_PERIOD_ID AND s.STUDENT_ID=\'' . UserStudentID() . '\' AND ' . ($_REQUEST['myclasses'] == 'my_classes' ? '(cp.TEACHER_ID=\'' . User('STAFF_ID') . '\' OR cp.SECONDARY_TEACHER_ID=\'' . User('STAFF_ID') . '\')' : 'cp.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\'') . ' AND cp.COURSE_PERIOD_ID=s.COURSE_PERIOD_ID AND cpv.PERIOD_ID=sp.PERIOD_ID AND cpv.DOES_ATTENDANCE=\'Y\' ORDER BY sp.SORT_ORDER'));
    } else {
        $periods_RET = DBGet(DBQuery('SELECT sp.PERIOD_ID,sp.SHORT_NAME FROM school_periods sp,schedule s,course_periods cp,course_period_var cpv WHERE sp.SCHOOL_ID=\'' . UserSchool() . '\' AND sp.SYEAR=\'' . UserSyear() . '\' AND cp.COURSE_PERIOD_ID=cpv.COURSE_PERIOD_ID AND s.STUDENT_ID=\'' . UserStudentID() . '\' AND cp.COURSE_PERIOD_ID=s.COURSE_PERIOD_ID AND cpv.PERIOD_ID=sp.PERIOD_ID AND cpv.DOES_ATTENDANCE=\'Y\' ORDER BY sp.SORT_ORDER'));
    }
    $columns['SCHOOL_DATE'] = 'Date';
    $columns['DAILY'] = 'Present';
    $columns['OFFICE_COMMENT'] = 'Office Comment';
    $columns['TEACHER_COMMENT'] = 'Teacher Comment';
    foreach ($periods_RET as $period) {
        $columns[$period['PERIOD_ID']] = $period['SHORT_NAME'];
    }
    ListOutput($days_RET, $columns, 'Day', 'Days');
}
function _makeStateValue($value)
{
    global $THIS_RET, $date;
Ejemplo n.º 25
0
function GetStuList(&$extra = array())
{
    global $contacts_RET, $view_other_RET, $_ROSARIO;
    if ((empty($extra['SELECT_ONLY']) || mb_strpos($extra['SELECT_ONLY'], 'GRADE_ID') !== false) && !isset($extra['functions']['GRADE_ID'])) {
        $functions = array('GRADE_ID' => 'GetGrade');
    } else {
        $functions = array();
    }
    if (isset($extra['functions'])) {
        $functions += $extra['functions'];
    }
    if (!isset($extra['MP']) && !isset($extra['DATE'])) {
        $extra['MP'] = UserMP();
        $extra['DATE'] = DBDate();
    } elseif (!$extra['MP']) {
        $extra['MP'] = GetCurrentMP('QTR', $extra['DATE'], false);
    } elseif (!$extra['DATE']) {
        $extra['DATE'] = DBDate();
    }
    if (isset($_REQUEST['expanded_view']) && $_REQUEST['expanded_view'] == 'true') {
        if (!$extra['columns_after']) {
            $extra['columns_after'] = array();
        }
        $view_fields_RET = DBGet(DBQuery("SELECT cf.ID,cf.TYPE,cf.TITLE FROM CUSTOM_FIELDS cf WHERE ((SELECT VALUE FROM PROGRAM_USER_CONFIG WHERE TITLE=cast(cf.ID AS TEXT) AND PROGRAM='StudentFieldsView' AND USER_ID='" . User('STAFF_ID') . "')='Y'" . ($extra['student_fields']['view'] ? " OR cf.ID IN (" . $extra['student_fields']['view'] . ")" : '') . ") ORDER BY cf.SORT_ORDER,cf.TITLE"));
        $view_address_RET = DBGet(DBQuery("SELECT VALUE FROM PROGRAM_USER_CONFIG WHERE PROGRAM='StudentFieldsView' AND TITLE='ADDRESS' AND USER_ID='" . User('STAFF_ID') . "'"));
        $view_address_RET = $view_address_RET[1]['VALUE'];
        $view_other_RET = DBGet(DBQuery("SELECT TITLE,VALUE FROM PROGRAM_USER_CONFIG WHERE PROGRAM='StudentFieldsView' AND TITLE IN ('CONTACT_INFO','HOME_PHONE','GUARDIANS','ALL_CONTACTS') AND USER_ID='" . User('STAFF_ID') . "'"), array(), array('TITLE'));
        if (!count($view_fields_RET) && !isset($view_address_RET) && !isset($view_other_RET['CONTACT_INFO'])) {
            //modif Francois: add translation
            $extra['columns_after'] = array('CONTACT_INFO' => '<IMG SRC="assets/down_phone_button.png" width="24">', 'CUSTOM_200000000' => _('Gender'), 'CUSTOM_200000001' => _('Ethnicity'), 'ADDRESS' => _('Mailing Address'), 'CITY' => _('City'), 'STATE' => _('State'), 'ZIPCODE' => _('Zipcode')) + $extra['columns_after'];
            $select = ',ssm.STUDENT_ID AS CONTACT_INFO,s.CUSTOM_200000000,s.CUSTOM_200000001,coalesce(a.MAIL_ADDRESS,a.ADDRESS) AS ADDRESS,coalesce(a.MAIL_CITY,a.CITY) AS CITY,coalesce(a.MAIL_STATE,a.STATE) AS STATE,coalesce(a.MAIL_ZIPCODE,a.ZIPCODE) AS ZIPCODE ';
            $extra['FROM'] = " LEFT OUTER JOIN STUDENTS_JOIN_ADDRESS sam ON (ssm.STUDENT_ID=sam.STUDENT_ID AND sam.RESIDENCE='Y') LEFT OUTER JOIN ADDRESS a ON (sam.ADDRESS_ID=a.ADDRESS_ID) " . $extra['FROM'];
            $functions['CONTACT_INFO'] = 'makeContactInfo';
            $RET = DBGet(DBQuery("SELECT ID,TYPE FROM CUSTOM_FIELDS WHERE ID IN ('200000000','200000001')"), array(), array('ID'));
            // if gender and ethnicity are converted to codeds or exports type
            if ($RET['200000000'][1]['TYPE'] == 'codeds' || $RET['200000000'][1]['TYPE'] == 'exports') {
                $functions['CUSTOM_200000000'] = 'DeCodeds';
            }
            if ($RET['200000001'][1]['TYPE'] == 'codeds' || $RET['200000001'][1]['TYPE'] == 'exports') {
                $functions['CUSTOM_200000001'] = 'DeCodeds';
            }
            $extra['singular'] = 'Student Address';
            $extra['plural'] = 'Student Addresses';
            $extra2['NoSearchTerms'] = true;
            $extra2['SELECT_ONLY'] = 'ssm.STUDENT_ID,p.PERSON_ID,p.FIRST_NAME,p.LAST_NAME,sjp.STUDENT_RELATION,pjc.TITLE,pjc.VALUE,a.PHONE,sjp.ADDRESS_ID ';
            $extra2['FROM'] .= ',ADDRESS a,STUDENTS_JOIN_ADDRESS sja LEFT OUTER JOIN STUDENTS_JOIN_PEOPLE sjp ON (sja.STUDENT_ID=sjp.STUDENT_ID AND sja.ADDRESS_ID=sjp.ADDRESS_ID AND (sjp.CUSTODY=\'Y\' OR sjp.EMERGENCY=\'Y\')) LEFT OUTER JOIN PEOPLE p ON (p.PERSON_ID=sjp.PERSON_ID) LEFT OUTER JOIN PEOPLE_JOIN_CONTACTS pjc ON (pjc.PERSON_ID=p.PERSON_ID) ';
            $extra2['WHERE'] .= ' AND a.ADDRESS_ID=sja.ADDRESS_ID AND sja.STUDENT_ID=ssm.STUDENT_ID ';
            $extra2['ORDER_BY'] .= 'sjp.CUSTODY';
            $extra2['group'] = array('STUDENT_ID', 'PERSON_ID');
            // EXPANDED VIEW AND ADDR BREAKS THIS QUERY ... SO, TURN 'EM OFF
            if (!isset($_REQUEST['_ROSARIO_PDF'])) {
                $expanded_view = $_REQUEST['expanded_view'];
                $_REQUEST['expanded_view'] = false;
                $addr = $_REQUEST['addr'];
                unset($_REQUEST['addr']);
                $contacts_RET = GetStuList($extra2);
                $_REQUEST['expanded_view'] = $expanded_view;
                $_REQUEST['addr'] = $addr;
            } else {
                unset($extra2['columns_after']['CONTACT_INFO']);
            }
        } else {
            if ($view_other_RET['CONTACT_INFO'][1]['VALUE'] == 'Y' && !isset($_REQUEST['_ROSARIO_PDF'])) {
                $select .= ',ssm.STUDENT_ID AS CONTACT_INFO ';
                $extra['columns_after']['CONTACT_INFO'] = '<IMG SRC="assets/down_phone_button.png" width="24">';
                $functions['CONTACT_INFO'] = 'makeContactInfo';
                $extra2 = $extra;
                $extra2['NoSearchTerms'] = true;
                $extra2['SELECT'] = '';
                $extra2['SELECT_ONLY'] = 'ssm.STUDENT_ID,p.PERSON_ID,p.FIRST_NAME,p.LAST_NAME,sjp.STUDENT_RELATION,pjc.TITLE,pjc.VALUE,a.PHONE,sjp.ADDRESS_ID ';
                $extra2['FROM'] .= ',ADDRESS a,STUDENTS_JOIN_ADDRESS sja LEFT OUTER JOIN STUDENTS_JOIN_PEOPLE sjp ON (sja.STUDENT_ID=sjp.STUDENT_ID AND sja.ADDRESS_ID=sjp.ADDRESS_ID AND (sjp.CUSTODY=\'Y\' OR sjp.EMERGENCY=\'Y\')) LEFT OUTER JOIN PEOPLE p ON (p.PERSON_ID=sjp.PERSON_ID) LEFT OUTER JOIN PEOPLE_JOIN_CONTACTS pjc ON (pjc.PERSON_ID=p.PERSON_ID) ';
                $extra2['WHERE'] .= ' AND a.ADDRESS_ID=sja.ADDRESS_ID AND sja.STUDENT_ID=ssm.STUDENT_ID ';
                $extra2['ORDER_BY'] .= 'sjp.CUSTODY';
                $extra2['group'] = array('STUDENT_ID', 'PERSON_ID');
                $extra2['functions'] = array();
                $extra2['link'] = array();
                // EXPANDED VIEW AND ADDR BREAKS THIS QUERY ... SO, TURN 'EM OFF
                $expanded_view = $_REQUEST['expanded_view'];
                $_REQUEST['expanded_view'] = false;
                $addr = $_REQUEST['addr'];
                unset($_REQUEST['addr']);
                $contacts_RET = GetStuList($extra2);
                $_REQUEST['expanded_view'] = $expanded_view;
                $_REQUEST['addr'] = $addr;
            }
            foreach ($view_fields_RET as $field) {
                $extra['columns_after']['CUSTOM_' . $field['ID']] = $field['TITLE'];
                if ($field['TYPE'] == 'date') {
                    $functions['CUSTOM_' . $field['ID']] = 'ProperDate';
                } elseif ($field['TYPE'] == 'numeric') {
                    $functions['CUSTOM_' . $field['ID']] = 'removeDot00';
                } elseif ($field['TYPE'] == 'codeds') {
                    $functions['CUSTOM_' . $field['ID']] = 'DeCodeds';
                } elseif ($field['TYPE'] == 'exports') {
                    $functions['CUSTOM_' . $field['ID']] = 'DeCodeds';
                }
                $select .= ',s.CUSTOM_' . $field['ID'];
            }
            if ($view_address_RET) {
                $extra['FROM'] = " LEFT OUTER JOIN STUDENTS_JOIN_ADDRESS sam ON (ssm.STUDENT_ID=sam.STUDENT_ID AND sam." . $view_address_RET . "='Y') LEFT OUTER JOIN ADDRESS a ON (sam.ADDRESS_ID=a.ADDRESS_ID) " . $extra['FROM'];
                $extra['columns_after'] += array('ADDRESS' => _(ucwords(mb_strtolower(str_replace('_', ' ', $view_address_RET)))) . ' ' . _('Address'), 'CITY' => _('City'), 'STATE' => _('State'), 'ZIPCODE' => _('Zipcode'));
                if ($view_address_RET != 'MAILING') {
                    $select .= ",a.ADDRESS_ID,a.ADDRESS,a.CITY,a.STATE,a.ZIPCODE,a.PHONE,ssm.STUDENT_ID AS PARENTS";
                } else {
                    $select .= ",a.ADDRESS_ID,coalesce(a.MAIL_ADDRESS,a.ADDRESS) AS ADDRESS,coalesce(a.MAIL_CITY,a.CITY) AS CITY,coalesce(a.MAIL_STATE,a.STATE) AS STATE,coalesce(a.MAIL_ZIPCODE,a.ZIPCODE) AS ZIPCODE,a.PHONE,ssm.STUDENT_ID AS PARENTS ";
                }
                $extra['singular'] = 'Student Address';
                $extra['plural'] = 'Student Addresses';
                if ($view_other_RET['HOME_PHONE'][1]['VALUE'] == 'Y') {
                    $functions['PHONE'] = 'makePhone';
                    $extra['columns_after']['PHONE'] = _('Home Phone');
                }
                if ($view_other_RET['GUARDIANS'][1]['VALUE'] == 'Y' || $view_other_RET['ALL_CONTACTS'][1]['VALUE'] == 'Y') {
                    $functions['PARENTS'] = 'makeParents';
                    if ($view_other_RET['ALL_CONTACTS'][1]['VALUE'] == 'Y') {
                        $extra['columns_after']['PARENTS'] = _('Contacts');
                    } else {
                        $extra['columns_after']['PARENTS'] = _('Guardians');
                    }
                }
            } elseif ($_REQUEST['addr'] || $extra['addr']) {
                $extra['FROM'] = " LEFT OUTER JOIN STUDENTS_JOIN_ADDRESS sam ON (ssm.STUDENT_ID=sam.STUDENT_ID " . $extra['STUDENTS_JOIN_ADDRESS'] . ") LEFT OUTER JOIN ADDRESS a ON (sam.ADDRESS_ID=a.ADDRESS_ID) " . $extra['FROM'];
                $distinct = 'DISTINCT ';
            }
        }
        $extra['SELECT'] .= $select;
    } else {
        if (isset($extra['student_fields']['view'])) {
            if (!$extra['columns_after']) {
                $extra['columns_after'] = array();
            }
            $view_fields_RET = DBGet(DBQuery("SELECT cf.ID,cf.TYPE,cf.TITLE FROM CUSTOM_FIELDS cf WHERE cf.ID IN (" . $extra['student_fields']['view'] . ") ORDER BY cf.SORT_ORDER,cf.TITLE"));
            foreach ($view_fields_RET as $field) {
                $extra['columns_after']['CUSTOM_' . $field['ID']] = $field['TITLE'];
                if ($field['TYPE'] == 'date') {
                    $functions['CUSTOM_' . $field['ID']] = 'ProperDate';
                } elseif ($field['TYPE'] == 'numeric') {
                    $functions['CUSTOM_' . $field['ID']] = 'removeDot00';
                } elseif ($field['TYPE'] == 'codeds') {
                    $functions['CUSTOM_' . $field['ID']] = 'DeCodeds';
                } elseif ($field['TYPE'] == 'exports') {
                    $functions['CUSTOM_' . $field['ID']] = 'DeCodeds';
                }
                $select .= ',s.CUSTOM_' . $field['ID'];
            }
            $extra['SELECT'] .= $select;
        }
        if (!empty($_REQUEST['addr']) || !empty($extra['addr'])) {
            $extra['FROM'] = " LEFT OUTER JOIN STUDENTS_JOIN_ADDRESS sam ON (ssm.STUDENT_ID=sam.STUDENT_ID " . $extra['STUDENTS_JOIN_ADDRESS'] . ") LEFT OUTER JOIN ADDRESS a ON (sam.ADDRESS_ID=a.ADDRESS_ID) " . $extra['FROM'];
            $distinct = 'DISTINCT ';
        }
    }
    switch (User('PROFILE')) {
        case 'admin':
            $sql = 'SELECT ';
            //$sql = 'SELECT '.$distinct;
            if (isset($extra['SELECT_ONLY'])) {
                $sql .= $extra['SELECT_ONLY'];
            } else {
                $sql .= "s.LAST_NAME||', '||s.FIRST_NAME||' '||coalesce(s.MIDDLE_NAME,' ') AS FULL_NAME,";
                $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME,s.STUDENT_ID,ssm.SCHOOL_ID,ssm.SCHOOL_ID AS LIST_SCHOOL_ID,ssm.GRADE_ID ' . $extra['SELECT'];
                if (isset($_REQUEST['include_inactive']) && $_REQUEST['include_inactive'] == 'Y') {
                    $sql .= ',' . db_case(array("(ssm.SYEAR='" . UserSyear() . "' AND ('" . $extra['DATE'] . "'>=ssm.START_DATE AND ('" . $extra['DATE'] . "'<=ssm.END_DATE OR ssm.END_DATE IS NULL)))", 'TRUE', '\'<span style="color:green">' . _('Active') . '</span>\'', '\'<span style="color:red">' . _('Inactive') . '</span>\'')) . ' AS ACTIVE';
                }
            }
            $sql .= " FROM STUDENTS s JOIN STUDENT_ENROLLMENT ssm ON (ssm.STUDENT_ID=s.STUDENT_ID";
            if (isset($_REQUEST['include_inactive']) && $_REQUEST['include_inactive'] == 'Y') {
                //$sql .= " AND ssm.ID=(SELECT max(ID) FROM STUDENT_ENROLLMENT WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR<='".UserSyear()."')";
                $sql .= " AND ssm.ID=(SELECT ID FROM STUDENT_ENROLLMENT WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR<='" . UserSyear() . "' ORDER BY SYEAR DESC,START_DATE DESC LIMIT 1)";
            } else {
                $sql .= " AND ssm.SYEAR='" . UserSyear() . "' AND ('" . $extra['DATE'] . "'>=ssm.START_DATE AND (ssm.END_DATE IS NULL OR '" . $extra['DATE'] . "'<=ssm.END_DATE))";
            }
            if (UserSchool() && $_REQUEST['_search_all_schools'] != 'Y') {
                $sql .= " AND ssm.SCHOOL_ID='" . UserSchool() . "'";
            } else {
                if (User('SCHOOLS')) {
                    $sql .= " AND ssm.SCHOOL_ID IN (" . mb_substr(str_replace(',', "','", User('SCHOOLS')), 2, -2) . ") ";
                }
                $extra['columns_after']['LIST_SCHOOL_ID'] = 'School';
                $functions['LIST_SCHOOL_ID'] = 'GetSchool';
            }
            $sql .= ")" . $extra['FROM'] . " WHERE TRUE";
            if (empty($extra['SELECT_ONLY']) && isset($_REQUEST['include_inactive']) && $_REQUEST['include_inactive'] == 'Y') {
                $extra['columns_after']['ACTIVE'] = _('Status');
            }
            break;
        case 'teacher':
            $sql = 'SELECT ';
            //$sql = 'SELECT '.$distinct;
            if ($extra['SELECT_ONLY']) {
                $sql .= $extra['SELECT_ONLY'];
            } else {
                $sql .= "s.LAST_NAME||', '||s.FIRST_NAME||' '||coalesce(s.MIDDLE_NAME,' ') AS FULL_NAME,";
                $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME,s.STUDENT_ID,ssm.SCHOOL_ID,ssm.GRADE_ID ' . $extra['SELECT'];
                if ($_REQUEST['include_inactive'] == 'Y') {
                    $sql .= ',' . db_case(array("('" . $extra['DATE'] . "'>=ssm.START_DATE AND (ssm.END_DATE IS NULL OR '" . $extra['DATE'] . "'<=ssm.END_DATE))", 'TRUE', '\'<span style="color:green">' . _('Active') . '</span>\'', '\'<span style="color:red">' . _('Inactive') . '</span>\'')) . ' AS ACTIVE';
                    $sql .= ',' . db_case(array("('" . $extra['DATE'] . "'>=ss.START_DATE AND (ss.END_DATE IS NULL OR '" . $extra['DATE'] . "'<=ss.END_DATE)) AND ss.MARKING_PERIOD_ID IN (" . GetAllMP($extra['MPTable'], $extra['MP']) . ")", 'TRUE', '\'<span style="color:green">' . _('Active') . '</span>\'', '\'<span style="color:red">' . _('Inactive') . '</span>\'')) . ' AS ACTIVE_SCHEDULE';
                }
            }
            $sql .= " FROM STUDENTS s JOIN SCHEDULE ss ON (ss.STUDENT_ID=s.STUDENT_ID AND ss.SYEAR='" . UserSyear() . "'";
            if ($_REQUEST['include_inactive'] == 'Y') {
                $sql .= " AND ss.START_DATE=(SELECT START_DATE FROM SCHEDULE WHERE STUDENT_ID=s.STUDENT_ID AND SYEAR=ss.SYEAR AND COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID ORDER BY START_DATE DESC LIMIT 1)";
            } else {
                $sql .= " AND ss.MARKING_PERIOD_ID IN (" . GetAllMP($extra['MPTable'], $extra['MP']) . ") AND ('" . $extra['DATE'] . "'>=ss.START_DATE AND ('" . $extra['DATE'] . "'<=ss.END_DATE OR ss.END_DATE IS NULL))";
            }
            $sql .= ") JOIN COURSE_PERIODS cp ON (cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID AND " . ($extra['all_courses'] == 'Y' ? "cp.TEACHER_ID='" . User('STAFF_ID') . "'" : "cp.COURSE_PERIOD_ID='" . UserCoursePeriod() . "'") . ")\n\t\t\t\tJOIN STUDENT_ENROLLMENT ssm ON (ssm.STUDENT_ID=s.STUDENT_ID AND ssm.SYEAR=ss.SYEAR AND ssm.SCHOOL_ID='" . UserSchool() . "'";
            if ($_REQUEST['include_inactive'] == 'Y') {
                $sql .= " AND ssm.ID=(SELECT ID FROM STUDENT_ENROLLMENT WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR=ssm.SYEAR ORDER BY START_DATE DESC LIMIT 1)";
            } else {
                $sql .= " AND ('" . $extra['DATE'] . "'>=ssm.START_DATE AND (ssm.END_DATE IS NULL OR '" . $extra['DATE'] . "'<=ssm.END_DATE))";
            }
            $sql .= ")" . $extra['FROM'] . " WHERE TRUE";
            if (!$extra['SELECT_ONLY'] && $_REQUEST['include_inactive'] == 'Y') {
                $extra['columns_after']['ACTIVE'] = _('School Status');
                $extra['columns_after']['ACTIVE_SCHEDULE'] = _('Course Status');
            }
            break;
        case 'parent':
        case 'student':
            $sql = 'SELECT ';
            if ($extra['SELECT_ONLY']) {
                $sql .= $extra['SELECT_ONLY'];
            } else {
                $sql .= "s.LAST_NAME||', '||s.FIRST_NAME||' '||coalesce(s.MIDDLE_NAME,' ') AS FULL_NAME,";
                $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME,s.STUDENT_ID,ssm.SCHOOL_ID,ssm.GRADE_ID ' . $extra['SELECT'];
            }
            $sql .= " FROM STUDENTS s JOIN STUDENT_ENROLLMENT ssm ON (ssm.STUDENT_ID=s.STUDENT_ID AND ssm.SYEAR='" . UserSyear() . "' AND ssm.SCHOOL_ID='" . UserSchool() . "'\n\t\t\t\t\tAND ('" . $extra['DATE'] . "'>=ssm.START_DATE AND (ssm.END_DATE IS NULL OR '" . $extra['DATE'] . "'<=ssm.END_DATE)) AND s.STUDENT_ID" . ($extra['ASSOCIATED'] ? " IN (SELECT STUDENT_ID FROM STUDENTS_JOIN_USERS WHERE STAFF_ID='" . $extra['ASSOCIATED'] . "')" : "='" . UserStudentID() . "'");
            $sql .= ")" . $extra['FROM'] . " WHERE TRUE";
            break;
        default:
            exit(_('Error'));
    }
    //$sql = appendSQL($sql,array('NoSearchTerms'=>$extra['NoSearchTerms']));
    $sql .= ' ' . $extra['WHERE'] . ' ';
    if (isset($extra['GROUP'])) {
        $sql .= ' GROUP BY ' . $extra['GROUP'];
    }
    if (!isset($extra['ORDER_BY']) && !isset($extra['SELECT_ONLY'])) {
        $sql .= ' ORDER BY ';
        if (Preferences('SORT') == 'Grade') {
            $sql .= '(SELECT SORT_ORDER FROM SCHOOL_GRADELEVELS WHERE ID=ssm.GRADE_ID),';
        }
        // it would be easier to sort on full_name but postgres sometimes yields strange results
        $sql .= 's.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME';
        $sql .= $extra['ORDER'];
    } elseif (isset($extra['ORDER_BY'])) {
        $sql .= ' ORDER BY ' . $extra['ORDER_BY'];
    }
    //modif Francois: bugfix if PDF, dont echo SQL
    if (!isset($_REQUEST['_ROSARIO_PDF']) && 0) {
        //activate only for debug purpose
        echo '<!--' . $sql . '-->';
    }
    return DBGet(DBQuery($sql), $functions, $extra['group']);
}
Ejemplo n.º 26
0
function GetStaffList(&$extra)
{
    global $profiles_RET, $_CENTRE;
    $functions = array('PROFILE' => 'makeProfile');
    switch (User('PROFILE')) {
        case 'admin':
        case 'teacher':
            if ($_REQUEST['expanded_view'] == 'true') {
                $select = ',LAST_LOGIN';
                $extra['columns_after']['LAST_LOGIN'] = _('Last Login');
                $functions['LAST_LOGIN'] = '******';
                $view_fields_RET = DBGet(DBQuery("SELECT cf.ID,cf.TYPE,cf.TITLE FROM STAFF_FIELDS cf WHERE ((SELECT VALUE FROM PROGRAM_USER_CONFIG WHERE TITLE=cast(cf.ID AS TEXT) AND PROGRAM='StaffFieldsView' AND USER_ID='" . User('STAFF_ID') . "')='Y'" . ($extra['staff_fields']['view'] ? " OR cf.ID IN (" . $extra['staff_fields']['view'] . ")" : '') . ") ORDER BY cf.SORT_ORDER,cf.TITLE"));
                foreach ($view_fields_RET as $field) {
                    $extra['columns_after']['CUSTOM_' . $field['ID']] = $field['TITLE'];
                    if ($field['TYPE'] == 'date') {
                        $functions['CUSTOM_' . $field['ID']] = 'ProperDate';
                    } elseif ($field['TYPE'] == 'numeric') {
                        $functions['CUSTOM_' . $field['ID']] = 'removeDot00';
                    } elseif ($field['TYPE'] == 'codeds') {
                        $functions['CUSTOM_' . $field['ID']] = 'StaffDeCodeds';
                    } elseif ($field['TYPE'] == 'exports') {
                        $functions['CUSTOM_' . $field['ID']] = 'StaffDeCodeds';
                    }
                    $select .= ',s.CUSTOM_' . $field['ID'];
                }
                $extra['SELECT'] .= $select;
            } else {
                if (!$extra['columns_after']) {
                    $extra['columns_after'] = array();
                }
                if ($extra['staff_fields']['view']) {
                    $view_fields_RET = DBGet(DBQuery("SELECT cf.ID,cf.TYPE,cf.TITLE FROM STAFF_FIELDS cf WHERE cf.ID IN (" . $extra['staff_fields']['view'] . ") ORDER BY cf.SORT_ORDER,cf.TITLE"));
                    foreach ($view_fields_RET as $field) {
                        $extra['columns_after']['CUSTOM_' . $field['ID']] = $field['TITLE'];
                        if ($field['TYPE'] == 'date') {
                            $functions['CUSTOM_' . $field['ID']] = 'ProperDate';
                        } elseif ($field['TYPE'] == 'numeric') {
                            $functions['CUSTOM_' . $field['ID']] = 'removeDot00';
                        } elseif ($field['TYPE'] == 'codeds') {
                            $functions['CUSTOM_' . $field['ID']] = 'StaffDeCodeds';
                        } elseif ($field['TYPE'] == 'exports') {
                            $functions['CUSTOM_' . $field['ID']] = 'StaffDeCodeds';
                        }
                        $select .= ',s.CUSTOM_' . $field['ID'];
                    }
                    $extra['SELECT'] .= $select;
                }
            }
            if (User('PROFILE') != 'admin') {
                $extra['WHERE'] .= " AND (s.STAFF_ID='" . User('STAFF_ID') . "' OR s.PROFILE='parent' AND exists(SELECT '' FROM STUDENTS_JOIN_USERS _sju,STUDENT_ENROLLMENT _sem,SCHEDULE _ss WHERE _sju.STAFF_ID=s.STAFF_ID AND _sem.STUDENT_ID=_sju.STUDENT_ID AND _sem.SYEAR='" . UserSYEAR() . "' AND _ss.STUDENT_ID=_sem.STUDENT_ID AND _ss.COURSE_PERIOD_ID='" . UserCoursePeriod() . "'";
                if ($_REQUEST['include_inactive'] != 'Y') {
                    $extra['WHERE'] .= " AND _ss.MARKING_PERIOD_ID IN (" . GetAllMP('QTR', UserMP()) . ") AND ('" . DBDate() . "'>=_sem.START_DATE AND ('" . DBDate() . "'<=_sem.END_DATE OR _sem.END_DATE IS NULL)) AND ('" . DBDate() . "'>=_ss.START_DATE AND ('" . DBDate() . "'<=_ss.END_DATE OR _ss.END_DATE IS NULL))";
                }
                $extra['WHERE'] .= "))";
            }
            $profiles_RET = DBGet(DBQuery("SELECT * FROM USER_PROFILES"), array(), array('ID'));
            $sql = "SELECT\n\t\t\t\t\ts.LAST_NAME||', '||s.FIRST_NAME||' '||COALESCE(s.MIDDLE_NAME,' ') AS FULL_NAME,\n\t\t\t\t\ts.PROFILE,s.PROFILE_ID,s.STAFF_ID,s.SCHOOLS " . $extra['SELECT'] . "\n\t\t\t\tFROM\n\t\t\t\t\tSTAFF s " . $extra['FROM'] . "\n\t\t\t\tWHERE\n\t\t\t\t\ts.SYEAR='" . UserSyear() . "'";
            //$sql = appendStaffSQL($sql,array('NoSearchTerms'=>$extra['NoSearchTerms']));
            if ($_REQUEST['_search_all_schools'] != 'Y') {
                $sql .= " AND (s.SCHOOLS LIKE '%," . UserSchool() . ",%' OR s.SCHOOLS IS NULL OR s.SCHOOLS='') ";
            }
            $sql .= $extra['WHERE'] . ' ';
            //$sql .= CustomFields('where','staff',array('NoSearchTerms'=>$extra['NoSearchTerms']));
            // it would be easier to sort on full_name but postgres sometimes yields strange results
            $sql .= 'ORDER BY s.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME';
            if ($extra['functions']) {
                $functions += $extra['functions'];
            }
            return DBGet(DBQuery($sql), $functions);
            break;
    }
}
Ejemplo n.º 27
0
#***************************************************************************************
$var1 = explode("?", $_SERVER['REQUEST_URI']);
include "functions/ParamLib.php";
$url = validateQueryString($var1[1]);
if ($url === FALSE || !$var1[1]) {
    header('Location: index.php');
}
//echo $_SERVER['REQUEST_URI'];
//exit;
error_reporting(1);
include "./Warehouse.php";
$tmp_REQUEST = $_REQUEST;
$_SESSION['Side_PHP_SELF'] = "Side.php";
$old_school = UserSchool();
$old_syear = UserSyear();
$old_period = UserCoursePeriod();
//$btnn = $_REQUEST['btnn'];
$btnn = optional_param('btnn', '', PARAM_SPCL);
//$nsc = $_REQUEST['nsc'];
$nsc = optional_param('nsc', '', PARAM_SPCL);
unset($_SESSION['smc']);
unset($_SESSION['g']);
unset($_SESSION['p']);
unset($_SESSION['smn']);
unset($_SESSION['sm']);
unset($_SESSION['sma']);
unset($_SESSION['smv']);
unset($_SESSION['s']);
unset($_SESSION['_search_all']);
unset($_SESSION['custom_count_sql']);
unset($_SESSION['inactive_stu_filter']);
Ejemplo n.º 28
0
             $extra['SELECT'] .= ',(SELECT r.TITLE AS ROOM  FROM course_period_var cpv,rooms r WHERE cpv.ROOM_ID=r.ROOM_ID AND cpv.COURSE_PERIOD_ID=\'' . $_REQUEST[w_course_period_id] . '\') AS ROOM';
         }
     } else {
         if ($_REQUEST['teacher']) {
             $extra['SELECT'] .= ',(SELECT CONCAT(st.FIRST_NAME,\'' . ' ' . '\',st.LAST_NAME) FROM staff st,course_periods cp,school_periods p,schedule ss,course_period_var cpv WHERE cp.COURSE_PERIOD_ID=cpv.COURSE_PERIOD_ID AND st.STAFF_ID=cp.TEACHER_ID AND cpv.PERIOD_ID=p.PERIOD_ID AND p.ATTENDANCE=\'' . 'Y' . '\' AND cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID AND ss.STUDENT_ID=s.STUDENT_ID AND ss.SYEAR=\'' . UserSyear() . '\' AND ss.MARKING_PERIOD_ID IN(' . $qtr . ') AND (ss.START_DATE<=\'' . DBDate() . '\' AND (ss.END_DATE>=\'' . DBDate() . '\' OR ss.END_DATE IS NULL)) ORDER BY p.SORT_ORDER LIMIT 1) AS TEACHER';
         }
         if ($_REQUEST['room']) {
             $extra['SELECT'] .= ',(SELECT r.TITLE AS ROOM   FROM course_periods cp,school_periods p,schedule ss,course_period_var cpv,rooms r WHERE cpv.ROOM_ID=r.ROOM_ID AND cpv.COURSE_PERIOD_ID=cp.COURSE_PERIOD_ID AND cpv.PERIOD_ID=p.PERIOD_ID AND p.ATTENDANCE=\'' . 'Y' . '\' AND  cp.COURSE_PERIOD_ID=cpv.COURSE_PERIOD_ID AND cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID AND ss.STUDENT_ID=s.STUDENT_ID AND ss.SYEAR=\'' . UserSyear() . '\' AND ss.MARKING_PERIOD_ID IN(' . $qtr . ') AND (ss.START_DATE<=\'' . DBDate() . '\' AND (ss.END_DATE>=\'' . DBDate() . '\' OR ss.END_DATE IS NULL)) ORDER BY p.SORT_ORDER LIMIT 1) AS ROOM';
         }
     }
 } else {
     if ($_REQUEST['teacher']) {
         $extra['SELECT'] .= ',(SELECT CONCAT(st.FIRST_NAME,\'' . ' ' . '\',st.LAST_NAME) FROM staff st,course_periods cp WHERE st.STAFF_ID=cp.TEACHER_ID AND cp.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\') AS TEACHER';
     }
     if ($_REQUEST['room']) {
         $extra['SELECT'] .= ',(SELECT r.TITLE AS ROOM FROM course_period_var cpv,rooms r WHERE cpv.ROOM_ID=r.ROOM_ID AND cpv.COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\') AS ROOM';
     }
 }
 $RET = GetStuList($extra);
 if (count($RET)) {
     $skipRET = array();
     for ($i = ($_REQUEST['start_row'] - 1) * $max_cols + $_REQUEST['start_col']; $i > 1; $i--) {
         $skipRET[-$i] = array('LAST_NAME' => ' ');
     }
     $handle = PDFstart();
     $cols = 0;
     $rows = 0;
     echo "<table width=100%  border=0 style=\" font-family:Arial; font-size:12px;\" >";
     echo "<tr><td width=105>" . DrawLogo() . "</td><td  style=\"font-size:15px; font-weight:bold; padding-top:20px;\">" . GetSchool(UserSchool()) . "<div style=\"font-size:12px;\">Student Labels</div></td><td align=right style=\"padding-top:20px;\">" . ProperDate(DBDate()) . "<br \\>Powered by openSIS</td></tr><tr><td colspan=3 style=\"border-top:1px solid #333;\">&nbsp;</td></tr></table>";
     echo '<table width="100%" border="0" cellspacing="0" cellpadding="0" style=font-family:Arial; font-size:12px;>';
     foreach ($skipRET + $RET as $i => $student) {
Ejemplo n.º 29
0
                $code = 'BORDERLINE';
            } else {
                $code = 'PASSING';
            }
            if ($current_RET[$student_id]) {
                $sql = 'UPDATE eligibility SET ELIGIBILITY_CODE=\'' . $code . '\' WHERE SCHOOL_DATE BETWEEN \'' . $start_date . '\' AND \'' . $end_date . '\' AND COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\' AND STUDENT_ID=\'' . $student_id . '\'';
            } else {
                $sql = 'INSERT INTO eligibility (STUDENT_ID,SCHOOL_DATE,SYEAR,PERIOD_ID,COURSE_PERIOD_ID,ELIGIBILITY_CODE) values(\'' . $student_id . '\',\'' . DBDate() . '\',\'' . UserSyear() . '\',\'' . UserPeriod() . '\',\'' . $course_period_id . '\',\'' . $code . '\')';
            }
            DBQuery($sql);
        }
        $current_RET = DBGet(DBQuery('SELECT ELIGIBILITY_CODE,STUDENT_ID FROM eligibility WHERE SCHOOL_DATE BETWEEN \'' . $start_date . '\' AND \'' . $end_date . '\' AND COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\''), array(), array('STUDENT_ID'));
    }
}
if ($_REQUEST['values'] && ($_POST['values'] || $_REQUEST['ajax'])) {
    $course_period_id = UserCoursePeriod();
    foreach ($_REQUEST['values'] as $student_id => $value) {
        if ($current_RET[$student_id]) {
            $sql = 'UPDATE eligibility SET ELIGIBILITY_CODE=\'' . $value . '\' WHERE SCHOOL_DATE BETWEEN \'' . $start_date . '\' AND \'' . $end_date . '\' AND PERIOD_ID=\'' . UserPeriod() . '\' AND STUDENT_ID=\'' . $student_id . '\'';
        } else {
            $sql = 'INSERT INTO eligibility (STUDENT_ID,SCHOOL_DATE,SYEAR,PERIOD_ID,COURSE_PERIOD_ID,ELIGIBILITY_CODE) values(\'' . $student_id . '\',\'' . DBDate() . '\',\'' . UserSyear() . '\',\'' . UserPeriod() . '\',\'' . $course_period_id . '\',\'' . $value . '\')';
        }
        DBQuery($sql);
    }
    $RET = DBGet(DBQuery('SELECT \'completed\' AS COMPLETED FROM eligibility_completed WHERE STAFF_ID=\'' . User('STAFF_ID') . '\' AND SCHOOL_DATE BETWEEN \'' . $start_date . '\' AND \'' . $end_date . '\' AND PERIOD_ID=\'' . UserPeriod() . '\''));
    if (!count($RET)) {
        DBQuery('INSERT INTO eligibility_completed (STAFF_ID,SCHOOL_DATE,PERIOD_ID) values(\'' . User('STAFF_ID') . '\',\'' . DBDate() . '\',\'' . UserPeriod() . '\')');
    }
    $current_RET = DBGet(DBQuery('SELECT ELIGIBILITY_CODE,STUDENT_ID FROM eligibility WHERE SCHOOL_DATE BETWEEN \'' . $start_date . '\' AND \'' . $end_date . '\' AND PERIOD_ID=\'' . UserPeriod() . '\''), array(), array('STUDENT_ID'));
}
$extra['SELECT'] .= ",'' AS PASSING,'' AS BORDERLINE,'' AS FAILING,'' AS INCOMPLETE";
Ejemplo n.º 30
0
    if (!UserPeriod()) {
        $_SESSION['UserPeriod'] = $RET[1]['PERIOD_ID'];
    }
    if (!UserCoursePeriod()) {
        $_SESSION['UserCoursePeriod'] = $RET[1]['COURSE_PERIOD_ID'];
    }
    $incl_page = $_REQUEST['include'];
    if ($incl_page != 'Attendance/Missing_Attendance.php') {
        if (!$_SESSION['take_mssn_attn']) {
            $period_select = "Choose Period: <SELECT name=period onChange='document.forms[1].submit();'>";
            $period_select .= "<OPTION value='na' selected>N/A</OPTION>";
        } else {
            $period_select = "<SELECT name=period onChange='document.forms[1].submit();' style='visibility:hidden;'>";
        }
        foreach ($RET as $period) {
            $period_select .= "<OPTION value={$period['COURSE_PERIOD_ID']}" . (UserCoursePeriod() == $period['COURSE_PERIOD_ID'] ? ' SELECTED' : '') . ">" . $period['SHORT_NAME'] . ($period['MARKING_PERIOD_ID'] != $fy_id ? ' ' . GetMP($period['MARKING_PERIOD_ID'], 'SHORT_NAME') : '') . (strlen($period['DAYS']) < 5 ? ' ' . $period['DAYS'] : '') . ' - ' . $period['COURSE_TITLE'] . "</OPTION>";
            if (UserCoursePeriod() == $period['COURSE_PERIOD_ID']) {
                $_SESSION['UserPeriod'] = $period['PERIOD_ID'];
            }
        }
        $period_select .= "</SELECT>";
    }
    DrawHeader($period_select);
    echo '</FORM><BR>';
    unset($_openSIS['DrawHeader']);
    $_openSIS['allow_edit'] = AllowEdit($_REQUEST['modname']);
    $_openSIS['User'] = array(1 => array('STAFF_ID' => UserStaffID(), 'NAME' => GetTeacher(UserStaffID()), 'USERNAME' => GetTeacher(UserStaffID(), '', 'USERNAME'), 'PROFILE' => 'teacher', 'SCHOOLS' => ',' . UserSchool() . ',', 'SYEAR' => UserSyear()));
    echo '<CENTER><TABLE width=100% ><TR><TD>';
    include 'modules/' . $_REQUEST['include'];
    echo '</TD></TR></TABLE></CENTER>';
}