summaryrefslogtreecommitdiffstats
path: root/3rdparty/simplepie/build/compile.php
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/simplepie/build/compile.php')
-rw-r--r--3rdparty/simplepie/build/compile.php69
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