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