aboutsummaryrefslogblamecommitdiffstats
path: root/util/extract.php
blob: bc838c7129bd0733e1bc73783315f6ede428e398 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12



                                               
                                                                                       




                                                
                                            
                                                   














                                                                                          



                            


                                  
 




                                                    
                                                                        




                                                                
                                                                              
                 


                                             
                                                                                     
               
<?php

	$arr = array();

	$files = array('index.php','boot.php');
	$files = array_merge($files,glob('mod/*'),glob('include/*'),glob('addon/*/*'));


	foreach($files as $file) {
		$str = file_get_contents($file);

		$pat = '| t\(([^\)]*)\)|';
		$patt = '| tt\(([^\)]*)\)|';

		preg_match_all($pat,$str,$matches);
		preg_match_all($patt, $str, $matchestt);
		

		if(count($matches)){
			foreach($matches[1] as $match) {
				if(! in_array($match,$arr))
					$arr[] = $match;
			}
		}
		if(count($matchestt)){
			foreach($matchestt[1] as $match) {
				$matchtkns = preg_split("|[ \t\r\n]*,[ \t\r\n]*|",$match);
				if (count($matchtkns)==3 && !in_array($matchtkns,$arr)){
					$arr[] = $matchtkns;
				}
			}
		}

	}

	$s = '<?php' . "\n";
	$s .= '
function string_plural_select($n){
	return ($n != 1);
}

';

	foreach($arr as $a) {
		if (is_array($a)){
			if(substr($a[1],0,1) == '$')
				continue;
			$s .= 'App::$strings[' . $a[0] . "] = array(\n";
			$s .= "\t0 => ". $a[0]. ",\n";
			$s .= "\t1 => ". $a[1]. ",\n";
			$s .= ");\n";
		} else {
			if(substr($a,0,1) == '$')
				continue;			
			$s .= 'App::$strings[' . $a . '] = '. $a . ';' . "\n";
		}
	}

	$zones = timezone_identifiers_list();
	foreach($zones as $zone)
		$s .= 'App::$strings[\'' . $zone . '\'] = \'' . $zone . '\';' . "\n";
	
	echo $s;