コード例 #1
0
ファイル: Container.php プロジェクト: freyr/envelope
 /**
  * @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));
 }
コード例 #6
0
ファイル: ServiceFactory.php プロジェクト: edefine/simple
 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());
 }
コード例 #10
0
ファイル: Container.php プロジェクト: leo009394/syringe
 /**
  * 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);
 }
コード例 #12
0
ファイル: ServiceRepository.php プロジェクト: swissup/email
 /**
  * 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());
 }
コード例 #14
0
ファイル: AbstractController.php プロジェクト: edefine/simple
 protected function getUser()
 {
     $userId = $this->getSession()->get('userId');
     if (!$userId) {
         return null;
     }
     $user = \ServiceFactory::getInstance()->getUserRepository()->findOneById($userId);
     return $user;
 }
コード例 #15
0
 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);
 }
コード例 #17
0
ファイル: UserFixture.php プロジェクト: edefine/simple
 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);
     }
 }
コード例 #20
0
ファイル: Bootstrap.php プロジェクト: edefine/framework
 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');
 }
コード例 #24
0
ファイル: Init.php プロジェクト: dekmabot/dezen-framework
 /**
  * @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);
 }
コード例 #30
0
ファイル: import.php プロジェクト: asymmetric/scuttle
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]++;
}