Функция рабочего времени — Исходники PHP

Из исходников системы мониторинга.

Наблюдение за всеми индикаторами мониторинга работает круглосуточно.
Для некоторых индикаторов понадобилось использовать в качестве условия значение «работает офис или нет».

  
  // Конфигурация

  $OfficeWorkTimes = array(
	// day => null OR day => array('8:00','17:00')
	1 => array('8:00','17:00'), // MON
	2 => array('8:00','17:00'),
	3 => array('8:00','17:00'),
	4 => array('8:00','17:00'),
	5 => array('8:00','17:00'), // FRI
	6 => array('9:00','15:00'), // SAT
	0 => null // SUN
  );
  
  
// Функция


  function OfficeWorkTime($dummy = false) {
	GLOBAL $OfficeWorkTimes;
	// Return: FALSE || array('begin' -> unix_datetime, 'end' -> unix_datetime)
	
	$Now = getdate();	
	$v = $OfficeWorkTimes[$Now['wday']];
	if (null == $v) 
		return false;
	else {
		$begin = strtotime($OfficeWorkTimes[$Now['wday']][0]);
		$end = strtotime($OfficeWorkTimes[$Now['wday']][1]);
		if ( (time() < $begin ) OR ( time() > $end ) ) 
			return false;
		else 
			return array('begin' => $begin, 'end' => $end);
	}
  }

Функция возвращает FALSE если сейчас не рабочее время или массив begin/end с сегодняшним рабочим временем (‘begin’ -> unix_datetime, ‘end’ -> unix_datetime).

Похожие записи:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *