0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
webcalendar
/
1.2.0-4
/
standard
/
htdocs
/
includes
/
classes
/
[
Home
]
File: Event.class
<?php /** * Declares the Event class. * * @author Adam Roben <adam.roben@gmail.com> * @copyright Craig Knudsen, <cknudsen@cknudsen.com>, http://www.k5n.us/cknudsen * @license http://www.gnu.org/licenses/gpl.html GNU GPL * @version $Id: Event.class,v 1.20.2.4 2008/04/24 19:28:50 umcesrjones Exp $ * @package WebCalendar * @subpackage Events */ /** * An event parameter object. * * This is a parameter object. It only has simple accessors. */ class Event { /** * The event's name. * @var string * @access private */ var $_name; /** * The event's description. * @var string * @access private */ var $_description; /** * The event's date (in YYYYMMDD format). * @var string * @access private */ var $_date; /** * The event's time (in HHMMSS format). * @var string * @access private */ var $_time; /** * The event's modified date (in YYYYMMDD format). * @var string * @access private */ var $_moddate; /** * The event's modified time (in HHMMSS format). * @var string * @access private */ var $_modtime; /** * The event's ID. * @var int * @access private */ var $_id; /** * Extension ID. * * If this event is an extension of an event that carried over into the * current date, <var>$_extForID</var> will hold the original event's date. * * @var mixed * @access private */ var $_extForID; /** * The event's priority. * @var int * @access private */ var $_priority; /** * The event's access level. * @var string * @access private */ var $_access; /** * The event's duration in minutes. * @var int * @access private */ var $_duration; /** * The event's status. * @var string * @access private */ var $_status; /** * The event's owner. * @var string * @access private */ var $_owner; /** * The event's category ID. * @var int * @access private */ var $_category; /** * The event's owner. * @var mixed * @access private */ var $_login; /** * The event's type. * @var mixed * @access private */ var $_calType; /** * The event's type name. * @var mixed * @access private */ var $_calTypeName; /** * The event's location. * @var mixed * @access private */ var $_location; /** * The event's url. * @var mixed * @access private */ var $_url; /** * The event's dueDate. * @var mixed * @access private */ var $_dueDate; /** * The event's dueTime. * @var mixed * @access private */ var $_dueTime; /** * The event's percent. * @var mixed * @access private */ var $_percent; /** * The event's end time . * @var mixed * @access private */ var $_endTime; /** * The event's end datetime . * @var mixed * @access private */ var $_endDateTime; /** * Is this an All Day event? * @var bool * @access private */ var $_allDay; /** * Is this an Timed event? * @var bool * @access private */ var $_timed; /** * Is this an Untimed event? * @var bool * @access private */ var $_untimed; /** * Flag to record a cloned event * @var int * @access private */ var $_clone; /** * Creates a new Event. * * @param string $name Name of the event * @param string $description Event's description * @param string $date Event's date (in YYYYMMDD format) * @param string $time Event's time (in HHMMSS format) * @parm string $moddate Event's mod date (in YYYYMMDD format) * @param string $modtime Event's mod time (in HHMMSS format) * @param int $id Event's ID * @param mixed $extForID Event's extension ID (or '' for none) * @param int $priority Event's priority * @param string $access Event's access level * @param int $duration Event's duration (in minutes) * @param string $status Event's status * @param string $owner Event's cal_create_by * @param string $login Event's owner * @param string $calType Event's type * @param string $location Event's location * @param string $url Event's url * @parm int $dueDate Task's due date (in YYYYMMDD format) * @parm int $dueTime Task's due time (in HHMMSS format) * @parm int $percent Task's percentage of completion * * @return Event The new Event * * @access public */ function Event ( $name, $description, $date, $time, $id, $extForID, $priority, $access, $duration, $status, $owner, $category, $login, $calType, $location, $url, $dueDate, $dueTime, $percent, $moddate, $modtime ) { $this->_name = $name; $this->_description = $description; $this->_date = $date; $this->_time = $time; $this->_moddate = $moddate; $this->_modtime = $modtime; $this->_id = $id; $this->_extForID = $extForID; $this->_priority = $priority; $this->_access = $access; $this->_duration = $duration; $this->_status = $status; $this->_owner = $owner; $this->_category = $category; $this->_login = $login; $this->_calType = $calType; $this->_location = $location; $this->_url = $url; $this->_dueDate = $dueDate; $this->_dueTime = sprintf ( "%06d", $dueTime ); $this->_due = $dueDate . sprintf ( "%06d", $dueTime ); $this->_percent = $percent; $this->_clone = ''; // If public access override event name/description is enabled, then // hide the event name and description if ( $GLOBALS['login'] == '__public__' && ! empty ( $GLOBALS['override_public'] ) && $GLOBALS['override_public'] == 'Y' ) { $this->_name = $GLOBALS['override_public_text']; $this->_description = $GLOBALS['override_public_text']; } } /** * Gets the event's name * * @return string The event's name * * @access public */ function getName () { return $this->_name; } /** * Gets the event's description * * @return string The event's description * * @access public */ function getDescription () { return $this->_description; } /** * Gets the event's date * * @return string The event's date (in YYYYMMDD format) * * @access public */ function getDate () { return $this->_date; } function getDateTimeAdjusted () { $year = substr ( $this->_date, 0, 4 ); $month = substr ( $this->_date, 4, 2 ); $day = substr ( $this->_date, 6, 2 ); if ( $this->isTimed() ) { $h = (int) ( $this->_time / 10000 ); $m = ( $this->_time / 100 ) % 100; $this->_Date = date ( 'Ymd', gmmktime ( $h, $m, 0, $month, $day, $year ) ); } else { $h = $m = 0; $this->_Date = date ( 'Ymd', mktime ( $h, $m, 0, $month, $day, $year ) ); } return $this->_Date; } /** * Gets the event's time * * @return string The event's time (in HHMMSS format) * * @access public */ function getTime () { return $this->_time; } /** * Gets the event's modified date * * @return string The event's modifieddate (in YYYYMMDD format) * * @access public */ function getModDate () { return $this->_moddate; } /** * Gets the event's modified time * * @return string The event's modified time (in HHMMSS format) * * @access public */ function getModTime () { return $this->_modtime; } /** * Gets the task due time * * @return string The task due time (in HHMMSS format) * * @access public */ function getDueTime () { return $this->_dueTime; } /** * Gets the task due date * * @return string The task due date (in YYYYMMDD format) * * @access public */ function getDueDate () { return $this->_dueDate; } /** * Gets the task's due date/time as a Unix timestamp * * @return integer The task's due date/time as a timestamp * * @access public */ function getDueDateTimeTS () { $year = substr ( $this->_dueDate, 0, 4 ); $month = substr ( $this->_dueDate, 4, 2 ); $day = substr ( $this->_dueDate, 6, 2 ); if ( $this->_time > 0 ) { $h = (int) ( $this->_dueTime / 10000 ); $m = ( $this->_dueTime / 100 ) % 100; } else { $h = $m = 0; } $this->_DueDateTime = gmmktime ( $h, $m, 0, $month, $day, $year ); return $this->_DueDateTime; } /** * Gets the event's date/time * * @return string The event's date/time (in YYYYMMDDHHMMSS format) * * @access public */ function getDateTime () { $time = ($this->_time > 0? $this->_time: 0); $this->_DateTime = $this->_date . sprintf ( "%06d", $time ); return $this->_DateTime; } /** * Gets the event's date/time as a Unix timestamp * * @return integer The event's date/time as a timestamp * * @access public */ function getDateTimeTS () { $year = substr ( $this->_date, 0, 4 ); $month = substr ( $this->_date, 4, 2 ); $day = substr ( $this->_date, 6, 2 ); if ( $this->isTimed() ) { $h = (int) ( $this->_time / 10000 ); $m = ( $this->_time / 100 ) % 100; $this->_DateTime = gmmktime ( $h, $m, 0, $month, $day, $year ); } else { $h = $m = 0; $this->_DateTime = mktime ( $h, $m, 0, $month, $day, $year ); } return $this->_DateTime; } /** * Gets the event's ID * * @return int The event's ID * * @access public */ function getID () { return $this->_id; } /** * Gets the event's extension ID * * @return mixed The event's extension ID (or '' for none) * * @access public */ function getExtForID () { return $this->_extForID; } /** * Gets the event's priority * * @return int The event's priority * * @access public */ function getPriority () { return $this->_priority; } /** * Gets the event's access level * * @return string The event's access level * * @access public */ function getAccess () { return $this->_access; } /** * Gets the event's duration * * @return int The event's duration (in minutes) * * @access public */ function getDuration () { return $this->_duration; } /** * Gets the event's status * * @return string The event's status * * @access public */ function getStatus () { return $this->_status; } /** * Gets the event's owner * * @return string The event's owner * * @access public */ function getOwner () { return $this->_owner; } /** * Gets the event's category ID * * @return mixed The event's category ID (or '' for none) * * @access public */ function getCategory () { return $this->_category; } /** * Gets the event's owner * * @return string The event's owner * * @access public */ function getLogin () { return $this->_login; } /** * Gets the event's type * * @return string The event's type * * @access public */ function getCalType () { return $this->_calType; } /** * Gets the event's type name * * @return string The event's type name * * @access public */ function getCalTypeName () { if ( isset ( $this->_calTypeName ) ) return $this->_calTypeName; if ( $this->_calType == 'E' || $this->_calType == 'M' ) $this->_calTypeName = 'event'; if ( $this->_calType == 'T' || $this->_calType == 'N' ) $this->_calTypeName = 'task'; if ( $this->_calType == 'J' || $this->_calType == 'O' ) $this->_calTypeName = 'journal'; return $this->_calTypeName; } /** * Gets the event's location * * @return string The event's location * * @access public */ function getLocation () { return $this->_location; } /** * Gets the event's url * * @return string The event's url * * @access public */ function getUrl () { return $this->_url; } /** * Gets the event's due date and time * * @return int The event's due date time * * @access public */ function getDue () { return $this->_due; } /** * Gets the task's percent complete * * @return int The task's percentage * * @access public */ function getPercent () { return $this->_percent; } /** * Gets the event's end date * * @return string The event's end date YYYYMM Format * * @access public */ function getEndDate () { $year = substr ( $this->_date, 0, 4 ); $month = substr ( $this->_date, 4, 2 ); $day = substr ( $this->_date, 6, 2 ); if ( $this->_time > 0 ) { $h = (int) ( $this->_time / 10000 ); $m = ( $this->_time / 100 ) % 100; } else { $h = $m = 0; } $dur = ( $this->_duration > 0 ? $this->_duration : 0 ); $this->_endDate = gmdate ( "Ymd", gmmktime ( $h, $m + $dur, 0, $month, $day, $year ) ); return $this->_endDate; } /** * Gets the event's end time * * @return string The event's end time HHMMSS Format * * @access public */ function getEndTime () { $year = substr ( $this->_date, 0, 4 ); $month = substr ( $this->_date, 4, 2 ); $day = substr ( $this->_date, 6, 2 ); if ( $this->_time > 0 ) { $h = (int) ( $this->_time / 10000 ); $m = ( $this->_time / 100 ) % 100; } else { $h = $m = 0; } $dur = ( $this->_duration > 0 ? $this->_duration : 0 ); $this->_endTime = gmdate ( "His", gmmktime ( $h, $m + $dur, 0, $month, $day, $year ) ); return $this->_endTime; } /** * Gets the event's end datetime * * @return string The event's end datetime YYYYMMSSHHMMSS Format * * @access public */ function getEndDateTime () { $this->_endDateTime = gmdate ( 'YmdHis', $this->getEndDateTimeTS () ); return $this->_endDateTime; } /** * Gets the event's end datetime as UNIX timestamp * * @return string The event's end datetime UNIX timestamp Format * * @access public */ function getEndDateTimeTS () { $year = substr ( $this->_date, 0, 4 ); $month = substr ( $this->_date, 4, 2 ); $day = substr ( $this->_date, 6, 2 ); if ( $this->_time > 0 ) { $h = (int) ( $this->_time / 10000 ); $m = ( $this->_time / 100 ) % 100; } else { $h = $m = 0; } $dur = ( $this->_duration > 0 ? $this->_duration : 0 ); $this->_endDateTime = gmmktime ( $h, $m + $dur, 0, $month, $day, $year ); return $this->_endDateTime; } /** * Determine if event is All Day * * @return bool True if event is All Day * * @access public */ function isAllDay () { $this->_allDay = ( $this->_time == 0 && $this->_duration == 1440? true : false); return $this->_allDay; } /** * Determine if event is Timed * * @return bool True if event is Timed * * @access public */ function isTimed () { $this->_timed = ( $this->_time > 0 || ( $this->_time == 0 && $this->_duration != 1440 )? true : false); return $this->_timed; } /** * Determine if event is Untimed * * @return bool True if event is Untimed * * @access public */ function isUntimed () { $this->_untimed = ( $this->_time == -1 && $this->_duration == 0? true : false); return $this->_untimed; } /** * Set cal_duration * * * @access public */ function setDuration ( $duration ) { $this->_duration = $duration; } /** * Set cal_time * * * @access public */ function setTime ( $time ) { $this->_time = $time; } /** * Set cal_date * * * @access public */ function setDate ( $date ) { $this->_date = $date; } /** * Set cal_name * * * @access public */ function setName ( $name ) { $this->_name = $name; } /** * Get clone * * * @access public */ function getClone () { return $this->_clone; } /** * Set clone * * * @access public */ function setClone ( $date ) { $this->_clone = $date; } } ?>