1
|
<?php
|
2
|
|
3
|
define('SP_PATH', dirname(dirname(__FILE__)));
|
4
|
define('COMPILED', SP_PATH . DIRECTORY_SEPARATOR . 'SimplePie.compiled.php');
|
5
|
|
6
|
function remove_header($contents)
|
7
|
{
|
8
|
$tokens = token_get_all($contents);
|
9
|
$stripped_source = '';
|
10
|
$stripped_doc = false;
|
11
|
$stripped_open = false;
|
12
|
foreach ($tokens as $value)
|
13
|
{
|
14
|
if (is_string($value))
|
15
|
{
|
16
|
$stripped_source .= "{$value}";
|
17
|
continue;
|
18
|
}
|
19
|
switch ($value[0])
|
20
|
{
|
21
|
case T_DOC_COMMENT:
|
22
|
if (!$stripped_doc)
|
23
|
{
|
24
|
$stripped_doc = true;
|
25
|
continue 2;
|
26
|
}
|
27
|
break;
|
28
|
case T_OPEN_TAG:
|
29
|
if (!$stripped_open)
|
30
|
{
|
31
|
$stripped_open = true;
|
32
|
continue 2;
|
33
|
}
|
34
|
break;
|
35
|
}
|
36
|
$stripped_source .= "{$value[1]}";
|
37
|
}
|
38
|
|
39
|
return $stripped_source;
|
40
|
}
|
41
|
|
42
|
|
43
|
$compiled = file_get_contents(SP_PATH . '/build/header.txt');
|
44
|
$compiled .= "\n";
|
45
|
|
46
|
|
47
|
$contents = file_get_contents(SP_PATH . '/library/SimplePie.php');
|
48
|
$compiled .= remove_header($contents) . "\n";
|
49
|
|
50
|
|
51
|
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(SP_PATH . '/library/SimplePie'));
|
52
|
foreach($files as $file_path => $info)
|
53
|
{
|
54
|
$contents = file_get_contents($file_path);
|
55
|
$compiled .= remove_header($contents) . "\n";
|
56
|
}
|
57
|
|
58
|
|
59
|
$compiled = preg_replace("#\n\n\n+#", "\n\n", $compiled);
|
60
|
|
61
|
|
62
|
$compiled = str_replace(
|
63
|
"define('SIMPLEPIE_BUILD', gmdate('YmdHis', SimplePie_Misc::get_build()))",
|
64
|
"define('SIMPLEPIE_BUILD', '" . gmdate('YmdHis', time()) . "')",
|
65
|
$compiled
|
66
|
);
|
67
|
|
68
|
|
69
|
file_put_contents(COMPILED, $compiled);
|