src/EventSubscriber/PublicUserShaListener.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use Pimcore\Mail;
  4. use Pimcore\Model\DataObject;
  5. use App\Model\DataObject\Customer;
  6. use Pimcore\Event\Model\DataObjectEvent;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. class PublicUserShaListener
  9. {
  10.     // public static function getSubscribedEvents()
  11.     // {
  12.     //     return [
  13.     //         DataObjectEvent::class => 'onObjectPublish',
  14.     //     ];
  15.     // }
  16.     public function onObjectPreUpdate(DataObjectEvent $publicUser)
  17.     {
  18.         $object $publicUser->getObject();
  19.         if (($object instanceof Customer)) {
  20.             if ($object->getUserType() == "internal") {
  21.                 $object->setParent(DataObject\Service::createFolderByPath("/UserManagement/Users"));
  22.                 $object->setUserId("");
  23.                 $object->setSecretKey("");
  24.                 // $object->Save();
  25.             } elseif ($object->getUserType() == "public") {
  26.                 $userHashHmac hash_hmac('ripemd160''NCM Public API User Auth key generate'$object->getId());
  27.                 // Generate an SHA hash for the user ID and secret key
  28.                 $userHashSecrect hash('sha256'$object->getId() . $userHashHmac);
  29.                 //$object->setParent(DataObject\Service::createFolderByPath("/UserManagement/PublicUsers"));
  30.                 $object->setUserId($userHashHmac);
  31.                 $object->setSecretKey($userHashSecrect);
  32.                 $object->setOmitMandatoryCheck(true);
  33.                 $object->Save();
  34.             }
  35.         }
  36.     }
  37. }