/**
* Saves (persists) the current setting values in the database.
*/
public function save($values)
{
$model = $this->getModel();
foreach ($values as $key => $value) {
if (!in_array($key, $this->allowedNames)) {
unset($values[$key]);
continue;
}
if (is_array($value) && in_array($key, $this->commaSeparatedArrayFields)) {
$values[$key] = implode(',', $value);
} elseif (is_bool($value)) {
$values[$key] = (int) $value;
}
}
if (!empty($values['urls'])) {
$urls = array_unique($values['urls']);
$values['main_url'] = array_shift($urls);
$model->deleteSiteAliasUrls($this->idSite);
foreach ($urls as $url) {
$model->insertSiteUrl($this->idSite, $url);
}
}
unset($values['urls']);
$model->updateSite($values, $this->idSite);
Site::clearCacheForSite($this->idSite);
}