__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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     Joomla.Plugin
 * @subpackage  System.Debug
 *
 * @copyright   (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Plugin\System\Debug\DataCollector;

use DebugBar\DataCollector\AssetProvider;
use Joomla\CMS\Application\AdministratorApplication;
use Joomla\CMS\Application\SiteApplication;
use Joomla\CMS\Factory;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\User\User;
use Joomla\Plugin\System\Debug\AbstractDataCollector;
use Joomla\Registry\Registry;
use Psr\Http\Message\ResponseInterface;

// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects

/**
 * InfoDataCollector
 *
 * @since  4.0.0
 */
class InfoCollector extends AbstractDataCollector implements AssetProvider
{
    /**
     * Collector name.
     *
     * @var   string
     * @since 4.0.0
     */
    private $name = 'info';

    /**
     * Request ID.
     *
     * @var   string
     * @since 4.0.0
     */
    private $requestId;

    /**
     * InfoDataCollector constructor.
     *
     * @param   Registry  $params     Parameters
     * @param   string    $requestId  Request ID
     *
     * @since  4.0.0
     */
    public function __construct(Registry $params, $requestId)
    {
        $this->requestId = $requestId;

        parent::__construct($params);
    }

    /**
     * Returns the unique name of the collector
     *
     * @since  4.0.0
     * @return string
     */
    public function getName(): string
    {
        return $this->name;
    }

    /**
     * Returns a hash where keys are control names and their values
     * an array of options as defined in {@see \DebugBar\JavascriptRenderer::addControl()}
     *
     * @since  4.0.0
     * @return array
     */
    public function getWidgets(): array
    {
        return [
            'info' => [
                'icon'    => 'info-circle',
                'title'   => 'J! Info',
                'widget'  => 'PhpDebugBar.Widgets.InfoWidget',
                'map'     => $this->name,
                'default' => '{}',
            ],
        ];
    }

    /**
     * Returns an array with the following keys:
     *  - base_path
     *  - base_url
     *  - css: an array of filenames
     *  - js: an array of filenames
     *
     * @since  4.0.0
     * @return array
     */
    public function getAssets(): array
    {
        return [
            'js'  => Uri::root(true) . '/media/plg_system_debug/widgets/info/widget.min.js',
            'css' => Uri::root(true) . '/media/plg_system_debug/widgets/info/widget.min.css',
        ];
    }

    /**
     * Called by the DebugBar when data needs to be collected
     *
     * @since  4.0.0
     *
     * @return array Collected data
     */
    public function collect(): array
    {
        /** @type SiteApplication|AdministratorApplication $application */
        $application = Factory::getApplication();

        $model = $application->bootComponent('com_admin')
            ->getMVCFactory()->createModel('Sysinfo', 'Administrator');

        return [
            'phpVersion'    => PHP_VERSION,
            'joomlaVersion' => JVERSION,
            'requestId'     => $this->requestId,
            'identity'      => $this->getIdentityInfo($application->getIdentity()),
            'response'      => $this->getResponseInfo($application->getResponse()),
            'template'      => $this->getTemplateInfo($application->getTemplate(true)),
            'database'      => $this->getDatabaseInfo($model->getInfo()),
        ];
    }

    /**
     * Get Identity info.
     *
     * @param   User  $identity  The identity.
     *
     * @since 4.0.0
     *
     * @return array
     */
    private function getIdentityInfo(User $identity): array
    {
        if (!$identity->id) {
            return ['type' => 'guest'];
        }

        return [
            'type'     => 'user',
            'id'       => $identity->id,
            'name'     => $identity->name,
            'username' => $identity->username,
        ];
    }

    /**
     * Get response info.
     *
     * @param   ResponseInterface  $response  The response.
     *
     * @since 4.0.0
     *
     * @return array
     */
    private function getResponseInfo(ResponseInterface $response): array
    {
        return [
            'status_code' => $response->getStatusCode(),
        ];
    }

    /**
     * Get template info.
     *
     * @param   object  $template  The template.
     *
     * @since 4.0.0
     *
     * @return array
     */
    private function getTemplateInfo($template): array
    {
        return [
            'template' => $template->template ?? '',
            'home'     => $template->home ?? '',
            'id'       => $template->id ?? '',
        ];
    }

    /**
     * Get database info.
     *
     * @param   array  $info  General information.
     *
     * @since 4.0.0
     *
     * @return array
     */
    private function getDatabaseInfo(array $info): array
    {
        return [
            'dbserver'               => $info['dbserver'] ?? '',
            'dbversion'              => $info['dbversion'] ?? '',
            'dbcollation'            => $info['dbcollation'] ?? '',
            'dbconnectioncollation'  => $info['dbconnectioncollation'] ?? '',
            'dbconnectionencryption' => $info['dbconnectionencryption'] ?? '',
            'dbconnencryptsupported' => $info['dbconnencryptsupported'] ?? '',
        ];
    }
}

Filemanager

Name Type Size Permission Actions
InfoCollector.php File 5.41 KB 0664
LanguageErrorsCollector.php File 3.39 KB 0664
LanguageFilesCollector.php File 3.02 KB 0664
LanguageStringsCollector.php File 4.79 KB 0664
MemoryCollector.php File 3.21 KB 0664
ProfileCollector.php File 8.32 KB 0664
QueryCollector.php File 7.08 KB 0664
RequestDataCollector.php File 1.87 KB 0664
SessionCollector.php File 2.91 KB 0664
UserCollector.php File 1.37 KB 0664
Filemanager