[frio] Fix typo schema -> scheme
This commit is contained in:
parent
eb9b832c3a
commit
3bfa6facfc
12 changed files with 71 additions and 55 deletions
71
view/theme/frio/php/scheme.php
Normal file
71
view/theme/frio/php/scheme.php
Normal file
|
@ -0,0 +1,71 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @brief: Get info header of the scheme
|
||||
*
|
||||
* This function parses the header of the schemename.php file for informations like
|
||||
* Author, Description and Overwrites. Most of the code comes from the Addon::getInfo()
|
||||
* function. We use this to get the variables which get overwritten through the scheme.
|
||||
* All color variables which get overwritten through the theme have to be
|
||||
* listed (comma separated) in the scheme header under Overwrites:
|
||||
* This seems not to be the best solution. We need to investigate further.
|
||||
*
|
||||
* @param string $scheme Name of the scheme
|
||||
* @return array With theme information
|
||||
* 'author' => Author Name
|
||||
* 'description' => Scheme description
|
||||
* 'version' => Scheme version
|
||||
* 'overwrites' => Variables which overwriting custom settings
|
||||
*/
|
||||
use Friendica\Core\PConfig;
|
||||
|
||||
function get_scheme_info($scheme)
|
||||
{
|
||||
$theme = current_theme();
|
||||
$themepath = 'view/theme/' . $theme . '/';
|
||||
$scheme = PConfig::get(local_user(), 'frio', 'scheme');
|
||||
|
||||
$info = [
|
||||
'name' => $scheme,
|
||||
'description' => '',
|
||||
'author' => [],
|
||||
'version' => '',
|
||||
'overwrites' => []
|
||||
];
|
||||
|
||||
if (!is_file($themepath . 'scheme/' . $scheme . '.php')) return $info;
|
||||
|
||||
$f = file_get_contents($themepath . 'scheme/' . $scheme . '.php');
|
||||
|
||||
$r = preg_match('|/\*.*\*/|msU', $f, $m);
|
||||
|
||||
if ($r) {
|
||||
$ll = explode("\n", $m[0]);
|
||||
foreach ($ll as $l) {
|
||||
$l = trim($l, "\t\n\r */");
|
||||
if ($l != '') {
|
||||
list($k, $v) = array_map('trim', explode(':', $l, 2));
|
||||
$k = strtolower($k);
|
||||
if ($k == 'author') {
|
||||
$r = preg_match('|([^<]+)<([^>]+)>|', $v, $m);
|
||||
if ($r) {
|
||||
$info['author'][] = ['name' => $m[1], 'link' => $m[2]];
|
||||
} else {
|
||||
$info['author'][] = ['name' => $v];
|
||||
}
|
||||
} elseif ($k == 'overwrites') {
|
||||
$theme_settings = explode(',', str_replace(' ', '', $v));
|
||||
foreach ($theme_settings as $key => $value) {
|
||||
$info['overwrites'][$value] = true;
|
||||
}
|
||||
} else {
|
||||
if (array_key_exists($k, $info)) {
|
||||
$info[$k] = $v;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $info;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue