/
functions.php
52 lines (51 loc) · 1.74 KB
/
functions.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
function getThemeData($theme, $type, $install = false)
{
$output = "";
$zip = zip_open(($install == false ? 'themes/' : '../themes/') . $theme . '.zip');
if ($zip)
{
while ($zip_entry = zip_read($zip))
{
if (zip_entry_open($zip, $zip_entry, 'r'))
{
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
if ($type == 'css' && strpos($buf, 'css')) $output = $buf;
else if ($type == 'json' && strpos($buf, 'id')) $output = json_decode($buf, true);
zip_entry_close($zip_entry);
}
}
zip_close($zip);
}
return $output;
}
function getLayoutData($layout, $fileName, $usage, $install = false)
{
$output = "";
$zip = zip_open(($install == false ? 'layouts/' : '../layouts/') . $layout . '.zip');
if ($zip)
{
while ($zip_entry = zip_read($zip))
{
$file = basename(zip_entry_name($zip_entry));
if (zip_entry_open($zip, $zip_entry, 'r'))
{
if ($usage == "include" && strpos($file, $fileName) !== FALSE)
{
$output = 'phar://layouts/' . $layout . '.zip/' . zip_entry_name($zip_entry);
}
if ($usage == "echo")
{
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
if (strpos(strval($file), strval($fileName)) !== FALSE)
{
if (strpos($file, 'settings') !== FALSE) $output = json_decode($buf, true);
else $output = $buf;
}
}
}
}
zip_close($zip);
}
return $output;
}