65 lines
1.6 KiB
PHP
65 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace brain\data;
|
|
|
|
use brain\data\Settings;
|
|
|
|
class Themes
|
|
{
|
|
private $themes = [];
|
|
|
|
public function __construct()
|
|
{
|
|
$_themes = glob("../content/themes/*", GLOB_ONLYDIR);
|
|
foreach ($_themes as $theme) {
|
|
array_push(
|
|
$this->themes,
|
|
json_decode(file_get_contents($theme . "/theme.json"), true)
|
|
);
|
|
}
|
|
}
|
|
|
|
public function getThemes()
|
|
{
|
|
return $this->themes;
|
|
}
|
|
|
|
public function getCustomIndex()
|
|
{
|
|
$settings = (new Settings())->getSettings();
|
|
$currentTheme = $settings["global"]["theme"];
|
|
$folder = "../content/themes/" . $currentTheme;
|
|
$files = array_filter(glob("$folder/*twig"), "is_file");
|
|
$views = [];
|
|
|
|
foreach ($files as $file) {
|
|
$path = explode("/", $file);
|
|
$fileName = $path[4];
|
|
if (str_contains($fileName, "index")) {
|
|
$page = explode(".", $fileName);
|
|
$views[] = $page[0];
|
|
}
|
|
}
|
|
return $views;
|
|
}
|
|
|
|
public function getCustomViews()
|
|
{
|
|
$settings = (new Settings())->getSettings();
|
|
$currentTheme = $settings["global"]["theme"];
|
|
$folder = "../content/themes/" . $currentTheme;
|
|
$files = array_filter(glob("$folder/*twig"), "is_file");
|
|
$views = [];
|
|
|
|
foreach ($files as $file) {
|
|
$path = explode("/", $file);
|
|
$fileName = $path[4];
|
|
if (str_contains($fileName, "page")) {
|
|
$page = explode(".", $fileName);
|
|
$views[] = $page[0];
|
|
}
|
|
}
|
|
return $views;
|
|
}
|
|
}
|