src/EventSubscriber/ObjectDeleteListener.php line 9

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use Pimcore\Db;
  4. use Pimcore\Event\Model\DataObjectEvent;
  5. use Pimcore\Model\DataObject\PublicUser;
  6. class ObjectDeleteListener 
  7. {
  8.     public function onPreDelete(DataObjectEvent $user)
  9.     {
  10.         $deletedObject $user->getObject();
  11.         // Check if the deleted element is an instance of AbstractObject
  12.         if ($deletedObject instanceof PublicUser) {
  13.             
  14.             // Perform SQL operations to delete permissions from your custom SQL table
  15.             $this->deletePermissions($deletedObject);
  16.         }
  17.     }
  18.     private function deletePermissions$deletedObject)
  19.     {
  20.         // Implement your logic to delete permissions from the SQL table
  21.         // You can use standard SQL queries or an ORM if you are using one
  22.         $db Db::get();
  23.         $db->executeUpdate("DELETE FROM `user_policy` WHERE user_id = ? AND is_allowed = 1", [$deletedObject->getId()]);
  24.     }
  25. }