<?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;

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

use T4\Helper\J3J4;
$app = Factory::getApplication();
HTMLHelper::addIncludePath(JPATH_COMPONENT.'/helpers');
$helper = $displayData['helper'];
$this->params = $displayData['options'];
$this->item = $displayData['data'];
$this->print = $app->input->getBool('print');

// 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);

// Check if associations are implemented. If they are, define the parameter.
$assocParam = (Associations::isEnabled() && $params->get('show_associations'));

// Add Share Article
$doc = Factory::getDocument();
$fblog = '<meta property="og:type" content="article" />'."\n";
$fblog .= '<link rel="image_src" content="'.Uri::base().$images->image_fulltext.'" />'."\n";
$fblog = '<meta property="og:title" content="'.$this->escape($this->item->title).'">';
$fblog .= '<meta property="og:image" content="'.Uri::base().$images->image_fulltext.'">';
if($this->item->tags->itemTags != null){
    $this->item->rawtagLayout = new FileLayout('joomla.content.rawtags');
    $fblog .= '<meta property="article:tag" content="'.$this->item->rawtagLayout->render($this->item->tags->itemTags).'" />'."\n";
}
$doc->addCustomTag($fblog);

// Custom Fields
$imageRatio = $this->params->get('intro_ratio');
$catType 		= $this->params->get('category_type');
$artAlign 	= $this->params->get('article_align');
$shareTool 	= $this->params->get('show_sharing_tools');

// Get contentype
$attribs = new Registry ($this->item->attribs);
$content_type = $attribs->get('ctm_content_type', 'article'); 

?>

<div class="com-content-article default-5 item-page <?php if($shareTool) echo 'has-sharing' ;?>">	
	<div class="article-lead">
		<meta itemprop="inLanguage" content="<?php echo ($this->item->language === '*') ? Factory::getApplication()->get('language') : $this->item->language; ?>">

		<?php if($params->get('show_category')) :?>
			<div class="category badge-<?php echo $catType ;?>">
		    <?php if ($params->get('link_category') && $this->item->catid) : ?>
		      <?php echo HTMLHelper::_('link', Route::_(ContentHelperRoute::getCategoryRoute($this->item->catid)), '<span itemprop="genre">'.$this->escape($this->item->category_title).'</span>'); ?>
		    <?php else : ?>
		      <span itemprop="genre"><?php echo $this->escape($this->item->category_title) ?></span>
		    <?php endif; ?>
		  </div>
		<?php endif ;?>

		<?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 $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 (!$useDefList && $this->print) : ?>
			<div id="pop-print" class="btn hidden-print clearfix">
				<?php echo HTMLHelper::_('icon.print_screen', $this->item, $params); ?>
			</div>
		<?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; ?>

		<!-- Article Title -->
		<?php if ($params->get('show_title') || $params->get('show_author')) : ?>
		<div class="article-title">
			<?php if ($params->get('show_title')) : ?>
				<h1 itemprop="headline">
					<?php echo $this->escape($this->item->title); ?>
				</h1>
			<?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 if (strtotime($this->item->publish_up) > strtotime(Factory::getDate())) : ?>
				<span class="badge badge-warning"><?php echo Text::_('JNOTPUBLISHEDYET'); ?></span>
			<?php endif; ?>

			<?php if ($this->item->publish_down && (strtotime($this->item->publish_down) < 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; ?>
		<!-- // Article Title -->

		<!-- Meta Bottom -->
		<?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; ?>
		<!--  // Meta Bottom -->

		<!-- Meta Top -->
		<?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; ?>
		<!-- Meta Top -->

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


		<?php if($params->get('show_intro') && $this->item->introtext) :?>
			<!-- Text Intro -->
			<div class="intro-text">
				<?php echo HTMLHelper::_('content.prepare', $this->item->introtext); ?>
			</div>
			<!-- Text Intro -->
		<?php endif ;?>

		<?php if ($info == 0 && $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 (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 $helper->render('details/default_links.php',$this); ?>
		<?php endif; ?>
	</div>

	<div class="full-width">
		<!-- Media Show -->
		<?php if ($params->get('access-view')) : ?>
			<?php echo LayoutHelper::render('joomla.content.full_image', $this->item); ?>
		<?php endif ;?>
		<!-- // Media Show -->
	</div>

	<div class="row has-sidebar">
		<div class="content-article col-sm-12 col-md-12 col-lg-8">
			<?php if ($params->get('access-view')) : ?>
				<?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 if($shareTool) : ?>
				<div class="sharing-tool">
					<!-- Go to www.addthis.com/dashboard to customize your tools -->
					<div class="addthis_inline_share_toolbox_rswu"></div>
				</div>
			<?php endif ;?>

			<div itemprop="articleBody" class="com-content-article__body <?php if($shareTool) echo 'has-sharing' ;?>">
				

				<?php echo HTMLHelper::_('content.prepare', $this->item->text); ?>

				<?php if($content_type=='gallery') :?>
					<?php echo LayoutHelper::render('joomla.content.gallery_play', $this->item); ?>
				<?php endif ;?>

				<div class="read-more">
					<?php echo HTMLHelper::_('content.prepare', '{loadposition read-more,default}'); ?>
			    </div>
			</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 $helper->render('details/default_links.php',$this); ?>
			<?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>

		<div class="sidebar-right col-sm-12 col-md-12 col-lg-4 mt-5 mt-lg-0">
			<?php 
				$name_position = $helper->get ('load_position',"sidebar-r",'jadetail');
				echo HTMLHelper::_('content.prepare', '{loadposition '.$name_position.',default}'); 
			?>
		</div>
	</div>
</div>
