public function editAction() { if ($this->zfcUserAuthentication()->hasIdentity() && $this->zfcUserAuthentication()->getIdentity()->getRole() == "admin") { $id = (int) $this->params()->fromRoute('id', 0); if (!$id) { return $this->redirect()->toRoute('product', array('action' => 'add')); } $product = $this->getProductTable()->getProduct($id); $form = new ProductForm(); $form->bind($product); $request = $this->getRequest(); if ($request->isPost()) { $form->setInputFilter($product->getInputFilter()); $form->setData(array_merge($request->getPost()->toArray(), $request->getFiles()->toArray())); if ($form->isValid()) { $fileName = $form->getData()['image']['name']; if (move_uploaded_file($form->getData()['image']['tmp_name'], getcwd() . '/public/img/' . $fileName)) { echo "Файл корректен и был успешно загружен.\n"; } else { echo "Возможная атака с помощью файловой загрузки!\n"; } $product->exchangeArray($form->getData()); $this->getProductTable()->saveProduct($form->getData()); // Redirect to list of products return $this->redirect()->toRoute('product'); } } return array('id' => $id, 'form' => $form); } else { $view = new ViewModel(array('message' => 'GET OUT OF HERE!')); $view->setTemplate('product/error/access'); return $view; } }
public function addAction() { $form = new ProductForm(); $form->get('submit')->setValue('Add'); $request = $this->getRequest(); if ($request->isPost()) { $product = new Product(); $form->setInputFilter($product->getInputFilter()); $form->setData($request->getPost()); if ($form->isValid()) { $product->exchangeArray($form->getData()); $this->getProductTable()->saveProduct($product); return $this->redirect()->toRoute('product'); } } return array('form' => $form); }
public function addAction() { $form = new ProductForm(); $form->get('submit')->setValue('Add'); $request = $this->getRequest(); if ($request->isPost()) { $product = new Product(); $form->setInputFilter($product->getInputFilter()); $form->setData($request->getPost()); var_dump($request->getPost()); if ($form->isValid()) { $product->exchangeArray($form->getData()); $this->getProductTable()->saveProduct($product); // Redirect to list of products return $this->redirect()->toRoute('product'); } else { echo 'NOPE'; } } return array('form' => $form, 'shops' => $this->getShopTable()->fetchAll($this->getServiceLocator()->get('AuthService')->getStorage()->read()->id), 'product_categories' => $this->getProductCategoryTable()->fetchAll($this->getServiceLocator()->get('AuthService')->getStorage()->read()->id)); }
public function editAction() { $id = (int) $this->params()->fromRoute('id', 0); if (!$id) { return $this->redirect()->toRoute('product', array('action' => 'add')); } $item = $this->getProductTable()->getItem($id); $form = new ProductForm(); $form->bind($item); $form->get('submit')->setAttribute('value', 'Edit'); $request = $this->getRequest(); if ($request->isPost()) { $form->setInputFilter($item->getInputFilter()); $form->setData($request->getPost()); if ($form->isValid()) { $this->getProductTable()->saveProduct($form->getData()); return $this->redirect()->toRoute('list'); } } return array('id' => $id, 'form' => $form); }