function assignAction()
 {
     $user = \bootstrap::getInstance()->getUser();
     if (!$user['id'] || $user['type'] != 'admin') {
         return $this->_redirect('/');
     }
     $staff_id = $this->params('staff');
     $staff = $this->userDataMapper()->find(array('id' => $staff_id));
     $form = $this->servicesForm();
     if ($this->getRequest()->isPost() && $form->isValid($this->params()->fromPost())) {
         $this->userDataMapper()->unassignServices($staff_id);
         $this->userDataMapper()->assignMultiple($form->getValue('services'), $staff_id);
         $this->flashMessenger()->addMessage('Staff\'s Services Updated');
         if (isset($_SESSION['admin_setup'])) {
             return $this->redirect()->toRoute('staff-availability', ['staff' => $user['id']]);
         }
         return $this->redirect()->toRoute('manage-staff');
     }
     $this->viewParams['staff'] = $staff;
     $this->viewParams['form'] = $form;
     if (isset($_SESSION['admin_setup'])) {
         $this->viewParams['admin_setup'] = 1;
     }
     return $this->viewParams;
 }
 function indexAction()
 {
     $this->init();
     $layoutViewModel = $this->layout();
     $progress = new ViewModel(['step' => 2]);
     $progress->setTemplate('application/progress');
     $layoutViewModel->addChild($progress, 'progress');
     $user = \bootstrap::getInstance()->getUser();
     $staffSelector = $this->staffSelector(true, $this->params('service'));
     if (!is_null($staffSelector->getValue('staff'))) {
         $this->staff_selection = $staffSelector->getValue('staff');
     } else {
         $this->staff_selection = $this->listStaff($this->params()->fromQuery('service'));
     }
     $this->viewParams = $this->viewParams + ['staffSelector' => $staffSelector, 'therapist_id' => $this->params()->fromQuery('staff'), 'service' => $this->params('service')];
     $this->renderCalendar($this->viewParams);
     /** Display controls to toggle between week & calendar views */
     $this->viewParams['mode'] = $this->params('mode');
     $viewModel = new ViewModel($this->viewParams);
     $viewModel->setTemplate('application/calendar-mode-chooser');
     //return $viewModel;
     $viewModel = new ViewModel($this->viewParams);
     if ($this->params('mode') == 'week') {
         /** Display the week view */
         $viewModel->setTemplate('week-choose');
     } else {
         /** Display the calendar */
         $viewModel->setTemplate('application/calendar-choose');
     }
     return $viewModel;
 }
 function init()
 {
     $user = \bootstrap::getInstance()->getUser();
     if ($this->requestedCalendarOutOfRange()) {
         $this->viewParams['limitMonths'] = $this->limitMonths;
         $viewModel->setTemplate('limited', null, true);
         $month = date('m');
         $year = date('Y');
     } else {
         $month = $this->month();
         $year = $this->year();
     }
     $this->number_of_days_in_month = cal_days_in_month(CAL_GREGORIAN, $month, $year);
     $this->viewParams['year'] = $year;
     $this->viewParams['month'] = $month;
     $this->viewParams['month_name'] = date('F', strtotime('1-' . $month . '-' . $year));
     $this->viewParams['number_of_days_in_month'] = $this->number_of_days_in_month;
 }
 function cancelAction()
 {
     $user = \bootstrap::getInstance()->getUser();
     if (!$user['id']) {
         return $this->_redirect('/');
     }
     $db = \Zend_Registry::get('db');
     $newValues = array('canceled' => 1);
     $condition = 'id=' . (int) $this->params('id');
     $appointment_date = $db->select()->from('appointments', array('date'))->where('id=?', $this->params('id'))->query()->fetchColumn();
     if ($user['type'] == 'client') {
         $booking = new Booking(array('today' => date('Y-m-d'), 'date' => $appointment_date));
         if (!$booking->allowCancelByUser()) {
             echo 'not allowed to cancel';
             exit;
         }
         $condition .= ' && user_id = ' . (int) $user['id'];
     } else {
         if ($user['type'] == 'staff') {
             $condition .= ' && staff_userid = ' . (int) $user['id'];
         } else {
             if ($user['type'] !== 'admin') {
                 return $this->_redirect('/');
             }
         }
     }
     $db->update('appointments', $newValues, $condition);
     $logMessage = 'Therapist appointment #' . (int) $this->params('id');
     $logMessage .= ' cancelled by user #' . $user['id'];
     $this->cancelsLogger()->log($logMessage, Zend_Log::INFO);
     $this->viewParams['date'] = $appointment_date;
     $viewModel = new ViewModel($this->viewParams);
     $viewModel->setTemplate('appointments/cancel.phtml');
     $htmlOutput = $this->getServiceLocator()->get('viewrenderer')->render($viewModel);
     $mail = new Zend_Mail();
     $mail->addTo($user['email']);
     $mail->setBodyText($htmlOutput);
     $this->queueMail($mail);
     echo $htmlOutput;
     $this->_helper->viewRenderer->setNoRender(true);
 }
 function indexAction()
 {
     $user = \bootstrap::getInstance()->getUser();
     if (!$user['id'] || $user['type'] != 'staff' && $user['type'] != 'admin') {
         return $this->_redirect('/');
     }
     if ($user['type'] == 'admin' && !$this->params('staff')) {
         throw new Exception('Admin must have a staff selected');
     }
     $this->viewParams['availability'] = array();
     for ($day = 1; $day <= 7; $day++) {
         $staff = $user['type'] == 'admin' ? $this->params('staff') : $user['id'];
         $this->viewParams['availability'][$day] = $this->selectAvailability($day, null, $staff);
     }
     $db = \Zend_Registry::get('db');
     if ($this->params()->fromQuery('remove')) {
         $db->delete('availability', array('id = ' . (int) $this->params()->fromQuery('remove')));
         $this->flashMessenger()->addMessage('Deleted Availability');
         return $this->redirect()->toUrl($this->url()->fromRoute('staff-availability', array(), true));
     }
     $form = new \Application\AvailabilityForm();
     if ($this->getRequest()->isPost() && $form->isValid($this->params()->fromPost())) {
         $staff_userid = $user['type'] == 'admin' ? $this->params('staff') : $user['id'];
         $parameters = array('staff_userid' => $staff_userid, 'day_of_week' => $form->getValue('day'), 'start' => $form->getValue('start'), 'end' => $form->getValue('end'));
         $this->availabilityDataMapper()->insert($parameters);
         $this->flashMessenger()->addMessage('Added Availability');
         if (isset($_SESSION['admin_setup'])) {
             return $this->redirect()->toRoute('home');
         }
         return $this->redirect()->toUrl($this->url()->fromRoute('staff-availability', array(), true));
     }
     $this->viewParams['form'] = $form;
     if (isset($_SESSION['admin_setup'])) {
         $this->viewParams['admin_setup'] = 1;
     }
     $viewModel = new ViewModel($this->viewParams);
     $viewModel->setTemplate('application/availability-manage.phtml');
     return $viewModel;
 }
 function preDispatch()
 {
     $user = \bootstrap::getInstance()->getUser();
 }
