DAViCal
vtimezone.php
1 <?php
6 require_once('AwlQuery.php');
7 require_once('vComponent.php');
8 
9 class VTimezone extends vComponent {
10 
11  static function getInstance($name) {
12  $qry = new AwlQuery('SELECT * FROM timezones WHERE tzid = ? ORDER BY active DESC', $name);
13  if ( $qry->Exec('VTimezone',__LINE__,__FILE__) && $qry->rows() > 0 && $row = $qry->Fetch() ) {
14  $vtz = new vComponent($row->vtimezone);
15  if ( $vtz->GetType() == 'VTIMEZONE' ) return $vtz;
16  $tmp = $vtz->GetComponents('VTIMEZONE');
17  if ( count($tmp) < 1 || $tmp[0]->GetType() != 'VTIMEZONE' ) return null;
18  $vtz = $tmp[0];
19  return $vtz;
20  }
21  return null;
22  }
23 
24  static function msCdoToOlson($tzcdo) {
25  switch( $tzcdo ) {
30  case 0: return('UTC');
31  case 1: return('Europe/London');
32  case 2: return('Europe/Lisbon');
33  case 3: return('Europe/Paris');
34  case 4: return('Europe/Berlin');
35  case 5: return('Europe/Bucharest');
36  case 6: return('Europe/Prague');
37  case 7: return('Europe/Athens');
38  case 8: return('America/Brasilia');
39  case 9: return('America/Halifax');
40  case 10: return('America/New_York');
41  case 11: return('America/Chicago');
42  case 12: return('America/Denver');
43  case 13: return('America/Los_Angeles');
44  case 14: return('America/Anchorage');
45  case 15: return('Pacific/Honolulu');
46  case 16: return('Pacific/Apia');
47  case 17: return('Pacific/Auckland');
48  case 18: return('Australia/Brisbane');
49  case 19: return('Australia/Adelaide');
50  case 20: return('Asia/Tokyo');
51  case 21: return('Asia/Singapore');
52  case 22: return('Asia/Bangkok');
53  case 23: return('Asia/Kolkata');
54  case 24: return('Asia/Muscat');
55  case 25: return('Asia/Tehran');
56  case 26: return('Asia/Baghdad');
57  case 27: return('Asia/Jerusalem');
58  case 28: return('America/St_Johns');
59  case 29: return('Atlantic/Azores');
60  case 30: return('America/Noronha');
61  case 31: return('Africa/Casablanca');
62  case 32: return('America/Argentina/Buenos_Aires');
63  case 33: return('America/La_Paz');
64  case 34: return('America/Indiana/Indianapolis');
65  case 35: return('America/Bogota');
66  case 36: return('America/Regina');
67  case 37: return('America/Tegucigalpa');
68  case 38: return('America/Phoenix');
69  case 39: return('Pacific/Kwajalein');
70  case 40: return('Pacific/Fiji');
71  case 41: return('Asia/Magadan');
72  case 42: return('Australia/Hobart');
73  case 43: return('Pacific/Guam');
74  case 44: return('Australia/Darwin');
75  case 45: return('Asia/Shanghai');
76  case 46: return('Asia/Novosibirsk');
77  case 47: return('Asia/Karachi');
78  case 48: return('Asia/Kabul');
79  case 49: return('Africa/Cairo');
80  case 50: return('Africa/Harare');
81  case 51: return('Europe/Moscow');
82  case 53: return('Atlantic/Cape_Verde');
83  case 54: return('Asia/Yerevan');
84  case 55: return('America/Panama');
85  case 56: return('Africa/Nairobi');
86  case 58: return('Asia/Yekaterinburg');
87  case 59: return('Europe/Helsinki');
88  case 60: return('America/Godthab');
89  case 61: return('Asia/Rangoon');
90  case 62: return('Asia/Kathmandu');
91  case 63: return('Asia/Irkutsk');
92  case 64: return('Asia/Krasnoyarsk');
93  case 65: return('America/Santiago');
94  case 66: return('Asia/Colombo');
95  case 67: return('Pacific/Tongatapu');
96  case 68: return('Asia/Vladivostok');
97  case 69: return('Africa/Ndjamena');
98  case 70: return('Asia/Yakutsk');
99  case 71: return('Asia/Dhaka');
100  case 72: return('Asia/Seoul');
101  case 73: return('Australia/Perth');
102  case 74: return('Asia/Riyadh');
103  case 75: return('Asia/Taipei');
104  case 76: return('Australia/Sydney');
105 
106  case 57: // null
107  case 52: // null
108  default: // null
109  }
110  return null;
111  }
112 
113 
114 }
static msCdoToOlson($tzcdo)
Definition: vtimezone.php:24