Пример #1
0
 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;
 }
Пример #2
0
 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);
 }
Пример #3
0
 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!');
     }
 }
Пример #4
0
 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!');
     }
 }
Пример #5
0
 /**
  * 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'));
     }
 }
Пример #6
0
 /**
  * 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;
 }
Пример #7
0
 /**
  * @param array $item 
  * @return Entity
  */
 protected function createEntity(array $item)
 {
     return $this->hydrator->hydrate($item, $this->entityPrototype);
 }
Пример #8
0
 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);
 }
Пример #10
0
 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;
 }