public function executeUpdateDefaultParameters(sfWebRequest $request) { $this->forward404Unless($request->isMethod(sfRequest::POST)); //If the HTTP method is "post", get the values entered by the user: $this->def_values = array('default_building' => $this->getRequestParameter('default_building'), 'default_room' => $this->getRequestParameter('default_room'), 'default_method_of_payment' => $this->getRequestParameter('default_method_of_payment'), 'default_computer' => $this->getRequestParameter('default_computer'), 'default_num_to_display' => $this->getRequestParameter('default_num_to_display'), 'default_follow_moderator' => $this->getRequestParameter('default_follow_moderator'), 'default_language' => $this->getRequestParameter('default_language'), 'default_currency' => $this->getRequestParameter('default_currency'), 'def_mysql_port' => $this->getRequestParameter('def_mysql_port'), 'def_pgsql_port' => $this->getRequestParameter('def_pgsql_port'), 'reservation_min_time' => $this->getRequestParameter('reservation_min_time'), 'reservation_max_time' => $this->getRequestParameter('reservation_max_time'), '_csrf_token' => $this->getRequestParameter('_csrf_token')); //Build the form with theses values: $this->def_form = new DefaultParametersForm(); //Execute the validators of this form: $this->def_form->bind($this->def_values); //If everything is fine: if ($this->def_form->isValid()) { //Insert the new values in the xml configuration file: ParametersConfiguration::setUserPrefix(sfContext::getInstance()->getUser()->getAttribute('login')); !$this->def_values['default_follow_moderator'] ? $this->def_values['default_follow_moderator'] = null : ($this->def_values['default_follow_moderator'] = 1); ParametersConfiguration::setDefaultParams($this->def_values); //Indicate to the template that the values are correct and have been updated: $request->setAttribute('update_def', true); $this->getUser()->setCulture(ParametersConfiguration::getDefault('default_language')); } $this->forward('configuration', 'parameters'); }