| @@ -1,0 +1,45 @@ | ||
| 1 | +<?php | |
| 2 | + | |
| 3 | +namespace AcyMailing\Types; | |
| 4 | + | |
| 5 | +use AcyMailing\Core\AcymObject; | |
| 6 | + | |
| 7 | +class AclType extends AcymObject | |
| 8 | +{ | |
| 9 | + private array $groups; | |
| 10 | + | |
| 11 | + public function __construct() | |
| 12 | + { | |
| 13 | + parent::__construct(); | |
| 14 | + | |
| 15 | + $this->groups = acym_getGroups(); | |
| 16 | + | |
| 17 | + $allGroups = new \stdClass(); | |
| 18 | + $allGroups->value = 'all'; | |
| 19 | + $allGroups->text = acym_translation('ACYM_ALL'); | |
| 20 | + | |
| 21 | + $seprator = new \stdClass(); | |
| 22 | + $seprator->value = ''; | |
| 23 | + $seprator->text = '-----------------------------'; | |
| 24 | + $seprator->disable = true; | |
| 25 | + array_unshift($this->groups, $seprator); | |
| 26 | + array_unshift($this->groups, $allGroups); | |
| 27 | + } | |
| 28 | + | |
| 29 | + public function display(string $page): void | |
| 30 | + { | |
| 31 | + $name = 'acl_'.$page; | |
| 32 | + | |
| 33 | + $selected = explode(',', $this->config->get($name, ACYM_ADMIN_GROUP)); | |
| 34 | + | |
| 35 | + acym_selectMultiple( | |
| 36 | + $this->groups, | |
| 37 | + 'config['.$name.']', | |
| 38 | + $selected, | |
| 39 | + ['class' => 'acym__select'], | |
| 40 | + 'value', | |
| 41 | + 'text', | |
| 42 | + true | |
| 43 | + ); | |
| 44 | + } | |
| 45 | +} | |