public function post_save() { $settings = $this->param('setting', array(), TRUE); $filter = Filter::factory($settings)->rule('site.allow_html_title', FALSE, Config::NO); $validation = Validation::factory(array()); Observer::notify('validation_settings', $validation, $filter, $settings); $filter->run(); $validation = $validation->copy($filter->data()); if (!$validation->check()) { throw new API_Validation_Exception($validation->errors('validation')); } $settings = $validation->data(); Config::set_from_array($settings); Observer::notify('save_settings', $settings); Kohana::$log->add(Log::INFO, ':user change Settings')->write(); $this->message('Settings has been saved!'); }
/** * Сохранение параметров плагина в БД в сериализованном виде * * @return \Plugin_Decorator */ public function save_settings() { Config::set_from_array(array($this->_config_group_key() => $this->settings())); return $this; }