public function editAction() { $taskService = $this->getServiceLocator()->get('Console\\Service\\TaskService'); $ObjectPropertyHydrator = new ObjectPropertyHydrator(); $form = new TaskForm(); $vars = array('form' => $form); $task_id = $this->params()->fromRoute('task_id', null); if (!empty($task_id)) { $task = $taskService->getTask($task_id); $task_data = $ObjectPropertyHydrator->extract($task); $form->setData($task_data); } $request = $this->getRequest(); if ($request->isPost()) { $post_data = $request->getPost(); $form->setData($post_data); if ($form->isValid()) { $task = new Task(); $ObjectPropertyHydrator->hydrate($form->getData(), $task); $vars['saved_int'] = $taskService->saveTask($task); } } $view_page = new ViewModel($vars); //$view_page = $this->setChildViews($view_page); return $view_page; }
public function addJobAction() { if (!$this->getServiceLocator()->get('AuthStatus')->hasIdentity()) { return $this->redirect()->toRoute('login'); } $form = new JobsForm(); $form->get('submit')->setValue('Submit'); /** @var \Zend\Http\PhpEnvironment\Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $validate = new JobsFilter(); $form->setInputFilter($validate->getInputFilter()); $form->setData($request->getPost()); if ($form->isValid()) { $validate->exchangeArray($form->getData()); $hydrator = new Hydrator\ObjectProperty(); $job = new Job(); $data = $hydrator->extract($request->getPost()); $hydrator->hydrate($data, $job); $auth = new AuthAccess(); if ($this->getServiceLocator()->get('AuthStatus')->hasIdentity()) { $job->author = $auth->getRealName(); $job->date_submitted = time(); $this->getJobsTable()->addJob($job); $submission = (string) $this->getJobsTable()->getId(); return $this->redirect()->toRoute('showaddedjob', array('action' => 'showaddedjob', 'param' => $submission)); } else { $this->redirect()->toRoute('login'); } } } return array('form' => $form); }
public function getDocument($id) { $documentTable = new TableGateway('document', $this->adapter); $rs = $documentTable->select(array('id' => intval($id))); if ($rs->count()) { $row = $rs->current(); $ObjectPropertyHydrator = new ObjectPropertyHydrator(); $document = new Document(); $ObjectPropertyHydrator->hydrate($row->getArrayCopy(), $document); return $document; } else { throw new \Exception('data not exsist!'); } }
public function getTask($task_id) { $taskTable = new TableGateway('task', $this->adapter); $rs = $taskTable->select(array('id' => intval($task_id))); if ($rs->count()) { $row = $rs->current(); $ObjectPropertyHydrator = new ObjectPropertyHydrator(); $task = new Task(); $ObjectPropertyHydrator->hydrate($row->getArrayCopy(), $task); return $task; } else { throw new \Exception('data not exsist!'); } }
/** * bundle processing 2 */ public function storeAction() { $this->init(); $success = true; if ($success) { $db = new WorkUserEntity(); $row = $db->db()->getWork(); if ($row && $row->create_user) { $success = false; } } $request = $this->getRequest(); if (!$request->isPost()) { $success = false; } if (!$success) { $this->flashMessenger()->addMessage("No allowed"); // $this->flashMessenger()->addMessage("許可されていません。"); return $this->redirect()->toRoute('app', array('controller' => 'failed', 'action' => 'forbidden')); } $form = new WorkUserForm(); $form->startForm(); $filter = new WorkUserFilter(); $token_id = $this->container()->get('token_id'); $this->container()->clear('token_id'); $filter->setCreateToken($token_id); $filter->setStoreInputFilter(); $hydrator = new ObjectProperty(); $post = $request->getPost(); $file = $request->getFiles(); $hydrator->hydrate($file->toArray(), $post); $form->setInputFilter($filter->getInputFilter()); $form->setData($post); $success = $form->isValid(); if (!$success) { $msg = ""; $tmpMsg = ""; $messages = $form->getMessages(); foreach ($messages as $key => $val) { $msg .= $msg ? "\n" : ""; switch ($key) { case 'upload_file': $msg .= $this->translator()->translate("File Error") . "\n"; // $msg .= $this->translator()->translate("【ファイル エラー】") . "\n"; break; case 'token_id': $msg .= $this->translator()->translate("Operation Error") . "\n"; // $msg .= $this->translator()->translate("【操作 エラー】") . "\n"; break; case 'charset': $msg .= $this->translator()->translate("Character Setting Error") . "\n"; // $msg .= $this->translator()->translate("【文字セット 選択エラー】") . "\n"; break; default: $msg .= $this->translator()->translate("Error") . "\n"; // $msg .= $this->translator()->translate("【エラー】") . "\n"; break; } $tmp = current($val); do { if ($tmpMsg == $tmp) { continue; } $msg .= $tmp . "\n"; next($val); $tmpMsg = $tmp; } while ($tmp = current($val)); } $this->flashMessenger()->addMessage($msg); return $this->redirect()->toRoute('app', array('controller' => 'work-user', 'action' => 'start')); } $i = 0; $tmp_name = gv('tmp_name', $file->upload_file); $fp = fopen($tmp_name, 'r'); $line = array(); while ($res = fgetcsv($fp, 1024)) { if (!$success) { break; } // check template if (0 == $i) { ++$i; $success = 'login_id *' == gv('0', $res) && 'user_name *' == gv('1', $res) && 'email *' == gv('2', $res) && 'phone' == gv('3', $res); continue; } if ('utf-8' != $post->charset) { $user_name = mb_convert_encoding(gv('1', $res), 'utf-8', $post->charset); } else { $user_name = gv('1', $res); } $line[] = array('login_id' => gv('0', $res), 'user_name' => $user_name, 'email' => gv('2', $res), 'phone' => gv('3', $res)); } fclose($fp); unlink($tmp_name); if ($success && $line) { $success = $db->insertWorkRecord($this->auth()->getUserInfo(), $line); } else { $this->flashMessenger()->addMessage("Data Error"); // $this->flashMessenger()->addMessage("登録データエラー"); return $this->redirect()->toRoute('app', array('controller' => 'work-user', 'action' => 'start')); } // redirect to list page if ($success) { return $this->redirect()->toRoute('app', array('controller' => 'work-user', 'action' => 'list')); } }
/** * set translate file * @return ViewModel */ public function fileStoreAction() { $this->init(); $request = $this->getRequest(); if (!$request->isPost() || 2 > $this->ctrlLv) { exit; } $form = new LanguageForm(); $form->setFileUpForm(); $filter = new LanguageFilter(); $token_id = $this->container()->get('token_id'); $this->container()->clear('token_id'); $filter->setCreateToken($token_id); $filter->setStoreInputFilter(); $hydrator = new ObjectProperty(); $post = $request->getPost(); $file = $request->getFiles(); $hydrator->hydrate($file->toArray(), $post); $form->setInputFilter($filter->getInputFilter()); $form->setData($post); $success = $form->isValid(); if (!$success) { $token_id = make_token_id(); $this->container()->set('token_id', $token_id); $form->get('token_id')->setAttribute('value', $token_id); $values = array('controller' => 'language', 'action' => 'file-store', 'form' => $form, 'label' => 'Translate File', 'max_size' => 524288); $view = new ViewModel($values); $view->setTemplate('/common/file-upload.phtml'); $view->setTerminal(true); return $view; } // ***** save file $dir_name = APP_DIR . '/module/App/language/'; $file_name = gv('name', $file->upload_file); $tmp_name = gv('tmp_name', $file->upload_file); // delete file in server if (file_exists($dir_name . $file_name)) { unlink($dir_name . $file_name); } // re-set file $success = move_uploaded_file($tmp_name, $dir_name . $file_name); if ($success) { $cmd = "msgfmt -o {$dir_name}" . str_replace('.po', '.mo', $file_name) . " " . $dir_name . $file_name; system($cmd, $success); } if (0 === $success) { $message = 'Completed'; // $message = '処理完了'; } else { $message = 'Failed'; // $message = '処理失敗'; } $view = new ViewModel(array('message' => $message)); $view->setTemplate('/common/message.phtml'); $view->setTerminal(true); return $view; }
/** * @param array $item * @return Entity */ protected function createEntity(array $item) { return $this->hydrator->hydrate($item, $this->entityPrototype); }
public function exchangeArray($data) { $hydrator = new ObjectProperty(); $hydrator->hydrate($data, $this); }
/** * {@inheritDoc} */ public function hydrate(array $data, $object) { $data = $this->hydrateViaPlugins($data, $object); return parent::hydrate($data, $object); }
public function fileStoreAction() { $this->init(); $request = $this->getRequest(); if (!$request->isPost()) { exit; } $form = new ApprovalForm(); $form->setAttachForm(); $filter = new ApprovalFilter(); $filter->setStoreInputFilter(); $hydrator = new ObjectProperty(); $post = $request->getPost(); $file = $request->getFiles(); $hydrator->hydrate($file->toArray(), $post); $form->setInputFilter($filter->getInputFilter()); $form->setData($post); $success = $form->isValid(); if (!$success) { $token_id = make_token_id(); $this->container()->set('token_id', $token_id); $form->get('token_id')->setAttribute('value', $token_id); $values = array('controller' => 'approval', 'action' => 'fileStore', 'form' => $form); $view = new ViewModel($values); $view->setTemplate('/common/attachment.phtml'); $view->setTerminal(true); return $view; } $dir_name = APP_UPLOAD_DIR; if (!file_exists($dir_name)) { mkdir($dir_name, 0777, true); } $file_name = gv('name', $file->upload_file); $tmp_name = gv('tmp_name', $file->upload_file); if (file_exists($dir_name . $file_name)) { unlink($dir_name . $file_name); } else { $path = tempnam(sys_get_temp_dir(), $file_name); $temp = explode(".", $file_name); $base_name = basename($file_name); $no_extension = preg_replace("/\\.[^.]+\$/", "", $base_name); $newfilename = $no_extension . '_' . round(microtime(true)) . '.' . end($temp); $success = move_uploaded_file($tmp_name, $dir_name . $newfilename); if ($success) { $message = 'Successfully uploaded'; } else { $message = 'Failed to Upload File'; } } $view = new ViewModel(array('message' => $message, 'filename' => $newfilename, 'dir' => $path)); $view->setTemplate('/common/attach.phtml'); $view->setTerminal(true); return $view; }