Skip to content
Snippets Groups Projects
Select Git revision
  • 2c2e3fbfc94f51e2db46220e7ab292ed09190d97
  • master default
  • disable-new-requests
  • fix-bulletin-view-missing-notes-error
  • add-missing-queue-managers
  • projects-task-53
  • projects-task-51
  • projects-task-43
  • projects-task-24
  • projects-task-31
  • projects-task-32
  • projects-task-8
  • project-setup-docs
  • projects-task-28
  • projects-task-27
  • projects-task-9
  • projects-task-7
  • mass-update-course-codes-in-sections
  • wdn-four
  • learning-outcomes
  • additional-bulletin-pages
  • svn-redesign
  • svn-popups
  • svn-trunk
  • svn-performance
  • svn-tim
26 results

RequestController.php

Blame
  • 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) {