/** * Validates the form data using the provided input filter. * * If validation errors are found, the form is populated with the corresponding error messages. * Form values are updated with the clean values provided by the filter. * * @param Form $form * @return boolean */ public function validate(Form $form) { $this->inputFilter->setData($form->values()); if (!($isValid = $this->inputFilter->isValid())) { $form->setErrorMessages($this->inputFilter->getMessages()); return $isValid; } $form->submit($this->inputFilter->getValues()); return $isValid; }
public function uploadImageAction() { $this->checkAuth(); $request = $this->getRequest(); if ($request->isPost()) { // File upload input $file = new FileInput('avatar'); // Special File Input type $file->getValidatorChain()->attach(new Validator\File\UploadFile()); $file->getFilterChain()->attach(new Filter\File\RenameUpload(array('target' => './public/files/users/avatar/origin/', 'use_upload_name' => true, 'randomize' => true))); // Merge $_POST and $_FILES data together $request = new Request(); $postData = array_merge_recursive($request->getPost()->toArray(), $request->getFiles()->toArray()); $inputFilter = new InputFilter(); $inputFilter->add($file)->setData($postData); if ($inputFilter->isValid()) { // FileInput validators are run, but not the filters... $data = $inputFilter->getValues(); // This is when the FileInput filters are run. $avatar = basename($data['avatar']['tmp_name']); $this->databaseService->updateAvatar($this->user->id, $avatar); $this->user->avatar = $avatar; } else { // error } } return $this->redirect()->toRoute('profile'); }
public function addfileAction() { $this->checkAuth(); $request = $this->getRequest(); if ($request->isPost()) { $file_attach = new FileAttachment(); $file_attach->user_create = $this->auth->getIdentity()->id; $file_attach->date_create = date('Y-m-d H:i:s'); $file_attach->last_date = $file_attach->date_create; $file_attach->last_user = $this->auth->getIdentity()->id; // info pay $file_attach->task_id = $request->getPost('task_id'); $file_attach->permission_option = $request->getPost('permission_option'); if ($this->isLevel2() != true) { $permission = $this->databaseService->getPermissionUser($file_attach->task_id, $file_attach->user_create); if ($permission == Config::FILE_PERMISSION_ERROR) { return new JsonModel(array()); } if ($permission == Config::FILE_PERMISSION_CUSTUMER) { $file_attach->permission_option = Config::FILE_PERMISSION_CUSTUMER; } if ($permission == Config::FILE_PERMISSION_PROVIDER) { $file_attach->permission_option = Config::FILE_PERMISSION_PROVIDER; } } // File upload input $file = new FileInput('file_name'); // Special File Input type $file->getValidatorChain()->attach(new Validator\File\UploadFile()); $file->getFilterChain()->attach(new Filter\File\RenameUpload(array('target' => '.' . Config::FILE_ATTACHMENT_PATH . $file_attach->task_id, 'use_upload_name' => true, 'randomize' => true))); if (!file_exists('.' . Config::FILE_ATTACHMENT_PATH . $file_attach->task_id)) { mkdir('.' . Config::FILE_ATTACHMENT_PATH . $file_attach->task_id, 0700, true); } // Merge $_POST and $_FILES data together $request = new Request(); $postData = array_merge_recursive($request->getPost()->toArray(), $request->getFiles()->toArray()); $inputFilter = new InputFilter(); $inputFilter->add($file)->setData($postData); if ($inputFilter->isValid()) { // FileInput validators are run, but not the filters... $data = $inputFilter->getValues(); // This is when the FileInput filters are run. $file_attach->real_name = basename($data['file_name']['tmp_name']); $file_attach->file_name = basename($data['file_name']['name']); $result = $this->databaseService->addFileAttachment($file_attach); $file_attach->id = $result->getGeneratedValue(); $this->databaseService->addFileLog($this->auth->getIdentity()->id, $file_attach, Config::PAY_INFO_COMMON); } } return new JsonModel(array()); }
/** * Return a list of filtered values. * * @return array|null */ public function getValues() { // When there's no data and the filter itself is not required, // we don't return values if (!$this->data && !$this->isRequired()) { return null; } // Don't return any values when "inputsToFilter" is set to empty array if (!$this->needsFiltering()) { return array(); } return parent::getValues(); }
/** * {@inheritDoc} */ public function getValues() { $values = parent::getValues(); $filter = $this->getFilterChain(); $this->bindClosureFilter($filter); return $filter->filter($values); }
/** * @return array */ public function getValues() { $values = parent::getValues(); foreach ($this->nestedInputFilters as $name => $nestedInputFilter) { $values += [ $name => $nestedInputFilter->getValues() ]; } return $values; }