Backend\Core\Installer\ModuleInstaller::setSetting PHP Method

setSetting() protected method

Stores a module specific setting in the database.
protected setSetting ( string $module, string $name, mixed $value = null, boolean $overwrite = false )
$module string The module wherefore the setting will be set.
$name string The name of the setting.
$value mixed The optional value.
$overwrite boolean Overwrite no matter what.
    protected function setSetting($module, $name, $value = null, $overwrite = false)
    {
        $module = (string) $module;
        $name = (string) $name;
        $value = serialize($value);
        $overwrite = (bool) $overwrite;
        if ($overwrite) {
            $this->getDB()->execute('INSERT INTO modules_settings (module, name, value)
                 VALUES (?, ?, ?)
                 ON DUPLICATE KEY UPDATE value = ?', array($module, $name, $value, $value));
        } else {
            // check if this setting already exists
            $exists = (bool) $this->getDB()->getVar('SELECT 1
                 FROM modules_settings
                 WHERE module = ? AND name = ?
                 LIMIT 1', array($module, $name));
            // does not yet exist
            if (!$exists) {
                // build item
                $item = array('module' => $module, 'name' => $name, 'value' => $value);
                $this->getDB()->insert('modules_settings', $item);
            }
        }
    }