$colorScheme, 'view' => $view, 'title' => $title ]; $config = Yaml::dump($userConfig); file_put_contents('../data/config.yaml', $config); $this->clearCache(); } /** * Get the configuration settings. * * @param array $defConfig The default configuration settings. * * @return array The configuration settings. */ public function getConfig(array $defConfig): array { if (file_exists('../data/config.yaml')) { $userConfig = Yaml::parseFile('../data/config.yaml'); if (empty($userConfig)) { return $defConfig; } $config = array_merge($defConfig, $userConfig); $this->config = $config; return $config; } $this->config = $defConfig; return $defConfig; } /** * Clear the cache file. * * @return void */ public function clearCache(): void { if (file_exists('../cache/index.html')) { unlink('../cache/index.html'); } } /** * Initialize the data directories. * * @return void */ static function initializeDataDir(): void { if (!is_dir(('../data/assets/css'))) { mkdir('../data/assets/css', 0775, true); } if (!is_dir(('../data/assets/icons'))) { mkdir('../data/assets/icons', 0775, true); } if (!is_dir(('../data/assets/js'))) { mkdir('../data/assets/js', 0775, true); } if (!is_dir(('../data/imgs/favicons'))) { mkdir('../data/imgs/favicons', 0775, true); } if (!is_dir(('../data/imgs/screenshots'))) { mkdir('../data/imgs/screenshots', 0775, true); } } }