73 lines
1.7 KiB
PHP
73 lines
1.7 KiB
PHP
<?php
|
|
/**
|
|
* @package Conditional Content
|
|
* @version 2.7.1
|
|
*
|
|
* @author Peter van Westen <info@regularlabs.com>
|
|
* @link http://www.regularlabs.com
|
|
* @copyright Copyright © 2020 Regular Labs All Rights Reserved
|
|
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
|
|
*/
|
|
|
|
namespace RegularLabs\Plugin\System\ConditionalContent;
|
|
|
|
defined('_JEXEC') or die;
|
|
|
|
use Joomla\CMS\Factory as JFactory;
|
|
use RegularLabs\Library\Article as RL_Article;
|
|
use RegularLabs\Library\Document as RL_Document;
|
|
use RegularLabs\Library\Html as RL_Html;
|
|
|
|
/**
|
|
* Plugin that replaces stuff
|
|
*/
|
|
class Helper
|
|
{
|
|
public function onContentPrepare($context, &$article, &$params)
|
|
{
|
|
$area = isset($article->created_by) ? 'article' : 'other';
|
|
$context = (($params instanceof \JRegistry) && $params->get('rl_search')) ? 'com_search.' . $params->get('readmore_limit') : $context;
|
|
|
|
RL_Article::process($article, $context, $this, 'replaceTags', [$area, $context]);
|
|
}
|
|
|
|
public function onAfterDispatch()
|
|
{
|
|
if ( ! $buffer = RL_Document::getBuffer())
|
|
{
|
|
return;
|
|
}
|
|
|
|
if ( ! Replace::replaceTags($buffer, 'component'))
|
|
{
|
|
return;
|
|
}
|
|
|
|
RL_Document::setBuffer($buffer);
|
|
}
|
|
|
|
public function onAfterRender()
|
|
{
|
|
$html = JFactory::getApplication()->getBody();
|
|
|
|
if ($html == '')
|
|
{
|
|
return;
|
|
}
|
|
|
|
// only do stuff in body
|
|
list($pre, $body, $post) = RL_Html::getBody($html);
|
|
Replace::replaceTags($body, 'body');
|
|
$html = $pre . $body . $post;
|
|
|
|
Clean::cleanLeftoverJunk($html);
|
|
|
|
JFactory::getApplication()->setBody($html);
|
|
}
|
|
|
|
public function replaceTags(&$string, $area = 'article', $context = '')
|
|
{
|
|
Replace::replaceTags($string, $area, $context);
|
|
}
|
|
}
|