FEATURE: add homepage settings for base of one page pages

This commit is contained in:
Michal Kváček
2016-09-23 22:27:58 +02:00
parent fbb59277b9
commit 7589051216
13 changed files with 333 additions and 21 deletions
+11 -3
View File
@@ -28,13 +28,21 @@ class Settings
* @param string $key settings key
* @param string|null $default default value, which will be returned when given key does not exist
*
* @return string|null
* @param null $exists
*
* @return null|string
*/
public static function get($key, $default = null)
public static function get($key, $default = null, & $exists = null)
{
self::init();
return isset(self::$settings->$key) ? self::$settings->$key : $default;
if (isset(self::$settings->$key)) {
$exists = true;
return self::$settings->$key;
}
$exists = false;
return $default;
}
/**
+16 -3
View File
@@ -3,7 +3,6 @@
namespace App\Providers;
use App\Models\Module;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\ServiceProvider;
@@ -17,7 +16,7 @@ class ModuleManager extends ServiceProvider
{
// this service provider needs published config - config is merged right after this service provider
try {
$modules = Module::where('is_template', false)
$modules = Module::where('enabled', true)
->get();
} catch (\Exception $e) {
// ignore error
@@ -26,6 +25,20 @@ class ModuleManager extends ServiceProvider
// iterate over all modules and enable or disable them
foreach ($modules as $module) {
$module->module_settings = json_decode($module->module_settings);
if ($module->is_template) {
if (isset($module->module_settings->providers) && !empty($module->module_settings->providers)) {
foreach ($module->module_settings->providers as $provider) {
$this->app->register($provider);
}
}
continue;
}
$this->createModulesJson($module);
}
}
@@ -48,7 +61,7 @@ class ModuleManager extends ServiceProvider
*/
private function createModulesJson(Module $module)
{
$config = json_decode($module->module_settings);
$config = $module->module_settings;
if (is_null($config)) {
return;