function advise_init_screen
Search API
6.x advise.module | advise_init_screen() |
4.x advise.module | advise_init_screen() |
5.x advise.module | advise_init_screen() |
9 calls to advise_init_screen()
- advise_display_popup_change_track in modules/
advise/ advise.module - Lets the user change the track for this major.
- advise_display_popup_course_description in modules/
advise/ advise.module - advise_display_popup_group_select in modules/
advise/ advise.module - advise_display_popup_substitute_selected in modules/
advise/ advise.module - advise_display_popup_toolbox_courses in modules/
advise/ advise.toolbox.inc
File
- modules/
advise/ advise.module, line 1190
Code
function advise_init_screen() {
global $degree_plan, $student, $fp, $window_mode, $user, $current_student_id, $screen;
$db = get_global_database_handler();
// Insert our advising vars into the GLOBALS array for easy use later.
advise_init_advising_variables();
$perform_action = trim(addslashes($_REQUEST ["perform_action"]));
if ($_REQUEST ["clear_session"] == "yes") {
//advise_save_advising_variables_to_db();
// reload our advising vars into the GLOBALS array for easy use later.
//$GLOBALS["fp_advising"] = advise_load_advising_variables_from_db($current_student_id, $user->id);
}
// Insert our advising vars into the GLOBALS array for easy use later.
//$GLOBALS["fp_advising"] = advise_load_advising_variables_from_db($current_student_id, $user->id);
$bool_what_if = false;
$csid = $current_student_id;
$cache = $_SESSION ["cache_fp$csid"];
if ($GLOBALS ["fp_advising"]["advising_what_if"] == "yes") {
$major_code = $GLOBALS ["fp_advising"]["what_if_major_code"];
$track_code = $GLOBALS ["fp_advising"]["what_if_track_code"];
$bool_what_if = true;
$cache = $_SESSION ["cache_what_if$csid"];
}
$bool_draft = true;
//fpm($GLOBALS["fp_advising"]);
if ($GLOBALS ["fp_advising"]["advising_load_active"] == "yes") {
// If we are loading from Active, then rebuild the cache as well.
$bool_draft = false;
$GLOBALS ["fp_advising"]["load_from_cache"] = "no";
}
///////////////////////
/// Disable student data Caching....
//$GLOBALS["load_from_cache"] = "no";
// Attempt to load the course inventory cache...
if ($course_inventory = unserialize($_SESSION ["fp_cache_course_inventory"])) {
$GLOBALS ["fp_course_inventory"] = $course_inventory;
}
$bool_loaded = FALSE;
if ($GLOBALS ["fp_advising"]["load_from_cache"] == "yes" && $cache != "" && $fp = unserialize($cache)) {
$bool_loaded = TRUE;
$fp->db = get_global_database_handler();
$student = $fp->student;
if ($student->student_id == "") {
$bool_loaded = FALSE;
}
$degree_plan = $fp->degree_plan;
$student->db = get_global_database_handler();
$degree_plan->db = get_global_database_handler();
}
if (!$bool_loaded) {
$fp = new FlightPath();
$fp->init();
$student = $fp->student;
$degree_plan = $fp->degree_plan;
$GLOBALS ["fp_advising"]["load_from_cache"] = "no";
$bool_loaded = TRUE;
}
// Should we update the USER settings for anything?
if ($GLOBALS ["fp_advising"]["fp_update_user_settings_flag"] != "") {
if (!$db->update_user_settings_from_post($user->id)) {
fp_add_message(t("Unable to update user settings. Please try again later."));
}
}
// If the form has been saved, this token is expected. This protects
// against XSS attacks.
$form_token = md5("advise_display_view" . fp_token());
if ($perform_action == "save_draft") {
if ($_REQUEST ["form_token"] != $form_token) {
die(t("Sorry, but you have encountered an error. A form submission was flagged
as possibly being an invalid or forged submission. This may constitute a bug
in the system. Please report this error to your Systems Administrator."));
}
// Save, then reload the student.
$adv_id_array = $fp->save_advising_session_from_post(0, true);
// Look for hook_save_advising_session()...
invoke_hook("save_advising_session", $adv_id_array);
$bool_draft = TRUE; // load draft, since we just saved it (and changed something)
//fpm("saved draft");
}
if ($perform_action == "save_active") {
if ($_REQUEST ["form_token"] != $form_token) {
die(t("Sorry, but you have encountered an error. A form submission was flagged
as possibly being an invalid or forged submission. This may constitute a bug
in the system. Please report this error to your Systems Administrator."));
}
// Save, then go to the history screen.
$adv_id_array = $fp->save_advising_session_from_post(0, false);
// Look for hook_save_advising_session()...
invoke_hook("save_advising_session", $adv_id_array);
// Use an fp_goto command here to go to the History screen
// Serialize the adv_id_array so we can send it along in our fp_goto command...
$adv_id_serialized = serialize($adv_id_array);
fp_goto("history", "adv_id_array_serialized=" . urlencode($adv_id_serialized));
return;
}
// Is the user trying to view "by type" or by year?
if ($GLOBALS ["fp_advising"]["advising_view"] == "type") {
$screen = new AdvisingScreenTypeView("", $fp);
$screen->view = "type";
}
else {
// Default advising view. "View by Year"
$screen = new AdvisingScreen("", $fp);
$screen->view = "year";
}
if ($_REQUEST ["bool_blank"] == "true" || $_REQUEST ["blank_degree_id"] != "") {
$screen->bool_blank = TRUE;
}
if ($bool_what_if == true && $GLOBALS ["fp_advising"]["what_if_major_code"] == "") {
// In other words, we are on the WhatIf tab, but we have not
// selected a major. So, just exit out. We will give the user
// a display_screen later.
return;
}
if ($GLOBALS ["fp_advising"]["load_from_cache"] != "yes") {
// do not load from cache....
$student->load_student();
$student->load_student_substitutions();
$student->load_unassignments();
$student->list_courses_taken->sort_alphabetical_order();
$student->list_courses_taken->sort_most_recent_first();
// print_pre($student->list_courses_taken->toString());
$fp->flag_outdated_substitutions();
// We shouldn't supply the advising_term_id, so that it will load all terms available.
//$fp->load_advising_session_from_database(0,"",$bool_what_if,$bool_draft,0);
$fp->assign_courses_to_semesters(); // bare degree plan. not groups.
$fp->assign_courses_to_groups();
}
else {
}
if ($GLOBALS ["fp_advising"]["save_to_cache"] != "no" && $window_mode != "popup") {
if ($bool_what_if == false) {
// NOT in whatIf mode. Normal.
$_SESSION ["cache_fp$csid"] = serialize($fp);
}
else {
// We are in WhatIf mode.
$_SESSION ["cache_what_if$csid"] = serialize($fp);
}
}
// We shouldn't supply the advising_term_id, so that it will load all terms available.
$fp->load_advising_session_from_database(0, "", $bool_what_if, $bool_draft, 0);
// Once we have loaded the advising session, we should always try to load
// from draft from then on out.
$GLOBALS ["fp_advising"]["advising_load_active"] = "";
}