Site Status and Room numbers implemented
This commit is contained in:
@@ -22,6 +22,11 @@ class Model_Setup extends ORM {
|
||||
'language'=>array('foreign_key'=>'id','far_key'=>'language_id'),
|
||||
);
|
||||
|
||||
protected $_has_many = array(
|
||||
'dates'=>array('model'=>'Site_Dates','far_key'=>'id','foreign_key'=>'site_id'),
|
||||
'rooms'=>array('far_key'=>'id','foreign_key'=>'site_id'),
|
||||
);
|
||||
|
||||
protected $_compress_column = array(
|
||||
'module_config',
|
||||
'site_details',
|
||||
@@ -92,6 +97,36 @@ class Model_Setup extends ORM {
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function open_dates($date,$days=0) {
|
||||
$result = array();
|
||||
|
||||
$date_end = $date+$days*86400;
|
||||
foreach ($this->dates->where('code','=','O')->where_startstop($date,$date_end)->find_all() as $o)
|
||||
while ($date<$date_end) {
|
||||
// If we havent made the start date yet, we need to advance
|
||||
if ($o->date_start > $date AND $o->date_stop > $date_end) {
|
||||
$result[$date] = FALSE;
|
||||
$date += 86400;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check that this record covers our current date
|
||||
if ($o->date_stop < $date)
|
||||
break;
|
||||
|
||||
$result[$date] = $o->open(date('w',$date)) ? TRUE : FALSE;
|
||||
$date += 86400;
|
||||
}
|
||||
|
||||
// If we broke out and our date $days hasnt ben evaluated, we are closed
|
||||
while ($date<$date_end) {
|
||||
$result[$date] = FALSE;
|
||||
$date += 86400;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get/Set our Site Configuration from the DB
|
||||
*
|
||||
|
Reference in New Issue
Block a user