Select Git revision
RequestController.php
RequestController.php 35.24 KiB
<?php
class RequestController extends Nmc_Controller_Action
{
public function init()
{
$this->_registerPlugin(new Application_Controller_Action_Plugin_Authorize());
}
public function indexAction()
{
return $this->SearchAction();
}
public function searchAction()
{
$in = $this->_getAllParams();
if($in[0] != '' && $in[1] != '') {
return $this->searchResultsAction();
}
$out = new Application_View();
$out->page = 'request/search';
$out->addCssFile('/ooss/request/edit_wrapper');
$out->tagline = 'Course Search';
echo $out->render('unlModernWrapper.xhtml');
}
public function searchResultsAction()
{
$in = $this->_getAllParams();
$subject = Zend_Filter_Alpha::filter($in[0]);
$courseNumber = Zend_Filter_Digits::filter($in[1]);
$courseLetter = Zend_Filter_Alpha::filter($in[2]);
$course = CourseCrosslistings::fetchBySubjectNumberLetter(
$subject, $courseNumber, $courseLetter
);
$requestedCourse = CourseCrosslistings::fetchBySubjectNumberLetter(
$subject, $courseNumber, $courseLetter, false
);
$out = new Application_View();
$out->subject = $subject;
$out->courseNumber = $courseNumber;
$out->courseLetter = $courseLetter;
if(!$course) {
// course not found
$out->page = 'request/create_new_course_ask';
Nmc_Registry_Session::getInstance()->erase('course');
} else {
// course found
Nmc_Registry_Session::getInstance()->erase('course');
$out->page = 'request/course_found';
$parentCourse = $course->getParentCourse();
$course = clone $parentCourse;
if ($course->subject != $subject ||
$course->courseNumber != $courseNumber ||
$course->courseLetter != $courseLetter)
{
$out->crosslisting = true;
$out->homeSubject = $course->subject;
$out->homeCourseLetter = $course->courseLetter;
$out->homeCourseNumber = $course->courseNumber;