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