Файловый менеджер - Редактировать - /home/lmsyaran/public_html/pusher/privacy.tar
Назад
actionlogs/actionlogs.php 0000644 00000003334 15117001352 0011557 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 */ defined('_JEXEC') or die; JLoader::register('ActionlogsHelper', JPATH_ADMINISTRATOR . '/components/com_actionlogs/helpers/actionlogs.php'); JLoader::register('PrivacyPlugin', JPATH_ADMINISTRATOR . '/components/com_privacy/helpers/plugin.php'); /** * Privacy plugin managing Joomla actionlogs data * * @since 3.9.0 */ class PlgPrivacyActionlogs extends PrivacyPlugin { /** * Processes an export request for Joomla core actionlog data * * @param PrivacyTableRequest $request The request record being processed * @param JUser $user The user account associated with this request if available * * @return PrivacyExportDomain[] * * @since 3.9.0 */ public function onPrivacyExportRequest(PrivacyTableRequest $request, JUser $user = null) { if (!$user) { return array(); } $domain = $this->createDomain('user_action_logs', 'joomla_user_action_logs_data'); $query = $this->db->getQuery(true) ->select('a.*, u.name') ->from('#__action_logs AS a') ->innerJoin('#__users AS u ON a.user_id = u.id') ->where($this->db->quoteName('a.user_id') . ' = ' . (int) $user->id); $this->db->setQuery($query); $data = $this->db->loadObjectList(); if (!count($data)) { return array(); } $data = ActionlogsHelper::getCsvData($data); $isFirst = true; foreach ($data as $item) { if ($isFirst) { $isFirst = false; continue; } $domain->addItem($this->createItemFromArray($item)); } return array($domain); } } actionlogs/actionlogs.xml 0000644 00000001437 15117001352 0011572 0 ustar 00 <?xml version="1.0" encoding="utf-8"?> <extension version="3.1" type="plugin" group="privacy" method="upgrade"> <name>plg_privacy_actionlogs</name> <author>Joomla! Project</author> <creationDate>July 2018</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> <files> <filename plugin="actionlogs">actionlogs.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_privacy_actionlogs.ini</language> <language tag="en-GB">en-GB.plg_privacy_actionlogs.sys.ini</language> </languages> </extension> consents/consents.php 0000644 00000002761 15117001352 0010746 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 */ defined('_JEXEC') or die; JLoader::register('PrivacyPlugin', JPATH_ADMINISTRATOR . '/components/com_privacy/helpers/plugin.php'); /** * Privacy plugin managing Joomla user consent data * * @since 3.9.0 */ class PlgPrivacyConsents extends PrivacyPlugin { /** * Processes an export request for Joomla core user consent data * * This event will collect data for the core `#__privacy_consents` table * * @param PrivacyTableRequest $request The request record being processed * @param JUser $user The user account associated with this request if available * * @return PrivacyExportDomain[] * * @since 3.9.0 */ public function onPrivacyExportRequest(PrivacyTableRequest $request, JUser $user = null) { if (!$user) { return array(); } $domain = $this->createDomain('consents', 'joomla_consent_data'); $query = $this->db->getQuery(true) ->select('*') ->from($this->db->quoteName('#__privacy_consents')) ->where($this->db->quoteName('user_id') . ' = ' . (int) $user->id) ->order($this->db->quoteName('created') . ' ASC'); $items = $this->db->setQuery($query)->loadAssocList(); foreach ($items as $item) { $domain->addItem($this->createItemFromArray($item)); } return array($domain); } } consents/consents.xml 0000644 00000001423 15117001352 0010751 0 ustar 00 <?xml version="1.0" encoding="utf-8"?> <extension version="3.9" type="plugin" group="privacy" method="upgrade"> <name>plg_privacy_consents</name> <author>Joomla! Project</author> <creationDate>July 2018</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> <files> <filename plugin="consents">consents.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_privacy_consents.ini</language> <language tag="en-GB">en-GB.plg_privacy_consents.sys.ini</language> </languages> </extension> contact/contact.php 0000644 00000003457 15117001353 0010350 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 */ defined('_JEXEC') or die; JLoader::register('PrivacyPlugin', JPATH_ADMINISTRATOR . '/components/com_privacy/helpers/plugin.php'); /** * Privacy plugin managing Joomla user contact data * * @since 3.9.0 */ class PlgPrivacyContact 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 PrivacyTableRequest $request The request record being processed * @param JUser $user The user account associated with this request if available * * @return PrivacyExportDomain[] * * @since 3.9.0 */ public function onPrivacyExportRequest(PrivacyTableRequest $request, JUser $user = null) { if (!$user && !$request->email) { return array(); } $domains = array(); $domain = $this->createDomain('user_contact', 'joomla_user_contact_data'); $domains[] = $domain; $query = $this->db->getQuery(true) ->select('*') ->from($this->db->quoteName('#__contact_details')) ->order($this->db->quoteName('ordering') . ' ASC'); if ($user) { $query->where($this->db->quoteName('user_id') . ' = ' . (int) $user->id); } else { $query->where($this->db->quoteName('email_to') . ' = ' . $this->db->quote($request->email)); } $items = $this->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 00000001415 15117001353 0010351 0 ustar 00 <?xml version="1.0" encoding="utf-8"?> <extension version="3.9" type="plugin" group="privacy" method="upgrade"> <name>plg_privacy_contact</name> <author>Joomla! Project</author> <creationDate>July 2018</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> <files> <filename plugin="contact">contact.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_privacy_contact.ini</language> <language tag="en-GB">en-GB.plg_privacy_contact.sys.ini</language> </languages> </extension> content/content.php 0000644 00000003210 15117001353 0010371 0 ustar 00 <?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 */ defined('_JEXEC') or die; JLoader::register('PrivacyPlugin', JPATH_ADMINISTRATOR . '/components/com_privacy/helpers/plugin.php'); /** * Privacy plugin managing Joomla user content data * * @since 3.9.0 */ class PlgPrivacyContent 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 PrivacyTableRequest $request The request record being processed * @param JUser $user The user account associated with this request if available * * @return PrivacyExportDomain[] * * @since 3.9.0 */ public function onPrivacyExportRequest(PrivacyTableRequest $request, JUser $user = null) { if (!$user) { return array(); } $domains = array(); $domain = $this->createDomain('user_content', 'joomla_user_content_data'); $domains[] = $domain; $query = $this->db->getQuery(true) ->select('*') ->from($this->db->quoteName('#__content')) ->where($this->db->quoteName('created_by') . ' = ' . (int) $user->id) ->order($this->db->quoteName('ordering') . ' ASC'); $items = $this->db->setQuery($query)->loadObjectList(); foreach ($items as $item) { $domain->addItem($this->createItemFromArray((array) $item)); } $domains[] = $this->createCustomFieldsDomain('com_content.article', $items); return $domains; } } content/content.xml 0000644 00000001415 15117001353 0010407 0 ustar 00 <?xml version="1.0" encoding="utf-8"?> <extension version="3.9" type="plugin" group="privacy" method="upgrade"> <name>plg_privacy_content</name> <author>Joomla! Project</author> <creationDate>July 2018</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> <files> <filename plugin="content">content.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_privacy_content.ini</language> <language tag="en-GB">en-GB.plg_privacy_content.sys.ini</language> </languages> </extension> message/message.php 0000644 00000003045 15117001353 0010323 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 */ defined('_JEXEC') or die; JLoader::register('PrivacyPlugin', JPATH_ADMINISTRATOR . '/components/com_privacy/helpers/plugin.php'); /** * Privacy plugin managing Joomla user messages * * @since 3.9.0 */ class PlgPrivacyMessage extends PrivacyPlugin { /** * Processes an export request for Joomla core user message * * This event will collect data for the message table * * @param PrivacyTableRequest $request The request record being processed * @param JUser $user The user account associated with this request if available * * @return PrivacyExportDomain[] * * @since 3.9.0 */ public function onPrivacyExportRequest(PrivacyTableRequest $request, JUser $user = null) { if (!$user) { return array(); } $domain = $this->createDomain('user_messages', 'joomla_user_messages_data'); $query = $this->db->getQuery(true) ->select('*') ->from($this->db->quoteName('#__messages')) ->where($this->db->quoteName('user_id_from') . ' = ' . (int) $user->id) ->orWhere($this->db->quoteName('user_id_to') . ' = ' . (int) $user->id) ->order($this->db->quoteName('date_time') . ' ASC'); $items = $this->db->setQuery($query)->loadAssocList(); foreach ($items as $item) { $domain->addItem($this->createItemFromArray($item)); } return array($domain); } } message/message.xml 0000644 00000001415 15117001353 0010333 0 ustar 00 <?xml version="1.0" encoding="utf-8"?> <extension version="3.9" type="plugin" group="privacy" method="upgrade"> <name>plg_privacy_message</name> <author>Joomla! Project</author> <creationDate>July 2018</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> <files> <filename plugin="message">message.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_privacy_message.ini</language> <language tag="en-GB">en-GB.plg_privacy_message.sys.ini</language> </languages> </extension> user/user.php 0000644 00000013507 15117001354 0007214 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 */ defined('_JEXEC') or die; use Joomla\CMS\User\UserHelper; use Joomla\Utilities\ArrayHelper; JLoader::register('PrivacyPlugin', JPATH_ADMINISTRATOR . '/components/com_privacy/helpers/plugin.php'); JLoader::register('PrivacyRemovalStatus', JPATH_ADMINISTRATOR . '/components/com_privacy/helpers/removal/status.php'); /** * Privacy plugin managing Joomla user data * * @since 3.9.0 */ class PlgPrivacyUser 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 PrivacyTableRequest $request The request record being processed * @param JUser $user The user account associated with this request if available * * @return PrivacyRemovalStatus * * @since 3.9.0 */ public function onPrivacyCanRemoveData(PrivacyTableRequest $request, JUser $user = null) { $status = new PrivacyRemovalStatus; if (!$user) { return $status; } if ($user->authorise('core.admin')) { $status->canRemove = false; $status->reason = JText::_('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 PrivacyTableRequest $request The request record being processed * @param JUser $user The user account associated with this request if available * * @return PrivacyExportDomain[] * * @since 3.9.0 */ public function onPrivacyExportRequest(PrivacyTableRequest $request, JUser $user = null) { if (!$user) { return array(); } /** @var JTableUser $userTable */ $userTable = JUser::getTable(); $userTable->load($user->id); $domains = array(); $domains[] = $this->createUserDomain($userTable); $domains[] = $this->createNotesDomain($userTable); $domains[] = $this->createProfileDomain($userTable); $domains[] = $this->createCustomFieldsDomain('com_users.user', array($userTable)); return $domains; } /** * Removes the data associated with a remove information request * * This event will pseudoanonymise the user account * * @param PrivacyTableRequest $request The request record being processed * @param JUser $user The user account associated with this request if available * * @return void * * @since 3.9.0 */ public function onPrivacyRemoveData(PrivacyTableRequest $request, JUser $user = null) { // This plugin only processes data for registered user accounts if (!$user) { return; } $pseudoanonymisedData = array( '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 JTableUser $user The JTableUser object to process * * @return PrivacyExportDomain * * @since 3.9.0 */ private function createNotesDomain(JTableUser $user) { $domain = $this->createDomain('user_notes', 'joomla_user_notes_data'); $query = $this->db->getQuery(true) ->select('*') ->from($this->db->quoteName('#__user_notes')) ->where($this->db->quoteName('user_id') . ' = ' . $this->db->quote($user->id)); $items = $this->db->setQuery($query)->loadAssocList(); // Remove user ID columns foreach (array('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 JTableUser $user The JTableUser object to process * * @return PrivacyExportDomain * * @since 3.9.0 */ private function createProfileDomain(JTableUser $user) { $domain = $this->createDomain('user_profile', 'joomla_user_profile_data'); $query = $this->db->getQuery(true) ->select('*') ->from($this->db->quoteName('#__user_profiles')) ->where($this->db->quoteName('user_id') . ' = ' . $this->db->quote($user->id)) ->order($this->db->quoteName('ordering') . ' ASC'); $items = $this->db->setQuery($query)->loadAssocList(); foreach ($items as $item) { $domain->addItem($this->createItemFromArray($item)); } return $domain; } /** * Create the domain for the user record * * @param JTableUser $user The JTableUser object to process * * @return PrivacyExportDomain * * @since 3.9.0 */ private function createUserDomain(JTableUser $user) { $domain = $this->createDomain('users', 'joomla_users_data'); $domain->addItem($this->createItemForUserTable($user)); return $domain; } /** * Create an item object for a JTableUser object * * @param JTableUser $user The JTableUser object to convert * * @return PrivacyExportItem * * @since 3.9.0 */ private function createItemForUserTable(JTableUser $user) { $data = array(); $exclude = array('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/user.xml 0000644 00000001372 15117001354 0007222 0 ustar 00 <?xml version="1.0" encoding="utf-8"?> <extension version="3.1" type="plugin" group="privacy" method="upgrade"> <name>plg_privacy_user</name> <author>Joomla! Project</author> <creationDate>May 2018</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> <files> <filename plugin="user">user.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_privacy_user.ini</language> <language tag="en-GB">en-GB.plg_privacy_user.sys.ini</language> </languages> </extension>
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка