| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | <?php/** * Console application, which adds metadata strings from * a WordPress extension to a POT file * * @package wordpress-i18n * @subpackage tools */$pomo = dirname( dirname( dirname( __FILE__ ) ) ) . '/src/wp-includes/pomo';require_once "$pomo/po.php";require_once dirname( __FILE__ ) . '/makepot.php';class PotExtMeta {	var $headers = array(		'Plugin Name',		'Theme Name',		'Plugin URI',		'Theme URI',		'Description',		'Author',		'Author URI',		'Tags',	);	function usage() {		fwrite(STDERR, "Usage: php pot-ext-meta.php EXT POT\n");		fwrite(STDERR, "Adds metadata from a WordPress theme or plugin file EXT to POT file\n");		exit(1);	}	function load_from_file($ext_filename) {		$source = MakePOT::get_first_lines($ext_filename);		$pot = '';		foreach($this->headers as $header) {			$string = MakePOT::get_addon_header($header, $source);			if (!$string) continue;			$args = array(				'singular' => $string,				'extracted_comments' => $header.' of the plugin/theme',			);			$entry = new Translation_Entry($args);			$pot .= "\n".PO::export_entry($entry)."\n";		}		return $pot;	}	function append( $ext_filename, $pot_filename, $headers = null ) {		if ( $headers )			$this->headers = (array) $headers;		if ( is_dir( $ext_filename ) ) {			$pot = implode('', array_map(array($this, 'load_from_file'), glob("$ext_filename/*.php")));		} else {			$pot = $this->load_from_file($ext_filename);		}		$potf = '-' == $pot_filename? STDOUT : fopen($pot_filename, 'a');		if (!$potf) return false;		fwrite($potf, $pot);		if ('-' != $pot_filename) fclose($potf);		return true;	}}$included_files = get_included_files();if ($included_files[0] == __FILE__) {	ini_set('display_errors', 1);	$potextmeta = new PotExtMeta;	if (!isset($argv[1])) {		$potextmeta->usage();	}	$potextmeta->append( $argv[1], isset( $argv[2] ) ? $argv[2] : '-', isset( $argv[3] ) ? $argv[3] : null );}?>
 |