1<?php
2$indexFileName = 'timezonedb.idx';
3$indexPhpFileName = 'timezonedb.idx.php';
4$dataFileName = 'timezonedb.dta';
5
6file_put_contents( $dataFileName, '' );
7
8$idx_php = "<?php return [\n";
9$idx_data = <<<HEREDOC
10#ifdef TIMELIB_SUPPORTS_V2DATA
11# define FOR_V2(v2,v1) v2
12#else
13# define FOR_V2(v2,v1) v1
14#endif
15
16HEREDOC;
17$currentDataLength = 0;
18$missing = 0;
19
20$files = array_merge( glob( "code/data/*" ), glob( "code/data/*/*" ), glob( "code/data/*/*/*" ) );
21usort( $files, 'strcasecmp' );
22foreach( $files as $fileName )
23{
24	if ( is_dir( $fileName ) )
25	{
26		continue;
27	}
28
29	$l = filesize( $dataFileName );
30	$fileName = preg_replace( '@code/data/@', '', $fileName );
31
32	list( $fdataSize, $v2Start, $v2Size ) = explode( ';', `php create-entry.php $fileName $dataFileName` );
33
34	$idx_data .= sprintf( "\t{ %-36s, FOR_V2(0x%06X, 0x%06X) },\n", '"' . $fileName. '"', $l, $l - $missing );
35	$idx_php .= sprintf(
36		"\t%-6d => [ 'key' => %-32s 'dsize' => 0x%08X, 'v2end' => 0x%08X ],\n",
37		$l,
38		"'{$fileName}',",
39		$fdataSize,
40		$v2Start + $v2Size
41	);
42
43	$missing += $v2Size;
44	printf("- %s (%d, %d)\n", $fileName, $l, $missing );
45}
46
47$idx_php .= "]; ?>\n";
48
49file_put_contents( $indexFileName, $idx_data );
50file_put_contents( $indexPhpFileName, $idx_php );
51
52echo "Done\n";
53?>
54