/** * @param string $id * @return mixed * @throws CircularDependencyException */ private function createService($id) { if (isset($this->servicesCreating[$id])) { $msg = 'Circular dependency: ' . implode(' => ', array_keys($this->servicesCreating)) . " => {$id}"; throw new CircularDependencyException($msg); } $this->servicesCreating[$id] = true; $service = $this->factory->create($id, $this); unset($this->servicesCreating[$id]); $this->repository->add($id, $service); return $service; }
public function execute() { $checkoutService = ServiceFactory::factory('Checkout'); $couponCode = $_REQUEST['coupon_id']; $checkoutService->updateCoupon($couponCode); $this->setSuccess($checkoutService->detail()); }
public function execute() { switch ($_REQUEST['checkout_type']) { case 'cart': if ($_REQUEST['payment_method_id'] == 'paypal') { $actionInstance = ActionFactory::factory('KanCart.ShoppingCart.PayPalWPS.Done'); $actionInstance->init(); $actionInstance->execute(); $this->result = $actionInstance->getResult(); } else { $kancartPaymentService = ServiceFactory::factory('KancartPayment'); list($result, $order_id) = $kancartPaymentService->kancartPaymentDone($_REQUEST['order_id'], $_REQUEST['custom_kc_comments'], $_REQUEST['payment_status']); if ($result === TRUE) { $orderService = ServiceFactory::factory('Order'); $info = $orderService->getPaymentOrderInfoById($order_id); $this->setSuccess($info); } else { $this->setError('0xFFFF', $order_id); } } case 'order': break; default: break; } }
public function execute() { $userService = ServiceFactory::factory('User'); $username = is_null($this->getParam('uname')) ? '' : trim($this->getParam('uname')); if (empty($username)) { $this->setError(KancartResult::ERROR_USER_INPUT_PARAMETER, 'User name is empty.'); return; } $encryptedPassword = is_null($this->getParam('pwd')) ? '' : trim($this->getParam('pwd')); $password = CryptoUtil::Crypto($encryptedPassword, 'AES-256', KANCART_APP_SECRET, false); if (!$password) { $this->setError(KancartResult::ERROR_USER_INPUT_PARAMETER, 'Password is empty.'); return; } $loginInfo = array('email' => $username, 'password' => $password); $login = $userService->login($loginInfo); if (is_string($login)) { $this->setError(KancartResult::ERROR_USER_INPUT_PARAMETER, $login); return; } $cacheKey = $this->customer->getCustomerGroupId() . '-' . $this->config->get('config_customer_price'); if ($this->config->get('config_tax')) { $query = $this->db->query("SELECT gz.geo_zone_id FROM " . DB_PREFIX . "geo_zone gz LEFT JOIN " . DB_PREFIX . "zone_to_geo_zone z2gz ON (z2gz.geo_zone_id = gz.geo_zone_id) WHERE (z2gz.country_id = '0' OR z2gz.country_id = '" . (int) $this->customer->country_id . "') AND (z2gz.zone_id = '0' OR z2gz.zone_id = '" . (int) $this->customer->zone_id . "')"); if ($query->num_rows) { $cacheKey .= '-1-' . $query->row['geo_zone_id']; } else { $cacheKey .= '-1-0'; } } else { $cacheKey .= '-0-0'; } $info = array('sessionkey' => md5($username . uniqid(mt_rand(), true)), 'cachekey' => $cacheKey); $this->setSuccess($info); }
public function execute() { $orderId = $this->getParam('order_id'); $orderService = ServiceFactory::factory('Order'); $oneOrderInfo = $orderService->getOneOrderInfoById($orderId); $this->setSuccess(array('order' => $oneOrderInfo)); }
public static function getInstance() { if (!self::$instance) { self::$instance = new self(); } return self::$instance; }
public function execute() { $cartItemId = $this->getParam('cart_item_id'); $cartService = ServiceFactory::factory('ShoppingCart'); $cartService->remove($cartItemId); $this->setSuccess($cartService->get()); }
public function execute() { $userService = ServiceFactory::factory('User'); $username = is_null($this->getParam('email')) ? '' : trim($this->getParam('email')); $enCryptedPassword = is_null($this->getParam('pwd')) ? '' : trim($this->getParam('pwd')); $password = CryptoUtil::Crypto($enCryptedPassword, 'AES-256', KANCART_APP_SECRET, false); $this->language->load('account/register'); if (strlen(utf8_decode($username)) > 96 || !preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/i', $username)) { $this->setError(KancartResult::ERROR_USER_INVALID_USER_DATA, $this->language->get('error_email')); return; } if (strlen($password) < 4 || strlen($password) > 20) { $this->setError(KancartResult::ERROR_USER_INVALID_USER_DATA, $this->language->get('error_password')); return; } $firstname = is_null($this->getParam('firstname')) ? '' : trim($this->getParam('firstname')); $lastname = is_null($this->getParam('lastname')) ? '' : trim($this->getParam('lastname')); $telephone = is_null($this->getParam('telephone')) ? '' : trim($this->getParam('telephone')); $regisetInfo = array('firstname' => $firstname, 'lastname' => $lastname, 'email' => $username, 'telephone' => $telephone, 'password' => $password); if (!$userService->register($regisetInfo)) { $this->setError(KancartResult::ERROR_USER_INVALID_USER_DATA, $msg); return; } // succed registering $this->setSuccess(); }
public function execute() { if (!$this->cart->hasProducts()) { $this->setSuccess(array('redirect_to_page' => 'shopping_cart', 'messages' => array('Shopping Cart is empty.'))); return; } $this->setSuccess(ServiceFactory::factory('Checkout')->detail()); }
/** * Gets the instance via lazy initialization (created on first usage) * * @param $id * * @throws CircularDependencyException * * @return a registered service */ public function get($id) { $service = $this->repository->get($id); if (is_null($service)) { if (isset($this->servicesCreating[$id])) { $msg = 'Circular dependency detected: ' . implode(' => ', array_keys($this->servicesCreating)) . " => {$id}"; throw new CircularDependencyException($msg); } // remmember ids called $this->servicesCreating[$id] = true; // pass the container to force only one instantiation per class $service = $this->factory->create($id, $this); unset($this->servicesCreating[$id]); $this->repository->add($id, $service); } return $service; }
public function execute() { $pageNo = $this->getParam('page_no'); $pageSize = $this->getParam('page_size'); $parameter = array('page_no' => isset($pageNo) && is_numeric($pageNo) ? intval($pageNo) : 1, 'page_size' => isset($pageSize) && is_numeric($pageSize) ? intval($pageSize) > 30 ? 30 : intval($pageSize) : 10, 'status_id' => $this->getParam('status_id'), 'customer_id' => $_SESSION['customer_id']); $orderService = ServiceFactory::factory('Order'); $orderInfos = $orderService->getOrderInfos($parameter); $this->setSuccess($orderInfos); }
/** * Load data by given Identity * * @param string $serviceId * @return Service * @throws \Magento\Framework\Exception\NoSuchEntityException */ public function getById($serviceId) { $service = $this->serviceFactory->create(); $this->resource->load($service, $serviceId); if (!$service->getId()) { throw new NoSuchEntityException(__('Item with id "%1" does not exist.', $serviceId)); } return $service; }
public function execute() { $shippingMethodId = $this->getParam('shipping_method_id'); if ($shippingMethodId) { $checkoutService = ServiceFactory::factory('Checkout'); $checkoutService->updateShippingMethod($shippingMethodId); } $this->setSuccess($checkoutService->detail()); }
protected function getUser() { $userId = $this->getSession()->get('userId'); if (!$userId) { return null; } $user = \ServiceFactory::getInstance()->getUserRepository()->findOneById($userId); return $user; }
public static function fromJSON($s) { $url = self::translateURL($s->url); //if ($s->type == 'Service') $service = ServiceFactory::newService($s->name, @$s->cmd, $url); //elseif ($s->type == 'ServiceWeb') // $service = ServiceFactory::newServiceWeb($s->name, $url); return $service; }
public function execute() { $order_id = $this->session->data['order_id']; $paypalWpsService = ServiceFactory::factory('PaypalWps'); $paypalWpsService->paypalWpsDone(); $tx = max($_REQUEST['tx'], $_REQUEST['txn_id']); $orderService = ServiceFactory::factory('Order'); $info = $orderService->getPaymentOrderInfoById($order_id, $tx); $this->setSuccess($info); }
public function load() { $manager = \ServiceFactory::getInstance()->getEntityManager(); $admin = $this->createAdmin('FirstName', 'LastName', '*****@*****.**', 'password'); $manager->save($admin); for ($i = 1; $i <= self::USERS_TO_CREATE; $i++) { $user = $this->createUser("FirstName {$i}", "LastName {$i}", "email{$i}@address.com", "password{$i}"); $manager->save($user); } }
public function execute() { $userService = ServiceFactory::factory('User'); $address = prepare_address(); $updateResult = $userService->updateAddress($address); if ($updateResult === true) { $this->setSuccess(); return; } $this->setError(KancartResult::ERROR_USER_INPUT_PARAMETER, join(',', $updateResult)); }
public function execute() { $productId = intval($this->getParam('item_id')); $productService = ServiceFactory::factory('Product'); $product = $productService->getProduct($productId); if ($product) { $this->setSuccess(array('item' => $product)); } else { $this->setError(KancartResult::ERROR_ITEM_INPUT_PARAMETER); } }
public function run() { $serviceFactory = \ServiceFactory::getInstance(); $request = $serviceFactory->getRequest(); $serviceFactory->getDispatcher()->dispatch('kernel.request', new RequestEvent($request)); $controllerPath = sprintf('Controller\\%sController', $request->getControllerName()); $actionMethod = sprintf('%sAction', $request->getActionName()); $actionDispatcher = new ActionDispatcher(); $response = $actionDispatcher->dispatch($controllerPath, $actionMethod); $responseHandler = new ResponseHandler(); $responseHandler->handle($response); }
public function execute() { $pageNo = intval($_REQUEST['page_no']) - 1; $pageSize = intval($_REQUEST['page_size']); $itemId = intval($_REQUEST['item_id']); if ($pageSize <= 0) { $pageSize = 10; } $reviewService = ServiceFactory::factory('Review'); $reviews = $reviewService->getReviews($itemId, $pageNo, $pageSize); $reviewCounts = $reviewService->getReviewsCount($itemId); $this->setSuccess(array('trade_rates' => $reviews, 'total_results' => $reviewCounts)); }
/** * get products information * @param type $cart * @return array * @author hujs */ public function getProducts() { $currency = $this->currency->getCode(); $items = array(); $productService = ServiceFactory::factory('Product'); $products = $this->cart->getProducts(); foreach ($products as $product) { $productInfo = $productService->getProduct($product['product_id']); $item = array('cart_item_id' => $product['key'], 'cart_item_key' => '', 'item_id' => $product['product_id'], 'item_title' => $productInfo['item_title'] . (!$product['stock'] ? '<font color = \'red\'>***' : ''), 'thumbnail_pic_url' => $productInfo['thumbnail_pic_url'], 'currency' => $currency, 'item_price' => $this->format($this->tax->calculate($product['price'], $product['tax_class_id'], $this->config->get('config_tax'))), 'qty' => $product['quantity'], 'display_attributes' => $this->getDisplayAttributes($product['option']), 'item_url' => $productInfo['item_url'], 'short_description' => $productInfo['short_description']); $items[] = $item; } return $items; }
public function execute() { $userService = ServiceFactory::factory('User'); $addressBookId = intval($this->getParam('address_book_id')); if ($addressBookId) { $result = $userService->deleteAddress($addressBookId); if (true === $result) { $this->setSuccess(); return; } $this->setError(KancartResult::ERROR_USER_INPUT_PARAMETER, join(',', $result)); } $this->setError(KancartResult::ERROR_USER_INPUT_PARAMETER, 'Address book is empty'); }
/** * @return \Core\Router_Mask|null */ private function findServiceRoute() { $services = $this->service_factory->getCollection(); foreach ($services as $service) { $class_name = '\\Service\\' . $service->service_name . '\\Router'; if (class_exists($class_name)) { /** @var \Core\Router $router */ $router = new $class_name(); $route_mask = $router->search($this->request->url); if (null !== $route_mask) { return array($route_mask, $service->service_name); } } } return null; }
public function execute() { $username = is_null($this->getParam('email')) ? '' : trim($this->getParam('email')); if (strlen($username) == 0) { $this->setError(KancartResult::ERROR_USER_INPUT_PARAMETER); return; } $response = array(); $response['nick_is_exist'] = "false"; $response['uname_is_exist'] = "false"; $userService = ServiceFactory::factory('User'); if ($userService->checkEmailExists($username)) { $response['uname_is_exist'] = "true"; } $this->setSuccess($response); }
public function execute() { $itemId = $this->getParam('item_id'); $rating = is_null($this->getParam('rating')) ? 5 : intval($this->getParam('rating')); if ($rating > 5) { $rating = 5; } elseif ($rating < 0) { $rating = 0; } $content = is_null($this->getParam('content')) ? '' : htmlspecialchars(substr(trim($this->getParam('content')), 0, 1000)); $reviewService = ServiceFactory::factory('Review'); if ($reviewService->addReview($itemId, $content, $rating)) { $this->setSuccess(); } else { $this->setError('', 'add review to this product failed.'); } }
/** new * get user orders information * @param type $userId * @return type * @author hujs */ public function getOrderInfos(array $parameter) { $orderInfos = array(); $userId = $parameter['customer_id']; $pageNo = $parameter['page_no']; $pageSize = $parameter['page_size']; $orders = $this->getOrderList($pageNo, $pageSize); foreach ($orders as $order) { $orderItem = array(); $this->initOrderDetail($orderItem, $order); $orderItem['price_infos'] = $this->getPriceInfos($orderItem, $order); $orderItem['order_items'] = $this->getOrderItems($order); $orderItem['order_status'] = ServiceFactory::factory('Store')->getOrderStatauses(); $orderInfos[] = $orderItem; } return array('total_results' => $this->getUserOrderCounts($userId), 'orders' => $orderInfos); }
public function placeOrder($method) { $this->session->data['payment_method'] = array('id' => 'mobile', 'title' => $method, 'sort_order' => 1); $paypal = ServiceFactory::factory('PaypalWps'); list($result, $mesg) = $paypal->placeOrder(); $order_id = $this->session->data['order_id']; $this->load->model('checkout/order'); if ($result === true) { $comments = 'From mobile payment ' . $method; $this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('config_order_status_id'), $comments); $paypal->paypalWpsDone(); return array(true, $order_id, array()); } else { $message = is_array($mesg) ? join('<br>', $mesg) : $mesg; return array(false, $order_id, $message); } }
public function execute() { $cartItemId = $this->getParam('cart_item_id'); $qty = intval($this->getParam('qty')) > 0 ? intval($this->getParam('qty')) : 1; $cartService = ServiceFactory::factory('ShoppingCart'); if (method_exists($cartService, 'checkMinimunOrder')) { $error = $cartService->checkMinimunOrder(intval($cartItemId), $qty); } else { $error = array(); } if (is_array($error) && sizeof($error) == 0) { $cartService->update($cartItemId, $qty); $result = $cartService->get(); } else { $result = $cartService->get(); $result['messages'] = $error; } $this->setSuccess($result); }
function startElement($parser, $name, $attrs) { global $depth, $status, $tplVars, $userservice; $bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService'); $userservice =& ServiceFactory::getServiceInstance('UserService'); if ($name == 'POST') { while (list($attrTitle, $attrVal) = each($attrs)) { switch ($attrTitle) { case 'HREF': $bAddress = $attrVal; break; case 'DESCRIPTION': $bTitle = $attrVal; break; case 'EXTENDED': $bDescription = $attrVal; break; case 'TIME': $bDatetime = $attrVal; break; case 'TAG': $tags = strtolower($attrVal); break; } } if ($bookmarkservice->bookmarkExists($bAddress, $userservice->getCurrentUserId())) { $tplVars['error'] = T_('You have already submitted this bookmark.'); } else { // Strangely, PHP can't work out full ISO 8601 dates, so we have to chop off the Z. $bDatetime = substr($bDatetime, 0, -1); // If bookmark claims to be from the future, set it to be now instead if (strtotime($bDatetime) > time()) { $bDatetime = gmdate('Y-m-d H:i:s'); } if ($bookmarkservice->addBookmark($bAddress, $bTitle, $bDescription, $status, $tags, $bDatetime, true, true)) { $tplVars['msg'] = T_('Bookmark imported.'); } else { $tplVars['error'] = T_('There was an error saving your bookmark. Please try again or contact the administrator.'); } } } $depth[$parser]++; }