Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function processagencyformajaxAction()
- {
- $form = new AgencyForm();
- $request = $this->getRequest();
- $response = $this->getResponse();
- $messages = array();
- if ($request->isPost()){
- $post = array_merge_recursive(
- $request->getPost()->toArray(),
- $request->getFiles()->toArray()
- );
- $form->setData($post);
- $agencyId = $form->get('id')->getValue();
- if($agencyId == 0){
- $agency = new Agency();
- $agencyFilter = $agency->getInputFilter();
- //echo 'add mode!';
- }else{
- //echo 'edit mode!';
- // retrieve existing agency record via repository function
- $agency = $this->getEntityManager()->getRepository('Portal\Entity\Agency')->find($agencyId);
- // remove 'required' validators from file upload fields
- $agency->getInputFilter()->get('logoName')->setRequired(false);
- $agency->getInputFilter()->get('logoName')->setAllowEmpty(true);
- $agency->getInputFilter()->get('cssFilename')->setRequired(false);
- $agency->getInputFilter()->get('cssFilename')->setAllowEmpty(true);
- }
- $form->setInputFilter($agency->getInputFilter());
- if ( ! $form->isValid()) {
- $errors = $form->getMessages();
- foreach($errors as $fieldName => $errorMessagesArr)
- {
- $fieldErrorMessages = '';
- if (!empty($errorMessagesArr) && $fieldName != 'submit') {
- foreach($errorMessagesArr as $validationRule => $errorMessage)
- {
- //save error(s) per-element that
- //needed by Javascript
- //$messages[$fieldName][] = $errorMessage;
- $fieldErrorMessages .= ' '.$errorMessage;
- }
- $messages[] = array('fieldName' => $fieldName, 'errorMessage' => $fieldErrorMessages);
- $response->setContent(\Zend\Json\Json::encode($messages));
- }
- }
- } else {
- if ((!empty($post['logoName'])) && (!empty($post['cssFilename']))) {
- $tempLogoImageName = $post['logoName']['tmp_name'];
- $tempCssFilename = $post['cssFilename']['tmp_name'];
- $options = array(
- array(
- 'source' => $tempLogoImageName,
- 'target' => \Portal\Entity\Agency::getAgencyLogoPath().$post['logoName']['name'],
- 'randomize' => true
- ),
- array(
- 'source' => $tempCssFilename,
- 'target' => \Portal\Entity\Agency::getAgencyCSSPath().$post['cssFilename']['name'],
- 'randomize' => true
- )
- );
- ErrorHandler::start();
- $renameFileFilter = new Rename($options);
- $uploadedLogoFilePath = $renameFileFilter->filter($tempLogoImageName);
- $uploadedCssFilePath = $renameFileFilter->filter($tempCssFilename);
- ErrorHandler::stop(true);
- $agency->logoName = basename($uploadedLogoFilePath);
- $agency->cssFilename = basename($uploadedCssFilePath);
- }
- //save to db
- $agency->name = $post['agencyName'];
- $agency->applicationUrl = $post['applicationUrl'];
- $this->getEntityManager()->persist($agency);
- $this->getEntityManager()->flush();
- $response->setContent(\Zend\Json\Json::encode(array('success'=>1)));
- }
- }
- return $response;
- }
Advertisement
Add Comment
Please, Sign In to add comment