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