AnonSec Shell
Server IP : 46.105.57.169  /  Your IP : 216.73.216.144
Web Server : Apache
System : Linux webd003.cluster120.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : maitricfuz ( 93378)
PHP Version : 8.4.10
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/maitricfuz/www/saint-martin-lg/plugins/system/sourcerer/src/Extension/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/maitricfuz/www/saint-martin-lg/plugins/system/sourcerer/src/Extension/Sourcerer.php
<?php
/**
 * @package         Sourcerer
 * @version         12.2.8
 * 
 * @author          Peter van Westen <info@regularlabs.com>
 * @link            https://regularlabs.com
 * @copyright       Copyright © 2026 Regular Labs All Rights Reserved
 * @license         GNU General Public License version 2 or later
 */

namespace RegularLabs\Plugin\System\Sourcerer\Extension;

use RegularLabs\Library\Document as RL_Document;
use RegularLabs\Library\Html as RL_Html;
use RegularLabs\Library\Plugin\System as RL_SystemPlugin;
use RegularLabs\Library\Protect as RL_Protect;
use RegularLabs\Plugin\System\Sourcerer\Area;
use RegularLabs\Plugin\System\Sourcerer\Clean;
use RegularLabs\Plugin\System\Sourcerer\Params;
use RegularLabs\Plugin\System\Sourcerer\Protect;
use RegularLabs\Plugin\System\Sourcerer\Replace;
use RegularLabs\Plugin\System\Sourcerer\Security;

defined('_JEXEC') or die;

final class Sourcerer extends RL_SystemPlugin
{
    public $_can_disable_by_url = false;
    public $_lang_prefix        = 'SRC';

    protected function changeDocumentBuffer(string &$buffer): bool
    {
        if ( ! RL_Document::isHtml())
        {
            return false;
        }

        return Area::tag($buffer, 'component');
    }

    protected function changeFinalHtmlOutput(string &$html): bool
    {
        $params = Params::get();

        [$pre, $body, $post] = RL_Html::getBody($html);

        Protect::_($body);
        Replace::replaceInTheRest($body);

        Clean::cleanFinalHtmlOutput($body);
        RL_Protect::unprotect($body);

        $params->enable_in_head
            ? Replace::replace($pre, 'head')
            : Clean::cleanTagsFromHead($pre);

        $html = $pre . $body . $post;

        return true;
    }

    /**
     * @param object $module
     * @param array  $params
     */
    protected function handleOnAfterRenderModule(object &$module, array &$params): void
    {
        if ( ! isset($module->content))
        {
            return;
        }

        Replace::replace($module->content, 'module');
    }

    protected function handleOnContentPrepare(
        string $area,
        string $context,
        mixed  &$article,
        mixed  &$params,
        int    $page = 0
    ): bool
    {
        $src_params = Params::get();

        $area = isset($article->created_by) ? 'articles' : 'other';

        $remove = $src_params->remove_from_search
            && in_array($context, ['com_search.search', 'com_search.search.article', 'com_finder.indexer']);


        if (isset($article->description))
        {
            Replace::replace($article->description, $area, $article, $remove);
        }

        if (isset($article->title))
        {
            Replace::replace($article->title, $area, $article, $remove);
        }

        // Don't handle article texts in category list view
        if (RL_Document::isCategoryList($context))
        {
            return false;
        }

        if (isset($article->text))
        {
            Replace::replace($article->text, $area, $article, $remove);

            // Don't also do stuff on introtext/fulltext if text is set
            return false;
        }

        if (isset($article->introtext))
        {
            Replace::replace($article->introtext, $area, $article, $remove);
        }

        if (isset($article->fulltext))
        {
            Replace::replace($article->fulltext, $area, $article, $remove);
        }

        return false;
    }
}

Anon7 - 2022
AnonSec Team