__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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 SP Page Builder
 * @author JoomShaper http://www.joomshaper.com
 * @copyright Copyright (c) 2010 - 2024 JoomShaper
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
 */

use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Version;

/**
 * Trait for gettings plugins
 */
trait PluginsTrait
{
	/**
	 * API endpoint for the backend plugin field
	 * Send back list of plugins depending on the type
	 * @return void
	 * @since  5.3.6
	 */
	
	public function pluginsList()
	{
		$method = $this->getInputMethod();
		$this->checkNotAllowedMethods(['POST', 'PUT', 'DELETE', 'PATCH'], $method);

		$this->getPlugins();
	}

	/**
	 * Plugin List function
	 * This function gets the type of plugin we want to send to the get request
	 * getPlugins function is called to get the plugins from the defined model
	 * Before sending the response the raw plugin data is properly formatted using the converPluginsToOptions function
	 * @return void
	 * @since  5.3.6
	 */

	private function getPlugins()
	{
        $app = Factory::getApplication();

		$input = $app->input;

		$pluginsType = $input->get('pluginsType', '');

		$model = $this->getModel('Appconfig');
		$pluginsList = $model->getPlugins($pluginsType);

		$response = (object) [
			'plugins' => $this->convertPluginsToOptions($pluginsList, $pluginsType),
		];

		$this->sendResponse($response);
	}

	/**
	 * Plugin formatting and mapping function
	 * This function takes the raw list/array of the fetched extensions (plugins in this case) and the type of the plugins as parameters
	 * The raw extension list has names in non human readable format
	 * Joomla uses the plugin type and the name to generate human readable name from its language files
	 * Language instance is called and the plugin type and name is passed into it to generate the label
	 * The label is then mapped into the plugins with their values
	 * The mapped array is then returned
	 * @param  string $pluginsType type of the plugins we want to get
	 * @param  array  $extensions list of raw extensions we got from the database
	 * @return array
	 * @since  5.3.6
	 */

	private function convertPluginsToOptions(array $extensions, string $pluginsType)
	{
		$options = [];
		$lang    = Factory::getLanguage();

		foreach ($extensions as $extension)
		{	
			$source    = JPATH_PLUGINS . '/' . $pluginsType . '/' . $extension->element;
			$name = strtoupper($extension->name);

			$lang->load($extension->name, JPATH_ADMINISTRATOR) || $lang->load($extension->name, $source);

			if (!$lang->hasKey($name)) {
				$lang->load($name . '.sys', $source) || $lang->load($name . '.sys', JPATH_ADMINISTRATOR);
			}

			$label = Text::_($name);
			$value = $extension->element;
			$value = $value == 'recaptcha' ? 'gcaptcha' : $value;
			$value = $value == 'recaptcha_invisible' ? 'igcaptcha' : $value;
			
			$option = (object) [
				'label' => $label,
				'value' => $value
			];

			$options[] = $option;
		}

		return $options;
	}
}

Filemanager

Name Type Size Permission Actions
AddToMenuTrait.php File 2.69 KB 0664
AddonsTrait.php File 7.77 KB 0664
AiContentTrait.php File 10 KB 0664
AiContentUploadTrait.php File 8.14 KB 0664
AllFontsTrait.php File 1.32 KB 0664
AppConfig.php File 5.33 KB 0664
ApplicationSettingsTrait.php File 16.47 KB 0664
BulkExportTrait.php File 16.66 KB 0664
BulkImportTrait.php File 18.55 KB 0664
CommonTrait.php File 4.56 KB 0664
ExportTrait.php File 11.07 KB 0664
FontsTrait.php File 12.45 KB 0664
GlobalColorsTrait.php File 3.37 KB 0664
IconProvidersTrait.php File 928 B 0664
IconsListTrait.php File 1.39 KB 0664
IconsTrait.php File 14.71 KB 0664
ImageShapesTrait.php File 5.56 KB 0664
ImportTrait.php File 16.82 KB 0664
IntegrationTrait.php File 4.64 KB 0664
LanguageTrait.php File 6.6 KB 0664
LayoutImportTrait.php File 2.89 KB 0664
Media.php File 17.78 KB 0664
MediaFolderTrait.php File 9.5 KB 0664
MenuByPageIdTrait.php File 952 B 0664
MenuListTrait.php File 791 B 0664
PageContentById.php File 1.22 KB 0664
PageDuplicateTrait.php File 1.35 KB 0664
PageOrderTrait.php File 1.16 KB 0664
PageTemplateTrait.php File 3.1 KB 0664
PageTrait.php File 9.74 KB 0664
ParentItemsTrait.php File 1.01 KB 0664
PluginsTrait.php File 2.93 KB 0664
PopupTemplateTrait.php File 2.34 KB 0664
ProductPageContentById.php File 2 KB 0664
PurgeCssTrait.php File 810 B 0664
SaveIgTokenTrait.php File 2.01 KB 0664
SavedAddonsOrderTrait.php File 1.19 KB 0664
SavedAddonsTrait.php File 4.06 KB 0664
SavedPresetsTrait.php File 3.17 KB 0664
SavedSectionsOrderTrait.php File 1.21 KB 0664
SavedSectionsTrait.php File 4.12 KB 0664
SectionLibraryTrait.php File 2.84 KB 0664
SettingsTrait.php File 1.07 KB 0664
UploadFontTrait.php File 5.48 KB 0664
Filemanager