CC-2166: Packaging Improvements. Moved the Zend app into airtime_mvc. It is now installed to /var/www/airtime. Storage is now set to /srv/airtime/stor. Utils are now installed to /usr/lib/airtime/utils/. Added install/airtime-dircheck.php as a simple test to see if everything is install/uninstalled correctly.
This commit is contained in:
parent
514777e8d2
commit
b11cbd8159
4546 changed files with 138 additions and 51 deletions
316
airtime_mvc/library/pear/Calendar/Table/Helper.php
Normal file
316
airtime_mvc/library/pear/Calendar/Table/Helper.php
Normal file
|
@ -0,0 +1,316 @@
|
|||
<?php
|
||||
/* vim: set expandtab tabstop=4 shiftwidth=4: */
|
||||
|
||||
/**
|
||||
* Contains the Calendar_Decorator_Wrapper class
|
||||
*
|
||||
* PHP versions 4 and 5
|
||||
*
|
||||
* LICENSE: Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @category Date and Time
|
||||
* @package Calendar
|
||||
* @author Harry Fuecks <hfuecks@phppatterns.com>
|
||||
* @copyright 2003-2007 Harry Fuecks
|
||||
* @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
|
||||
* @version CVS: $Id: Helper.php 246317 2007-11-16 20:05:32Z quipo $
|
||||
* @link http://pear.php.net/package/Calendar
|
||||
*/
|
||||
|
||||
/**
|
||||
* Used by Calendar_Month_Weekdays, Calendar_Month_Weeks and Calendar_Week to
|
||||
* help with building the calendar in tabular form
|
||||
*
|
||||
* @category Date and Time
|
||||
* @package Calendar
|
||||
* @author Harry Fuecks <hfuecks@phppatterns.com>
|
||||
* @copyright 2003-2007 Harry Fuecks
|
||||
* @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
|
||||
* @link http://pear.php.net/package/Calendar
|
||||
* @access public
|
||||
*/
|
||||
class Calendar_Table_Helper
|
||||
{
|
||||
/**
|
||||
* Instance of the Calendar object being helped.
|
||||
* @var object
|
||||
* @access private
|
||||
*/
|
||||
var $calendar;
|
||||
|
||||
/**
|
||||
* Instance of the Calendar_Engine
|
||||
* @var object
|
||||
* @access private
|
||||
*/
|
||||
var $cE;
|
||||
|
||||
/**
|
||||
* First day of the week
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
var $firstDay;
|
||||
|
||||
/**
|
||||
* The seven days of the week named
|
||||
* @access private
|
||||
* @var array
|
||||
*/
|
||||
var $weekDays;
|
||||
|
||||
/**
|
||||
* Days of the week ordered with $firstDay at the beginning
|
||||
* @access private
|
||||
* @var array
|
||||
*/
|
||||
var $daysOfWeek = array();
|
||||
|
||||
/**
|
||||
* Days of the month built from days of the week
|
||||
* @access private
|
||||
* @var array
|
||||
*/
|
||||
var $daysOfMonth = array();
|
||||
|
||||
/**
|
||||
* Number of weeks in month
|
||||
* @var int
|
||||
* @access private
|
||||
*/
|
||||
var $numWeeks = null;
|
||||
|
||||
/**
|
||||
* Number of emtpy days before real days begin in month
|
||||
* @var int
|
||||
* @access private
|
||||
*/
|
||||
var $emptyBefore = 0;
|
||||
|
||||
/**
|
||||
* Constructs Calendar_Table_Helper
|
||||
*
|
||||
* @param object &$calendar Calendar_Month_Weekdays, Calendar_Month_Weeks, Calendar_Week
|
||||
* @param int $firstDay (optional) first day of the week e.g. 1 for Monday
|
||||
*
|
||||
* @access protected
|
||||
*/
|
||||
function Calendar_Table_Helper(& $calendar, $firstDay=null)
|
||||
{
|
||||
$this->calendar = & $calendar;
|
||||
$this->cE = & $calendar->getEngine();
|
||||
if (is_null($firstDay)) {
|
||||
$firstDay = $this->cE->getFirstDayOfWeek(
|
||||
$this->calendar->thisYear(),
|
||||
$this->calendar->thisMonth(),
|
||||
$this->calendar->thisDay()
|
||||
);
|
||||
}
|
||||
$this->firstDay = $firstDay;
|
||||
$this->setFirstDay();
|
||||
$this->setDaysOfMonth();
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs $this->daysOfWeek based on $this->firstDay
|
||||
*
|
||||
* @return void
|
||||
* @access private
|
||||
*/
|
||||
function setFirstDay()
|
||||
{
|
||||
$weekDays = $this->cE->getWeekDays(
|
||||
$this->calendar->thisYear(),
|
||||
$this->calendar->thisMonth(),
|
||||
$this->calendar->thisDay()
|
||||
);
|
||||
$endDays = array();
|
||||
$tmpDays = array();
|
||||
$begin = false;
|
||||
foreach ($weekDays as $day) {
|
||||
if ($begin) {
|
||||
$endDays[] = $day;
|
||||
} else if ($day === $this->firstDay) {
|
||||
$begin = true;
|
||||
$endDays[] = $day;
|
||||
} else {
|
||||
$tmpDays[] = $day;
|
||||
}
|
||||
}
|
||||
$this->daysOfWeek = array_merge($endDays, $tmpDays);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs $this->daysOfMonth
|
||||
*
|
||||
* @return void
|
||||
* @access private
|
||||
*/
|
||||
function setDaysOfMonth()
|
||||
{
|
||||
$this->daysOfMonth = $this->daysOfWeek;
|
||||
$daysInMonth = $this->cE->getDaysInMonth(
|
||||
$this->calendar->thisYear(), $this->calendar->thisMonth());
|
||||
$firstDayInMonth = $this->cE->getFirstDayInMonth(
|
||||
$this->calendar->thisYear(), $this->calendar->thisMonth());
|
||||
$this->emptyBefore=0;
|
||||
foreach ($this->daysOfMonth as $dayOfWeek) {
|
||||
if ($firstDayInMonth == $dayOfWeek) {
|
||||
break;
|
||||
}
|
||||
$this->emptyBefore++;
|
||||
}
|
||||
$this->numWeeks = ceil(
|
||||
($daysInMonth + $this->emptyBefore)
|
||||
/
|
||||
$this->cE->getDaysInWeek(
|
||||
$this->calendar->thisYear(),
|
||||
$this->calendar->thisMonth(),
|
||||
$this->calendar->thisDay()
|
||||
)
|
||||
);
|
||||
for ($i=1; $i < $this->numWeeks; $i++) {
|
||||
$this->daysOfMonth =
|
||||
array_merge($this->daysOfMonth, $this->daysOfWeek);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the first day of the month
|
||||
*
|
||||
* @return int
|
||||
* @access protected
|
||||
* @see Calendar_Engine_Interface::getFirstDayOfWeek()
|
||||
*/
|
||||
function getFirstDay()
|
||||
{
|
||||
return $this->firstDay;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the order array of days in a week
|
||||
*
|
||||
* @return int
|
||||
* @access protected
|
||||
*/
|
||||
function getDaysOfWeek()
|
||||
{
|
||||
return $this->daysOfWeek;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the number of tabular weeks in a month
|
||||
*
|
||||
* @return int
|
||||
* @access protected
|
||||
*/
|
||||
function getNumWeeks()
|
||||
{
|
||||
return $this->numWeeks;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the number of real days + empty days
|
||||
*
|
||||
* @return int
|
||||
* @access protected
|
||||
*/
|
||||
function getNumTableDaysInMonth()
|
||||
{
|
||||
return count($this->daysOfMonth);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the number of empty days before the real days begin
|
||||
*
|
||||
* @return int
|
||||
* @access protected
|
||||
*/
|
||||
function getEmptyDaysBefore()
|
||||
{
|
||||
return $this->emptyBefore;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the index of the last real day in the month
|
||||
*
|
||||
* @todo Potential performance optimization with static
|
||||
* @return int
|
||||
* @access protected
|
||||
*/
|
||||
function getEmptyDaysAfter()
|
||||
{
|
||||
// Causes bug when displaying more than one month
|
||||
//static $index;
|
||||
//if (!isset($index)) {
|
||||
$index = $this->getEmptyDaysBefore() + $this->cE->getDaysInMonth(
|
||||
$this->calendar->thisYear(), $this->calendar->thisMonth());
|
||||
//}
|
||||
return $index;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the index of the last real day in the month, relative to the
|
||||
* beginning of the tabular week it is part of
|
||||
*
|
||||
* @return int
|
||||
* @access protected
|
||||
*/
|
||||
function getEmptyDaysAfterOffset()
|
||||
{
|
||||
$eAfter = $this->getEmptyDaysAfter();
|
||||
return $eAfter - (
|
||||
$this->cE->getDaysInWeek(
|
||||
$this->calendar->thisYear(),
|
||||
$this->calendar->thisMonth(),
|
||||
$this->calendar->thisDay()
|
||||
) * ($this->numWeeks-1));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the timestamp of the first day of the current week
|
||||
*
|
||||
* @param int $y year
|
||||
* @param int $m month
|
||||
* @param int $d day
|
||||
* @param int $firstDay first day of the week (default 1 = Monday)
|
||||
*
|
||||
* @return int timestamp
|
||||
*/
|
||||
function getWeekStart($y, $m, $d, $firstDay=1)
|
||||
{
|
||||
$dow = $this->cE->getDayOfWeek($y, $m, $d);
|
||||
if ($dow > $firstDay) {
|
||||
$d -= ($dow - $firstDay);
|
||||
}
|
||||
if ($dow < $firstDay) {
|
||||
$d -= (
|
||||
$this->cE->getDaysInWeek(
|
||||
$this->calendar->thisYear(),
|
||||
$this->calendar->thisMonth(),
|
||||
$this->calendar->thisDay()
|
||||
) - $firstDay + $dow);
|
||||
}
|
||||
return $this->cE->dateToStamp($y, $m, $d);
|
||||
}
|
||||
}
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue