Exemple #1
0
 public function filter($value)
 {
     $urlRewrite = new \Base\Model\UrlRewrites();
     // perform some transformation upon $value to arrive on $valueFiltered
     $value = $urlRewrite->format($value);
     return $value;
 }
 /**
  * Prepare the data and then save them
  *
  * @return \Zend\View\Model\ViewModel
  */
 public function processAction()
 {
     $urlRewrite = new UrlRewrites();
     if (!$this->request->isPost()) {
         return $this->redirect()->toRoute(NULL, array('controller' => 'cms', 'action' => 'index'));
     }
     $post = $this->request->getPost();
     $form = $this->form;
     $form->setData($post);
     $inputFilter = $this->filter;
     $form->setInputFilter($inputFilter);
     if (!$form->isValid()) {
         // Get the record by its id
         $viewModel = new ViewModel(array('error' => true, 'form' => $form));
         $viewModel->setTemplate('cms-admin/page/edit');
         return $viewModel;
     }
     // Get the posted vars
     $data = $form->getData();
     $slug = $data->getSlug();
     $parent = 0 == $data->getParentId() ? null : $data->getParentId();
     $strslug = !empty($slug) ? $slug : $urlRewrite->format($data->getTitle());
     $data->setSlug($strslug);
     $data->setParentId($parent);
     // Save the data in the database
     $record = $this->pageService->save($data);
     $this->flashMessenger()->setNamespace('success')->addMessage($this->translator->translate('The information have been saved.'));
     return $this->redirect()->toRoute(NULL, array('controller' => 'cms', 'action' => 'edit', 'id' => $record->getId()));
 }
 /**
  * @inheritDoc
  */
 public function save(\ProductCategory\Entity\Category $record)
 {
     $hydratorClassMethod = new ClassMethods();
     $utility = new Utilities();
     $urlRewrite = new UrlRewrites();
     // extract the data from the object
     $data = $hydratorClassMethod->extract($record);
     $id = (int) $record->getId();
     $this->getEventManager()->trigger(__FUNCTION__ . '.pre', null, array('data' => $record));
     // Trigger an event
     $data['slug'] = $urlRewrite->format($data['name']);
     if ($id == 0) {
         unset($data['id']);
         $data['uid'] = $utility->generateUid();
         $data['createdat'] = date('Y-m-d H:i:s');
         $data['updatedat'] = date('Y-m-d H:i:s');
         // Save the data
         $this->tableGateway->insert($data);
         // Get the ID of the record
         $id = $this->tableGateway->getLastInsertValue();
     } else {
         $rs = $this->find($id);
         if (!empty($rs)) {
             $data['updatedat'] = date('Y-m-d H:i:s');
             unset($data['createdat']);
             unset($data['uid']);
             // Save the data
             $this->tableGateway->update($data, array('id' => $id));
         } else {
             throw new \Exception('Record ID does not exist');
         }
     }
     $record = $this->find($id);
     $this->getEventManager()->trigger(__FUNCTION__ . '.post', null, array('id' => $id, 'data' => $data, 'record' => $record));
     // Trigger an event
     return $record;
 }
 /**
  * Prepare the data and then save them
  *
  * @return \Zend\View\Model\ViewModel
  */
 public function processAction()
 {
     $urlRewrite = new UrlRewrites();
     $request = $this->getRequest();
     // create the profile upload directories
     @mkdir(__DIR__ . "/../../../../documents/");
     @mkdir(__DIR__ . "/../../../../documents/profile");
     if (!$this->request->isPost()) {
         return $this->redirect()->toRoute(NULL, array('controller' => 'profile', 'action' => 'index'));
     }
     $post = $this->request->getPost();
     $inputFilter = $this->filter;
     $dateStrategy = new DateTimeStrategy();
     //     	$start = $dateStrategy->hydrate($post['start']);
     //     	$end = $dateStrategy->hydrate($post['end']);
     $form = $this->form;
     $post = array_merge_recursive($request->getPost()->toArray(), $request->getFiles()->toArray());
     $strslug = !empty($post['slug']) ? $post['slug'] : $urlRewrite->format($post['title']);
     // customize the path
     if (!empty($strslug)) {
         @mkdir(__DIR__ . "/../../../../documents/profile/" . $strslug);
         $path = __DIR__ . "/../../../../documents/profile/" . $strslug . '/';
         $fileFilter = $inputFilter->get('file')->getFilterChain()->getFilters()->top()->setTarget($path);
     }
     $form->setData($post);
     $form->setInputFilter($inputFilter);
     if (!$form->isValid()) {
         // Get the record by its id
         $viewModel = new ViewModel(array('error' => true, 'form' => $form));
         $viewModel->setTemplate('profile-admin/index/edit');
         return $viewModel;
     }
     // Get the posted vars
     $data = $form->getData();
     $slug = $data->getSlug();
     $parent = 0 == $data->getParentId() ? null : $data->getParentId();
     $strslug = !empty($slug) ? $slug : $urlRewrite->format($data->getTitle());
     $data->setSlug($strslug);
     $data->setParentId($parent);
     // set the input filter
     $form->setInputFilter($inputFilter);
     $filename = $data->getFile();
     if (!empty($filename['name'])) {
         $data->setFile('/documents/profile/' . $strslug . "/" . $filename['name']);
     } else {
         if (!empty($post['id'])) {
             $attachment = $this->profileservice->getAttachment($post['id']);
             if ($attachment) {
                 $data->setFile($attachment->getFile());
             } else {
                 $data->setFile(null);
             }
         } else {
             $data->setFile(null);
         }
     }
     $userId = $this->zfcUserAuthentication()->getIdentity()->getId();
     $data->setUserId($userId);
     // Save the data in the database
     $record = $this->profileservice->save($data);
     $this->flashMessenger()->setNamespace('success')->addMessage($this->translator->translate('The information have been saved.'));
     return $this->redirect()->toRoute(NULL, array('controller' => 'profile', 'action' => 'Edit', 'id' => $record->getId()));
 }
 /**
  * Prepare the data and then save them
  *
  * @return \Zend\View\Model\ViewModel
  */
 public function saveAction()
 {
     $urlRewrite = new UrlRewrites();
     $request = $this->getRequest();
     $inputFilter = $this->filter;
     $post = $this->request->getPost();
     $userId = $this->zfcUserAuthentication()->getIdentity()->getId();
     // Get the record by its id
     $profile = $this->profileService->getByUserId($userId);
     // create the profile upload directories
     @mkdir(__DIR__ . '/../../../../public/documents/');
     @mkdir(__DIR__ . '/../../../../public/documents/profiles');
     if (!$this->request->isPost()) {
         return $this->redirect()->toRoute(NULL, array('action' => 'index'));
     }
     $post = array_merge_recursive($request->getPost()->toArray(), $request->getFiles()->toArray());
     $form = $this->form;
     $strslug = $urlRewrite->format($post['name']);
     // customize the path
     if (!empty($strslug)) {
         @mkdir(__DIR__ . '/../../../../public/documents/profiles/' . $strslug);
     }
     $form->setData($post);
     $form->setInputFilter($inputFilter);
     if (!$form->isValid()) {
         // Get the record by its id
         $viewModel = new ViewModel(array('error' => true, 'form' => $form));
         $viewModel->setTemplate('profile/index/index');
         return $viewModel;
     }
     // Get the posted vars
     $data = $form->getData();
     $filename = $data->getFile();
     if (!empty($filename['name'])) {
         $data->setFile('/documents/profiles/' . $strslug . '/' . $filename['name']);
     } else {
         $attachment = $this->profileService->getAttachment($post['id']);
         if ($attachment) {
             $data->setFile($attachment->getFile());
         } else {
             $data->setFile(null);
         }
     }
     $data->setSlug($strslug);
     $data->setUserId($userId);
     // Save the data in the database
     $this->profileService->save($data);
     $this->flashMessenger()->setNamespace('success')->addMessage($this->translator->translate('The information have been saved.'));
     return $this->redirect()->toRoute(NULL, array('action' => 'index'));
 }