Merge branch 'develop' into gli-2599_2
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
|
||||
<p align="center">
|
||||
<a href="https://qloapps.com/download/"><img src="https://img.shields.io/badge/Download-Download%20QloApps%20-brightgreen" alt="Download"></a>
|
||||
<a href="https://qloapps.com/qlo-reservation-system/"><img src="https://img.shields.io/badge/Documentation-Blog-yellowgreen" alt="Documentation"></a>
|
||||
<a href="https://docs.qloapps.com/"><img src="https://img.shields.io/badge/Documentation-Blog-yellowgreen" alt="Documentation"></a>
|
||||
<a href="https://forums.qloapps.com/"><img src="https://img.shields.io/badge/Forum-Help%2FSupport-green" alt="Forum"></a>
|
||||
<a href="https://qloapps.com/addons/"><img src="https://img.shields.io/badge/Addons-Plugins-blueviolet" alt="Addons"></a>
|
||||
<a href="https://qloapps.com/contact/"><img src="https://img.shields.io/badge/Contact-Get%20In%20Touch-blue" alt="Contact us"></a>
|
||||
@@ -89,7 +89,7 @@ Please don't disclose security vulnerabilities publicly. If you find any securit
|
||||
### Documentation & Demo
|
||||
|
||||
#### QloApps Documentation
|
||||
[https://qloapps.com/qlo-reservation-system](https://qloapps.com/qlo-reservation-system)
|
||||
[https://docs.qloapps.com](https://docs.qloapps.com)
|
||||
#### QloApps Demo
|
||||
**Link** : https://demo.qloapps.com </br>
|
||||
**username** : demo@demo.com </br>
|
||||
|
||||
@@ -75,7 +75,7 @@ $sqlJoin =' LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (pl.`id_product` = p.`
|
||||
|
||||
$sqlWhere = ' WHERE (pl.name LIKE \'%'.pSQL($query).'%\' OR p.reference LIKE \'%'.pSQL($query).'%\')'.
|
||||
(!empty($excludeIds) ? ' AND p.id_product NOT IN ('.$excludeIds.') ' : ' ').
|
||||
(!empty($excludePackItself) ? ' AND p.id_product <> '.$excludePackItself.' ' : ' ').
|
||||
(!empty($excludePackItself) ? ' AND p.id_product <> '.(int) $excludePackItself.' ' : ' ').
|
||||
($excludeVirtuals ? 'AND NOT EXISTS (SELECT 1 FROM `'._DB_PREFIX_.'product_download` pd WHERE (pd.id_product = p.id_product))' : '').
|
||||
($exclude_packs ? 'AND (p.cache_is_pack IS NULL OR p.cache_is_pack = 0)' : '').
|
||||
($bookingProduct ? 'AND p.`booking_product` = '.(int) $bookingProduct : '');
|
||||
@@ -96,7 +96,7 @@ $sql = $sqlSelect.' '.$sqlFrom.' '.$sqlJoin.' '.$sqlWhere.' '.$sqlGroupBy;
|
||||
|
||||
$items = Db::getInstance()->executeS($sql);
|
||||
|
||||
if ($items && ($excludeIds || strpos($_SERVER['HTTP_REFERER'], 'AdminScenes') !== false)) {
|
||||
if ($items && ($excludeIds || (isset($_SERVER['HTTP_REFERER']) && Tools::strpos($_SERVER['HTTP_REFERER'], 'AdminScenes') !== false))) {
|
||||
foreach ($items as $item) {
|
||||
$item['name'] = str_replace('|', '|', $item['name']);
|
||||
echo trim($item['name']).(!empty($item['reference']) ? ' (ref: '.$item['reference'].')' : '').'|'.(int)($item['id_product'])."\n";
|
||||
@@ -151,7 +151,7 @@ if ($items && ($excludeIds || strpos($_SERVER['HTTP_REFERER'], 'AdminScenes') !=
|
||||
'id' => (int)($item['id_product']),
|
||||
'name' => $item['name'],
|
||||
'ref' => (!empty($item['reference']) ? $item['reference'] : ''),
|
||||
'image' => str_replace('http://', Tools::getShopProtocol(), $context->link->getImageLink($item['link_rewrite'], $item['id_image'], 'home_default')),
|
||||
'image' => $item['id_image'] ? str_replace('http://', Tools::getShopProtocol(), $context->link->getImageLink($item['link_rewrite'], $item['id_image'], 'home_default')) : false,
|
||||
);
|
||||
array_push($results, $product);
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
{l s='Created on:'} {dateFormat date=$cart_order.date_add}
|
||||
{else}
|
||||
<h2>{l s='No order was created from this cart.'}</h2>
|
||||
{if $customer->id}
|
||||
{if $customer->id && !$hotel_products && !$standalone_products}
|
||||
<a class="btn btn-default" href="{$link->getAdminLink('AdminOrders')|escape:'html':'UTF-8'}&cart_id={$cart->id|intval}&addorder"><i class="icon-shopping-cart"></i> {l s='Create an order from this cart.'}</a>
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
<section class="dash_links widget panel">
|
||||
<h3><i class="icon-link"></i> {l s="Help Center"}</h3>
|
||||
<dl>
|
||||
<dt><a href="https://qloapps.com/qlo-reservation-system/" class="_blank">{l s="Official Documentation"}</a></dt>
|
||||
<dt><a href="https://docs.qloapps.com/" class="_blank">{l s="Official Documentation"}</a></dt>
|
||||
<dd>{l s="QloApps User Guide"}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
{foreach from=$languages item=language}
|
||||
<div class="alert alert-warning translatable-field lang-{$language.id_lang}">
|
||||
<i class="icon-link"></i> {l s='The product link will look like this:'}<br/>
|
||||
<strong>{if isset($rewritten_links[$language.id_lang][0])}{$rewritten_links[$language.id_lang][0]|escape:'html':'UTF-8'}{/if}<span id="friendly-url_{$language.id_lang}">{$product->link_rewrite[$language.id_lang]|escape:'html':'UTF-8'}</span>{if isset($rewritten_links[$language.id_lang][1])}{$rewritten_links[$language.id_lang][1]|escape:'html':'UTF-8'}{/if}</strong>
|
||||
<strong>{if isset($rewritten_links[$language.id_lang][0])}{$rewritten_links[$language.id_lang][0]|escape:'html':'UTF-8'}{/if}<span id="friendly-url_{$language.id_lang}">{if isset($product->id)}{$product->link_rewrite[$language.id_lang]|escape:'html':'UTF-8'}{/if}</span>{if isset($rewritten_links[$language.id_lang][1])}{$rewritten_links[$language.id_lang][1]|escape:'html':'UTF-8'}{/if}</strong>
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{if $orderDocuments|count}
|
||||
{if isset($orderDocuments) && $orderDocuments|count}
|
||||
{foreach from=$orderDocuments item=document}
|
||||
{if get_class($document) eq 'OrderInvoice'}
|
||||
<tr id="invoice_{$document->id}">
|
||||
|
||||
@@ -225,7 +225,6 @@
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{*Disable Dates Model*}
|
||||
<div class="modal fade" id="deactiveDatesModal" tabindex="-1" role="dialog" aria-labelledby="deactiveDatesLabel">
|
||||
@@ -1886,3 +1885,4 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
{/if}
|
||||
|
||||
@@ -455,7 +455,7 @@
|
||||
<p class="help-block">{l s='Please note that position numbering starts from 0. A position of 0 means room type will be displayed at the topmost position.'}</p>
|
||||
<div class="alert alert-info">
|
||||
{l s='You can manage positions of the room types of this hotel from'}
|
||||
<a href="{$link->getAdminLink('AdminProducts')}&id_category={$htl_full_info['id_category']}">{l s='here.'}</a>
|
||||
<a href="{$link->getAdminLink('AdminProducts')}&submitResetproduct&submitFilterproduct=1&productFilter_a!id_category_default={$htl_full_info['id_category']}">{l s='here.'}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
{foreach from=$languages item=language}
|
||||
<div class="alert alert-warning translatable-field lang-{$language.id_lang}">
|
||||
<i class="icon-link"></i> {l s='The product link will look like this:'}<br/>
|
||||
<strong>{if isset($rewritten_links[$language.id_lang][0])}{$rewritten_links[$language.id_lang][0]|escape:'html':'UTF-8'}{/if}<span id="friendly-url_{$language.id_lang}">{$product->link_rewrite[$language.id_lang]|escape:'html':'UTF-8'}</span>{if isset($rewritten_links[$language.id_lang][1])}{$rewritten_links[$language.id_lang][1]|escape:'html':'UTF-8'}{/if}</strong>
|
||||
<strong>{if isset($rewritten_links[$language.id_lang][0])}{$rewritten_links[$language.id_lang][0]|escape:'html':'UTF-8'}{/if}<span id="friendly-url_{$language.id_lang}">{if isset($product->id)}{$product->link_rewrite[$language.id_lang]|escape:'html':'UTF-8'}{/if}</span>{if isset($rewritten_links[$language.id_lang][1])}{$rewritten_links[$language.id_lang][1]|escape:'html':'UTF-8'}{/if}</strong>
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
|
||||
@@ -17,6 +17,12 @@
|
||||
* @license LICENSE.txt
|
||||
*}
|
||||
|
||||
<a class="btn btn-link" href="{$link->getAdminLink('AdminCartRules')|escape:'html':'UTF-8'}&updatecart_rule&id_cart_rule={$id_cart_rule}" target="_blank">
|
||||
#{$id_cart_rule}
|
||||
</a>
|
||||
{if $id_cart_rule}
|
||||
<a class="btn btn-link" href="{$link->getAdminLink('AdminCartRules')|escape:'html':'UTF-8'}&updatecart_rule&id_cart_rule={$id_cart_rule}" target="_blank">
|
||||
#{$id_cart_rule}
|
||||
</a>
|
||||
{else}
|
||||
<a href="{$link->getAdminLink('AdminSlip')|escape:'html':'UTF-8'}&generateVoucher=1&id_order_slip={$row['id_order_slip']}" class="btn btn-default" title="{l s='Generate voucher for credit slip'}">
|
||||
<i class="icon-refresh"></i> {l s='Generate Voucher'}
|
||||
</a>
|
||||
{/if}
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
{l s='Addons'}
|
||||
</a>
|
||||
/
|
||||
<a href="https://qloapps.com/qlo-reservation-system/" class="footer_link _blank">
|
||||
<a href="https://docs.qloapps.com/" class="footer_link _blank">
|
||||
<i class="icon-book"></i>
|
||||
{l s='Training'}
|
||||
</a>
|
||||
|
||||
@@ -1427,7 +1427,7 @@ class CategoryCore extends ObjectModel
|
||||
'.Shop::addSqlAssociation('category', 'cp').'
|
||||
WHERE cp.`id_parent` = '.(int)$this->id_parent.'
|
||||
ORDER BY category_shop.`position` ASC')
|
||||
) {
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1443,10 +1443,11 @@ class CategoryCore extends ObjectModel
|
||||
}
|
||||
// < and > statements rather than BETWEEN operator
|
||||
// since BETWEEN is treated differently according to databases
|
||||
$increment = ($way ? '- 1' : '+ 1');
|
||||
$result = (Db::getInstance()->execute('
|
||||
UPDATE `'._DB_PREFIX_.'category` c '.Shop::addSqlAssociation('category', 'c').'
|
||||
SET c.`position`= c.`position` '.($way ? '- 1' : '+ 1').',
|
||||
category_shop.`position`= category_shop.`position` '.($way ? '- 1' : '+ 1').',
|
||||
SET c.`position`= IF(cast(c.`position` as signed) '.$increment.' > 0, c.`position` '.$increment.', 0), ' .
|
||||
'category_shop.`position` = IF(cast(category_shop.`position` as signed) '.$increment.' > 0, category_shop.`position` '.$increment.', 0),
|
||||
c.`date_upd` = "'.date('Y-m-d H:i:s').'"
|
||||
WHERE category_shop.`position`
|
||||
'.($way
|
||||
|
||||
@@ -1788,6 +1788,9 @@ class ToolsCore
|
||||
|
||||
public static function strpos($str, $find, $offset = 0, $encoding = 'UTF-8')
|
||||
{
|
||||
if (is_array($str) || is_null($str)) {
|
||||
return false;
|
||||
}
|
||||
if (function_exists('mb_strpos')) {
|
||||
return mb_strpos($str, $find, $offset, $encoding);
|
||||
}
|
||||
|
||||
@@ -907,9 +907,8 @@ class AdminControllerCore extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($filters)) {
|
||||
$filters = $this->context->cookie->getFamily($prefix.$this->list_id.'Filter_');
|
||||
}
|
||||
// To merge the older filters with the new ones, and replace if new data is added to filter.
|
||||
$filters = array_merge($this->context->cookie->getFamily($prefix.$this->list_id.'Filter_'), $filters);
|
||||
|
||||
foreach ($filters as $key => $value) {
|
||||
$key_org = $key;
|
||||
@@ -1198,7 +1197,7 @@ class AdminControllerCore extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
fputcsv($fd, $headers, ';', $text_delimiter);
|
||||
fputcsv($fd, $headers, ';', $text_delimiter, escape: "");
|
||||
foreach ($this->_list as $i => $row) {
|
||||
$content = array();
|
||||
$path_to_image = false;
|
||||
@@ -1222,7 +1221,7 @@ class AdminControllerCore extends Controller
|
||||
}
|
||||
$content[] = $field_value;
|
||||
}
|
||||
fputcsv($fd, $content, ';', $text_delimiter);
|
||||
fputcsv($fd, $content, ';', $text_delimiter, escape: "");
|
||||
}
|
||||
|
||||
@fclose($fd);
|
||||
|
||||
@@ -604,8 +604,8 @@ abstract class ControllerCore
|
||||
* @see https://www.php.net/manual/en/language.operators.errorcontrol.php
|
||||
*/
|
||||
if (!(error_reporting() & $errno)) {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
|
||||
switch ($errno) {
|
||||
case E_USER_ERROR:
|
||||
|
||||
@@ -52,6 +52,8 @@ abstract class ModuleGridCore extends Module
|
||||
/** @var ModuleGridEngine grid engine */
|
||||
protected $_render;
|
||||
|
||||
protected $_csv;
|
||||
|
||||
abstract protected function getData();
|
||||
|
||||
public function setEmployee($id_employee)
|
||||
|
||||
@@ -2658,25 +2658,36 @@ class OrderCore extends ObjectModel
|
||||
*
|
||||
* @return boolean: true if order has been completely refunded as per requested parameters or false
|
||||
*/
|
||||
public function hasCompletelyRefunded($action = 0, $includeCheckIn = 0)
|
||||
public function hasCompletelyRefunded($action = 0, $includeCheckIn = 0, $mustHaveRoomsOrProducts = 1)
|
||||
{
|
||||
$res = true;
|
||||
|
||||
// Check if order has bookings or products for refund
|
||||
if ($mustHaveRoomsOrProducts) {
|
||||
$hasRoomsOrProducts = 0;
|
||||
} else {
|
||||
$hasRoomsOrProducts = 1;
|
||||
}
|
||||
|
||||
// check rooms in booking
|
||||
$objHotelBooking = new HotelBookingdetail();
|
||||
if ($orderBookings = $objHotelBooking->getOrderCurrentDataByOrderId($this->id)) {
|
||||
$res &= $this->checkList($orderBookings, $action, $includeCheckIn);
|
||||
$hasRoomsOrProducts = 1;
|
||||
}
|
||||
// check hotel linked products
|
||||
$objServiceProductOrderDetail = new ServiceProductOrderDetail();
|
||||
if ($hotelProducts = $objServiceProductOrderDetail->getServiceProductsInOrder($this->id, 0, 0, Product::SELLING_PREFERENCE_HOTEL_STANDALONE)) {
|
||||
$res &= $this->checkList($hotelProducts, $action, false);
|
||||
$hasRoomsOrProducts = 1;
|
||||
}
|
||||
|
||||
if ($standaloneProducts = $objServiceProductOrderDetail->getServiceProductsInOrder($this->id, 0, 0, Product::SELLING_PREFERENCE_STANDALONE)) {
|
||||
$res &= $this->checkList($standaloneProducts, $action, false);
|
||||
$hasRoomsOrProducts = 1;
|
||||
}
|
||||
|
||||
return $res;
|
||||
return ($hasRoomsOrProducts && $res);
|
||||
}
|
||||
|
||||
public function checkList($list, $action = 0, $includeCheckIn = 0) {
|
||||
@@ -2800,7 +2811,7 @@ class OrderCore extends ObjectModel
|
||||
) {
|
||||
$result['errors'][] = Tools::displayError('Order status can not be set to Refunded until all bookings in the order are completely refunded.');
|
||||
} elseif ($objNewOrderState->id == Configuration::get('PS_OS_CANCELED')
|
||||
&& !$this->hasCompletelyRefunded(Order::ORDER_COMPLETE_CANCELLATION_FLAG)
|
||||
&& !$this->hasCompletelyRefunded(Order::ORDER_COMPLETE_CANCELLATION_FLAG, 0, 1)
|
||||
) {
|
||||
$result['errors'][] = Tools::displayError('Order status can not be set to Cancelled until all bookings in the order are cancelled.');
|
||||
} elseif ($objCurrentOrderState->id == Configuration::get('PS_OS_ERROR') && !($objNewOrderState->id == Configuration::get('PS_OS_ERROR'))) {
|
||||
|
||||
@@ -261,7 +261,7 @@ class OrderReturnCore extends ObjectModel
|
||||
0,
|
||||
0,
|
||||
null,
|
||||
0,
|
||||
null,
|
||||
null,
|
||||
0,
|
||||
$bookingRow['id_htl_booking']
|
||||
|
||||
@@ -646,6 +646,8 @@ class HTMLTemplateInvoiceCore extends HTMLTemplate
|
||||
$footer['additional_service_price_tax_incl'] =0;
|
||||
$footer['total_convenience_fee_te'] = 0;
|
||||
$footer['total_convenience_fee_ti'] = 0;
|
||||
$footer['service_products_price_tax_excl'] = 0;
|
||||
$footer['service_products_price_tax_incl'] = 0;
|
||||
if ($idsOrderDetail = array_column($order_details, 'id_order_detail')) {
|
||||
$footer['room_price_tax_excl'] = $this->order->getTotalProductsWithoutTaxes(false, true, null, null, null, $idsOrderDetail) + $this->order->getTotalProductsWithoutTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 1, Product::PRICE_ADDITION_TYPE_WITH_ROOM, $idsOrderDetail);
|
||||
$footer['room_price_tax_incl'] = $this->order->getTotalProductsWithTaxes(false, true, null, null, null, $idsOrderDetail) + $this->order->getTotalProductsWithTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 1, Product::PRICE_ADDITION_TYPE_WITH_ROOM, $idsOrderDetail);
|
||||
|
||||
@@ -1969,7 +1969,7 @@ class WebserviceSpecificManagementBookingsCore Extends ObjectModel implements We
|
||||
0,
|
||||
0,
|
||||
null,
|
||||
0,
|
||||
null,
|
||||
null,
|
||||
0,
|
||||
$idHotelBookingDetail
|
||||
@@ -2007,7 +2007,7 @@ class WebserviceSpecificManagementBookingsCore Extends ObjectModel implements We
|
||||
0,
|
||||
0,
|
||||
null,
|
||||
0,
|
||||
null,
|
||||
null,
|
||||
0,
|
||||
$hotelBookingDetail['id']
|
||||
@@ -2535,7 +2535,7 @@ class WebserviceSpecificManagementBookingsCore Extends ObjectModel implements We
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
null,
|
||||
null,
|
||||
0,
|
||||
$idHotelBooking
|
||||
@@ -2550,7 +2550,7 @@ class WebserviceSpecificManagementBookingsCore Extends ObjectModel implements We
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
null,
|
||||
null,
|
||||
0,
|
||||
$idHotelBooking
|
||||
@@ -2570,7 +2570,7 @@ class WebserviceSpecificManagementBookingsCore Extends ObjectModel implements We
|
||||
0,
|
||||
0,
|
||||
null,
|
||||
0,
|
||||
null,
|
||||
null,
|
||||
0,
|
||||
$idHotelBooking
|
||||
|
||||
@@ -98,40 +98,40 @@ class AdminAdminPreferencesControllerCore extends AdminController
|
||||
),
|
||||
'submit' => array('title' => $this->l('Save'))
|
||||
),
|
||||
'upload' => array(
|
||||
'title' => $this->l('Upload quota'),
|
||||
'icon' => 'icon-cloud-upload',
|
||||
'fields' => array(
|
||||
'PS_ATTACHMENT_MAXIMUM_SIZE' => array(
|
||||
'title' => $this->l('Maximum size for attachment'),
|
||||
'hint' => sprintf($this->l('Set the maximum size allowed for attachment files (in megabytes). This value has to be lower or equal to the maximum file upload allotted by your server (currently: %s MB).'), $upload_mb),
|
||||
'validation' => 'isInt',
|
||||
'cast' => 'intval',
|
||||
'type' => 'text',
|
||||
'suffix' => $this->l('megabytes'),
|
||||
'default' => '2'
|
||||
),
|
||||
'PS_LIMIT_UPLOAD_FILE_VALUE' => array(
|
||||
'title' => $this->l('Maximum size for a downloadable product'),
|
||||
'hint' => sprintf($this->l('Define the upload limit for a downloadable product (in megabytes). This value has to be lower or equal to the maximum file upload allotted by your server (currently: %s MB).'), $upload_mb),
|
||||
'validation' => 'isInt',
|
||||
'cast' => 'intval',
|
||||
'type' => 'text',
|
||||
'suffix' => $this->l('megabytes'),
|
||||
'default' => '1'
|
||||
),
|
||||
'PS_LIMIT_UPLOAD_IMAGE_VALUE' => array(
|
||||
'title' => $this->l('Maximum size for a product\'s image'),
|
||||
'hint' => sprintf($this->l('Define the upload limit for an image (in megabytes). This value has to be lower or equal to the maximum file upload allotted by your server (currently: %s MB).'), $upload_mb),
|
||||
'validation' => 'isInt',
|
||||
'cast' => 'intval',
|
||||
'type' => 'text',
|
||||
'suffix' => $this->l('megabytes'),
|
||||
'default' => '1'
|
||||
),
|
||||
),
|
||||
'submit' => array('title' => $this->l('Save'))
|
||||
),
|
||||
// 'upload' => array(
|
||||
// 'title' => $this->l('Upload quota'),
|
||||
// 'icon' => 'icon-cloud-upload',
|
||||
// 'fields' => array(
|
||||
// 'PS_ATTACHMENT_MAXIMUM_SIZE' => array(
|
||||
// 'title' => $this->l('Maximum size for attachment'),
|
||||
// 'hint' => sprintf($this->l('Set the maximum size allowed for attachment files (in megabytes). This value has to be lower or equal to the maximum file upload allotted by your server (currently: %s MB).'), $upload_mb),
|
||||
// 'validation' => 'isInt',
|
||||
// 'cast' => 'intval',
|
||||
// 'type' => 'text',
|
||||
// 'suffix' => $this->l('megabytes'),
|
||||
// 'default' => '2'
|
||||
// ),
|
||||
// 'PS_LIMIT_UPLOAD_FILE_VALUE' => array(
|
||||
// 'title' => $this->l('Maximum size for a downloadable product'),
|
||||
// 'hint' => sprintf($this->l('Define the upload limit for a downloadable product (in megabytes). This value has to be lower or equal to the maximum file upload allotted by your server (currently: %s MB).'), $upload_mb),
|
||||
// 'validation' => 'isInt',
|
||||
// 'cast' => 'intval',
|
||||
// 'type' => 'text',
|
||||
// 'suffix' => $this->l('megabytes'),
|
||||
// 'default' => '1'
|
||||
// ),
|
||||
// 'PS_LIMIT_UPLOAD_IMAGE_VALUE' => array(
|
||||
// 'title' => $this->l('Maximum size for a product\'s image'),
|
||||
// 'hint' => sprintf($this->l('Define the upload limit for an image (in megabytes). This value has to be lower or equal to the maximum file upload allotted by your server (currently: %s MB).'), $upload_mb),
|
||||
// 'validation' => 'isInt',
|
||||
// 'cast' => 'intval',
|
||||
// 'type' => 'text',
|
||||
// 'suffix' => $this->l('megabytes'),
|
||||
// 'default' => '1'
|
||||
// ),
|
||||
// ),
|
||||
// 'submit' => array('title' => $this->l('Save'))
|
||||
// ),
|
||||
'notifications' => array(
|
||||
'title' => $this->l('Notifications'),
|
||||
'icon' => 'icon-list-alt',
|
||||
|
||||
@@ -277,7 +277,10 @@ class AdminCartRulesControllerCore extends AdminController
|
||||
// If the reduction is associated to a specific product, then it must be part of the product restrictions
|
||||
if ((int)Tools::getValue('reduction_product') && Tools::getValue('apply_discount_to') == 'specific' && Tools::getValue('apply_discount') != 'off') {
|
||||
$reduction_product = (int)Tools::getValue('reduction_product');
|
||||
|
||||
// In case the product_restriction was unchecked then remove the older products.
|
||||
if (!Tools::getValue('product_restriction')) {
|
||||
$_POST['product_rule_group'] = array();
|
||||
}
|
||||
// First, check if it is not already part of the restrictions
|
||||
$already_restricted = false;
|
||||
if (is_array($rule_group_array = Tools::getValue('product_rule_group')) && count($rule_group_array) && Tools::getValue('product_restriction')) {
|
||||
@@ -285,7 +288,7 @@ class AdminCartRulesControllerCore extends AdminController
|
||||
if (is_array($rule_array = Tools::getValue('product_rule_'.$rule_group_id)) && count($rule_array)) {
|
||||
foreach ($rule_array as $rule_id) {
|
||||
if (Tools::getValue('product_rule_'.$rule_group_id.'_'.$rule_id.'_type') == 'products'
|
||||
&& in_array($reduction_product, Tools::getValue('product_rule_select_'.$rule_group_id.'_'.$rule_id))) {
|
||||
&& in_array($reduction_product, Tools::getValue('product_rule_select_'.$rule_group_id.'_'.$rule_id, []))) {
|
||||
$already_restricted = true;
|
||||
break 2;
|
||||
}
|
||||
@@ -432,23 +435,32 @@ class AdminCartRulesControllerCore extends AdminController
|
||||
// Add product rule restrictions
|
||||
if (Tools::getValue('product_restriction') && is_array($ruleGroupArray = Tools::getValue('product_rule_group')) && count($ruleGroupArray)) {
|
||||
foreach ($ruleGroupArray as $ruleGroupId) {
|
||||
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'cart_rule_product_rule_group` (`id_cart_rule`, `quantity`)
|
||||
VALUES ('.(int)$currentObject->id.', '.(int)Tools::getValue('product_rule_group_'.$ruleGroupId.'_quantity').')');
|
||||
$id_product_rule_group = Db::getInstance()->Insert_ID();
|
||||
|
||||
if (is_array($ruleArray = Tools::getValue('product_rule_'.$ruleGroupId)) && count($ruleArray)) {
|
||||
foreach ($ruleArray as $ruleId) {
|
||||
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'cart_rule_product_rule` (`id_product_rule_group`, `type`)
|
||||
VALUES ('.(int)$id_product_rule_group.', "'.pSQL(Tools::getValue('product_rule_'.$ruleGroupId.'_'.$ruleId.'_type')).'")');
|
||||
$id_product_rule = Db::getInstance()->Insert_ID();
|
||||
|
||||
$values = array();
|
||||
foreach (Tools::getValue('product_rule_select_'.$ruleGroupId.'_'.$ruleId) as $id) {
|
||||
$values[] = '('.(int)$id_product_rule.','.(int)$id.')';
|
||||
foreach ($ruleArray as $ruleKey => $ruleId) {
|
||||
if (!Tools::getValue('product_rule_select_'.$ruleGroupId.'_'.$ruleId)) {
|
||||
unset($ruleArray[$ruleKey]);
|
||||
}
|
||||
$values = array_unique($values);
|
||||
if (count($values)) {
|
||||
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'cart_rule_product_rule_value` (`id_product_rule`, `id_item`) VALUES '.implode(',', $values));
|
||||
}
|
||||
|
||||
if ($ruleArray) {
|
||||
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'cart_rule_product_rule_group` (`id_cart_rule`, `quantity`)
|
||||
VALUES ('.(int)$currentObject->id.', '.(int)Tools::getValue('product_rule_group_'.$ruleGroupId.'_quantity').')');
|
||||
$id_product_rule_group = Db::getInstance()->Insert_ID();
|
||||
|
||||
foreach ($ruleArray as $ruleId) {
|
||||
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'cart_rule_product_rule` (`id_product_rule_group`, `type`)
|
||||
VALUES ('.(int)$id_product_rule_group.', "'.pSQL(Tools::getValue('product_rule_'.$ruleGroupId.'_'.$ruleId.'_type')).'")');
|
||||
$id_product_rule = Db::getInstance()->Insert_ID();
|
||||
$values = array();
|
||||
if ($selectedProducts = Tools::getValue('product_rule_select_'.$ruleGroupId.'_'.$ruleId)) {
|
||||
foreach ($selectedProducts as $id) {
|
||||
$values[] = '('.(int)$id_product_rule.','.(int)$id.')';
|
||||
}
|
||||
}
|
||||
$values = array_unique($values);
|
||||
if (count($values)) {
|
||||
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'cart_rule_product_rule_value` (`id_product_rule`, `id_item`) VALUES '.implode(',', $values));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -336,8 +336,38 @@ class AdminCartsControllerCore extends AdminController
|
||||
$helper->value = Tools::displayPrice($total_price, $currency);
|
||||
$kpi = $helper->generate();
|
||||
//end
|
||||
|
||||
// get standalone products in cart
|
||||
$objServiceProductCartDetail = new ServiceProductCartDetail();
|
||||
$hotelProducts = $objServiceProductCartDetail->getServiceProductsInCart(
|
||||
$cart->id,
|
||||
[Product::SELLING_PREFERENCE_HOTEL_STANDALONE, Product::SELLING_PREFERENCE_HOTEL_STANDALONE_AND_WITH_ROOM_TYPE],
|
||||
$idHotel = null,
|
||||
0,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
0,
|
||||
null,
|
||||
0,
|
||||
null,
|
||||
1
|
||||
);
|
||||
|
||||
$standaloneProducts = $objServiceProductCartDetail->getServiceProductsInCart(
|
||||
$cart->id,
|
||||
[Product::SELLING_PREFERENCE_STANDALONE]
|
||||
);
|
||||
|
||||
if (count($standaloneProducts)) {
|
||||
$this->context->smarty->assign('standalone_products', $standaloneProducts);
|
||||
}
|
||||
|
||||
$this->tpl_view_vars = array(
|
||||
'cart_htl_data' => $cartHtlData,//by webkul hotel rooms in order data
|
||||
'standalone_products' => $standaloneProducts,
|
||||
'hotel_products' => $hotelProducts,
|
||||
'kpi' => $kpi,
|
||||
'products' => $products,
|
||||
'discounts' => $cart->getCartRules(),
|
||||
@@ -449,7 +479,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
die(json_encode($errors));
|
||||
}
|
||||
if ($this->context->cart->deleteProduct($id_product, $id_product_attribute, (int)Tools::getValue('id_customization'))) {
|
||||
echo json_encode($this->ajaxReturnVars());
|
||||
$this->ajaxDie(json_encode($this->ajaxReturnVars()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -563,7 +593,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode(array_merge($this->ajaxReturnVars(), array('errors' => $errors)));
|
||||
$this->ajaxDie(json_encode(array_merge($this->ajaxReturnVars(), array('errors' => $errors))));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -584,7 +614,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
$this->context->cart->gift_message = $gift_message;
|
||||
}
|
||||
$this->context->cart->save();
|
||||
echo json_encode($this->ajaxReturnVars());
|
||||
$this->ajaxDie(json_encode($this->ajaxReturnVars()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -606,7 +636,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
} elseif (Validate::isLoadedObject($message)) {
|
||||
$message->delete();
|
||||
}
|
||||
echo json_encode($this->ajaxReturnVars());
|
||||
$this->ajaxDie(json_encode($this->ajaxReturnVars()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -664,7 +694,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
$this->context->cart->id_lang = (int)$lang->id;
|
||||
$this->context->cart->save();
|
||||
}
|
||||
echo json_encode($this->ajaxReturnVars());
|
||||
$this->ajaxDie(json_encode($this->ajaxReturnVars()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -683,7 +713,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
$errors[] = Tools::displayError('The order cannot be renewed.');
|
||||
} else {
|
||||
$this->context->cart = $new_cart['cart'];
|
||||
echo json_encode($this->ajaxReturnVars());
|
||||
$this->ajaxDie(json_encode($this->ajaxReturnVars()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -692,7 +722,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
{
|
||||
if ($this->tabAccess['edit'] === 1) {
|
||||
if ($this->context->cart->removeCartRule((int)Tools::getValue('id_cart_rule'))) {
|
||||
echo json_encode($this->ajaxReturnVars());
|
||||
$this->ajaxDie(json_encode($this->ajaxReturnVars()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -723,7 +753,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
$this->context->cart->addCartRule((int)$cart_rule->id);
|
||||
}
|
||||
|
||||
echo json_encode($this->ajaxReturnVars());
|
||||
$this->ajaxDie(json_encode($this->ajaxReturnVars()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -741,14 +771,14 @@ class AdminCartsControllerCore extends AdminController
|
||||
$errors[] = Tools::displayError('Can\'t add the voucher.');
|
||||
}
|
||||
}
|
||||
echo json_encode(array_merge($this->ajaxReturnVars(), array('errors' => $errors)));
|
||||
$this->ajaxDie(json_encode(array_merge($this->ajaxReturnVars(), array('errors' => $errors))));
|
||||
}
|
||||
}
|
||||
|
||||
public function ajaxProcessUpdateAddress()
|
||||
{
|
||||
if ($this->tabAccess['edit'] === 1) {
|
||||
echo json_encode(array('addresses' => $this->context->customer->getAddresses((int)$this->context->cart->id_lang)));
|
||||
$this->ajaxDie(json_encode(array('addresses' => $this->context->customer->getAddresses((int)$this->context->cart->id_lang))));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -769,7 +799,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
/*$this->context->cart->id_address_invoice = (int)$address_invoice->id;*/
|
||||
$this->context->cart->save();
|
||||
|
||||
echo json_encode($this->ajaxReturnVars());
|
||||
$this->ajaxDie(json_encode($this->ajaxReturnVars()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -886,7 +916,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
$to_return = array_merge($this->ajaxReturnVars(), array('found' => false));
|
||||
}
|
||||
|
||||
echo json_encode($to_return);
|
||||
$this->ajaxDie(json_encode($to_return));
|
||||
}
|
||||
|
||||
public function ajaxReturnVars()
|
||||
@@ -952,7 +982,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
|
||||
public function displayAjaxGetSummary()
|
||||
{
|
||||
echo json_encode($this->ajaxReturnVars());
|
||||
$this->ajaxDie(json_encode($this->ajaxReturnVars()));
|
||||
}
|
||||
|
||||
public function ajaxProcessUpdateProductPrice()
|
||||
@@ -1151,8 +1181,8 @@ class AdminCartsControllerCore extends AdminController
|
||||
if (Configuration::get('PS_ALLOW_ADD_ALL_SERVICES_IN_BOOKING')) {
|
||||
// get all services
|
||||
$objProduct = new Product();
|
||||
$hotelServiceProducts = $objProduct->getServiceProducts(null, Product::SELLING_PREFERENCE_HOTEL_STANDALONE_AND_WITH_ROOM_TYPE);
|
||||
$roomTypeServiceProducts = $objProduct->getServiceProducts(null, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE);
|
||||
$hotelServiceProducts = $objProduct->getServiceProducts(true, Product::SELLING_PREFERENCE_HOTEL_STANDALONE_AND_WITH_ROOM_TYPE);
|
||||
$roomTypeServiceProducts = $objProduct->getServiceProducts(true, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE);
|
||||
$serviceProducts = array_merge($roomTypeServiceProducts, $hotelServiceProducts);
|
||||
} else {
|
||||
$objRoomTypeServiceProduct = new RoomTypeServiceProduct();
|
||||
@@ -1378,7 +1408,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
foreach ($languages as $lang) {
|
||||
$objServiceProduct->link_rewrite[$lang['id_lang']] = Tools::link_rewrite($name);
|
||||
}
|
||||
$objServiceProduct->available_for_order = true;
|
||||
$objServiceProduct->available_for_order = false;
|
||||
$objServiceProduct->show_price = true;
|
||||
$objServiceProduct->is_virtual = true;
|
||||
$objServiceProduct->auto_add_to_cart = $autoAdded;
|
||||
@@ -1392,6 +1422,10 @@ class AdminCartsControllerCore extends AdminController
|
||||
|
||||
// ======= Create Service product END =========
|
||||
if ($objServiceProduct->save()) {
|
||||
$objServiceProduct->updateCategories(array(
|
||||
Configuration::get('PS_SERVICE_CATEGORY')
|
||||
));
|
||||
|
||||
$objRoomTypeServiceProduct = new RoomTypeServiceProduct();
|
||||
$objRoomTypeServiceProduct->addRoomProductLink(
|
||||
$objServiceProduct->id,
|
||||
@@ -1466,8 +1500,8 @@ class AdminCartsControllerCore extends AdminController
|
||||
if (Configuration::get('PS_ALLOW_ADD_ALL_SERVICES_IN_BOOKING')) {
|
||||
// get all services
|
||||
$objProduct = new Product();
|
||||
$hotelServiceProducts = $objProduct->getServiceProducts(null, Product::SELLING_PREFERENCE_HOTEL_STANDALONE_AND_WITH_ROOM_TYPE);
|
||||
$roomTypeServiceProducts = $objProduct->getServiceProducts(null, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE);
|
||||
$hotelServiceProducts = $objProduct->getServiceProducts(true, Product::SELLING_PREFERENCE_HOTEL_STANDALONE_AND_WITH_ROOM_TYPE);
|
||||
$roomTypeServiceProducts = $objProduct->getServiceProducts(true, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE);
|
||||
$serviceProducts = array_merge($roomTypeServiceProducts, $hotelServiceProducts);
|
||||
} else {
|
||||
$objRoomTypeServiceProduct = new RoomTypeServiceProduct();
|
||||
@@ -1571,21 +1605,40 @@ class AdminCartsControllerCore extends AdminController
|
||||
$result = true;
|
||||
$objServiceProductCartDetail = new ServiceProductCartDetail();
|
||||
foreach ($selectedServiceProducts as $idServiceProduct => $selected) {
|
||||
$unitPrice = $serviceUnitPrices[$idServiceProduct];
|
||||
$updateServicePriceOnly = false;
|
||||
$quantity = 0;
|
||||
$operator = 'down';
|
||||
if ($selected) {
|
||||
$operator = 'up';
|
||||
} else {
|
||||
$operator = 'down';
|
||||
if ($idServiceProductCartDetail = $objServiceProductCartDetail->alreadyExists(
|
||||
$objHotelCartBookingData->id_cart,
|
||||
$idServiceProduct,
|
||||
$idCartBooking
|
||||
)) {
|
||||
$objServiceProductCartDetail = new ServiceProductCartDetail($idServiceProductCartDetail);
|
||||
if ($objServiceProductCartDetail->quantity > $serviceQuantities[$idServiceProduct]) {
|
||||
$quantity = $objServiceProductCartDetail->quantity - $serviceQuantities[$idServiceProduct];
|
||||
$operator = 'down';
|
||||
} else if ($objServiceProductCartDetail->quantity < $serviceQuantities[$idServiceProduct]) {
|
||||
$quantity = $serviceQuantities[$idServiceProduct] - $objServiceProductCartDetail->quantity;
|
||||
} else {
|
||||
// Only update the price no need to update quantity
|
||||
$updateServicePriceOnly = true;
|
||||
}
|
||||
} else {
|
||||
$quantity = $serviceQuantities[$idServiceProduct];
|
||||
}
|
||||
}
|
||||
$quantity = $serviceQuantities[$idServiceProduct];
|
||||
$unitPrice = $serviceUnitPrices[$idServiceProduct];
|
||||
if ($result &= $objServiceProductCartDetail->updateCartServiceProduct(
|
||||
|
||||
if ($updateServicePriceOnly || ($result &= $objServiceProductCartDetail->updateCartServiceProduct(
|
||||
$objHotelCartBookingData->id_cart,
|
||||
$idServiceProduct,
|
||||
$operator,
|
||||
$quantity,
|
||||
0,
|
||||
$idCartBooking
|
||||
)) {
|
||||
))) {
|
||||
$originalPrice = Product::getPriceStatic($idServiceProduct, false);
|
||||
// if price is different than the original service price then update the price
|
||||
if ($operator == 'up' && $originalPrice != $unitPrice) {
|
||||
|
||||
@@ -748,6 +748,7 @@ class AdminModulesControllerCore extends AdminController
|
||||
$modules_list_save = implode('|', $modules);
|
||||
}
|
||||
} elseif (($modules = Tools::getValue($key)) && $key != 'checkAndUpdate' && $key != 'updateAll') {
|
||||
$modules = strip_tags($modules);
|
||||
if (strpos($modules, '|')) {
|
||||
$modules_list_save = $modules;
|
||||
$modules = explode('|', $modules);
|
||||
|
||||
@@ -146,6 +146,7 @@ class AdminNormalProductsControllerCore extends AdminController
|
||||
}
|
||||
}
|
||||
|
||||
$catFilterKey = $this->table.'Filter_a!id_category_default';
|
||||
if (Tools::getValue('reset_filter_category')) {
|
||||
$this->context->cookie->id_category_products_filter = false;
|
||||
}
|
||||
@@ -156,6 +157,9 @@ class AdminNormalProductsControllerCore extends AdminController
|
||||
Tools::redirectAdmin($this->context->link->getAdminLink('AdminNormalProducts'));
|
||||
}
|
||||
}
|
||||
if (!Tools::getValue($catFilterKey)) {
|
||||
$this->context->cookie->id_category_products_filter = false;
|
||||
}
|
||||
/* Join categories table */
|
||||
if ($id_category = (int)Tools::getValue('productFilter_cl!name')) {
|
||||
$this->_category = new Category((int)$id_category);
|
||||
@@ -167,6 +171,21 @@ class AdminNormalProductsControllerCore extends AdminController
|
||||
} elseif ($id_category = $this->context->cookie->id_category_products_filter) {
|
||||
$this->id_current_category = $id_category;
|
||||
}
|
||||
|
||||
$idFilterCategory = false;
|
||||
if (!Tools::isSubmit($catFilterKey)) {
|
||||
$prefix = $this->getCookieFilterPrefix();
|
||||
$idFilterCategory = $this->context->cookie->{$prefix.$catFilterKey};
|
||||
}
|
||||
|
||||
if ($idFilterCategory) {
|
||||
$this->id_current_category = $idFilterCategory;
|
||||
$this->context->cookie->id_category_products_filter = $idFilterCategory;
|
||||
} else {
|
||||
$this->id_current_category = false;
|
||||
$this->context->cookie->id_category_products_filter = false;
|
||||
}
|
||||
|
||||
if ($this->id_current_category) {
|
||||
$this->_category = new Category((int)$this->id_current_category);
|
||||
} else {
|
||||
@@ -557,8 +576,9 @@ class AdminNormalProductsControllerCore extends AdminController
|
||||
|
||||
public function getList($id_lang, $orderBy = null, $orderWay = null, $start = 0, $limit = null, $id_lang_shop = null)
|
||||
{
|
||||
$orderByPriceFinal = (empty($orderBy) ? ($this->context->cookie->__get($this->table.'Orderby') ? $this->context->cookie->__get($this->table.'Orderby') : 'id_'.$this->table) : $orderBy);
|
||||
$orderWayPriceFinal = (empty($orderWay) ? ($this->context->cookie->__get($this->table.'Orderway') ? $this->context->cookie->__get($this->table.'Orderby') : 'ASC') : $orderWay);
|
||||
$prefix = $this->getCookieFilterPrefix();
|
||||
$orderByPriceFinal = (empty($orderBy) ? ($this->context->cookie->__get($prefix.$this->table.'Orderby') ? $this->context->cookie->__get($prefix.$this->table.'Orderby') : 'id_'.$this->table) : $orderBy);
|
||||
$orderWayPriceFinal = (empty($orderWay) ? ($this->context->cookie->__get($prefix.$this->table.'Orderway') ? $this->context->cookie->__get($prefix.$this->table.'Orderby') : 'ASC') : $orderWay);
|
||||
if ($orderByPriceFinal == 'price_final') {
|
||||
$orderBy = 'id_'.$this->table;
|
||||
$orderWay = 'ASC';
|
||||
@@ -2567,9 +2587,10 @@ class AdminNormalProductsControllerCore extends AdminController
|
||||
// If products from all categories are displayed, we don't want to use sorting by position
|
||||
if (!$id_category) {
|
||||
$this->_defaultOrderBy = $this->identifier;
|
||||
if ($this->context->cookie->{$this->table.'Orderby'} == 'position') {
|
||||
unset($this->context->cookie->{$this->table.'Orderby'});
|
||||
unset($this->context->cookie->{$this->table.'Orderway'});
|
||||
$prefix = $this->getCookieFilterPrefix();
|
||||
if ($this->context->cookie->{$prefix.$this->table.'Orderby'} == 'position') {
|
||||
unset($this->context->cookie->{$prefix.$this->table.'Orderby'});
|
||||
unset($this->context->cookie->{$prefix.$this->table.'Orderway'});
|
||||
}
|
||||
}
|
||||
if (!$id_category) {
|
||||
|
||||
@@ -513,7 +513,7 @@ class AdminOrdersControllerCore extends AdminController
|
||||
|
||||
if ($this->tabAccess['edit'] === 1) {
|
||||
if (((int) $order->isReturnable())
|
||||
&& !$order->hasCompletelyRefunded(Order::ORDER_COMPLETE_CANCELLATION_OR_REFUND_REQUEST_FLAG)
|
||||
&& !$order->hasCompletelyRefunded(Order::ORDER_COMPLETE_CANCELLATION_OR_REFUND_REQUEST_FLAG, 0, 0)
|
||||
) {
|
||||
$orderTotalPaid = $order->getTotalPaid();
|
||||
$orderDiscounts = $order->getCartRules();
|
||||
@@ -537,6 +537,18 @@ class AdminOrdersControllerCore extends AdminController
|
||||
return $res;
|
||||
}
|
||||
|
||||
public function initToolbarTitle()
|
||||
{
|
||||
parent::initToolbarTitle();
|
||||
switch ($this->display) {
|
||||
case '':
|
||||
case 'list':
|
||||
array_pop($this->toolbar_title);
|
||||
$this->toolbar_title[] = $this->l('Orders');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public function ajaxProcessInitBookingDocumentsModal()
|
||||
{
|
||||
$response['hasError'] = 1;
|
||||
@@ -977,8 +989,8 @@ class AdminOrdersControllerCore extends AdminController
|
||||
if (Configuration::get('PS_ALLOW_ADD_ALL_SERVICES_IN_BOOKING')) {
|
||||
// get all services
|
||||
$objProduct = new Product();
|
||||
$hotelServiceProducts = $objProduct->getServiceProducts(null, Product::SELLING_PREFERENCE_HOTEL_STANDALONE_AND_WITH_ROOM_TYPE);
|
||||
$roomTypeServiceProducts = $objProduct->getServiceProducts(null, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE);
|
||||
$hotelServiceProducts = $objProduct->getServiceProducts(true, Product::SELLING_PREFERENCE_HOTEL_STANDALONE_AND_WITH_ROOM_TYPE);
|
||||
$roomTypeServiceProducts = $objProduct->getServiceProducts(true, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE);
|
||||
$serviceProducts = array_merge($roomTypeServiceProducts, $hotelServiceProducts);
|
||||
} else {
|
||||
$objRoomTypeServiceProduct = new RoomTypeServiceProduct();
|
||||
@@ -2022,6 +2034,7 @@ class AdminOrdersControllerCore extends AdminController
|
||||
if (Validate::isLoadedObject($objCart)) {
|
||||
$this->context->cart = $objCart;
|
||||
$this->context->currency = new Currency((int)$objCart->id_currency);
|
||||
$this->context->customer = new Customer((int) $objCart->id_customer);
|
||||
|
||||
$this->errors = HotelCartBookingData::validateCartBookings(!Configuration::get('PS_ALLOW_ADD_ALL_SERVICES_IN_BOOKING'));
|
||||
|
||||
@@ -2076,8 +2089,6 @@ class AdminOrdersControllerCore extends AdminController
|
||||
}
|
||||
|
||||
if (!count($this->errors)) {
|
||||
$this->context->currency = new Currency((int) $objCart->id_currency);
|
||||
$this->context->customer = new Customer((int) $objCart->id_customer);
|
||||
|
||||
// Set payment module details
|
||||
$objPaymentModule = new BoOrder();
|
||||
@@ -3560,7 +3571,6 @@ class AdminOrdersControllerCore extends AdminController
|
||||
'returns' => OrderReturn::getOrdersReturn($order->id_customer, $order->id),
|
||||
'refundReqBookings' => $refundReqBookings,
|
||||
'refundReqProducts' => $refundReqProducts,
|
||||
'completeRefundRequestOrCancel' => $order->hasCompletelyRefunded(Order::ORDER_COMPLETE_CANCELLATION_OR_REFUND_REQUEST_FLAG),
|
||||
'refundedAmount' => $refundedAmount,
|
||||
'totalDemandsPriceTI' => $totalDemandsPriceTI,
|
||||
'totalDemandsPriceTE' => $totalDemandsPriceTE,
|
||||
@@ -4684,7 +4694,7 @@ class AdminOrdersControllerCore extends AdminController
|
||||
}
|
||||
$obj_booking_detail = new HotelBookingDetail();
|
||||
$num_days = HotelHelper::getNumberOfDays($date_from, $date_to);
|
||||
$product_informations['product_quantity'] = $product_informations['product_quantity'] * (int) $num_days;
|
||||
$product_informations['product_quantity'] = $req_rm * (int) $num_days;
|
||||
|
||||
$obj_room_type = new HotelRoomType();
|
||||
$room_info_by_id_product = $obj_room_type->getRoomTypeInfoByIdProduct($product_informations['product_id']);
|
||||
@@ -4699,9 +4709,7 @@ class AdminOrdersControllerCore extends AdminController
|
||||
'date_to' => $date_to,
|
||||
'hotel_id' => $id_hotel,
|
||||
'id_room_type' => $product_informations['product_id'],
|
||||
'only_search_data' => 1,
|
||||
'id_cart' => $id_cart,
|
||||
'id_guest' => $id_guest,
|
||||
'only_search_data' => 1
|
||||
);
|
||||
$hotel_room_data = $objBookingDetail->dataForFrontSearch($bookingParams);
|
||||
$total_available_rooms = $hotel_room_data['stats']['num_avail'];
|
||||
@@ -5601,26 +5609,38 @@ class AdminOrdersControllerCore extends AdminController
|
||||
*/
|
||||
public function updateOrderStatusOnOrderChange($objOrder)
|
||||
{
|
||||
// check if new order amount is greater that old order amount and order payment is accepted
|
||||
// then update order status to partial payment accepted
|
||||
$currentOrderState = $objOrder->getCurrentOrderState();
|
||||
$psOsPartialPaymentAccepted = Configuration::get('PS_OS_PARTIAL_PAYMENT_ACCEPTED');
|
||||
if ($currentOrderState->paid == 1 && $currentOrderState->id != $psOsPartialPaymentAccepted) {
|
||||
// calculate due amount
|
||||
$dueAmount = $objOrder->total_paid_tax_incl - $objOrder->total_paid_real;
|
||||
if ($dueAmount > 0) {
|
||||
// now change order status to partial payment
|
||||
$objOrderHistory = new OrderHistory();
|
||||
$objOrderHistory->id_order = $objOrder->id;
|
||||
$objOrderHistory->id_employee = (int) $this->context->employee->id;
|
||||
// If order is completely refunded or cancelled then change the order state
|
||||
if ($idOrderState = $objOrder->getOrderCompleteRefundStatus()) {
|
||||
$objOrderHistory = new OrderHistory();
|
||||
$objOrderHistory->id_order = (int)$objOrder->id;
|
||||
$useExistingPayment = false;
|
||||
if (!$objOrder->hasInvoice()) {
|
||||
$useExistingPayment = true;
|
||||
}
|
||||
$objOrderHistory->changeIdOrderState($idOrderState, $objOrder, $useExistingPayment);
|
||||
$objOrderHistory->add();
|
||||
} else {
|
||||
// check if new order amount is greater that old order amount and order payment is accepted
|
||||
// then update order status to partial payment accepted
|
||||
$currentOrderState = $objOrder->getCurrentOrderState();
|
||||
$psOsPartialPaymentAccepted = Configuration::get('PS_OS_PARTIAL_PAYMENT_ACCEPTED');
|
||||
if ($currentOrderState->paid == 1 && $currentOrderState->id != $psOsPartialPaymentAccepted) {
|
||||
// calculate due amount
|
||||
$dueAmount = $objOrder->total_paid_tax_incl - $objOrder->total_paid_real;
|
||||
if ($dueAmount > 0) {
|
||||
// now change order status to partial payment
|
||||
$objOrderHistory = new OrderHistory();
|
||||
$objOrderHistory->id_order = $objOrder->id;
|
||||
$objOrderHistory->id_employee = (int) $this->context->employee->id;
|
||||
|
||||
$useExistingPayment = false;
|
||||
if (!$objOrder->hasInvoice()) {
|
||||
$useExistingPayment = true;
|
||||
$useExistingPayment = false;
|
||||
if (!$objOrder->hasInvoice()) {
|
||||
$useExistingPayment = true;
|
||||
}
|
||||
|
||||
$objOrderHistory->changeIdOrderState($psOsPartialPaymentAccepted, $objOrder, $useExistingPayment);
|
||||
$objOrderHistory->add();
|
||||
}
|
||||
|
||||
$objOrderHistory->changeIdOrderState($psOsPartialPaymentAccepted, $objOrder, $useExistingPayment);
|
||||
$objOrderHistory->add();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5678,10 +5698,12 @@ class AdminOrdersControllerCore extends AdminController
|
||||
$product_quantity = (int) HotelHelper::getNumberOfDays($new_date_from, $new_date_to);
|
||||
$old_product_quantity = (int) HotelHelper::getNumberOfDays($old_date_from, $old_date_to);
|
||||
$qty_diff = $product_quantity - $old_product_quantity;
|
||||
$occupancy = array_shift(Tools::getValue('occupancy'));
|
||||
|
||||
$occupancy = Tools::getValue('occupancy');
|
||||
$occupancy = array_shift($occupancy);
|
||||
$adults = $occupancy['adults'];
|
||||
$children = $occupancy['children'];
|
||||
$child_ages = $occupancy['child_ages'];
|
||||
$child_ages = isset($occupancy['child_ages']) ? $occupancy['child_ages'] : false;
|
||||
|
||||
$totalRoomPriceBeforeTE = $obj_booking_detail->total_price_tax_excl;
|
||||
$totalRoomPriceBeforeTI = $obj_booking_detail->total_price_tax_incl;
|
||||
@@ -6346,40 +6368,43 @@ class AdminOrdersControllerCore extends AdminController
|
||||
}
|
||||
// update order detail for selected aditional services
|
||||
$objServiceProductCartDetail = new ServiceProductCartDetail();
|
||||
foreach ($selectedAdditonalServices as $service) {
|
||||
$serviceOrderDetail = new OrderDetail($service['id_order_detail']);
|
||||
if (isset($selectedAdditonalServices[$idHotelBooking])) {
|
||||
$objServiceProductCartDetail = new ServiceProductCartDetail();
|
||||
foreach ($selectedAdditonalServices[$idHotelBooking]['additional_services'] as $service) {
|
||||
$serviceOrderDetail = new OrderDetail($service['id_order_detail']);
|
||||
|
||||
$cart_quantity = $service['quantity'];
|
||||
if ($service['price_calculation_method'] == Product::PRICE_CALCULATION_METHOD_PER_DAY) {
|
||||
$cart_quantity = $cart_quantity * $product_quantity;
|
||||
}
|
||||
if ($cart_quantity >= $serviceOrderDetail->product_quantity) {
|
||||
$serviceOrderDetail->delete();
|
||||
} else {
|
||||
$serviceOrderDetail->total_price_tax_incl -= $service['total_price_tax_incl'];
|
||||
$serviceOrderDetail->total_price_tax_excl -= $service['total_price_tax_excl'];
|
||||
$serviceOrderDetail->product_quantity -= $cart_quantity;
|
||||
$cart_quantity = $service['quantity'];
|
||||
if ($service['price_calculation_method'] == Product::PRICE_CALCULATION_METHOD_PER_DAY) {
|
||||
$cart_quantity = $cart_quantity * $product_quantity;
|
||||
}
|
||||
if ($cart_quantity >= $serviceOrderDetail->product_quantity) {
|
||||
$serviceOrderDetail->delete();
|
||||
} else {
|
||||
$serviceOrderDetail->total_price_tax_incl -= $service['total_price_tax_incl'];
|
||||
$serviceOrderDetail->total_price_tax_excl -= $service['total_price_tax_excl'];
|
||||
$serviceOrderDetail->product_quantity -= $cart_quantity;
|
||||
|
||||
// update taxes
|
||||
$res &= $serviceOrderDetail->updateTaxAmount($order);
|
||||
// update taxes
|
||||
$res &= $serviceOrderDetail->updateTaxAmount($order);
|
||||
|
||||
// Save order detail
|
||||
$res &= $serviceOrderDetail->update();
|
||||
}
|
||||
// Save order detail
|
||||
$res &= $serviceOrderDetail->update();
|
||||
}
|
||||
|
||||
if (isset($roomHtlCartInfo['id'])) {
|
||||
if ($idServiceProductCartDetail = $objServiceProductCartDetail->alreadyExists(
|
||||
$service['id_product'],
|
||||
$service['id_cart'],
|
||||
$roomHtlCartInfo['id']
|
||||
)) {
|
||||
$objServiceProductCartDetail = new ServiceProductCartDetail((int) $idServiceProductCartDetail);
|
||||
$serviceQuantity = $objServiceProductCartDetail->quantity;
|
||||
if ($objServiceProductCartDetail->delete()
|
||||
&& Validate::isLoadedObject(new Product((int) $service['id_product']))
|
||||
) {
|
||||
$objCart = new Cart($service['id_cart']);
|
||||
$objCart->updateQty((int)abs($serviceQuantity), $service['id_product'], null, false, 'down');
|
||||
if (isset($roomHtlCartInfo['id'])) {
|
||||
if ($idServiceProductCartDetail = $objServiceProductCartDetail->alreadyExists(
|
||||
$service['id_product'],
|
||||
$selectedAdditonalServices[$idHotelBooking]['id_cart'],
|
||||
$roomHtlCartInfo['id']
|
||||
)) {
|
||||
$objServiceProductCartDetail = new ServiceProductCartDetail((int) $idServiceProductCartDetail);
|
||||
$serviceQuantity = $objServiceProductCartDetail->quantity;
|
||||
if ($objServiceProductCartDetail->delete()
|
||||
&& Validate::isLoadedObject(new Product((int) $service['id_product']))
|
||||
) {
|
||||
$objCart = new Cart($selectedAdditonalServices[$idHotelBooking]['id_cart']);
|
||||
$objCart->updateQty((int)abs($serviceQuantity), $service['id_product'], null, false, 'down');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6501,7 +6526,8 @@ class AdminOrdersControllerCore extends AdminController
|
||||
'invoices_collection' => $invoice_collection,
|
||||
'current_id_lang' => Context::getContext()->language->id,
|
||||
'link' => Context::getContext()->link,
|
||||
'current_index' => self::$currentIndex
|
||||
'current_index' => self::$currentIndex,
|
||||
'can_edit' => ($this->tabAccess['edit'] === 1),
|
||||
));
|
||||
|
||||
$this->sendChangedNotification($order);
|
||||
@@ -6652,10 +6678,11 @@ class AdminOrdersControllerCore extends AdminController
|
||||
$product_quantity = (int) HotelHelper::getNumberOfDays($new_date_from, $new_date_to);
|
||||
$old_product_quantity = (int) HotelHelper::getNumberOfDays($old_date_from, $old_date_to);
|
||||
$qty_diff = $product_quantity - $old_product_quantity;
|
||||
$occupancy = array_shift(Tools::getValue('occupancy'));
|
||||
$occupancy = Tools::getValue('occupancy');
|
||||
$occupancy = array_shift($occupancy);
|
||||
$adults = $occupancy['adults'];
|
||||
$children = $occupancy['children'];
|
||||
$child_ages = $occupancy['child_ages'];
|
||||
$child_ages = isset($occupancy['child_ages']) ? $occupancy['child_ages'] : false;
|
||||
|
||||
// If order is refunded, the validate changes which are not allowed
|
||||
$objOrderReturn = new OrderReturn();
|
||||
@@ -7188,8 +7215,8 @@ class AdminOrdersControllerCore extends AdminController
|
||||
if (Configuration::get('PS_ALLOW_ADD_ALL_SERVICES_IN_BOOKING')) {
|
||||
// get all services
|
||||
$objProduct = new Product();
|
||||
$hotelServiceProducts = $objProduct->getServiceProducts(null, Product::SELLING_PREFERENCE_HOTEL_STANDALONE_AND_WITH_ROOM_TYPE);
|
||||
$roomTypeServiceProducts = $objProduct->getServiceProducts(null, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE);
|
||||
$hotelServiceProducts = $objProduct->getServiceProducts(true, Product::SELLING_PREFERENCE_HOTEL_STANDALONE_AND_WITH_ROOM_TYPE);
|
||||
$roomTypeServiceProducts = $objProduct->getServiceProducts(true, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE);
|
||||
$serviceProducts = array_merge($roomTypeServiceProducts, $hotelServiceProducts);
|
||||
} else {
|
||||
$objRoomTypeServiceProduct = new RoomTypeServiceProduct();
|
||||
@@ -7197,9 +7224,9 @@ class AdminOrdersControllerCore extends AdminController
|
||||
}
|
||||
|
||||
if ($serviceProducts) {
|
||||
if (isset($additionalServices[$idHtlBookingDetail]) && $additionalServices[$idHtlBookingDetail]) {
|
||||
foreach ($serviceProducts as $key => $servProduct) {
|
||||
$serviceProducts[$key]['price_tax_exc'] = $servProduct['price'];
|
||||
foreach ($serviceProducts as $key => $servProduct) {
|
||||
$serviceProducts[$key]['price_tax_exc'] = $servProduct['price'];
|
||||
if (isset($additionalServices[$idHtlBookingDetail]) && $additionalServices[$idHtlBookingDetail]) {
|
||||
if (in_array($servProduct['id_product'], array_column($additionalServices[$idHtlBookingDetail]['additional_services'], 'id_product'))) {
|
||||
unset($serviceProducts[$key]);
|
||||
}
|
||||
@@ -7714,10 +7741,10 @@ class AdminOrdersControllerCore extends AdminController
|
||||
$autoAdded = Tools::getValue('new_service_auto_added');
|
||||
|
||||
// adjust values for auto added services
|
||||
$objOrderDetail = new OrderDetail($objHotelBookingDetail->id_order_detail);
|
||||
if ($autoAdded) {
|
||||
$productQty = 1;
|
||||
// check if booking room type tax rule is still exist
|
||||
$objOrderDetail = new OrderDetail($objHotelBookingDetail->id_order_detail);
|
||||
if (Validate::isLoadedObject($objTaxRuleGroup = new TaxRulesGroup($objOrderDetail->id_tax_rules_group))) {
|
||||
$idTaxRuleGroup = $objOrderDetail->id_tax_rules_group;
|
||||
}
|
||||
@@ -7858,7 +7885,7 @@ class AdminOrdersControllerCore extends AdminController
|
||||
$objHotelBookingDetail->date_to,
|
||||
$objCart->id
|
||||
) / $numDays;
|
||||
$unitPriceTaxExcl = Product::getServiceProductPrice(
|
||||
$unitPriceTaxIncl = Product::getServiceProductPrice(
|
||||
(int)$product['id_product'],
|
||||
0,
|
||||
$roomHtlCartInfo['id_hotel'],
|
||||
@@ -8044,7 +8071,7 @@ class AdminOrdersControllerCore extends AdminController
|
||||
&& Validate::isLoadedObject(new Product($objServiceProductOrderDetail->id_product))
|
||||
) {
|
||||
$objCart = new Cart($objServiceProductOrderDetail->id_cart);
|
||||
$objCart->updateQty((int) abs($quantity), $objServiceProductOrderDetail->id_product, null, false, 'down');
|
||||
$objCart->updateQty((int) abs($quantity), $objServiceProductOrderDetail->id_product, null, 0, 'down', 0, null, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,14 +169,36 @@ class AdminProductsControllerCore extends AdminController
|
||||
$_POST['productFilter_a!id_category_default'] = $id_category;
|
||||
}
|
||||
|
||||
$catFilterKey = $this->table.'Filter_a!id_category_default';
|
||||
if (!Tools::getValue($catFilterKey)) {
|
||||
$this->context->cookie->id_category_room_types_filter = false;
|
||||
}
|
||||
if (($id_category = (int)Tools::getValue('id_category'))
|
||||
|| ($id_category = (int) Tools::getValue('productFilter_a!id_category_default'))
|
||||
|| ($id_category = (int)Tools::getValue($catFilterKey))
|
||||
) {
|
||||
$this->id_current_category = $id_category;
|
||||
$this->context->cookie->id_category_room_types_filter = $id_category;
|
||||
if (Tools::isSubmit('submitResetproduct')) {
|
||||
$this->id_current_category = false;
|
||||
$this->context->cookie->id_category_room_types_filter = false;
|
||||
}
|
||||
} elseif ($id_category = $this->context->cookie->id_category_room_types_filter) {
|
||||
$this->id_current_category = $id_category;
|
||||
} else {
|
||||
$idFilterCategory = false;
|
||||
if (!Tools::isSubmit($catFilterKey)) {
|
||||
$prefix = $this->getCookieFilterPrefix();
|
||||
$idFilterCategory = $this->context->cookie->{$prefix.$catFilterKey};
|
||||
}
|
||||
|
||||
if ($idFilterCategory) {
|
||||
$this->id_current_category = $idFilterCategory;
|
||||
$this->context->cookie->id_category_room_types_filter = $idFilterCategory;
|
||||
} else {
|
||||
$this->context->cookie->id_category_room_types_filter = false;
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->id_current_category) {
|
||||
$this->_category = new Category((int)$this->id_current_category);
|
||||
$this->position_group_identifier = (int) $this->id_current_category;
|
||||
@@ -639,8 +661,9 @@ class AdminProductsControllerCore extends AdminController
|
||||
|
||||
public function getList($id_lang, $orderBy = null, $orderWay = null, $start = 0, $limit = null, $id_lang_shop = null)
|
||||
{
|
||||
$orderByPriceFinal = (empty($orderBy) ? ($this->context->cookie->__get($this->table.'Orderby') ? $this->context->cookie->__get($this->table.'Orderby') : 'id_'.$this->table) : $orderBy);
|
||||
$orderWayPriceFinal = (empty($orderWay) ? ($this->context->cookie->__get($this->table.'Orderway') ? $this->context->cookie->__get($this->table.'Orderby') : 'ASC') : $orderWay);
|
||||
$prefix = $this->getCookieFilterPrefix();
|
||||
$orderByPriceFinal = (empty($orderBy) ? ($this->context->cookie->__get($prefix.$this->table.'Orderby') ? $this->context->cookie->__get($prefix.$this->table.'Orderby') : 'id_'.$this->table) : $orderBy);
|
||||
$orderWayPriceFinal = (empty($orderWay) ? ($this->context->cookie->__get($prefix.$this->table.'Orderway') ? $this->context->cookie->__get($prefix.$this->table.'Orderby') : 'ASC') : $orderWay);
|
||||
if ($orderByPriceFinal == 'price_final') {
|
||||
$orderBy = 'id_'.$this->table;
|
||||
$orderWay = 'ASC';
|
||||
@@ -2532,9 +2555,10 @@ class AdminProductsControllerCore extends AdminController
|
||||
// If products from all categories are displayed, we don't want to use sorting by position
|
||||
if (!(int) $this->id_current_category) {
|
||||
$this->_defaultOrderBy = $this->identifier;
|
||||
if ($this->context->cookie->{$this->table.'Orderby'} == 'position') {
|
||||
unset($this->context->cookie->{$this->table.'Orderby'});
|
||||
unset($this->context->cookie->{$this->table.'Orderway'});
|
||||
$prefix = $this->getCookieFilterPrefix();
|
||||
if ($this->context->cookie->{$prefix.$this->table.'Orderby'} == 'position') {
|
||||
unset($this->context->cookie->{$prefix.$this->table.'Orderby'});
|
||||
unset($this->context->cookie->{$prefix.$this->table.'Orderway'});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,16 +108,11 @@ class AdminSlipControllerCore extends AdminController
|
||||
parent::__construct();
|
||||
|
||||
$this->_where = Shop::addSqlRestriction(false, 'o');
|
||||
$this->_conf['33'] = $this->l('Voucher generated successfully');
|
||||
}
|
||||
|
||||
public function initPageHeaderToolbar()
|
||||
{
|
||||
$this->page_header_toolbar_btn['generate_pdf'] = array(
|
||||
'href' => self::$currentIndex.'&token='.$this->token,
|
||||
'desc' => $this->l('Generate PDF', null, null, false),
|
||||
'icon' => 'process-icon-save-date'
|
||||
);
|
||||
|
||||
parent::initPageHeaderToolbar();
|
||||
}
|
||||
|
||||
@@ -178,6 +173,25 @@ class AdminSlipControllerCore extends AdminController
|
||||
}
|
||||
$this->errors[] = $this->l('No order slips were found for this period.');
|
||||
}
|
||||
} else if (Tools::isSubmit('generateVoucher')) {
|
||||
if (($idOrderSlip = Tools::getValue('id_order_slip'))
|
||||
&& Validate::isLoadedObject($objOrderSlip = new OrderSlip($idOrderSlip))
|
||||
) {
|
||||
if ($objOrderSlip->redeem_status == OrderSlip::REDEEM_STATUS_REDEEMED) {
|
||||
$this->errors[] = Tools::displayError('The credit slip has already been redeemed.');
|
||||
}
|
||||
|
||||
if (!count($this->errors)) {
|
||||
if ($objOrderSlip->generateVoucher()) {
|
||||
Tools::redirectAdmin(self::$currentIndex.'&token='.$this->token.'&conf=33');
|
||||
} else {
|
||||
$this->errors[] = Tools::displayError('The voucher code for this credit slip could not be generated.');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$this->errors[] = Tools::displayError('Credit slip not found.');
|
||||
}
|
||||
|
||||
} else {
|
||||
return parent::postProcess();
|
||||
}
|
||||
@@ -235,10 +249,7 @@ class AdminSlipControllerCore extends AdminController
|
||||
|
||||
public function initToolbar()
|
||||
{
|
||||
$this->toolbar_btn['save-date'] = array(
|
||||
'href' => '#',
|
||||
'desc' => $this->l('Generate PDF file')
|
||||
);
|
||||
$this->toolbar_btn = array();
|
||||
}
|
||||
|
||||
public function printPDFIcons($id_order_slip, $tr)
|
||||
@@ -267,15 +278,12 @@ class AdminSlipControllerCore extends AdminController
|
||||
|
||||
public function displayVoucherLink($idCartRule, $row)
|
||||
{
|
||||
if ($row['redeem_status'] == OrderSlip::REDEEM_STATUS_REDEEMED && $idCartRule) {
|
||||
$this->context->smarty->assign(array(
|
||||
'id_cart_rule' => (int) $idCartRule,
|
||||
));
|
||||
$this->context->smarty->assign(array(
|
||||
'id_cart_rule' => (int) $idCartRule,
|
||||
'row' => $row
|
||||
));
|
||||
|
||||
return $this->createTemplate('_display_voucher_link.tpl')->fetch();
|
||||
}
|
||||
|
||||
return '--';
|
||||
return $this->createTemplate('_display_voucher_link.tpl')->fetch();
|
||||
}
|
||||
|
||||
public function displayStatusChangeLink($token, $id)
|
||||
@@ -317,19 +325,19 @@ class AdminSlipControllerCore extends AdminController
|
||||
'modal_content' => $modalConfirmDelete->fetch(),
|
||||
'modal_actions' => array(
|
||||
array(
|
||||
'type' => 'button',
|
||||
'type' => 'link',
|
||||
'href' => '#',
|
||||
'class' => 'process_update btn-primary',
|
||||
'label' => $this->l('Change status'),
|
||||
),
|
||||
),
|
||||
|
||||
));
|
||||
$response['modalHtml'] = $tpl->fetch();
|
||||
}
|
||||
}
|
||||
$response['success'] = true;
|
||||
|
||||
die(Tools::jsonEncode($response));
|
||||
$this->ajaxDie(json_encode($response));
|
||||
}
|
||||
|
||||
public function setMedia()
|
||||
|
||||
@@ -298,6 +298,8 @@ class ContactControllerCore extends FrontController
|
||||
$gblHtlAddress = $shopAddress;
|
||||
$gblHtlPhone = Configuration::get('PS_SHOP_PHONE');
|
||||
$gblHtlEmail = Configuration::get('PS_SHOP_EMAIL');
|
||||
$gblHtlRegistrationNumber = Configuration::get('PS_SHOP_DETAILS');
|
||||
$gblHtlFax = Configuration::get('PS_SHOP_FAX');
|
||||
$objHotelInfo = new HotelBranchInformation();
|
||||
if ($hotelsInfo = $objHotelInfo->hotelBranchesInfo(false, 1, 1)) {
|
||||
foreach ($hotelsInfo as &$hotel) {
|
||||
@@ -333,6 +335,8 @@ class ContactControllerCore extends FrontController
|
||||
'gblHtlEmail' => $gblHtlEmail,
|
||||
'displayHotelMap' => $displayHotelMap,
|
||||
'gblHtlAddress' => $gblHtlAddress,
|
||||
'gblHtlRegistrationNumber' => $gblHtlRegistrationNumber,
|
||||
'gblHtlFax' => $gblHtlFax,
|
||||
'contacts' => Contact::getContacts($this->context->language->id),
|
||||
'message' => html_entity_decode(Tools::getValue('message')),
|
||||
'contactKey' => $contactKey,
|
||||
|
||||
@@ -368,7 +368,7 @@ class OrderDetailControllerCore extends FrontController
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
);
|
||||
@@ -464,7 +464,7 @@ class OrderDetailControllerCore extends FrontController
|
||||
'returns' => OrderReturn::getOrdersReturn($order->id_customer, $order->id),
|
||||
'refundReqBookings' => $refundReqBookings,
|
||||
'refundReqProducts' => $refundReqProducts,
|
||||
'completeRefundRequestOrCancel' => $order->hasCompletelyRefunded(Order::ORDER_COMPLETE_CANCELLATION_OR_REFUND_REQUEST_FLAG),
|
||||
'completeRefundRequestOrCancel' => $order->hasCompletelyRefunded(Order::ORDER_COMPLETE_CANCELLATION_OR_REFUND_REQUEST_FLAG, 0, 0),
|
||||
'refundedAmount' => $refundedAmount,
|
||||
'shop_name' => strval(Configuration::get('PS_SHOP_NAME')),
|
||||
'order' => $order,
|
||||
|
||||
@@ -572,7 +572,7 @@ class OrderOpcControllerCore extends ParentOrderController
|
||||
$date_from = Tools::getValue('date_from');
|
||||
$date_to = Tools::getValue('date_to');
|
||||
$objCartBookingData = new HotelCartBookingData();
|
||||
if ($cart_data_dlt = $objCartBookingData->deleteRoomDataFromOrderLine(
|
||||
if ($objCartBookingData->deleteRoomDataFromOrderLine(
|
||||
$this->context->cart->id,
|
||||
$this->context->cart->id_guest,
|
||||
$id_product,
|
||||
|
||||
@@ -436,7 +436,7 @@ class ProductControllerCore extends FrontController
|
||||
'PS_SERVICE_PRODUCT_CATEGORY_FILTER' => Configuration::get('PS_SERVICE_PRODUCT_CATEGORY_FILTER'),
|
||||
'bed_types_info' => $bedTypes,
|
||||
'selected_bed_types' => $selectedBedTypes,
|
||||
'dimension_unit' => Configuration::get('PS_DIMENSION_UNIT'),
|
||||
'dimension_unit' => Configuration::get('WK_DIMENSION_UNIT', $this->context->language->id),
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Открийте вашия уебсайт',
|
||||
'Share your experience with your friends!' => 'Споделете опита си с приятелите си!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Току-що създадох уебсайт за онлайн резервация на хотел с QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Вижте всички функции тук: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Вижте всички функции тук: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Tweet',
|
||||
'Share' => 'Дял',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'আপনার ওয়েবসাইট আবিষ্কার করুন',
|
||||
'Share your experience with your friends!' => 'আপনার বন্ধুদের সাথে আপনার অভিজ্ঞতা শেয়ার করুন!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'আমি এইমাত্র QloApps দিয়ে একটি অনলাইন হোটেল বুকিং ওয়েবসাইট তৈরি করেছি!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'এখানে সমস্ত বৈশিষ্ট্য দেখুন: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'এখানে সমস্ত বৈশিষ্ট্য দেখুন: https://docs.qloapps.com/',
|
||||
'Tweet' => 'টুইট',
|
||||
'Share' => 'শেয়ার করুন',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Descubra o seu site',
|
||||
'Share your experience with your friends!' => 'Compartilhe sua experiência com seus amigos!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Acabei de criar um site de reservas de hotéis online com QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Veja todos os recursos aqui: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Veja todos os recursos aqui: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Tuitar',
|
||||
'Share' => 'Compartilhar',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Descobriu el vostre lloc web',
|
||||
'Share your experience with your friends!' => 'Comparteix la teva experiència amb els teus amics!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Acabo de crear un lloc web de reserves d\'hotels en línia amb QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Consulteu totes les funcions aquí: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Consulteu totes les funcions aquí: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Tuitejar',
|
||||
'Share' => 'Compartir',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Objevte svůj web',
|
||||
'Share your experience with your friends!' => 'Podělte se o své zkušenosti se svými přáteli!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Právě jsem vytvořil webovou stránku pro online rezervaci hotelů s QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Podívejte se na všechny funkce zde: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Podívejte se na všechny funkce zde: https://docs.qloapps.com/',
|
||||
'Tweet' => 'tweet',
|
||||
'Share' => 'Podíl',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -204,7 +204,7 @@ return array(
|
||||
'Discover Your Website' => 'Entdecken Sie Ihre Website',
|
||||
'Share your experience with your friends!' => 'Teilen Sie Ihre Erfahrungen mit Ihren Freunden!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Ich habe gerade mit QloApps eine Online-Website zur Hotelbuchung erstellt!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Alle Funktionen finden Sie hier: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Alle Funktionen finden Sie hier: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Tweet',
|
||||
'Share' => 'Aktie',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Discover Your Website',
|
||||
'Share your experience with your friends!' => 'Share your experience with your friends!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'I just built an online hotel booking website with QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'See all the features here : https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'See all the features here : https://docs.qloapps.com/',
|
||||
'Tweet' => 'Tweet',
|
||||
'Share' => 'Share',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Descubra su sitio web',
|
||||
'Share your experience with your friends!' => '¡Comparte tu experiencia con tus amigos!',
|
||||
'I just built an online hotel booking website with QloApps!' => '¡Acabo de crear un sitio web de reservas de hoteles en línea con QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Vea todas las funciones aquí: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Vea todas las funciones aquí: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Pío',
|
||||
'Share' => 'Compartir',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'وب سایت خود را کشف کنید',
|
||||
'Share your experience with your friends!' => 'تجربه خود را با دوستان خود به اشتراک بگذارید!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'من به تازگی یک وب سایت رزرو هتل آنلاین با QloApps ایجاد کردم!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'همه ویژگی ها را اینجا ببینید: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'همه ویژگی ها را اینجا ببینید: https://docs.qloapps.com/',
|
||||
'Tweet' => 'توییت',
|
||||
'Share' => 'اشتراک گذاری',
|
||||
'Google+' => '+Google',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Découvrez votre site Web',
|
||||
'Share your experience with your friends!' => 'Partagez votre expérience avec vos amis !',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Je viens de créer un site de réservation d\'hôtel en ligne avec QloApps !',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Voir toutes les fonctionnalités ici : https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Voir toutes les fonctionnalités ici : https://docs.qloapps.com/',
|
||||
'Tweet' => 'Tweeter',
|
||||
'Share' => 'Partager',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'גלה את האתר שלך',
|
||||
'Share your experience with your friends!' => 'שתף את החוויה שלך עם החברים שלך!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'זה עתה בניתי אתר אינטרנט להזמנת מלונות עם QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'ראה את כל התכונות כאן: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'ראה את כל התכונות כאן: https://docs.qloapps.com/',
|
||||
'Tweet' => 'צִיוּץ',
|
||||
'Share' => 'לַחֲלוֹק',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Otkrijte svoju web stranicu',
|
||||
'Share your experience with your friends!' => 'Podijelite svoje iskustvo s prijateljima!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Upravo sam izradio web mjesto za online rezervaciju hotela s QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Pogledajte sve značajke ovdje: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Pogledajte sve značajke ovdje: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Cvrkut',
|
||||
'Share' => 'Udio',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Fedezze fel webhelyét',
|
||||
'Share your experience with your friends!' => 'Oszd meg tapasztalataidat barátaiddal!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Most építettem egy online szállodafoglalási webhelyet a QloApps segítségével!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Tekintse meg az összes funkciót itt: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Tekintse meg az összes funkciót itt: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Csipog',
|
||||
'Share' => 'Ossza meg',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Temukan Situs Web Anda',
|
||||
'Share your experience with your friends!' => 'Bagikan pengalaman Anda dengan teman-teman Anda!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Saya baru saja membuat situs pemesanan hotel online dengan QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Lihat semua fitur di sini: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Lihat semua fitur di sini: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Menciak',
|
||||
'Share' => 'Membagikan',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Scopri il tuo sito web',
|
||||
'Share your experience with your friends!' => 'Condividi la tua esperienza con i tuoi amici!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Ho appena creato un sito web di prenotazione di hotel online con QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Vedi tutte le funzionalità qui: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Vedi tutte le funzionalità qui: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Twitta',
|
||||
'Share' => 'Condividere',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Atraskite savo svetainę',
|
||||
'Share your experience with your friends!' => 'Pasidalinkite savo patirtimi su draugais!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Ką tik sukūriau internetinę viešbučių užsakymo svetainę su QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Peržiūrėkite visas funkcijas čia: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Peržiūrėkite visas funkcijas čia: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Tviteryje',
|
||||
'Share' => 'Dalintis',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Откријте ја вашата веб-страница',
|
||||
'Share your experience with your friends!' => 'Споделете го вашето искуство со вашите пријатели!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Само што изградив веб-страница за онлајн резервации на хотели со QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Погледнете ги сите карактеристики овде: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Погледнете ги сите карактеристики овде: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Твитнете',
|
||||
'Share' => 'Споделете',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Ontdek uw website',
|
||||
'Share your experience with your friends!' => 'Deel uw ervaring met uw vrienden!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Ik heb zojuist een online hotelboekingswebsite gebouwd met QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Bekijk hier alle functies: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Bekijk hier alle functies: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Tweeten',
|
||||
'Share' => 'Deel',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Oppdag nettstedet ditt',
|
||||
'Share your experience with your friends!' => 'Del opplevelsen din med vennene dine!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Jeg har nettopp bygget et nettsted for hotellbestilling på nett med QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Se alle funksjonene her: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Se alle funksjonene her: https://docs.qloapps.com/',
|
||||
'Tweet' => 'kvitring',
|
||||
'Share' => 'Dele',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Odkryj swoją witrynę',
|
||||
'Share your experience with your friends!' => 'Podziel się swoim doświadczeniem ze znajomymi!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Właśnie zbudowałem witrynę internetową do rezerwacji hoteli online za pomocą QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Zobacz wszystkie funkcje tutaj: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Zobacz wszystkie funkcje tutaj: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Ćwierkać',
|
||||
'Share' => 'Udział',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Descubra o seu site',
|
||||
'Share your experience with your friends!' => 'Compartilhe sua experiência com seus amigos!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Acabei de criar um site de reservas de hotéis online com QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Veja todos os recursos aqui: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Veja todos os recursos aqui: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Tuitar',
|
||||
'Share' => 'Compartilhar',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Découvrez votre site Web',
|
||||
'Share your experience with your friends!' => 'Partagez votre expérience avec vos amis !',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Je viens de créer un site de réservation d\'hôtel en ligne avec QloApps !',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Voir toutes les fonctionnalités ici : https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Voir toutes les fonctionnalités ici : https://docs.qloapps.com/',
|
||||
'Tweet' => 'Tweeter',
|
||||
'Share' => 'Partager',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Descoperiți site-ul dvs',
|
||||
'Share your experience with your friends!' => 'Împărtășește-ți experiența cu prietenii tăi!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Tocmai am creat un site web de rezervare hotelieră online cu QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Vezi toate caracteristicile aici: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Vezi toate caracteristicile aici: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Tweet',
|
||||
'Share' => 'Acțiune',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Откройте для себя свой веб-сайт',
|
||||
'Share your experience with your friends!' => 'Поделитесь своим опытом с друзьями!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Я только что создал сайт онлайн-бронирования отелей с помощью QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Посмотреть все функции можно здесь: https://qloapps.com/qlo-reservation-system/.',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Посмотреть все функции можно здесь: https://docs.qloapps.com/.',
|
||||
'Tweet' => 'Твитнуть',
|
||||
'Share' => 'Делиться',
|
||||
'Google+' => 'Гугл+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Odkrijte svoje spletno mesto',
|
||||
'Share your experience with your friends!' => 'Delite svojo izkušnjo s prijatelji!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Pravkar sem ustvaril spletno mesto za rezervacije hotelov s QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Oglejte si vse funkcije tukaj: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Oglejte si vse funkcije tukaj: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Tweet',
|
||||
'Share' => 'Deliti',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Откријте своју веб локацију',
|
||||
'Share your experience with your friends!' => 'Поделите своје искуство са пријатељима!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Управо сам направио веб локацију за резервације хотела на мрежи са QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Погледајте све функције овде: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Погледајте све функције овде: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Твеет',
|
||||
'Share' => 'Објави',
|
||||
'Google+' => 'Гоогле+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Upptäck din webbplats',
|
||||
'Share your experience with your friends!' => 'Dela din upplevelse med dina vänner!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Jag har precis byggt en webbsida för hotellbokning online med QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Se alla funktioner här: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Se alla funktioner här: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Tweet',
|
||||
'Share' => 'Dela med sig',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Web Sitenizi Keşfedin',
|
||||
'Share your experience with your friends!' => 'Deneyiminizi arkadaşlarınızla paylaşın!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Az önce QloApps ile bir çevrimiçi otel rezervasyon web sitesi oluşturdum!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Tüm özellikleri burada görün: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Tüm özellikleri burada görün: https://docs.qloapps.com/',
|
||||
'Tweet' => 'Cıvıldamak',
|
||||
'Share' => 'Paylaşmak',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => '發現您的網站',
|
||||
'Share your experience with your friends!' => '與您的朋友分享您的經驗!',
|
||||
'I just built an online hotel booking website with QloApps!' => '我剛剛使用 QloApps 建立了一個線上飯店預訂網站!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => '在這裡查看所有功能:https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => '在這裡查看所有功能:https://docs.qloapps.com/',
|
||||
'Tweet' => '鳴叫',
|
||||
'Share' => '分享',
|
||||
'Google+' => '谷歌+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => 'Khám phá trang web của bạn',
|
||||
'Share your experience with your friends!' => 'Chia sẻ kinh nghiệm của bạn với bạn bè của bạn!',
|
||||
'I just built an online hotel booking website with QloApps!' => 'Tôi vừa xây dựng một trang web đặt phòng khách sạn trực tuyến với QloApps!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => 'Xem tất cả các tính năng tại đây: https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => 'Xem tất cả các tính năng tại đây: https://docs.qloapps.com/',
|
||||
'Tweet' => 'tiếng riu ríu',
|
||||
'Share' => 'Chia sẻ',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'documentation' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'documentation' => 'https://docs.qloapps.com/',
|
||||
'documentation_upgrade' => 'https://webkul.uvdesk.com/',
|
||||
'forum' => 'https://forums.qloapps.com/',
|
||||
'blog' => 'https://qloapps.com/blog/',
|
||||
@@ -10,7 +10,7 @@ return array(
|
||||
'tailored_help' => 'https://webkul.uvdesk.com/',
|
||||
'contact' => 'https://qloapps.com/contact/',
|
||||
'services' => 'https://qloapps.com/contact/',
|
||||
'tutorials' => 'https://qloapps.com/qlo-reservation-system/',
|
||||
'tutorials' => 'https://docs.qloapps.com/',
|
||||
'installation_guide' => 'https://qloapps.com/qloapps-installation-process/',
|
||||
'install_help' => 'https://qloapps.com/install-qloapps/',
|
||||
),
|
||||
@@ -206,7 +206,7 @@ return array(
|
||||
'Discover Your Website' => '发现您的网站',
|
||||
'Share your experience with your friends!' => '与您的朋友分享您的经验!',
|
||||
'I just built an online hotel booking website with QloApps!' => '我刚刚用 QloApps 建立了一个在线酒店预订网站!',
|
||||
'See all the features here : https://qloapps.com/qlo-reservation-system/' => '在此处查看所有功能:https://qloapps.com/qlo-reservation-system/',
|
||||
'See all the features here : https://docs.qloapps.com/' => '在此处查看所有功能:https://docs.qloapps.com/',
|
||||
'Tweet' => '鸣叫',
|
||||
'Share' => '分享',
|
||||
'Google+' => 'Google+',
|
||||
|
||||
@@ -113,7 +113,7 @@ var admin = '<?php echo(file_exists('../admin-dev') ? '../admin-dev' : '../admin
|
||||
|
||||
<div class="sharing">
|
||||
<p><?php echo $this->l('Share your experience with your friends!'); ?></p>
|
||||
<button type="button" class="btn-twitter" onclick="psinstall_twitter_click('<?php echo $this->l('I just built an online hotel booking website with QloApps!'); ?> <?php echo $this->l('See all the features here : https://qloapps.com/qlo-reservation-system/'); ?>');">
|
||||
<button type="button" class="btn-twitter" onclick="psinstall_twitter_click('<?php echo $this->l('I just built an online hotel booking website with QloApps!'); ?> <?php echo $this->l('See all the features here : https://docs.qloapps.com/'); ?>');">
|
||||
<i></i> <?php echo $this->l('Tweet'); ?>
|
||||
</button>
|
||||
<button type="button" class="btn-facebook" onclick="psinstall_facebook_click();">
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -223,7 +223,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -223,7 +223,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -221,7 +221,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="Kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="mi"/>
|
||||
</units>
|
||||
|
||||
@@ -254,7 +254,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -161,7 +161,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -221,7 +221,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -333,7 +333,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -221,7 +221,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -253,7 +253,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -160,7 +160,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -221,7 +221,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -265,7 +265,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -161,7 +161,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="L"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
<units>
|
||||
<unit type="weight" value="kg"/>
|
||||
<unit type="volume" value="l"/>
|
||||
<unit type="short_distance" value="ft"/>
|
||||
<unit type="short_distance" value="cm"/>
|
||||
<unit type="base_distance" value="m"/>
|
||||
<unit type="long_distance" value="km"/>
|
||||
</units>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user