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 update($id, $data) { $hydrator = new ObjectProperty(); $data = $hydrator->extract($data); $this->tableGateway->update($data, array('id' => $id)); return $data; }
public function update($id, $data) { $hydrator = new ObjectProperty(); $orderData = $hydrator->extract($data); $items = $orderData['item']; unset($orderData['item']); try { $this->repository->beginTransaction(); $this->repository->update($orderData, $id); $listItemsIds = []; foreach ($items as $item) { if (array_key_exists('id', $item)) { $itemId = $item['id']; $this->repository->updateItem($item, $itemId); } else { $item['order_id'] = $id; $itemId = $this->repository->insertItem($item); } $listItemsIds[] = $itemId; } $this->repository->deleteItemsNotInArray($id, $listItemsIds); $this->repository->commitTransaction(); } catch (Exception $e) { $this->repository->rollbackTransaction(); return false; } return $this->repository->find($id); }
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; }
/** * Insert the order resource * @param stdClass $data * @return $order */ public function insert($data) { $hydrate = new ObjectProperty(); $data = $hydrate->extract($data); $orderData = $data; unset($orderData['item']); $items = $data['item']; $tableGateway = $this->repository->getTableGateway(); /** * Watching transactions in orders */ try { $tableGateway->getAdapter()->getDriver()->getConnection()->beginTransaction(); $orderId = $this->repository->insert($orderData); foreach ($items as $item) { $item['order_id'] = $orderId; $this->insertItem($item); } $tableGateway->getAdapter()->getDriver()->getConnection()->commit(); return ['order_id' => $orderId]; } catch (\Exception $e) { $tableGateway->getAdapter()->getDriver()->getConnection()->rollback(); return 'error'; } }
public function update($id, $data) { $this->find($id); $hydrator = new ObjectProperty(); $this->tableGateway->update($hydrator->extract($data), ['id' => (int) $id]); return $this->find($id); }
public function insert($data) { $hydrator = new ObjectProperty(); //Hidrate StdClass to array $data->user_id = $this->usersRepository->getAuthenticated()->getId(); $data->created_at = (new \DateTime())->format('Y-m-d'); $data->total = 0; $items = $data->item; unset($data->item); $orderData = $hydrator->extract($data); $tableGateway = $this->repository->getTableGateway(); try { $tableGateway->getAdapter()->getDriver()->getConnection()->beginTransaction(); $order_id = $this->repository->insert($orderData); foreach ($items as $key => $item) { $product = $this->productsRepository->find($item['product_id']); $item['order_id'] = $order_id; $item['price'] = $product->getPrice(); $item['total'] = $items[$key]['total'] = $item['quantity'] * $item['price']; $total += $item['total']; $this->repository->insertItem($item); } $this->repository->update(['total' => $total], $order_id); $tableGateway->getAdapter()->getDriver()->getConnection()->commit(); return ['order_id' => $order_id]; } catch (\Exception $e) { $tableGateway->getAdapter()->getDriver()->getConnection()->rollback(); return 'error'; } }
public function create($data) { $mapper = new ObjectProperty(); $data = $mapper->extract($data); $this->tableGateway->insert($data); $data['id'] = $this->tableGateway->getLastInsertValue(); return $data; }
/** * Fetch a resource * * @param mixed $ticket_id * @return ApiProblem|TicketEntity */ public function fetch($ticket_id) { $hydrator = new ObjectProperty(); $ticket = new TicketEntity(); $response = $this->client->find($ticket_id); $ticket->exchangeArray($hydrator->extract($response->ticket)); return $ticket; }
public function update($data, $id) { $hydrator = new ObjectProperty(); $data = $hydrator->extract($data); if (!empty($data['password'])) { $bcrypt = new Bcrypt(); $data['password'] = $bcrypt->create($data['password']); } return $this->tableGateway->update($data, $id); }
public function saveAddress(Address $address) { if ($this->checkAddress($address->address)) { // Save now. $addressTable = new TableGateway('address', $this->adapter); $hydrator = new ObjectPropertyHydrator(); $data = $hydrator->extract($address); $addressTable->insert($data); $id = $addressTable->lastInsertValue; return $id; } else { throw new AddressAlreadyExsistException('Address already exsist!'); } }
/** * Returns a collection of items for a page. * * @param int $offset Page offset * @param int $itemCountPerPage Number of items per page * @return array */ public function getItems($offset, $itemCountPerPage) { $params = ['page' => $offset, 'per_page' => $itemCountPerPage]; $result = $this->client->findAll($params); $this->count = $result->count; if (is_array($result->tickets)) { $hydrator = new ObjectProperty(); $tickets = array_map(function ($ticket) use($hydrator) { $array = $hydrator->extract($ticket); $ticket = new TicketEntity(); $ticket->exchangeArray($array); return $ticket; }, $result->tickets); } else { $tickets = []; } return $tickets; }
/** * @param $reverseOauth */ public function auth($reverseOauth) { if ($reverseOauth->getToken($this->request)) { $token = $reverseOauth->getSessionToken(); // token in session } else { $token = $reverseOauth->getError(); // last returned error (array) } $info = $reverseOauth->getInfo(); if ($info) { $em = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'); $user = $em->getRepository('Application\\Entity\\User')->findOneByEmail($info->email); if ($user) { $user->setLastLogin(time()); $em->persist($user); $em->flush(); $authService = $this->getServiceLocator()->get('Zend\\Authentication\\AuthenticationService'); $authService->getStorage()->write($user); //if it come from other uri then redirect it $traject = new Container('traject'); if ($traject->trajectData) { return $this->redirect()->toRoute('traject/default', ['controller' => 'manage', 'action' => 'success']); } return $this->redirect()->toRoute('board'); } else { $info->firstname = $info->first_name; //to make same name as form elements $info->lastname = $info->last_name; $hydrator = new ObjectProperty(); $data = $hydrator->extract($info); $form = new RegisterForm(); $form->setData($data); $view = new ViewModel(['registerForm' => $form]); $view->setTemplate('user/register/index'); return $view; } } }
public function insert($data) { $hydrator = new ObjectProperty(); $data = $hydrator->extract($data); $order = $data; unset($order['items']); $items = $data['items']; $tableGateway = $this->ordersRepository->getTableGateway(); try { $tableGateway->getAdapter()->getDriver()->getConnection()->beginTransaction(); $orderId = $this->ordersRepository->insert($order); foreach ($items as $item) { $item['order_id'] = $orderId; $this->ordersRepository->insertItem($item); } $tableGateway->getAdapter()->getDriver()->getConnection()->commit(); return ['order_id' => $orderId]; } catch (\Exception $e) { $tableGateway->getAdapter()->getDriver()->getConnection()->rollback(); throw new \Exception(); } }
public function update($id, $data) { $hydrator = new ObjectProperty(); $array = $hydrator->extract($data); $orderData = $array; unset($orderData['item']); $items = $array['item']; $tableGateway = $this->repository->getTablegateway(); try { $tableGateway->getAdapter()->getDriver()->getConnection()->beginTransaction(); $itensAtuais = $this->repository->getOrderItems($id); foreach ($items as $item) { $item['order_id'] = $id; $buscaItem = $this->repository->getOrderItemTablegateway()->select(['order_id' => $item['order_id'], 'product_id' => $item['product_id']]); $idItem = 0; if (count($buscaItem) > 0) { $idItem = (int) $buscaItem->current()->getId(); $this->repository->getOrderItemTablegateway()->update($item, ['id' => $idItem]); } else { $this->repository->insertItem($item); } if (isset($itensAtuais[$idItem])) { unset($itensAtuais[$idItem]); } } foreach ($itensAtuais as $itemExcluir) { $this->repository->getOrderItemTablegateway()->delete(['id' => $itemExcluir['id']]); } $this->repository->update($id, $orderData); $tableGateway->getAdapter()->getDriver()->getConnection()->commit(); return ['order_id' => $id]; } catch (\Exception $exc) { $tableGateway->getAdapter()->getDriver()->getConnection()->rollback(); return 'error'; // echo $exc->getTraceAsString(); } }
public function update($id, $data) { $hydrator = new ObjectProperty(); $data = $hydrator->extract($data); $orderData = $data; unset($orderData['item']); $items = $data['item']; $tableGateway = $this->repository->getTableGateway(); try { $tableGateway->getAdapter()->getDriver()->getConnection()->beginTransaction(); $tableGateway->update($orderData, array('id' => $id)); $this->repository->deleteItem($id); foreach ($items as $item) { $item['order_id'] = $id; $this->repository->insertItem($item); } $tableGateway->getAdapter()->getDriver()->getConnection()->commit(); return $data; } catch (\Exception $e) { $tableGateway->getAdapter()->getDriver()->getConnection()->rollback(); return 'error'; } }
/** * @iterations 20000 * @group extraction */ public function objectPropertyExtract() { $data = $this->objectPropertyHydrator->extract($this->hydratedObject); }
public function toArray() { $hydrator = new ObjectProperty(); return $hydrator->extract($this); }
/** * Update a resource * * @param mixed $id * @param mixed $data * @return ApiProblem|mixed */ public function update($id, $data) { $user = $this->usersRepository->findByUsername($this->getIdentity()->getRoleId()); if ($user->getRole() != "admin") { return new ApiProblem(403, "Access denied for this user."); } $hydrator = new ObjectProperty(); $data = $hydrator->extract($data); return $this->repository->update($data, ['id' => $id]); }
/** * {@inheritDoc} * @throws PluginException */ public function extract($object) { return array_merge(parent::extract($object), $this->extractFromPlugins($object)); }
public function create($data) { $hydrator = new ObjectProperty(); $data = $hydrator->extract($data); return $this->userService->save($data); }
/** * Maps a value to a DynamoDb attribute and returns the array * * @param mixed $value The Value to map to a DynamoDB Data Attribute * * @return array */ protected function _formatValues($values) { foreach ($values as &$datapoint) { if (is_array($datapoint) || is_object($datapoint)) { // Get the properties of the class either from Array hydrator or public properties if (is_object($datapoint)) { if ($datapoint instanceof ArraySerializableInterface) { $hydrator = new ArraySerializable(); } else { $hydrator = new ObjectProperty(); } $datapoint = $hydrator->extract($datapoint); } $datapoint = ['M' => $datapoint]; } elseif (is_numeric($datapoint)) { $datapoint = [Type::NUMBER => $datapoint]; } elseif (is_bool($datapoint)) { $datapoint = [Type::BINARY => (bool) $datapoint]; } else { $datapoint = [Type::STRING => (string) $datapoint]; } } return $values; }
public function update($data, $id) { $hydrator = new ObjectProperty(); $data = $hydrator->extract($data); return $this->tableGateway->update($data, $id); }
/** * Update a resource * * @param mixed $id * @param mixed $data * @return ApiProblem|mixed */ public function update($id, $data) { $hydrator = new ObjectProperty(); $data = $hydrator->extract($data); return $this->repository->update($data, ['id' => $id]); }