function system_school_data_form

7.x system.module system_school_data_form($school_id = 0)
6.x system.module system_school_data_form($school_id = 0)
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 1163

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>&nbsp; &nbsp; &nbsp; " . t("Like so: Structure, Short Desc, Long Desc, Abbr Desc, Year Adjustment") . "
                <br>" . t("Ex:") . " 
                <br>&nbsp; &nbsp; &nbsp; [Y4]60, Spring, Spring of [Y4], Spr '[Y2], [Y]
                <br>&nbsp; &nbsp; &nbsp; [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>&nbsp; ACCT ~ BA ~ Accounting<br>&nbsp; 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>&nbsp; AE ~ College of Arts, Science, and Education
                       <br>&nbsp; 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>&nbsp; ACCT ~ AE
                       <br>&nbsp; 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> &nbsp; FINAID ~ Financial Aid
                        <br> &nbsp; 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>&nbsp; 0 ~ 59.99 ~ F
                        <br>&nbsp; 60 ~ 69.99 ~ D
                        <br>&nbsp; 70 ~ 79.99 ~ C
                        <br>&nbsp; 80 ~ 89.99 ~ B
                        <br>&nbsp; 90 ~ 100.99 ~ A
                        <br>&nbsp; 101 ~ 999 ~ A     &nbsp; &nbsp; <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>&nbsp; &nbsp; 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;
}