public function getServiceConfig() { return array('factories' => array('Jobeet\\Model\\CategoryTable' => function ($sm) { $tableGateway = $sm->get('CategoryTableGateway'); $table = new CategoryTable($tableGateway); return $table; }, 'CategoryTableGateway' => function ($sm) { $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter'); $resultSetPrototype = new HydratingResultSet(new ArraySerializableHydrator(), new Category()); return new TableGateway('category', $dbAdapter, null, $resultSetPrototype); }, 'Jobeet\\Model\\JobTable' => function ($sm) { $tableGateway = $sm->get('JobTableGateway'); $table = new JobTable($tableGateway); return $table; }, 'JobTableGateway' => function ($sm) { $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter'); $resultSetPrototype = new HydratingResultSet(new ArraySerializableHydrator(), new Job()); return new TableGateway('job', $dbAdapter, null, $resultSetPrototype); }, 'Jobeet\\View\\UnauthorizedStrategy' => function ($sm) { $strategy = new UnauthorizedStrategy(); return $strategy; }, 'Jobeet/Model/Job' => function ($sm) { $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter'); $job = new \Jobeet\Model\Job(); $job->setDbAdapter($dbAdapter); return $job; }, 'Jobeet/Model/Category' => function ($sm) { $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter'); $category = new \Jobeet\Model\Category(); $category->setDbAdapter($dbAdapter); return $category; })); }
public function addAction() { $formJob = new JobForm($this->categoryTable); $request = $this->getRequest(); if ($request->isPost()) { $job = new Job(); $formJob->setInputFilter($job->getInputFilter()); $nonFiles = $this->getRequest()->getPost()->toArray(); $files = $this->getRequest()->getFiles()->toArray(); $data = array_merge_recursive($nonFiles, $files); $formJob->setData($data); if ($formJob->isValid()) { $size = new Size(array('max' => 716800)); $adapter = new \Zend\File\Transfer\Adapter\Http(); $adapter->setValidators(array($size), $files['logo']); if (!$adapter->isValid()) { $dataError = $adapter->getMessages(); $error = array(); foreach ($dataError as $key => $row) { $error[] = $row; } $formJob->setMessages(array('logo' => $error)); } else { $adapter->setDestination('./public/resources'); if ($adapter->receive($files['logo']['name'])) { $job->exchangeArray($formJob->getData()); $job->logo = $files['logo']['name']; $this->jobTable->saveJob($job); return $this->redirect()->toRoute('home'); } } } } return new ViewModel(array('form' => $formJob)); }