Skip to content
Snippets Groups Projects
Select Git revision
  • bb24e5d376a3a75a0f2b92e72e00f733ca53a643
  • 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

ViewTimeModel.php

Blame
  • ViewTimeModel.php 3.03 KiB
    <?php
    
    class Requests_ViewTimeModel extends Unl_Model
    {
        static public function find($id)
        {
            $db = Zend_Registry::get('db');
            
            $select = new Zend_Db_Select($db);
            $select->from(array('t' => 'creqRequestViewTimes'));
            if (Unl_Util::isArray($id)) {
                $select->where('t.requestViewTimeId IN (?)', $id);
            } else {
                $select->where('t.requestViewTimeId = ?', $id);
            }
            
            $records = $select->query()->fetchAll();
            $objects = new Unl_Model_Collection(__CLASS__);
            foreach ($records as $record) {
                $object = Unl_Model_Registry::getInstance()->getOrAdd(new self($record));
                $objects[$object->getId()] = $object; 
            }
            
            // if we were passed an array of users, return an array for each user
            if (Unl_Util::isArray($id)) {
                return $objects;
            // otherwise, return an array of groups for the single user we were passed
            } else {
                return $objects[$id];
            }
        }
        
        static public function findByUserAndRequest($user, $request)
        {
        	$db = Zend_Registry::get('db');
        	
        	$requestId = $request->getId();
        	$userId = $user->getId();
        	
        	
        	$select = new Zend_Db_Select($db);
        	$select->from(array('t' => 'creqRequestViewTimes'), array('requestViewTimeId', 'user', 'request'));
        	
            if (Unl_Util::isArray($requestId)) {
                $select->where('request IN (?)', $requestId);
            } else {
                $select->where('request = ?', $requestId);
            }
        
            if (Unl_Util::isArray($userId)) {
                $select->where('user IN (?)', $userId);
            } else {
                $select->where('user = ?', $userId);
            }
            
            $records = $select->query()->fetchAll();
            $viewTimeIds = array();
            foreach ($records as $record) {
            	$viewTimeIds[] = $record['requestViewTimeId'];
            }
            
            self::find($viewTimeIds);
            
            $objects = array();
            foreach ($records as $record) {
            	$uId = $record['user'];
            	$rId = $record['request'];
            	$vId = $record['requestViewTimeId'];
    	        if (Unl_Util::isArray($user) && Unl_Util::isArray($request)) {
    	            $objects[$uId][$rId] = Unl_Model_Registry::getInstance()->get(__CLASS__, $vId);