<?php
/**
T4 Overide
 */

defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Associations;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\FileLayout;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Uri\Uri;
use Joomla\Registry\Registry;
use Joomla\CMS\Helper\ModuleHelper;

//use Joomla\Component\Content\Administrator\Extension\ContentComponent;
use T4\Helper\J3J4;
if(!class_exists('ContentHelperRoute')){
	if(version_compare(JVERSION, '4', 'ge')){
		abstract class ContentHelperRoute extends \Joomla\Component\Content\Site\Helper\RouteHelper{};
	}else{
		JLoader::register('ContentHelperRoute', $com_path . '/helpers/route.php');
	}
}

HTMLHelper::addIncludePath(JPATH_COMPONENT . '/helpers');

// Create shortcuts to some parameters.
$params  = $this->item->params;
$images  = json_decode($this->item->images);
$urls    = json_decode($this->item->urls);
$canEdit = $params->get('access-edit');
$user    = Factory::getUser();
$info    = $params->get('info_block_position', 0);
$og_iamge = $images->image_intro ?: $images->image_fulltext;
// Check if associations are implemented. If they are, define the parameter.
$assocParam = (Associations::isEnabled() && $params->get('show_associations'));


//$topInfo = ($aInfo1 && $info != 1) || ($aInfo2 && $info == 0);
//$botInfo = ($aInfo1 && $info == 1) || ($aInfo2 && $info != 0);
$icons = !empty($this->print) || $canEdit || $params->get('show_print_icon') || $params->get('show_email_icon');

$doc = Factory::getDocument();

$imagesBg = $images->image_fulltext 
	? $images->image_fulltext 
	: Uri::base(true) .'/images/joomlart/others/pic-1.jpg';

$app = Factory::getApplication();
$menu = $app->getMenu()->getActive();
$modules = ModuleHelper::getModules('masthead');
$modules = array_filter($modules, function($m) {
	return $m->module === 'mod_jamasthead';
});

if ($menu 
    && $menu->link === 'index.php?option=com_content&view=article&id=' . $this->item->id
    && $modules) {
    $module = array_shift($modules);
    $moduleParams = new Registry($module->params);
    $menuitemConfig = $moduleParams->get('menuitem_config');

    if (isset($menuitemConfig->item_id) && is_array($menuitemConfig->item_id)) {
        $item_id = $menuitemConfig->item_id;
        $background = isset($menuitemConfig->background) ? $menuitemConfig->background : [];

        foreach ($item_id as $key => $value) {
            if (in_array($menu->id, $value)) {
                if (!empty($background[$key])) {
                    $imagesBg = $background[$key];
                }
            }
        }
    }
}


$doc = Factory::getDocument();
$data = array(
	'item' => $this->item, 
	'params' => $params, 
	'imageBg' => $imagesBg,
	'topInfo'=>$info, 
	'icons' => $icons, 
	'view' => $this, 
	'event' => $this->item->event
);

