# vikbooking/1.8.11/modules/mod_vikbooking_chat/mod_vikbooking_chat.php

VikBooking Hotel Booking Engine &amp; PMS, version 1.8.11. 70 lines.

- Page: https://pluginprobe.com/plugins/vikbooking/1.8.11/code/modules/mod_vikbooking_chat/mod_vikbooking_chat.php
- Raw: https://pluginprobe.com/plugins/vikbooking/1.8.11/raw/modules/mod_vikbooking_chat/mod_vikbooking_chat.php
- Modified: 2026-06-03T11:02:10+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/vikbooking/1.8.11/code/modules/mod_vikbooking_chat/mod_vikbooking_chat.php#L10-L20`.

```php
<?php
/**
 * @package     VikBooking
 * @subpackage  mod_vikbooking_chat
 * @author      E4J s.r.l
 * @copyright   Copyright (C) 2026 E4J s.r.l. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE
 * @link        https://vikwp.com
 */

// no direct access
defined('ABSPATH') or die('No script kiddies please!');

$app = JFactory::getApplication();
$document = JFactory::getDocument();

if ($app->input->get('option') === 'com_vikbooking' && $app->input->get('view') === 'chat') {
    // do not display the module if we are inside a chat view
    return;
}

require_once VBO_SITE_PATH . DIRECTORY_SEPARATOR . 'helpers' . DIRECTORY_SEPARATOR . 'lib.vikbooking.php';

$document->addStyleSheet(VBO_SITE_URI . 'vikbooking_styles.css', ['version' => VIKBOOKING_SOFTWARE_VERSION]);
VikBooking::loadPreferredColorStyles();
VikBooking::loadFontAwesome();

$options = [
    'version' => '1.0',
];

JHtml::fetch('script', VBO_MODULES_URI . 'modules/mod_vikbooking_chat/assets/script.js', $options);
JHtml::fetch('stylesheet', VBO_MODULES_URI . 'modules/mod_vikbooking_chat/assets/style.css', $options);

// security measure: register a new CSRF token to avoid spammers
JHtml::fetch('vbohtml.scripts.ajaxcsrf');

$document->addStyleDeclaration(
<<<CSS
.vbo-chat-session-widget {
    --vbo-chat-widget-btn-background: {$params->get('background')};
    --vbo-chat-widget-btn-color: {$params->get('color')};
}
CSS
);

// get widget id
$moduleId = $module->id ?? rand(1, 999);

// get session from cookie
$session = (new VBOChatSessionModel)->getFromCookie();

$faqs = [];

// prepare FAQs
for ($i = 1; $i <= 3; $i++) {
    $short = $params->get('faq_' . $i . '_short');
    $long = $params->get('faq_' . $i . '_long');

    if ($short && $long) {
        $faqs[] = (object) [
            'summary' => $short,
            'question' => $long,
        ];
    }
}

// load preferred layout
require JModuleHelper::getLayoutPath('mod_vikbooking_chat', $params->get('layout', 'default'));

```
