Exemplo n.º 1
0
    ErrorMessage(array(_('You cannot take attendance for this course period.')), 'fatal');
}
if ($_REQUEST['table'] == '') {
    $_REQUEST['table'] = $categories_RET[1]['ID'];
}
if ($_REQUEST['table'] == '0') {
    $table = 'ATTENDANCE_PERIOD';
} else {
    $table = 'LUNCH_PERIOD';
}
//modif Francois: days numbered
//modif Francois: multiple school periods for a course period
if (SchoolInfo('NUMBER_DAYS_ROTATION') !== null) {
    $course_RET = DBGET(DBQuery("SELECT cp.HALF_DAY FROM ATTENDANCE_CALENDAR acc,COURSE_PERIODS cp,SCHOOL_PERIODS sp, COURSE_PERIOD_SCHOOL_PERIODS cpsp WHERE cp.COURSE_PERIOD_ID=cpsp.COURSE_PERIOD_ID AND acc.SYEAR='" . UserSyear() . "' AND cp.SCHOOL_ID=acc.SCHOOL_ID AND cp.SYEAR=acc.SYEAR AND acc.SCHOOL_DATE='{$date}' AND cp.CALENDAR_ID=acc.CALENDAR_ID AND cpsp.COURSE_PERIOD_SCHOOL_PERIODS_ID='" . UserCoursePeriodSchoolPeriod() . "'\n\tAND cp.MARKING_PERIOD_ID IN (SELECT MARKING_PERIOD_ID FROM SCHOOL_MARKING_PERIODS WHERE (MP='FY' OR MP='SEM' OR MP='QTR') AND SCHOOL_ID=acc.SCHOOL_ID AND acc.SCHOOL_DATE BETWEEN START_DATE AND END_DATE)\n\tAND sp.PERIOD_ID=cpsp.PERIOD_ID AND (sp.BLOCK IS NULL AND position(substring('MTWHFSU' FROM cast((SELECT CASE COUNT(school_date)% " . SchoolInfo('NUMBER_DAYS_ROTATION') . " WHEN 0 THEN " . SchoolInfo('NUMBER_DAYS_ROTATION') . " ELSE COUNT(school_date)% " . SchoolInfo('NUMBER_DAYS_ROTATION') . " END AS day_number FROM attendance_calendar WHERE school_date>=(SELECT start_date FROM school_marking_periods WHERE start_date<=acc.SCHOOL_DATE AND end_date>=acc.SCHOOL_DATE AND mp='QTR') AND school_date<=acc.SCHOOL_DATE) AS INT) FOR 1) IN cpsp.DAYS)>0\n\t\tOR sp.BLOCK IS NOT NULL AND acc.BLOCK IS NOT NULL AND sp.BLOCK=acc.BLOCK)\n\tAND position(',{$_REQUEST['table']},' IN cp.DOES_ATTENDANCE)>0"));
} else {
    $course_RET = DBGET(DBQuery("SELECT cp.HALF_DAY FROM ATTENDANCE_CALENDAR acc,COURSE_PERIODS cp,SCHOOL_PERIODS sp, COURSE_PERIOD_SCHOOL_PERIODS cpsp WHERE cp.COURSE_PERIOD_ID=cpsp.COURSE_PERIOD_ID AND acc.SYEAR='" . UserSyear() . "' AND cp.SCHOOL_ID=acc.SCHOOL_ID AND cp.SYEAR=acc.SYEAR AND acc.SCHOOL_DATE='{$date}' AND cp.CALENDAR_ID=acc.CALENDAR_ID AND cpsp.COURSE_PERIOD_SCHOOL_PERIODS_ID='" . UserCoursePeriodSchoolPeriod() . "'\n\tAND cp.MARKING_PERIOD_ID IN (SELECT MARKING_PERIOD_ID FROM SCHOOL_MARKING_PERIODS WHERE (MP='FY' OR MP='SEM' OR MP='QTR') AND SCHOOL_ID=acc.SCHOOL_ID AND acc.SCHOOL_DATE BETWEEN START_DATE AND END_DATE)\n\tAND sp.PERIOD_ID=cpsp.PERIOD_ID AND (sp.BLOCK IS NULL AND position(substring('UMTWHFS' FROM cast(extract(DOW FROM acc.SCHOOL_DATE) AS INT)+1 FOR 1) IN cpsp.DAYS)>0\n\t\tOR sp.BLOCK IS NOT NULL AND acc.BLOCK IS NOT NULL AND sp.BLOCK=acc.BLOCK)\n\tAND position(',{$_REQUEST['table']},' IN cp.DOES_ATTENDANCE)>0"));
}
if (count($course_RET) == 0) {
    echo '<FORM action="Modules.php?modname=' . $_REQUEST['modname'] . '&table=' . $_REQUEST['table'] . '" method="POST">';
    DrawHeader(PrepareDate($date, '_date', false, array('submit' => true)));
    echo '</FORM>';
    ErrorMessage(array(_('You cannot take attendance for this period on this day.')), 'fatal');
}
$qtr_id = GetCurrentMP('QTR', $date, false);
if (!$qtr_id) {
    echo '<FORM action="Modules.php?modname=' . $_REQUEST['modname'] . '&table=' . $_REQUEST['table'] . '" method="POST">';
    DrawHeader(PrepareDate($date, '_date', false, array('submit' => true)));
    echo '</FORM>';
    ErrorMessage(array(_('The selected date is not in a school quarter.')), 'fatal');
}
// if running as a teacher program then rosario[allow_edit] will already be set according to admin permissions
Exemplo n.º 2
0
     $_SESSION['unset_student'] = true;
 }
 echo '<BR /><SELECT name="period" onChange="document.forms[0].submit();" style="width:180px;">';
 $optgroup = FALSE;
 foreach ($RET as $period) {
     //modif Francois: add optroup to group periods by course periods
     if (!empty($period['COURSE_TITLE']) && $optgroup != $period['COURSE_TITLE']) {
         echo '<optgroup label="' . $period['COURSE_TITLE'] . '">';
         $optgroup = $period['COURSE_TITLE'];
     }
     if ($optgroup !== FALSE && $optgroup != $period['COURSE_TITLE']) {
         //close optgroup
         echo '</optgroup>';
     }
     //if(UserCoursePeriod()==$period['COURSE_PERIOD_ID'])
     if (UserCoursePeriodSchoolPeriod() == $period['COURSE_PERIOD_SCHOOL_PERIODS_ID']) {
         $selected = ' SELECTED="SELECTED"';
         $_SESSION['UserPeriod'] = $period['PERIOD_ID'];
         $found = true;
     } else {
         $selected = '';
     }
     //modif Francois: days display to locale
     $days_convert = array('U' => _('Sunday'), 'M' => _('Monday'), 'T' => _('Tuesday'), 'W' => _('Wednesday'), 'H' => _('Thursday'), 'F' => _('Friday'), 'S' => _('Saturday'));
     //modif Francois: days numbered
     if (SchoolInfo('NUMBER_DAYS_ROTATION') !== null) {
         $days_convert = array('U' => '7', 'M' => '1', 'T' => '2', 'W' => '3', 'H' => '4', 'F' => '5', 'S' => '6');
     }
     $period_days = '';
     for ($i = 0; $i < mb_strlen($period['DAYS']); $i++) {
         $period_days .= mb_substr($days_convert[$period['DAYS'][$i]], 0, 3) . '.';
Exemplo n.º 3
0
//if($_REQUEST['search_modfunc'] || $_REQUEST['student_id'] || UserStudentID() || User('PROFILE')=='parent' || User('PROFILE')=='student')
if ($_REQUEST['search_modfunc'] || $_REQUEST['student_id'] || User('PROFILE') == 'parent' || User('PROFILE') == 'student') {
    $PHP_tmp_SELF = PreparePHP_SELF();
    $period_select = '<SELECT name="period_id" onchange="this.form.submit();"><OPTION value=""' . (empty($_REQUEST['period_id']) ? ' SELECTED="SELECTED"' : '') . '>' . _('Daily') . '</OPTION>';
    if (!UserStudentID() && !$_REQUEST['student_id']) {
        if (User('PROFILE') == 'admin') {
            //modif Francois: multiple school periods for a course period
            //$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"));
            $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 cp, COURSE_PERIOD_SCHOOL_PERIODS cpsp WHERE cp.COURSE_PERIOD_ID=cpsp.COURSE_PERIOD_ID AND position(',0,' IN cp.DOES_ATTENDANCE)>0 AND cpsp.PERIOD_ID=sp.PERIOD_ID AND cp.SYEAR=sp.SYEAR AND cp.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="SELECTED"' : '') . '>' . $period['TITLE'] . '</OPTION>';
            }
        } else {
            //modif Francois: multiple school periods for a course period
            //$periods_RET = DBGet(DBQuery("SELECT sp.PERIOD_ID,sp.TITLE FROM SCHOOL_PERIODS sp,COURSE_PERIODS cp WHERE position(',0,' IN cp.DOES_ATTENDANCE)>0 AND sp.PERIOD_ID=cp.PERIOD_ID AND cp.COURSE_PERIOD_ID='".UserCoursePeriod()."'"));
            $periods_RET = DBGet(DBQuery("SELECT sp.PERIOD_ID,sp.TITLE FROM SCHOOL_PERIODS sp,COURSE_PERIODS cp, COURSE_PERIOD_SCHOOL_PERIODS cpsp WHERE cp.COURSE_PERIOD_ID=cpsp.COURSE_PERIOD_ID AND position(',0,' IN cp.DOES_ATTENDANCE)>0 AND sp.PERIOD_ID=cpsp.PERIOD_ID AND cpsp.COURSE_PERIOD_SCHOOL_PERIODS_ID='" . UserCoursePeriodSchoolPeriod() . "'"));
            if ($periods_RET) {
                //$period_select .= '<OPTION value="'.$periods_RET[1]['PERIOD_ID'].'"'.(($_REQUEST['period_id']==$periods_RET[1]['PERIOD_ID'] || !isset($_REQUEST['period_id']))?' SELECTED="SELECTED"':'').">".$periods_RET[1]['TITLE'].'</OPTION>';
                $period_select .= '<OPTION value="' . $periods_RET[1]['PERIOD_ID'] . '"' . ($_REQUEST['period_id'] == $periods_RET[1]['PERIOD_ID'] ? ' SELECTED="SELECTED"' : '') . ">" . $periods_RET[1]['TITLE'] . '</OPTION>';
                if (!isset($_REQUEST['period_id'])) {
                    $_REQUEST['period_id'] = $periods_RET['PERIOD_ID'];
                }
            }
        }
    } else {
        $period_select .= '<OPTION value="PERIOD"' . ($_REQUEST['period_id'] ? ' SELECTED="SELECTED"' : '') . '>' . _('By Period') . '</OPTION>';
    }
    $period_select .= '</SELECT>';
    echo '<FORM action="' . $PHP_tmp_SELF . '" method="POST">';
    DrawHeader(_('Timeframe') . ':' . PrepareDate($start_date, '_start') . ' ' . _('to') . ' ' . PrepareDate($end_date, '_end') . ' : ' . $period_select . ' : <INPUT type="submit" value="' . _('Go') . '" />');
}
Exemplo n.º 4
0
    $start_date = '01-' . mb_strtoupper(date('M-y'));
}
if ($_REQUEST['day_end'] && $_REQUEST['month_end'] && $_REQUEST['year_end']) {
    while (!VerifyDate($end_date = $_REQUEST['day_end'] . '-' . $_REQUEST['month_end'] . '-' . $_REQUEST['year_end'])) {
        $_REQUEST['day_end']--;
    }
} else {
    $end_date = DBDate();
}
//if(User('PROFILE')=='teacher')
//	$_REQUEST['period_id'] = UserPeriod();
if ($_REQUEST['search_modfunc'] || UserStudentID() || $_REQUEST['student_id'] || User('PROFILE') == 'parent' || User('PROFILE') == 'student') {
    if (!UserStudentID() && !$_REQUEST['student_id']) {
        //modif Francois: multiple school periods for a course period
        //$periods_RET = DBGet(DBQuery("SELECT sp.PERIOD_ID,sp.TITLE FROM SCHOOL_PERIODS sp WHERE sp.SYEAR='".UserSyear()."' AND sp.SCHOOL_ID='".UserSchool()."' AND EXISTS(SELECT '' FROM COURSE_PERIODS cp WHERE cp.PERIOD_ID=sp.PERIOD_ID AND position(',0,' IN cp.DOES_ATTENDANCE)>0".(User('PROFILE')=='teacher'?" AND cp.PERIOD_ID='".UserPeriod()."'":'').") ORDER BY sp.SORT_ORDER"));
        $periods_RET = DBGet(DBQuery("SELECT sp.PERIOD_ID,sp.TITLE FROM SCHOOL_PERIODS sp WHERE sp.SYEAR='" . UserSyear() . "' AND sp.SCHOOL_ID='" . UserSchool() . "' AND EXISTS(SELECT '' FROM COURSE_PERIODS cp, COURSE_PERIOD_SCHOOL_PERIODS cpsp WHERE  cp.COURSE_PERIOD_ID=cpsp.COURSE_PERIOD_ID AND cpsp.PERIOD_ID=sp.PERIOD_ID AND position(',0,' IN cp.DOES_ATTENDANCE)>0" . (User('PROFILE') == 'teacher' ? " AND cpsp.COURSE_PERIOD_SCHOOL_PERIODS_ID='" . UserCoursePeriodSchoolPeriod() . "'" : '') . ") ORDER BY sp.SORT_ORDER"));
        $period_select = '<SELECT name="period_id" onchange="this.form.submit();"><OPTION value="">' . _('Daily') . '</OPTION>';
        if (count($periods_RET)) {
            foreach ($periods_RET as $period) {
                $period_select .= '<OPTION value="' . $period[PERIOD_ID] . '"' . ($_REQUEST['period_id'] == $period['PERIOD_ID'] ? ' SELECTED="SELECTED"' : '') . '>' . $period[TITLE] . '</OPTION>';
            }
        }
        $period_select .= '</SELECT>';
    }
    $PHP_tmp_SELF = PreparePHP_SELF();
    echo '<FORM action="' . $PHP_tmp_SELF . '" method="POST">';
    DrawHeader(_('Timeframe') . ':' . PrepareDate($start_date, '_start') . ' ' . _('to') . ' ' . PrepareDate($end_date, '_end') . ' : ' . $period_select . ' : <INPUT type="submit" value="' . _('Go') . '" />');
    echo '</FORM>';
}
if ($_REQUEST['period_id']) {
    $extra['SELECT'] .= ",(SELECT count(*) FROM ATTENDANCE_PERIOD ap,ATTENDANCE_CODES ac\n\t\t\t\t\t\tWHERE ac.ID=ap.ATTENDANCE_CODE AND (ac.STATE_CODE='A' OR ac.STATE_CODE='H') AND ap.STUDENT_ID=ssm.STUDENT_ID\n\t\t\t\t\t\tAND ap.PERIOD_ID='{$_REQUEST['period_id']}'\n\t\t\t\t\t\tAND ap.SCHOOL_DATE BETWEEN '{$start_date}' AND '{$end_date}' AND ac.SYEAR=ssm.SYEAR) AS STATE_ABS";