0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
vtiger
/
5.0.4
/
standard
/
htdocs
/
modules
/
Calendar
/
[
Home
]
File: Date.php
<?php /********************************************************************************* ** The contents of this file are subject to the vtiger CRM Public License Version 1.0 * ("License"); You may not use this file except in compliance with the License * The Original Code is: vtiger CRM Open Source * The Initial Developer of the Original Code is vtiger. * Portions created by vtiger are Copyright (C) vtiger. * All Rights Reserved. * ********************************************************************************/ class vt_DateTime { var $second = 0; var $minute = 0; var $hour = 0; var $z_hour = '00'; var $day; var $z_day; var $week; var $month; var $z_month; var $year; var $dayofweek; var $dayofyear; var $daysinmonth; var $daysinyear; var $dayofweek_inshort; var $dayofweek_inlong; var $month_inshort; var $month_inlong; var $ts; var $offset; var $format; var $tz; var $ts_def; /** * Constructor for vt_DateTime class * @param array $timearr - collection of string * @param string $check - check string */ function vt_DateTime(&$timearr,$check) { if (! isset( $timearr) || count($timearr) == 0 ) { $this->setDateTime(null); } else if ( isset( $timearr['ts'])) { $this->setDateTime($time['ts']); } else { if(isset($timearr['hour'])) { $this->hour = $timearr['hour']; } if(isset($timearr['min'])) { $this->minute = $timearr['min']; } if(isset($timearr['sec'])) { $this->second = $timearr['sec']; } if(isset($timearr['day'])) { $this->day = $timearr['day']; } if(isset($timearr['week'])) { $this->week = $timearr['week']; } if(isset($timearr['month'])) { $this->month = $timearr['month']; } if(isset($timearr['year']) && $timearr['year'] >= 1970) { $this->year = $timearr['year']; } else { return null; } } if ($check) { $this->getDateTime(); } } /** * function to get date and time using index * @param integer $index - number between 0 to 23 * @param string $day - date * @param string $month - month * @param string $year - year * return vt_DateTime obj $datetimevalue */ function getTodayDatetimebyIndex($index,$day='', $month='', $year='') { if($day == '') $day = $this->day; if($month == '') $month = $this->month; if($year == '') $year = $this->year; $day_array = array(); if($index < 0 || $index > 23) { die("hour is invalid"); } $day_array['hour'] = $index; $day_array['min'] = 0; $day_array['day'] = $day; $day_array['month'] = $month; $day_array['year'] = $year; $datetimevalue = new vt_DateTime($day_array,true); return $datetimevalue; } /** * function to get days in week using index * @param integer $index - number between 0 to 6 * return vt_DateTime obj $datetimevalue */ function getThisweekDaysbyIndex($index) { $week_array = array(); if($index < 0 || $index > 6) { die("day is invalid"); } $week_array['day'] = $this->day + ($index - $this->dayofweek); $week_array['month'] = $this->month; $week_array['year'] = $this->year; $datetimevalue = new vt_DateTime($week_array,true); return $datetimevalue; } /** * function to get days in month using index * @param integer $index - number between 0 to 42 * @param string $day - date * @param string $month - month * @param string $year - year * return vt_DateTime obj $datetimevalue */ function getThismonthDaysbyIndex($index,$day='', $month='', $year='') { if($day == '') $day = $index+1; if($month == '') $month = $this->month; if($year == '') $year = $this->year; $month_array = array(); $month_array['day'] = $day; $month_array['month'] = $month; $month_array['year'] = $year; $datetimevalue = new vt_DateTime($month_array,true); return $datetimevalue; } /** * function to get months in year using index * @param integer $index - number between 0 to 11 * return vt_DateTime obj $datetimevalue */ function getThisyearMonthsbyIndex($index) { $year_array = array(); $year_array['day'] = 1; if($index < 0 || $index > 11) { die("month is invalid"); } $year_array['month'] = $index+1; $year_array['year'] = $this->year; $datetimevalue = new vt_DateTime($year_array,true); return $datetimevalue; } /** * function to get hour end time * return vt_DateTime obj $datetimevalue */ function getHourendtime() { $date_array = array(); $date_array['hour'] = $this->hour; $date_array['min'] = 59; $date_array['day'] = $this->day; $date_array['sec'] = 59; $date_array['month'] = $this->month; $date_array['year'] = $this->year; $datetimevalue = new vt_DateTime($date_array,true); return $datetimevalue; } /** * function to get day end time * return vt_DateTime obj $datetimevalue */ function getDayendtime() { $date_array = array(); $date_array['hour'] = 23; $date_array['min'] = 59; $date_array['sec'] = 59; $date_array['day'] = $this->day; $date_array['month'] = $this->month; $date_array['year'] = $this->year; $datetimevalue = new vt_DateTime($date_array,true); return $datetimevalue; } /** * function to get month end time * return vt_DateTime obj $datetimevalue */ function getMonthendtime() { $date_array = array(); $date_array['hour'] = 23; $date_array['min'] = 59; $date_array['sec'] = 59; $date_array['day'] = $this->daysinmonth; $date_array['month'] = $this->month; $date_array['year'] = $this->year; $datetimevalue = new vt_DateTime($date_array,true); return $datetimevalue; } /** * function to get day of week * return string $this->day - day (eg: Monday) */ function get_Date() { return $this->day; } /** * function to get month name in short * return string $this->month_inshort - month name (eg: Jan) */ function getmonthName_inshort() { return $this->month_inshort; } /** * function to get month name * return string $this->month - month name */ function getMonth() { return $this->month; } /** * function to get month name * return string $this->month_inlong - month name */ function getmonthName() { return $this->month_inlong; } /** * function to get day of week * return string $this->dayofweek_inlong - day of week */ function getdayofWeek() { return $this->dayofweek_inlong; } /** * function to get day of week in short * return string $this->dayofweek_inshort - day of week (eg: Mon) */ function getdayofWeek_inshort() { return $this->dayofweek_inshort; } /** * function to set values for vt_DateTime object * @param integer $ts - Time stamp */ function setDateTime($ts) { global $mod_strings; if (empty($ts)) { $ts = time(); } $this->ts = $ts; $this->ts_def = $this->ts; $date_string = date('i::G::H::j::d::t::w::z::L::W::n::m::Y::Z::T::s',$ts); list( $this->minute, $this->hour, $this->z_hour, $this->day, $this->z_day, $this->daysinmonth, $this->dayofweek, $this->dayofyear, $is_leap, $this->week, $this->month, $this->z_month, $this->year, $this->offset, $this->tz, $this->second) = split('::',$date_string); $this->dayofweek_inshort =$mod_strings['cal_weekdays_short'][$this->dayofweek]; $this->dayofweek_inlong=$mod_strings['cal_weekdays_long'][$this->dayofweek]; $this->month_inshort=$mod_strings['cal_month_short'][$this->month]; $this->month_inlong=$mod_strings['cal_month_long'][$this->month]; $this->daysinyear = 365; if ($is_leap == 1) { $this->daysinyear += 1; } } /** * function to get values from vt_DateTime object */ function getDateTime() { global $mod_strings; $hour = 0; $minute = 0; $second = 0; $day = 1; $month = 1; $year = 1970; if ( isset($this->second)) { $second = $this->second; } if ( isset($this->minute)) { $minute = $this->minute; } if ( isset($this->hour)) { $hour = $this->hour; } if ( isset($this->day)) { $day= $this->day; } if ( isset($this->month)) { $month = $this->month; } if ( isset($this->year)) { $year = $this->year; } else { die("year was not set"); } $this->ts = mktime($hour,$minute,$second,$month,$day,$year); $this->setDateTime($this->ts); } /** * function to get mysql formatted date * return formatted date in string format */ function get_formatted_date() { return $this->year."-".$this->z_month."-".$this->z_day; } /** * function to get mysql formatted time * return formatted time in string format */ function get_formatted_time() { return $this->z_hour.":".$this->min; } /** * function to get date depends on mode value * @param string $mode - 'increment' or 'decrement' * return vt_DateTime obj */ function get_changed_day($mode) { if($mode == 'increment') $day = $this->day + 1; else $day = $this->day - 1; $date_data = array( 'day'=>$day, 'month'=>$this->month, 'year'=>$this->year ); return new vt_DateTime($date_data,true); } /** * function to get changed week depends on mode value * @param string $mode - 'increment' or 'decrement' * return vt_DateTime obj */ function get_first_day_of_changed_week($mode) { $first_day = $this->getThisweekDaysbyIndex(0); if($mode == 'increment') $day = $first_day->day + 7; else $day = $first_day->day - 7; $date_data = array( 'day'=>$day, 'month'=>$first_day->month, 'year'=>$first_day->year ); return new vt_DateTime($date_data,true); } /** * function to get month depends on mode value * @param string $mode - 'increment' or 'decrement' * return vt_DateTime obj */ function get_first_day_of_changed_month($mode) { if($mode == 'increment') { $month = $this->month + 1; $year = $this->year ; } else { if($this->month == 1) { $month = 12; $year = $this->year - 1; } else { $month = $this->month - 1; $year = $this->year ; } } $date_data = array( 'day'=>1, 'month'=>$month, 'year'=>$year ); return new vt_DateTime($date_data,true); } /** * function to get year depends on mode value * @param string $mode - 'increment' or 'decrement' * return vt_DateTime obj */ function get_first_day_of_changed_year($mode) { if($mode == 'increment') $year = $this->year + 1; else $year = $this->year - 1; $date_data = array( 'day'=>1, 'month'=>1, 'year'=>$year ); return new vt_DateTime($date_data,true); } /** * function to get date string * return date string */ function get_date_str() { $array = Array(); if ( isset( $this->hour)) { array_push( $array, "hour=".$this->hour); } if ( isset( $this->day)) { array_push( $array, "day=".$this->day); } if ( isset( $this->month)) { array_push( $array, "month=".$this->month); } if ( isset( $this->year)) { array_push( $array, "year=".$this->year); } return ("&".implode('&',$array)); } } ?>