function admin_add_degree_form_submit
Search API
7.x admin.degrees.inc | admin_add_degree_form_submit($form, $form_submit) |
6.x admin.degrees.inc | admin_add_degree_form_submit($form, $form_submit) |
4.x admin.degrees.inc | admin_add_degree_form_submit($form, $form_submit) |
5.x admin.degrees.inc | admin_add_degree_form_submit($form, $form_submit) |
Submit handler for the add_degree_form.
File
- modules/
admin/ admin.degrees.inc, line 652
Code
function admin_add_degree_form_submit($form, $form_submit) {
$values = $form_submit ["values"];
$degree_id = -1;
$de_catalog_year = $values ["de_catalog_year"];
// This will be used to add a new degree (and possibly track)
// to the database.
$major_code = trim(strtoupper($values ["major_code"]));
$track_code = trim(strtoupper($values ["track_code"]));
$school_id = intval(@$values ["school_id"]);
$new_major = $values ["new_major"];
$new_track = $values ["new_track"];
$allow_dynamic = variable_get("admin_degrees_default_allow_dynamic", "1");
$for_school = $school_name = "";
if (module_enabled("schools")) {
$for_school = " for school %school";
$school_name = schools_get_school_name_for_id($school_id);
}
// First, deal with the major/concentration.
if ($new_major == "new") {
// This means we are trying to add a new major to the degrees table.
// We may proceed with this.
$db2 = new DatabaseHandler();
$degree_id = $db2->request_new_degree_id();
$db2->db_query("INSERT INTO draft_degrees
(degree_id, major_code, catalog_year, allow_dynamic, title, school_id)
values (?, ?, ?, ?, ?, ?) ", $degree_id, $major_code, $de_catalog_year, $allow_dynamic, $major_code, $school_id);
}
if ($new_track == "new") {
//////////////////////////////////////////////////
// Now, let's see about adding ourself a track...
// First, check to see if it exists...
$res = db_query("SELECT * FROM draft_degree_tracks
WHERE catalog_year = ?
AND major_code = ?
AND track_code = ? ", $de_catalog_year, $major_code, $track_code);
if (db_num_rows($res) > 0) {
// Meaning, it already existed, so we can't create it.
fp_add_message(t("The major and track code %major_code already exists for %year. You cannot add it as a new major/track code.", array("%major_code" => "$major_code $track_code", "%year" => $de_catalog_year)), "error");
return;
}
else {
// We can add it to the tracks table...
$db2 = new DatabaseHandler();
$db2->db_query("INSERT INTO draft_degree_tracks
(catalog_year, major_code, track_code)
values ('?', '?', '?') ", $de_catalog_year, $major_code, $track_code);
// Now, we also need to add this major & track code to the degrees table.
$new_major_code = $major_code;
if (strstr($major_code, "|")) {
// Already has a pipe, so it has a concentration.
$new_major_code .= "_$track_code";
}
else {
// No concentration...
$new_major_code .= "|_$track_code";
}
$degree_id = $db2->request_new_degree_id();
$db2->db_query("INSERT INTO draft_degrees
(degree_id, major_code, catalog_year, allow_dynamic, title, school_id)
values (?, ?, ?, ?, ?, ?) ", $degree_id, $new_major_code, $de_catalog_year, $allow_dynamic, $new_major_code, $school_id);
}
}
// Let's add some default semester blocks for this degree (0 - 3).
if ($degree_id > 0) {
for ($t = 0; $t <= 3; $t++) {
db_query("INSERT INTO draft_degree_requirements
(degree_id, semester_num, course_id, course_min_grade, course_requirement_type, data_entry_value)
values (?,?,?,?,?,?) ", $degree_id, $t, 0, '', '', "#");
}
}
watchdog("admin", "Degree $major_code $track_code,school id: $school_id, ($de_catalog_year) has been created successfully. Degree id = $degree_id");
// Success! We are done.
fp_add_message(t("The new degree %major_code was added successfully for %year$for_school.
You may add another degree, or use the menu at the top of the page to return to your list
of degrees, so you may begin editing the degree.", array("%major_code" => "$major_code $track_code", "%year" => $de_catalog_year, "%school" => $school_name)));
clear_session_form_values("admin_add_degree_form");
}