* @copyright 2015 PrestaShow.pl * @license http://PrestaShow.pl/license */ abstract class PShowSettingsAbstract { public static $global_settings = array( array( 'type' => 'switch', 'name' => 'fold_menu_on_enter', 'label' => 'Fold menu after entering the module', 'is_bool' => true, 'values' => array( array( 'id' => 'active_on', 'value' => 1, 'label' => 'Enabled' ), array( 'id' => 'active_off', 'value' => 0, 'label' => 'Disabled' ) ) ), array( 'type' => 'switch', 'name' => 'tips', 'label' => 'Show tips', 'values' => array( array( 'id' => 'active_on', 'value' => 1, 'label' => 'Enabled' ), array( 'id' => 'active_off', 'value' => 0, 'label' => 'Disabled' ) ), 'is_bool' => true ), ); protected static $instance = null; public static $filepath; public function __construct() { } public static function getInstance($filepath) { self::$filepath = getModulePath($filepath); if (self::$instance === null) { self::$instance = new PShow_Settings(); $x = &self::$instance; if ($filepath !== null && file_exists(getModulePath($filepath) . 'settings.php')) { $x::$settings = array_merge(self::$global_settings, include(getModulePath($filepath) . 'settings.php')); } } return self::$instance; } public function getAll() { return static::$settings; } /** * Get setting value * * @param string $name * @return string/null */ public function get($name) { return Configuration::get(strtolower(getModuleName(self::$filepath)) . '_' . $name); } /** * Set setting value * * @param string $name * @param string $value * @return string/null */ public function set($name, $value) { Configuration::updateValue(strtolower(getModuleName(self::$filepath)) . '_' . $name, $value); } }