From 7d8ec5d8c58a75f8fabf0a138700645bccc3c27b Mon Sep 17 00:00:00 2001 From: Arnaud Fornerot Date: Tue, 4 Oct 2022 15:58:21 +0200 Subject: [PATCH] fix(fixtureavatar): resolution csfixer --- src/Controller/UserController.php | 2 +- src/DataFixtures/AppFixtures.php | 19 +++++++++---------- src/EventListener/ExceptionListener.php | 20 ++++++++++---------- src/Service/LdapService.php | 24 ++++++++++++++++++++---- 4 files changed, 40 insertions(+), 25 deletions(-) diff --git a/src/Controller/UserController.php b/src/Controller/UserController.php index b039b7b..5dd8773 100644 --- a/src/Controller/UserController.php +++ b/src/Controller/UserController.php @@ -771,7 +771,7 @@ class UserController extends AbstractController throw $this->createAccessDeniedException('Permission denied'); break; - + case 'all': if ($this->getUser()->getId() != $entity->getId()) { throw $this->createAccessDeniedException('Permission denied'); diff --git a/src/DataFixtures/AppFixtures.php b/src/DataFixtures/AppFixtures.php index 6928402..38dad3a 100644 --- a/src/DataFixtures/AppFixtures.php +++ b/src/DataFixtures/AppFixtures.php @@ -8,18 +8,18 @@ use App\Entity\Niveau03; use App\Entity\Niveau04; use App\Entity\User; use App\Entity\UserModo; +use App\Service\MinioService; use Doctrine\Bundle\FixturesBundle\Fixture; use Doctrine\ORM\Id\AssignedGenerator; use Doctrine\ORM\Mapping\ClassMetadata; use Doctrine\Persistence\ObjectManager; +use LasseRafn\InitialAvatarGenerator\InitialAvatar; use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Output\BufferedOutput; use Symfony\Component\Console\Output\ConsoleOutput; -use Symfony\Component\HttpKernel\KernelInterface; -use LasseRafn\InitialAvatarGenerator\InitialAvatar; -use App\Service\MinioService; use Symfony\Component\Filesystem\Filesystem; +use Symfony\Component\HttpKernel\KernelInterface; class AppFixtures extends Fixture { @@ -53,8 +53,8 @@ class AppFixtures extends Fixture $manager->flush(); // Color - $this->colorbg=$manager->getRepository("App\Entity\Config")->find("colorbgbodydark")->getValue(); - $this->colorft=$manager->getRepository("App\Entity\Config")->find("colorfttitledark")->getValue(); + $this->colorbg = $manager->getRepository("App\Entity\Config")->find('colorbgbodydark')->getValue(); + $this->colorft = $manager->getRepository("App\Entity\Config")->find('colorfttitledark')->getValue(); // app:Synchro $manager->clear(); @@ -250,7 +250,6 @@ class AppFixtures extends Fixture $user->setNiveau01($niveau02->getNiveau01()); $user->setNiveau02($niveau02); - $this->generateavatar($username); $user->setAvatar($username.'.png'); @@ -290,7 +289,6 @@ class AppFixtures extends Fixture $this->generateavatar($username); $user->setAvatar($username.'.png'); - $manager->flush(); } @@ -364,10 +362,11 @@ class AppFixtures extends Fixture return $r; } - private function generateavatar($username) { + private function generateavatar($username) + { $avatar = new InitialAvatar(); $image = $avatar->name($username)->height(100)->width(100)->background($this->colorbg)->color($this->colorft)->generate(); - file_put_contents($this->kernel->getProjectDir().'/var/tmp/avatar/'.$username.'.png',$image->stream('png', 90)); - $this->minio->upload($this->kernel->getProjectDir().'/var/tmp/avatar/'.$username.'.png', 'avatar/'.$username.'.png', true); + file_put_contents($this->kernel->getProjectDir().'/var/tmp/avatar/'.$username.'.png', $image->stream('png', 90)); + $this->minio->upload($this->kernel->getProjectDir().'/var/tmp/avatar/'.$username.'.png', 'avatar/'.$username.'.png', true); } } diff --git a/src/EventListener/ExceptionListener.php b/src/EventListener/ExceptionListener.php index 89f4916..89c6de6 100644 --- a/src/EventListener/ExceptionListener.php +++ b/src/EventListener/ExceptionListener.php @@ -1,22 +1,23 @@ router=$router; + public function __construct(UrlGeneratorInterface $router) + { + $this->router = $router; } public static function getSubscribedEvents(): array @@ -32,7 +33,7 @@ class ExceptionListener implements EventSubscriberInterface public function onKernelException(ExceptionEvent $event): void { $exception = $event->getThrowable(); - if (!$exception instanceof AccessDeniedException&&!$exception instanceof NotFoundHttpException) { + if (!$exception instanceof AccessDeniedException && !$exception instanceof NotFoundHttpException) { return; } @@ -40,6 +41,5 @@ class ExceptionListener implements EventSubscriberInterface // optionally set the custom response $event->setResponse($response); - } -} \ No newline at end of file +} diff --git a/src/Service/LdapService.php b/src/Service/LdapService.php index ba182a8..66186be 100644 --- a/src/Service/LdapService.php +++ b/src/Service/LdapService.php @@ -157,6 +157,8 @@ class LdapService break; case 'basedn': return $this->basedn; break; + case 'baseorganisation': return $this->baseorganisation; + break; case 'filteruser': return $this->filteruser; break; } @@ -187,12 +189,26 @@ class LdapService return $this->resultToArray($result); } - public function deleteByDN($dn) + public function deleteByDN($dn, $recursive = false) { $connection = $this->connect(); - $removed = ldap_delete($connection, $dn); - if (!$removed) { - $this->ldapError(); + if (false == $recursive) { + $removed = ldap_delete($connection, $dn); + if (!$removed) { + $this->ldapError(); + } + } else { + // searching for sub entries + $sr = ldap_list($connection, $dn, 'ObjectClass=*', ['']); + $info = ldap_get_entries($connection, $sr); + for ($i = 0; $i < $info['count']; ++$i) { + $result = $this->deleteByDN($info[$i]['dn'], $recursive); + if (!$result) { + return $result; + } + } + + return ldap_delete($connection, $dn); } }