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