Skip to content
Snippets Groups Projects
Select Git revision
  • 15ad667ada23c155453980dad3d532b7efe2caba
  • master default
2 results

ReportsController.php

Blame
  • ReportsController.php 7.57 KiB
    <?php
    
    class Timeclock_ReportsController extends Unl_Controller_Action
    {
        protected $_tableNameTransform = array('count' => 'count',
                                               'building_name' => 'Location',
                                               'time' => 'time',
                                               'sex' => 'Gender',
                                               'college' => 'College',
                                               'major_1' => 'Major',
                                               'major_2' => 'Second-Major',
                                               'minor_1' => 'Minor',
                                               'minor_2' => 'Second-Minor',
                                               'degree' => 'Degree',
                                               'class_level' => 'Class',
                                               'honors_program' => 'Honors',
                                               'full_part' => 'Full-time',
                                               'birth_dt' => 'Birthdate',
                                               'ethnic_origin' => 'Ethnicity',
                                               'advisor_name' => 'Advisor',
                                               'pre_prof' => 'Pre-Prof',
                                               'ug_cum_gpa' => 'GPA');
    
        public function indexAction()
        {
        	$this->_redirect('/timeclock/reports/demographics');
        }
        
        public function demographicsAction()
        {
    	    $userTable = new Auth_Model_Users();
            $events = $userTable->fetchCurrentUser()->findDependentRowset('Timeclock_Model_Events');
            $eventsArray = array();
            foreach ($events as $event) {
            	$eventsArray[$event->eventId] = $event->name;
            }
            $this->view->events = $eventsArray;
            $this->view->fields = $this->_tableNameTransform;
        }
    
        public function getDataAction()
        {
        	
        	$eventId = $this->_getParam('eventId');
        	$fields = $this->_getParam('fields');
        	
            $eventId = intval($eventId);
    
            $peopleTable = new Timeclock_Model_People();
            $demographics = $peopleTable->fetchCountBy($eventId, $fields);
    
            
            $dom = new DOMDocument();
            $root = $dom->createElement('result');
            $dom->appendChild($root);
            
            foreach ($demographics as $row) {
            	$recordNode = $dom->createElement('record');
            	$root->appendChild($recordNode);
            	foreach ($row as $key => $value) {
            		$node = $dom->createElement($this->_tableNameTransform[$key]);
            		$node->appendChild($dom->createTextNode($value));
            		$recordNode->appendChild($node);
            	}
            }
            
            header('Content-Type: text/xml');
            echo $dom->saveXML();
            
            exit;