function system_school_data_form
Search API
7.x system.module | system_school_data_form($school_id = 0) |
6.x system.module | system_school_data_form( |
4.x system.module | system_school_data_form() |
5.x system.module | system_school_data_form() |
This form is for the school-data, like subject code descriptions, colleges, etc.
File
- modules/
system/ system.module, line 1156
Code
function system_school_data_form($school_id = 0) {
$form = array();
$m = 0;
$school_id = intval($school_id);
$fs = ""; // The field name suffix. We will add this to the end of all of our field names. If this is the default school, leave blank.
if (module_enabled("schools")) {
$school_name = schools_get_school_name_for_id($school_id);
fp_set_title(t("Configure %school school settings", array('%school' => $school_name)));
if ($school_id !== 0) {
$fs = "~~school_" . $school_id;
}
}
$form ['school_id'] = array(
'type' => 'hidden',
'value' => $school_id,
);
$form ["school_initials" . $fs] = array(
"type" => "textfield",
"size" => 20,
"label" => t("School initials:"),
"value" => variable_get_for_school("school_initials", "DEMO", $school_id, TRUE),
"description" => t("Ex: ULM or BPCC"),
);
$form ["earliest_catalog_year" . $fs] = array(
"type" => "textfield",
"size" => 20,
"label" => t("Earliest catalog year:"),
"value" => variable_get_for_school("earliest_catalog_year", "2006", $school_id, TRUE),
"description" => t("This is the earliest possible catalog year FlightPath may look
up. Typically, this is the earliest year for which you have
data (ie, when FlightPath went online.
If FlightPath cannot figure out a catalog year to use,
it will default to this one. Ex: 2006"),
);
$form ["graduate_level_course_num" . $fs] = array(
"type" => "textfield",
"size" => 20,
"label" => t("Graduate level course num:"),
"value" => variable_get_for_school("graduate_level_course_num", "5000", $school_id, TRUE),
"description" => t("This is the course num which means 'graduate level', meaning
anything above it is considered a graduate level course. Ex: 5000"),
);
$form ["hiding_grades_message" . $fs] = array(
"type" => "textarea",
"label" => t("Hiding grades message:"),
"value" => variable_get_for_school("hiding_grades_message", "", $school_id, TRUE),
"description" => t("This message will be displayed when any course on the page
has its bool_hide_grade set to TRUE. If you are not using
this functionality, you can leave this blank."),
);
$form ["show_group_titles_on_view" . $fs] = array(
"type" => "select",
"label" => t("Show group titles on View and What If screens?"),
"hide_please_select" => TRUE,
"options" => array("no" => t("No"), "yes" => t("Yes")),
"value" => variable_get_for_school("show_group_titles_on_view", "no", $school_id, TRUE),
"description" => t("If set to Yes, then group titles will be displayed in the View
and What if screens, similar to how they are displayed when printing.
If unsure what to select, select 'No'."),
);
$form ['max_allowed_selections_in_what_if' . $fs] = array(
'type' => 'textfield',
'label' => t("Maximum number of allowed selections in What If:"),
'value' => variable_get_for_school('max_allowed_selections_in_what_if', 5, $school_id, TRUE),
'description' => t("Selecting multiple degrees and options for What If can significantly impact server performance. It is recommended
to limit the number of selections to no more than 5. If you are unsure what to put here, enter '5'."),
);
$form ['show_both_undergrad_and_grad_degrees_in_what_if' . $fs] = array(
'type' => 'select',
'label' => t("Show both undergraduate and graduate degrees for every student in What If?"),
'options' => array('no' => t('No (default behavior)'), 'yes' => t('Yes')),
'hide_please_select' => TRUE,
'value' => variable_get_for_school('show_both_undergrad_and_grad_degrees_in_what_if', 'no', $school_id, TRUE),
'description' => t("Normally on the What If selection screen, undergrad students can only select from undergrad degrees, and
graduate students can only select from graduate degrees. However, if this is set to 'Yes', then
students will be able to see and select from any degree in What If. If unsure what to select,
choose 'No'."),
);
$form ["show_level_3_on_what_if_selection" . $fs] = array(
"type" => "select",
"label" => t("Show level-3 degree options on What If selection screen?"),
"hide_please_select" => TRUE,
"options" => array("no" => t("No"), "yes" => t("Yes")),
"value" => variable_get_for_school("show_level_3_on_what_if_selection", "yes", $school_id, TRUE),
"description" => t("If set to Yes, then level 3 Track/Options will appear on the What If
selection screen, if a degree is selected with available options.
Setting to 'no' gives behavior more like FlightPath 4.
If unsure what to select, select 'No'."),
);
$form ["course_repeat_policy" . $fs] = array(
"type" => "select",
"label" => t("Course repeat policy:"),
"options" => array("most_recent_exclude_previous" => t("most recent, exclude previous attempts"),
"most_recent_do_not_exclude" => t("most recent, do not exclude previous attempts - \"beta\" feature"),
"best_grade_exclude_others" => t("best grade, exclude other attempts - \"beta\" feature")),
"value" => variable_get_for_school("course_repeat_policy", "most_recent_exclude_previous", $school_id, TRUE),
"hide_please_select" => TRUE,
"description" => t("This setting affects the course repeat policy for FlightPath for normal courses (courses which are not allowed to be repeated normally).
<br><b>If you are unsure what to select</b>, choose 'most recent, exclude previous attempts'.
<br>Please see the
<b><a href='http://getflightpath.com/node/1085' target='_blank'>FlightPath documentation</a></b>
on how to set up this field."),
);
$form ["what_if_catalog_year_mode" . $fs] = array(
"type" => "select",
"label" => t("What If mode default catalog year:"),
"options" => array("current" => t("Current catalog year only"),
"student" => t("Student catalog year only"),
),
"value" => variable_get_for_school("what_if_catalog_year_mode", "current", $school_id, TRUE),
"hide_please_select" => TRUE,
"description" => t("What should be the default catalog year that What If pulls degrees from? For some schools,
changing majors means moving to the current catalog year. However, at other schools, students
may remain in their current catalog year when they change majors. If you are unsure what
to select, choose 'Current catalog year only.'"),
);
$form ["ignore_courses_from_hour_counts" . $fs] = array(
"type" => "textfield",
"label" => t("Ignore courses from hour counts (CSV):"),
"value" => variable_get_for_school("ignore_courses_from_hour_counts", "", $school_id, TRUE),
"description" => t("List courses, separated by comma,
which should be ignored in hours counts. This helps
remedial courses from being applied to hour counts.
<br><b>These courses will automatically be assigned the requirement type code 'x'.</b>
<br>
Ex: MATH 093, ENGL 090, UNIV 1001"),
);
$form ["term_id_structure" . $fs] = array(
"type" => "textarea",
"label" => t("Structure of term ID's:"),
"value" => variable_get_for_school("term_id_structure", "", $school_id, TRUE),
"description" => t("Use this space to define termID structures, one per line.
Please see the
<b><a href='http://getflightpath.com/node/1085' target='_blank'>FlightPath documentation</a></b>
on how to set up this field.") . "
<br> " . t("Like so: Structure, Short Desc, Long Desc, Abbr Desc, Year Adjustment") . "
<br>" . t("Ex:") . "
<br> [Y4]60, Spring, Spring of [Y4], Spr '[Y2], [Y]
<br> [Y4]40, Fall, Fall of [Y4-1], Fall '[Y2-1], [Y-1]",
);
// Let's load the subjects...
$subjects = "";
$query = "SELECT DISTINCT b.subject_id, a.title, a.college FROM draft_courses b LEFT JOIN subjects a
ON (a.subject_id = b.subject_id AND a.school_id = b.school_id)
WHERE exclude = 0
AND b.school_id = ?
ORDER BY b.subject_id
";
$result = db_query($query, $school_id);
while ($cur = db_fetch_array($result))
{
$title = trim($cur ["title"]);
$subject_id = trim($cur ["subject_id"]);
$college = trim($cur ["college"]);
$subjects .= $subject_id . " ~ " . $college . " ~ " . $title . "\n";
}
$form ["subjects" . $fs] = array(
"type" => "textarea",
"label" => t("Subjects:"),
"value" => $subjects,
"rows" => 15,
"description" => t("Enter subjects known to FlightPath (for use
in popups and the Course Search, for example), one per line
in this format:") . "<br>SUBJ ~ COLLEGE ~ Title<br>" . t("For example:") . "
<br> ACCT ~ BA ~ Accounting<br> BIOL ~ AS ~ Biology<br>" . t("Notice
the separator between the code, college, and title is 1 tilde (~). Whatespace is ignored.
<br><b>Important:</b> This field cannot be set up until you have your courses
fully entered. Once that occurs, the course
subjects will automatically appear in this box, where you can then assign the college code
and subject title."),
);
// Load the colleges...
$colleges = "";
$res = db_query("SELECT * FROM colleges WHERE school_id = ? ORDER BY college_code", array($school_id));
while ($cur = db_fetch_array($res)) {
$colleges .= $cur ["college_code"] . " ~ " . $cur ["title"] . "\n";
}
$form ["colleges" . $fs] = array(
"type" => "textarea",
"label" => t("Colleges:"),
"value" => $colleges,
"description" => t("Enter colleges known to FlightPath, one per line, in this format:
") . "<br>COLLEGE_CODE ~ Title<br>" . t("For example:") . "
<br> AE ~ College of Arts, Science, and Education
<br> PY ~ College of Pharmacy<br>" . t("Notice
the separator between the code and title is 1 tilde (~). Whitespace is ignored."),
);
// Load the degree_college data....
$degree_college = "";
$res = db_query("SELECT DISTINCT(major_code) FROM draft_degrees WHERE school_id = ? ORDER BY major_code", array($school_id));
while ($cur = db_fetch_array($res)) {
$major_code = $cur ["major_code"];
// Is there an assigned college already?
$res2 = db_query("SELECT college_code FROM degree_college WHERE major_code = ? AND school_id = ? ", $major_code, $school_id);
$cur2 = db_fetch_array($res2);
$college_code = $cur2 ["college_code"];
$degree_college .= $major_code . " ~ " . $college_code . "\n";
}
$form ["degree_college" . $fs] = array(
"type" => "textarea",
"label" => t("Degree Colleges:"),
"value" => $degree_college,
"rows" => 15,
"description" => t("Enter the degree's college, one per line, in this format:
") . "<br>MAJOR_CODE ~ COLLEGE_CODE<br>" . t("For example:") . "
<br> ACCT ~ AE
<br> BUSN ~ SB<br>" . t("Notice
the separator between the codes is 1 tilde (~). Whitespace is ignored.
<br><b>Important:</b> This field cannot be set up until you have your degrees
entered. Once that occurs, the degree major codes
will automatically appear in this box, where you can then assign the college code.
"),
);
$form ['departments' . $fs] = array(
"type" => 'textarea',
'label' => t("Departments:"),
'value' => variable_get_for_school('departments', '', $school_id, TRUE),
'rows' => 15,
'description' => t("Enter each department, one per line, in this format:
<br>DEPT_CODE ~ Department Name
<br>
For example:
<br> FINAID ~ Financial Aid
<br> REGST ~ Registrar
<br><b>Important:</b> The DEPT_CODE must be <strong>unique</strong> and contain only
letters, numbers, and underscores. The Department Name must not contain any tildes (~) or line breaks, and should be relatively short.
<br>The separator between the DEPT_CODE and the Department Name is a single tilde (~)."),
);
// How many decimal places allowed in substitutions?
$form ["sub_hours_decimals_allowed" . $fs] = array(
"type" => "select",
"label" => t("Substitution hours decimal places allowed:"),
"options" => array(1 => t("1 (ex: 1.1 hrs)"), 2 => t("2 (ex: 1.15 hrs)"), 3 => t("3 (ex: 1.155 hrs)"), 4 => t("4 (ex: 1.1556 hrs)")),
"value" => variable_get_for_school("sub_hours_decimals_allowed", 2, $school_id, TRUE),
"no_please_select" => TRUE,
"description" => t("For hours with decimals (like 2.25 hours), how many numbers
after the decimal place will be allowed? Affects users performing
substitutions. For example, if you select \"2\" here, then
a value of 1.2555 will be rejected, and the user will be asked to re-enter.
1.25, would be accepted, since it has 2 decimal places.
<br>If you are unsure what to select, set to 2."),
);
// Auto-correct course titles?
$form ["autocapitalize_course_titles" . $fs] = array(
"type" => "select",
"label" => t("Auto-capitalize course titles?"),
"options" => array("yes" => "Yes", "no" => "No"),
"hide_please_select" => TRUE,
"value" => variable_get_for_school("autocapitalize_course_titles", "yes", $school_id, TRUE),
"description" => t("If set to yes, course titles in FlightPath will be run through a capitalization
filter, so that 'INTRO TO ACCOUNTING' becomes 'Intro to Accounting'.
Generally, this makes the course names more attractive, but it can
incorrectly capitalize acronyms and initials. Disable if you would like
complete control over capitalization.
<br>If unsure, set to Yes."),
);
// Auto-correct institution names?
$form ["autocapitalize_institution_names" . $fs] = array(
"type" => "select",
"label" => t("Auto-capitalize institution names?"),
"options" => array("yes" => "Yes", "no" => "No"),
"hide_please_select" => TRUE,
"value" => variable_get_for_school("autocapitalize_institution_names", "yes", $school_id, TRUE),
"description" => t("If set to yes, transfer institution names in
FlightPath will be run through a capitalization
filter, so that 'UNIVERSITY OF LOUISIANA AT MONROE'
becomes 'University of Louisiana at Monroe'.
Like the course title setting above, this is to make
inconsistent or unattractive capitalization prettier.
Disable if you would like
complete control over capitalization.
<br>If unsure, set to Yes."),
);
// Only allow ghost subs for fellow ghost hours?
$form ["restrict_ghost_subs_to_ghost_hours" . $fs] = array(
"type" => "select",
"label" => t("Restrict ghost substitutions to courses with zero hours only?"),
"options" => array("yes" => "Yes", "no" => "No"),
"hide_please_select" => TRUE,
"value" => variable_get_for_school("restrict_ghost_subs_to_ghost_hours", "yes", $school_id, TRUE),
"description" => t("If set to yes, courses with \"ghost\" hours may only be
substituted for other courses with \"ghost\" hours. What this
means is that if a course is worth zero hours, it may only be
subbed for a requirement worth zero hours, and it will not appear
as an option for substitutions of courses worth more than zero hours.
This will not affect old subs; only new ones.
<br>If unsure, set to Yes."),
);
$form ["initial_student_course_sort_policy" . $fs] = array(
"type" => "select",
"label" => t("Initial student course sort policy:"),
"options" => array("alpha" => "Alphabetical sort [default]", "grade" => "Best grade first"),
"hide_please_select" => TRUE,
"value" => variable_get_for_school("initial_student_course_sort_policy", "alpha", $school_id, TRUE),
"description" => t("Student courses are sorted more than once as they are evaluated by FlightPath.
By default, they are sorted alphabetically first. If you change this to best-grade-first,
courses will be initally sorted according to the grade they earned, in the order defined in 'Grade order CSV' below.
Any student grades not defined below will be considered the lowest possible grade."),
);
$form ["grade_order" . $fs] = array(
"type" => "textfield",
"label" => t("Grade order (CSV):"),
"value" => variable_get_for_school("grade_order", "E,AMID,BMID,CMID,DMID,FMID,A,B,C,D,F,W,I", $school_id, TRUE),
"description" => t("List all possible grades, separated by comma, from highest to lowest. This is
used if you select 'Best Grade first' order above, but also is used in determining
if a course fulfills a minimum grade requirement.
<br>Ex: AMID,BMID,CMID,DMID,FMID,A,B,C,D,F,W,I"),
);
$form ["minimum_passing_grade" . $fs] = array(
"type" => "textfield",
"size" => 3,
"label" => t("Minimum passing grade:"),
"value" => variable_get_for_school("minimum_passing_grade", "D", $school_id, TRUE),
"description" => t("Enter a grade which is the default minimum grade a student must have earned
for the course to be considered for credit. This will affect course requirements
on degree plans which do not have a min grade set. This value will be used
by default. If unsure, enter D."),
);
$form ["retake_grades" . $fs] = array(
"type" => "textfield",
"label" => t("Retake grades (CSV):"),
"value" => variable_get_for_school("retake_grades", "F,W,I", $school_id, TRUE),
"description" => t("List grades, separated by comma, which means 'the student must
retake this course. They did not earn credit.' Ex: F,W,I"),
);
$form ["withdrew_grades" . $fs] = array(
"type" => "textfield",
"label" => t("Withdrew grades (CSV):"),
"value" => variable_get_for_school("withdrew_grades", "W", $school_id, TRUE),
"description" => t("List grades, separated by comma, which means 'the student withdrew
from this course. They did not earn credit.' Ex: W,WD,WF. If not sure
what to enter here, just enter 'W'."),
);
$form ["enrolled_grades" . $fs] = array(
"type" => "textfield",
"label" => t("Enrolled grades (CSV):"),
"value" => variable_get_for_school("enrolled_grades", "E", $school_id, TRUE),
"description" => t("List grades, separated by comma, which means 'the student is
currently enrolled in this course.' Ex: E,AMID,BMID "),
);
$form ["minimum_substitutable_grade" . $fs] = array(
"type" => "textfield",
"size" => 3,
"label" => t("Minimum substitutable grade:"),
"value" => variable_get_for_school("minimum_substitutable_grade", "D", $school_id, TRUE),
"description" => t("Enter a grade which is the minimum grade a student must have earned
for the course to be allowed in a substitution. This will affect
new substitutions, not old ones. If unsure, enter D."),
);
$form ["group_min_grades" . $fs] = array(
"type" => "textfield",
"label" => t("Group requirement min grades (CSV):"),
"value" => variable_get_for_school("group_min_grades", "D,C,B,A", $school_id, TRUE),
"description" => t("List grades, separated by comma, which should appear in the min grade pulldown when setting a group requirement
in a degree (this also sets the order in which they will appear). If unsure what to enter, use: D,C,B,A"),
);
$form ["calculate_cumulative_hours_and_gpa" . $fs] = array(
"label" => t("Calculate student cumulative hours and GPA?"),
"type" => "select",
"hide_please_select" => TRUE,
"options" => array("no" => t("No"), "yes" => t("Yes")),
"value" => variable_get_for_school("calculate_cumulative_hours_and_gpa", 'no', $school_id, TRUE),
"description" => t("If set to Yes, student cumulative hours and GPA will not be read from the
'students' database table, but will instead be calculated on the fly
each time a student is loaded. If unsure what to do, set to Yes."),
);
$form ['numeric_to_letter_grades' . $fs] = array(
"label" => t("Numeric to Letter Grades:"),
"type" => "textarea",
"value" => variable_get_for_school("numeric_to_letter_grades", "", $school_id, TRUE),
"description" => t("If your school supports numeric grades in your SIS (ex: 91, 80, 65, etc), then they must be converted to
letter grades (A, B, D, etc) for FlightPath. Use this box to define what numeric range translates to which
letter grade. If you are unsure what to enter here, or if your school does not use numeric grades, leave this blank.
<br>Enter in the form of: MIN ~ MAX ~ GRADE
<br>Ex:
<br> 0 ~ 59.99 ~ F
<br> 60 ~ 69.99 ~ D
<br> 70 ~ 79.99 ~ C
<br> 80 ~ 89.99 ~ B
<br> 90 ~ 100.99 ~ A
<br> 101 ~ 999 ~ A <em>(In case scores above 100 are possible)</em>"),
);
$form ["quality_points_grades" . $fs] = array(
"label" => t("Quality points and grades:"),
"type" => "textarea",
"value" => variable_get_for_school("quality_points_grades", "A ~ 4\nB ~ 3\nC ~ 2\nD ~ 1\nF ~ 0\nI ~ 0", $school_id, TRUE),
"description" => t("Enter a grade, and how many quality points it is worth, separated by
tilde (~), one per line. You must include every grade which should count
for (or against) a GPA calculation, even if it is worth zero points. For example,
if an 'F' should cause a GPA to lower (which normally it would), it should be
listed here. If a 'W' grade should simply be ignored, then DO NOT list it here.
Any grade you do not list here will be IGNORED in all GPA calculations.") . "
<br>
Ex:<blockquote style='margin-top:0; font-family: Courier New, monospace;'>
A ~ 4<br>B ~ 3<br>C ~ 2<br>D ~ 1<br>F ~ 0<br>I ~ 0</blockquote>",
);
$form ["requirement_types" . $fs] = array(
"label" => t("Requirement types and codes:"),
"type" => "textarea",
"value" => variable_get_for_school("requirement_types", "g ~ General Requirements\nc ~ Core Requirements\ne ~ Electives\nm ~ Major Requirements\ns ~ Supporting Requirements\nx ~ Additional Requirements", $school_id, TRUE),
"description" => t("Enter requirement type codes and descriptions, separated by a tilde (~), one
per line. <b>You may not use the code 'u'</b> as that is reserved in FlightPath.
<b>You should define what 'x' means</b>, but be aware that the code 'x' will always
designate a course whose hours should be ignored from GPA calculations.
<b>You should define what 'm' means</b>, as this is the default code applied
to a requirement if one is not entered. <b>You should define what
'e' means</b>, as this is also the code given to courses whose types we cannot
figure out, perhaps because of a typo or intentionally. Ex: Electives.
This list also defines the order in which they will appear on screen in
Type View. By convention, codes should be lower case single-letters.") . "
<br>Ex:
<div style='padding-left: 20px; font-family: Courier New, monospace'>
g ~ General Requirements<br>
c ~ Core Requirements<br>
e ~ Electives<br>
m ~ Major Requirements<br>
s ~ Supporting Requirements<br>
x ~ Additional Requirements
</div>
Please see the
<b><a href='http://getflightpath.com/node/1085' target='_blank'>FlightPath documentation</a></b>
for more information on how to set up this field.
",
);
// Check to make sure the gd extension is loaded, since that will be required to display
// the pie charts...
if (!extension_loaded('gd') && !extension_loaded('gd2')) {
$form ["mark_no_gd_library"] = array(
"value" => "<p class='hypo'><b>" . t("Note: it appears your web server does not have the 'GD' library
enabled for PHP. This is required to make the pie charts show up
correctly. Contact your server administrator about enabling the 'GD'
library.") . "</b></p>",
);
}
$form ["pie_chart_config" . $fs] = array(
"label" => t("Pie chart configuration:"),
"type" => "textarea",
"value" => variable_get_for_school("pie_chart_config", "c ~ Core Requirements\nm ~ Major Requirements\ndegree ~ Degree Progress", $school_id, TRUE),
"description" => t("Enter configuration data for the pie charts which graph a student's progress
through their degree. Enter the requirement type code, pie chart label, and optional
colors separated by tilde (~). Requirement types not found for a student will be skipped
and the chart will not be drawn. <b>Enter 'degree' for total progress.</b>") . "
<br>Ex: CODE ~ LABEL ~ [optional: UNFINISHED COLOR ~ PROGRESS COLOR ]
<div style='padding-left: 20px; font-family: Courier New, monospace'>
c ~ Core Requirements ~ 660000 ~ FFCC33<br>
m ~ Major Requirements ~ 660000 ~ 93D18B<br>
degree ~ Degree Progress ~ 660000 ~ 5B63A5
</div>",
);
$form ["pie_chart_gpa" . $fs] = array(
"label" => t("Should pie charts show GPAs?"),
"type" => "select",
"options" => array("no" => "No", "yes" => "Yes"),
"value" => variable_get_for_school("pie_chart_gpa", "no", $school_id, TRUE),
"hide_please_select" => TRUE,
"description" => t("If set to 'Yes', the GPA will be displayed below each pie chart on the View and What If screens.
If unsure what to select, choose 'no'."),
);
$form ["developmentals_title" . $fs] = array(
"label" => t("Developmentals semester block title:"),
"type" => "textfield",
"value" => variable_get_for_school("developmentals_title", t("Developmental Requirements", $school_id)),
"description" => t("This is the title of the Developmental Requirements semester block,
which appears on a student's degree plan, near the bottom, when they
have remedial courses they are required to take. If you are
unsure what to enter, use 'Developmental Requirements'."),
);
$form ["developmentals_notice" . $fs] = array(
"label" => t("Developmentals notice text:"),
"type" => "textarea",
"value" => variable_get_for_school("developmentals_notice", t("According to our records, you are required to complete the course(s) listed above. For some transfer students, your record may not be complete. If you have any questions, please ask your advisor."), $school_id, TRUE),
"description" => t("The text you enter here will be displayed below the Developmentals semester
block, explaining to the student what these courses are. For example:
'According to our records, you are required to complete the course(s) listed
above.'"),
);
$form ["graduate_level_codes" . $fs] = array(
"type" => "textfield",
"label" => t("Graduate level codes (CSV):"),
"value" => variable_get_for_school("graduate_level_codes", "GR", $school_id, TRUE),
"description" => t("List level codes, separated by comma, for both students, courses, and degrees, which should be considered at the Graduate level. If you do not need
to distinguish between graduate and undergraduate credit, leave this field blank.<br>If unsure, set to GR."),
);
$form ["disallow_graduate_credits" . $fs] = array(
"type" => "select",
"label" => t("Disallow automatic use of graduate credits?"),
"options" => array("yes" => "Yes", "no" => "No"),
"hide_please_select" => TRUE,
"value" => variable_get_for_school("disallow_graduate_credits", "yes", $school_id, TRUE),
"description" => t("If set to yes, FlightPath will not automatically use graduate credits (based on the level code the student's credit
is given in the database) to populate elective groups or on the degree plan. They may still be substituted using the
substitution system however. In order for this setting to work, the 'Graduate course level codes' field must be set above.
<br>If unsure, set to Yes."),
);
$form ["display_graduate_credits_block" . $fs] = array(
"type" => "select",
"label" => t("Display graduate credits in their own semester block?"),
"options" => array("yes" => "Yes", "no" => "No"),
"hide_please_select" => TRUE,
"value" => variable_get_for_school("display_graduate_credits_block", "yes", $school_id, TRUE),
"description" => t("If set to yes, FlightPath will display graduate credits in their own block, and NOT in Excess credits. The graduate block details
are set below.
<br>If unsure, set to Yes."),
);
$form ["graduate_credits_block_title" . $fs] = array(
"label" => t("Graduate Credits block title:"),
"type" => "textfield",
"value" => variable_get_for_school("graduate_credits_block_title", t("Graduate Credits"), $school_id, TRUE),
"description" => t("This is the title of the Graduate Credits semester block (setting above),
which appears on a student's degree plan, near the bottom, when they
have graduate credits in their history (based on the credit's level code). If you are
unsure what to enter, use 'Graduate Credits'."),
);
$form ["graduate_credits_block_notice" . $fs] = array(
"label" => t("Graduate Credits block notice text:"),
"type" => "textarea",
"value" => variable_get_for_school("graduate_credits_block_notice", t("These courses may not be used for undergraduate credit."), $school_id, TRUE),
"description" => t("The text you enter here will be displayed below the Gradute Credits semester
block, explaining to the student what these courses are. For example:
'These courses may not be used for undergraduate credit.'"),
);
$form ["exclude_majors_from_appears_in_counts" . $fs] = array(
"label" => t("Exclude major codes from \"appears in\" counts (CSV):"),
"type" => "textfield",
"maxlength" => 1000,
"value" => variable_get_for_school("exclude_majors_from_appears_in_counts", "", $school_id, TRUE),
"description" => t('When a course appears in more than one degree, it is given an extra CSS class
denoting that. This fields lets you enter major codes for degrees, separated by commas,
for any degrees you do not wish to be counted toward the "appears in" counts.
<br> Ex: UGELEC, ACCTB
<br>If you are unsure what to enter, leave this field blank.'),
);
$form ["group_full_at_min_hours" . $fs] = array(
"label" => t("Groups should be considered 'full' when min hours are met or exceeded?"),
"type" => "select",
"options" => array("yes" => "Yes", "no" => "No"),
"value" => variable_get_for_school("group_full_at_min_hours", "yes", $school_id, TRUE),
"hide_please_select" => TRUE,
"description" => t("If a group has been added to a degree plan with 'min hours', should FlightPath consider the group
'full', and stop assigning courses to it, once the assigned courses meets or goes over the min hours value,
even if the max hours have not been fulfilled? This
only affects groups which have been added to a degree plan with min hours set. Ex: 3-6 hours.
If you are unsure what to enter, select 'Yes'"),
);
$form ["remove_advised_when_course_taken" . $fs] = array(
"label" => t("Remove an advised course when a student enrolls in it (or completes it), for the same term?"),
"type" => "select",
"options" => array("yes" => "Yes", "no" => "No"),
"value" => variable_get_for_school("remove_advised_when_course_taken", "no", $school_id, TRUE),
"hide_please_select" => TRUE,
"description" => t("If a student has been advised into a course, and then enrolls in that course before the next
advising term begins, should the advised course (and checkbox) be removed? This would also affect
courses the student completes within that term. The default is 'No', meaning advising checkboxes in View
will continue to show, even if the student has enrolled or completes the course that term. The checkboxes
will disappear when the advising term is no longer available for advising.
Select 'Yes' if you wish to have FlightPath hide advising checkboxes on the View screen when a student
is enrolled or completes a course within the same advising term. If you are unsure what to enter, select 'No'."),
);
$form ["prevent_course_assignment_to_both_degree_and_track" . $fs] = array(
"label" => t("Prevent a course assignment to both a degree and its track(s)?"),
"type" => "select",
"options" => array("yes" => "Yes", "no" => "No"),
"value" => variable_get_for_school("prevent_course_assignment_to_both_degree_and_track", "yes", $school_id, TRUE),
"hide_please_select" => TRUE,
"description" => t("If set to 'Yes' (default), then FlightPath will not allow the same course to be assigned to both a Level-1 degree
and its tracks. For example, if a student completes ENGL 101, and it can be assigned to the major COMPSCI, then
it cannot also be assigned to the track COMPSCI|_OPT1. If you are unsure what to select, leave this set to 'Yes'."),
);
$form ["group_list_course_show_repeat_information" . $fs] = array(
"label" => t("Display 'Repeat Information' for a course in a group's course list?"),
"type" => "select",
"options" => array("yes" => "Yes", "no" => "No"),
"value" => variable_get_for_school("group_list_course_show_repeat_information", "yes", $school_id, TRUE),
"hide_please_select" => TRUE,
"description" => t("If set to 'Yes' (default), FlightPath will how many times a groups may be repeated, when viewing a list
of a Group's courses in a popup. If set to 'No', repeat information will not be displayed, and instead
the course's normal hour information is displayed. If you
are unsure what to select, leave this set to 'Yes'."),
);
$form ["degree_requirement_sort_policy" . $fs] = array(
"type" => "select",
"label" => t("Degree requirement sort policy:"),
"options" => array("alpha" => "Alphabetical sort (default)", "database" => "As entered in database [beta]"),
"hide_please_select" => TRUE,
"value" => variable_get_for_school("degree_requirement_sort_policy", "alpha", $school_id, TRUE),
"description" => t("How should degree course requirements appear to the end user? By default, they will be sorted into alphabetical order.
However, if you wish them to appear in the order the were entered on the Edit Degree form, select 'As entered...'.
<br>If unsure, select 'Alphabetical sort'."),
);
$form ["group_requirement_sort_policy" . $fs] = array(
"type" => "select",
"label" => t("Group requirement sort policy:"),
"options" => array("alpha" => "Alphabetical sort (default)", "database" => "As entered in database [beta]"),
"hide_please_select" => TRUE,
"value" => variable_get_for_school("group_requirement_sort_policy", "alpha", $school_id, TRUE),
"description" => t("How should group course requirements appear to the end user in the popup dialog window? By default, they will be sorted into alphabetical order.
However, if you wish them to appear in the order the were entered on the Edit Group form, select 'As entered...'.
<br>If unsure, select 'Alphabetical sort'."),
);
return $form;
}