AnonSec Shell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.111
Web Server : Apache
System : Linux webm013.cluster127.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 : coopiak ( 151928)
PHP Version : 8.3.23
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/coopiak/amisdesseniors-fr/annonces/plugins/system/yootheme/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/amisdesseniors-fr/annonces/plugins/system/yootheme/yootheme.php
<?php

defined('_JEXEC') or die;

use Joomla\CMS\Application\CMSApplication;
use Joomla\CMS\Factory;
use Joomla\CMS\Plugin\CMSPlugin;
use Joomla\CMS\Table\Table;
use Joomla\Event\DispatcherInterface;

// require classmap
require_once __DIR__ . '/classmap.php';

class plgSystemYOOtheme extends CMSPlugin
{
    /**
     * @var CMSApplication
     */
    public $app;

    /**
     * Constructor.
     *
     * @param DispatcherInterface $subject
     * @param array $config
     */
    public function __construct(&$subject, $config = array())
    {
        parent::__construct($subject, $config);

        $pattern = JPATH_ROOT . '/templates/*/template_bootstrap.php';

        array_map([$this, 'loadFile'], glob($pattern) ?: array());
    }

    /**
     * Loads a file.
     *
     * @param string $file
     * @return void
     */
    public function loadFile($file)
    {
        require $file;
    }

    /**
     * Prevent removal of YOOtheme Installer plugin if other YOOtheme packages are installed.
     *
     * @param int $eid
     */
    public function onExtensionBeforeUninstall($eid)
    {
        $elements = ['pkg_yootheme', 'pkg_zoo', 'pkg_widgetkit'];
        $row = Table::getInstance('extension');

        $row->load($eid);
        $package = $row->get('element');

        // uninstalling a yootheme package?
        if (!in_array($package, $elements, true)) {
            return;
        }

        $elements = array_diff($elements, [$package]);

        $db = Factory::getDbo();
        $query = $db->getQuery(true)
            ->select('extension_id')
            ->from('#__extensions')
            ->where('element IN (' . join(',', $db->quote($elements)) . ')');

        // are other yootheme packages installed?
        if (!$db->setQuery($query)->loadRowList()) {
            return;
        }

        $manifest = JPATH_MANIFESTS . "/packages/{$package}.xml";
        $contents = file_get_contents($manifest);

        // remove installer from package manifest to prevent removal
        $contents = preg_replace('/<file type="plugin" id="yootheme" group="installer">.+\.zip<\/file>/', '', $contents);

        file_put_contents($manifest, $contents);
    }
}

Anon7 - 2022
AnonSec Team