From 06e7257a3c21c5bccd526b31702e9e14a9142df2 Mon Sep 17 00:00:00 2001
From: Tim Steiner <tsteiner2@unl.edu>
Date: Fri, 8 Nov 2013 11:13:37 -0600
Subject: [PATCH] Updates to support changes to OUP files. @2h00

---
 .../bulletin/models/RepositoryModel.php       | 11 ++++-
 .../modules/bulletin/models/SectionModel.php  | 49 +++++++++----------
 2 files changed, 34 insertions(+), 26 deletions(-)

diff --git a/application/modules/bulletin/models/RepositoryModel.php b/application/modules/bulletin/models/RepositoryModel.php
index c44d57b5..eb5eeb1d 100644
--- a/application/modules/bulletin/models/RepositoryModel.php
+++ b/application/modules/bulletin/models/RepositoryModel.php
@@ -31,6 +31,9 @@ class Bulletin_RepositoryModel
             foreach (glob($yearDirectory . '/colleges/*') as $collegeFile) {
                 $files[$year]['colleges'][basename($collegeFile)] = basename($collegeFile, '.xhtml');
             }
+            foreach (glob($yearDirectory . '/other/*') as $otherFile) {
+                $files[$year]['other'][basename($otherFile)] = basename($otherFile, '.xhtml');
+            }
         }
         return $files;
     }
@@ -218,6 +221,8 @@ class Bulletin_RepositoryModel
 
     public function getFilePathForCollegeMajorYear($college, $major, $year)
     {
+        $college = strtr($college, array('/' => '-'));
+        $major   = strtr($major,   array('/' => '-'));
         $year = intval($year);
 
         $xhtmlFiles = array();
@@ -244,7 +249,11 @@ class Bulletin_RepositoryModel
             if (array_key_exists($major, $nameMap)) {
                 $major = $nameMap[$major];
             }
-            $path = $xhtmlFiles['majors'][$major];
+            if ($college == 'Other University Programs') {
+                $path = $xhtmlFiles['other'][$major];
+            } else {
+                $path = $xhtmlFiles['majors'][$major];
+            }
         } else {
             $path = $xhtmlFiles['colleges'][$college . ' Main Page'];
         }
