get('amazon', 0, 'vm'); $sessionAmazonData = json_decode($sessionAmazon, true); if(isset($sessionAmazonData['RetryInvalidPaymentMethod'])) { $sessionAmazonData['RetryInvalidPaymentMethod']++; } else { $sessionAmazonData['RetryInvalidPaymentMethod'] = 0; } $session->set('amazon', json_encode($sessionAmazonData), 'vm'); return $sessionAmazonData['RetryInvalidPaymentMethod']; } public function getRetryInvalidPaymentMethodFromSession() { $session = JFactory::getSession(); $sessionAmazon = $session->get('amazon', 0, 'vm'); $sessionAmazonData = json_decode($sessionAmazon, true); if(isset($sessionAmazonData['RetryInvalidPaymentMethod'])) { return $sessionAmazonData['RetryInvalidPaymentMethod']; } else { return 0; } } public function saveAmazonOrderReferenceId(&$cart, $onlyDigitalGoods, $paymId) { $this->_amazonOrderReferenceId = vRequest::getString('session', ''); self::setAmazonOrderReferenceIdInSession($this->_amazonOrderReferenceId, $onlyDigitalGoods, $paymId); //$cart->virtuemart_paymentmethod_id = vRequest::getInt('pm', $paymId); //$cart->setCartIntoSession(); return $this->_amazonOrderReferenceId; } /** * save the BT and ST in case the shopper has already given one * @param $cart */ public function saveBTandSTInSession($cart) { $session = JFactory::getSession(); $sessionAmazon = $session->get('amazon', 0, 'vm'); $sessionAmazonData = json_decode($sessionAmazon, true); // check if it is already saved or not if(!isset($sessionAmazonData['BT'])) { $sessionAmazonData['BT'] = $cart->BT; $sessionAmazonData['ST'] = $cart->ST; $session->set('amazon', json_encode($sessionAmazonData), 'vm'); } } public function getBTandSTFromSession() { $session = JFactory::getSession(); $sessionAmazon = $session->get('amazon', 0, 'vm'); $address['BT'] = NULL; $address['ST'] = NULL; if($sessionAmazon) { $sessionAmazonData = json_decode($sessionAmazon, true); if(isset($sessionAmazonData['BT']) OR isset($sessionAmazonData['ST'])) { $address['BT'] = $sessionAmazonData['BT']; $address['ST'] = $sessionAmazonData['ST']; } } return $address; } /** * @return null */ public function getAmazonOrderReferenceIdWeightFromSession($paymId) { $session = JFactory::getSession(); $sessionAmazon = $session->get('amazon', 0, 'vm'); if($sessionAmazon) { $sessionAmazonData = json_decode($sessionAmazon, true); if(isset($sessionAmazonData[$paymId])) { return $sessionAmazonData[$paymId]; } } return NULL; } /** * @return null */ public function clearAmazonSession() { $session = JFactory::getSession(); $session->clear('amazon', 'vm'); return NULL; } /** * @return null */ public function getAmazonSalesPriceFromSession($paymId) { $session = JFactory::getSession(); $sessionAmazon = $session->get('amazon', 0, 'vm'); if($sessionAmazon) { $sessionAmazonData = json_decode($sessionAmazon, true); if(isset($sessionAmazonData[$paymId]) and isset($sessionAmazonData[$paymId]['_salesPrices']) ) { return $sessionAmazonData[$paymId]['_salesPrices']; } } return NULL; } /** * @param $salesPrices */ public function setSalesPriceInSession($salesPrices, $paymId) { $session = JFactory::getSession(); $sessionAmazon = $session->get('amazon', 0, 'vm'); if($sessionAmazon) { $sessionAmazonData = json_decode($sessionAmazon, true); } else { $sessionAmazonData = array(); } $sessionAmazonData['virtuemart_paymentmethod_id'] = $paymId; $sessionAmazonData[$paymId]['_salesPrices'] = $salesPrices; $session->set('amazon', json_encode($sessionAmazonData), 'vm'); } /** * @return null */ public function getAmazonOrderReferenceIdFromSession($paymId) { $session = JFactory::getSession(); $sessionAmazon = $session->get('amazon', 0, 'vm'); if($sessionAmazon) { $sessionAmazonData = json_decode($sessionAmazon, true); if(isset($sessionAmazonData[$paymId])) { return $sessionAmazonData[$paymId]['_amazonOrderReferenceId']; } } return NULL; } /** * @return null */ public function getisOnlyDigitalGoodsFromSession($paymId) { $session = JFactory::getSession(); $sessionAmazon = $session->get('amazon', 0, 'vm'); if($sessionAmazon) { $sessionAmazonData = json_decode($sessionAmazon, true); if(isset($sessionAmazonData[$paymId])) { return $sessionAmazonData[$paymId]['isOnlyDigitalGoods']; } } return NULL; } /** * @param $amazonOrderReferenceId * @param $isOnlyDigitalGoods */ public function setAmazonOrderReferenceIdInSession($amazonOrderReferenceId, $isOnlyDigitalGoods, $paymId) { $session = JFactory::getSession(); $sessionAmazon = $session->get('amazon', 0, 'vm'); if($sessionAmazon) { $sessionAmazonData = json_decode($sessionAmazon, true); } else { $sessionAmazonData = array(); } $sessionAmazonData['virtuemart_paymentmethod_id'] = $paymId; $sessionAmazonData[$paymId]['_amazonOrderReferenceId'] = $amazonOrderReferenceId; $sessionAmazonData[$paymId]['isOnlyDigitalGoods'] = $isOnlyDigitalGoods; $session->set('amazon', json_encode($sessionAmazonData), 'vm'); } // // Session functions // public function getDataFromSession() { $session = JFactory::getSession(); $sessionAmazon = $session->get('amazon', 0, 'vm'); if($sessionAmazon) { $sessionAmazonData = json_decode($sessionAmazon, true); return $sessionAmazonData; } return false; } }