<?php 
//namespace modules\mod_jchat_messaging
/**
 * @package JCHAT::modules
 * @subpackage mod_jchat_messaging
 * @author Joomla! Extensions Store
 * @copyright (C) 2013 - 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 );