Skip to content
Snippets Groups Projects
Select Git revision
  • 79ac4b3f238ce4b4da16c4dae63a7fd1b70e8b91
  • main default protected
2 results

subsequence.test.js

Blame
  • ReportsController.php 7.96 KiB
    <?php
    
    class Iace_ReportsController extends Creq_Controller_Action
    {
    	
    	public function indexAction()
    	{
    		//
    	}
    	
    	public function weeklyAction()
    	{
    		$filters = array();
    		$validators = array(
                'year'  => 'Digits',
                'month' => 'Digits',
                'day'   => 'Digits',
                'sort'  => 'Alpha'
    		);
            $in = new Zend_Filter_Input($filters, $validators, $this->_getAllParams());
            if ($in->isValid()) {
            	$endDate = new Zend_Date();
            	$endDate->setYear($in->year);
            	$endDate->setMonth($in->month);
                $endDate->setDay($in->day);
                $endDate->setHour(0);
                $endDate->setMinute(0);
                $endDate->setSecond(0);
                $endDate->addDay(1);
                $startDate = clone $endDate;
                $startDate->subDay(7);
            } else {
            	$endDate = new Zend_Date(0);
            	$startDate = $startDate;
            }
    		
    		$db = Zend_Registry::get('db');
    		$select = new Zend_Db_Select($db);
    		$select->from(array('h' => 'creqApprovalHistories'), array('time'));
    		$select->join(array('r' => 'creqRequests'), 'h.request = r.requestId', array('r.requestId'));
    		$select->where('h.approvalActionName = ?', 'Make Official');
            $select->where('r.type IN (?)', array(6, 7, 8, 9, 10, 12));
            $select->where('h.time >= ?', $startDate->getTimestamp());
            $select->where('h.time < ?', $endDate->getTimestamp());
    		
    		$data = $select->query()->fetchAll();
    		$requestIds = array();
    		$finalizeTimes = array();
    		foreach ($data as $row) {
    			$requestIds[] = $row['requestId'];
    			$finalizeTimes[$row['requestId']] = $row['time'];
    		}
    		
    		$requests = Requests_RequestModel::find($requestIds);
    		$courses = Courses_CourseModel::findLatestOfRequest($requests);
    		
            $courseIds = array();
            foreach ($courses as $course) {
                $courseIds[] = $course->getCourseId();
            }
            $currentCourses = Courses_CourseModel::findByCourseId($courseIds);
    		
    		$courses->orderBy('getCourseCode');
    		
    		$data = new Unl_Model_Collection('Unl_Model_Array');
            foreach ($courses as $requestId => $course) {
                $request = $requests[$requestId];
                $finalizeTime = $finalizeTimes[$request->getId()];
                $title = $course->getTitle();
                if ($course->getCrosslistingsText()) {