| Server IP : 46.105.57.169 / Your IP : 216.73.217.8 Web Server : Apache System : Linux webd003.cluster120.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : maitricfuz ( 93378) PHP Version : 8.4.22 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/regularlabs/services/ |
Upload File : |
<?php
/**
* @package Regular Labs Library
* @version 26.7.20176
*
* @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
*/
defined('_JEXEC') or die;
use Joomla\CMS\Extension\PluginInterface;
use Joomla\CMS\Factory as JFactory;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use Joomla\Event\DispatcherInterface;
use RegularLabs\Library\Extension as RL_Extension;
use RegularLabs\Library\Input as RL_Input;
use RegularLabs\Plugin\System\RegularLabs\Extension\RegularLabs;
defined('_JEXEC') or die;
$application = JFactory::getApplication();
$input = $application->getInput();
$option = $input->getCmd('option');
$task = $input->getCmd('task');
if (in_array($option, ['com_installer', 'com_regularlabsmanager'], true)
&& ($input->getCmd('action') !== ''
|| in_array($task, ['install.install', 'install.ajax_upload', 'process.install'], true))
)
{
return;
}
$lockHandle = $GLOBALS['regularlabs_library_request_lock'] ?? null;
if ( ! is_resource($lockHandle))
{
$lockDirectory = $application->get('tmp_path');
$lockHandle = $lockDirectory
? @fopen(rtrim($lockDirectory, '/\\') . '/regularlabs-library-install.lock', 'c')
: false;
if ($lockHandle && flock($lockHandle, LOCK_SH | LOCK_NB))
{
$GLOBALS['regularlabs_library_request_lock'] = $lockHandle;
}
elseif ($lockHandle)
{
fclose($lockHandle);
return;
}
}
if (is_resource($lockHandle))
{
register_shutdown_function(static function (): void {
$lockHandle = $GLOBALS['regularlabs_library_request_lock'] ?? null;
if ( ! is_resource($lockHandle))
{
return;
}
flock($lockHandle, LOCK_UN);
fclose($lockHandle);
unset($GLOBALS['regularlabs_library_request_lock']);
});
}
if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/regularlabs.xml')
|| ! class_exists('RegularLabs\Library\Plugin\System')
)
{
return;
}
$config = new JConfig;
// Deal with error reporting when loading pages we don't want to break due to php warnings
if ( ! in_array($config->error_reporting, ['none', '0'])
&& (
(RL_Input::getCmd('option') == 'com_regularlabsmanager'
&& (RL_Input::getCmd('task') == 'update' || RL_Input::getCmd('view') == 'process')
)
|| (RL_Input::getInt('rl_qp', 0) && RL_Input::get('url', '') != '')
)
)
{
RL_Extension::orderPluginFirst('regularlabs');
error_reporting(E_ERROR);
}
return new class () implements ServiceProviderInterface {
public function register(Container $container)
{
$container->set(
PluginInterface::class,
function (Container $container) {
$plugin = new RegularLabs(
$container->get(DispatcherInterface::class),
(array) PluginHelper::getPlugin('system', 'regularlabs')
);
$plugin->setApplication(JFactory::getApplication());
return $plugin;
}
);
}
};