Skip to content
Snippets Groups Projects
Commit 278e62d3 authored by Brett Bieber's avatar Brett Bieber
Browse files

First attempt at using the undergrad bulletin repo for course listings

parent 265d7bd2
No related branches found
No related tags found
No related merge requests found
...@@ -55,6 +55,12 @@ define('UNL_CATALOG_MW_URI', UNL_CATALOG_URI.'mediawiki/index.php/'); ...@@ -55,6 +55,12 @@ define('UNL_CATALOG_MW_URI', UNL_CATALOG_URI.'mediawiki/index.php/');
define('UNL_CATALOG_MW_WGSCRIPTPATH', '/workspace/UNL_GraduateBulletin/www/mediawiki'); define('UNL_CATALOG_MW_WGSCRIPTPATH', '/workspace/UNL_GraduateBulletin/www/mediawiki');
define('UNL_CATALOG_MW_WGARTICLEPATH', "/graduate/$1"); define('UNL_CATALOG_MW_WGARTICLEPATH', "/graduate/$1");
define('UNL_TEMPLATES_DEPENDENTSPATH', $_SERVER['DOCUMENT_ROOT']); define('UNL_TEMPLATES_DEPENDENTSPATH', $_SERVER['DOCUMENT_ROOT']);
define('UNL_UNDERGRADUATEBULLETIN_DIR', dirname(__DIR__) . '/UNL_UndergraduateBulletin');
set_include_path(get_include_path()
. PATH_SEPARATOR . UNL_UNDERGRADUATEBULLETIN_DIR . '/includes/php'
. PATH_SEPARATOR . UNL_UNDERGRADUATEBULLETIN_DIR . '/src'
);
ini_set('display_errors', true); ini_set('display_errors', true);
error_reporting(E_ALL); error_reporting(E_ALL);
...@@ -34,6 +34,16 @@ class UNL_Catalog ...@@ -34,6 +34,16 @@ class UNL_Catalog
*/ */
public $uri_format = 'querystring'; public $uri_format = 'querystring';
/**
* This is the path to the undergraduate bulletin directory
*
* Currently course data is pulled from the latest version of the undergrad bulletin
*
* @var string
*/
public $undergraduate_bulletin_dir = '';
/** /**
* @var bool * @var bool
*/ */
...@@ -50,6 +60,9 @@ class UNL_Catalog ...@@ -50,6 +60,9 @@ class UNL_Catalog
if (defined('UNL_CATALOG_URI_FORMAT')) { if (defined('UNL_CATALOG_URI_FORMAT')) {
$this->uri_format = UNL_CATALOG_URI_FORMAT; $this->uri_format = UNL_CATALOG_URI_FORMAT;
} }
if (defined('UNL_UNDERGRADUATEBULLETIN_DIR')) {
$this->undergraduate_bulletin_dir = UNL_UNDERGRADUATEBULLETIN_DIR;
}
$this->initializeTemplate(); $this->initializeTemplate();
$this->determineView(); $this->determineView();
} }
...@@ -368,19 +381,29 @@ class UNL_Catalog ...@@ -368,19 +381,29 @@ class UNL_Catalog
if (!isset($id) && isset($_GET['id'])) { if (!isset($id) && isset($_GET['id'])) {
$id = $_GET['id']; $id = $_GET['id'];
} }
$subject = $this->factory('subjects'); // Do not cache course search results
if (isset($id) && $subject->get($id)) { //UNL_UndergraduateBulletin_Editions::$editions = array(2012,2011,2010);
$this->p->doctitle = '<title>UNL | Graduate Studies Bulletin | Courses for '.$subject->name.'</title>'; //UNL_UndergraduateBulletin_Editions::$latest = 2012;
$listings = $this->factory('course_listings'); UNL_Services_CourseApproval::setCachingService(new UNL_Services_CourseApproval_CachingService_Null());
$listings->subject_id = $id; UNL_Services_CourseApproval::setXCRIService(new UNL_UndergraduateBulletin_CourseDataDriver());
$listings->whereAdd('number >= 500'); $course_data = new UNL_Services_CourseApproval_Search();
$listings->groupBy('course_id');
$listings->orderBy('number ASC'); if ($listings = $course_data->byAny($id. ' 8')) {
if ($listings->find()) { $subject = new UNL_Services_CourseApproval_SubjectArea($id);
$this->p->maincontentarea .= '<a name="'.$subject->id.'"></a><div style="width:700px" class="subject" id="div_'.$subject->id.'">'.PHP_EOL $this->p->doctitle = '<title>UNL | Graduate Studies Bulletin | Courses for '.$subject->subject.'</title>';
. '<h2 class="sec_header" id="'.$subject->id.'">Courses for '.$subject->name.' ('.$subject->id.') <a class="hideButton" href="#" onclick="toggleCourseView(\'none\', \'div_'.$subject->id.'\'); return false;"><span>+/-</span></a></h2>'.PHP_EOL; if (count($listings)) {
while ($listings->fetch()) { $savvy = new Savvy();
$this->showCourse($listings, $display_subject); $savvy->setEscape('htmlentities');
$savvy->setClassToTemplateMapper(new UNL_UndergraduateBulletin_ClassToTemplateMapper());
$savvy->setTemplatePath($this->undergraduate_bulletin_dir . '/www/templates/html/');
$this->p->maincontentarea .= '<a name="'.$subject->subject.'"></a><div class="subject" id="div_'.$subject->subject.'">'.PHP_EOL
. '<h2 class="sec_header" id="'.$subject->subject.'">Courses for '.$subject->subject.' ('.$subject->subject.') </h2>'.PHP_EOL;
foreach ($listings as $course) {
try {
$this->p->maincontentarea .= $savvy->render($course);
} catch(Savvy_TemplateException $e) {
throw new Exception('Error, could not find course template files. Is the undergraduate bulletin path configured?', 500, $e);
}
} }
$this->p->maincontentarea .= '</div>'.PHP_EOL; $this->p->maincontentarea .= '</div>'.PHP_EOL;
} }
...@@ -401,18 +424,16 @@ class UNL_Catalog ...@@ -401,18 +424,16 @@ class UNL_Catalog
* @param UNL_Catalog_Course_listings $listing * @param UNL_Catalog_Course_listings $listing
* @param boolean $display_subject * @param boolean $display_subject
*/ */
public function showCourse(UNL_Catalog_Course_listings $listing, $display_subject = false) public function showCourse($listing, $display_subject = false)
{ {
if (isset($_GET['format']) && $_GET['format']=='xml') { if (isset($_GET['format']) && $_GET['format']=='xml') {
$format = 'toXml'; $format = 'toXml';
} else { } else {
$format = 'toHtml'; $format = 'toHtml';
} }
if ($html = $listing->$format($display_subject, $this->isLoggedIn())) { $savvy = new Savvy();
$this->p->maincontentarea .= $html; $savvy->setTemplatePath($this->undergraduate_bulletin_dir . '/www/templates/html/');
} else { $this->p->maincontentarea .= $savvy->render($listing, 'Listing.tpl.php');
$this->send404('Could not find course.');
}
} }
/** /**
...@@ -474,7 +495,7 @@ class UNL_Catalog ...@@ -474,7 +495,7 @@ class UNL_Catalog
UNL_Templates::$options['version'] = 3.1; UNL_Templates::$options['version'] = 3.1;
$this->p = UNL_Templates::factory('Fixed'); $this->p = UNL_Templates::factory('Fixed');
$this->p->head .= '<link rel="stylesheet" type="text/css" href="'.$this->uri.'templates/catalog.css" />'; $this->p->head .= '<link rel="stylesheet" type="text/css" href="http://bulletin.unl.edu/undergraduate/templates/html/css/all.css" />';
$this->p->head .= '<script type="text/javascript" src="'.$this->uri.'templates/catalog.js"></script>'; $this->p->head .= '<script type="text/javascript" src="'.$this->uri.'templates/catalog.js"></script>';
$this->p->head .= '<link rel="search" href="'.$this->uri.'?cx=015236299699564929946%3Aipiaeommikw&amp;cof=FORID%3A11&amp;view=search" />'; $this->p->head .= '<link rel="search" href="'.$this->uri.'?cx=015236299699564929946%3Aipiaeommikw&amp;cof=FORID%3A11&amp;view=search" />';
$this->p->head .= '<link rel="home" href="'.$this->uri.'" />'; $this->p->head .= '<link rel="home" href="'.$this->uri.'" />';
......
@CHARSET "UTF-8"; @CHARSET "UTF-8";
.printfooter { display: none; } .printfooter { display: none; }
.course {border-bottom:1px dashed #EEE;padding-bottom:0.4em;margin-bottom:0.4em;}
.course .title {text-transform:none;font-style:normal;}
.course .credit {font-size:70%;color:#AF0909;}
.course .notes {font-style:italic;}
.course .prereqs, .course .description {margin-bottom:0.2em;}
/** /**
* BULLETIN Navigation * BULLETIN Navigation
*/ */
...@@ -61,23 +55,6 @@ ...@@ -61,23 +55,6 @@
.searchtab {clear:both;} .searchtab {clear:both;}
div.subject a span {
display: none;
}
div.subject a {
margin-left: 10px;
padding-right: 80px;
padding-bottom: 0;
font-size: 17px ;
background : url(images/bulletin-hideshow.gif) no-repeat;
background-position: 0 -21px;
}
div.subject a.showButton {
background-position: 0 0;
}
pre { pre {
overflow-x:auto; overflow-x:auto;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment