Пример #1
0
 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;
     }));
 }
Пример #2
0
 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));
 }