<?php class Timeclock_EventManagerController extends Unl_Controller_Action { public function indexAction() { $userTable = new Auth_Model_Users(); $eventsTable = new Timeclock_Model_Events(); $events = $eventsTable->findWithAdminUserId($userTable->fetchCurrentUser()->userId); $this->view->events = $events; } public function addPostAction() { $in = $this->_getAllParams(); $eventTable = new Timeclock_Model_Events(); $event = $eventTable->fetchNew(); $event->name = $in['name']; $event->anonymous = $in['anonymous']; $event->allUsers = $in['allUsers']; $userTable = new Auth_Model_Users(); $event->owner = $userTable->fetchCurrentUser()->userId; $event->save(); $eventAttendeeTable = new Timeclock_Model_EventAttendees(); foreach ($in['attendees'] as $nuid) { $attendee = $eventAttendeeTable->fetchNew(); $attendee->event = $event->eventId; $attendee->nuid = $nuid; $attendee->save(); } $eventAdminTable = new Timeclock_Model_EventAdministrators(); $eventAdmin = $eventAdminTable->fetchNew(); $eventAdmin->event = $event->eventId; $eventAdmin->user = $userTable->fetchCurrentUser()->userId; $eventAdmin->save(); $this->_redirect('/timeclock/event-manager'); } public function editPostAction() { $in = $this->_getAllParams(); $eventTable = new Timeclock_Model_Events(); $eventAttendeeTable = new Timeclock_Model_EventAttendees(); $eventAdminTable = new Timeclock_Model_EventAdministrators(); $userTable = new Auth_Model_Users(); foreach ($in['edit'] as $id => $data) { $event = $eventTable->find($id)->current(); if (!$event) { continue; } if ($data['delete']) { $event->delete(); continue; } $event->name = $data['name']; $event->anonymous = $data['anonymous']; $event->allUsers = $data['allUsers']; $event->save(); if (array_key_exists('attendees', $data)) { foreach ($data['attendees'] as $attendeeId => $attendeeData) { $attendee = $eventAttendeeTable->find($attendeeId)->current(); if (!$attendee) { $attendee = $eventAttendeeTable->fetchNew(); $attendee->event = $event->eventId; } if (array_key_exists('delete', $attendeeData) && $attendeeData['delete']) { $attendee->delete(); continue; } $attendee->nuid = $attendeeData['nuid']; $attendee->save(); } } if (array_key_exists('admins', $data)) { foreach ($data['admins'] as $eventAdminId => $adminData) { $eventAdmin = $eventAdminTable->find($eventAdminId)->current(); $user = $userTable->findWithUsername($adminData['username']); if (!$eventAdmin) { $eventAdmin = $eventAdminTable->fetchNew(); $eventAdmin->event = $event->eventId; } if (array_key_exists('delete', $adminData) && $adminData['delete']) { $eventAdmin->delete(); continue; } $eventAdmin->user = $user->userId; $eventAdmin->save(); } } } $this->_redirect('/timeclock/event-manager'); } }