![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/module-user/Setup/Patch/Data/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\User\Setup\Patch\Data; use Magento\Framework\Console\Cli; use Magento\Framework\Encryption\Encryptor; use Magento\Framework\Setup\Patch\DataPatchInterface; use Magento\Framework\Setup\Patch\PatchVersionInterface; class UpgradePasswordHashes implements DataPatchInterface, PatchVersionInterface { /** * @var \Magento\Framework\Setup\ModuleDataSetupInterface */ private $moduleDataSetup; /** * PatchInitial constructor. * @param \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup */ public function __construct( \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup ) { $this->moduleDataSetup = $moduleDataSetup; } /** * @inheritdoc */ public function apply() { $this->moduleDataSetup->getConnection()->startSetup(); $this->upgradeHash(); $this->moduleDataSetup->getConnection()->endSetup(); return Cli::RETURN_SUCCESS; } /** * @inheritdoc */ public static function getDependencies() { return []; } /** * @inheritdoc */ public static function getVersion() { return '2.0.1'; } /** * @inheritdoc */ public function getAliases() { return []; } /** * Upgrade password hashes. */ private function upgradeHash() { $connection = $this->moduleDataSetup->getConnection(); $customerEntityTable = $this->moduleDataSetup->getTable('admin_user'); $select = $connection->select()->from( $customerEntityTable, ['user_id', 'password'] ); $customers = $connection->fetchAll($select); foreach ($customers as $customer) { list($hash, $salt) = explode(Encryptor::DELIMITER, $customer['password'] ?? ''); $newHash = $customer['password']; if (strlen($hash) === 32) { $newHash = implode(Encryptor::DELIMITER, [$hash, $salt, Encryptor::HASH_VERSION_MD5]); } elseif (strlen($hash) === 64) { $newHash = implode(Encryptor::DELIMITER, [$hash, $salt, Encryptor::HASH_VERSION_SHA256]); } $bind = ['password' => $newHash]; $where = ['user_id = ?' => (int)$customer['user_id']]; $connection->update($customerEntityTable, $bind, $where); } } }