Added our properties controller in the front, added fax in the hotel table

This commit is contained in:
vishalsingh.qlo325
2025-04-17 15:56:20 +05:30
parent 9518a916fa
commit f5bf00581d
68 changed files with 1149 additions and 688 deletions

View File

@@ -1192,6 +1192,7 @@ class FrontControllerCore extends Controller
'token' => Tools::getToken(),
'priceDisplayPrecision' => _PS_PRICE_DISPLAY_PRECISION_,
'content_only' => (int)Tools::getValue('content_only'),
'WK_DISPLAY_OUR_HOTEL_TAB_IN_HEADER' => Configuration::get('WK_DISPLAY_OUR_HOTEL_TAB_IN_HEADER'),
));
$this->context->smarty->assign($this->initLogoAndFavicon());

View File

@@ -31,6 +31,7 @@ class AdminStoresControllerCore extends AdminController
{
public function __construct()
{
Tools::redirectAdmin(Context::getContext()->link->getAdminLink('AdminDashboard'));
$this->bootstrap = true;
$this->table = 'store';
$this->className = 'Store';

View File

@@ -281,10 +281,17 @@ class ContactControllerCore extends FrontController
}
$this->context->smarty->assign('customerThread', $customer_thread);
}
// Send Hotel location information
$gblHtlAddress = Configuration::get('WK_HOTEL_GLOBAL_ADDRESS');
$gblHtlPhone = Configuration::get('WK_HOTEL_GLOBAL_CONTACT_NUMBER');
$gblHtlEmail = Configuration::get('WK_HOTEL_GLOBAL_CONTACT_EMAIL');
$objShop = new Shop();
$shopAddress = '';
$shopAddress_obj = $objShop->getAddress();
if (isset($shopAddress_obj) && $shopAddress_obj instanceof Address) {
$shopAddress = AddressFormat::generateAddress($shopAddress_obj, array(), ' - ', ' ');
}
$gblHtlAddress = $shopAddress;
$gblHtlPhone = Configuration::get('PS_SHOP_PHONE');
$gblHtlEmail = Configuration::get('PS_SHOP_EMAIL');
$objHotelInfo = new HotelBranchInformation();
if ($hotelsInfo = $objHotelInfo->hotelBranchesInfo(false, 1, 1)) {
foreach ($hotelsInfo as &$hotel) {
@@ -310,12 +317,15 @@ class ContactControllerCore extends FrontController
$contactKey = md5(uniqid(microtime(), true));
$this->context->cookie->__set('contactFormKey', $contactKey);
$displayHotelMap = Configuration::get('WK_CONTACT_DISPLAY_HOTEL_MAP');
$this->context->smarty->assign(
array(
'hotelsInfo' => $hotelsInfo,
'viewOnMap' => Configuration::get('WK_GOOGLE_ACTIVE_MAP'),
'displayHotels' => Configuration::get('WK_CONTACT_DISPLAY_HOTEL_LIST'),
'gblHtlPhone' => $gblHtlPhone,
'gblHtlEmail' => $gblHtlEmail,
'displayHotelMap' => $displayHotelMap,
'gblHtlAddress' => $gblHtlAddress,
'contacts' => Contact::getContacts($this->context->language->id),
'message' => html_entity_decode(Tools::getValue('message')),
@@ -324,10 +334,9 @@ class ContactControllerCore extends FrontController
);
//By webkul to send hotels Map Informations for google Map.
if (Configuration::get('PS_API_KEY') && Configuration::get('WK_GOOGLE_ACTIVE_MAP')) {
$hotelLocationArray = $objHotelInfo->getMapFormatHotelsInfo(Configuration::get('WK_MAP_HOTEL_ACTIVE_ONLY'));
if ($hotelLocationArray) {
$this->context->smarty->assign('hotelLocationArray', json_encode($hotelLocationArray));
if ($displayHotelMap && Configuration::get('PS_API_KEY') && Configuration::get('WK_GOOGLE_ACTIVE_MAP')) {
if ($hotelLocationArray = $objHotelInfo->getMapFormatHotelsInfo(Configuration::get('WK_MAP_HOTEL_ACTIVE_ONLY'))) {
$this->context->smarty->assign('hotelLocationArray', str_replace(array('\n', '\r'), '', json_encode($hotelLocationArray)));
}
}
//End

View File

@@ -0,0 +1,160 @@
<?php
/**
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License version 3.0
* that is bundled with this package in the file LICENSE.md
* It is also available through the world-wide-web at this URL:
* https://opensource.org/license/osl-3-0-php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to support@qloapps.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to a newer
* versions in the future. If you wish to customize this module for your needs
* please refer to https://store.webkul.com/customisation-guidelines for more information.
*
* @author Webkul IN
* @copyright Since 2010 Webkul
* @license https://opensource.org/license/osl-3-0-php Open Software License version 3.0
*/
class PropertiesControllerCore extends FrontController
{
public $php_self = 'properties';
/**
* Assign template vars related to page content
* @see FrontController::initContent()
*/
public function initContent()
{
$this->display_column_left = false;
$this->display_column_right = false;
parent::initContent();
$hotelsInfo = array();
$hotelLocationArray = 0;
$pageLimit = 0;
$displayHotelMap = Configuration::get('WK_PROPERTIES_DISPLAY_HOTEL_MAP');
if (Module::isInstalled('hotelreservationsystem') && Module::isEnabled('hotelreservationsystem')) {
$objModule = Module::getInstanceByName('hotelreservationsystem');
$objHotelInfo = new HotelBranchInformation();
if ($hotelsInfo = $objHotelInfo->hotelBranchesInfo(false, 1, 1)) {
foreach ($hotelsInfo as &$hotel) {
if (isset($hotel['id_cover_img'])
&& $hotel['id_cover_img']
&& Validate::isLoadedObject(
$objHotelImage = new HotelImage($hotel['id_cover_img'])
)
) {
$htlImgLink = $this->context->link->getMediaLink($objHotelImage->getImageLink($hotel['id_cover_img'], ImageType::getFormatedName('medium')));
if ((bool)Tools::file_get_contents($htlImgLink)) {
$hotel['image_url'] = $htlImgLink;
} else {
$hotel['image_url'] = $this->context->link->getMediaLink($objModule->getPathUri().'views/img/Slices/hotel-default-icon.png');
}
} else {
$hotel['image_url'] = $this->context->link->getMediaLink($objModule->getPathUri().'views/img/Slices/hotel-default-icon.png');
}
$hotel['view_rooms_link'] = $this->context->link->getCategoryLink(
new Category($hotel['id_category'], $this->context->language->id),
null,
$this->context->language->id
);
}
// To store max number pages.
$pageLimit = ceil(count($hotelsInfo)/10);
if (!($page = Tools::getValue('pagination'))) {
$page = 1;
} else if (!$pageLimit || ($page > $pageLimit)) {
$page = 1;
}
$pagination = array();
if ($pageLimit) {
$pageNumber = $page - 2;
if ($pageNumber < 1) {
$pageNumber = 1;
}
while ($page + 4 >= $pageNumber && count($pagination) < 5) {
if ($pageNumber > $pageLimit) {
$firstItem = reset($pagination) - 1;
if ($firstItem > 0) {
$pagination[$firstItem] = $firstItem;
}
} else {
$pagination[$pageNumber] = $pageNumber;
}
$pageNumber++;
}
}
ksort($pagination);
$this->context->smarty->assign(
array(
'pagination' => $pagination,
'currentPage' => $page,
'pageLimit' => $pageLimit,
'currentPageUrl' => $this->context->link->getPageLink($this->php_self)
)
);
$page--;
// To show 10 Hotel per page
$hotelsInfo = array_slice($hotelsInfo, $page * 10, 10);
}
if ($displayHotelMap && Configuration::get('PS_API_KEY') && Configuration::get('WK_GOOGLE_ACTIVE_MAP')) {
if ($hotelLocations = $objHotelInfo->getMapFormatHotelsInfo(Configuration::get('WK_MAP_HOTEL_ACTIVE_ONLY'))) {
$hotelLocationArray = str_replace(array('\n', '\r'), '', json_encode($hotelLocations));
}
}
}
Media::addJsDef(
array(
'hotelLocationArray' => $hotelLocationArray
)
);
$this->context->smarty->assign(
array(
'hotelsInfo' => $hotelsInfo,
'hotelLocationArray' => $hotelLocationArray,
'viewOnMap' => Configuration::get('WK_GOOGLE_ACTIVE_MAP'),
'displayHotelMap' => $displayHotelMap,
'currentIndex' => $this->context->link->getPageLink('properties')
)
);
$this->setTemplate(_PS_THEME_DIR_.'properties.tpl');
}
public function setMedia()
{
parent::setMedia();
$this->addJS(_THEME_JS_DIR_.'properties.js');
$this->addCSS(_THEME_CSS_DIR_.'properties.css');
// GOOGLE MAP
if (($PS_API_KEY = Configuration::get('PS_API_KEY')) && Configuration::get('WK_GOOGLE_ACTIVE_MAP')) {
Media::addJsDef(
array(
'PS_STORES_ICON' => $this->context->link->getMediaLink(_PS_IMG_.Configuration::get('PS_STORES_ICON')),
)
);
$this->addJS(
'https://maps.googleapis.com/maps/api/js?key='.$PS_API_KEY.
'&libraries=places&language='.$this->context->language->iso_code.'&region='.$this->context->country->iso_code
);
}
}
}

View File

@@ -28,6 +28,11 @@ class SitemapControllerCore extends FrontController
{
public $php_self = 'sitemap';
public function init()
{
Tools::redirect($this->context->link->getPageLink('index'));
}
public function setMedia()
{
parent::setMedia();

View File

@@ -40,6 +40,10 @@
<page>sitemap</page>
<configurable>1</configurable>
</meta>
<meta id="properties">
<page>properties</page>
<configurable>1</configurable>
</meta>
<meta id="supplier">
<page>supplier</page>
<configurable>1</configurable>

View File

@@ -225,9 +225,9 @@
<tab id="Images" id_parent="Preferences" active="1" hide_host_mode="0">
<class_name>AdminImages</class_name>
</tab>
<tab id="Store_Contacts" id_parent="Preferences" active="1" hide_host_mode="0">
<!-- <tab id="Store_Contacts" id_parent="Preferences" active="1" hide_host_mode="0">
<class_name>AdminStores</class_name>
</tab>
</tab> -->
<tab id="Search_1" id_parent="Preferences" active="1" hide_host_mode="0">
<class_name>AdminSearchConf</class_name>
</tab>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Our Properties</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Credit slip</title>
<description/>

View File

@@ -126,6 +126,12 @@
<keywords/>
<url_rewrite>order-slip</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>আমাদের সম্পত্তি</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id='order' id_shop='1'>
<title>অর্ডার </title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>acompanhar-meu-pedido</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Hon tiez</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id='order-slip' id_shop='1'>
<title>Nota do pedido</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Naše nemovitosti</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Dobropis</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>bestellungsverfolgung</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Unsere Immobilien</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Bestellschein</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Our Properties</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Credit slip</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>seguimiento-pedido</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Nuestras propiedades</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id='order-slip' id_shop='1'>
<title>Albarán</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>املاک ما</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>رسید سفارش</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>suivi-commande</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Nos propriétés</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id='order-slip' id_shop='1'>
<title>Avoirs</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>מעקב-הזמנות</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>הנכסים שלנו</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>שוברי הזמנה</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Our hotels</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Credit slip</title>
<description/>

View File

@@ -126,6 +126,12 @@
<keywords/>
<url_rewrite>order-slip</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Our hotels</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order" id_shop="1">
<title>Order</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>pantau-order</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Properti kami</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id='order-slip' id_shop='1'>
<title>Slip order</title>
<description/>

View File

@@ -126,6 +126,12 @@
<keywords/>
<url_rewrite>buono-ordine</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Le nostre proprietà</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id='order' id_shop='1'>
<title>Ordine</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Our hotels</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Credit slip</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Our hotels</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Order slip</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Our hotels</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Order slip</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>sledzenie-zamowienia</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Nasze nieruchomości</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Pokwitowania</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>acompanhar-encomenda</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Nossas propriedades</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Nota de Encomenda</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>returnari</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Proprietățile noastre</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Bon de comandă</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Наши объекты</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Бланк заказа</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Our hotels</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Credit slip</title>
<description/>

View File

@@ -114,6 +114,12 @@
<keywords/>
<url_rewrite>my-account</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Our hotels</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-follow" id_shop="1">
<title>Order follow</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Our hotels</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Credit slip</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>我們的物業</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>訂購單</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Tài sản của chúng tôi</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Phiếu tín dụng</title>
<description/>

View File

@@ -120,6 +120,12 @@
<keywords/>
<url_rewrite>order-follow</url_rewrite>
</meta>
<meta id='properties' id_shop='1'>
<title>Our hotels</title>
<description/>
<keywords/>
<url_rewrite>properties</url_rewrite>
</meta>
<meta id="order-slip" id_shop="1">
<title>Order slip</title>
<description/>

View File

@@ -164,6 +164,20 @@ class WkCustomNavigationLink extends ObjectModel
$objCustomNavigationLink->link = 'index';
$objCustomNavigationLink->save();
$objCustomNavigationLink = new WkCustomNavigationLink();
foreach ($languages as $language) {
$objCustomNavigationLink->name[$language['id_lang']] = 'Our hotels';
}
$objCustomNavigationLink->position = $this->getHigherPosition();
$objCustomNavigationLink->id_cms = 0;
$objCustomNavigationLink->show_at_navigation = 1;
$objCustomNavigationLink->show_at_footer = 0;
$objCustomNavigationLink->active = 1;
$objCustomNavigationLink->link = Context::getContext()->link->getPageLink('properties');
$objCustomNavigationLink->is_custom_link = 1;
$objCustomNavigationLink->save();
// enter modules links
$modsElems = array();
// if module is installing or resetting

View File

@@ -55,7 +55,7 @@ class BlockSocial extends Module
|| !Configuration::updateValue('BLOCKSOCIAL_PINTEREST', '')
|| !Configuration::updateValue('BLOCKSOCIAL_VIMEO', '')
|| !Configuration::updateValue('BLOCKSOCIAL_INSTAGRAM', '')
|| !$this->registerHook('displayFooterNotificationHook')
|| !$this->registerHook('displayFooterMostLeftBlock')
) {
return false;
}
@@ -100,7 +100,7 @@ class BlockSocial extends Module
return $output.$this->renderForm();
}
public function hookDisplayFooterNotificationHook()
public function hookDisplayFooterMostLeftBlock()
{
$this->smarty->assign(array(
'facebook_url' => Configuration::get('BLOCKSOCIAL_FACEBOOK'),

View File

@@ -20,7 +20,7 @@
<ul class="nav nav-pills nav-stacked visible-xs wk-nav-style">
{if $logged}
<li>
<a class="navigation-link" href="{$link->getPageLink('history', true)|escape:'html'}" title="{l s='View my orders' mod='blockuserinfo'}">{l s='Booking History' mod='blockuserinfo'}</a>
<a class="navigation-link" href="{$link->getPageLink('history', true)|escape:'html'}" title="{l s='Bookings' mod='blockuserinfo'}">{l s='Bookings' mod='blockuserinfo'}</a>
</li>
<li>
<a class="navigation-link" href="{$link->getPageLink('my-account', true)|escape:'html'}" title="{l s='View my customer account' mod='blockuserinfo'}">{l s='Accounts Settings' mod='blockuserinfo'}</a>

View File

@@ -32,22 +32,27 @@
</button>
<ul class="dropdown-menu" aria-labelledby="user_info_acc">
<li><a href="{$link->getPageLink('my-account', true)|escape:'html'}" title="{l s='View my customer account' mod='blockuserinfo'}">{l s='Accounts' mod='blockuserinfo'}</a></li>
<li><a href="{$link->getPageLink('history', true)|escape:'html'}" title="{l s='View my orders' mod='blockuserinfo'}">{l s='Orders'}</a></li>
<li><a href="{$link->getPageLink('history', true)|escape:'html'}" title="{l s='Bookings' mod='blockuserinfo'}">{l s='Bookings' mod='blockuserinfo'}</a></li>
<li><a href="{$link->getPageLink('index', true, NULL, "mylogout")|escape:'html'}" title="{l s='Log me out' mod='blockuserinfo'}">{l s='Logout'}</a></li>
{block name='displayUserNavigationList'}
{hook h='displayUserNavigationList'}
{/block}
</ul>
</li>
{else}
<a class="header-top-link" href="{$link->getPageLink('my-account', true)|escape:'html'}" rel="nofollow" title="{l s='Log in to your customer account' mod='blockuserinfo'}">
<span class="hide_xs">{l s='Sign in' mod='blockuserinfo'}</span>
<span class="visi_xs"><i class="icon-user"></i></span>
</a>
</ul>
{else}
<a class="header-top-link" href="{$link->getPageLink('my-account', true)|escape:'html'}" rel="nofollow" title="{l s='Log in to your customer account' mod='blockuserinfo'}">
<span class="hide_xs">{l s='Sign in' mod='blockuserinfo'}</span>
<span class="visi_xs"><i class="icon-user"></i></span>
</a>
{/if}
{if !isset($ajaxCustomerLogin)}
</div>
{if isset($WK_DISPLAY_OUR_HOTEL_TAB_IN_HEADER) && $WK_DISPLAY_OUR_HOTEL_TAB_IN_HEADER}
<div class="header-top-link our_hotel_tab hidden-xs">
<a href="{$link->getPageLink('properties')}">{l s='Our Hotels'}</a>
</div>
{/if}
{/if}
{/block}
<!-- /Block user information module NAV -->

View File

@@ -35,6 +35,7 @@ class HotelBranchInformation extends ObjectModel
public $map_formated_address;
public $map_input_text;
public $active_refund;
public $fax;
public $date_add;
public $date_upd;
@@ -54,6 +55,7 @@ class HotelBranchInformation extends ObjectModel
'map_formated_address' => array('type' => self::TYPE_HTML, 'validate' => 'isCleanHtml'),
'map_input_text' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
'active_refund' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
'fax' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'),
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false),
'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false),
@@ -1142,6 +1144,8 @@ class HotelBranchInformation extends ObjectModel
$message = sprintf(Tools::displayError('The Zip/Postal code you have entered is invalid. It must follow this format: %s'), str_replace('C', $objCountry->iso_code, str_replace('N', '0', str_replace('L', 'A', $objCountry->zip_code_format))));
} elseif ($this->zipcode && !Validate::isPostCode($this->zipcode)) {
$message = Tools::displayError('The Zip / Postal code is invalid.');
} elseif ($this->fax && !Validate::isGenericName($this->fax)) {
$message = Tools::displayError('The Fax is invalid.');
} else {
if ($addressValidation = Address::getValidationRules('Address')) {
foreach ($addressValidation['size'] as $field => $maxSize) {

View File

@@ -1044,14 +1044,13 @@ class HotelHelper
Configuration::updateValue('WK_ROOM_LEFT_WARNING_NUMBER', 10);
Configuration::updateValue('WK_HTL_ESTABLISHMENT_YEAR', 2010);
Configuration::updateValue(
'WK_HOTEL_GLOBAL_ADDRESS',
'The Hotel Prime, Monticello Dr, Montgomery, 10010'
);
Configuration::updateValue('WK_HOTEL_GLOBAL_CONTACT_NUMBER', '0987654321');
Configuration::updateValue('WK_HOTEL_GLOBAL_CONTACT_EMAIL', 'hotelprime@htl.com');
Configuration::updateValue('PS_SHOP_ADDR1', 'The Hotel Prime, Monticello Dr, Montgomery, 10010');
Configuration::updateValue('PS_SHOP_PHONE', '0987654321');
Configuration::updateValue('PS_SHOP_EMAIL', 'hotelprime@htl.com');
Configuration::updateValue('WK_CUSTOMER_SUPPORT_PHONE_NUMBER', '0987654321');
Configuration::updateValue('WK_CUSTOMER_SUPPORT_EMAIL', 'hotelprime@htl.com');
Configuration::updateValue('WK_CONTACT_DISPLAY_HOTEL_LIST', 0);
Configuration::updateValue('WK_TITLE_HEADER_BLOCK', $home_banner_default_title);
Configuration::updateValue('WK_CONTENT_HEADER_BLOCK', $home_banner_default_content);

View File

@@ -65,6 +65,7 @@ class HotelReservationSystemDb
`map_formated_address` text NOT NULL,
`map_input_text` text NOT NULL,
`active_refund` tinyint(1) unsigned NOT NULL DEFAULT '0',
`fax` varchar(255) DEFAULT NULL,
`date_add` datetime NOT NULL,
`date_upd` datetime NOT NULL,
PRIMARY KEY (`id`)
@@ -562,4 +563,4 @@ class HotelReservationSystemDb
`'._DB_PREFIX_.'htl_access`'
);
}
}
}

View File

@@ -254,6 +254,7 @@ class AdminAddHotelController extends ModuleAdminController
$zipcode = Tools::getValue('hotel_postal_code');
$address = Tools::getValue('address');
$active = Tools::getValue('ENABLE_HOTEL');
$fax = Tools::getValue('fax');
$activeRefund = Tools::getValue('active_refund');
$enableUseGlobalMaxOrderDate = Tools::getValue('enable_use_global_max_order_date');
$maximumBookingDate = Tools::getValue('maximum_booking_date');
@@ -371,6 +372,10 @@ class AdminAddHotelController extends ModuleAdminController
$this->errors[] = $this->l('Address is required field.');
}
if ($fax && !Validate::isGenericName($fax)) {
$this->errors[] = $this->l('Field fax in invalid.');
}
if (!$country) {
$this->errors[] = $this->l('Country is required field.');
} else {
@@ -474,6 +479,7 @@ class AdminAddHotelController extends ModuleAdminController
}
$objHotelBranch->active = $active;
$objHotelBranch->active_refund = $activeRefund;
$objHotelBranch->fax = $fax;
// lang fields
$hotelCatName = array();

View File

@@ -78,8 +78,7 @@ class AdminHotelGeneralSettingsController extends ModuleAdminController
'value' => 0,
),
),
'hint' => $this->l('This option can be disabled if only one active hotel in the website.
In case of more than one active hotel, Hotel Name will always be shown in the search panel.'),
'hint' => $this->l('This option can be disabled if only one active hotel in the website. In case of more than one active hotel, Hotel Name will always be shown in the search panel.'),
),
'WK_SEARCH_AUTO_FOCUS_NEXT_FIELD' => array(
'title' => $this->l('Focus next field automatically'),
@@ -148,6 +147,23 @@ class AdminHotelGeneralSettingsController extends ModuleAdminController
'identifier' => 'id',
'list' => $hotelsInfo,
),
'WK_DISPLAY_OUR_HOTEL_TAB_IN_HEADER' => array(
'title' => $this->l('Display "Our Hotels" tab in menu'),
'cast' => 'intval',
'type' => 'bool',
'default' => '0',
'values' => array(
array(
'id' => 'active_on',
'value' => 1,
),
array(
'id' => 'active_off',
'value' => 0,
),
),
'hint' => $this->l('Display "Our Hotels" tab in menu in top in the front office'),
),
'WK_HTL_ESTABLISHMENT_YEAR' => array(
'title' => $this->l('Website Launch Year'),
'hint' => $this->l('The year when your hotel site was launched.'),
@@ -167,31 +183,8 @@ class AdminHotelGeneralSettingsController extends ModuleAdminController
),
'contactdetail' => array(
'icon' => 'icon-phone',
'title' => $this->l('Website Contact Details'),
'title' => $this->l('Support Contact Details'),
'fields' => array(
'WK_HOTEL_GLOBAL_ADDRESS' => array(
'title' => $this->l('Main Branch Address'),
'hint' => $this->l('The address of the main branch. It will be shown on Contact Us page.'),
'type' => 'text',
'isCleanHtml' => true,
'class' => 'fixed-width-xxl',
'required' => true,
),
'WK_HOTEL_GLOBAL_CONTACT_NUMBER' => array(
'title' => $this->l('Main Branch Phone Number'),
'hint' => $this->l('The phone number of the main branch. It will be shown on Contact Us page.'),
'type' => 'text',
'validation' => 'isPhoneNumber',
'class' => 'fixed-width-xxl',
'required' => true,
),
'WK_HOTEL_GLOBAL_CONTACT_EMAIL' => array(
'title' => $this->l('Main Branch Email'),
'hint' => $this->l('The email address of the main branch. It will be shown on Contact Us page.'),
'type' => 'text',
'class' => 'fixed-width-xxl',
'required' => true,
),
'WK_CUSTOMER_SUPPORT_PHONE_NUMBER' => array(
'title' => $this->l('Support Phone Number'),
'type' => 'text',
@@ -204,11 +197,36 @@ class AdminHotelGeneralSettingsController extends ModuleAdminController
'hint' => $this->l('The email used for customer service. It will be shown on navigation bar.'),
'class' => 'fixed-width-xxl',
),
'WK_CONTACT_DISPLAY_HOTEL_LIST' => array(
'title' => $this->l('Display Hotels On Contact Page'),
'cast' => 'intval',
'type' => 'bool',
'default' => '0',
'values' => array(
array(
'id' => 'active_on',
'value' => 1,
),
array(
'id' => 'active_off',
'value' => 0,
),
),
'hint' => $this->l('Enable to display hotels list on the contact us page.'),
),
),
'submit' => array(
'title' => $this->l('Save'),
),
),
'websitedetail' => array(
'title' => $this->l('Website Contact Details'),
'icon' => 'icon-user',
'fields' => $this->_getDefaultFieldsContent(),
'submit' => array(
'title' => $this->l('Save'),
),
),
'advancedPayment' => array(
'title' => $this->l('Advance Payment Global Setting'),
'fields' => array(
@@ -326,13 +344,177 @@ class AdminHotelGeneralSettingsController extends ModuleAdminController
),
'hint' => $this->l('If yes, only active hotels will be displayed on map.'),
),
'WK_PROPERTIES_DISPLAY_HOTEL_MAP' => array(
'title' => $this->l('Display Hotels Map On Properties Page'),
'cast' => 'intval',
'type' => 'bool',
'default' => '0',
'values' => array(
array(
'id' => 'active_on',
'value' => 1,
),
array(
'id' => 'active_off',
'value' => 0,
),
),
'hint' => $this->l('Enable to display map with hotels locations on the properties page.'),
),
'WK_CONTACT_DISPLAY_HOTEL_MAP' => array(
'title' => $this->l('Display Hotels Map On Contact Page'),
'cast' => 'intval',
'type' => 'bool',
'default' => '0',
'values' => array(
array(
'id' => 'active_on',
'value' => 1,
),
array(
'id' => 'active_off',
'value' => 0,
),
),
'hint' => $this->l('Enable to display map with hotels locations on the contact us page.'),
),
),
'submit' => array(
'title' => $this->l('Save'),
),
),
);
}
protected function _getDefaultFieldsContent()
{
$this->context = Context::getContext();
$countryList = array();
$countryList[] = array('id' => '0', 'name' => $this->l('Choose your country'));
foreach (Country::getCountries($this->context->language->id) as $country) {
$countryList[] = array('id' => $country['id_country'], 'name' => $country['name']);
}
$stateList = array();
$stateList[] = array('id' => '0', 'name' => $this->l('Choose your state (if applicable)'));
foreach (State::getStates($this->context->language->id) as $state) {
$stateList[] = array('id' => $state['id_state'], 'name' => $state['name']);
}
$formFields = array(
'PS_SHOP_NAME' => array(
'title' => $this->l('Website name'),
'hint' => $this->l('Displayed in emails and page titles.'),
'validation' => 'isGenericName',
'required' => true,
'type' => 'text',
'no_escape' => true,
),
'PS_SHOP_EMAIL' => array(
'title' => $this->l('Website email'),
'hint' => $this->l('Displayed in emails sent to customers and on Contact Us page.'),
'validation' => 'isEmail',
'required' => true,
'type' => 'text'
),
'PS_SHOP_PHONE' => array(
'title' => $this->l('Phone'),
'validation' => 'isGenericName',
'required' => true,
'type' => 'text',
'hint' => $this->l('The phone number of the main branch.'),
),
'PS_SHOP_ADDR1' => array(
'title' => $this->l('Address line 1'),
'validation' => 'isAddress',
'type' => 'text',
'hint' => $this->l('The address of the main branch.'),
'isCleanHtml' => true,
'required' => true,
),
'PS_SHOP_ADDR2' => array(
'title' => $this->l('Address line 2'),
'validation' => 'isAddress',
'type' => 'text'
),
'PS_SHOP_CODE' => array(
'title' => $this->l('Zip/postal code'),
'validation' => 'isGenericName',
'type' => 'text'
),
'PS_SHOP_CITY' => array(
'title' => $this->l('City'),
'validation' => 'isGenericName',
'type' => 'text'
),
'PS_SHOP_COUNTRY_ID' => array(
'title' => $this->l('Country'),
'validation' => 'isInt',
'type' => 'select',
'list' => $countryList,
'identifier' => 'id',
'cast' => 'intval',
'defaultValue' => (int)$this->context->country->id
),
'PS_SHOP_STATE_ID' => array(
'title' => $this->l('State'),
'validation' => 'isInt',
'type' => 'select',
'list' => $stateList,
'identifier' => 'id',
'cast' => 'intval'
),
'PS_SHOP_DETAILS' => array(
'title' => $this->l('Registration number'),
'hint' => $this->l('Website registration information (e.g. SIRET or RCS).'),
'validation' => 'isGenericName',
'type' => 'textarea',
'cols' => 30,
'rows' => 5
),
'PS_SHOP_FAX' => array(
'title' => $this->l('Fax'),
'validation' => 'isGenericName',
'type' => 'text'
),
);
return $formFields;
}
public function beforeUpdateOptions()
{
if (isset($_POST['PS_SHOP_STATE_ID']) && $_POST['PS_SHOP_STATE_ID'] != '0') {
$sql = 'SELECT `active` FROM `'._DB_PREFIX_.'state`
WHERE `id_country` = '.(int)Tools::getValue('PS_SHOP_COUNTRY_ID').'
AND `id_state` = '.(int)Tools::getValue('PS_SHOP_STATE_ID');
$isStateOk = Db::getInstance()->getValue($sql);
if ($isStateOk != 1) {
$this->errors[] = Tools::displayError('The specified state is not located in this country.');
}
}
}
public function updateOptionPsShopCountryId($value)
{
if (!$this->errors && $value) {
$country = new Country($value, $this->context->language->id);
if ($country->id) {
Configuration::updateValue('PS_SHOP_COUNTRY_ID', $value);
Configuration::updateValue('PS_SHOP_COUNTRY', pSQL($country->name));
}
}
}
public function updateOptionPsShopStateId($value)
{
if (!$this->errors && $value) {
$state = new State($value);
if ($state->id) {
Configuration::updateValue('PS_SHOP_STATE_ID', $value);
Configuration::updateValue('PS_SHOP_STATE', pSQL($state->name));
}
}
}
public function postProcess()
@@ -427,18 +609,16 @@ class AdminHotelGeneralSettingsController extends ModuleAdminController
$this->errors[] = $this->l('Please enter Google API key.');
}
}
if (!trim(Tools::getValue('WK_HOTEL_GLOBAL_ADDRESS'))) {
$this->errors[] = $this->l('Hotel global address field is required');
if (!trim(Tools::getValue('PS_SHOP_NAME'))) {
$this->errors[] = $this->l('Website name field is required');
}
if (!trim(Tools::getValue('WK_HOTEL_GLOBAL_CONTACT_NUMBER'))) {
$this->errors[] = $this->l('Hotel global contact number field is required');
} elseif (!Validate::isPhoneNumber(Tools::getValue('WK_HOTEL_GLOBAL_CONTACT_NUMBER'))) {
$this->errors[] = $this->l('Hotel global contact number field is invalid');
if (!trim(Tools::getValue('PS_SHOP_ADDR1'))) {
$this->errors[] = $this->l('Address Line1 field is required');
}
if (!trim(Tools::getValue('WK_HOTEL_GLOBAL_CONTACT_EMAIL'))) {
$this->errors[] = $this->l('Hotel global contact email field is required');
} elseif (!Validate::isEmail(Tools::getValue('WK_HOTEL_GLOBAL_CONTACT_EMAIL'))) {
$this->errors[] = $this->l('Hotel global contact email field is invalid');
if (!trim(Tools::getValue('PS_SHOP_PHONE'))) {
$this->errors[] = $this->l('Phone field is required');
} elseif (!Validate::isPhoneNumber(Tools::getValue('PS_SHOP_PHONE'))) {
$this->errors[] = $this->l('Phone field is invalid');
}
if (trim(Tools::getValue('WK_CUSTOMER_SUPPORT_PHONE_NUMBER')) != '') {
if (!Validate::isPhoneNumber(trim(Tools::getValue('WK_CUSTOMER_SUPPORT_PHONE_NUMBER')))) {

View File

@@ -682,9 +682,6 @@ class HotelReservationSystem extends Module
$configKeys = array(
'WK_HOTEL_LOCATION_ENABLE',
'WK_ROOM_LEFT_WARNING_NUMBER',
'WK_HOTEL_GLOBAL_ADDRESS',
'WK_HOTEL_GLOBAL_CONTACT_EMAIL',
'WK_HOTEL_GLOBAL_CONTACT_NUMBER',
'WK_HTL_ESTABLISHMENT_YEAR',
'WK_HTL_CHAIN_NAME',
'WK_TITLE_HEADER_BLOCK',
@@ -698,6 +695,7 @@ class HotelReservationSystem extends Module
'WK_HOTEL_NAME_ENABLE',
'WK_CUSTOMER_SUPPORT_PHONE_NUMBER',
'WK_CUSTOMER_SUPPORT_EMAIL',
'WK_CONTACT_DISPLAY_HOTEL_LIST'
);
foreach ($configKeys as $key) {
if (!Configuration::deleteByName($key)) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@@ -835,8 +835,12 @@ function toggleGoogleMapsFields()
{
if ($('#WK_GOOGLE_ACTIVE_MAP_on').attr('checked') == 'checked') {
$('#conf_id_WK_MAP_HOTEL_ACTIVE_ONLY').parent().show();
$('#conf_id_WK_CONTACT_DISPLAY_HOTEL_MAP').parent().show();
$('#conf_id_WK_PROPERTIES_DISPLAY_HOTEL_MAP').parent().show();
} else {
$('#conf_id_WK_MAP_HOTEL_ACTIVE_ONLY').parent().hide();
$('#conf_id_WK_CONTACT_DISPLAY_HOTEL_MAP').parent().hide();
$('#conf_id_WK_PROPERTIES_DISPLAY_HOTEL_MAP').parent().hide();
}
}

View File

@@ -197,6 +197,12 @@
<textarea name="address" rows="4" cols="35" >{if isset($smarty.post.address)}{$smarty.post.address}{elseif isset($edit)}{$address_info.address1|escape:'htmlall':'UTF-8'}{/if}</textarea>
</div>
</div>
<div class="form-group check_in_div" style="position:relative">
<label class="col-sm-3 control-label" for="fax">{l s='Fax' mod='hotelreservationsystem'}</label>
<div class="col-sm-6">
<input autocomplete="off" type="text" class="form-control" id="fax" name="fax" value="{if isset($smarty.post.fax)}{$smarty.post.fax}{elseif isset($edit)}{$hotel_info.fax|escape:'htmlall':'UTF-8'}{/if}" />
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3 required" for="hotel_country">{l s='Rating :' mod='hotelreservationsystem'}</label>
<div class="col-sm-6">

View File

@@ -1,52 +0,0 @@
------------------------------
# V1.0.3 to V1.0.4
------------------------------
## Improved/Changed Features:
* [CO] : [#528] licenses updated
* [FO] : [#387] Add nav bar and move language and currency selector at top at front office
------------------------------
# V1.0.2 to V1.0.3
------------------------------
## Improved/Changed Features:
[*] FO : [#290] Using $this->_path for including css and js
-------------------------------
# V1.0.1 to V1.0.2
-------------------------------
## Improved/changed features
[*] FO : Translations are corrected.
## Update Policy
- Mobule need only file update, can be updated only by UPLOADING new version on module
-----------------------------
# V1.0.0 to V1.0.1
-----------------------------
## Added features
+ [CO] : index.php added/Updated in all folders
+ [CO] : License.txt added.
+ [CO] : License added in every file.
+ [CO] : logo.gif file added.
## Improved/changed features
- [CO] : WK_HTL_SHORT_DESC (configuration key) is called as multilang field now.
## Update Policy
- Mobule need only file update, can be updated only by UPLOADING new version on module

View File

@@ -1,223 +0,0 @@
SOFTWARE LICENCE AGREEMENT
===============================
This AGREEMENT is made effective on the date of the purchase of the software between Webkul Software Pvt. Ltd.,Company incorporated under the Companies Act, 1956 (hereinafter referred to as “Licensor"), and the purchaser of the software/ product (hereinafter referred to as "Licensee").
Preamble
==================
Licensor is a web and mobile product based organization engaged in the business of developing and marketing software for enterprise level e-commerce businesses. It is an ISO and NSR (NASSCOM) certified organization having a team of more than 150 creative engineers which come from different backgrounds. It has developed more than 700 web extensions and apps in the past few years for open source platforms which are used and trusted globally. Licensee now wishes to obtain license, and Licensor wishes to grant a license, to allow use of the software so purchased in developing the e-commerce business website/ mobile app of the Licensee, subject to the terms and conditions set forth herein.
THEREFORE, with the intent to be legally bound, the parties hereby agree as follows:
Agreement
================
1.Definitions :
------------------
As used in this Agreement, the following capitalized terms shall have the definitions set forth below:
"Derivative Works" are works developed by Licensee, its officers, agents, contractors or employees, which are based upon, in whole or in part, the Source Code and/or the Documentation and may also be based upon and/or incorporate one or more other preexisting works of the Licensor. Derivative Works may be any improvement, revision, modification, translation (including compilation or recapitulation by computer), abridgment, condensation, expansion, or any other form in which such a preexisting work may be recast, transformed, or adapted. For purposes hereof, a Derivative Work shall also include any compilation that incorporates such a preexisting work.
"Documentation" is written, printed or otherwise recorded or stored (digital or paper) material relating to the Software and/or Source Code, including technical specifications and instructions for its use including Software/ Source Code annotations and other descriptions of the principles of its operation and instructions for its use.
"Improvements" shall mean, with respect to the Software, all modifications and changes made, developed, acquired or conceived after the date hereof and during the entire term of this Agreement.
"Source Code" is the computer programming source code form of the Software in the form maintained by the Licensor, and includes all non-third-party executables, libraries, components, and Documentation created or used in the creation, development, maintenance, and support of the Software as well as all updates, error corrections and revisions thereto provided by Licensor, in whole or in part.
2. Software License.
-------------------------
(a)Grant of License. For the consideration set forth below, Licensor hereby grants to Licensee, and Licensee hereby accepts the worldwide, non-exclusive, perpetual, royalty-free rights and licenses set forth below:
(i)The right and license to use and incorporate the software, in whole or in part, to develop its website/ mobile app (including the integration of all or part of the Licensor’s software into Licensee's own software) on one domain ( Except Joomla modules , listed on store are entitled to be used on unlimited domain as per the standard guidelines ) only, solely for the own personal or business use of the Licensee. However, the License does not authorize the Licensee to compile, copy or distribute the said Software or its Derivative Works.
(ii)The right and license does not authorize the Licensee to make any backup or archival copies of the Software and / or the Source Code and Documentation.
(iii)The right and license does not authorize the Licensee to migrate the domain license to another domain.
(b)Scope; Rights and Responsibilities.
(i)Licensor shall enable the Licensee to download one complete copy of the Software.
(ii)The Software is intended for the sole use of the Licensee in development of its own website/ mobile app.
(iii)Licensee does not have the right to hand over, sell, distribute, sub-license, rent, lease or lend any portion of the Software or Documentation, whether modified or unmodified, to anyone. Licensee should not place the Software on a server so that it becomes accessible via a public network such as the Internet for distribution purposes. In case the Licensee is using any source code management system like github, it can use the code there only when it has paid subscription from such management system.
(iv)Licensee is not authorized to appoint, or work with, third parties to perform any development services using the Source Code, the source code to Derivative Works and/or the Documentation on behalf of, or working with, the Licensee. Release of Source Code, Derivative Work source code and/or Documentation to any third party shall be considered as violation of the Agreement, inter-alia entailing forthwith termination and legal action.
(c)Ownership.
(i)Software and Source Code. All right, title, copyright, and interest in the Software, Source Code, Software Modifications and Error corrections will be and remain the property of Licensor.
(ii)Derivative Works. As creation of Derivative Works by the Licensee is prohibited, thus, all right, title, copyright, and interest in any and/or all Derivative Works and Improvements created by, or on behalf of, Licensee will also be deemed to the property of Licensor. Licensor shall be entitled to protect copyright / intellectual property in all such Derivative Works and Improvements also in any country as it may deem fit including without limitation seeking copyright and/or patent protection.
3.Consideration.
--------------------
(a)Licensee shall pay to Licensor the amount as mentioned on the website from where the order is placed, as one-time, upfront fees in consideration for the licenses and rights granted hereunder (hereinafter referred to as the "License Fee"). The License Fee to be paid by Licensee shall be paid upfront at the time of placing the order, and no credit will be allowed under any circumstances.
(b)Once paid, the License Fees shall be non-refundable. The Licensee has fully satisfied itself about the Software and has seen the demonstration, and only thereafter has placed the order. Thus, the License Fees or any part thereof is non-refundable. No claim for refund of the Licence Fees shall be entertained under any circumstances.
4.Representations and Warranties.
-------------------------------------
(a)Mutual. Each of the parties represents and warrants to the other as follows.
(i)such party is a legal entity duly organized, validly existing and in good standing;
(ii)such party has the power and authority to conduct its business as presently conducted and to enter into, execute, deliver and perform this Agreement.
(iii)This Agreement has been duly and validly accepted by such party and constitutes the legal, valid and binding obligations of such party respectively, enforceable against such party in accordance with their respective terms;
(iv)the acceptance, execution, delivery and performance of this Agreement does not and will not violate such party's charter or by-laws; nor require any consent, authorization, approval, exemption or other action by any third party or governmental entity.
(b)Licensor warrants that, at the time of purchase of the Software:
the Software will function materially as set forth in the website or published functionality provided by Licensor to customers and potential customers describing the Software; and
Software add-ons, if purchased by the Licensee from the Licensor, will not materially diminish the features or functions of or the specifications of the Software as they existed as of the execution of this Agreement.
(c)Title. Licensor represents and warrants that it is the exclusive owner of all copyright/ intellectual property in the Software (including the Source Code) and has good and marketable title to the Software (including the Source Code) free and clear of all liens, claims and encumbrances of any nature whatsoever (collectively, "Liens"). Licensor's grant of license and rights to Licensee hereunder does not, and will not infringe any third party's property, intellectual property or personal rights.
5.Term.
-------------
(a)Subject to Licensee's payment obligations, this Agreement shall commence as on the date of making payment of the Software by the Licensee to the Licensor, and shall continue until terminated by either party.
(b)The Licensor retains the right to terminate the license at any time, if the Licensee is not abiding by any of the terms of the Agreement. The Licensee may terminate the Agreement at any time at its own discretion by uninstalling the Software and /or by destroying the said Software (or any copies thereof). However, the Licensee shall not be entitled to seek any refund of the amount paid by it to the Licensor, under any circumstances.
(c)Survival. In the event this Agreement is terminated for any reason, the provisions set forth in Sections 2(a), 2(b), and 2(c) shall survive.
6. Indemnification
----------------------
The Licensee release the Licensor from, and agree to indemnify, defend and hold harmless the Licensor (and its officers, directors, employees, agents and Affiliates) against, any claim, loss, damage, settlement, cost, taxes, expense or other liability (including, without limitation, attorneys' fees) (each, a "Claim") arising from or related to: (a) any actual or alleged breach of any obligations in this Agreement; (b) any refund, adjustment, or return of Software,(c) any claim for actual or alleged infringement of any Intellectual Property Rights made by any third party or damages related thereto; or (d) Taxes.
7. Limitation of Liability
------------------------------
The Licensor will not be liable for any direct, indirect, incidental, special, consequential or exemplary damages, including but not limited to, damages for loss of profits, goodwill, use, data or other intangible losses arising out of or in connection with the Software, whether in contract, warranty, tort etc. (including negligence, software liability, any type of civil responsibility or other theory or otherwise) to the Licensee or any other person for cost of software, cover, recovery or recoupment of any investment made by the Licensee or its affiliates in connection with this Agreement, or for any other loss of profit, revenue, business, or data or punitive or consequential damages arising out of or relating to this Agreement. Further, the aggregate liability of the Licensor, arising out of or in connection with this Agreement or the transactions contemplated hereby will not exceed at any time, or under any circumstances, the total amounts received by the Licensor from the Licensee in connection with the particular software giving rise to the claim.
8. Force Majeure
---------------------
The Licensor will not be liable for any delay or failure to perform any of its obligations under this Agreement by reasons, events or other matters beyond its reasonable control.
9. Relationship of Parties
------------------------------
The Licensor and Licensee are independent legal entities, and nothing in this Agreement will be construed to create a partnership, joint venture, association of persons, agency, franchise, sales representative, or employment relationship between the parties. The Licensee will have no authority to make or accept any offers or representations on behalf of the Licensor. The relationship between the parties is that of Licensor and Licensee only, and the rights, duties, liabilities of each party shall be governed by this Agreement.
10. Modification
------------------------
The Licensor may amend any of the terms and conditions contained in this Agreement at any time and solely at its discretion. Any changes will be effective upon the posting of such changes on the Portal/ website, and the Licensee is responsible for reviewing these changes and informing itself of all applicable changes or notices. The continued use of a software by the Licensee after posting of any changes by the Licensor, will constitute the acceptance of such changes or modifications by the Licensee.
11.Miscellaneous.
-----------------------
(a)General Provisions. This Agreement: (i) may be amended only by a writing signed by each of the parties; (ii) may be executed in several counterparts, each of which shall be deemed an original but all of which shall constitute one and the same instrument; (iii) contains the entire agreement of the parties with respect to the transactions contemplated hereby and supersedes all prior written and oral agreements, and all contemporaneous oral agreements, relating to such transactions; (iv) shall be governed by, and construed and enforced in accordance with, the laws of India; and (v) shall be binding upon, and inure to the benefit of, the parties and their respective successors and permitted assigns. Each of the parties hereby irrevocably submits to the jurisdiction of the Courts at Delhi, India, for the purposes of any action or proceeding arising out of or relating to this Agreement or the subject matter hereof and brought by any other party.
(b)Assignment. Licensee cannot assign, pledge or otherwise transfer, whether by operation of law or otherwise, this Agreement, or any of its obligations hereunder, without the prior written consent of Licensor, which consent shall not be unreasonably withheld.
(c)Notices. Unless otherwise specifically provided herein, all notices, consents, requests, demands and other communications required or permitted hereunder:
(i)shall be in writing;
(ii)shall be sent by messenger, certified or registered mail/email, or reliable express delivery service, to the appropriate address(es) set forth below; and
(iii)shall be deemed to have been given on the date of receipt by the addressee, as evidenced by a receipt executed by the addressee (or a responsible person in his or her office), the records of the Party delivering such communication or a notice to the effect that such addressee refused to claim or accept such communication, if sent by messenger, mail or express delivery service.
All such communications shall be sent to the following addresses or numbers, or to such other addresses or numbers as any party may inform the others by giving five days' prior notice:
If to Webkul Software Pvt. Ltd.:
Webkul Software Pvt. Ltd.
H-28, ARV Park, Sector 63, NOIDA – 201301,
Uttar Pradesh, India
If to Licensee:
At the address mentioned by the Licensee
(at the time of placing order of generating Invoice)
(d)Severability. It is the intent of the parties that the provisions of this Agreement be enforced to the fullest extent permissible under the laws and public policies of India in which enforcement hereof is sought. In furtherance of the foregoing, each provision hereof shall be severable from each other provision, and any provision hereof which is/ becomes unenforceable shall be subject to the following: (i) if such provision is contrary to or conflicts with any requirement of any statute, rule or regulation in effect, then such requirement shall be incorporated into, or substituted for, such unenforceable provision to the minimum extent necessary to make such provision enforceable; (ii) the court, agency or arbitrator considering the matter is hereby authorized to (or, if such court, agency or arbitrator is unwilling or fails to do so, then the parties shall) amend such provision to the minimum extent necessary to make such provision enforceable, and the parties hereby consent to the entry of an order so amending such provision; and (iii) if any such provision cannot be or is not reformed and made enforceable pursuant to clause (i) or (ii) above, then such provision shall be ineffective to the minimum extent necessary to make the remainder of this Agreement enforceable. Any application of the foregoing provisions to any provision hereof shall not effect the validity or enforceability of any other provision hereof.
(e)By purchasing the Software, the Licensee acknowledge that it has read this Agreement, and that it agrees to the content of the Agreement, its terms and agree to use the Software in compliance with this Agreement.
(f)The Licensor holds the sole copyright of the Software. The Software or any portion thereof is a copyrightable matter and is liable to be protected by the applicable laws. Copyright infringement in any manner can lead to prosecution according to the current law. The Licensor reserves the right to revoke the license of any user who is not holding any license or is holding an invalid license.
(g)This Agreement gives the right to use only one copy of the Software on one domain solely for the own personal or business use of the Licensee, subject to all the terms and conditions of this Agreement. A separate License has to be purchased for each new Software installation. Any distribution of the Software without the written consent of the Licensor (including non-commercial distribution) is regarded as violation of this Agreement, and will entail immediate termination of the Agreement and may invite liability, both civil and criminal, as per applicable laws.
(h)The Licensor reserves the rights to publish a selected list of users/ Licensees of its Software, and no permission of any Licensee is needed in this regard. The Licensee agrees that the Licensor may, in its sole discretion, disclose or make available any information provided or submitted by the Licensee or related to it under this Agreement to any judicial, quasi-judicial, governmental, regulatory or any other authority as may be required by the Licensor to co-operate and / or comply with any of their orders, instructions or directions or to fulfill any requirements under applicable Laws.
(i)If the Licensee continues to use the Software even after the sending of the notice by the Licensor for termination, the Licensee agree to accept an injunction to restrain itself from its further use, and to pay all costs (including but not limited to reasonable attorney fees) to enforce injunction or to revoke the License, and any damages suffered by the Licensor because of the misuse of the Software by the Licensee.
12. Arbitration
-----------------------
If any dispute arises between the Licensor and the Licensee at any time, in connection with the validity, interpretation, implementation or alleged breach of any provision of this Agreement, the same shall be referred to a sole Arbitrator who shall be an independent and neutral third party appointed exclusively by the Licensor. The Licensee shall not object to the appointment of the Arbitrator so appointed by the Licensor. The place of arbitration shall be Delhi, India. The Arbitration & Conciliation Act, 1996 as amended by The Arbitration & Conciliation (Amendment) Act, 2015, shall govern the arbitration proceedings. The arbitration proceedings shall be held in the English language.

View File

@@ -1,29 +0,0 @@
<?php
/**
* 2010-2018 Webkul.
*
* NOTICE OF LICENSE
*
* All right is reserved,
* Please go through this link for complete license : https://store.webkul.com/license.html
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future. If you wish to customize this module for your
* needs please refer to https://store.webkul.com/customisation-guidelines/ for more information.
*
* @author Webkul IN <support@webkul.com>
* @copyright 2010-2018 Webkul IN
* @license https://store.webkul.com/license.html
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../../../');
exit;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,32 +0,0 @@
<?php
/**
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License version 3.0
* that is bundled with this package in the file LICENSE.md
* It is also available through the world-wide-web at this URL:
* https://opensource.org/license/osl-3-0-php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to support@qloapps.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to a newer
* versions in the future. If you wish to customize this module for your needs
* please refer to https://store.webkul.com/customisation-guidelines for more information.
*
* @author Webkul IN
* @copyright Since 2010 Webkul
* @license https://opensource.org/license/osl-3-0-php Open Software License version 3.0
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../../../');
exit;

View File

@@ -1,44 +0,0 @@
<?php
/**
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License version 3.0
* that is bundled with this package in the file LICENSE.md
* It is also available through the world-wide-web at this URL:
* https://opensource.org/license/osl-3-0-php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to support@qloapps.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to a newer
* versions in the future. If you wish to customize this module for your needs
* please refer to https://store.webkul.com/customisation-guidelines for more information.
*
* @author Webkul IN
* @copyright Since 2010 Webkul
* @license https://opensource.org/license/osl-3-0-php Open Software License version 3.0
*/
if (!defined('_PS_VERSION_'))
exit;
function upgrade_module_1_0_4($module)
{
$objUpgrade = new UpgradeWkFooterAboutBlock104($module);
return $objUpgrade->initUpgrade();
}
class UpgradeWkFooterAboutBlock104
{
public function __construct($module)
{
$this->module = $module;
}
public function initUpgrade()
{
return $this->module->unregisterHook('displayFooterPaymentInfo');
}
}

View File

@@ -1,29 +0,0 @@
<?php
/**
* 2010-2018 Webkul.
*
* NOTICE OF LICENSE
*
* All right is reserved,
* Please go through this link for complete license : https://store.webkul.com/license.html
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future. If you wish to customize this module for your
* needs please refer to https://store.webkul.com/customisation-guidelines/ for more information.
*
* @author Webkul IN <support@webkul.com>
* @copyright 2010-2018 Webkul IN
* @license https://store.webkul.com/license.html
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../../../');
exit;

View File

@@ -1,25 +0,0 @@
/**
* 2010-2018 Webkul.
*
* NOTICE OF LICENSE
*
* All right is reserved,
* Please go through this link for complete license : https://store.webkul.com/license.html
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future. If you wish to customize this module for your
* needs please refer to https://store.webkul.com/customisation-guidelines/ for more information.
*
* @author Webkul IN <support@webkul.com>
* @copyright 2010-2018 Webkul IN
* @license https://store.webkul.com/license.html
*/
.footer-about-hotel {
color: #BFBFBF;
font-size: 16px;
font-weight: 400;
line-height: 25px;
}

View File

@@ -1,29 +0,0 @@
<?php
/**
* 2010-2018 Webkul.
*
* NOTICE OF LICENSE
*
* All right is reserved,
* Please go through this link for complete license : https://store.webkul.com/license.html
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future. If you wish to customize this module for your
* needs please refer to https://store.webkul.com/customisation-guidelines/ for more information.
*
* @author Webkul IN <support@webkul.com>
* @copyright 2010-2018 Webkul IN
* @license https://store.webkul.com/license.html
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../../../');
exit;

View File

@@ -1,29 +0,0 @@
<?php
/**
* 2010-2018 Webkul.
*
* NOTICE OF LICENSE
*
* All right is reserved,
* Please go through this link for complete license : https://store.webkul.com/license.html
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future. If you wish to customize this module for your
* needs please refer to https://store.webkul.com/customisation-guidelines/ for more information.
*
* @author Webkul IN <support@webkul.com>
* @copyright 2010-2018 Webkul IN
* @license https://store.webkul.com/license.html
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../../../');
exit;

View File

@@ -1,30 +0,0 @@
{*
* 2010-2018 Webkul.
*
* NOTICE OF LICENSE
*
* All right is reserved,
* Please go through this link for complete license : https://store.webkul.com/license.html
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future. If you wish to customize this module for your
* needs please refer to https://store.webkul.com/customisation-guidelines/ for more information.
*
* @author Webkul IN <support@webkul.com>
* @copyright 2010-2018 Webkul IN
* @license https://store.webkul.com/license.html
*}
<div class="row">
<section class="col-xs-12 col-sm-12">
<div class="row margin-lr-0 footer-section-heading">
<p>{l s='About' mod='wkfooteraboutblock'}</p>
<hr/>
</div>
<div class="row margin-lr-0 footer-about-hotel">
<p>{$WK_HTL_SHORT_DESC|truncate:220:'':true|escape:'html':'UTF-8'}</p>
</div>
</section>
</div>

View File

@@ -1,29 +0,0 @@
<?php
/**
* 2010-2018 Webkul.
*
* NOTICE OF LICENSE
*
* All right is reserved,
* Please go through this link for complete license : https://store.webkul.com/license.html
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future. If you wish to customize this module for your
* needs please refer to https://store.webkul.com/customisation-guidelines/ for more information.
*
* @author Webkul IN <support@webkul.com>
* @copyright 2010-2018 Webkul IN
* @license https://store.webkul.com/license.html
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../../../');
exit;

View File

@@ -1,62 +0,0 @@
<?php
/**
* 2010-2018 Webkul.
*
* NOTICE OF LICENSE
*
* All right is reserved,
* Please go through this link for complete license : https://store.webkul.com/license.html
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to newer
* versions in the future. If you wish to customize this module for your
* needs please refer to https://store.webkul.com/customisation-guidelines/ for more information.
*
* @author Webkul IN <support@webkul.com>
* @copyright 2010-2018 Webkul IN
* @license https://store.webkul.com/license.html
*/
if (!defined('_PS_VERSION_')) {
exit;
}
class WkFooterAboutBlock extends Module
{
public function __construct()
{
$this->name = 'wkfooteraboutblock';
$this->tab = 'front_office_features';
$this->version = '1.0.4';
$this->author = 'Webkul';
$this->need_instance = 0;
$this->bootstrap = true;
parent::__construct();
$this->displayName = $this->l('Footer About Hotel Block');
$this->description = $this->l('Show About Hotel block in footer.');
$this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_);
}
public function hookDisplayFooterMostLeftBlock($params)
{
$this->context->smarty->assign(
array('WK_HTL_SHORT_DESC' => Configuration::get('WK_HTL_SHORT_DESC', $this->context->language->id))
);
$this->context->controller->addCSS($this->_path.'/views/css/wkFooterAboutBlockFront.css');
return $this->display(__FILE__, 'wkFooterAboutBlock.tpl');
}
public function install()
{
if (!parent::install()
|| !$this->registerHook('displayFooterMostLeftBlock')
) {
return false;
}
return true;
}
}

View File

@@ -159,7 +159,7 @@
{hook h='displayBeforeHotelBranchInformation'}
{/block}
{block name='contact_form_hotel_branches'}
{if isset($hotelsInfo) && $hotelsInfo}
{if isset($displayHotels) && $displayHotels && isset($hotelsInfo) && $hotelsInfo}
<div class="row hotels-container">
<div class="col-sm-12 hotel-header">
<span>{l s='Our Hotels'}</span>
@@ -200,8 +200,8 @@
{hook h='displayAfterHotelBranchInformation'}
{/block}
{block name='contact_form_hotel_locations'}
{if isset($hotelLocationArray)}
<div class="row">
{if isset($displayHotelMap) && $displayHotelMap && isset($hotelLocationArray)}
<div class="row {if !(isset($displayHotels) && $displayHotels && isset($hotelsInfo) && $hotelsInfo)} margin-top-30{/if}">
<div class="col-xs-12 col-sm-12" id="googleMapWrapper">
<div id="map"></div>
</div>

View File

@@ -274,3 +274,9 @@
outline: none;
color: #427fed;
}
.margin-bottom-30 {
margin-bottom: 30px;
}
.margin-top-30 {
margin-top: 30px;
}

View File

@@ -37,6 +37,11 @@
#user_info_acc span.caret {
border-top-color: #fff; }
div.our_hotel_tab a{
color: #fff;
font-size: 17px;
font-weight: 400;}
@media (max-width: 450px) {
.hide_xs {
display: none; }

View File

@@ -0,0 +1,286 @@
/**
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License version 3.0
* that is bundled with this package in the file LICENSE.md
* It is also available through the world-wide-web at this URL:
* https://opensource.org/license/osl-3-0-php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to support@qloapps.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to a newer
* versions in the future. If you wish to customize this module for your needs
* please refer to https://store.webkul.com/customisation-guidelines for more information.
*
* @author Webkul IN
* @copyright Since 2010 Webkul
* @license https://opensource.org/license/osl-3-0-php Open Software License version 3.0
*/
.margin-top-50 {
margin-top: 50px;
}
.margin-bottom-30 {
margin-bottom: 30px;
}
.margin-bottom-20 {
margin-bottom: 20px;
}
.margin-top-20 {
margin-top: 20px;
}
.htl-contact-page {
padding: 10px;
}
.page-heading {
font-size: 32px;
}
.empty-properties-container{
margin: 30px;
}
.htl-contact-page .contact-header {
font-size: 42px;
color: rgba(0, 0, 0, 1);
text-align: center;
font-weight: 300;
margin-bottom: 20px;
}
.htl-contact-page .contact-desc {
font-size: 16px;
color: rgba(0, 0, 0, 1);
text-align: center;
font-weight: 300;
margin-bottom: 20px;
line-height: 30px;
}
.htl-contact-page .contact-form-box {
padding: 30px;
border-radius: 4px;
box-shadow: 2px 2px 15px 3px rgba(0,0,0,.1);
}
.htl-contact-page .contact-form-box .control-label {
font-size: 14px;
color: rgba(0, 0, 0, 1);
font-weight: 400;
}
.htl-contact-page .contact-form-box .form-control, .htl-contact-page .uploader span.filename {
border: 1px solid rgba(0, 0, 0, 1);
font-size: 14px;
color: rgba(0, 0, 0, 1);
font-weight: 400;
}
.htl-contact-page .uploader span.filename {
font-size: 12px;
}
.htl-contact-page .contact-form-box #contact_type {
width: 90%;
text-align: left;
}
.title-container {
margin-left: 150px;
margin-right: 150px;
color: #333333;}
.htl-contact-page .contact_type_ul {
font-size: 14px;
font-weight: 400;
top: 45px;
padding: 0px;
width: 100%;
border-bottom: 1px solid rgba(0, 0, 0, 1);
border-left: 1px solid rgba(0, 0, 0, 1);
border-right: 1px solid rgba(0, 0, 0, 1);
max-height: 145px;
overflow-y: auto;
}
.htl-contact-page .contact_type_ul li {
cursor: default;
font-size: 14px;
color: rgba(0, 0, 0, 1);
font-weight: 400;
padding: 11px;
}
.htl-contact-page .contact_type_ul li:hover, .htl-contact-page .contact_type_ul li:focus, .htl-contact-page .contact_type_ul li:active {
background-color: #379bf0;
color: #FFFFFF;
}
.htl-contact-page .contact_btn {
font-size: 14px;
color: rgba(255, 255, 255, 1);
font-weight: 600;
text-transform: uppercase;
border-radius: 4px;
padding: 0 20px;
}
.htl-contact-page .global-address-header {
font-weight: 400;
font-size: 12px;
color: rgba(0, 0, 0, .6);
text-transform: uppercase;
margin-bottom: 5px;
}
.htl-contact-page .global-address-value {
font-weight: 400;
font-size: 14px;
margin-bottom: 10px;
color: rgba(0, 0, 0, 1);
line-height: 22px;
}
.htl-contact-page .htl-global-address-div {
padding: 20px;
border-radius: 4px;
margin-bottom: 10px;
box-shadow: 2px 2px 15px 3px rgba(0,0,0,.1);
}
@media screen and (min-width: 767px) {
.htl-contact-page .htl-global-address-div {
margin-top: 60px;
}
}
.htl-contact-page .hotels-container {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
.hotels-container .hotel-header {
margin-bottom: 40px;
text-align: center;
}
.hotels-container .hotel-header>span {
font-size: 30px;
font-weight: 400;
color: rgba(0, 0, 0, 1);
border-bottom: 1px solid rgba(0, 0, 0, 1);
}
.htl-contact-page span.action {
background:#379bf0!important;
}
.htl-contact-page .hotel-address-container {
border-radius: 4px;
box-shadow: 2px 2px 15px 3px rgba(0,0,0,.1);
float: left;
padding: 15px 0px;
width: 100%;
}
.htl-contact-page .hotel-city-container>span {
font-size: 20px;
font-weight: 400;
color: rgba(0, 0, 0, 1);
}
.hotel-address-container .hotel-name {
font-size: 18px;
font-weight: 400;
color: rgba(0, 0, 0, 1);
margin-bottom: 15px;
}
.hotel-address-container span.htl-address-icon {
background-image: url(../../../modules/hotelreservationsystem/views/img/Slices/icon-contact.png);
}
.hotel-address-container img.htl-img {
border-radius: 6px;
}
.empty-properties-image-container {
background-image: url(../../../modules/hotelreservationsystem/views/img/Slices/no-hotel.png) ;
background-repeat:no-repeat;
background-position: center center;
padding: 200px 0px 10px 0px;
display: block;
}
.hotel-address-container span.htl-phone-icon {
background-image: url(../../../modules/hotelreservationsystem/views/img/Slices/icon-contact.png);
padding: 1px 15px 0px 2px;
background-position: 37px;
margin-right: 5px;
font-size: 14px;
}
.hotel-address-container span.htl-email-icon {
padding: 1px 10px 1px;
background-position: 19px;
margin-right: 5px;
}
.htl-contact-page .hotel-city-container {
margin-bottom: 10px;
}
span.htl-map-icon {
background-image: url(../../../modules/hotelreservationsystem/views/img/Slices/icon-contact.png);
padding: 1px 20px 0px 0px;
background-position: 0px 0px;
margin-right: 5px;
font-size: 14px;
}
.view_rooms_btn, .htl-map-direction-btn {
border-radius: 4px;
padding: 10px 12px;
text-transform: uppercase;
}
.htl-map-direction-btn{
background-color: #DEDEDE;
color: #333333;
}
.view_rooms_btn {
background-color: #1292FF;
border-color: #1292FF;
font-weight: 600;
}
.view_rooms_btn:hover {
background-color: #3c89cb;
border-color: #3a75a7;
}
.pagination-container {
text-align: center;
}
.hotel-branch-info-actions{
display: flex;
gap: 10px;
}
.pagination-container .pagination > li > a, .pagination-container .pagination > li > span {
border: unset;
}
.pagination-container .pagination > li .active {
border: 1px solid #333333;
border-radius: 12px;
z-index: 10;
}
.hotel-address-container p.hotel-branch-info-value {
font-size: 14px;
color: rgba(0, 0, 0, 1);
font-weight: 400;
line-height: 25px;
}
.hotel-address-container .htl-map-direction-btn span {
font-size: 12px;
color: rgba(0, 0, 0, 1);
font-weight: 400;
}
/* ==== google map ==== */
#googleMapWrapper {
clear: both;
height: 500px;
}
#map {
width: 100%;
height: 100%;
}
#map .view-link {
padding-top: 4px;
}
.gm-btn-get-directions {
text-decoration: none;
color: #427fed;
font-weight: bold;
}
.gm-btn-get-directions:hover {
text-decoration: underline;
color: #427fed;
}
.gm-btn-get-directions:focus {
outline: none;
color: #427fed;
}

View File

@@ -0,0 +1,85 @@
/**
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License version 3.0
* that is bundled with this package in the file LICENSE.md
* It is also available through the world-wide-web at this URL:
* https://opensource.org/license/osl-3-0-php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to support@qloapps.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to a newer
* versions in the future. If you wish to customize this module for your needs
* please refer to https://store.webkul.com/customisation-guidelines for more information.
*
* @author Webkul IN
* @copyright Since 2010 Webkul
* @license https://opensource.org/license/osl-3-0-php Open Software License version 3.0
*/
$(document).ready(function() {
//By Webkul JS for Map locations of the hotels on google Map
if (typeof hotelLocationArray != 'undefined'
&& $('#map').length
&& typeof google == 'object'
&& typeof google.maps == 'object'
) {
initMap();
}
});
function initMap() {
var map;
var bounds = new google.maps.LatLngBounds();
hotelLocationArray = JSON.parse(hotelLocationArray);
// Display a map on the page
map = new google.maps.Map(document.getElementById("map"));
google.maps.event.trigger(map, 'resize');
map.setTilt(45);
// Display multiple markers on a map
var infoWindow = new google.maps.InfoWindow();
var marker;
var i;
$.each(hotelLocationArray, function(i, location) {
var position = new google.maps.LatLng(location.latitude, location.longitude);
bounds.extend(position);
marker = new google.maps.Marker({
position: position,
map: map,
title: location.hotel_name,
animation: google.maps.Animation.DROP,
icon: PS_STORES_ICON
});
// Allow each marker to have an info window
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
var directionsLink = 'https://www.google.com/maps/dir/?api=1&destination='+
location.latitude+','+location.longitude;
var content = '<div><strong>'+location.hotel_name+'</strong></div>'+
location.map_formated_address+
'<div class="view-link"><a class="gm-btn-get-directions" href="'+
directionsLink+'" target="_blank" tabindex="-1"><span>'+contact_map_get_dirs+'</span></a></div>';
infoWindow.setContent(content);
infoWindow.open(map, marker);
}
})(marker, i));
// Automatically center the map fitting all markers on the screen
map.fitBounds(bounds);
});
// Override our map zoom level once our fitBounds function runs (Make sure it only runs once)
var boundsListener = google.maps.event.addListener((map), 'bounds_changed', function(event) {
// this.setZoom(8);
google.maps.event.removeListener(boundsListener);
});
}

View File

@@ -31,21 +31,26 @@
</button>
<ul class="dropdown-menu" aria-labelledby="user_info_acc">
<li><a href="{$link->getPageLink('my-account', true)|escape:'html'}" title="{l s='View my customer account' mod='blockuserinfo'}">{l s='Accounts' mod='blockuserinfo'}</a></li>
<li><a href="{$link->getPageLink('history', true)|escape:'html'}" title="{l s='View my orders' mod='blockuserinfo'}">{l s='Orders'}</a></li>
<li><a href="{$link->getPageLink('history', true)|escape:'html'}" title="{l s='Bookings' mod='blockuserinfo'}">{l s='Bookings' mod='blockuserinfo'}</a></li>
<li><a href="{$link->getPageLink('index', true, NULL, "mylogout")|escape:'html'}" title="{l s='Log me out' mod='blockuserinfo'}">{l s='Logout'}</a></li>
{block name='displayUserNavigationList'}
{hook h='displayUserNavigationList'}
{/block}
</ul>
</li>
{else}
<a class="header-top-link" href="{$link->getPageLink('my-account', true)|escape:'html'}" rel="nofollow" title="{l s='Log in to your customer account' mod='blockuserinfo'}">
<span class="hide_xs">{l s='Sign in' mod='blockuserinfo'}</span>
<span class="visi_xs"><i class="icon-user"></i></span>
</a>
</ul>
{else}
<a class="header-top-link" href="{$link->getPageLink('my-account', true)|escape:'html'}" rel="nofollow" title="{l s='Log in to your customer account' mod='blockuserinfo'}">
<span class="hide_xs">{l s='Sign in' mod='blockuserinfo'}</span>
<span class="visi_xs"><i class="icon-user"></i></span>
</a>
{/if}
{if !isset($ajaxCustomerLogin)}
</div>
{if isset($WK_DISPLAY_OUR_HOTEL_TAB_IN_HEADER) && $WK_DISPLAY_OUR_HOTEL_TAB_IN_HEADER}
<div class="our_hotel_tab hidden-xs">
<a href="{$link->getPageLink('properties')}" >{l s='Our Hotels'}</a>
</div>
{/if}
{/if}
{/block}

View File

@@ -0,0 +1,128 @@
{*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License version 3.0
* that is bundled with this package in the file LICENSE.md
* It is also available through the world-wide-web at this URL:
* https://opensource.org/license/osl-3-0-php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to support@qloapps.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade this module to a newer
* versions in the future. If you wish to customize this module for your needs
* please refer to https://store.webkul.com/customisation-guidelines for more information.
*
* @author Webkul IN
* @copyright Since 2010 Webkul
* @license https://opensource.org/license/osl-3-0-php Open Software License version 3.0
*}
{block name='our_properties'}
{capture name=path}{l s='Our Properties'}{/capture}
{if isset($hotelsInfo) && $hotelsInfo}
{block name='our_properties_list_title'}
<div class="title-container">
<h1 class="text-center">{l s='Our Hotels'}</h1>
<div class="text-center">
<p>{$WK_HTL_SHORT_DESC|escape:'html':'UTF-8'}</p>
</div>
</div>
{/block}
{block name='displayPropertiesLocationBefore'}
{hook h='displayPropertiesLocationBefore'}
{/block}
{block name='our_properties_location'}
{if isset($hotelLocationArray) && $hotelLocationArray && isset($displayHotelMap) && $displayHotelMap}
<div class="margin-top-20 margin-bottom-20">
<div class="col-xs-12 col-sm-12" id="googleMapWrapper">
<div id="map"></div>
</div>
</div>
{/if}
<div style="clear:both;"></div>
{/block}
{block name='displayPropertiesLocationAfter'}
{hook h='displayPropertiesLocationAfter'}
{/block}
{block name='displayPropertiesListBefore'}
{hook h='displayPropertiesListBefore'}
{/block}
<div class="htl-contact-page">
{block name='our_properties_list'}
<div class="row hotels-container">
{foreach $hotelsInfo as $hotel}
<div class="{if $hotelsInfo|count != 1}col-md-6{else}col-md-6 col-md-offset-3{/if} margin-bottom-30">
<div class="hotel-address-container">
<div class="col-xs-5">
<img class="htl-img" style="width:100%" src="{$hotel['image_url']}">
</div>
<div class="col-xs-7">
<p class="hotel-name"><span>{$hotel['hotel_name']}</span></p>
<p class="hotel-branch-info-value"><span class="htl-map-icon"></span>{$hotel['address']}, {$hotel['city']}, {if {$hotel['state_name']}}{$hotel['state_name']},{/if} {$hotel['country_name']}, {$hotel['postcode']}</p>
<p class="hotel-branch-info-value">
<span class="htl-address-icon htl-phone-icon"></span>{$hotel['phone']}
</p>
<p class="hotel-branch-info-value">
<span class="htl-address-icon htl-email-icon"></span>{$hotel['email']}
</p>
<div class="hotel-branch-info-actions">
<a href="{$hotel['view_rooms_link']}" target="_blank" class="btn btn-primary view_rooms_btn col-xs-6">{l s='View Rooms'}</a>
{if ($hotel['latitude'] != 0 || $hotel['longitude'] != 0) && $viewOnMap}
<a class="btn htl-map-direction-btn col-xs-6" href="http://maps.google.com/maps?daddr=({$hotel['latitude']},{$hotel['longitude']})" target="_blank">{l s='View on map'}</a>
{/if}
</div>
</div>
</div>
</div>
{/foreach}
</div>
{/block}
{block name='displayPropertiesListAfter'}
{hook h='displayPropertiesListAfter'}
{/block}
{if (isset($pageLimit)) && $pageLimit > 1}
<form id="our-hotel-list" method="post" action="{$currentPageUrl}">
<input type="hidden" value="" name="pagination" id="pagination"/>
</form>
<div class="row pagination-container">
<ul class="pagination">
{if !isset($pagination[1])}
<li><a href="{$currentIndex}" data-pagination="1">1</a></li>
{if !isset($pagination[2])}
<li><span disabled>...</span></li>
{/if}
{/if}
{foreach $pagination as $page}
<li><a href="{$currentIndex}" data-pagination="{$page}" {if $page == $currentPage}class="active"{/if}>{$page}</a></li>
{/foreach}
{if !isset($pagination[$pageLimit])}
{if !isset($pagination[$pageLimit-1])}
<li><span disabled>...</span></li>
{/if}
<li><a href="{$currentIndex}" data-pagination="{$pageLimit}">{$pageLimit}</a></li>
{/if}
</ul>
</div>
{/if}
</div>
{else}
<div class="text-center empty-properties-container">
<div class="row">
<div class="empty-properties-image-container"></div>
</div>
<div class="row">
<h2>{l s='No Hotel Found!!'}</h2>
</div>
</div>
{/if}
{/block}