| Current Path : /var/www/html/modules/mod_jchat_messaging/ |
| Current File : /var/www/html/modules/mod_jchat_messaging/mod_jchat_messaging.php |
<?php
//namespace modules\mod_jchat_messaging
/**
* @package JCHAT::modules
* @subpackage mod_jchat_messaging
* @author Joomla! Extensions Store
* @copyright (C) 2024 - Joomla! Extensions Store
* @license GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html
*/
defined ( '_JEXEC' ) or die ();
use Joomla\CMS\Helper\ModuleHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\Component\ComponentHelper;
use JExtstore\Component\JChat\Administrator\Framework\Helpers\Users as JChatHelpersUsers;
use JExtStore\Module\JchatMessaging\Site\Helper\JchatMessagingHelper;
$user = Factory::getApplication ()->getIdentity();
if(!$user->id) {
return;
}
// Load component translations
$jLang = Factory::getApplication()->getLanguage ();
$jLang->load ( 'com_jchat', JPATH_ROOT . '/components/com_jchat', 'en-GB', true, true );
if ($jLang->getTag () != 'en-GB') {
$jLang->load ( 'com_jchat', JPATH_SITE, null, true, false );
$jLang->load ( 'com_jchat', JPATH_ROOT . '/components/com_jchat', null, true, false );
}
// Get component params
$cParams = ComponentHelper::getParams('com_jchat');
// Include component model
require_once JPATH_ADMINISTRATOR . '/components/com_jchat/Framework/Exception/Exception.php';
require_once JPATH_ADMINISTRATOR . '/components/com_jchat/Framework/Model/Model.php';
require_once JPATH_ADMINISTRATOR . '/components/com_jchat/Framework/Helpers/Users.php';
// Instantiate model
$app = Factory::getApplication();
$userSessionTable = JChatHelpersUsers::getSessiontable ();
$streamModel = $app->bootComponent('com_jchat')->getMVCFactory()->createModel('Stream', 'Site', array (
'sessiontable' => $userSessionTable
));
$messagingModel = $app->bootComponent('com_jchat')->getMVCFactory()->createModel('Messaging', 'Site', array (
'streamModel' => $streamModel
));
$totalPmMessages = 0;
$pmData = JchatMessagingHelper::getData($cParams, $messagingModel);
if(is_array($pmData) && count($pmData)) {
foreach ($pmData as $pmUserMessage) {
$totalPmMessages += $pmUserMessage['newmessages'];
}
}
$layout = $params->get ( 'layout', 'default' );
// Add stylesheet
$doc = Factory::getApplication()->getDocument();
$doc->getWebAssetManager()->registerAndUseStyle ( 'jchat.messaging.style', 'modules/mod_jchat_messaging/assets/style.css');
$chatTemplate = $cParams->get('chat_template', 'default.css');
switch ($chatTemplate) {
case 'black.css':
$doc->getWebAssetManager()->addInlineStyle('#jes_mod_jchatpm .list-group-item.title{background-color: #333}');
break;
case 'electric.css':
$doc->getWebAssetManager()->addInlineStyle('#jes_mod_jchatpm .list-group-item.title{background-color: rgb(212, 117, 83)}');
break;
case 'fire.css':
$doc->getWebAssetManager()->addInlineStyle('#jes_mod_jchatpm .list-group-item.title{background-color: #B44949}');
break;
case 'girls.css':
$doc->getWebAssetManager()->addInlineStyle('#jes_mod_jchatpm .list-group-item.title{background-color: #ef8ea2}');
break;
case 'gold.css':
$doc->getWebAssetManager()->addInlineStyle('#jes_mod_jchatpm .list-group-item.title{background-color: #8c6239}');
break;
case 'livesupport.css':
$doc->getWebAssetManager()->addInlineStyle('#jes_mod_jchatpm .list-group-item.title{background-color: #0858C2}');
break;
case 'livesupportchatbot.css':
$doc->getWebAssetManager()->addInlineStyle('#jes_mod_jchatpm .list-group-item.title{background-color: #3B5998}');
break;
case 'mobile.css':
$doc->getWebAssetManager()->addInlineStyle('#jes_mod_jchatpm .list-group-item.title{background-color: #627bae}');
break;
case 'nature.css':
$doc->getWebAssetManager()->addInlineStyle('#jes_mod_jchatpm .list-group-item.title{background-color: #00C504}');
break;
}
if($cParams->get('chat_color_override', null)) {
$doc->getWebAssetManager()->addInlineStyle('#jes_mod_jchatpm .list-group-item.title{background-color: ' . $cParams->get('chat_color_override') . '}');
}
require ModuleHelper::getLayoutPath ( 'mod_jchat_messaging', $layout );