// put heading to masthead
if ($doc->countModules('masthead') || !$this->print || $tmpl !== 'component') {
	$masthead = LayoutHelper::render('joomla.content.masthead', $data);
	$doc->setBuffer($masthead, array('type' => 'modules', 'name' => 'masthead', 'title' => ''));
}
?>
<div class="com-content-article item-page<?php echo $this->pageclass_sfx; ?>" itemscope itemtype="https://schema.org/Article">
	<meta itemprop="inLanguage" content="<?php echo ($this->item->language === '*') ? Factory::getApplication()->get('language') : $this->item->language; ?>">

	<?php $useDefList = ($params->get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_create_date')
		|| $params->get('show_hits') || $params->get('show_category') || $params->get('show_parent_category') || $params->get('show_author') || $assocParam); ?>

	<?php if($doc->countModules('masthead') == 0) {?>
		<?php if ($this->params->get('show_page_heading')) : ?>
		<div class="page-header">
			<h1> <?php echo $this->escape($this->params->get('page_heading')); ?> </h1>
		</div>
		<?php endif; ?>

		<?php if (!empty($this->item->pagination) && $this->item->pagination && !$this->item->paginationposition && $this->item->paginationrelative) {
			echo $this->item->pagination;
		}	?>

		<?php // Todo Not that elegant would be nice to group the params ?>

		<?php if ($params->get('show_title') || $params->get('show_author')) : ?>
		<div class="page-header">
			<?php if ($params->get('show_title')) : ?>
				<h2 itemprop="headline">
					<?php echo $this->escape($this->item->title); ?>
				</h2>
			<?php endif; ?>

			<?php // Content is generated by content plugin event "onContentAfterTitle" ?>
			<?php echo $this->item->event->afterDisplayTitle; ?>
		
			<?php if (J3J4::checkUnpublishedContent($this->item)) : ?>
				<span class="label label-warning"><?php echo Text::_('JUNPUBLISHED'); ?></span>
			<?php endif; ?>

			<?php
				$timePublishUp = $this->item->publish_up != null
					? strtotime($this->item->publish_up) : '';
				if ($timePublishUp > strtotime(Factory::getDate())) : ?>
				<span class="badge badge-warning"><?php echo Text::_('JNOTPUBLISHEDYET'); ?></span>
			<?php endif; ?>

			<?php
				$timePublishDown = $this->item->publish_down != null
					? strtotime($this->item->publish_down) : '';
				if ($this->item->publish_down && ($timePublishDown < strtotime(Factory::getDate())) && $this->item->publish_down != Factory::getDbo()->getNullDate()) : ?>
				<span class="badge badge-warning"><?php echo Text::_('JEXPIRED'); ?></span>
			<?php endif; ?>

		</div>
		<?php endif; ?>

		<div class="article-aside">

		<?php if ($useDefList && ($info == 0 || $info == 2)) : ?>
				<?php echo LayoutHelper::render('joomla.content.info_block', array('item' => $this->item, 'params' => $params, 'position' => 'above')); ?>
			<?php endif; ?>

		<?php if (!$this->print) : ?>
				<?php if ($canEdit || $params->get('show_print_icon') || $params->get('show_email_icon')) : ?>
					<?php echo LayoutHelper::render('joomla.content.icons', array('params' => $params, 'item' => $this->item, 'print' => false)); ?>
				<?php endif; ?>
			<?php else : ?>
				<?php if ($useDefList) : ?>
					<div id="pop-print" class="btn hidden-print">
						<?php echo HTMLHelper::_('icon.print_screen', $this->item, $params); ?>
					</div>
				<?php endif; ?>
			<?php endif; ?>

		</div>

		<?php // Content is generated by content plugin event "onContentBeforeDisplay" ?>
		<?php echo $this->item->event->beforeDisplayContent; ?>

		<?php if (isset($urls) && ((!empty($urls->urls_position) && ($urls->urls_position == '0')) || ($params->get('urls_position') == '0' && empty($urls->urls_position)))
			|| (empty($urls->urls_position) && (!$params->get('urls_position')))) : ?>
			<?php echo $this->loadTemplate('links'); ?>
		<?php endif; ?>

		<?php echo LayoutHelper::render('joomla.content.full_image', $this->item); ?>

		<?php if (!empty($this->item->pagination) && $this->item->pagination && !$this->item->paginationposition && !$this->item->paginationrelative) :
			echo $this->item->pagination;
		endif; ?>

		<?php if (isset ($this->item->toc)) : echo $this->item->toc; endif; ?>
	<?php } ?>
	<!-- End masthead -->

	<?php if (($info == 1 || $info == 2) && $params->get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?>
			<?php $this->item->tagLayout = new FileLayout('joomla.content.tags'); ?>
			<?php echo $this->item->tagLayout->render($this->item->tags->itemTags); ?>
		<?php endif; ?>

	<?php if ($params->get('access-view')) : ?>
		

	<div itemprop="articleBody" class="article-body">
		<?php echo $this->item->text; ?>
	</div>

	<?php if ($info == 1 || $info == 2 ) : ?>
		<?php if ($useDefList) : ?>
			<?php echo LayoutHelper::render('joomla.content.info_block', array('item' => $this->item, 'params' => $params, 'position' => 'below')); ?>
		<?php endif; ?>

		
	<?php endif; ?>

    <div class="area-footer">
		<div class="share-social">
			<div class="title-txt">
				<h6><?php echo Text::_('TPL_SHARE_ARTICLE'); ?></h6>
			</div>
			
			<div class="ja-share-button" services="facebook,twitter,linkedin" layout="default" ></div>
		</div>

		<?php if ($info == 0 ) : ?>
			<?php if ($params->get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?>
				<div class="area-tag">
					<div class="title-txt">
						<h6><?php echo Text::_('TPL_TAGS_IN'); ?></h6>
					</div>
					
					<?php $this->item->tagLayout = new FileLayout('joomla.content.tags'); ?>
					<?php echo $this->item->tagLayout->render($this->item->tags->itemTags); ?>
				</div>
			<?php endif; ?>
		<?php endif; ?>
	</div>

	<?php
		if (!empty($this->item->pagination) && $this->item->pagination && $this->item->paginationposition && !$this->item->paginationrelative) :
			echo $this->item->pagination;
		endif;
	?>

	<?php if (isset($urls) && ((!empty($urls->urls_position) && ($urls->urls_position == '1')) || ($params->get('urls_position') == '1'))) : ?>
		<?php echo $this->loadTemplate('links'); ?>
	<?php endif; ?>

	<?php // Optional teaser intro text for guests ?>
	<?php elseif ($params->get('show_noauth') == true && $user->get('guest')) : ?>
		<?php echo LayoutHelper::render('joomla.content.intro_image', $this->item); ?>
		<?php echo HTMLHelper::_('content.prepare', $this->item->introtext); ?>
		<?php // Optional link to let them register to see the whole article. ?>
	
		<?php if ($params->get('show_readmore') && $this->item->fulltext != null) : ?>
		<?php $menu = Factory::getApplication()->getMenu(); ?>
		<?php $active = $menu->getActive(); ?>
		<?php $itemId = $active->id; ?>
		<?php $link = new Uri(Route::_('index.php?option=com_users&view=login&Itemid=' . $itemId, false)); ?>
		<?php $link->setVar('return', base64_encode(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language))); ?>

		<p class="com-content-article__readmore readmore">
			<a href="<?php echo $link; ?>" class="register">
			<?php $attribs = json_decode($this->item->attribs); ?>
			<?php
			if ($attribs->alternative_readmore == null) :
				echo Text::_('COM_CONTENT_REGISTER_TO_READ_MORE');
			elseif ($readmore = $attribs->alternative_readmore) :
				echo $readmore;
				if ($params->get('show_readmore_title', 0) != 0) :
					echo HTMLHelper::_('string.truncate', $this->item->title, $params->get('readmore_limit'));
				endif;
			elseif ($params->get('show_readmore_title', 0) == 0) :
				echo Text::sprintf('COM_CONTENT_READ_MORE_TITLE');
			else :
				echo Text::_('COM_CONTENT_READ_MORE');
				echo HTMLHelper::_('string.truncate', $this->item->title, $params->get('readmore_limit'));
			endif; ?>
			</a>
		</p>
		<?php endif; ?>
	<?php endif; ?>

	<?php
		if (!empty($this->item->pagination) && $this->item->pagination && $this->item->paginationposition && $this->item->paginationrelative) :
			echo $this->item->pagination;
		endif;
	?>

	<?php // Content is generated by content plugin event "onContentAfterDisplay" ?>
	<?php echo $this->item->event->afterDisplayContent; ?>
</div>
