fipamo/brain/data/Settings.inc.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);
}
}