function core_role_unassign_roles_object() { //first, gather the necessary variables global $student_id, $_SESSION; //then, convert variables for the Moodle object: /* list of ( object { roleid int //Role to assign to the user userid int //The user that is going to be assigned contextid int //The context to unassign the user role from } ) */ //gather the Moodle user ID $userid = DBGet(DBQuery("SELECT moodle_id FROM moodlexrosario WHERE rosario_id='" . $student_id . "' AND \"column\"='student_id'")); if (count($userid)) { $userid = (int) $userid[1]['MOODLE_ID']; } else { return null; } //student's roleid = student = 5 $roleid = 5; //get contextid: global $moodle_contextlevel, $moodle_instance; $moodle_contextlevel = CONTEXT_COURSE; $rosario_id = $_SESSION['MassDrops.php']['course_period_id']; //gather the Moodle course ID $moodle_instance = DBGet(DBQuery("SELECT moodle_id FROM moodlexrosario WHERE rosario_id='" . $rosario_id . "' AND \"column\"='course_period_id'")); if (count($moodle_instance)) { $moodle_instance = (int) $moodle_instance[1]['MOODLE_ID']; } else { return null; } $contexts = Moodle('Global/functions.php', 'local_getcontexts_get_contexts'); $contextid = $contexts[0]['id']; $unassignments = array(array('roleid' => $roleid, 'userid' => $userid, 'contextid' => $contextid)); return array($unassignments); }
function core_role_unassign_roles_object() { //first, gather the necessary variables global $_REQUEST; //then, convert variables for the Moodle object: /* list of ( object { roleid int //Role to assign to the user userid int //The user that is going to be assigned contextid int //The context to unassign the user role from } )*/ //gather the Moodle user ID $userid = DBGet(DBQuery("SELECT moodle_id FROM moodlexrosario WHERE rosario_id='" . $_REQUEST['staff_id'] . "' AND \"column\"='staff_id'")); if (count($userid)) { $userid = (int) $userid[1]['MOODLE_ID']; } else { return null; } //get the contextid global $moodle_contextlevel, $moodle_instance; $moodle_contextlevel = CONTEXT_USER; //gather the Moodle user ID $moodle_instance = DBGet(DBQuery("SELECT moodle_id FROM moodlexrosario WHERE rosario_id='" . UserStudentID() . "' AND \"column\"='student_id'")); if (count($moodle_instance)) { $moodle_instance = (int) $moodle_instance[1]['MOODLE_ID']; } else { return null; } $contexts = Moodle('Global/functions.php', 'local_getcontexts_get_contexts'); $contextid = $contexts[0]['id']; $roleid = MOODLE_PARENT_ROLE_ID; $unassignments = array(array('roleid' => $roleid, 'userid' => $userid, 'contextid' => $contextid)); return array($unassignments); }
if ($course_mp_table == 'FY' || $course_mp == $_REQUEST['marking_period_id'] || mb_strpos(GetChildrenMP($course_mp_table, $course_mp), "'" . $_REQUEST['marking_period_id'] . "'") !== false) { $mp_table = GetMP($_REQUEST['marking_period_id'], 'MP'); //$current_RET = DBGet(DBQuery("SELECT STUDENT_ID FROM SCHEDULE WHERE COURSE_PERIOD_ID='".$_SESSION['MassDrops.php']['course_period_id']."' AND SYEAR='".UserSyear()."' AND (('".$start_date."' BETWEEN START_DATE AND END_DATE OR END_DATE IS NULL) AND '".$start_date."'>=START_DATE)"),array(),array('STUDENT_ID')); $current_RET = DBGet(DBQuery("SELECT STUDENT_ID FROM SCHEDULE WHERE COURSE_PERIOD_ID='" . $_SESSION['MassDrops.php']['course_period_id'] . "' ")); foreach ($_REQUEST['student'] as $student_id => $yes) { if ($current_RET[$student_id]) { DBQuery("UPDATE SCHEDULE SET END_DATE='" . $END_DATE . "' WHERE STUDENT_ID='" . $student_id . "' AND COURSE_PERIOD_ID='" . $_SESSION['MassDrops.php']['course_period_id'] . "'"); //echo "<b>student:</b> $student_id "; //$start_end_RET = DBGet(DBQuery("SELECT START_DATE,END_DATE FROM SCHEDULE WHERE STUDENT_ID='".UserStudentID()."' AND COURSE_PERIOD_ID='".$course_period_id."' AND END_DATE<START_DATE")); $start_end_RET = DBGet(DBQuery("SELECT START_DATE,END_DATE FROM SCHEDULE WHERE STUDENT_ID='" . $student_id . "' AND COURSE_PERIOD_ID='" . $_SESSION['MassDrops.php']['course_period_id'] . "' AND END_DATE<START_DATE")); if (count($start_end_RET)) { //DBQuery("DELETE FROM SCHEDULE WHERE STUDENT_ID='".UserStudentID()."' AND END_DATE IS NOT NULL AND END_DATE<START_DATE"); DBQuery("DELETE FROM SCHEDULE WHERE STUDENT_ID='" . $student_id . "' AND COURSE_PERIOD_ID='" . $_SESSION['MassDrops.php']['course_period_id'] . "'"); } //modif Francois: Moodle integrator $moodleError .= Moodle($_REQUEST['modname'], 'core_role_unassign_roles'); } } $note[] = '<IMG SRC="assets/check.png" class="alignImg"> ' . _('This course has been dropped for the selected students\' schedules.'); } else { $error[] = _('You cannot schedule a student into that course during this marking period.') . ' ' . sprintf(_('This course meets on %s.'), GetMP($course_mp)); } } else { $error[] = _('The date you entered is not valid'); } } else { $error[] = _('You must choose at least one student.'); } } else { $error[] = _('You must choose a course.'); }
db_trans_start($connection); $date = DBDate(); $course_period_temp = ''; $student_id_temp = ''; $scount = 0; $bad_locked = 0; foreach ($schedule as $student_id => $periods) { $course_periods_temp = array(); foreach ($periods as $course_periods) { foreach ($course_periods as $period_id => $course_period) { $scount++; //modif Francois: multiple school periods for a course period if (empty($locked_RET[$student_id][$course_period['REQUEST_ID']]) && !in_array($course_period['COURSE_PERIOD_ID'], $course_periods_temp)) { db_trans_query($connection, "INSERT INTO SCHEDULE (SYEAR,SCHOOL_ID,STUDENT_ID,START_DATE,COURSE_ID,COURSE_PERIOD_ID,MP,MARKING_PERIOD_ID) values('" . UserSyear() . "','" . UserSchool() . "','" . $student_id . "','" . $date . "','" . $course_period['COURSE_ID'] . "','" . $course_period['COURSE_PERIOD_ID'] . "','" . $course_period['MP'] . "','" . $course_period['MARKING_PERIOD_ID'] . "');"); //modif Francois: Moodle integrator $moodleError .= Moodle($_REQUEST['modname'], 'enrol_manual_enrol_users'); } else { $bad_locked++; } // db_trans_query($connection,"INSERT INTO SCHEDULE (SYEAR,SCHOOL_ID,STUDENT_ID,START_DATE,COURSE_ID,COURSE_PERIOD_ID,MP,MARKING_PERIOD_ID) values('".UserSyear()."','".UserSchool()."','".$student_id."','".$date."','".$course_period['COURSE_ID']."','".$course_period['COURSE_PERIOD_ID']."','".$course_period['MP']."','".$course_period['MARKING_PERIOD_ID']."');"); //modif Francois: multiple school periods for a course period $course_periods_temp[] = $course_period['COURSE_PERIOD_ID']; } } } echo '<!-- Bad Locked ' . $scount . ' -->'; echo '<!-- Schedule Count() ' . $scount . '-->'; //echo 'Empty Courses:'; foreach ($cp_parent_RET as $parent_id => $course_period) { $course_period = $course_period[1]; //if($course_period['AVAILABLE_SEATS']<='0')
<?php require 'config.inc.php'; if (!MOODLE_INTEGRATOR) { exit; } require 'database.inc.php'; //modif Francois: remove IgnoreFiles // Load functions. /*if($handle = opendir('functions')) { if(!is_array($IgnoreFiles)) $IgnoreFiles=Array(); while (false !== ($file = readdir($handle))) { // if filename isn't '.' '..' or in the Ignore list... load it. if($file!='.' && $file!='..' && !in_array($file,$IgnoreFiles)) require_once('functions/'.$file); } }*/ $functions = scandir('functions/'); foreach ($functions as $function) { //filter PHP files if (mb_strrchr($function, '.') == '.php') { require_once 'functions/' . $function; } } echo Moodle($_POST['modname'], 'core_files_upload');
function core_files_upload_object() { //first, gather the necessary variables global $_POST; //then, convert variables for the Moodle object: /* [contextid] => int [component] => string [filearea] => string [itemid] => int [filepath] => string [filename] => string [filecontent] => string */ //For a User Avatar, looking at mdl_files table for example: /* contextid = 5 (context = USER, userid = instance = 2), use local_getcontexts_get_contexts function component = user filearea = draft itemid = 230987549 or 1 filepath = / filename = xxx.jpeg filecontent = base64_encode */ //For the moment, component = user && filearea = private is hardcoded... // see http://tracker.moodle.org/browse/MDL-31116 return null; global $moodle_contextlevel, $moodle_instance; $moodle_contextlevel = CONTEXT_USER; $rosario_id = $_POST['userId']; //gather the Moodle user ID $column = mb_strpos($_POST['modname'], 'Users') !== false ? 'staff_id' : 'student_id'; $moodle_instance = DBGet(DBQuery("SELECT moodle_id FROM moodlexrosario WHERE rosario_id='" . $rosario_id . "' AND \"column\"='" . $column . "'")); if (count($moodle_instance)) { $moodle_instance = (int) $moodle_instance[1]['MOODLE_ID']; } else { return null; } //get contextid first: $contexts = Moodle('Global/functions.php', 'local_getcontexts_get_contexts'); $contextid = $contexts[0]['id']; $component = 'user'; $filearea = 'draft'; $itemid = 1; $filepath = '/'; $filename = $_POST['userId'] . '.jpg'; function base64_encode_file($file) { $filename = file_exists($file) ? htmlentities($file) : die('File name does not exist'); $filetype = pathinfo($filename, PATHINFO_EXTENSION); $filebinary = fread(fopen($filename, "r"), filesize($filename)); return base64_encode($filebinary); } global $wkhtmltopdfAssetsPath; $filecontent = base64_encode_file($wkhtmltopdfAssetsPath . str_replace('assets/', '', $_POST['photoPath']) . $_POST['sYear'] . '/' . $_POST['userId'] . '.jpg'); $file = array($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent); return $file; }
$password_RET = DBGet(DBQuery("SELECT PASSWORD FROM STAFF WHERE STAFF_ID='" . User('STAFF_ID') . "' AND SYEAR='" . UserSyear() . "'")); } //modif Francois: add password encryption // if(mb_strtolower($password_RET[1]['PASSWORD'])!=mb_strtolower($current_password)) if (!match_password($password_RET[1]['PASSWORD'], $current_password)) { $error = _('Your current password was incorrect.'); } else { // DBQuery("UPDATE STAFF SET PASSWORD='******' WHERE STAFF_ID='".User('STAFF_ID')."' AND SYEAR='".UserSyear()."'"); if (User('PROFILE') == 'student') { DBQuery("UPDATE STUDENTS SET PASSWORD='******' WHERE STUDENT_ID='" . UserStudentID() . "'"); } else { DBQuery("UPDATE STAFF SET PASSWORD='******' WHERE STAFF_ID='" . User('STAFF_ID') . "' AND SYEAR='" . UserSyear() . "'"); } $note = _('Your new password was saved.'); //modif Francois: Moodle integrator $moodleError = Moodle($_REQUEST['modname'], 'core_user_update_users'); } } } else { $current_RET = DBGet(DBQuery("SELECT TITLE,VALUE,PROGRAM FROM PROGRAM_USER_CONFIG WHERE USER_ID='" . User('STAFF_ID') . "' AND PROGRAM IN ('Preferences','StudentFieldsSearch','StudentFieldsView','WidgetsSearch','StaffFieldsSearch','StaffFieldsView','StaffWidgetsSearch')"), array(), array('PROGRAM', 'TITLE')); if ($_REQUEST['tab'] == 'student_listing' && $_REQUEST['values']['Preferences']['SEARCH'] != 'Y') { $_REQUEST['values']['Preferences']['SEARCH'] = 'N'; } if ($_REQUEST['tab'] == 'student_listing' && $_REQUEST['values']['Preferences']['E_CODEDS'] != 'Y') { $_REQUEST['values']['Preferences']['E_CODEDS'] = 'N'; } if ($_REQUEST['tab'] == 'student_listing' && $_REQUEST['values']['Preferences']['E_EXPORTS'] != 'Y') { $_REQUEST['values']['Preferences']['E_EXPORTS'] = 'N'; } if ($_REQUEST['tab'] == 'student_listing' && User('PROFILE') == 'admin' && $_REQUEST['values']['Preferences']['DEFAULT_FAMILIES'] != 'Y') { $_REQUEST['values']['Preferences']['DEFAULT_FAMILIES'] = 'N';
} unset($_REQUEST['values']); unset($_SESSION['_REQUEST_vars']['values']); unset($_REQUEST['profiles']); unset($_SESSION['_REQUEST_vars']['profiles']); } DrawHeader(ProgramTitle()); if ($_REQUEST['modfunc'] == 'remove' && AllowEdit()) { if (DeletePrompt(_('Note'))) { //modif Francois: file attached to portal notes $file_to_remove = DBGet(DBQuery("SELECT FILE_ATTACHED FROM PORTAL_NOTES WHERE ID='{$_REQUEST['id']}'")); @unlink($file_to_remove[1]['FILE_ATTACHED']); DBQuery("DELETE FROM PORTAL_NOTES WHERE ID='{$_REQUEST['id']}'"); //modif Francois: Moodle integrator if (MOODLE_INTEGRATOR) { $moodleError = Moodle($_REQUEST['modname'], 'core_notes_delete_notes'); } unset($_REQUEST['modfunc']); } } if ($_REQUEST['modfunc'] != 'remove') { //modif Francois: file attached to portal notes $sql = "SELECT ID,SORT_ORDER,TITLE,CONTENT,START_DATE,END_DATE,PUBLISHED_PROFILES,FILE_ATTACHED,CASE WHEN END_DATE IS NOT NULL AND END_DATE<CURRENT_DATE THEN 'Y' ELSE NULL END AS EXPIRED FROM PORTAL_NOTES WHERE SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "' ORDER BY EXPIRED DESC,SORT_ORDER,PUBLISHED_DATE DESC"; $QI = DBQuery($sql); $notes_RET = DBGet($QI, array('TITLE' => '_makeTextInput', 'CONTENT' => '_makeContentInput', 'SORT_ORDER' => '_makeTextInput', 'FILE_ATTACHED' => '_makeFileAttached', 'START_DATE' => '_makePublishing')); $columns = array('TITLE' => _('Title'), 'CONTENT' => _('Note'), 'SORT_ORDER' => _('Sort Order'), 'FILE_ATTACHED' => _('File Attached'), 'START_DATE' => _('Publishing Options')); //,'START_TIME'=>'Start Time','END_TIME'=>'End Time' $link['add']['html'] = array('TITLE' => _makeTextInput('', 'TITLE'), 'CONTENT' => _makeContentInput('', 'CONTENT'), 'SHORT_NAME' => _makeTextInput('', 'SHORT_NAME'), 'SORT_ORDER' => _makeTextInput('', 'SORT_ORDER'), 'FILE_ATTACHED' => _makeFileAttached('', 'FILE_ATTACHED'), 'START_DATE' => _makePublishing('', 'START_DATE')); $link['remove']['link'] = "Modules.php?modname={$_REQUEST['modname']}&modfunc=remove"; $link['remove']['variables'] = array('id' => 'ID'); echo '<FORM action="Modules.php?modname=' . $_REQUEST[modname] . '&modfunc=update" method="POST" enctype="multipart/form-data">';
} } } $i++; } while (is_numeric($_REQUEST['REPEAT']) && $i <= $_REQUEST['REPEAT']); } echo '<SCRIPT type="text/javascript">opener.document.location = "Modules.php?modname=' . $_REQUEST['modname'] . '&year=' . $_REQUEST['year'] . '&month=' . MonthNWSwitch($_REQUEST['month'], 'tochar') . '"; window.close();</script>'; unset($_REQUEST['values']); unset($_SESSION['_REQUEST_vars']['values']); } } elseif ($_REQUEST['button'] == _('Delete')) { if (DeletePrompt(_('Event'))) { DBQuery("DELETE FROM CALENDAR_EVENTS WHERE ID='" . $_REQUEST['event_id'] . "'"); //modif Francois: Moodle integrator if (MOODLE_INTEGRATOR) { $moodleError = Moodle($_REQUEST['modname'], 'core_calendar_delete_calendar_events'); if (!empty($moodleError)) { echo $moodleError; exit; } } echo '<SCRIPT type="text/javascript">opener.document.location = "Modules.php?modname=' . $_REQUEST['modname'] . '&year=' . $_REQUEST['year'] . '&month=' . MonthNWSwitch($_REQUEST['month'], 'tochar') . '"; window.close();</script>'; unset($_REQUEST['values']); unset($_SESSION['_REQUEST_vars']['values']); unset($_REQUEST['button']); unset($_SESSION['_REQUEST_vars']['button']); } } else { if ($_REQUEST['event_id']) { if ($_REQUEST['event_id'] != 'new') { $RET = DBGet(DBQuery("SELECT TITLE,DESCRIPTION,to_char(SCHOOL_DATE,'dd-MON-yy') AS SCHOOL_DATE FROM CALENDAR_EVENTS WHERE ID='{$_REQUEST['event_id']}'"));
function Rollover($table) { global $next_syear, $RosarioModules, $moodleError; switch ($table) { case 'SCHOOLS': DBQuery("DELETE FROM SCHOOLS WHERE SYEAR='{$next_syear}'"); DBQuery("INSERT INTO SCHOOLS (SYEAR,ID,TITLE,ADDRESS,CITY,STATE,ZIPCODE,PHONE,PRINCIPAL,WWW_ADDRESS,SCHOOL_NUMBER,SHORT_NAME,REPORTING_GP_SCALE,NUMBER_DAYS_ROTATION) SELECT SYEAR+1,ID,TITLE,ADDRESS,CITY,STATE,ZIPCODE,PHONE,PRINCIPAL,WWW_ADDRESS,SCHOOL_NUMBER,SHORT_NAME,REPORTING_GP_SCALE,NUMBER_DAYS_ROTATION FROM SCHOOLS WHERE SYEAR='" . UserSyear() . "'"); break; case 'STAFF': $user_custom = ''; $fields_RET = DBGet(DBQuery("SELECT ID FROM STAFF_FIELDS")); foreach ($fields_RET as $field) { $user_custom .= ',CUSTOM_' . $field['ID']; } if ($RosarioModules['Food_Service']) { DBQuery("UPDATE FOOD_SERVICE_STAFF_ACCOUNTS SET STAFF_ID=(SELECT ROLLOVER_ID FROM STAFF WHERE STAFF_ID=FOOD_SERVICE_STAFF_ACCOUNTS.STAFF_ID) WHERE exists(SELECT * FROM STAFF WHERE STAFF_ID=FOOD_SERVICE_STAFF_ACCOUNTS.STAFF_ID AND ROLLOVER_ID IS NOT NULL AND SYEAR='{$next_syear}')"); DBQuery("DELETE FROM FOOD_SERVICE_STAFF_ACCOUNTS WHERE exists(SELECT * FROM STAFF WHERE STAFF_ID=FOOD_SERVICE_STAFF_ACCOUNTS.STAFF_ID AND SYEAR='{$next_syear}')"); } DBQuery("DELETE FROM STUDENTS_JOIN_USERS WHERE STAFF_ID IN (SELECT STAFF_ID FROM STAFF WHERE SYEAR='{$next_syear}')"); DBQuery("DELETE FROM STAFF_EXCEPTIONS WHERE USER_ID IN (SELECT STAFF_ID FROM STAFF WHERE SYEAR='{$next_syear}')"); DBQuery("DELETE FROM PROGRAM_USER_CONFIG WHERE USER_ID IN (SELECT STAFF_ID FROM STAFF WHERE SYEAR='{$next_syear}')"); DBQuery("DELETE FROM STAFF WHERE SYEAR='{$next_syear}'"); DBQuery("INSERT INTO STAFF (STAFF_ID,SYEAR,CURRENT_SCHOOL_ID,TITLE,FIRST_NAME,LAST_NAME,MIDDLE_NAME,NAME_SUFFIX,USERNAME,PASSWORD,PHONE,EMAIL,PROFILE,HOMEROOM,LAST_LOGIN,SCHOOLS,PROFILE_ID,ROLLOVER_ID{$user_custom}) SELECT " . db_seq_nextval('STAFF_SEQ') . ",SYEAR+1,CURRENT_SCHOOL_ID,TITLE,FIRST_NAME,LAST_NAME,MIDDLE_NAME,NAME_SUFFIX,USERNAME,PASSWORD,PHONE,EMAIL,PROFILE,HOMEROOM,NULL,SCHOOLS,PROFILE_ID,STAFF_ID{$user_custom} FROM STAFF WHERE SYEAR='" . UserSyear() . "'"); //modif Francois: Moodle integrator if (MOODLE_INTEGRATOR) { $staff_RET = DBGet(DBQuery("SELECT STAFF_ID,ROLLOVER_ID FROM STAFF WHERE SYEAR='{$next_syear}' AND ROLLOVER_ID IS NOT NULL")); foreach ($staff_RET as $value) { DBQuery("UPDATE MOODLEXROSARIO SET ROSARIO_ID='{$value['STAFF_ID']}' WHERE ROSARIO_ID='{$value['ROLLOVER_ID']}' AND \"COLUMN\"='staff_id' AND SCHOOL_ID='" . UserSchool() . "'"); } } DBQuery("INSERT INTO PROGRAM_USER_CONFIG (USER_ID,PROGRAM,TITLE,VALUE) SELECT s.STAFF_ID,puc.PROGRAM,puc.TITLE,puc.VALUE FROM STAFF s,PROGRAM_USER_CONFIG puc WHERE puc.USER_ID=s.ROLLOVER_ID AND puc.PROGRAM='Preferences' AND s.SYEAR='{$next_syear}'"); DBQuery("INSERT INTO STAFF_EXCEPTIONS (USER_ID,MODNAME,CAN_USE,CAN_EDIT) SELECT STAFF_ID,MODNAME,CAN_USE,CAN_EDIT FROM STAFF,STAFF_EXCEPTIONS WHERE USER_ID=ROLLOVER_ID AND SYEAR='{$next_syear}'"); DBQuery("INSERT INTO STUDENTS_JOIN_USERS (STUDENT_ID,STAFF_ID) SELECT j.STUDENT_ID,s.STAFF_ID FROM STAFF s,STUDENTS_JOIN_USERS j WHERE j.STAFF_ID=s.ROLLOVER_ID AND s.SYEAR='{$next_syear}'"); break; case 'SCHOOL_PERIODS': DBQuery("DELETE FROM SCHOOL_PERIODS WHERE SCHOOL_ID='" . UserSchool() . "' AND SYEAR='{$next_syear}'"); DBQuery("INSERT INTO SCHOOL_PERIODS (PERIOD_ID,SYEAR,SCHOOL_ID,SORT_ORDER,TITLE,SHORT_NAME,LENGTH,ATTENDANCE,ROLLOVER_ID) SELECT " . db_seq_nextval('SCHOOL_PERIODS_SEQ') . ",SYEAR+1,SCHOOL_ID,SORT_ORDER,TITLE,SHORT_NAME,LENGTH,ATTENDANCE,PERIOD_ID FROM SCHOOL_PERIODS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"); break; case 'ATTENDANCE_CALENDARS': DBQuery("DELETE FROM ATTENDANCE_CALENDARS WHERE SCHOOL_ID='" . UserSchool() . "' AND SYEAR='{$next_syear}'"); DBQuery("INSERT INTO ATTENDANCE_CALENDARS (CALENDAR_ID,SYEAR,SCHOOL_ID,TITLE,DEFAULT_CALENDAR,ROLLOVER_ID) SELECT " . db_seq_nextval('CALENDARS_SEQ') . ",SYEAR+1,SCHOOL_ID,TITLE,DEFAULT_CALENDAR,CALENDAR_ID FROM ATTENDANCE_CALENDARS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"); break; case 'ATTENDANCE_CODES': DBQuery("DELETE FROM ATTENDANCE_CODE_CATEGORIES WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("DELETE FROM ATTENDANCE_CODES WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("INSERT INTO ATTENDANCE_CODE_CATEGORIES (ID,SYEAR,SCHOOL_ID,TITLE,SORT_ORDER,ROLLOVER_ID) SELECT " . db_seq_nextval('ATTENDANCE_CODE_CATEGORIES_SEQ') . ",SYEAR+1,SCHOOL_ID,TITLE,SORT_ORDER,ID FROM ATTENDANCE_CODE_CATEGORIES WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("INSERT INTO ATTENDANCE_CODES (ID,SYEAR,SCHOOL_ID,TITLE,SHORT_NAME,TYPE,STATE_CODE,DEFAULT_CODE,TABLE_NAME,SORT_ORDER) SELECT " . db_seq_nextval('ATTENDANCE_CODES_SEQ') . ",c.SYEAR+1,c.SCHOOL_ID,c.TITLE,c.SHORT_NAME,c.TYPE,c.STATE_CODE,c.DEFAULT_CODE," . db_case(array('c.TABLE_NAME', "'0'", "'0'", '(SELECT ID FROM ATTENDANCE_CODE_CATEGORIES WHERE SCHOOL_ID=c.SCHOOL_ID AND ROLLOVER_ID=c.TABLE_NAME)')) . ",c.SORT_ORDER FROM ATTENDANCE_CODES c WHERE c.SYEAR='" . UserSyear() . "' AND c.SCHOOL_ID='" . UserSchool() . "'"); break; case 'SCHOOL_MARKING_PERIODS': DBQuery("DELETE FROM SCHOOL_MARKING_PERIODS WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("INSERT INTO SCHOOL_MARKING_PERIODS (MARKING_PERIOD_ID,PARENT_ID,SYEAR,MP,SCHOOL_ID,TITLE,SHORT_NAME,SORT_ORDER,START_DATE,END_DATE,POST_START_DATE,POST_END_DATE,DOES_GRADES,DOES_COMMENTS,ROLLOVER_ID) SELECT " . db_seq_nextval('MARKING_PERIOD_SEQ') . ",PARENT_ID,SYEAR+1,MP,SCHOOL_ID,TITLE,SHORT_NAME,SORT_ORDER,START_DATE+365,END_DATE+365,POST_START_DATE+365,POST_END_DATE+365,DOES_GRADES,DOES_COMMENTS,MARKING_PERIOD_ID FROM SCHOOL_MARKING_PERIODS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("UPDATE SCHOOL_MARKING_PERIODS SET PARENT_ID=(SELECT mp.MARKING_PERIOD_ID FROM SCHOOL_MARKING_PERIODS mp WHERE mp.SYEAR=school_marking_periods.SYEAR AND mp.SCHOOL_ID=school_marking_periods.SCHOOL_ID AND mp.ROLLOVER_ID=school_marking_periods.PARENT_ID) WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); //modif Francois: ROLL Gradebook Config's Final Grading Percentages $db_case_array = array('puc.TITLE'); $mp_next = DBGet(DBQuery("SELECT MARKING_PERIOD_ID,ROLLOVER_ID,MP FROM SCHOOL_MARKING_PERIODS WHERE (MP='QTR' OR MP='SEM') AND SYEAR='" . $next_syear . "' AND SCHOOL_ID='" . UserSchool() . "' ORDER BY SORT_ORDER")); foreach ($mp_next as $mp) { $db_case_array[] = "'FY-" . $mp['ROLLOVER_ID'] . "'"; $db_case_array[] = "'FY-" . $mp['MARKING_PERIOD_ID'] . "'"; if ($mp['MP'] == 'QTR') { $db_case_array[] = "'SEM-" . $mp['ROLLOVER_ID'] . "'"; $db_case_array[] = "'SEM-" . $mp['MARKING_PERIOD_ID'] . "'"; } } DBQuery("UPDATE PROGRAM_USER_CONFIG puc SET TITLE=(SELECT (" . db_case($db_case_array) . ") FROM STAFF s WHERE (puc.TITLE LIKE 'FY-%' OR puc.TITLE LIKE 'SEM-%') AND puc.PROGRAM='Gradebook' AND puc.USER_ID=s.STAFF_ID AND s.SYEAR='{$next_syear}') FROM STAFF s WHERE (puc.TITLE LIKE 'FY-%' OR puc.TITLE LIKE 'SEM-%') AND puc.PROGRAM='Gradebook' AND puc.USER_ID=s.STAFF_ID AND s.SYEAR='{$next_syear}'"); break; case 'COURSES': DBQuery("DELETE FROM COURSE_SUBJECTS WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("DELETE FROM COURSES WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("DELETE FROM COURSE_PERIOD_SCHOOL_PERIODS cpsp WHERE EXISTS (SELECT COURSE_PERIOD_ID FROM COURSE_PERIODS cp WHERE cp.COURSE_PERIOD_ID=cpsp.COURSE_PERIOD_ID AND cp.SYEAR='{$next_syear}' AND cp.SCHOOL_ID='" . UserSchool() . "');"); DBQuery("DELETE FROM COURSE_PERIODS WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); // ROLL COURSE_SUBJECTS DBQuery("INSERT INTO COURSE_SUBJECTS (SYEAR,SCHOOL_ID,SUBJECT_ID,TITLE,SHORT_NAME,SORT_ORDER,ROLLOVER_ID) SELECT SYEAR+1,SCHOOL_ID," . db_seq_nextval('COURSE_SUBJECTS_SEQ') . ",TITLE,SHORT_NAME,SORT_ORDER,SUBJECT_ID FROM COURSE_SUBJECTS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"); //modif Francois: Moodle integrator if (MOODLE_INTEGRATOR) { $course_subjects_RET = DBGet(DBQuery("SELECT SUBJECT_ID,ROLLOVER_ID FROM COURSES WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "' AND ROLLOVER_ID IS NOT NULL")); foreach ($course_subjects_RET as $value) { DBQuery("UPDATE MOODLEXROSARIO SET ROSARIO_ID={$value['SUBJECT_ID']} WHERE ROSARIO_ID={$value['ROLLOVER_ID']} AND \"COLUMN\"='subject_id' AND SCHOOL_ID='" . UserSchool() . "'"); } } // ROLL COURSES DBQuery("INSERT INTO COURSES (SYEAR,COURSE_ID,SUBJECT_ID,SCHOOL_ID,GRADE_LEVEL,TITLE,SHORT_NAME,ROLLOVER_ID) SELECT SYEAR+1," . db_seq_nextval('COURSES_SEQ') . ",(SELECT SUBJECT_ID FROM COURSE_SUBJECTS s WHERE s.SCHOOL_ID=c.SCHOOL_ID AND s.ROLLOVER_ID=c.SUBJECT_ID),SCHOOL_ID,GRADE_LEVEL,TITLE,SHORT_NAME,COURSE_ID FROM COURSES c WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"); //modif Francois: Moodle integrator if (MOODLE_INTEGRATOR) { $courses_RET = DBGet(DBQuery("SELECT COURSE_ID,ROLLOVER_ID FROM COURSES WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "' AND ROLLOVER_ID IS NOT NULL")); foreach ($courses_RET as $value) { DBQuery("UPDATE MOODLEXROSARIO SET ROSARIO_ID='{$value['COURSE_ID']}' WHERE ROSARIO_ID='{$value['ROLLOVER_ID']}' AND \"COLUMN\"='course_id' AND SCHOOL_ID='" . UserSchool() . "'"); } } // ROLL COURSE_PERIODS DBQuery("INSERT INTO COURSE_PERIODS (SYEAR,SCHOOL_ID,COURSE_PERIOD_ID,COURSE_ID,TITLE,SHORT_NAME,MP,MARKING_PERIOD_ID,TEACHER_ID,ROOM,TOTAL_SEATS,FILLED_SEATS,DOES_ATTENDANCE,GRADE_SCALE_ID,DOES_HONOR_ROLL,DOES_CLASS_RANK,DOES_BREAKOFF,GENDER_RESTRICTION,HOUSE_RESTRICTION,CREDITS,AVAILABILITY,HALF_DAY,PARENT_ID,CALENDAR_ID,ROLLOVER_ID) SELECT SYEAR+1,SCHOOL_ID," . db_seq_nextval('COURSE_PERIODS_SEQ') . ",(SELECT COURSE_ID FROM COURSES c WHERE c.SCHOOL_ID=p.SCHOOL_ID AND c.ROLLOVER_ID=p.COURSE_ID),TITLE,SHORT_NAME,MP,(SELECT MARKING_PERIOD_ID FROM SCHOOL_MARKING_PERIODS n WHERE n.MP=p.MP AND n.SCHOOL_ID=p.SCHOOL_ID AND n.ROLLOVER_ID=p.MARKING_PERIOD_ID),(SELECT STAFF_ID FROM STAFF n WHERE n.ROLLOVER_ID=p.TEACHER_ID),ROOM,TOTAL_SEATS,0 AS FILLED_SEATS,DOES_ATTENDANCE,(SELECT ID FROM REPORT_CARD_GRADE_SCALES WHERE SCHOOL_ID=p.SCHOOL_ID AND ROLLOVER_ID=p.GRADE_SCALE_ID),DOES_HONOR_ROLL,DOES_CLASS_RANK,DOES_BREAKOFF,GENDER_RESTRICTION,HOUSE_RESTRICTION,CREDITS,AVAILABILITY,HALF_DAY,PARENT_ID,(SELECT CALENDAR_ID FROM ATTENDANCE_CALENDARS WHERE SCHOOL_ID=p.SCHOOL_ID AND ROLLOVER_ID=p.CALENDAR_ID),COURSE_PERIOD_ID FROM COURSE_PERIODS p WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("UPDATE COURSE_PERIODS SET PARENT_ID=(SELECT cp.COURSE_PERIOD_ID FROM COURSE_PERIODS cp WHERE cp.ROLLOVER_ID=course_periods.PARENT_ID) WHERE PARENT_ID IS NOT NULL AND SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); $categories_RET = DBGet(DBQuery("SELECT ID,ROLLOVER_ID FROM ATTENDANCE_CODE_CATEGORIES WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "' AND ROLLOVER_ID IS NOT NULL")); foreach ($categories_RET as $value) { DBQuery("UPDATE COURSE_PERIODS SET DOES_ATTENDANCE=replace(DOES_ATTENDANCE,',{$value['ROLLOVER_ID']},',',{$value['ID']},') WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); } //modif Francois: Moodle integrator if (MOODLE_INTEGRATOR) { $course_periods_RET = DBGet(DBQuery("SELECT cp.COURSE_PERIOD_ID, cp.COURSE_ID, cp.SHORT_NAME, cp.MARKING_PERIOD_ID, cp.TEACHER_ID FROM COURSE_PERIODS cp, MOODLEXROSARIO mxc WHERE cp.SYEAR='{$next_syear}' AND cp.SCHOOL_ID='" . UserSchool() . "' AND cp.ROLLOVER_ID IS NOT NULL AND cp.ROLLOVER_ID=mxc.ROSARIO_ID AND mxc.\"COLUMN\"='course_period_id'")); foreach ($course_periods_RET as $rolled_course_period) { $moodleError .= Moodle($_REQUEST['modname'], 'core_course_create_courses'); $moodleError .= Moodle($_REQUEST['modname'], 'enrol_manual_enrol_users'); } } //modif Francois: multiple school periods for a course period // ROLL COURSE_PERIOD_SCHOOL_PERIODS DBQuery("INSERT INTO COURSE_PERIOD_SCHOOL_PERIODS (COURSE_PERIOD_SCHOOL_PERIODS_ID,COURSE_PERIOD_ID,PERIOD_ID,DAYS) SELECT " . db_seq_nextval('COURSE_PERIOD_SCHOOL_PERIODS_SEQ') . ",(SELECT COURSE_PERIOD_ID FROM COURSE_PERIODS cp WHERE cpsp.COURSE_PERIOD_ID=cp.ROLLOVER_ID),(SELECT PERIOD_ID FROM SCHOOL_PERIODS n WHERE n.ROLLOVER_ID=cpsp.PERIOD_ID),DAYS FROM COURSE_PERIOD_SCHOOL_PERIODS cpsp, COURSE_PERIODS cp WHERE cp.SYEAR='" . UserSyear() . "' AND cp.SCHOOL_ID='" . UserSchool() . "' AND cpsp.COURSE_PERIOD_ID=cp.COURSE_PERIOD_ID"); break; case 'STUDENT_ENROLLMENT': $next_start_date = DBDate(); DBQuery("DELETE FROM STUDENT_ENROLLMENT WHERE SYEAR='{$next_syear}' AND LAST_SCHOOL='" . UserSchool() . "'"); // ROLL STUDENTS TO NEXT GRADE //modif Francois: do NOT roll students where next grade is NULL DBQuery("INSERT INTO STUDENT_ENROLLMENT (ID,SYEAR,SCHOOL_ID,STUDENT_ID,GRADE_ID,START_DATE,END_DATE,ENROLLMENT_CODE,DROP_CODE,CALENDAR_ID,NEXT_SCHOOL,LAST_SCHOOL) SELECT " . db_seq_nextval('STUDENT_ENROLLMENT_SEQ') . ",SYEAR+1,SCHOOL_ID,STUDENT_ID,(SELECT NEXT_GRADE_ID FROM SCHOOL_GRADELEVELS g WHERE g.ID=e.GRADE_ID),'{$next_start_date}' AS START_DATE,NULL AS END_DATE,(SELECT ID FROM STUDENT_ENROLLMENT_CODES WHERE SYEAR=e.SYEAR+1 AND TYPE='Add' AND DEFAULT_CODE='Y') AS ENROLLMENT_CODE,NULL AS DROP_CODE,(SELECT CALENDAR_ID FROM ATTENDANCE_CALENDARS WHERE ROLLOVER_ID=e.CALENDAR_ID),SCHOOL_ID,SCHOOL_ID FROM STUDENT_ENROLLMENT e WHERE e.SYEAR='" . UserSyear() . "' AND e.SCHOOL_ID='" . UserSchool() . "' AND (('" . DBDate() . "' BETWEEN e.START_DATE AND e.END_DATE OR e.END_DATE IS NULL) AND '" . DBDate() . "'>=e.START_DATE) AND e.NEXT_SCHOOL='" . UserSchool() . "' AND (SELECT NEXT_GRADE_ID FROM SCHOOL_GRADELEVELS g WHERE g.ID=e.GRADE_ID) IS NOT NULL"); // ROLL STUDENTS WHO ARE TO BE RETAINED DBQuery("INSERT INTO STUDENT_ENROLLMENT (ID,SYEAR,SCHOOL_ID,STUDENT_ID,GRADE_ID,START_DATE,END_DATE,ENROLLMENT_CODE,DROP_CODE,CALENDAR_ID,NEXT_SCHOOL,LAST_SCHOOL) SELECT " . db_seq_nextval('STUDENT_ENROLLMENT_SEQ') . ",SYEAR+1,SCHOOL_ID,STUDENT_ID,GRADE_ID,'{$next_start_date}' AS START_DATE,NULL AS END_DATE,(SELECT ID FROM STUDENT_ENROLLMENT_CODES WHERE SYEAR=e.SYEAR+1 AND TYPE='Add' AND DEFAULT_CODE='Y') AS ENROLLMENT_CODE,NULL AS DROP_CODE,(SELECT CALENDAR_ID FROM ATTENDANCE_CALENDARS WHERE ROLLOVER_ID=e.CALENDAR_ID),SCHOOL_ID,SCHOOL_ID FROM STUDENT_ENROLLMENT e WHERE e.SYEAR='" . UserSyear() . "' AND e.SCHOOL_ID='" . UserSchool() . "' AND (('" . DBDate() . "' BETWEEN e.START_DATE AND e.END_DATE OR e.END_DATE IS NULL) AND '" . DBDate() . "'>=e.START_DATE) AND e.NEXT_SCHOOL='0'"); // ROLL STUDENTS TO NEXT SCHOOL DBQuery("INSERT INTO STUDENT_ENROLLMENT (ID,SYEAR,SCHOOL_ID,STUDENT_ID,GRADE_ID,START_DATE,END_DATE,ENROLLMENT_CODE,DROP_CODE,CALENDAR_ID,NEXT_SCHOOL,LAST_SCHOOL) SELECT " . db_seq_nextval('STUDENT_ENROLLMENT_SEQ') . ",SYEAR+1,NEXT_SCHOOL,STUDENT_ID,(SELECT g.ID FROM SCHOOL_GRADELEVELS g WHERE g.SORT_ORDER=1 AND g.SCHOOL_ID=e.NEXT_SCHOOL),'{$next_start_date}' AS START_DATE,NULL AS END_DATE,(SELECT ID FROM STUDENT_ENROLLMENT_CODES WHERE SYEAR=e.SYEAR+1 AND TYPE='Add' AND DEFAULT_CODE='Y') AS ENROLLMENT_CODE,NULL AS DROP_CODE,(SELECT CALENDAR_ID FROM ATTENDANCE_CALENDARS WHERE ROLLOVER_ID=e.CALENDAR_ID),NEXT_SCHOOL,SCHOOL_ID FROM STUDENT_ENROLLMENT e WHERE e.SYEAR='" . UserSyear() . "' AND e.SCHOOL_ID='" . UserSchool() . "' AND (('" . DBDate() . "' BETWEEN e.START_DATE AND e.END_DATE OR e.END_DATE IS NULL) AND '" . DBDate() . "'>=e.START_DATE) AND e.NEXT_SCHOOL NOT IN ('" . UserSchool() . "','0','-1')"); break; case 'REPORT_CARD_GRADES': DBQuery("DELETE FROM REPORT_CARD_GRADE_SCALES WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("DELETE FROM REPORT_CARD_GRADES WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("INSERT INTO REPORT_CARD_GRADE_SCALES (ID,SYEAR,SCHOOL_ID,TITLE,COMMENT,HR_GPA_VALUE,HHR_GPA_VALUE,SORT_ORDER,ROLLOVER_ID,GP_SCALE,HRS_GPA_VALUE) SELECT " . db_seq_nextval('REPORT_CARD_GRADE_SCALES_SEQ') . ",SYEAR+1,SCHOOL_ID,TITLE,COMMENT,HR_GPA_VALUE,HHR_GPA_VALUE,SORT_ORDER,ID,GP_SCALE,HRS_GPA_VALUE FROM REPORT_CARD_GRADE_SCALES WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("INSERT INTO REPORT_CARD_GRADES (ID,SYEAR,SCHOOL_ID,TITLE,COMMENT,BREAK_OFF,GPA_VALUE,GRADE_SCALE_ID,SORT_ORDER) SELECT " . db_seq_nextval('REPORT_CARD_GRADES_SEQ') . ",SYEAR+1,SCHOOL_ID,TITLE,COMMENT,BREAK_OFF,GPA_VALUE,(SELECT ID FROM REPORT_CARD_GRADE_SCALES WHERE ROLLOVER_ID=GRADE_SCALE_ID AND SCHOOL_ID=report_card_grades.SCHOOL_ID),SORT_ORDER FROM REPORT_CARD_GRADES WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"); break; case 'REPORT_CARD_COMMENTS': DBQuery("DELETE FROM REPORT_CARD_COMMENT_CATEGORIES WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("DELETE FROM REPORT_CARD_COMMENTS WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("INSERT INTO REPORT_CARD_COMMENT_CATEGORIES (ID,SYEAR,SCHOOL_ID,TITLE,SORT_ORDER,COURSE_ID,ROLLOVER_ID) SELECT " . db_seq_nextval('REPORT_CARD_COMMENT_CATEGORIES_SEQ') . ",SYEAR+1,SCHOOL_ID,TITLE,SORT_ORDER," . db_case(array('COURSE_ID', "''", 'NULL', "(SELECT COURSE_ID FROM COURSES WHERE ROLLOVER_ID=rc.COURSE_ID)")) . ",ID FROM REPORT_CARD_COMMENT_CATEGORIES rc WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"); DBQuery("INSERT INTO REPORT_CARD_COMMENTS (ID,SYEAR,SCHOOL_ID,TITLE,SORT_ORDER,COURSE_ID,CATEGORY_ID,SCALE_ID) SELECT " . db_seq_nextval('REPORT_CARD_COMMENTS_SEQ') . ",SYEAR+1,SCHOOL_ID,TITLE,SORT_ORDER," . db_case(array('COURSE_ID', "''", 'NULL', "(SELECT COURSE_ID FROM COURSES WHERE ROLLOVER_ID=rc.COURSE_ID)")) . "," . db_case(array('CATEGORY_ID', "''", 'NULL', "(SELECT ID FROM REPORT_CARD_COMMENT_CATEGORIES WHERE ROLLOVER_ID=rc.CATEGORY_ID)")) . ",SCALE_ID FROM REPORT_CARD_COMMENTS rc WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"); break; case 'ELIGIBILITY_ACTIVITIES': case 'DISCIPLINE_CATEGORIES': //modif Francois: discipline_field_usage rollover //modif Francois: discipline_field_usage rollover case 'DISCIPLINE_FIELD_USAGE': DBQuery("DELETE FROM {$table} WHERE SYEAR='{$next_syear}' AND SCHOOL_ID='" . UserSchool() . "'"); $table_properties = db_properties($table); $columns = ''; foreach ($table_properties as $column => $values) { if ($column != 'ID' && $column != 'SYEAR') { $columns .= ',' . $column; } } DBQuery("INSERT INTO {$table} (ID,SYEAR" . $columns . ") SELECT " . db_seq_nextval($table . '_SEQ') . ",SYEAR+1" . $columns . " FROM {$table} WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "'"); break; // DOESN'T HAVE A SCHOOL_ID // DOESN'T HAVE A SCHOOL_ID case 'STUDENT_ENROLLMENT_CODES': DBQuery("DELETE FROM {$table} WHERE SYEAR='{$next_syear}'"); $table_properties = db_properties($table); $columns = ''; foreach ($table_properties as $column => $values) { if ($column != 'ID' && $column != 'SYEAR') { $columns .= ',' . $column; } } DBQuery("INSERT INTO {$table} (ID,SYEAR" . $columns . ") SELECT " . db_seq_nextval($table . '_SEQ') . ",SYEAR+1" . $columns . " FROM {$table} WHERE SYEAR='" . UserSyear() . "'"); break; case 'FOOD_SERVICE_STAFF_ACCOUNTS': DBQuery("UPDATE FOOD_SERVICE_STAFF_ACCOUNTS SET STAFF_ID=(SELECT STAFF_ID FROM STAFF WHERE ROLLOVER_ID=FOOD_SERVICE_STAFF_ACCOUNTS.STAFF_ID) WHERE exists(SELECT * FROM STAFF WHERE ROLLOVER_ID=FOOD_SERVICE_STAFF_ACCOUNTS.STAFF_ID AND SYEAR='{$next_syear}')"); break; //modif Francois: add School Configuration //modif Francois: add School Configuration case 'PROGRAM_CONFIG': DBQuery("DELETE FROM PROGRAM_CONFIG WHERE SYEAR='{$next_syear}'"); DBQuery("INSERT INTO PROGRAM_CONFIG (SYEAR,SCHOOL_ID,PROGRAM,TITLE,VALUE) SELECT SYEAR+1,SCHOOL_ID,PROGRAM,TITLE,VALUE FROM PROGRAM_CONFIG WHERE SYEAR='" . UserSyear() . "'"); break; } }