<?php
/**
 * @package     Joomla.Site
 * @subpackage  com_content
 *
 * @copyright   Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Language\Associations;
use Joomla\CMS\Layout\LayoutHelper;


require_once(__DIR__.'/../../../helper.php');

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

// T3 ovrride
HTMLHelper::addIncludePath(T3_PATH . '/html/com_content');
HTMLHelper::addIncludePath(dirname(dirname(__FILE__)));

// Create shortcuts to some parameters.
$params  = $this->item->params;
$images  = json_decode($this->item->images);

if (!empty($images->image_fulltext)) {
	$images->image_intro = '';
	$this->item->images = json_encode($images);
}

$urls    = json_decode($this->item->urls);
$canEdit = $params->get('access-edit');
$user    = Factory::getUser();
$info    = $params->get('info_block_position', 0);

$attribs = json_decode($this->item->attribs);
$content_type = $attribs->ctm_content_type;

// T3 ovrride.
$aInfo1 = ($params->get('show_publish_date') || $params->get('show_category') || $params->get('show_parent_category') || $params->get('show_author'));
$aInfo2 = ($params->get('show_create_date') || $params->get('show_modify_date') || $params->get('show_hits'));
$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');

$document = Factory::getDocument();
$jinput = Factory::getApplication()->input;
$tmpl = $jinput->get('tmpl');
$templateSettings = Factory::getApplication()->getTemplate(true)->params;

$imagesBg = $images->image_fulltext;

// Check if associations are implemented. If they are, define the parameter.
$assocParam = (Associations::isEnabled() && $params->get('show_associations'));
if(version_compare(JVERSION, '4', 'lt')) {
  HTMLHelper::_('behavior.caption');
}

// put heading to masthead
if ($document->countModules('masthead') || !$this->print || $tmpl !== 'component') {
	$masthead = LayoutHelper::render('joomla.content.masthead_property', array('params' => $this->params, 'title' => $this->escape($this->item->title), 'item' => $this->item, 'print' => $this->print, 'templateSettings' => $templateSettings, 'params' => $params, 'imageBg' => $imagesBg));

	$document->setBuffer($masthead, array('type' => 'modules', 'name' => 'masthead', 'title' => ''));
}
$filterID = $this->params->get('menu-filter');

$customs = JATemplateHelper::getCustomFields($this->item->id, 'article'); 
$latlong = explode(",", $customs['latlong']);

?>

<!-- Page header -->
<?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; ?>
<!-- // Page header -->

<div class="item-page item-property <?php echo $this->pageclass_sfx; ?>">
	<?php if (!empty($this->item->pagination) && $this->item->pagination && !$this->item->paginationposition && $this->item->paginationrelative) {
		echo $this->item->pagination;
	} ?>

	<!-- Article -->
	<article>
		<div class="row">
			<div class="col-md-8">
			  <meta itemscope itemprop="mainEntityOfPage"  itemType="https://schema.org/WebPage" itemid="https://google.com/article"/>
				<meta itemprop="inLanguage" content="<?php echo ($this->item->language === '*') ? Factory::getConfig()->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 || $icons); ?>


		  		<!-- Aside -->
				<?php if (($useDefList && ($info == 0 || $info == 2)) && ($document->countModules('masthead') == 0) || $this->print || $tmpl == 'component') : ?>
					<?php if ($params->get('access-view')) : ?>
						<?php echo LayoutHelper::render('joomla.content.intro_image', $this->item); ?>
					<?php endif; ?>
					
					<?php // Content is generated by content plugin event "onContentAfterTitle" ?>
					<?php echo $this->item->event->afterDisplayTitle; ?>

					<div class="wrap-content-header">
						<aside class="article-aside clearfix">
							<?php // Todo: for Joomla4 joomla.content.info_block.block can be changed to joomla.content.info_block ?>
							<?php echo LayoutHelper::render('joomla.content.info_block.detail_block', array('item' => $this->item, 'params' => $params, 'position' => 'above')); ?>

						  <?php if ($icons): ?>
						  <?php echo LayoutHelper::render('joomla.content.icons', array('item' => $this->item, 'params' => $params, 'print' => $this->print)); ?>
						  <?php endif; ?>
						</aside>

						<?php if ($params->get('show_title')) : ?>
							<?php echo LayoutHelper::render('joomla.content.item_title', array('item' => $this->item, 'params' => $params, 'title-tag'=>'h1')); ?>
						<?php endif; ?>
					</div>
				<?php endif; ?>
				<!-- // Aside -->

				<?php if ($params->get('access-view') && $content_type == 'gallery') : ?>
				<div class="full-image">
					<?php echo LayoutHelper::render('joomla.content.intro_image', $this->item); ?>
				</div>
				<?php endif; ?>

				<?php if (isset ($this->item->toc)) :
					echo $this->item->toc;
				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 $this->loadTemplate('links'); ?>
				<?php endif; ?>

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

					<section class="article-content clearfix" itemprop="articleBody">
						<?php echo $this->item->text; ?>
					</section>

					<!-- Footer -->
					<?php if ($info == 1 || $info == 2) : ?>
						<?php if ($useDefList) : ?>
							<footer class="article-footer clearfix">
								<?php if ($icons && $info == 1): ?>
						  <?php echo LayoutHelper::render('joomla.content.icons', array('item' => $this->item, 'params' => $params, 'print' => $this->print)); ?>
						  <?php endif; ?>
							<?php // Todo: for Joomla4 joomla.content.info_block.block can be changed to joomla.content.info_block ?>
							<?php echo LayoutHelper::render('joomla.content.info_block.block', array('item' => $this->item, 'params' => $params, 'position' => 'below')); ?>
							</footer>
						<?php endif; ?>
					<?php endif; ?>
					<!-- // Footer -->

					<?php if (!empty($this->item->pagination) && $this->item->pagination && $this->item->paginationposition && !$this->item->paginationrelative) :
						echo $this->item->pagination; ?>
					<?php 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); ?>

					<!-- Item tags -->
					<?php if ($info == 0 && $params->get('show_tags', 1) && !empty($this->item->tags)) : ?>
						<?php echo LayoutHelper::render('joomla.content.tags', $this->item->tags->itemTags); ?>
					<?php endif; ?>
					<!-- // Item tags -->
						
						<?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(JRoute::_('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))); ?>

							<section class="readmore">
								<a href="<?php echo $link; ?>" class="register"><span>
								<?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; ?>
								</span></a>
							</section>
						<?php endif; ?>
					<?php endif; ?>
			</div>

			<div class="article-sidebar col-md-4">
				<div class="article-sidebar-box">
				    <?php if (!empty($latlong)): ?>
                        {jaosmap locations='{"location":{"0":"<?php echo $this->item->title; ?>"},"latitude":{"0":"<?php echo $latlong[0]; ?>"},"longitude":{"0":"<?php echo $latlong[1]; ?>"},"info":{"0":"<?php echo $this->item->title; ?>"},"icon":{"0":""}}' zoom='12' map_width='396' map_height='396'}{/jaosmap}
					<?php endif; ?>
				</div>
				<div class="article-sidebar-box box-border">

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

					<dl class="fields-container">
						<dd class="field-entry r-location r-class">	
							<span class="field-label l-location"><?php echo Text::_('TPL_LOCATION'); ?></span>
							<span class="field-value">
								<?php if ($params->get('show_parent_category') && !empty($this->item->parent_slug)) : ?>
									<?php echo LayoutHelper::render('joomla.content.info_block.parent_category_property', array('item' => $this->item, 'params' => $params, 'filterID' => $filterID)); ?>
								<?php endif; ?>

								<?php if($params->get('show_category')) :?>
						      	<?php echo LayoutHelper::render('joomla.content.info_block.category_property', array('item' => $this->item, 'params' => $params, 'filterID' => $filterID)); ?>
						    <?php endif;?>

							</span>
						</dd>
					</dl>

					<?php if(!empty($customs['rent-or-sale'])) :?>
						<span class="tag-label label-<?php echo $customs['rent-or-sale'] ;?>"><?php echo Text::_('TPL_FOR').' '.$customs['rent-or-sale'] ;?></span>
					<?php endif ;?>

					<?php if($this->item->featured): ?>
						<span class="featured-label featured-label-yes">
							<i class="icon ion-ios-heart"></i>
						</span>
					<?php else: ?>
						<span class="featured-label featured-label-no">
							<i class="icon ion-ios-heart"></i>
						</span>
					<?php endif ;?>
				</div>
			</div>
		</div>
	</article>
	<!-- //Article -->

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

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

<script type="application/ld+json">
{
	"@context": "http://schema.org",
	"@type": "Article",
	"headline": "<?php echo $this->item->title; ?>",
	"inLanguage": "<?php echo Factory::getConfig()->get('language'); ?>",
	"author": "<?php echo $this->item->author; ?>",
	"datePublished": "<?php echo $this->item->publish_up; ?>",
	"dateModified": "<?php echo $this->item->modified; ?>",
	"mainEntityOfPage": "WebPage",
	"articleBody": <?php echo json_encode(preg_replace('/\s+/', ' ', strip_tags($this->item->text))); ?>,
	"image": 
	{
		"@type": "imageObject",
		"url": "<?php echo Uri::base().$images->image_fulltext; ?>",
		"height": "auto",
		"width": "auto"
	},
	"publisher": 
	{
		"@type": "Organization",
		"name": "<?php echo $this->item->author; ?>",
		"logo": 
		{
			"@type": "imageObject",
			"url": "<?php echo Uri::base(); ?>/templates/<?php echo Factory::getApplication()->getTemplate() ?>/images/logo.png"
		}
	}
}
</script>