<?php defined('SYSPATH') or die('No direct access allowed.'); /** * This class provides the Directors Welcome Screen * * @package Membership Database * @category Controllers/Director * @author Deon George * @copyright (c) 2014 Deon George * @license http://dev.leenooks.net/license.html */ class Controller_Director_Welcome extends Controller_Welcome { protected $secure_actions = array( 'index'=>TRUE, ); /** * Edit a Module Configuration */ public function action_index() { $output = ''; $date = Site::DateStartOfWeek(time()); $so = Company::instance()->so(); $days = 7; $open_dates = $so->open_dates($date,$days); $output .= '<table class="table table-striped table-condensed table-hover">'; $output .= '<tr>'; $output .= '<th colspan="2"> </th>'; foreach (array_keys($open_dates) as $day) $output .= sprintf('<th class="text-right">%s (%s)</th>',Site::date($day),date('D',$day)); $output .= '</tr>'; $output .= '<tr>'; $output .= '<th colspan="2">Open</th>'; foreach (array_keys($open_dates) as $day) $output .= sprintf('<th class="text-right">%s</th>',StaticList_YesNo::factory()->get(isset($open_dates[$day]) ? $open_dates[$day] : FALSE,TRUE)); $output .= '</tr>'; $output .= '<tr>'; $output .= '<th colspan="2">Total</th>'; foreach (array_keys($open_dates) as $day) $output .= sprintf('<th class="text-right">%s</th>','-'); $output .= '</tr>'; foreach ($so->rooms->find_all() as $ro) { $output .= sprintf('<tr><th colspan="2">%s</th><th colspan="%s"> </th></tr>',$ro->display('name'),$days); // Capacity $output .= '<tr>'; $output .= '<td> </td>'; $output .= '<td>Capacity</td>'; $output .= sprintf('<td class="text-right">%s</td>',join('</td><td class="text-right">',array_values($ro->availability_dates($date,$days)))); $output .= '</tr>'; // Permanent $output .= '<tr>'; $output .= '<td> </td>'; $output .= '<td>Permanent</td>'; foreach (array_values($ro->child_list_date($date,$days)) as $x) $output .= sprintf('<td class="text-right">%s</td>',count($x)); $output .= '</tr>'; // Permanent $output .= '<tr>'; $output .= '<td> </td>'; $output .= '<td>Absent</td>'; foreach (array_values($ro->child_list_date($date,$days,'a')) as $x) $output .= sprintf('<td class="text-right">%s</td>',count($x)); $output .= '</tr>'; // Casual $output .= '<tr>'; $output .= '<td> </td>'; $output .= '<td>Casual</td>'; foreach (array_values($ro->child_list_date($date,$days,'C')) as $x) $output .= sprintf('<td class="text-right">%s</td>',count($x)); $output .= '</tr>'; // Spacer $output .= sprintf('<tr><td colspan="%s"> </td></tr>',$days+2); // Waitlist $output .= '<tr>'; $output .= '<td> </td>'; $output .= '<td>Waitlist</td>'; foreach (array_values($ro->child_list_date($date,$days,'W')) as $x) $output .= sprintf('<td class="text-right">%s</td>',count($x)); $output .= '</tr>'; // Availablity $output .= '<tr>'; $output .= '<td> </td>'; $output .= '<td>Availability</td>'; foreach (array_values($ro->room_availablity($date,$days)) as $x) $output .= sprintf('<td class="text-right">%s</td>',$x); $output .= '</tr>'; // Spacer $output .= sprintf('<tr><td colspan="%s"> </td></tr>',$days+2); } $output .= '</table>'; Block::factory() ->title(sprintf('Site Availability for %s',Site::date($date))) ->title_icon('icon-cog') ->body($output); } } ?>