NexusLeads Webshell
NexusLeads


Server : LiteSpeed
System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64
User : alsaif ( 1057)
PHP Version : 7.4.33
Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/alsaif/domains/alsaif.group/private_html/libraries/regularlabs/fields/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/alsaif/domains/alsaif.group/private_html/libraries/regularlabs/fields/dependency.php
<?php
/**
 * @package         Regular Labs Library
 * @version         23.9.3039
 * 
 * @author          Peter van Westen <info@regularlabs.com>
 * @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\Field;
use RegularLabs\Library\RegEx as RL_RegEx;

jimport('joomla.form.formfield');

if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php'))
{
    return;
}

require_once JPATH_LIBRARIES . '/regularlabs/autoload.php';

class JFormFieldRL_Dependency extends Field
{
    public $type = 'Dependency';

    protected function getInput()
    {
        $file = $this->get('file');

        if ($file)
        {
            $label = $this->get('label', 'the main extension');

            RLFieldDependency::setMessage($file, $label);

            return '';
        }

        $path      = ($this->get('path') == 'site') ? '' : '/administrator';
        $label     = $this->get('label');
        $file      = $this->get('alias', $label);
        $file      = RL_RegEx::replace('[^a-z-]', '', strtolower($file));
        $extension = $this->get('extension');

        switch ($extension)
        {
            case 'com':
                $file = $path . '/components/com_' . $file . '/com_' . $file . '.xml';
                break;
            case 'mod':
                $file = $path . '/modules/mod_' . $file . '/mod_' . $file . '.xml';
                break;
            default:
                $file = '/plugins/' . str_replace('plg_', '', $extension) . '/' . $file . '.xml';
                break;
        }

        $label = JText::_($label) . ' (' . JText::_('RL_' . strtoupper($extension)) . ')';

        RLFieldDependency::setMessage($file, $label);

        return '';
    }

    protected function getLabel()
    {
        return '';
    }
}

class RLFieldDependency
{
    static function setMessage($file, $name)
    {
        jimport('joomla.filesystem.file');

        $file = str_replace('\\', '/', $file);
        $file = (strpos($file, '/administrator') === 0)
            ? str_replace('/administrator', JPATH_ADMINISTRATOR, $file)
            : JPATH_SITE . '/' . $file;

        $file = str_replace('//', '/', $file);

        $file_alt = RL_RegEx::replace('(com|mod)_([a-z-_]+\.)', '\2', $file);

        if (file_exists($file) || file_exists($file_alt))
        {
            return;
        }

        $msg          = JText::sprintf('RL_THIS_EXTENSION_NEEDS_THE_MAIN_EXTENSION_TO_FUNCTION', JText::_($name));
        $messageQueue = JFactory::getApplication()->getMessageQueue();

        foreach ($messageQueue as $queue_message)
        {
            if ($queue_message['type'] == 'error' && $queue_message['message'] == $msg)
            {
                return;
            }
        }

        JFactory::getApplication()->enqueueMessage($msg, 'error');
    }
}

NexusLeads