hotel_commerce/modules/hotelreservationsystem/classes/QloWebservice.php
2023-06-26 13:09:26 +05:30

145 lines
5.7 KiB
PHP

<?php
/**
* 2010-2020 Webkul.
*
* NOTICE OF LICENSE
*
* All right is reserved,
* Please go through this link for complete license : https://store.webkul.com/license.html
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future. If you wish to customize this module for your
* needs please refer to https://store.webkul.com/customisation-guidelines/ for more information.
*
* @author Webkul IN <support@webkul.com>
* @copyright 2010-2020 Webkul IN
* @license https://store.webkul.com/license.html
*/
class QloWebservice
{
protected $objOutput;
protected $output;
protected $wsObject;
protected $mobikulGlobal; // Remove this
protected $mkGlobal;
protected $mkmodule;
protected $http;
protected $width;
public function __construct($objOutput = null, $wsObject = null, $output = null)
{
$this->objOutput = $objOutput;
$this->wsObject = $wsObject;
$this->output = $output;
// Need to remove these three settings, this should be handled by context
// $this->id_lang = (int)Configuration::get('PS_LANG_DEFAULT');
// $this->id_currency = (int)Configuration::get('PS_CURRENCY_DEFAULT');
// $this->currency = Currency::getCurrencyInstance((int) Configuration::get('PS_CURRENCY_DEFAULT'));
$this->setContext();
// $this->mkmodule = Module::getInstanceByName('mobikul');
// $this->mobikulGlobal = new MobikulGlobal($this->id_lang, $objOutput, $wsObject, $output); // Remove this
// $this->mkGlobal = new MobikulGlobal($this->id_lang, $objOutput, $wsObject, $output);
}
public function setContext()
{
$this->context = Context::getContext();
// // Set Customer
// if (isset($this->wsObject->urlFragments['id_customer'])) {
// $this->context->customer = new Customer($this->wsObject->urlFragments['id_customer']);
// }
// // Set language
// if (isset($this->wsObject->urlFragments['id_lang'])) {
// $language = new Language($this->wsObject->urlFragments['id_lang']);
// if (!Validate::isLoadedObject($language)) {
// $language = new Language((int)Configuration::get('PS_LANG_DEFAULT'));
// }
// } else {
// $language = new Language((int)Configuration::get('PS_LANG_DEFAULT'));
// }
$language = new Language((int)Configuration::get('PS_LANG_DEFAULT'));
$this->context->language = $language;
// // Set Currency
// if (isset($this->wsObject->urlFragments['id_currency'])) {
// $currency = new Currency($this->wsObject->urlFragments['id_currency']);
// if (!Validate::isLoadedObject($currency)) {
// $language = new Language((int)Configuration::get('PS_CURRENCY_DEFAULT'));
// }
// } else {
// $currency = new Currency((int)Configuration::get('PS_CURRENCY_DEFAULT'));
// }
$currency = new Currency((int)Configuration::get('PS_CURRENCY_DEFAULT'));
$this->context->currency = $currency;
}
public function getResult($message, $status = null, $args = array(), $xml = false)
{
$this->output .= $this->objOutput->getObjectRender()->renderNodeHeader('response', array());
if ($status !== null) {
$this->output .= $this->renderField('status', $status);
}
$this->output .= $this->renderField('message', $message);
if (is_array($args) && !empty($args)) {
foreach ($args as $key => $value) {
$this->output .= $this->renderField($key, $value);
}
}
if ($xml) {
$this->output .= $xml;
}
$this->output .= $this->objOutput->getObjectRender()->renderNodeFooter('response', array());
return $this->output;
}
/**
* Create just like PS renderField function in WebServiceOutputXML class
* @todo :: to be mode functional with attributes and others
* @param [type] $nodeName
* @param [type] $value
* @return [type] xml node
*/
public function renderField($nodeName, $value = null)
{
$node_content = '<![CDATA['.$value.']]>';
return '<'.$nodeName.'>'.$node_content.'</'.$nodeName.'>'."\n";
}
// public function displayPrice($price, $idCurrency = false)
// {
// if ($idCurrency) {
// $this->currency = Currency::getCurrencyInstance($idCurrency);
// } elseif (isset($this->wsObject->urlFragments['id_currency'])) {
// $this->currency = Currency::getCurrencyInstance($this->wsObject->urlFragments['id_currency']);
// } else {
// $this->currency = Currency::getCurrencyInstance((int) Configuration::get('PS_CURRENCY_DEFAULT'));
// }
// $defaultCurrencyInstance = Currency::getCurrencyInstance((int) Configuration::get('PS_CURRENCY_DEFAULT'));
// if (Validate::isLoadedObject($this->currency)) {
// $price = Tools::ps_round((float) $price, (int) $this->currency->decimals * _PS_PRICE_DISPLAY_PRECISION_);
// $convertedPrice = Tools::convertPrice($price, $this->currency, $defaultCurrencyInstance);
// return Tools::displayPrice($convertedPrice, $this->currency);
// } else {
// return $price;
// }
// }
// public function getProductPrice($id_product, $tax = true, $id_product_attribute = null, $decimals = 6,
// $divisor = null, $only_reduc = false, $usereduc = true, $quantity = 1, $force_associated_tax = false, $id_customer = null)
// {
// return Product::getPriceStatic((int)$id_product, $tax, $id_product_attribute, $decimals, $divisor, $only_reduc, $usereduc, $quantity, $force_associated_tax, $id_customer);
// }
}