forked from projects/fipamo
65 lines
1.5 KiB
PHP
65 lines
1.5 KiB
PHP
<?php
|
|
use function _\find;
|
|
class Settings
|
|
{
|
|
private $folks;
|
|
private $tags;
|
|
private $themes = [];
|
|
private static $settings;
|
|
|
|
public function __construct()
|
|
{
|
|
//gets all settings files and converts to php objects
|
|
$this->folks = json_decode(file_get_contents("../config/folks.json"), true);
|
|
$this->tags = json_decode(file_get_contents("../config/tags.json"), true);
|
|
self::$settings = json_decode(
|
|
file_get_contents("../config/settings.json"),
|
|
true
|
|
);
|
|
|
|
$_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 getFolks($key = null)
|
|
{
|
|
if (isset($key)) {
|
|
$member = Session::get("member");
|
|
$found = find($this->folks, ["handle" => $member["handle"]]);
|
|
return $found[$key];
|
|
} else {
|
|
return $this->folks;
|
|
}
|
|
}
|
|
|
|
public function getSettings($key = null)
|
|
{
|
|
return self::$settings;
|
|
}
|
|
|
|
public static function getCurrentIndex()
|
|
{
|
|
$settings = self::$settings;
|
|
return $settings["library_stats"]["current_index"];
|
|
}
|
|
|
|
public static function updateIndex()
|
|
{
|
|
$settings = self::$settings;
|
|
$index = $settings["library_stats"]["current_index"];
|
|
$settings["library_stats"]["current_index"] = $index + 1;
|
|
|
|
DocTools::writeSettings("../config/settings.json", $settings);
|
|
}
|
|
}
|