diff options
Diffstat (limited to '3rdparty/simplepie/build/compile.php')
-rw-r--r-- | 3rdparty/simplepie/build/compile.php | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/3rdparty/simplepie/build/compile.php b/3rdparty/simplepie/build/compile.php new file mode 100644 index 000000000..34a29d4c7 --- /dev/null +++ b/3rdparty/simplepie/build/compile.php @@ -0,0 +1,69 @@ +<?php +// Set up our constants +define('SP_PATH', dirname(dirname(__FILE__))); +define('COMPILED', SP_PATH . DIRECTORY_SEPARATOR . 'SimplePie.compiled.php'); + +function remove_header($contents) +{ + $tokens = token_get_all($contents); + $stripped_source = ''; + $stripped_doc = false; + $stripped_open = false; + foreach ($tokens as $value) + { + if (is_string($value)) + { + $stripped_source .= "{$value}"; + continue; + } + switch ($value[0]) + { + case T_DOC_COMMENT: + if (!$stripped_doc) + { + $stripped_doc = true; + continue 2; + } + break; + case T_OPEN_TAG: + if (!$stripped_open) + { + $stripped_open = true; + continue 2; + } + break; + } + $stripped_source .= "{$value[1]}"; + } + + return $stripped_source; +} + +// Start with the header +$compiled = file_get_contents(SP_PATH . '/build/header.txt'); +$compiled .= "\n"; + +// Add the base class +$contents = file_get_contents(SP_PATH . '/library/SimplePie.php'); +$compiled .= remove_header($contents) . "\n"; + +// Add all the files in the SimplePie directory +$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(SP_PATH . '/library/SimplePie')); +foreach($files as $file_path => $info) +{ + $contents = file_get_contents($file_path); + $compiled .= remove_header($contents) . "\n"; +} + +// Strip excess whitespace +$compiled = preg_replace("#\n\n\n+#", "\n\n", $compiled); + +// Hardcode the build +$compiled = str_replace( + "define('SIMPLEPIE_BUILD', gmdate('YmdHis', SimplePie_Misc::get_build()))", + "define('SIMPLEPIE_BUILD', '" . gmdate('YmdHis', time()) . "')", + $compiled +); + +// Finally, save +file_put_contents(COMPILED, $compiled);
\ No newline at end of file |