function UpdateAttendanceDaily($student_id, $date = '', $comment = false) { $daysWeek = _('SuMoTuWeThFrSa'); /// Days of the week if (!$date) { $date = DBDate(); } $sql = "SELECT\n\t\t\t\tsum(sp.LENGTH) AS TOTAL\n\t\t\tFROM SCHEDULE s,COURSE_PERIODS cp,SCHOOL_PERIODS sp,ATTENDANCE_CALENDAR ac\n\t\t\tWHERE\n\t\t\t\ts.COURSE_PERIOD_ID = cp.COURSE_PERIOD_ID AND position(',0,' IN cp.DOES_ATTENDANCE)>0\n\t\t\t\tAND ac.SCHOOL_DATE='{$date}' AND (ac.BLOCK=sp.BLOCK OR sp.BLOCK IS NULL)\n\t\t\t\tAND ac.CALENDAR_ID=cp.CALENDAR_ID AND ac.SCHOOL_ID=s.SCHOOL_ID AND ac.SYEAR=s.SYEAR\n\t\t\t\tAND s.SYEAR = cp.SYEAR AND sp.PERIOD_ID = cp.PERIOD_ID\n\t\t\t\tAND position(substring('{$daysWeek}' FROM cast(extract(DOW FROM cast('{$date}' AS DATE)) AS INT)*2+1 FOR 2) IN cp.DAYS)>0\n\t\t\t\tAND s.STUDENT_ID='{$student_id}'\n\t\t\t\tAND s.SYEAR='" . UserSyear() . "'\n\t\t\t\tAND ('{$date}' BETWEEN s.START_DATE AND s.END_DATE OR (s.END_DATE IS NULL AND '{$date}'>=s.START_DATE))\n\t\t\t\tAND s.MARKING_PERIOD_ID IN (" . GetAllMP('QTR', GetCurrentMP('QTR', $date)) . ")\n\t\t\t"; $RET = DBGet(DBQuery($sql)); $total = $RET[1]['TOTAL']; if ($total == 0) { return; } $sql = "SELECT sum(sp.LENGTH) AS TOTAL\n\t\t\tFROM ATTENDANCE_PERIOD ap,SCHOOL_PERIODS sp,ATTENDANCE_CODES ac\n\t\t\tWHERE ap.STUDENT_ID='{$student_id}' AND ap.SCHOOL_DATE='{$date}' AND ap.PERIOD_ID=sp.PERIOD_ID AND ac.ID = ap.ATTENDANCE_CODE AND ac.STATE_CODE='A'\n\t\t\tAND sp.SYEAR='" . UserSyear() . "'"; $RET = DBGet(DBQuery($sql)); $total -= $RET[1]['TOTAL']; $sql = "SELECT sum(sp.LENGTH) AS TOTAL\n\t\t\tFROM ATTENDANCE_PERIOD ap,SCHOOL_PERIODS sp,ATTENDANCE_CODES ac\n\t\t\tWHERE ap.STUDENT_ID='{$student_id}' AND ap.SCHOOL_DATE='{$date}' AND ap.PERIOD_ID=sp.PERIOD_ID AND ac.ID = ap.ATTENDANCE_CODE AND ac.STATE_CODE='H'\n\t\t\tAND sp.SYEAR='" . UserSyear() . "'"; $RET = DBGet(DBQuery($sql)); $total -= $RET[1]['TOTAL'] * 0.5; if ($total >= 300) { $length = '1.0'; } elseif ($total >= 150) { $length = '.5'; } else { $length = '0.0'; } $current_RET = DBGet(DBQuery("SELECT MINUTES_PRESENT,STATE_VALUE,COMMENT FROM ATTENDANCE_DAY WHERE STUDENT_ID='{$student_id}' AND SCHOOL_DATE='{$date}'")); if (count($current_RET) && $current_RET[1]['MINUTES_PRESENT'] != $total) { DBQuery("UPDATE ATTENDANCE_DAY SET MINUTES_PRESENT='{$total}',STATE_VALUE='{$length}'" . ($comment !== false ? ",COMMENT='" . str_replace("\\'", "''", $comment) . "'" : '') . " WHERE STUDENT_ID='{$student_id}' AND SCHOOL_DATE='{$date}'"); } elseif (count($current_RET) && $comment !== false && $current_RET[1]['COMMENT'] != $comment) { DBQuery("UPDATE ATTENDANCE_DAY SET COMMENT='" . str_replace("\\'", "''", $comment) . "' WHERE STUDENT_ID='{$student_id}' AND SCHOOL_DATE='{$date}'"); } elseif (count($current_RET) == 0) { DBQuery("INSERT INTO ATTENDANCE_DAY (SYEAR,STUDENT_ID,SCHOOL_DATE,MINUTES_PRESENT,STATE_VALUE,MARKING_PERIOD_ID,COMMENT) values('" . UserSyear() . "','{$student_id}','{$date}','{$total}','{$length}','" . GetCurrentMP('QTR', $date) . "','" . str_replace("\\'", "''", $comment) . "')"); } }
function UpdateAttendanceDaily($student_id, $date = '', $comment = false) { if (!$date) { $date = DBDate(); } $sql = "SELECT\r\n\t\t\t\tsum(sp.LENGTH) AS TOTAL\r\n\t\t\tFROM SCHEDULE s,COURSE_PERIODS cp,SCHOOL_PERIODS sp,ATTENDANCE_CALENDAR ac\r\n\t\t\tWHERE\r\n\t\t\t\ts.COURSE_PERIOD_ID = cp.COURSE_PERIOD_ID AND cp.DOES_ATTENDANCE='Y'\r\n\t\t\t\tAND ac.SCHOOL_DATE='{$date}' AND (ac.BLOCK=sp.BLOCK OR sp.BLOCK IS NULL)\r\n\t\t\t\tAND ac.CALENDAR_ID=cp.CALENDAR_ID AND ac.SCHOOL_ID=s.SCHOOL_ID AND ac.SYEAR=s.SYEAR\r\n\t\t\t\tAND s.SYEAR = cp.SYEAR AND sp.PERIOD_ID = cp.PERIOD_ID\r\n\t\t\t\tAND position(substring('UMTWHFS' FROM DAYOFWEEK('{$date}') FOR 1) IN cp.DAYS)>0\r\n\t\t\t\tAND s.STUDENT_ID='{$student_id}'\r\n\t\t\t\tAND s.SYEAR='" . UserSyear() . "'\r\n\t\t\t\tAND ('{$date}' BETWEEN s.START_DATE AND s.END_DATE OR (s.END_DATE IS NULL AND '{$date}'>=s.START_DATE))\r\n\t\t\t\tAND s.MARKING_PERIOD_ID IN (" . GetAllMP('QTR', GetCurrentMP('QTR', $date)) . ")\r\n\t\t\t"; $RET = DBGet(DBQuery($sql)); $total = $RET[1]['TOTAL']; if ($total == 0) { return; } $sql = "SELECT sum(sp.LENGTH) AS TOTAL\r\n\t\t\tFROM ATTENDANCE_PERIOD ap,SCHOOL_PERIODS sp,ATTENDANCE_CODES ac\r\n\t\t\tWHERE ap.STUDENT_ID='{$student_id}' AND ap.SCHOOL_DATE='{$date}' AND ap.PERIOD_ID=sp.PERIOD_ID AND ac.ID = ap.ATTENDANCE_CODE AND ac.STATE_CODE='A'\r\n\t\t\tAND sp.SYEAR='" . UserSyear() . "'"; $RET = DBGet(DBQuery($sql)); $total -= $RET[1]['TOTAL']; $sql = "SELECT sum(sp.LENGTH) AS TOTAL\r\n\t\t\tFROM ATTENDANCE_PERIOD ap,SCHOOL_PERIODS sp,ATTENDANCE_CODES ac\r\n\t\t\tWHERE ap.STUDENT_ID='{$student_id}' AND ap.SCHOOL_DATE='{$date}' AND ap.PERIOD_ID=sp.PERIOD_ID AND ac.ID = ap.ATTENDANCE_CODE AND ac.STATE_CODE='H'\r\n\t\t\tAND sp.SYEAR='" . UserSyear() . "'"; $RET = DBGet(DBQuery($sql)); $total -= $RET[1]['TOTAL'] * 0.5; /* if($total>=300) $length = '1.0'; elseif($total>=150) $length = '.5'; else $length = '0.0'; */ if (stripos($_SERVER['SERVER_SOFTWARE'], 'linux')) { $comment = str_replace("'", "\\'", $comment); } $sys_pref = DBGet(DBQuery("SELECT * FROM SYSTEM_PREFERENCE WHERE SCHOOL_ID=" . UserSchool())); $fdm = $sys_pref[1]['FULL_DAY_MINUTE']; $hdm = $sys_pref[1]['HALF_DAY_MINUTE']; if ($total >= $fdm) { $length = '1.0'; } elseif ($total >= $hdm) { $length = '.5'; } else { $length = '0.0'; } $current_RET = DBGet(DBQuery("SELECT MINUTES_PRESENT,STATE_VALUE,COMMENT FROM ATTENDANCE_DAY WHERE STUDENT_ID='{$student_id}' AND SCHOOL_DATE='{$date}'")); if (count($current_RET) && $current_RET[1]['MINUTES_PRESENT'] != $total) { DBQuery("UPDATE ATTENDANCE_DAY SET MINUTES_PRESENT='{$total}',STATE_VALUE='{$length}'" . ($comment !== false ? ",COMMENT='" . str_replace("", "", $comment) . "'" : '') . " WHERE STUDENT_ID='{$student_id}' AND SCHOOL_DATE='{$date}'"); } elseif (count($current_RET) && $comment !== false && $current_RET[1]['COMMENT'] != $comment) { DBQuery("UPDATE ATTENDANCE_DAY SET COMMENT='" . str_replace("", "", $comment) . "' WHERE STUDENT_ID='{$student_id}' AND SCHOOL_DATE='{$date}'"); } elseif (count($current_RET) == 0) { DBQuery("INSERT INTO ATTENDANCE_DAY (SYEAR,STUDENT_ID,SCHOOL_DATE,MINUTES_PRESENT,STATE_VALUE,MARKING_PERIOD_ID,COMMENT) values('" . UserSyear() . "','{$student_id}','{$date}','{$total}','{$length}','" . GetCurrentMP('QTR', $date) . "','" . str_replace("", "", $comment) . "')"); } }
function UpdateAttendanceDaily($student_id, $date = '', $comment = false) { if (!$date) { $date = DBDate(); } //modif Francois: days numbered //modif Francois: multiple school periods for a course period if (SchoolInfo('NUMBER_DAYS_ROTATION') !== null) { $sql = "SELECT\n\t\t\t\t\tsum(sp.LENGTH) AS TOTAL\n\t\t\t\tFROM SCHEDULE s,COURSE_PERIODS cp,SCHOOL_PERIODS sp,ATTENDANCE_CALENDAR ac, COURSE_PERIOD_SCHOOL_PERIODS cpsp \n\t\t\t\tWHERE \n\t\t\t\t\tcp.COURSE_PERIOD_ID=cpsp.COURSE_PERIOD_ID AND\n\t\t\t\t\ts.COURSE_PERIOD_ID = cp.COURSE_PERIOD_ID AND position(',0,' IN cp.DOES_ATTENDANCE)>0\n\t\t\t\t\tAND ac.SCHOOL_DATE='{$date}' AND (ac.BLOCK=sp.BLOCK OR sp.BLOCK IS NULL)\n\t\t\t\t\tAND ac.CALENDAR_ID=cp.CALENDAR_ID AND ac.SCHOOL_ID=s.SCHOOL_ID AND ac.SYEAR=s.SYEAR\n\t\t\t\t\tAND s.SYEAR = cp.SYEAR AND sp.PERIOD_ID = cpsp.PERIOD_ID\n\t\t\t\t\tAND 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<='{$date}' AND end_date>='{$date}' AND mp='QTR') AND school_date<='{$date}') AS INT) FOR 1) IN cpsp.DAYS)>0\n\t\t\t\t\tAND s.STUDENT_ID='{$student_id}'\n\t\t\t\t\tAND s.SYEAR='" . UserSyear() . "'\n\t\t\t\t\tAND ('{$date}' BETWEEN s.START_DATE AND s.END_DATE OR (s.END_DATE IS NULL AND '{$date}'>=s.START_DATE))\n\t\t\t\t\tAND s.MARKING_PERIOD_ID IN (" . GetAllMP('QTR', GetCurrentMP('QTR', $date)) . ")\n\t\t\t\t"; } else { $sql = "SELECT\n\t\t\t\t\tsum(sp.LENGTH) AS TOTAL\n\t\t\t\tFROM SCHEDULE s,COURSE_PERIODS cp,SCHOOL_PERIODS sp,ATTENDANCE_CALENDAR ac, COURSE_PERIOD_SCHOOL_PERIODS cpsp \n\t\t\t\tWHERE \n\t\t\t\t\tcp.COURSE_PERIOD_ID=cpsp.COURSE_PERIOD_ID AND\n\t\t\t\t\ts.COURSE_PERIOD_ID = cp.COURSE_PERIOD_ID AND position(',0,' IN cp.DOES_ATTENDANCE)>0\n\t\t\t\t\tAND ac.SCHOOL_DATE='{$date}' AND (ac.BLOCK=sp.BLOCK OR sp.BLOCK IS NULL)\n\t\t\t\t\tAND ac.CALENDAR_ID=cp.CALENDAR_ID AND ac.SCHOOL_ID=s.SCHOOL_ID AND ac.SYEAR=s.SYEAR\n\t\t\t\t\tAND s.SYEAR = cp.SYEAR AND sp.PERIOD_ID = cpsp.PERIOD_ID\n\t\t\t\t\tAND position(substring('UMTWHFS' FROM cast(extract(DOW FROM cast('{$date}' AS DATE)) AS INT)+1 FOR 1) IN cpsp.DAYS)>0\n\t\t\t\t\tAND s.STUDENT_ID='{$student_id}'\n\t\t\t\t\tAND s.SYEAR='" . UserSyear() . "'\n\t\t\t\t\tAND ('{$date}' BETWEEN s.START_DATE AND s.END_DATE OR (s.END_DATE IS NULL AND '{$date}'>=s.START_DATE))\n\t\t\t\t\tAND s.MARKING_PERIOD_ID IN (" . GetAllMP('QTR', GetCurrentMP('QTR', $date)) . ")\n\t\t\t\t"; } $RET = DBGet(DBQuery($sql)); $total = $RET[1]['TOTAL']; if ($total == 0) { return; } $sql = "SELECT sum(sp.LENGTH) AS TOTAL\n\t\t\tFROM ATTENDANCE_PERIOD ap,SCHOOL_PERIODS sp,ATTENDANCE_CODES ac\n\t\t\tWHERE ap.STUDENT_ID='{$student_id}' AND ap.SCHOOL_DATE='{$date}' AND ap.PERIOD_ID=sp.PERIOD_ID AND ac.ID = ap.ATTENDANCE_CODE AND ac.STATE_CODE='A'\n\t\t\tAND sp.SYEAR='" . UserSyear() . "'"; $RET = DBGet(DBQuery($sql)); $total -= $RET[1]['TOTAL']; $sql = "SELECT sum(sp.LENGTH) AS TOTAL\n\t\t\tFROM ATTENDANCE_PERIOD ap,SCHOOL_PERIODS sp,ATTENDANCE_CODES ac\n\t\t\tWHERE ap.STUDENT_ID='{$student_id}' AND ap.SCHOOL_DATE='{$date}' AND ap.PERIOD_ID=sp.PERIOD_ID AND ac.ID = ap.ATTENDANCE_CODE AND ac.STATE_CODE='H'\n\t\t\tAND sp.SYEAR='" . UserSyear() . "'"; $RET = DBGet(DBQuery($sql)); $total -= $RET[1]['TOTAL'] * 0.5; if ($total >= Config('ATTENDANCE_FULL_DAY_MINUTES')) { $length = '1.0'; } elseif ($total >= Config('ATTENDANCE_FULL_DAY_MINUTES') / 2) { $length = '.5'; } else { $length = '0.0'; } $current_RET = DBGet(DBQuery("SELECT MINUTES_PRESENT,STATE_VALUE,COMMENT FROM ATTENDANCE_DAY WHERE STUDENT_ID='{$student_id}' AND SCHOOL_DATE='{$date}'")); if (count($current_RET) && $current_RET[1]['MINUTES_PRESENT'] != $total) { DBQuery("UPDATE ATTENDANCE_DAY SET MINUTES_PRESENT='{$total}',STATE_VALUE='{$length}'" . ($comment !== false ? ",COMMENT='" . $comment . "'" : '') . " WHERE STUDENT_ID='{$student_id}' AND SCHOOL_DATE='{$date}'"); } elseif (count($current_RET) && $comment !== false && $current_RET[1]['COMMENT'] != $comment) { DBQuery("UPDATE ATTENDANCE_DAY SET COMMENT='" . $comment . "' WHERE STUDENT_ID='{$student_id}' AND SCHOOL_DATE='{$date}'"); } elseif (count($current_RET) == 0) { DBQuery("INSERT INTO ATTENDANCE_DAY (SYEAR,STUDENT_ID,SCHOOL_DATE,MINUTES_PRESENT,STATE_VALUE,MARKING_PERIOD_ID,COMMENT) values('" . UserSyear() . "','{$student_id}','{$date}','{$total}','{$length}','" . GetCurrentMP('QTR', $date) . "','" . $comment . "')"); } }
} 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;\"> </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) { if ($cols < 1) { echo '<tr>'; } echo '<td width="33.3%" height="86" align="center" valign="middle">'; echo '<table border=0 align=center>'; echo '<tr>'; echo '<td align=center>' . $student['NICK_NAME'] . ' ' . $student['LAST_NAME'] . '</td></tr>'; if ($_REQUEST['teacher']) { echo '<tr><td align=center>' . _('Teacher') . ':'; echo '' . $student['TEACHER'] . '</td></tr>'; } if ($_REQUEST['room']) { echo '<tr><td align=center>' . _('Room No :') . '';
if (count($_SESSION['FSA_sale'])) { $items_RET = DBGet(DBQuery("SELECT DESCRIPTION,SHORT_NAME,PRICE_STAFF FROM FOOD_SERVICE_ITEMS WHERE SCHOOL_ID='" . UserSchool() . "'"), array(), array('SHORT_NAME')); // get next transaction id $id = DBGet(DBQuery('SELECT ' . db_seq_nextval('FOOD_SERVICE_STAFF_TRANSACTIONS_SEQ') . ' AS SEQ_ID ' . FROM_DUAL)); $id = $id[1]['SEQ_ID']; $item_id = 0; foreach ($_SESSION['FSA_sale'] as $item_sn) { $price = $items_RET[$item_sn][1]['PRICE_STAFF']; $fields = 'ITEM_ID,TRANSACTION_ID,AMOUNT,SHORT_NAME,DESCRIPTION'; $values = "'" . $item_id++ . "','" . $id . "','-" . $price . "','" . $items_RET[$item_sn][1]['SHORT_NAME'] . "','" . $items_RET[$item_sn][1]['DESCRIPTION'] . "'"; $sql = "INSERT INTO FOOD_SERVICE_STAFF_TRANSACTION_ITEMS (" . $fields . ") values (" . $values . ")"; DBQuery($sql); } $sql1 = "UPDATE FOOD_SERVICE_STAFF_ACCOUNTS SET TRANSACTION_ID='" . $id . "',BALANCE=BALANCE+(SELECT sum(AMOUNT) FROM FOOD_SERVICE_STAFF_TRANSACTION_ITEMS WHERE TRANSACTION_ID='" . $id . "') WHERE STAFF_ID='" . UserStaffID() . "'"; $fields = 'TRANSACTION_ID,STAFF_ID,SYEAR,SCHOOL_ID,BALANCE,TIMESTAMP,SHORT_NAME,DESCRIPTION,SELLER_ID'; $values = "'" . $id . "','" . UserStaffID() . "','" . UserSyear() . "','" . UserSchool() . "',(SELECT BALANCE FROM FOOD_SERVICE_STAFF_ACCOUNTS WHERE STAFF_ID='" . UserStaffID() . "'),CURRENT_TIMESTAMP,'" . $menus_RET[$_REQUEST['menu_id']][1]['TITLE'] . "','" . $menus_RET[$_REQUEST['menu_id']][1]['TITLE'] . ' - ' . DBDate() . "','" . User('STAFF_ID') . "'"; $sql2 = 'INSERT INTO FOOD_SERVICE_STAFF_TRANSACTIONS (' . $fields . ') values (' . $values . ')'; DBQuery('BEGIN; ' . $sql1 . '; ' . $sql2 . '; COMMIT'); unset($_SESSION['FSA_sale']); } unset($_REQUEST['modfunc']); } else { unset($_REQUEST['modfunc']); } unset($_REQUEST['submit']); } if (UserStaffID() && !$_REQUEST['modfunc']) { $staff = DBGet(DBQuery("SELECT s.STAFF_ID,s.FIRST_NAME||' '||s.LAST_NAME AS FULL_NAME,(SELECT STAFF_ID FROM FOOD_SERVICE_STAFF_ACCOUNTS WHERE STAFF_ID=s.STAFF_ID) AS ACCOUNT_ID,(SELECT BALANCE FROM FOOD_SERVICE_STAFF_ACCOUNTS WHERE STAFF_ID=s.STAFF_ID) AS BALANCE FROM STAFF s WHERE s.STAFF_ID='" . UserStaffID() . "'")); $staff = $staff[1]; echo "<FORM action=Modules.php?modname={$_REQUEST['modname']}&modfunc=submit&menu_id={$_REQUEST['menu_id']} method=POST>"; DrawHeader('', SubmitButton(_('Cancel Sale'), 'submit[cancel]') . SubmitButton(_('Complete Sale'), 'submit[save]'));
} if ($_REQUEST[stuid]) { $sql .= "AND ssm.STUDENT_ID='{$_REQUEST['stuid']}' "; } if ($_REQUEST[first]) { $sql .= "AND s.FIRST_NAME LIKE '" . strtoupper($_REQUEST[first]) . "%' "; } if ($_REQUEST[last]) { $sql .= "AND s.LAST_NAME LIKE '" . strtoupper($_REQUEST[last]) . "%' "; } $sql .= "ORDER BY s.LAST_NAME,s.FIRST_NAME,s.MIDDLE_NAME "; $QI = DBQuery($sql); $stubilling_RET = DBGet($QI, array('FIRST_NAME' => 'GetCapWords', 'LAST_NAME' => 'GetCapWords')); $debits_table = 'STU_BILLING_ACT_LUNCH'; $credits_cond = " LUNCH_PAYMENT='Y' "; $lunch_title = '<B>Lunch Purchases and Payments</B><BR>School Year: ' . DispYear($_REQUEST[year]) . '<BR>as of ' . ProperDate(DBDate()); $sql = "SELECT ssm.STUDENT_ID,ssm.SCHOOL,s.FIRST_NAME,s.LAST_NAME,s.MIDDLE_NAME "; if (($_REQUEST[balance_low] || $_REQUEST[balance_low] === '0') && ($_REQUEST[balance_high] || $_REQUEST[balance_high] === '0')) { $sql .= ",(SELECT COALESCE((SELECT sum(AMOUNT) FROM STU_BILLING_ACT WHERE STUDENT_ID=ssm.STUDENT_ID AND {$credits_cond}),0) -\n\t\t\t\tCOALESCE((SELECT sum(AMOUNT) FROM {$debits_table} WHERE STUDENT_ID=ssm.STUDENT_ID),0) " . FROM_DUAL . ") as BALANCE "; } $sql .= "FROM STU_SCHOOL_MEETS ssm,STUDENTS s\n\t\t\tWHERE ssm.SYEAR='{$_REQUEST['year']}' AND s.STUDENT_ID=ssm.STUDENT_ID "; if (($_REQUEST[balance_low] || $_REQUEST[balance_low] === '0') && ($_REQUEST[balance_high] || $_REQUEST[balance_high] === '0')) { $sql .= "AND (SELECT COALESCE((SELECT sum(AMOUNT) FROM STU_BILLING_ACT WHERE STUDENT_ID=ssm.STUDENT_ID AND {$credits_cond}),0) -\n\t\t\t\tCOALESCE((SELECT sum(AMOUNT) FROM {$debits_table} WHERE STUDENT_ID=ssm.STUDENT_ID),0) " . FROM_DUAL . ")\n\t\t\t\t BETWEEN '{$_REQUEST['balance_low']}' AND '{$_REQUEST['balance_high']}' "; } if ($_REQUEST[not_zero] == 'Y') { $sql .= "AND (SELECT COALESCE((SELECT sum(AMOUNT) FROM STU_BILLING_ACT WHERE STUDENT_ID=ssm.STUDENT_ID AND {$credits_cond}),0) -\n\t\t\t\tCOALESCE((SELECT sum(AMOUNT) FROM {$debits_table} WHERE STUDENT_ID=ssm.STUDENT_ID),0) " . FROM_DUAL . ")\n\t\t\t\t != '0' "; } if ($_REQUEST[sch]) { $sql .= "AND ssm.SCHOOL='{$_REQUEST['sch']}' "; } if ($_REQUEST[grade]) {
$RET = DBGet(DBQuery("SELECT sju.STUDENT_ID, CONCAT(s.LAST_NAME,', ',s.FIRST_NAME) AS FULL_NAME,se.SCHOOL_ID FROM students s,students_join_users sju, student_enrollment se WHERE s.STUDENT_ID=sju.STUDENT_ID AND sju.STAFF_ID='" . User('STAFF_ID') . "' AND se.SYEAR=" . UserSyear() . " AND se.STUDENT_ID=sju.STUDENT_ID AND (('" . DBDate() . "' BETWEEN se.START_DATE AND se.END_DATE OR se.END_DATE IS NULL) AND '" . DBDate() . "'>=se.START_DATE)")); if (!UserStudentID()) { $_SESSION['student_id'] = $RET[1]['STUDENT_ID']; } echo "<SELECT name=student_id onChange='document.forms[0].submit();'>"; if (count($RET)) { foreach ($RET as $student) { echo "<OPTION value={$student['STUDENT_ID']}" . (UserStudentID() == $student['STUDENT_ID'] ? ' SELECTED' : '') . ">" . $student['FULL_NAME'] . "</OPTION>"; if (UserStudentID() == $student['STUDENT_ID']) { $_SESSION['UserSchool'] = $student['SCHOOL_ID']; } } } echo "</SELECT><BR>"; if (!UserMP()) { $_SESSION['UserMP'] = GetCurrentMP('QTR', DBDate()); } } if (User('PROFILE') == 'teacher') { /* //if(UserMP()) // $QI = DBQuery("SELECT DISTINCT cp.PERIOD_ID,cp.COURSE_PERIOD_ID,sp.TITLE,sp.SHORT_NAME,cp.MARKING_PERIOD_ID,cp.DAYS,cp.SCHOOL_ID,sp.SORT_ORDER,c.TITLE AS COURSE_TITLE FROM course_periods cp, school_periods sp,courses c WHERE c.COURSE_ID=cp.COURSE_ID AND cp.PERIOD_ID=sp.PERIOD_ID AND cp.SYEAR='".UserSyear()."' AND cp.TEACHER_ID='".User('STAFF_ID')."' AND cp.MARKING_PERIOD_ID IN (".GetAllMP('QTR',UserMP()).") ORDER BY sp.SORT_ORDER "); //else $QI = DBQuery("SELECT DISTINCT cp.PERIOD_ID,cp.COURSE_PERIOD_ID,sp.TITLE,sp.SHORT_NAME,cp.MARKING_PERIOD_ID,cp.DAYS,cp.SCHOOL_ID,sp.SORT_ORDER,c.TITLE AS COURSE_TITLE FROM course_periods cp, school_periods sp,courses c WHERE c.COURSE_ID=cp.COURSE_ID AND cp.PERIOD_ID=sp.PERIOD_ID AND cp.SYEAR='".UserSyear()."' AND cp.TEACHER_ID='".User('STAFF_ID')."' ORDER BY sp.SORT_ORDER"); $RET = DBGet($QI); // get the fy marking period id's, there should be exactly one fy marking period per school $fy_RET = DBGet(DBQuery("SELECT MARKING_PERIOD_ID,SCHOOL_ID FROM school_years WHERE SYEAR='".UserSyear()."'"),array(),array('SCHOOL_ID')); // only need quarters and semesters since years are suppressed and progress_periods aren't used $mp_RET = DBGet(DBQuery("SELECT MARKING_PERIOD_ID,TITLE,SHORT_NAME FROM school_quarters WHERE SYEAR='".UserSyear()."' UNION SELECT MARKING_PERIOD_ID,TITLE,SHORT_NAME FROM school_semesters WHERE SYEAR='".UserSyear()."'"),array(),array('MARKING_PERIOD_ID'));
(select CONCAT(LAST_NAME,' ',FIRST_NAME,' ',MIDDLE_NAME,' ') from staff where staff_id=course_periods.teacher_id) as teacher, room as location,days,course_period_id,course_id from course_periods where school_id='".UserSchool()."' and syear='".UserSyear()."' ".$where." order by subject,COURSE_TITLE"; $ret = DBGet(DBQuery($sql)); * */ $sql_subject = 'SELECT SUBJECT_ID,TITLE FROM course_subjects WHERE SCHOOL_ID=' . UserSchool() . ' AND SYEAR= ' . UserSyear(); $sql_subject_ret = DBGet(DBQuery($sql_subject)); if (count($sql_subject_ret)) { foreach ($sql_subject_ret as $subject) { echo "<table width=100% 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;\">All Courses</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;\"> </td></tr></table>"; echo '<table border="0" width="100%" align="center"><tr><td><font face=verdana size=-1><b>' . $subject['TITLE'] . '</b></font></td></tr><tr>'; $sql_course = 'SELECT COURSE_ID,TITLE FROM courses WHERE SCHOOL_ID=' . UserSchool() . ' AND SYEAR= ' . UserSyear() . ' AND SUBJECT_ID=' . $subject['SUBJECT_ID']; $sql_course_ret = DBGet(DBQuery($sql_course)); foreach ($sql_course_ret as $course) { echo '<table border="0"><tr><td style=padding-left:40px;><font face=verdana size=-1><b>' . $course['TITLE'] . '</b></font></td></tr></table>'; $sql_course_period = 'SELECT TITLE FROM course_periods WHERE SCHOOL_ID=' . UserSchool() . ' AND SYEAR= ' . UserSyear() . ' AND COURSE_ID=' . $course['COURSE_ID']; $sql_course_period_ret = DBGet(DBQuery($sql_course_period)); foreach ($sql_course_period_ret as $course_period) { echo '<table border="0" width="100%"><tr><td style=padding-left:80px;><font face=verdana size=-1><b>' . $course_period['TITLE'] . '</b></font></td></tr></table>'; } } echo '</tr><tr><td colspan="2" valign="top" align="right">'; echo '</td></tr></table>';
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']); }
$columns = array('TITLE' => 'Course'); if (count($cal_RET)) { foreach ($cal_RET as $value) { $columns[$value['SHORT_DATE']] = ShortDate($value['SCHOOL_DATE']); } } ListOutput($student_RET, $columns, 'Course', 'Courses'); echo '</div>'; } else { if (!$_REQUEST['period_id']) { $sql = 'SELECT ad.STATE_VALUE,ad.STUDENT_ID,SCHOOL_DATE,CONCAT(\'_\',DATE_FORMAT(ad.SCHOOL_DATE,\'%y%b%d\')) AS SHORT_DATE FROM attendance_day ad,student_enrollment ssm WHERE ad.STUDENT_ID=ssm.STUDENT_ID AND ((\'' . DBDate() . '\' BETWEEN ssm.START_DATE AND ssm.END_DATE OR ssm.END_DATE IS NULL) AND \'' . DBDate() . '\'>=ssm.START_DATE) AND ssm.SCHOOL_ID=\'' . UserSchool() . '\' AND SCHOOL_DATE BETWEEN \'' . date('Y-m-d', strtotime($start_date)) . '\' AND \'' . date('Y-m-d', strtotime($end_date)) . '\''; $RET = DBGet(DBQuery($sql), array(), array('STUDENT_ID', 'SHORT_DATE')); } else { $sql = 'SELECT ap.ATTENDANCE_CODE,ap.STUDENT_ID,ap.SCHOOL_DATE,CONCAT(\'_\',DATE_FORMAT(ap.SCHOOL_DATE,\'%y%b%d\')) AS SHORT_DATE FROM attendance_period ap,student_enrollment ssm,students s WHERE s.STUDENT_ID=ssm.STUDENT_ID AND ap.STUDENT_ID=ssm.STUDENT_ID AND ap.SCHOOL_DATE BETWEEN \'' . date('Y-m-d', strtotime($start_date)) . '\' AND \'' . date('Y-m-d', strtotime($end_date)) . '\''; if ($_REQUEST['include_inactive'] != 'Y') { $sql .= ' AND ((\'' . DBDate() . '\' BETWEEN ssm.START_DATE AND ssm.END_DATE OR ssm.END_DATE IS NULL) AND \'' . DBDate() . '\'>=ssm.START_DATE) '; } if ($_REQUEST['_search_all_schools'] != 'Y') { $sql .= ' AND ssm.SCHOOL_ID=\'' . UserSchool() . '\' '; } $sql = appendSQL($sql, $tmp_extra = array('NoSearchTerms' => true)); // extra must be lvalue $RET = DBGet(DBQuery($sql), array(), array('STUDENT_ID', 'SHORT_DATE')); } if (count($cal_RET)) { foreach ($cal_RET as $value) { $extra['SELECT'] .= ',\'\' as _' . str_replace('-', '', $value['SCHOOL_DATE']); $extra['columns_after']['_' . str_replace('-', '', $value['SCHOOL_DATE'])] = ShortDate($value['SCHOOL_DATE']); $extra['functions']['_' . str_replace('-', '', $value['SCHOOL_DATE'])] = '_makeColor'; $extra['link']['FULL_NAME']['link'] = "Modules.php?modname={$_REQUEST['next_modname']}&day_start={$_REQUEST['day_start']}&day_end={$_REQUEST['day_end']}&month_start={$_REQUEST['month_start']}&month_end={$_REQUEST['month_end']}&year_start={$_REQUEST['year_start']}&year_end={$_REQUEST['year_end']}&period_id={$_REQUEST['period_id']}"; $extra['link']['FULL_NAME']['variables'] = array('student_id' => 'STUDENT_ID');
# This program is released under the terms of the GNU General Public License as # published by the Free Software Foundation, version 2 of the License. # See license.txt. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # #*************************************************************************************** include '../../Redirect_modules.php'; DrawBC("" . _('Attendance') . " > " . ProgramTitle()); $message = '<TABLE><TR><TD colspan=7 align=center>' . _('From') . ' ' . PrepareDate(DBDate(), '_min') . ' ' . _('to') . ' ' . PrepareDate(DBDate(), '_max') . '</TD></TR></TABLE>'; if (Prompt_Home(_('Confirm'), _('When do you want to recalculate the daily attendance?'), $message)) { $current_RET = DBGet(DBQuery('SELECT DISTINCT DATE_FORMAT(SCHOOL_DATE,\'%d-%m-%Y\') as SCHOOL_DATE FROM attendance_calendar WHERE SCHOOL_ID=\'' . UserSchool() . '\' AND SYEAR=\'' . UserSyear() . '\''), array(), array('SCHOOL_DATE')); $students_RET = GetStuList(); $begin = mktime(0, 0, 0, MonthNWSwitch($_REQUEST['month_min'], 'to_num'), $_REQUEST['day_min'] * 1, $_REQUEST['year_min']) + 43200; $end = mktime(0, 0, 0, MonthNWSwitch($_REQUEST['month_max'], 'to_num'), $_REQUEST['day_max'] * 1, $_REQUEST['year_max']) + 43200; for ($i = $begin; $i <= $end; $i += 86400) { if ($current_RET[strtoupper(date('d-M-y', $i))]) { foreach ($students_RET as $student) { UpdateAttendanceDaily($student['STUDENT_ID'], date('d-M-y', $i)); } } } unset($_REQUEST['modfunc']); DrawHeader('<table><tr><td><IMG SRC=assets/check.gif></td><td>' . _('The Daily Attendance for that timeframe has been recalculated.') . '</td></tr></table>'); }
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']); }
# published by the Free Software Foundation, version 2 of the License. # See license.txt. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # #*************************************************************************************** include '../../RedirectModulesInc.php'; if (!$_REQUEST['modfunc']) { $start_date = date('Y-m') . '-01'; $end_date = DBDate('mysql'); echo "<br><FORM name=log id=log action=Modules.php?modname={$_REQUEST['modname']}&modfunc=generate method=POST>"; PopTable('header', 'Log Details'); echo '<div align=center style="padding-top:20px; font-size:12px;"><strong>Please Select Date Range</strong></div><br /> <TABLE border=0 width=100% align=center><tr><TD valign=middle>'; echo '<strong>From :</strong> </TD><TD valign=middle>'; DrawHeader(DateInputAY($start_date, 'start', 1)); echo '</TD><TD valign=middle><strong>To :</strong> </TD><TD valign=middle>'; DrawHeader(DateInputAY($end_date, 'end', 2)); echo '</TD></TR></TABLE><div style=height:10px></div>'; echo '<center><input type="submit" class=btn_medium value="Generate" name="generate"></center>'; PopTable('footer'); echo '</FORM>'; } if ($_REQUEST['day_start'] && $_REQUEST['month_start'] && $_REQUEST['year_start']) { $start_date = $_REQUEST['day_start'] . '-' . $_REQUEST['month_start'] . '-' . substr($_REQUEST['year_start'], 2, 4);
//modif Francois: Moodle integrator echo $moodleError; if ($_REQUEST['search_modfunc'] == 'list') { echo '<FORM action="Modules.php?modname=' . $_REQUEST['modname'] . '&modfunc=save" method="POST">'; DrawHeader('', SubmitButton(_('Drop Course for Selected Students'))); //modif Francois: css WPadmin echo '<BR /><TABLE class="postbox cellpadding-0 cellspacing-0" style="margin:0 auto;"><TR><TH><H3>' . _('Course to Drop') . '</H3></TH></TR><TR><TD><TABLE style="border-collapse:separate; border-spacing:4px;"><TR><TD> </TD><TD><DIV id=course_div>'; if ($_SESSION['MassDrops.php']) { $course_title = DBGet(DBQuery("SELECT TITLE FROM COURSES WHERE COURSE_ID='" . $_SESSION['MassDrops.php']['course_id'] . "'")); $course_title = $course_title[1]['TITLE']; $period_title = DBGet(DBQuery("SELECT TITLE FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='" . $_SESSION['MassDrops.php']['course_period_id'] . "'")); $period_title = $period_title[1]['TITLE']; echo "{$course_title}<BR />{$period_title}"; } echo '</DIV>' . '<A HREF="#" onclick=\'window.open("Modules.php?modname=' . $_REQUEST['modname'] . '&modfunc=choose_course","","scrollbars=yes,resizable=yes,width=800,height=400");\'>' . _('Choose a Course') . '</A></TD></TR>'; echo '<TR><TD>' . _('Drop Date') . '</TD><TD>' . PrepareDate(DBDate(), '') . '</TD></TR>'; echo '<TR><TD>' . _('Marking Period') . '</TD><TD>'; echo '<SELECT name=marking_period_id>'; $mp_RET = DBGet(DBQuery("SELECT MARKING_PERIOD_ID,TITLE," . db_case(array('MP', "'FY'", "'0'", "'SEM'", "'1'", "'QTR'", "'2'")) . " AS TBL FROM SCHOOL_MARKING_PERIODS WHERE (MP='FY' OR MP='SEM' OR MP='QTR') AND SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "' ORDER BY TBL,SORT_ORDER")); foreach ($mp_RET as $mp) { echo '<OPTION value="' . $mp['MARKING_PERIOD_ID'] . '">' . $mp['TITLE'] . '</OPTION>'; } echo '</SELECT>'; echo '</TD></TR>'; echo '</TABLE></TD></TR></TABLE><BR />'; } } if (empty($_REQUEST['modfunc'])) { if ($_REQUEST['search_modfunc'] != 'list') { unset($_SESSION['MassDrops.php']); }
function reminder($staff, $school, $target, $last_deposit, $note) { $payment = $target - $staff['BALANCE']; if ($payment < 0) { return; } $payment = number_format($payment, 2); echo '<TABLE width=100%>'; echo '<TR><TD colspan=3 align=center><FONT size=+1><I><B>' . _('Payment Reminder') . '</B></I></FONT></TD></TR>'; echo '<TR><TD colspan=3 align=center><B>' . $school . '</B></TD></TR>'; echo '<TR><TD width=33%>'; echo $staff['FIRST_NAME'] . ' ' . $staff['MIDDLE_NAME'] . ' ' . $staff['LAST_NAME'] . '<BR>'; echo '<small>' . $staff['STAFF_ID'] . '</small>'; echo '</TD><TD width=33%>'; echo ' <BR>'; echo '<small> </small>'; echo '</TD><TD width=33%>'; echo ' <BR>'; echo '<small> </small>'; echo '</TD></TR>'; echo '<TR><TD width=33%>'; echo ProperDate(DBDate()) . '<BR>'; echo '<small>' . _('Today\'s Date') . '</small>'; echo '</TD><TD width=34%>'; echo ($last_deposit ? $last_deposit['DATE'] : _('None')) . '<BR>'; echo '<small>' . _('Date of Last Deposit') . '</small>'; echo '</TD><TD width=33%>'; echo ($last_deposit ? $last_deposit['AMOUNT'] : _('None')) . '<BR>'; echo '<small>' . _('Amount of Last Deposit') . '</small>'; echo '</TD></TR>'; echo '<TR><TD width=33%>'; echo ($staff['BALANCE'] < 0 ? '<B>' . $staff['BALANCE'] . '</B>' : $staff['BALANCE']) . '<BR>'; echo '<small>' . _('Balance') . '</small>'; echo '</TD><TD width=33%>'; echo '<B>' . $payment . '</B><BR>'; echo '<small><B>' . _('Mimimum Payment') . '</B></small>'; echo '</TD><TD width=33%>'; echo ucfirst($staff['PROFILE']) . '<BR>'; echo '<small>' . _('Profile') . '</small>'; echo '</TD></TR>'; $note = str_replace('%F', $staff['FIRST_NAME'], $note); $note = str_replace('%P', money_format('%i', $payment), $note); $note = str_replace('%T', $target, $note); echo '<TR><TD colspan=3>'; echo '<BR>' . $note . '<BR>'; echo '</TD></TR>'; echo '<TR><TD colspan=3><BR><BR><HR><BR><BR></TD></TR></TABLE>'; }
//// $extra['functions']['TEACHER'] = '_makeTeacher'; // $extra['group'] = array('STUDENT_ID'); // //$extra['group'] = array('STUDENT_ID','COURSE_PERIOD_ID'); // $RET = GetStuList($extra); // print_r($RET); $RET = DBGet(DBQuery("SELECT DISTINCT s.STUDENT_ID, CONCAT(s.LAST_NAME,', ',coalesce(s.COMMON_NAME,s.FIRST_NAME)) AS FULL_NAME FROM students s,student_standards ss, report_card_grades rcg, course_periods cp\r\n WHERE ss.GRADE_ID=rcg.ID AND cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID AND s.STUDENT_ID=ss.STUDENT_ID\r\n AND s.STUDENT_ID IN ({$st_list})\r\n ")); if (count($RET)) { $grade_RET = DBGet(DBQuery("SELECT TITLE, COMMENT FROM report_card_grades WHERE SCHOOL_ID=" . UserSchool() . " AND SYEAR=" . UserSyear())); $handle = PDFStart(); foreach ($RET as $student) { /*echo "SELECT DISTINCT cp.COURSE_PERIOD_ID AS CP_ID, cp.TITLE AS CP_TITLE, cp.MARKING_PERIOD_ID, CONCAT(st.TITLE, ' ', st.LAST_NAME, ' ',st.FIRST_NAME) AS TEACHER FROM STUDENTS s,STUDENT_STANDARDS ss, REPORT_CARD_GRADES rcg, COURSE_PERIODS cp, MARKING_PERIODS mp, STAFF st WHERE ss.GRADE_ID=rcg.ID AND cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID AND s.STUDENT_ID=ss.STUDENT_ID AND cp.MARKING_PERIOD_ID=mp.MARKING_PERIOD_ID AND cp.TEACHER_ID=st.STAFF_ID AND s.STUDENT_ID=$student[STUDENT_ID]";*/ $periods = DBGet(DBQuery("SELECT DISTINCT cp.COURSE_PERIOD_ID AS CP_ID, cp.TITLE AS CP_TITLE, cp.MARKING_PERIOD_ID, CONCAT(st.TITLE, ' ', st.LAST_NAME, ' ',st.FIRST_NAME) AS TEACHER FROM students s,student_standards ss, report_card_grades rcg, course_periods cp, marking_periods mp, staff st\r\n WHERE ss.GRADE_ID=rcg.ID AND cp.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID AND s.STUDENT_ID=ss.STUDENT_ID AND cp.MARKING_PERIOD_ID=mp.MARKING_PERIOD_ID AND cp.TEACHER_ID=st.STAFF_ID\r\n AND s.STUDENT_ID={$student['STUDENT_ID']}")); echo "<table width=100% style=\" font-family:Arial; font-size:12px;\" >"; echo "<tr><td style=\"font-size:15px; font-weight:bold; padding-top:20px;\">" . GetSchool(UserSchool()) . "<div style=\"font-size:12px;\">Elementary Grades " . GetMp(UserMp()) . "</div><div style=\"font-size:12px;\">Student: " . $student[FULL_NAME] . " ( " . $student[STUDENT_ID] . " )</div></td><td align=right style=\"padding-top:20px;\">" . ProperDate(DBDate()) . "<br />Powered by openSIS</td></tr><tr><td colspan=2 style=\"border-top:1px solid #333;\"> </td></tr></table>"; echo "<table >"; echo '<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0" class="course_period_tbl">'; echo '<TR><TH align="left">Attendance</TH>'; $mp_RET = DBGet(DBQuery("SELECT DISTINCT mp.TITLE, mp.MARKING_PERIOD_ID FROM marking_periods mp, course_periods cp, attendance_period ap\r\n WHERE mp.MARKING_PERIOD_ID=cp.MARKING_PERIOD_ID\r\n AND cp.SCHOOL_ID=" . UserSchool() . " AND cp.SYEAR=" . UserSyear() . "\r\n AND cp.COURSE_PERIOD_ID=ap.COURSE_PERIOD_ID AND ap.STUDENT_ID={$student['STUDENT_ID']}")); $mp_name = DBGet(DBQuery("SELECT DISTINCT mp.SHORT_NAME,mp.MARKING_PERIOD_ID FROM marking_periods mp WHERE mp.SCHOOL_ID=" . UserSchool() . " AND mp.SYEAR=" . UserSyear() . "")); foreach ($mp_name as $mp1) { echo '<TH align="center" width="60px">' . $mp1[SHORT_NAME] . '</TH>'; } echo '</TR>'; $atteadance_code_RET = DBGet(DBQuery("SELECT ID, TITLE FROM attendance_codes WHERE SCHOOL_ID=" . UserSchool() . " AND SYEAR=" . UserSyear() . " ORDER BY SORT_ORDER, TITLE")); foreach ($atteadance_code_RET as $ac) { echo '<TR>'; echo '<TD class="course_period">' . $ac[TITLE] . '</TD>'; //echo '<TD class="course_period"></TD>'; //echo '<TD class="course_period"></TD>';
$RET = GetStuList($extra); if (count($RET)) { include 'modules/Students/includes/functions.php'; //------------Comment Heading ----------------------------------------------------- //$categories_RET = DBGet(DBQuery("SELECT ID,TITLE,INCLUDE FROM STUDENT_FIELD_CATEGORIES ORDER BY SORT_ORDER,TITLE"),array(),array('ID')); // get the address and contacts custom fields, create the select lists and expand select and codeds options $address_categories_RET = DBGet(DBQuery("SELECT c.ID AS CATEGORY_ID,c.TITLE AS CATEGORY_TITLE,c.RESIDENCE,c.MAILING,c.BUS,f.ID,f.TITLE,f.TYPE,f.SELECT_OPTIONS,f.DEFAULT_SELECTION,f.REQUIRED FROM ADDRESS_FIELD_CATEGORIES c,ADDRESS_FIELDS f WHERE f.CATEGORY_ID=c.ID ORDER BY c.SORT_ORDER,c.TITLE,f.SORT_ORDER,f.TITLE"), array(), array('CATEGORY_ID')); $people_categories_RET = DBGet(DBQuery("SELECT c.ID AS CATEGORY_ID,c.TITLE AS CATEGORY_TITLE,c.CUSTODY,c.EMERGENCY,f.ID,f.TITLE,f.TYPE,f.SELECT_OPTIONS,f.DEFAULT_SELECTION,f.REQUIRED FROM PEOPLE_FIELD_CATEGORIES c,PEOPLE_FIELDS f WHERE f.CATEGORY_ID=c.ID ORDER BY c.SORT_ORDER,c.TITLE,f.SORT_ORDER,f.TITLE"), array(), array('CATEGORY_ID')); explodeCustom($address_categories_RET, $address_custom, 'a'); explodeCustom($people_categories_RET, $people_custom, 'p'); unset($_REQUEST['modfunc']); $handle = PDFStart(); foreach ($RET as $student) { $_SESSION['student_id'] = $student['STUDENT_ID']; echo "<table width=100% style=\" font-family:Arial; font-size:12px;\" >"; echo "<tr><td style=\"font-size:15px; font-weight:bold; padding-top:20px;\">" . GetSchool(UserSchool()) . "<div style=\"font-size:12px;\">Student Information Report</div></td><td align=right style=\"padding-top:20px;\">" . ProperDate(DBDate()) . "<br />Powered by openSIS</td></tr><tr><td colspan=2 style=\"border-top:1px solid #333;\"> </td></tr></table>"; echo "<table cellspacing=0 border=\"0\" style=\"border-collapse:collapse\">"; echo "<tr><td colspan=3 style=\"height:18px\"></td></tr>"; if ($StudentPicturesPath && (($file = @fopen($picture_path = $StudentPicturesPath . UserSyear() . '/' . UserStudentID() . '.JPG', 'r')) || ($file = @fopen($picture_path = $StudentPicturesPath . (UserSyear() - 1) . '/' . UserStudentID() . '.JPG', 'r')))) { echo '<tr><td width=300><IMG SRC="' . $picture_path . '?id=' . rand(6, 100000) . '" width=150 style="padding:4px; background-color:#fff; border:1px solid #333" ></td><td width=12px></td>'; } else { echo '<tr><td width=300><IMG SRC="assets/noimage.jpg?id=' . rand(6, 100000) . '" width=144 style="padding:4px; background-color:#fff; border:1px solid #333"></td><td width=12px></td>'; } fclose($file); #$sql=DBGet(DBQuery("SELECT s.CUSTOM_200000000 AS GENDER, s.CUSTOM_200000001 AS ETHNICITY, s.CUSTOM_200000002 AS COMMON_NAME, s.CUSTOM_200000003 AS SOCIAL_SEC_NO, s.CUSTOM_200000004 AS BIRTHDAY, s.CUSTOM_200000005 AS LANGUAGE, s.CUSTOM_200000006 AS PHYSICIAN_NAME, s.CUSTOM_200000007 AS PHYSICIAN_PHONO,s.custom_200000008 AS HOSPITAL,se.START_DATE AS START_DATE,sec.TITLE AS STATUS, se.NEXT_SCHOOL AS ROLLING FROM STUDENTS s, STUDENT_ENROLLMENT se,STUDENT_ENROLLMENT_CODES sec WHERE s.STUDENT_ID='".$_SESSION['student_id']."' AND s.STUDENT_ID=se.STUDENT_ID AND se.SYEAR=sec.SYEAR")); # ---------------- Sql Including Comment ------------------------------- # #$sql=DBGet(DBQuery("SELECT s.CUSTOM_200000000 AS GENDER, s.CUSTOM_200000001 AS ETHNICITY, s.CUSTOM_200000002 AS COMMON_NAME, s.CUSTOM_200000003 AS SOCIAL_SEC_NO, s.CUSTOM_200000004 AS BIRTHDAY, s.CUSTOM_200000005 AS LANGUAGE, s.CUSTOM_200000006 AS PHYSICIAN_NAME, s.CUSTOM_200000007 AS PHYSICIAN_PHONO,s.custom_200000008 AS HOSPITAL,se.START_DATE AS START_DATE,sec.TITLE AS STATUS, se.NEXT_SCHOOL AS ROLLING, smc.comment AS COMMENT FROM STUDENTS s, STUDENT_ENROLLMENT se,STUDENT_ENROLLMENT_CODES sec, STUDENT_MP_COMMENTS smc WHERE s.STUDENT_ID='".$_SESSION['student_id']."' AND s.STUDENT_ID=se.STUDENT_ID AND s.STUDENT_ID=smc.STUDENT_ID AND se.SYEAR=sec.SYEAR")); #$sql=DBGet(DBQuery("SELECT s.CUSTOM_200000000 AS GENDER, s.CUSTOM_200000001 AS ETHNICITY, s.CUSTOM_200000002 AS COMMON_NAME, s.CUSTOM_200000003 AS SOCIAL_SEC_NO, s.CUSTOM_200000004 AS BIRTHDAY, s.CUSTOM_200000005 AS LANGUAGE, s.CUSTOM_200000006 AS PHYSICIAN_NAME, s.CUSTOM_200000007 AS PHYSICIAN_PHONO,s.custom_200000008 AS HOSPITAL,s.custom_200000009 AS MCOMNT,s.custom_200000011 AS DNOTE,se.START_DATE AS START_DATE,sec.TITLE AS STATUS, se.NEXT_SCHOOL AS ROLLING, smc.comment AS COMMENT FROM STUDENTS s, STUDENT_ENROLLMENT se,STUDENT_ENROLLMENT_CODES sec, STUDENT_MP_COMMENTS smc WHERE s.STUDENT_ID='".$_SESSION['student_id']."' AND s.STUDENT_ID=se.STUDENT_ID AND s.STUDENT_ID=smc.STUDENT_ID AND se.SYEAR=sec.SYEAR")); $sql = DBGet(DBQuery("SELECT s.gender AS GENDER, s.ethnicity AS ETHNICITY, s.common_name AS COMMON_NAME, s.social_security AS SOCIAL_SEC_NO, s.birthdate AS BIRTHDAY, s.email AS EMAIL, s.phone AS PHONE, s.language AS LANGUAGE, s.physician AS PHYSICIAN_NAME, s.physician_phone AS PHYSICIAN_PHONO,s.preferred_hospital AS HOSPITAL,se.START_DATE AS START_DATE,sec.TITLE AS STATUS, se.NEXT_SCHOOL AS ROLLING FROM STUDENTS s, STUDENT_ENROLLMENT se,STUDENT_ENROLLMENT_CODES sec WHERE s.STUDENT_ID='" . $_SESSION['student_id'] . "' AND s.STUDENT_ID=se.STUDENT_ID AND se.SYEAR=sec.SYEAR")); $sql = $sql[1]; $medical_note = DBGet(DBQuery("SELECT doctors_note_date AS MCOMNT,doctors_note_comments AS DNOTE FROM STUDENT_MEDICAL_NOTES WHERE STUDENT_ID='" . $_SESSION['student_id'] . "' "));
function UpdateAttendanceDaily($student_id, $date = '', $comment = false) { if (!$date) { $date = DBDate(); } $current_mp = GetCurrentMP('QTR', $date); $MP_TYPE = 'QTR'; if (!$current_mp) { $current_mp = GetCurrentMP('SEM', $date); $MP_TYPE = 'SEM'; } if (!$current_mp) { $current_mp = GetCurrentMP('FY', $date); $MP_TYPE = 'FY'; } $sql = 'SELECT SUM(sp.LENGTH) AS TOTAL FROM schedule s,course_periods cp,course_period_var cpv,school_periods sp,attendance_calendar ac WHERE s.COURSE_PERIOD_ID = cp.COURSE_PERIOD_ID AND cpv.DOES_ATTENDANCE=\'Y\' AND ac.SCHOOL_DATE=\'' . $date . '\' AND (ac.BLOCK=sp.BLOCK OR sp.BLOCK IS NULL) AND cp.COURSE_PERIOD_ID=cpv.COURSE_PERIOD_ID AND ac.CALENDAR_ID=cp.CALENDAR_ID AND ac.SCHOOL_ID=s.SCHOOL_ID AND ac.SYEAR=s.SYEAR AND s.SYEAR = cp.SYEAR AND sp.PERIOD_ID = cpv.PERIOD_ID AND position(substring(\'UMTWHFS\' FROM DAYOFWEEK(\'' . $date . '\') FOR 1) IN cpv.DAYS)>0 AND s.STUDENT_ID=\'' . $student_id . '\' AND s.SYEAR=\'' . UserSyear() . '\' AND (\'' . $date . '\' BETWEEN s.START_DATE AND s.END_DATE OR (s.END_DATE IS NULL AND \'' . $date . '\'>=s.START_DATE)) AND s.MARKING_PERIOD_ID IN (' . GetAllMP($MP_TYPE, $current_mp) . ') '; $RET = DBGet(DBQuery($sql)); $total = $RET[1]['TOTAL']; if ($total == 0) { return; } $current_RET = DBGet(DBQuery('SELECT MINUTES_PRESENT,STATE_VALUE,COMMENT FROM attendance_day WHERE STUDENT_ID=' . $student_id . ' AND SCHOOL_DATE=\'' . $date . '\'')); $total = $current_RET['MINUTES_PRESENT']; $sql = 'SELECT SUM(sp.LENGTH) AS TOTAL FROM attendance_period ap,school_periods sp,attendance_codes ac WHERE ap.STUDENT_ID=\'' . $student_id . '\' AND ap.SCHOOL_DATE=\'' . $date . '\' AND ap.PERIOD_ID=sp.PERIOD_ID AND ac.ID = ap.ATTENDANCE_CODE AND ac.STATE_CODE=\'P\' AND sp.SYEAR=\'' . UserSyear() . '\''; $RET = DBGet(DBQuery($sql)); $total += $RET[1]['TOTAL']; $sql = 'SELECT SUM(sp.LENGTH) AS TOTAL FROM attendance_period ap,school_periods sp,attendance_codes ac WHERE ap.STUDENT_ID=\'' . $student_id . '\' AND ap.SCHOOL_DATE=\'' . $date . '\' AND ap.PERIOD_ID=sp.PERIOD_ID AND ac.ID = ap.ATTENDANCE_CODE AND ac.STATE_CODE=\'H\' AND sp.SYEAR=\'' . UserSyear() . '\''; $RET = DBGet(DBQuery($sql)); $total += $RET[1]['TOTAL'] * 0.5; if (stripos($_SERVER['SERVER_SOFTWARE'], 'linux')) { $comment = str_replace("'", "\\'", $comment); } $sys_pref = DBGet(DBQuery('SELECT * FROM system_preference WHERE SCHOOL_ID=' . UserSchool())); $fdm = $sys_pref[1]['FULL_DAY_MINUTE']; $hdm = $sys_pref[1]['HALF_DAY_MINUTE']; if ($total >= $fdm) { $length = '1.0'; } elseif ($total >= $hdm) { $length = '.5'; } else { $length = '0.0'; } $current_RET = DBGet(DBQuery('SELECT MINUTES_PRESENT,STATE_VALUE,COMMENT FROM attendance_day WHERE STUDENT_ID=\'' . $student_id . '\' AND SCHOOL_DATE=\'' . $date . '\'')); if (count($current_RET) && $current_RET[1]['MINUTES_PRESENT'] == $total && $length != $current_RET[1]['STATE_VALUE']) { DBQuery('UPDATE attendance_day SET STATE_VALUE=\'' . $length . '\' WHERE STUDENT_ID=\'' . $student_id . '\' AND SCHOOL_DATE=\'' . $date . '\''); } if (count($current_RET) && $current_RET[1]['MINUTES_PRESENT'] != $total) { DBQuery('UPDATE attendance_day SET MINUTES_PRESENT=\'' . $total . '\',STATE_VALUE=\'' . $length . '\'' . ($comment != false ? ',COMMENT=\'' . str_replace("", "", $comment) . '\'' : '') . ' WHERE STUDENT_ID=\'' . $student_id . '\' AND SCHOOL_DATE=\'' . $date . '\''); } elseif (count($current_RET) && $comment != false && $current_RET[1]['COMMENT'] != $comment) { DBQuery('UPDATE attendance_day SET COMMENT=\'' . str_replace("", "", $comment) . '\' WHERE STUDENT_ID=\'' . $student_id . '\' AND SCHOOL_DATE=\'' . $date . '\''); } elseif (count($current_RET) == 0) { $check_assoc = DBGet(DBQuery('SELECT COUNT(*) as REC_EX FROM attendance_period ap,course_periods cp WHERE ap.STUDENT_ID=' . $student_id . ' AND ap.SCHOOL_DATE=\'' . $date . '\' AND cp.COURSE_PERIOD_ID=ap.COURSE_PERIOD_ID AND cp.SCHOOL_ID=' . UserSchool() . ' AND cp.SYEAR=' . UserSyear())); if ($check_assoc[1]['REC_EX'] > 0) { DBQuery('INSERT INTO attendance_day (SYEAR,STUDENT_ID,SCHOOL_DATE,MINUTES_PRESENT,STATE_VALUE,MARKING_PERIOD_ID,COMMENT) values(\'' . UserSyear() . '\',\'' . $student_id . '\',\'' . $date . '\',\'' . $total . '\',\'' . $length . '\',\'' . $current_mp . '\',\'' . str_replace("", "", $comment) . '\')'); } } }
// ListOutput($stu_comment_ret,$stu_comment_columns,'','',false,false,array('search'=>false,'sort'=>false)); //////////////////////////////////////////////////////////////////////////////////////// if ($grade_status != 'closed' && $grade_status != 'not_set') { echo "<br><CENTER><INPUT class='btn_medium' type=submit value=Save onclick=formload_ajax('popform') > <INPUT class='btn_medium' type=button value=Close onclick='window.close()'></CENTER>"; } echo "</FORM>"; } } } else { echo "No standard found"; } // STUDENT standardS END $_openSIS['allow_edit'] = false; } else { /////////////////sg customization//////// $time = strtotime(DBDate('postgres')); $mps_select = "<SELECT name=mp onChange='this.form.submit();'>"; if ($pros != '') { foreach (explode(',', str_replace("'", '', $pros)) as $pro) { if ($_REQUEST['mp'] == $pro && GetMP($pro, 'POST_START_DATE') && ($time >= strtotime(GetMP($pro, 'POST_START_DATE')) && $time <= strtotime(GetMP($pro, 'POST_END_DATE')))) { $allow_edit = true; } if (GetMP($pro, 'DOES_GRADES') == 'Y') { $mps_select .= "<OPTION value=" . $pro . ($pro == $_REQUEST['mp'] ? ' SELECTED' : '') . ">" . GetMP($pro) . "</OPTION>"; } } } if ($_REQUEST['mp'] == UserMP() && GetMP(UserMP(), 'POST_START_DATE') && ($time >= strtotime(GetMP(UserMP(), 'POST_START_DATE')) && $time <= strtotime(GetMP(UserMP(), 'POST_END_DATE')))) { $allow_edit = true; } $mps_select .= "<OPTION value=" . UserMP() . (UserMP() == $_REQUEST['mp'] ? ' SELECTED' : '') . ">" . GetMP(UserMP()) . "</OPTION>";
} } } elseif (clean_param($_REQUEST['assignment_id'], PARAM_INT)) { $id = $_REQUEST['assignment_id']; $extra['SELECT'] .= ',\'' . $id . '\' AS POINTS,\'' . $id . '\' AS LETTER_GRADE,\'' . $id . '\' AS COMMENT,\'' . $assignments_RET[$id][1]['DUE'] . '\' AS DUE'; $extra['WHERE'] .= ' AND (((SELECT DUE_DATE FROM gradebook_assignments WHERE ASSIGNMENT_ID=\'' . $id . '\')>=ssm.START_DATE) OR ((SELECT DUE_DATE FROM gradebook_assignments WHERE ASSIGNMENT_ID=\'' . $id . '\') IS NULL))'; $extra['functions'] = array('POINTS' => '_makeExtraAssnCols', 'LETTER_GRADE' => '_makeExtraAssnCols', 'COMMENT' => '_makeExtraAssnCols'); $LO_columns += array('POINTS' => 'Points', 'LETTER_GRADE' => 'Grade', 'COMMENT' => 'Comment'); $total_points = DBGet(DBQuery('SELECT POINTS FROM gradebook_assignments WHERE ASSIGNMENT_ID=\'' . $id . '\'')); $total_points[$id] = $total_points[1]['POINTS']; $current_RET = DBGet(DBQuery('SELECT STUDENT_ID,POINTS,COMMENT,ASSIGNMENT_ID FROM gradebook_grades WHERE ASSIGNMENT_ID=\'' . $id . '\' AND COURSE_PERIOD_ID=\'' . $course_period_id . '\''), array(), array('STUDENT_ID', 'ASSIGNMENT_ID')); } else { if (count($assignments_RET)) { $_SESSION['ROUNDING'] = $programconfig[User('STAFF_ID')]['ROUNDING']; $extra['SELECT'] .= ',\'\' AS POINTS,\'\' AS LETTER_GRADE,\'\' AS COMMENT'; $extra['WHERE'] = ' AND \'' . DBDate('mysql') . '\'>=ssm.START_DATE'; $extra['functions'] = array('POINTS' => '_makeExtraAssnCols', 'LETTER_GRADE' => '_makeExtraAssnCols'); $LO_columns += array('POINTS' => 'Points', 'LETTER_GRADE' => 'Grade'); // this will get the grades for all students ever enrolled in the class // the "group by start_date" and "distinct on" are needed in case a student is enrolled more than once (re-enrolled) if ($programconfig[User('STAFF_ID')]['WEIGHT'] == 'Y') { $points_RET = DBGet(DBQuery('SELECT DISTINCT s.STUDENT_ID, gt.ASSIGNMENT_TYPE_ID, sum(' . db_case(array('gg.POINTS', "'-1'", "'0'", 'gg.POINTS')) . ') AS PARTIAL_POINTS, sum(' . db_case(array('gg.POINTS', '\'-1\' OR gg.POINTS IS NULL OR (ga.due_date < (select DISTINCT ssm.start_date from student_enrollment ssm where ssm.STUDENT_ID=s.STUDENT_ID AND ssm.SYEAR=\'' . UserSyear() . '\' AND ssm.SCHOOL_ID=' . UserSchool() . ' AND (ssm.START_DATE IS NOT NULL AND (CURRENT_DATE<=ssm.END_DATE OR CURRENT_DATE>=ssm.END_DATE OR ssm.END_DATE IS NULL)) order by ssm.start_date desc limit 1 ) ) ', "'0'", 'ga.POINTS')) . ') AS PARTIAL_TOTAL, gt.FINAL_GRADE_PERCENT FROM students s JOIN schedule ss ON (ss.STUDENT_ID=s.STUDENT_ID AND ss.COURSE_PERIOD_ID=\'' . $course_period_id . '\') JOIN gradebook_assignments ga ON ((ga.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID OR ga.COURSE_ID=\'' . $course_id . '\' AND ga.STAFF_ID=\'' . User('STAFF_ID') . '\') AND ga.MARKING_PERIOD_ID=\'' . UserMP() . '\') LEFT OUTER JOIN gradebook_grades gg ON (gg.STUDENT_ID=s.STUDENT_ID AND gg.ASSIGNMENT_ID=ga.ASSIGNMENT_ID AND gg.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID) ,gradebook_assignment_types gt WHERE gt.ASSIGNMENT_TYPE_ID=ga.ASSIGNMENT_TYPE_ID AND gt.COURSE_ID=\'' . $course_id . '\' AND ((ga.ASSIGNED_DATE IS NULL OR CURRENT_DATE>=ga.ASSIGNED_DATE) AND (ga.DUE_DATE IS NULL OR CURRENT_DATE>=ga.DUE_DATE) OR gg.POINTS IS NOT NULL) GROUP BY s.STUDENT_ID,ss.START_DATE,gt.ASSIGNMENT_TYPE_ID,gt.FINAL_GRADE_PERCENT'), array(), array('STUDENT_ID')); } else { $points_RET = DBGet(DBQuery('SELECT DISTINCT s.STUDENT_ID,\'-1\' AS ASSIGNMENT_TYPE_ID, sum(' . db_case(array('gg.POINTS', "'-1'", "'0'", 'gg.POINTS')) . ') AS PARTIAL_POINTS, sum(' . db_case(array('gg.POINTS', '\'-1\' OR gg.POINTS IS NULL OR (ga.due_date < (select DISTINCT ssm.start_date from student_enrollment ssm where ssm.STUDENT_ID=s.STUDENT_ID AND ssm.SYEAR=\'' . UserSyear() . '\' AND ssm.SCHOOL_ID=' . UserSchool() . ' AND (ssm.START_DATE IS NOT NULL AND (CURRENT_DATE<=ssm.END_DATE OR CURRENT_DATE>=ssm.END_DATE OR ssm.END_DATE IS NULL)) order by ssm.start_date desc limit 1) ) ', "'0'", 'ga.POINTS')) . ') AS PARTIAL_TOTAL,\'1\' AS FINAL_GRADE_PERCENT FROM students s JOIN schedule ss ON (ss.STUDENT_ID=s.STUDENT_ID AND ss.COURSE_PERIOD_ID=\'' . $course_period_id . '\') JOIN gradebook_assignments ga ON ((ga.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID OR ga.COURSE_ID=\'' . $course_id . '\' AND ga.STAFF_ID=\'' . User('STAFF_ID') . '\') AND ga.MARKING_PERIOD_ID=\'' . UserMP() . '\') LEFT OUTER JOIN gradebook_grades gg ON (gg.STUDENT_ID=s.STUDENT_ID AND gg.ASSIGNMENT_ID=ga.ASSIGNMENT_ID AND gg.COURSE_PERIOD_ID=ss.COURSE_PERIOD_ID)
# See license.txt. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # #*************************************************************************************** include '../../Redirect_modules.php'; if ($_REQUEST['month_date'] && $_REQUEST['day_date'] && $_REQUEST['year_date']) { $date = $_REQUEST['day_date'] . '-' . $_REQUEST['month_date'] . '-' . $_REQUEST['year_date']; } else { $date = DBDate(); } $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')); if ($_REQUEST['attendance'] && ($_POST['attendance'] || $_REQUEST['ajax']) && AllowEdit()) { foreach ($_REQUEST['attendance'] as $student_id => $values) { foreach ($values as $period => $columns) { if ($current_RET[$student_id][$period]) { $sql = 'UPDATE attendance_period SET ADMIN=\'Y\','; foreach ($columns as $column => $value) { $sql .= $column . '=\'' . str_replace("\\'", "''", $value) . '\','; } $sql = substr($sql, 0, -1) . ' WHERE SCHOOL_DATE=\'' . $date . '\' AND COURSE_PERIOD_ID=\'' . $period . '\' AND STUDENT_ID=\'' . $student_id . '\''; DBQuery($sql); } else { $period_id = DBGet(DBQuery('SELECT PERIOD_ID FROM course_periods WHERE COURSE_PERIOD_ID=\'' . $period . '\'')); $period_id = $period_id[1]['PERIOD_ID'];
if (count($course_seats)) { foreach ($course_seats as $course_id => $count) { $courses_list[++$i] = array('COURSE' => _getCourse(substr($course_id, 0, strpos($course_id, '-'))) . substr($course_id, strpos($course_id, '-')), 'COUNT' => $count); } } ListOutput($courses_list, array('COURSE' => 'Course', 'COUNT' => '#'), 'Course with No Seats', 'Courses with No Seats', '', '', array('sort' => false, 'search' => false)); echo '</TD></TR></TABLE>'; } if (!$_SCHEDULER['dont_run']) { $connection = db_start(); db_trans_start($connection); unset($_SESSION['SCHEDULE']); if (count($insert)) { foreach ($insert as $student_id => $requests) { foreach ($requests as $request) { $sql = "INSERT INTO SCHEDULE (SYEAR,SCHOOL_ID,STUDENT_ID,START_DATE,MODIFIED_DATE,COURSE_ID,COURSE_WEIGHT,COURSE_PERIOD_ID,MP,MARKING_PERIOD_ID) values('" . UserSyear() . "','" . UserSchool() . "','" . $request['STUDENT_ID'] . "','" . DBDate() . "','" . DBDate() . "','" . $request['COURSE_ID'] . "','" . $request['COURSE_WEIGHT'] . "','" . $request['COURSE_PERIOD_ID'] . "','" . $request['MP'] . "','" . $request['MARKING_PERIOD_ID'] . "')"; db_trans_query($connection, $sql); } } } foreach ($periods_RET as $course_id => $weights) { foreach ($weights as $weight => $periods) { foreach ($periods as $course_period_id => $period) { $sql = "UPDATE COURSE_PERIODS SET FILLED_SEATS=COALESCE(TOTAL_SEATS,0)-'" . $period[1]['AVAILABLE_SEATS'] . "' WHERE COURSE_PERIOD_ID='{$course_period_id}'"; db_trans_query($connection, $sql); } } } db_trans_commit($connection); if (!$count) { $message = "<IMG SRC=assets/check.gif>All the requests were filled";
if ($_REQUEST['modfunc'] != 'choose_course') { DrawBC("Scheduling > " . ProgramTitle()); if ($_REQUEST['search_modfunc'] == 'list') { echo "<FORM name=sav id=sav action=Modules.php?modname={$_REQUEST['modname']}&modfunc=save method=POST>"; #DrawHeader('',SubmitButton('Add Course to Selected Students')); PopTable_wo_header('header'); echo '<TABLE><TR><TD>Course to Add</TD><TD><DIV id=course_div>'; if ($_SESSION['MassSchedule.php']) { $course_title = DBGet(DBQuery("SELECT TITLE FROM COURSES WHERE COURSE_ID='" . $_SESSION['MassSchedule.php']['course_id'] . "'")); $course_title = $course_title[1]['TITLE']; $period_title = DBGet(DBQuery("SELECT TITLE FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID='" . $_SESSION['MassSchedule.php']['course_period_id'] . "'")); $period_title = $period_title[1]['TITLE']; echo "{$course_title} - {$_REQUEST['course_weight']}<BR>{$period_title}"; } echo '</DIV>' . "<A HREF=# onclick='window.open(\"for_window.php?modname={$_REQUEST['modname']}&modfunc=choose_course\",\"\",\"scrollbars=yes,resizable=yes,width=800,height=400\");'>Choose a Course</A></TD></TR>"; echo '<TR><TD>Start Date</TD><TD>' . PrepareDate(DBDate(), '') . '</TD></TR>'; echo '<TR><TD>Marking Period</TD><TD>'; //echo '<SELECT name=marking_period_id><OPTION value=0>Full Year</OPTION>'; $years_RET = DBGet(DBQuery("SELECT MARKING_PERIOD_ID,TITLE,NULL AS SEMESTER_ID FROM SCHOOL_YEARS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'")); $semesters_RET = DBGet(DBQuery("SELECT MARKING_PERIOD_ID,TITLE,NULL AS SEMESTER_ID FROM SCHOOL_SEMESTERS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' ORDER BY SORT_ORDER")); $quarters_RET = DBGet(DBQuery("SELECT MARKING_PERIOD_ID,TITLE,SEMESTER_ID FROM SCHOOL_QUARTERS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' ORDER BY SORT_ORDER")); echo '<SELECT name=marking_period_id><OPTION value=' . $years_RET[1]['MARKING_PERIOD_ID'] . '>' . $years_RET[1]['TITLE'] . '</OPTION>'; foreach ($semesters_RET as $mp) { echo "<OPTION value={$mp['MARKING_PERIOD_ID']}>" . $mp['TITLE'] . '</OPTION>'; } foreach ($quarters_RET as $mp) { echo "<OPTION value={$mp['MARKING_PERIOD_ID']}>" . $mp['TITLE'] . '</OPTION>'; } echo '</SELECT>'; echo '</TD></TR>'; echo '</TABLE>';
DrawBC("Scheduling > " . ProgramTitle()); echo '<input type="hidden" name="marking_period_id" value=' . strip_tags(trim($_REQUEST['marking_period_id'])) . ' >'; $students_RET = GetStuList($extra); $LO_columns = array('FULL_NAME' => 'Student', 'STUDENT_ID' => 'Student ID', 'ALT_ID' => 'Alternate ID', 'GRADE_ID' => 'Grade', 'PHONE' => 'Phone'); if (is_array($extra['columns_before'])) { $columns = $extra['columns_before'] + $LO_columns; $LO_columns = $columns; } if (is_array($extra['columns_after'])) { $columns = $LO_columns + $extra['columns_after']; } if (!$extra['columns_before'] && !$extra['columns_after']) { $columns = $LO_columns; } if (count($students_RET) > 0) { echo '<TABLE><TR><TD>Drop Date</TD><TD>' . PrepareDate(DBDate(), '') . '</TD></TR></TABLE>'; } if (count($students_RET) > 1 || $link['add'] || !$link['FULL_NAME'] || $extra['columns_before'] || $extra['columns_after'] || $extra['BackPrompt'] == false && count($students_RET) == 0 || $extra['Redirect'] === false && count($students_RET) == 1) { $tmp_REQUEST = $_REQUEST; unset($tmp_REQUEST['expanded_view']); if ($_REQUEST['expanded_view'] != 'true' && !UserStudentID() && count($students_RET) != 0) { DrawHeader("<div><A HREF=" . PreparePHP_SELF($tmp_REQUEST) . "&expanded_view=true class=big_font ><img src=\"themes/blue/expanded_view.png\" />Expanded View</A></div><div class=break ></div>", $extra['header_right']); DrawHeader(str_replace('<BR>', '<BR> ', substr($_openSIS['SearchTerms'], 0, -4))); } elseif (!UserStudentID() && count($students_RET) != 0) { DrawHeader("<div><A HREF=" . PreparePHP_SELF($tmp_REQUEST) . "&expanded_view=false class=big_font><img src=\"themes/blue/expanded_view.png\" />Original View</A></div><div class=break ></div>", $extra['header_right']); DrawHeader(str_replace('<BR>', '<BR> ', substr($_openSIS['Search'], 0, -4))); } DrawHeader($extra['extra_header_left'], $extra['extra_header_right']); if ($_REQUEST['LO_save'] != '1' && !$extra['suppress_save']) { $_SESSION['List_PHP_SELF'] = PreparePHP_SELF($_SESSION['_REQUEST_vars']); echo '<script language=JavaScript>parent.help.location.reload();</script>';
<?php DrawHeader('Pre-Defined Student Billing Fees'); if ($_REQUEST[modfunc] == 'update') { $_REQUEST['date'] = $_REQUEST['day'] . '-' . $_REQUEST['month'] . '-' . $_REQUEST['year']; if ($_REQUEST['date'] == '--') { $_REQUEST['date'] = ''; } $effective_date = DBDate(); $sql = "INSERT INTO STU_BILLING_DEFINED_FEES (ID,ACCOUNT_ID,TITLE,AMOUNT,DUE_DATE,SYEAR,SCHOOL,GRADE) \n\t\t\tvalues(" . db_seq_nextval('STU_BILLING_DEFINED_FEES_SEQ') . ",'{$_REQUEST['account_id']}','{$_REQUEST['title']}','{$_REQUEST['amount']}','{$_REQUEST['date']}','{$_REQUEST['syear']}','{$_REQUEST['school']}','{$_REQUEST['grade']}')"; DBQuery($sql); $note[] = 'That Pre-Defined Fee has been added'; unset($_REQUEST[modfunc]); } if ($_REQUEST[modfunc] == 'delete') { if (DeletePrompt('pre-defined fee')) { DBQuery("DELETE FROM STU_BILLING_DEFINED_FEES WHERE ID='{$_REQUEST['id']}'"); $note[] = "That Pre-Defined Fee has been Deleted"; unset($_REQUEST[modfunc]); } } if (!$_REQUEST[modfunc]) { // LIST if ($note) { echo '<TABLE width=100%><TR><TD bgcolor=#E8E8E9><font size=-1>'; ErrorMessage($note, 'note'); echo '</font></TD></TR></TABLE>'; } echo "<FORM action=Modules.php?modname={$_REQUEST['modname']}&modfunc=update METHOD=POST>"; $functions = array('AMOUNT' => 'Currency', 'ACCOUNT_ID' => 'getAccount', 'DUE_DATE' => 'ProperDate', 'SYEAR' => 'DispYear', 'SCHOOL' => 'GetSchool', 'GRADE' => 'GetGrade'); $RET = DBGet(DBQuery('SELECT DISTINCT sb.ID,sb.TITLE,sb.AMOUNT,
DBQuery($sql); } } if ($asso_err) { $err_msg = 'Start Date or End Date cannot be changed because marking period has association'; } //---------------------------------------------------------------------------------------------------------------------- if ($go) { $UserMp = GetCurrentMP('QTR', DBDate()); $_SESSION['UserMP'] = $UserMp; if (!$UserMp) { $UserMp = GetCurrentMP('SEM', DBDate()); $_SESSION['UserMP'] = $UserMp; } if (!$UserMp) { $UserMp = GetCurrentMP('FY', DBDate()); $_SESSION['UserMP'] = $UserMp; } } //--------------------------------------------------------------------------------------------------------------------------- } // ---------------------- Insert & Update End ------------------------------ // unset($_REQUEST['tables']); unset($_SESSION['_REQUEST_vars']['tables']); } if (clean_param($_REQUEST['modfunc'], PARAM_ALPHAMOD) == 'delete') { $extra = array(); switch ($table) { case 'school_years': $name = 'year'; $parent_term = '';
# published by the Free Software Foundation, version 2 of the License. # See license.txt. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # #*************************************************************************************** include '../../Redirect_modules.php'; if (!$_REQUEST['modfunc']) { $start_date = '01-' . strtoupper(date('M-y')); $end_date = DBDate(); echo "<br><FORM name=log id=log action=Modules.php?modname={$_REQUEST['modname']}&modfunc=generate method=POST>"; PopTable('header', 'Log Details'); echo '<div align=center style="padding-top:20px; font-size:12px;"><strong>Please Select Date Range</strong></div> <TABLE border=0 width=100% align=center><tr><TD valign=top style=padding-top:14px;>'; echo '<strong>From :</strong> </TD><TD valign=middle>'; DrawHeader(PrepareDate($start_date, '_start')); echo '</TD><TD valign=top style=padding-top:14px;><strong>To :</strong> </TD><TD valign=middle>'; DrawHeader(PrepareDate($end_date, '_end')); echo '</TD></TR></TABLE><div style=height:10px></div>'; echo '<center><input type="submit" class=btn_medium value="Generate" name="generate"></center>'; PopTable('footer'); echo '</FORM>'; } if ($_REQUEST['day_start'] && $_REQUEST['month_start'] && $_REQUEST['year_start']) { $start_date = $_REQUEST['day_start'] . '-' . $_REQUEST['month_start'] . '-' . substr($_REQUEST['year_start'], 2, 4);
$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']) { $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"; $extra['functions'] = array('PASSING' => 'makeRadio', 'BORDERLINE' => 'makeRadio', 'FAILING' => 'makeRadio', 'INCOMPLETE' => 'makeRadio'); $columns = array('PASSING' => _('Passing'), 'BORDERLINE' => _('Borderline'), 'FAILING' => _('Failing'), 'INCOMPLETE' => _('Incomplete')); $stu_RET = GetStuList($extra); echo "<FORM ACTION=Modules.php?modname={$_REQUEST['modname']} method=POST>"; DrawHeader(ProgramTitle()); if ($today > $END_DAY || $today < $START_DAY || $today == $START_DAY && date('Gi') < $START_HOUR . $START_MINUTE || $today == $END_DAY && date('Gi') > $END_HOUR . $END_MINUTE) { echo ErrorMessage(array(sprintf(_('You can only enter eligibility from %s %s to %s %s.'), $days[$START_DAY], Localize('time', array('hour' => $START_HOUR, 'minute' => $START_MINUTE)), $days[$END_DAY], Localize('time', array('hour' => $END_HOUR, 'minute' => $END_MINUTE)))), 'error'); } else { DrawHeader("<A HREF=Modules.php?modname={$_REQUEST['modname']}&modfunc=gradebook>" . _('Use Gradebook Grades') . "</A>", '<INPUT type=submit value="' . _('Save') . '">'); $LO_columns = array('FULL_NAME' => _('Student'), 'STUDENT_ID' => _('Centre ID'), 'GRADE_ID' => _('Grade')) + $columns; ListOutput($stu_RET, $LO_columns, _('Student'), _('Students'));
$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"; $extra['functions'] = array('PASSING' => 'makeRadio', 'BORDERLINE' => 'makeRadio', 'FAILING' => 'makeRadio', 'INCOMPLETE' => 'makeRadio'); $columns = array('PASSING' => '' . _('Passing') . '', 'BORDERLINE' => '' . _('Borderline') . '', 'FAILING' => '' . _('Failing') . '', 'INCOMPLETE' => '' . _('Incomplete') . ''); $stu_RET = GetStuList($extra); echo "<FORM ACTION=Modules.php?modname={$_REQUEST['modname']} method=POST>"; DrawHeaderHome(ProgramTitle()); if ($today > $END_DAY || $today < $START_DAY || $today == $START_DAY && date('Gi') < $START_HOUR . $START_MINUTE || $today == $END_DAY && date('Gi') > $END_HOUR . $END_MINUTE) { if ($START_HOUR > 12) { $START_HOUR -= 12; $START_M = 'PM'; } else { $START_M = 'AM';
function PrintCatalog($result, $column_names, $singular = '', $plural = '', $link = false, $group = false, $options = false) { if (!isset($options['save'])) { $options['save'] = true; } if (!isset($options['print'])) { $options['print'] = true; } if (!isset($options['search'])) { $options['search'] = true; } if (!isset($options['center'])) { $options['center'] = true; } if (!isset($options['count'])) { $options['count'] = true; } if (!isset($options['sort'])) { $options['sort'] = true; } if (!$link) { $link = array(); } if (!isset($options['add'])) { if (!AllowEdit() || $_REQUEST['_openSIS_PDF']) { if ($link) { unset($link['add']); unset($link['remove']); } } } // PREPARE LINKS --- $result_count = $display_count = count($result); $num_displayed = 100000; $extra = "page={$_REQUEST['page']}&LO_sort={$_REQUEST['LO_sort']}&LO_direction={$_REQUEST['LO_direction']}&LO_search=" . urlencode($_REQUEST['LO_search']); $tmp_REQUEST = $_REQUEST; unset($tmp_REQUEST['page']); unset($tmp_REQUEST['LO_sort']); unset($tmp_REQUEST['LO_direction']); unset($tmp_REQUEST['LO_search']); unset($tmp_REQUEST['remove_prompt']); unset($tmp_REQUEST['remove_name']); unset($tmp_REQUEST['LO_save']); unset($tmp_REQUEST['PHPSESSID']); #$PHP_tmp_SELF = PreparePHP_SELF($tmp_REQUEST); $PHP_tmp_SELF = str_replace('>', '', PreparePHP_SELF($tmp_REQUEST)); // END PREPARE LINKS --- // UN-GROUPING $group_count = count($group); if (!is_array($group)) { $group_count = false; } //$side_color = Preferences('COLOR'); $side_color = 'bgcolor="#f5f5f5"'; if ($group_count && $result_count) { $color = 'style=" background-color:#fff; padding:3px 4px 3px 4px;"'; $group_result = $result; unset($result); $result[0] = ''; foreach ($group_result as $item1) { if ($group_count == 1) { if ($color == 'bgcolor="#f5f5f5"') { $color = $side_color; } else { $color = 'bgcolor="#f5f5f5"'; } } foreach ($item1 as $item2) { if ($group_count == 1) { $i++; if (count($group[0]) && $i != 1) { foreach ($group[0] as $column) { $item2[$column] = str_replace('<!-- <!--', '<!--', '<!-- ' . str_replace('-->', '--><!--', $item2[$column])) . ' -->'; } } $item2['row_color'] = $color; $result[] = $item2; } else { if ($group_count == 2) { if ($color == 'bgcolor="#ffffff"') { $color = $side_color; } else { $color = 'bgcolor="#ffffff"'; } } foreach ($item2 as $item3) { if ($group_count == 2) { $i++; if (count($group[0]) && $i != 1) { foreach ($group[0] as $column) { $item3[$column] = '<!-- ' . $item3[$column] . ' -->'; } } if (count($group[1]) && $i != 1) { foreach ($group[1] as $column) { $item3[$column] = '<!-- ' . $item3[$column] . ' -->'; } } $item3['row_color'] = $color; $result[] = $item3; } else { if ($group_count == 3) { if ($color == 'bgcolor="#ffffff"') { $color = $side_color; } else { $color = 'bgcolor="#ffffff"'; } } foreach ($item3 as $item4) { if ($group_count == 3) { $i++; if (count($group[2]) && $i != 1) { foreach ($group[2] as $column) { unset($item4[$column]); } } $item4['row_color'] = $color; $result[] = $item4; } } } } } } $i = 0; } unset($result[0]); $result_count = count($result); unset($_REQUEST['LO_sort']); } // END UN-GROUPING $_LIST['output'] = true; // PRINT HEADINGS, PREPARE PDF, AND SORT THE LIST --- if ($_LIST['output'] != false) { if ($result_count != 0) { $count = 0; $remove = count($link['remove']['variables']); $cols = count($column_names); // HANDLE SEARCHES --- if ($result_count && $_REQUEST['LO_search'] && $_REQUEST['LO_search'] != 'Search') { $_REQUEST['LO_search'] = $search_term = str_replace('\\\\"', '"', $_REQUEST['LO_search']); $_REQUEST['LO_search'] = $search_term = ereg_replace('[^a-zA-Z0-9 _"]*', '', strtolower($search_term)); if (substr($search_term, 0, 0) != '"' && substr($search_term, -1) != '"') { $search_term = ereg_replace('"', '', $search_term); while ($space_pos = strpos($search_term, ' ')) { $terms[strtolower(substr($search_term, 0, $space_pos))] = 1; $search_term = substr($search_term, $space_pos + 1); } $terms[trim($search_term)] = 1; } else { $search_term = ereg_replace('"', '', $search_term); $terms[trim($search_term)] = 1; } unset($terms['of']); unset($terms['the']); unset($terms['a']); unset($terms['an']); unset($terms['in']); foreach ($result as $key => $value) { $values[$key] = 0; foreach ($value as $name => $val) { $val = ereg_replace('[^a-zA-Z0-9 _]+', '', strtolower($val)); if (strtolower($_REQUEST['LO_search']) == $val) { $values[$key] += 25; } foreach ($terms as $term => $one) { if (ereg($term, $val)) { $values[$key] += 3; } } } if ($values[$key] == 0) { unset($values[$key]); unset($result[$key]); $result_count--; $display_count--; } } if ($result_count) { array_multisort($values, SORT_DESC, $result); $result = ReindexResults($result); $values = ReindexResults($values); $last_value = 1; $scale = 100 / $values[$last_value]; for ($i = $last_value; $i <= $result_count; $i++) { $result[$i]['RELEVANCE'] = '<!--' . (int) ($values[$i] * $scale) . '--><IMG SRC="assets/pixel_grey.gif" width=' . (int) ($values[$i] * $scale) . ' height=10>'; } } $column_names['RELEVANCE'] = "Relevance"; if (is_array($group) && count($group)) { $options['count'] == false; $display_zero = true; } } // END SEARCHES --- if ($_REQUEST['LO_sort']) { foreach ($result as $sort) { if (substr($sort[$_REQUEST['LO_sort']], 0, 4) != '<!--') { $sort_array[] = $sort[$_REQUEST['LO_sort']]; } else { $sort_array[] = substr($sort[$_REQUEST['LO_sort']], 4, strpos($sort[$_REQUEST['LO_sort']], '-->') - 5); } } if ($_REQUEST['LO_direction'] == -1) { $dir = SORT_DESC; } else { $dir = SORT_ASC; } if ($result_count > 1) { if (is_int($sort_array[1]) || is_double($sort_array[1])) { array_multisort($sort_array, $dir, SORT_NUMERIC, $result); } else { array_multisort($sort_array, $dir, $result); } for ($i = $result_count - 1; $i >= 0; $i--) { $result[$i + 1] = $result[$i]; } unset($result[0]); } } } // HANDLE SAVING THE LIST --- if ($_REQUEST['LO_save'] == '1') { if (!$options['save_delimiter'] && Preferences('DELIMITER') == 'CSV') { $options['save_delimiter'] = 'comma'; } switch ($options['save_delimiter']) { case 'comma': $extension = 'csv'; break; case 'xml': $extension = 'xml'; break; default: $extension = 'xls'; break; } ob_end_clean(); if ($options['save_delimiter'] != 'xml') { foreach ($column_names as $key => $value) { $output .= str_replace(' ', ' ', eregi_replace('<BR>', ' ', ereg_replace('<!--.*-->', '', $value))) . ($options['save_delimiter'] == 'comma' ? ',' : "\t"); } $output .= "\n"; } foreach ($result as $item) { foreach ($column_names as $key => $value) { if ($options['save_delimiter'] == 'comma' && !$options['save_quotes']) { $item[$key] = str_replace(',', ';', $item[$key]); } $item[$key] = eregi_replace('<SELECT.*SELECTED\\>([^<]+)<.*</SELECT\\>', '\\1', $item[$key]); $item[$key] = eregi_replace('<SELECT.*</SELECT\\>', '', $item[$key]); $output .= ($options['save_quotes'] ? '"' : '') . ($options['save_delimiter'] == 'xml' ? '<' . str_replace(' ', '', $value) . '>' : '') . ereg_replace('<[^>]+>', '', ereg_replace("<div onclick='[^']+'>", '', ereg_replace(' +', ' ', ereg_replace('&[^;]+;', '', str_replace('<BR>·', ' : ', str_replace(' ', ' ', $item[$key])))))) . ($options['save_delimiter'] == 'xml' ? '</' . str_replace(' ', '', $value) . '>' . "\n" : '') . ($options['save_quotes'] ? '"' : '') . ($options['save_delimiter'] == 'comma' ? ',' : "\t"); } $output .= "\n"; } header("Cache-Control: public"); header("Pragma: "); header("Content-Type: application/{$extension}"); header("Content-Disposition: inline; filename=\"" . ProgramTitle() . ".{$extension}\"\n"); if ($options['save_eval']) { eval($options['save_eval']); } echo $output; exit; } // END SAVING THE LIST --- if ($options['center']) { #echo '<CENTER>'; if ($result_count > $num_displayed || ($options['count'] || $display_zero) && (($result_count == 0 || $display_count == 0) && $plural || ($result_count == 0 || $display_count == 0))) { #echo "<TABLE border=0 cellspacing=3 cellpadding=6>" ; if (isset($_REQUEST['_openSIS_PDF'])) { #echo " width=98%"; echo " <TR><TD align=center>"; } } } if ($options['count'] || $display_zero) { if (($result_count == 0 || $display_count == 0) && $plural) { echo "<div style=text-align:left><table cellpadding=1 cellspacing=0 ><tr><td ></td><td ><b>No {$plural} were found.</b></td></tr><tr><td colspan=2 ></td></tr></table></div>"; } elseif ($result_count == 0 || $display_count == 0) { echo '<div style=text-align:left><table cellpadding=1 cellspacing=0 ><tr><td ></td><td ><b>None were found.</b></td></tr><tr><td colspan=2></td></tr></table></div>'; } } if ($result_count != 0 || $_REQUEST['LO_search'] && $_REQUEST['LO_search'] != 'Search') { if (!isset($_REQUEST['_openSIS_PDF'])) { if (!$_REQUEST['page']) { $_REQUEST['page'] = 1; } if (!$_REQUEST['LO_direction']) { $_REQUEST['LO_direction'] = 1; } $start = ($_REQUEST['page'] - 1) * $num_displayed + 1; $stop = $start + ($num_displayed - 1); if ($stop > $result_count) { $stop = $result_count; } if ($result_count > $num_displayed) { $where_message = "<SMALL>Displaying {$start} through {$stop}</SMALL>"; echo "" . _('Go to Page') . " "; if (ceil($result_count / $num_displayed) <= 10) { for ($i = 1; $i <= ceil($result_count / $num_displayed); $i++) { if ($i != $_REQUEST['page']) { $pages .= "<A HREF={$PHP_tmp_SELF}&LO_sort={$_REQUEST['LO_sort']}&LO_direction={$_REQUEST['LO_direction']}&LO_search=" . urlencode($_REQUEST['LO_search']) . "&page={$i}>{$i}</A>, "; } else { $pages .= "{$i}, "; } } $pages = substr($pages, 0, -2) . "<BR>"; } else { for ($i = 1; $i <= 7; $i++) { if ($i != $_REQUEST['page']) { $pages .= "<A HREF={$PHP_tmp_SELF}&LO_sort={$_REQUEST['LO_sort']}&LO_direction={$_REQUEST['LO_direction']}&LO_search=" . urlencode($_REQUEST['LO_search']) . "&page={$i}>{$i}</A>, "; } else { $pages .= "{$i}, "; } } $pages = substr($pages, 0, -2) . " ... "; for ($i = ceil($result_count / $num_displayed) - 2; $i <= ceil($result_count / $num_displayed); $i++) { if ($i != $_REQUEST['page']) { $pages .= "<A HREF={$PHP_tmp_SELF}&LO_sort={$_REQUEST['LO_sort']}&LO_direction={$_REQUEST['LO_direction']}&LO_search=" . urlencode($_REQUEST['LO_search']) . "&page={$i}>{$i}</A>, "; } else { $pages .= "{$i}, "; } } $pages = substr($pages, 0, -2) . " <A HREF={$PHP_tmp_SELF}&LO_sort={$_REQUEST['LO_sort']}&LO_direction={$_REQUEST['LO_direction']}&LO_search=" . urlencode($_REQUEST['LO_search']) . "&page=" . ($_REQUEST['page'] + 1) . ">Next Page</A><BR>"; } echo $pages; echo '</TD></TR></TABLE>'; echo '<BR>'; } } else { $start = 1; $stop = $result_count; if ($cols > 8 || $_REQUEST['expanded_view']) { $_SESSION['orientation'] = 'landscape'; $repeat_headers = 16; } else { $repeat_headers = 26; } if ($options['print']) { $html = explode('', strtolower(ob_get_contents())); $html = $html[count($html) - 1]; echo '</TD></TR></TABLE>'; $br = substr_count($html, '<br>') + substr_count($html, '</p>') + substr_count($html, '</tr>') + substr_count($html, '</h1>') + substr_count($html, '</h2>') + substr_count($html, '</h3>') + substr_count($html, '</h4>') + substr_count($html, '</h5>'); if ($br % 2 != 0) { $br++; echo '<BR>'; } } else { echo '</TD></TR></TABLE>'; } } // END MISC --- // WIDTH = 100% echo '<TABLE width=98% border=0 cellspacing=0 cellpadding=0><TR>'; // SEARCH BOX & MORE HEADERS if ($where_message || $singular && $plural || !isset($_REQUEST['_openSIS_PDF']) && $options['search']) { echo '<TD align=center>'; //echo '<TABLE cellpadding=1 width=100% border=1 style="border-collapse:collapse" >'; //echo "<TR><TD align=left valign=middle>"; //if($singular && $plural && $options['count']) //{ /*f($display_count > 1) echo "<table cellpadding=5 cellspacing=5 class=alert_box align=left ><tr><td class=notice></td><td class=notice_msg ><b>$display_count $plural were found.</b></td></tr></table>"; elseif($display_count==1) echo "<table cellpadding=5 cellspacing=5 class=alert_box align=left ><tr><td class=notice></td><td class=notice_msg ><b>1 $singular was found.</b></td></tr></table>";*/ //if($where_message) //echo '<br>'.$where_message; //} if ($options['save'] && !isset($_REQUEST['_openSIS_PDF']) && $result_count > 0) { //echo str_replace("Modules.php", "for_export.php", $PHP_tmp_SELF); //echo "<table cellpadding=0 cellspacing=0 class=download align=left ><tr><td><A HREF=".str_replace('Modules.php', 'for_export.php', $PHP_tmp_SELF)."&$extra&LO_save=1&_openSIS_PDF=true ><IMG SRC=assets/download.png border=0 alt=\"Download\" title=\"Download\"></a></td></tr></table>"; //echo "<br><br><table class=download ><tr><td><A HREF=".str_replace('Modules.php', 'for_export.php', $PHP_tmp_SELF)."&$extra&_openSIS_PDF=true ><IMG SRC=assets/download.png border=0></a></td><td><A HREF=".str_replace('Modules.php', 'for_export.php', $PHP_tmp_SELF)."&$extra&_openSIS_PDF=true >Download</A></td></tr></table>"; echo '</TD>'; } $colspan = 1; if (!isset($_REQUEST['_openSIS_PDF']) && $options['search']) { $tmp_REQUEST = $_REQUEST; unset($tmp_REQUEST['LO_search']); unset($tmp_REQUEST['page']); echo '<TD height="50" align=right valign=middle>'; echo "<INPUT type=text class='cell_medium' id=LO_search name=LO_search value='" . ($_REQUEST['LO_search'] && $_REQUEST['LO_search'] != 'Search' ? $_REQUEST['LO_search'] : 'Search\' style=\'color:BBBBBB\''), "' onfocus='if(this.value==\"Search\") this.value=\"\"; this.style.color=\"000000\";' onblur='if(this.value==\"\") {this.value=\"Search\"; this.style.color=\"BBBBBB\";}' onkeypress='if(event.keyCode==13){document.location.href=\"" . PreparePHP_SELF($tmp_REQUEST) . "&LO_search=\"+this.value; return false;} '> <INPUT type=button class='btn_go' value=Go onclick='document.location.href=\"" . PreparePHP_SELF($tmp_REQUEST) . "&LO_search=\"+document.getElementById(\"LO_search\").value;'></TD>"; $colspan++; } echo "</TR>"; echo '<TR style="height:0;"><TD width=100% align=center colspan=' . $colspan . '><DIV id=LOx' . (count($column_names) + ($result_count != 0 && $cols && !isset($_REQUEST['_openSIS_PDF']) ? 1 : 0) + ($remove && !isset($_REQUEST['_openSIS_PDF']) ? 1 : 0)) . ' style="width:0; position: relative; height:0;"></DIV></TD></TR></TABLE>'; } else { echo '<TD width=100% align=right><DIV id=LOx' . (count($column_names) + ($result_count != 0 && $cols && !isset($_REQUEST['_openSIS_PDF']) ? 1 : 0) + ($remove && !isset($_REQUEST['_openSIS_PDF']) ? 1 : 0)) . ' style="width:0; position: relative; height:0;"></DIV>'; } // END SEARCH BOX ---- echo '</TD></TR><TR><TD>'; // SHADOW if (!isset($_REQUEST['_openSIS_PDF'])) { echo '<TABLE width=100% cellpadding=0 cellspacing=0><TR><TD align=center>'; } echo "<TABLE cellpadding=6 width=100% cellspacing=1 border=\"1px solid #a9d5e9 \" style=\"border-collapse:collapse\" align=center>"; if (!isset($_REQUEST['_openSIS_PDF']) && $stop - $start > 10) { echo '<THEAD>'; } if (!isset($_REQUEST['_openSIS_PDF'])) { echo '<TR>'; } $i = 1; if ($remove && !isset($_REQUEST['_openSIS_PDF']) && $result_count != 0) { //THIS LINE IS FOR COLUMN HEADING echo "<TD class=subtabs><DIV id=LOx{$i} style='position: relative;'></DIV></TD>"; $i++; } if ($result_count != 0 && $cols && !isset($_REQUEST['_openSIS_PDF'])) { foreach ($column_names as $key => $value) { if ($_REQUEST['LO_sort'] == $key) { $direction = -1 * $_REQUEST['LO_direction']; } else { $direction = 1; } //THIS LINE IS FOR COLUMN HEADING echo "<TD class=subtabs><DIV id=LOx{$i} style='position: relative;'></DIV>"; echo "<A "; if ($options['sort']) { echo "HREF={$PHP_tmp_SELF}&page={$_REQUEST['page']}&LO_sort={$key}&LO_direction={$direction}&LO_search=" . urlencode($_REQUEST['LO_search']); } echo " class=column_heading><b>{$value}</b></A>"; if ($i == 1) { echo "<DIV id=LOy0 style='position: relative;'></DIV>"; } echo "</TD>"; $i++; } //echo '<TD width=0><DIV id=LO'.$i.'></DIV></TD>'; echo "</TR>"; } $color = 'bgcolor="#ffffff"'; //style="height: 300px; overflow: auto; padding-right: 16px;" if (!isset($_REQUEST['_openSIS_PDF']) && $stop - $start > 10) { echo '</THEAD><TBODY>'; } // mab - enable add link as first or last if ($result_count != 0 && $link['add']['first'] && $stop - $start >= $link['add']['first']) { //if($remove && !isset($_REQUEST['_openSIS_PDF'])) // $cols++; if ($link['add']['link'] && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TR><TD colspan=" . ($remove ? $cols + 1 : $cols) . " align=left class=even>" . button('add', $link['add']['title'], $link['add']['link']) . "</TD></TR>"; } elseif ($link['add']['span'] && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TR><TD colspan=" . ($remove ? $cols + 1 : $cols) . " align=left class=even>" . button('add') . $link['add']['span'] . "</TD></TR>"; } elseif ($link['add']['html'] && $cols) { echo "<TR {$color}>"; if ($remove && !isset($_REQUEST['_openSIS_PDF']) && $link['add']['html']['remove']) { echo "<TD class=even align=left>" . $link['add']['html']['remove'] . "</TD>"; } elseif ($remove && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TD class=even align=left>" . button('add') . "</TD>"; } foreach ($column_names as $key => $value) { echo "<TD class=even align=left >" . $link['add']['html'][$key] . "</TD>"; } echo "</TR>"; $count++; } } for ($i = $start; $i <= $stop; $i++) { $item = $result[$i]; if (isset($_REQUEST['_openSIS_PDF']) && $options['print'] && count($item)) { foreach ($item as $key => $value) { $value = eregi_replace('<SELECT.*SELECTED\\>([^<]+)<.*</SELECT\\>', '\\1', $value); $value = eregi_replace('<SELECT.*</SELECT\\>', '', $value); if (strpos($value, 'LO_field') === false) { $item[$key] = str_replace(' ', ' ', ereg_replace("<div onclick='[^']+'>", '', $value)); } else { $item[$key] = ereg_replace("<div onclick='[^']+'>", '', $value); } } } if ($item['row_color']) { $color = $item['row_color']; } elseif ($color == 'bgcolor="#ffffff"') { $color = $side_color; } else { $color = 'bgcolor="#ffffff"'; } //$color = '#EDF3FE'; if (isset($_REQUEST['_openSIS_PDF']) && $count % $repeat_headers == 0) { if ($count != 0) { echo '</TABLE>'; echo "<div style=\"page-break-after: always;\"></div>"; echo "<table width=100% 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 Advanced Report') . "</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;\"> </td></tr></table>"; echo '<TABLE cellpadding=6 width=100% cellspacing=1 border="1px solid #a9d5e9 " style="border-collapse:collapse" align=center>'; } echo "<TR>"; if ($remove && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TD bgcolor=#d3d3d3></TD>"; } if ($cols) { foreach ($column_names as $key => $value) { echo "<TD bgcolor=#d3d3d3 >" . str_replace(' ', ' ', $value) . "</TD>"; } } echo "</TR>"; } if ($count == 0) { $count = $br; } echo "<TR {$color}>"; $count++; if ($remove && !isset($_REQUEST['_openSIS_PDF'])) { $button_title = $link['remove']['title']; $button_link = $link['remove']['link']; if (count($link['remove']['variables'])) { foreach ($link['remove']['variables'] as $var => $val) { $button_link .= "&{$var}=" . $item[$val]; } } echo "<TD {$color}>" . button('remove', $button_title, $button_link) . "</TD>"; } if ($cols) { foreach ($column_names as $key => $value) { if ($link[$key] && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TD {$color} >"; if ($key == 'FULL_NAME') { echo '<DIV id=LOy' . ($count - $br) . ' style="height: 100%; min-height: 100%; position: relative;">'; } if ($link[$key]['js'] === true) { echo "<A HREF=# onclick='window.open(\"{$link[$key][link]}"; if (count($link[$key]['variables'])) { foreach ($link[$key]['variables'] as $var => $val) { echo "&{$var}=" . urlencode($item[$val]); } } echo "\",\"\",\"scrollbars=yes,resizable=yes,width=800,height=400\");'"; if ($link[$key]['extra']) { echo ' ' . $link[$key]['extra']; } echo ">"; } else { echo "<A HREF={$link[$key][link]}"; if (count($link[$key]['variables'])) { foreach ($link[$key]['variables'] as $var => $val) { echo "&{$var}=" . urlencode($item[$val]); } } if ($link[$key]['extra']) { echo ' ' . $link[$key]['extra']; } echo " onclick='grabA(this); return false;'>"; } if ($color == Preferences('HIGHLIGHT')) { echo ''; } else { echo '<b>'; } echo $item[$key]; echo '</b>'; if (!$item[$key]) { echo '***'; } echo "</A>"; if ($key == 'FULL_NAME') { echo '</DIV>'; } echo "</TD>"; } else { echo "<TD {$color} >"; if ($key == 'FULL_NAME') { echo '<DIV id=LOy' . ($count - $br) . ' style="position: relative;">'; } if ($color == Preferences('HIGHLIGHT')) { echo ''; } echo $item[$key]; if (!$item[$key]) { echo ' '; } if ($key == 'FULL_NAME') { echo '<DIV>'; } echo "</TD>"; } } } echo "</TR>"; } if ($result_count != 0 && (!$link['add']['first'] || $link['add']['first'] && $stop - $start < $link['add']['first'])) { if ($link['add']['link'] && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TR><TD colspan=" . ($remove ? $cols + 1 : $cols) . " align=left class=even>" . button('add', $link['add']['title'], $link['add']['link']) . "</TD></TR>"; } elseif ($link['add']['span'] && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TR><TD colspan=" . ($remove ? $cols + 1 : $cols) . " align=left class=even>" . button('add') . $link['add']['span'] . "</TD></TR>"; } elseif ($link['add']['html'] && $cols) { if ($count % 2) { $color = 'bgcolor=#ffffff'; } else { $color = $side_color; } echo "<TR {$color}>"; if ($remove && !isset($_REQUEST['_openSIS_PDF']) && $link['add']['html']['remove']) { echo "<TD bgcolor=#ffffff align=left>" . $link['add']['html']['remove'] . "</TD>"; } elseif ($remove && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TD bgcolor=#ffffff align=left >" . button('add') . "</TD>"; } foreach ($column_names as $key => $value) { echo "<TD bgcolor=#ffffff align=left valign=top>" . $link['add']['html'][$key] . "</TD>"; } echo "</TR>"; } } if ($result_count != 0) { if (!isset($_REQUEST['_openSIS_PDF']) && $stop - $start > 10) { echo '</TBODY>'; } echo "</TABLE>"; if (!isset($_REQUEST['_openSIS_PDF'])) { echo '</TD ></TR></TABLE>'; } echo "</TD ></TR>"; echo "</TABLE>"; if ($options['center']) { echo ''; } } } if ($result_count == 0) { if ($result_count > $num_displayed || ($options['count'] || $display_zero) && (($result_count == 0 || $display_count == 0) && $plural || ($result_count == 0 || $display_count == 0))) { if ($link['add']['link'] && !isset($_REQUEST['_openSIS_PDF'])) { echo '<table width=120px cellspacing=8 cellpadding=6 ><tr><TD align=left class=lone_add >' . button('add', $link['add']['title'], $link['add']['link']) . '</td></tr></table>'; } elseif (($link['add']['html'] || $link['add']['span']) && count($column_names) && !isset($_REQUEST['_openSIS_PDF'])) { $color = $side_color; if ($options['center']) { echo '<TABLE width=100% cellpadding=0 cellspacing=0><TR><TD align=center>'; } if ($link['add']['html']) { echo "<TABLE cellpadding=6 cellspacing=1 width=96% class=\"grid\"><TR><TD class=subtabs></TD>"; foreach ($column_names as $key => $value) { echo "<TD class=subtabs><A><b>" . str_replace(' ', ' ', $value) . "</b></A></TD>"; } echo "</TR>"; echo "<TR class=odd>"; if ($link['add']['html']['remove']) { echo "<TD >" . $link['add']['html']['remove'] . "</TD>"; } else { echo "<TD>" . button('add') . "</TD>"; } foreach ($column_names as $key => $value) { echo "<TD >" . $link['add']['html'][$key] . "</TD>"; } echo "</TR>"; echo "</TABLE>"; } elseif ($link['add']['span'] && !isset($_REQUEST['_openSIS_PDF'])) { echo "<TABLE><TR><TD align=center>" . button('add') . $link['add']['span'] . "</TD></TR></TABLE>"; } echo "</TD></TR></TABLE>"; if ($options['center']) { echo '</CENTER>'; } } } } if ($result_count != 0) { if ($options['yscroll']) { echo '<div id="LOy_layer" style="position: absolute; top: 0; left: 0; visibility:hidden;">'; echo '<TABLE cellpadding=6 id=LOy_table>'; $i = 1; if ($cols && !isset($_REQUEST['_openSIS_PDF'])) { $color = $side_color; foreach ($result as $item) { echo "<TR><TD {$color} id=LO_row{$i}>"; if ($color == Preferences('HIGHLIGHT')) { echo ''; } echo $item['FULL_NAME']; if (!$item['FULL_NAME']) { echo ' '; } if ($color == Preferences('HIGHLIGHT')) { echo ''; } echo "</TD></TR>"; $i++; if ($item['row_color']) { $color = $item['row_color']; } elseif ($color == 'class=even') { $color = $side_color; } else { $color = 'class=even'; } } } echo '</TABLE>'; echo '</div>'; } echo '<div id="LOx_layer" style="position: absolute; top: 0; left: 0; visibility:hidden;">'; echo '<div style="page-break-before: inherit;"> </div>'; echo '<TABLE cellpadding=6 id=LOx_table><TR>'; $i = 1; if ($remove && !isset($_REQUEST['_openSIS_PDF']) && $result_count != 0) { echo "<TD class=grid id=LO_col{$i}></TD>"; $i++; } if ($cols && !isset($_REQUEST['_openSIS_PDF'])) { foreach ($column_names as $key => $value) { echo '<TD class=grid id=LO_col' . $i . '><A class=column_heading><b>' . str_replace('controller', '', $value) . '</b></A></TD>'; $i++; } } echo '</TR></TABLE>'; echo '</div>'; } } }