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);
}
}
}