Example #1
0
 public function addAction()
 {
     $form = $this->getServiceLocator()->get('Admin\\Form\\ProductForm');
     $request = $this->getRequest();
     if ($request->isPost()) {
         $product = new Product();
         $form->setInputFilter($product->getInputFilter());
         $data = $request->getPost()->toArray();
         $data['price'] = str_replace('.', '', $data['price']);
         $form->setData($data);
         if ($form->isValid()) {
             $fileService = $this->getServiceLocator()->get('Admin\\Service\\FileService');
             $fileService->setDestination($this->config['component']['product']['image_path']);
             $fileService->setSize($this->config['file_characteristics']['image']['size']);
             $fileService->setExtension($this->config['file_characteristics']['image']['extension']);
             $image1 = $fileService->copy($this->params()->fromFiles('image1'));
             $image2 = $fileService->copy($this->params()->fromFiles('image2'));
             $image3 = $fileService->copy($this->params()->fromFiles('image3'));
             $image4 = $fileService->copy($this->params()->fromFiles('image4'));
             $image5 = $fileService->copy($this->params()->fromFiles('image5'));
             $image6 = $fileService->copy($this->params()->fromFiles('image6'));
             $fileService->setDestination($this->config['component']['product']['file_path']);
             $fileService->setSize($this->config['file_characteristics']['file']['size']);
             $fileService->setExtension($this->config['file_characteristics']['file']['extension']);
             $specificationFile = $fileService->copy($this->params()->fromFiles('specification_file'));
             $manualFile = $fileService->copy($this->params()->fromFiles('manual_file'));
             $fileService->setDestination($this->config['component']['product']['video_path']);
             $fileService->setSize($this->config['file_characteristics']['video']['size']);
             $fileService->setExtension($this->config['file_characteristics']['video']['extension']);
             $video = $fileService->copy($this->params()->fromFiles('video'));
             $data['specification_file'] = $specificationFile ? $specificationFile : "";
             $data['manual_file'] = $manualFile ? $manualFile : "";
             $data['image1'] = $image1 ? $image1 : "";
             $data['image2'] = $image2 ? $image2 : "";
             $data['image3'] = $image3 ? $image3 : "";
             $data['image4'] = $image4 ? $image4 : "";
             $data['image5'] = $image5 ? $image5 : "";
             $data['image6'] = $image6 ? $image6 : "";
             $measures = $data['measures'];
             $apps = $data['apps'];
             $product->exchangeArray($data);
             $productId = $this->getProductTable()->save($product);
             $productMeasuresTable = $this->getProductMeasureTable();
             $productMeasuresTable->save($productId, $measures);
             $productAppTable = $this->getProductAppTable();
             $productAppTable->save($productId, $apps);
             return $this->redirect()->toRoute('admin/product');
         } else {
             $select = $form->get("measures")->setValue($data['measures']);
         }
     }
     return array('form' => $form, 'config' => $this->config);
 }