ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
zoneinfo_generator.php
Go to the documentation of this file.
1 <?php
2  exit;
3 
4  define('ZONEINFO','/usr/share/zoneinfo');
5  define('TZ_CONVERT','tz_convert');
6  define('READLINK','readlink');
7 
8  chdir('../../..');
9 
10  include_once('include/inc.header.php');
11  include_once('Services/Calendar/classes/class.ilCalendarUtil.php');
12 
13  foreach(ilCalendarUtil::_getShortTimeZoneList() as $tz_name => $tmp)
14  {
15  $name_underscore = str_replace('/','_',$tz_name);
16 
17  if(is_link(ZONEINFO.'/'.$tz_name))
18  {
19  $name = exec(READLINK.' -f '.ZONEINFO.'/'.$tz_name);
20  }
21  else
22  {
23  $name = ZONEINFO.'/'.$tz_name;
24  }
25 
26  exec(TZ_CONVERT.' -o Services/Calendar/zoneinfo/'.$name_underscore.'.tmp'.' '.$name);
27 
28  $reader = fopen('Services/Calendar/zoneinfo/'.$name_underscore.'.tmp', 'r');
29  $writer = fopen('Services/Calendar/zoneinfo/'.$name_underscore.'.ics', 'w');
30 
31  $counter = 0;
32  while($line = fgets($reader))
33  {
34  if(++$counter < 4)
35  {
36  continue;
37  }
38  if($counter == 5)
39  {
40  fputs($writer, 'TZID:'.$tz_name."\n");
41  }
42  else
43  {
44  if(substr($line,0,13) === 'END:VCALENDAR')
45  {
46  break;
47  }
48  fputs($writer, $line);
49  }
50  }
51 
52  fclose($reader);
53  fclose($writer);
54  unlink('Services/Calendar/zoneinfo/'.$name_underscore.'.tmp');
55 
56  #echo $name_underscore.' <br />';
57  }
58 
59 
60 ?>
const ZONEINFO
static _getShortTimeZoneList()
get short timezone list
const READLINK
const TZ_CONVERT