diff --git a/application/modules/bulletin/models/SectionModel.php b/application/modules/bulletin/models/SectionModel.php
index 662c4cce..7c94fdcb 100644
--- a/application/modules/bulletin/models/SectionModel.php
+++ b/application/modules/bulletin/models/SectionModel.php
@@ -400,7 +400,7 @@ class Bulletin_SectionModel extends Unl_Model
             'requirementsForMinorOfferedByDepartment' => 'Requirements For Minor Offered By Department',
         ),
         'Other University Programs' => array(
-            'Academic Policies and Procedures' => array(
+            'Academic Policies & Procedures' => array(
                 'creditHourDefinition'                                 => 'Credit Hour Definition',
                 'academicAdviserAssignment'                            => 'Academic Adviser Assignment',
                 'studentsResponsibilitiesInAcademicAdvising'           => 'Students Responsibilities in Academic Advising',
@@ -414,35 +414,32 @@ class Bulletin_SectionModel extends Unl_Model
                 'honorsConvocationRecognitionRequirements'             => 'Honors Convocation Recognition Requirements',
                 'recognitionOfOutstandingAcademicAchievement'          => 'Recognition of Outstanding Academic Achievement',
                 'gradingPolicies'                                      => 'Grading Policies',
-                'generalEducationRequirementsAce'                      => 'General Education Requirements (ACE)',
-                'aceInstitutionalObjectivesAndStudentLearningOutcomes' => 'ACE Institutional Objectives and Student Learning Outcomes',
-                'aceStructuralCriteria'                                => 'ACE Structural Criteria',
             ),
             'Admissions' => array(
                 'assuredAdmission' => 'Assured Admission',
                 'deficiencies'     => 'Deficiencies',
             ),
             'Aerospace Studies/Air Force ROTC' => array(
-                'description' => 'Description',
+                'description'              => 'Description',
                 'eligibilityAndEnrollment' => 'Eligibility and Enrollment',
-                'programs' => 'Programs',
-                'scholarshipsBenefits' => 'Scholarships/Benefits',
-                'curriculum' => 'Curriculum',
-                'creditHours' => 'Credit Hours',
-                'militaryObligation' => 'Military Obligation',
-                'fieldTrainingProgram' => 'FieldTrainingProgram',
-
+                'programs'                 => 'Programs',
+                'scholarshipsBenefits'     => 'Scholarships/Benefits',
+                'curriculum'               => 'Curriculum',
+                'creditHours'              => 'Credit Hours',
+                'militaryObligation'       => 'Military Obligation',
+                'fieldTrainingProgram'     => 'Field Training Program',
             ),
             'General Education Requirements (ACE)' => array(
-
+                'generalEducationRequirementsAce'                      => 'General Education Requirements (ACE)',
+                'aceInstitutionalObjectivesAndStudentLearningOutcomes' => 'ACE Institutional Objectives and Student Learning Outcomes',
+                'aceStructuralCriteria'                                => 'ACE Structural Criteria',
             ),
             'Graduate Studies' => array(
                 'admissionOfUnlSeniors' => 'Admission of UNL Seniors',
                 'graduateCoursesTakenByUnlSeniors' => 'Graduate Courses Taken by UNL Seniors',
-
             ),
-            'Jeffrey S. Raikes School of Computer Science and Management' => array(
-                // No Sections
+            'Jeffrey S. Raikes School of Computer Science & Management' => array(
+                'description' => 'Description',
             ),
             'Military Science/Army ROTC' => array(
                 'description'               => 'Description',
@@ -460,22 +457,22 @@ class Bulletin_SectionModel extends Unl_Model
                 'individualizedProgramOfStudiesInNavalScience' => 'Individualized Program of Studies in Naval Science',
             ),
             'Pre-Professional Studies' => array(
-                // No sections
+                'description' => 'Description',
             ),
             'The Libraries' => array(
                 'description'          => 'Description',
                 'coursesOfInstruction' => 'Courses of Instruction',
             ),
             'Transfer' => array(
-                'undergraduateTransferCreditPolicy' => 'Undergraduate Transfer Credit Policy',
-                'transferCreditPractices'           => 'Transfer Credit Practices',
-                'aCreditPresentedForTransfer'       => 'A. Credit presented for transfer from within the University of Nebraska System',
-                'bInterInstitutionalAgreements'     => 'B. Inter-institutional Agreements',
-                'cCreditPresentedForTransfer'       => 'C. Credit presented for transfer which requires additional review by the degree college',
-                'specialSituationsAndLimitations'   => 'Special Situations, Qualifications, and Limitations related to Transfer of Credit',
+                'undergraduateTransferCreditPolicy'                                          => 'Undergraduate Transfer Credit Policy',
+                'transferCreditPractices'                                                    => 'Transfer Credit Practices',
+                'aCreditPresentedForTransferFromWithinTheUniversityOfNebraskaSystem'         => 'A. Credit presented for transfer from within the University of Nebraska System',
+                'bInterinstitutionalAgreements'                                              => 'B. Inter-institutional Agreements',
+                'cCreditPresentedForTransferWhichRequiresAdditionalReviewByTheDegreeCollege' => 'C. Credit presented for transfer which requires additional review by the degree college',
+                'specialSituationsQualificationsAndLimitationsRelatedToTransferOfCredit'     => 'Special Situations, Qualifications, and Limitations related to Transfer of Credit',
             ),
             'University Honors Program' => array(
-                // No sections
+                'description' => 'Description',
             ),
         ),
     );
@@ -535,9 +532,11 @@ class Bulletin_SectionModel extends Unl_Model
                 '</span>' => '',
             ));
             $key = strtolower($key);
-            $key = strtr($key, array('&amp;' => 'and', '/' => ' '));
+            $key = strtr($key, array('&amp;' => 'and'));
+            $key = preg_replace('/\W/', ' ', $key);
             $key = ucwords($key);
             $key = strtr($key, array(' ' => ''));
+            $key = preg_replace('/\W/', '', $key);
             $key[0] = strtolower($key[0]);
             $key = strtr($key, array(
                 'majorEndorsementRequirements' => 'majorRequirements'
-- 
GitLab