Select Git revision
RequestController.php
PublicViewController.php 8.25 KiB
<?php
/**
* PublicViewController
*
* @author
* @version
*/
class Courses_PublicViewController extends App_Controller_Action {
/**
* The default action - show the home page
*/
public function allCoursesAction()
{
$this->_disableLayoutAndView();
$courses = Courses_CourseModel::findAllActive();
$courses->orderBy('getCourseCode');
$dom = new DOMDocument('1.0', 'UTF-8');
$dom->formatOutput = true;
$root = $dom->createElement('courses');
$dom->appendChild($root);
foreach ($courses as $course) {
$courseNode = $dom->createElement('course');
$courseNode->appendChild($dom->createElement('title', htmlspecialchars($course->getTitle())));
$crosslistings = $course->getCrosslistings();
if (count($crosslistings) > 0) {
$courseCodesNode = $dom->createElement('courseCodes');
$courseNode->appendChild($courseCodesNode);
foreach ($crosslistings as $crosslisting) {
$courseCodeNode = $dom->createElement('courseCode');
$courseCodesNode->appendChild($courseCodeNode);
$courseCodeNode->setAttribute('type', $crosslisting['type']);
$courseCodeNode->appendChild($dom->createElement('subject', $crosslisting['subject']));
$courseCodeNode->appendChild($dom->createElement('courseNumber', $crosslisting['courseNumber']));
if ($crosslisting['courseLetter']) {
$courseCodeNode->appendChild($dom->createElement('courseLetter', $crosslisting['courseLetter']));
}
}
} else {
continue;
}
$courseNode->appendChild($dom->createElement('gradingType', htmlspecialchars($course->getGradingType(), null, 'UTF-8')));
$courseNode->appendChild($dom->createElement('dfRemoval', htmlspecialchars($course->getDfRemoval(), null, 'UTF-8')));
$courseNode->appendChild($dom->createElement('effectiveSemester', htmlspecialchars($course->getEffectiveSemester(), null, 'UTF-8')));
if ($node = $this->_getNodeFromHtmlFragment($dom, 'prerequisite', $course->getPrerequisite())) {
$courseNode->appendChild($node);
}
if ($node = $this->_getNodeFromHtmlFragment($dom, 'notes', $course->getNotes())) {
$courseNode->appendChild($node);
}
if ($node = $this->_getNodeFromHtmlFragment($dom, 'description', $course->getDescription())) {
$courseNode->appendChild($node);
}
if (count($course->getCampuses()) > 0) {
$campusesNode = $dom->createElement('campuses');
$courseNode->appendChild($campusesNode);
foreach ($course->getCampuses() as $campus) {
$campusesNode->appendChild($dom->createElement('campus', $campus));
}
}
if (count($course->getDeliveryMethods()) > 0) {