<?php /** * PublicViewController * * @author * @version */ class Courses_PublicViewController extends App_Controller_Action { /** * The default action - show the home page */ public function allCoursesAction() { $layout = Zend_Layout::getMvcInstance(); $layout->disableLayout(); $this->getFrontController()->setParam('noViewRenderer', true); } /** * This action syncronizes the qreqCourses.currentGeneration field with data from creqCourseGenerations * */ public function testAction() { $layout = Zend_Layout::getMvcInstance(); $layout->disableLayout(); $this->getFrontController()->setParam('noViewRenderer', true); header('Content-type: text/plain'); $db = Zend_Registry::get('db'); $sql = 'SELECT * FROM creqCourseGenerations'; $data = $db->query($sql)->fetchAll(); $courses = array(); foreach ($data as $row) { $courseId = $row['course']; $generationId = $row['courseGenerationId']; $courses[$courseId][$generationId] = $row; } $courseLatest = array(); foreach ($courses as $courseId => $course) { $parent = null; $parentIds = array(); foreach ($course as $generation) { if ($generation['parent']) { $parentIds[] = $generation['parent']; } } foreach ($course as $generation) { if (!in_array($generation['courseGenerationIds'], $parentIds)) { $latest = $generation; } } while ($latest['parent'] && $latest['type'] != 'official') { $latest = $course[$latest['parent']]; } if ($latest['type'] != 'official') { $latestId = null; } else { $latestId = $latest['courseGenerationId']; } $courseLatest[$courseId] = $latestId; } foreach ($courseLatest as $courseId => $latestId) { $data = array('currentGeneration' => $latestId); $where = 'courseId = ' . $courseId; $db->update('creqCourses', $data, $where); } } }