Spaces:
No application file
No application file
| declare(strict_types=1); | |
| namespace Mautic\IntegrationsBundle\Sync\Notification\Helper; | |
| use Doctrine\DBAL\Connection; | |
| class UserHelper | |
| { | |
| public function __construct( | |
| private Connection $connection | |
| ) { | |
| } | |
| public function getAdminUsers(): array | |
| { | |
| $qb = $this->connection->createQueryBuilder(); | |
| $results = $qb->select('u.id') | |
| ->from(MAUTIC_TABLE_PREFIX.'users', 'u') | |
| ->join('u', MAUTIC_TABLE_PREFIX.'roles', 'r', 'r.id = u.role_id') | |
| ->where( | |
| $qb->expr()->and( | |
| $qb->expr()->eq('r.is_published', 1), | |
| $qb->expr()->eq('r.is_admin', 1), | |
| $qb->expr()->eq('u.is_published', 1) | |
| ) | |
| ) | |
| ->executeQuery() | |
| ->fetchAllAssociative(); | |
| $admins = []; | |
| foreach ($results as $result) { | |
| $admins[] = (int) $result['id']; | |
| } | |
| return $admins; | |
| } | |
| } | |