/** * Binds the form with input values, adding recaptcha values * @param array $taintedValues An array of input values * @param array $taintedFiles An array of uploaded files (in the $_FILES or $_GET format) */ public function bind(array $taintedValues = null, array $taintedFiles = null) { if (sfConfig::get('app_recaptcha_active', false)) { $request = sfContext::getInstance()->getRequest(); $taintedValues['challenge'] = $request->getParameter('recaptcha_challenge_field'); $taintedValues['response'] = $request->getParameter('recaptcha_response_field'); } parent::bind($taintedValues, $taintedFiles); }
/** * Process post data * * @return boolean * @author Ćukasz Wojciechowski * @author Radu Topala <*****@*****.**> */ public function processPostData() { $formData = $this->getRequest()->getParameter('edit'); $formData = isset($formData[0]) ? $formData[0] : array(); $this->processCheckboxes($formData); $this->changeKeysForForeignFields($formData); // filtered means that we are leaving only values for fields that exists in the form $formDataFiltered = array(); foreach ($this->getFieldNamesOfForm($this->form) as $fieldName) { if (isset($formData[$fieldName])) { $formDataFiltered[$fieldName] = $formData[$fieldName]; } } $this->form->bind($formDataFiltered); $formSave = $this->form->save(); //set object after saving and add double multi-combo values after adding main object, if doesn't exist $this->object = $this->form->getObject(); $this->id = $this->object->getPrimaryKey(); $this->processMultipleRelations($formData); return $formSave; }