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')); }