/**
  * This method provides data for ajax requests. Course subjects come in via the 'value' request
  * parameter and are used to look up courses, which are echoed as JSON.
  *
  * @param string $data  Course subject code
  * @return void
  */
 function do_course_lookup($data)
 {
     $editable_sources = array('page_courses', 'categories');
     // Build the list of courses already on the page so we know what's selected
     $this->build_course_list();
     if ($courses = get_courses_by_subjects(array($data), 'academic_catalog_2014_site')) {
         foreach ($courses as $id => $course) {
             $history = $course->get_last_offered_academic_year();
             if ($history < 2014 - 3) {
                 continue;
             }
             $output['title'] = html_entity_decode($course->get_value('name'));
             $output['title'] .= ' (' . $history . ')';
             $output['desc'] = $course->get_value('long_description');
             //if (empty($output['desc'])) continue;
             if (isset($this->courses[$id])) {
                 $output['selected'] = true;
                 $output['editable'] = in_array($this->courses[$id]->include_source, $editable_sources);
             } else {
                 $output['selected'] = false;
                 $output['editable'] = true;
             }
             $list[$id] = $output;
         }
         if (isset($list)) {
             echo json_encode($list);
         } else {
             echo json_encode(false);
         }
     }
 }
 function get_course_list($subject)
 {
     $subject_courses = get_courses_by_subjects(array($subject));
     $site_courses = get_site_courses($this->site_id);
     $html = '<h3>Active Courses</h3>';
     $html .= '<ul class="courseListActive">';
     foreach ($subject_courses as $id => $course) {
         if (isset($site_courses[$id])) {
             $html .= $this->get_course_list_row($course);
             unset($subject_courses[$id]);
         }
     }
     $html .= '</ul>';
     $html .= '<h3>Inactive Courses</h3>';
     $html .= '<ul class="courseListInactive">';
     foreach ($subject_courses as $id => $course) {
         $html .= $this->get_course_list_row($course);
     }
     $html .= '</ul>';
     return $html;
 }