setTemplateFile('config_sitelock'); } /** * Update sitelock configuration. */ public function procAdminUpdateSitelock() { $vars = Context::gets('sitelock_locked', 'sitelock_allowed_ip', 'sitelock_title', 'sitelock_message'); $allowed_ip = array_map('trim', preg_split('/[\r\n]/', $vars->sitelock_allowed_ip)); $allowed_ip = array_unique(array_filter($allowed_ip, function($item) { return $item !== ''; })); if (!IpFilter::validateRanges($allowed_ip)) { throw new Exception('msg_invalid_ip'); } Config::set('lock.locked', $vars->sitelock_locked === 'Y'); Config::set('lock.title', trim($vars->sitelock_title)); Config::set('lock.message', trim($vars->sitelock_message)); Config::set('lock.allow', array_values($allowed_ip)); if (!Config::save()) { throw new Exception('msg_failed_to_save_config'); } $this->setMessage('success_updated'); $this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminConfigSitelock')); } }