(2010-) * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt * @package Functions * */ /** * returns an array for the settings-array * * @return array */ function getThemes() { $themespath = \Froxlor\FileDir::makeCorrectDir(\Froxlor\Froxlor::getInstallDir().'/templates/'); $themes_available = array(); if (is_dir($themespath)) { $its = new DirectoryIterator($themespath); foreach ($its as $it) { if ($it->isDir() && $it->getFilename() != '.' && $it->getFilename() != '..' && $it->getFilename() != 'misc' ) { $theme = $themespath . $it->getFilename(); if (file_exists($theme . '/config.json')) { $themeconfig = json_decode(file_get_contents($theme . '/config.json'), true); if (array_key_exists('variants', $themeconfig) && is_array($themeconfig['variants'])) { foreach ($themeconfig['variants'] as $variant => $data) { if ($variant == "default") { $themes_available[$it->getFilename()] = $it->getFilename(); } elseif (array_key_exists('description', $data)) { $themes_available[$it->getFilename() . '_' . $variant] = $data['description']; } else { $themes_available[$it->getFilename() . '_' . $variant] = $it->getFilename() . ' (' . $variant . ')'; } } } else { $themes_available[$it->getFilename()] = $it->getFilename(); } } } } } return $themes_available; }