-
-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #445 from templaza/v3
V3.0.4
- Loading branch information
Showing
19 changed files
with
870 additions
and
1,159 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
<?php | ||
|
||
/** | ||
* @package Astroid Framework | ||
* @author Astroid Framework https://astroidframe.work | ||
* @copyright Copyright (C) 2023 AstroidFrame.work. | ||
* @license https://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later | ||
*/ | ||
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\Component\Content\Administrator\Extension\ContentComponent; | ||
use Joomla\Component\Content\Site\Helper\RouteHelper; | ||
use Astroid\Article; | ||
|
||
// Astroid Article/Blog | ||
$astroidArticle = new Article($this->item); | ||
|
||
// Create shortcuts to some parameters. | ||
$params = $this->item->params; | ||
$canEdit = $params->get('access-edit'); | ||
$user = $this->getCurrentUser(); | ||
$info = $params->get('info_block_position', 0); | ||
$htag = $this->params->get('show_page_heading') ? 'h2' : 'h1'; | ||
|
||
// Check if associations are implemented. If they are, define the parameter. | ||
$assocParam = (Associations::isEnabled() && $params->get('show_associations')); | ||
$currentDate = Factory::getDate()->format('Y-m-d H:i:s'); | ||
$isNotPublishedYet = $this->item->publish_up > $currentDate; | ||
$isExpired = !is_null($this->item->publish_down) && $this->item->publish_down < $currentDate; | ||
?> | ||
<div class="com-content-article item-page<?php echo $this->pageclass_sfx; ?>"> | ||
<meta content="<?php echo ($this->item->language === '*') ? Factory::getApplication()->get('language') : $this->item->language; ?>"> | ||
<?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; | ||
if (!empty($this->item->pagination) && !$this->item->paginationposition && $this->item->paginationrelative) { | ||
echo $this->item->pagination; | ||
} | ||
?> | ||
|
||
<?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 $astroidArticle->render('above-title'); ?> | ||
<?php if ($params->get('show_title')) : ?> | ||
<div class="page-header item-title"> | ||
<<?php echo $htag; ?>> | ||
<?php echo $this->escape($this->item->title); ?> | ||
</<?php echo $htag; ?>> | ||
<?php if ($this->item->state == ContentComponent::CONDITION_UNPUBLISHED) : ?> | ||
<span class="badge bg-warning text-light"><?php echo Text::_('JUNPUBLISHED'); ?></span> | ||
<?php endif; ?> | ||
<?php if ($isNotPublishedYet) : ?> | ||
<span class="badge bg-warning text-light"><?php echo Text::_('JNOTPUBLISHEDYET'); ?></span> | ||
<?php endif; ?> | ||
<?php if ($isExpired) : ?> | ||
<span class="badge bg-warning text-light"><?php echo Text::_('JEXPIRED'); ?></span> | ||
<?php endif; ?> | ||
</div> | ||
<?php endif; ?> | ||
|
||
<?php if ($canEdit) : ?> | ||
<?php echo LayoutHelper::render('joomla.content.icons', ['params' => $params, 'item' => $this->item]); ?> | ||
<?php endif; ?> | ||
|
||
<?php // Content is generated by content plugin event "onContentAfterTitle" ?> | ||
<?php echo $this->item->event->afterDisplayTitle; ?> | ||
|
||
<?php if ($useDefList && ($info == 0 || $info == 2)) : ?> | ||
<?php echo LayoutHelper::render('joomla.content.info_block', ['item' => $this->item, 'params' => $params, 'astroidArticle' => $astroidArticle, 'position' => 'above']); ?> | ||
<?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 // Content is generated by content plugin event "onContentBeforeDisplay" ?> | ||
<?php echo $this->item->event->beforeDisplayContent; ?> | ||
|
||
<?php if ((int) $params->get('urls_position', 0) === 0) : ?> | ||
<?php echo $this->loadTemplate('links'); ?> | ||
<?php endif; ?> | ||
|
||
<?php if ($params->get('access-view')) : ?> | ||
<?php | ||
if (!empty($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 echo LayoutHelper::render('joomla.content.full_image', $this->item); ?> | ||
<?php $astroidArticle->render('before-content'); ?> | ||
<div class="com-content-article__body"> | ||
<?php echo $this->item->text; ?> | ||
</div> | ||
<?php $astroidArticle->render('after-content'); ?> | ||
|
||
<?php if ($info == 1 || $info == 2) : ?> | ||
<?php if ($useDefList) : ?> | ||
<?php echo LayoutHelper::render('joomla.content.info_block', ['item' => $this->item, 'params' => $params, 'astroidArticle' => $astroidArticle, 'position' => 'below']); ?> | ||
<?php endif; ?> | ||
<?php if ($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 endif; ?> | ||
|
||
<?php | ||
if (!empty($this->item->pagination) && $this->item->paginationposition && !$this->item->paginationrelative) : | ||
echo $this->item->pagination; | ||
?> | ||
<?php endif; ?> | ||
|
||
<?php if ((int) $params->get('urls_position', 0) === 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(RouteHelper::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language))); ?> | ||
<?php echo LayoutHelper::render('joomla.content.readmore', ['item' => $this->item, 'params' => $params, 'link' => $link]); ?> | ||
<?php endif; ?> | ||
<?php endif; ?> | ||
<?php | ||
if (!empty($this->item->pagination) && $this->item->paginationposition && $this->item->paginationrelative) : | ||
echo $this->item->pagination; | ||
?> | ||
<?php endif; ?> | ||
<?php $astroidArticle->renderSocialShare(); ?> | ||
<?php $astroidArticle->renderAuthorInfo(); ?> | ||
<?php $astroidArticle->renderComments(); ?> | ||
<?php $astroidArticle->renderRelatedPosts(); ?> | ||
<?php // Content is generated by content plugin event "onContentAfterDisplay" ?> | ||
<?php echo $this->item->event->afterDisplayContent; ?> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
<?php | ||
/** | ||
* @package Astroid Framework | ||
* @author Astroid Framework https://astroidframe.work | ||
* @copyright Copyright (C) 2023 AstroidFrame.work. | ||
* @license https://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later | ||
*/ | ||
|
||
defined('_JEXEC') or die; | ||
use Joomla\CMS\HTML\HTMLHelper; | ||
// Create shortcut | ||
$urls = json_decode($this->item->urls); | ||
|
||
// Create shortcuts to some parameters. | ||
$params = $this->item->params; | ||
if ($urls && (!empty($urls->urla) || !empty($urls->urlb) || !empty($urls->urlc))) : | ||
?> | ||
<div class="content-links"> | ||
<ul class="menu list-inline"> | ||
<?php | ||
$urlarray = array( | ||
array($urls->urla, $urls->urlatext, $urls->targeta, 'a'), | ||
array($urls->urlb, $urls->urlbtext, $urls->targetb, 'b'), | ||
array($urls->urlc, $urls->urlctext, $urls->targetc, 'c') | ||
); | ||
foreach ($urlarray as $url) : | ||
$link = $url[0]; | ||
$label = $url[1]; | ||
$target = $url[2]; | ||
$id = $url[3]; | ||
|
||
if ( ! $link) : | ||
continue; | ||
endif; | ||
|
||
// If no label is present, take the link | ||
$label = $label ?: $link; | ||
|
||
// If no target is present, use the default | ||
$target = $target ?: $params->get('target' . $id); | ||
?> | ||
<li class="content-links-<?php echo $id; ?>"> | ||
<?php | ||
// Compute the correct link | ||
|
||
switch ($target) | ||
{ | ||
case 1: | ||
// Open in a new window | ||
echo '<a href="' . htmlspecialchars($link, ENT_COMPAT, 'UTF-8') . '" target="_blank" rel="nofollow noopener noreferrer">' . | ||
htmlspecialchars($label, ENT_COMPAT, 'UTF-8') . '</a>'; | ||
break; | ||
|
||
case 2: | ||
// Open in a popup window | ||
$attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=600,height=600'; | ||
echo "<a href=\"" . htmlspecialchars($link, ENT_COMPAT, 'UTF-8') . "\" onclick=\"window.open(this.href, 'targetWindow', '" . $attribs . "'); return false;\" rel=\"noopener noreferrer\">" . | ||
htmlspecialchars($label, ENT_COMPAT, 'UTF-8') . '</a>'; | ||
break; | ||
case 3: | ||
// Open in a modal window | ||
echo '<a href="' . htmlspecialchars($link, ENT_COMPAT, 'UTF-8') . '" rel="noopener noreferrer" data-bs-toggle="modal" data-bs-target="#linkModal">' . | ||
htmlspecialchars($label, ENT_COMPAT, 'UTF-8') . ' </a>'; | ||
echo HTMLHelper::_( | ||
'bootstrap.renderModal', | ||
'linkModal', | ||
[ | ||
'url' => $link, | ||
'title' => $label, | ||
'height' => '100%', | ||
'width' => '100%', | ||
'modalWidth' => '500', | ||
'bodyHeight' => '500', | ||
'footer' => '<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" aria-hidden="true">' | ||
. \Joomla\CMS\Language\Text::_('JLIB_HTML_BEHAVIOR_CLOSE') . '</button>' | ||
] | ||
); | ||
break; | ||
|
||
default: | ||
// Open in parent window | ||
echo '<a href="' . htmlspecialchars($link, ENT_COMPAT, 'UTF-8') . '" rel="nofollow">' . | ||
htmlspecialchars($label, ENT_COMPAT, 'UTF-8') . ' </a>'; | ||
break; | ||
} | ||
?> | ||
</li> | ||
<?php endforeach; ?> | ||
</ul> | ||
</div> | ||
<?php endif; ?> |
Oops, something went wrong.