예제 #7
0
            // If being run from sub-domain, load the hosted client's config
            $id = $matches[1];
            $file = '../website/var/website_configs/' . $id;
            if (!file_exists($file)) {
                throw new Exception('Unkown client');
            }
            define('APPLICATION_ENVIRONMENT', 'production');
        } else {
            // If being run on localhost
            define('APPLICATION_ENVIRONMENT', 'localhost');
            $file = 'database-config.ini';
        }
        if (!file_exists($file)) {
            $file = 'database-config.ini.dist';
        }
        $config = new Zend_Config_Ini($file, APPLICATION_ENVIRONMENT);
        Zend_Registry::set('database_config', $config);
        Zend_Registry::set('mysql_command', $config->mysql_command);
    }
    function startDb()
    {
        $configuration = Zend_Registry::get('database_config');
        Zend_Registry::set('db', new Zend_Db_Adapter_Pdo_Mysql($configuration->database->params));
    }
    function getRequest()
    {
        return $this->frontController->getRequest();
    }
}
$bootstrap = bootstrap::getInstance();
$bootstrap->execute();
예제 #8
0
<?php

use lib\url;
$conf = \bootstrap::getInstance('conf');
?>
<footer>
    <p>&copy; myAppOne 2014</p>
</footer>
예제 #9
0
 function admintutorialAction()
 {
     $user = \bootstrap::getInstance()->getUser();
     if ($user['type'] == 'admin') {
         $_SESSION['admin_setup'] = 1;
         return $this->redirect()->toRoute('new-service');
     }
 }