| @@ -5,9 +5,9 @@ | ||
| 5 | 5 | use AcyMailing\Core\AcymClass; |
| 6 | 6 | |
| 7 | 7 | class RuleClass extends AcymClass |
| 8 | 8 | { |
| 9 | - const FINAL_RULE_ID = 17; | |
| 9 | + public const FINAL_RULE_ID = 17; | |
| 10 | 10 | |
| 11 | 11 | public function __construct() |
| 12 | 12 | { |
| 13 | 13 | parent::__construct(); |
| @@ -15,28 +15,29 @@ | ||
| 15 | 15 | $this->table = 'rule'; |
| 16 | 16 | $this->pkey = 'id'; |
| 17 | 17 | } |
| 18 | 18 | |
| 19 | - public function getAll($key = null, $active = false) | |
| 19 | + public function getAll(?string $key = null): array | |
| 20 | 20 | { |
| 21 | - $rules = acym_loadObjectList('SELECT * FROM `#__acym_rule` '.($active ? 'WHERE active = 1' : '').' ORDER BY `ordering` ASC'); | |
| 21 | + $rules = acym_loadObjectList('SELECT * FROM `#__acym_rule` ORDER BY `ordering` ASC'); | |
| 22 | 22 | |
| 23 | 23 | foreach ($rules as $i => $rule) { |
| 24 | - $rules[$i] = $this->_prepareRule($rule); | |
| 24 | + $rules[$i] = $this->prepareRule($rule); | |
| 25 | 25 | } |
| 26 | 26 | |
| 27 | 27 | return $rules; |
| 28 | 28 | } |
| 29 | 29 | |
| 30 | - public function getOneById($id) | |
| 30 | + public function getOneById(int $id): ?object | |
| 31 | 31 | { |
| 32 | 32 | $rule = acym_loadObject('SELECT * FROM `#__acym_rule` WHERE `id` = '.intval($id)); |
| 33 | 33 | |
| 34 | - return $this->_prepareRule($rule); | |
| 34 | + return empty($rule) ? null : $this->prepareRule($rule); | |
| 35 | 35 | } |
| 36 | 36 | |
| 37 | - private function _prepareRule($rule) | |
| 37 | + private function prepareRule(object $rule): object | |
| 38 | 38 | { |
| 39 | + //We have a rule from the database, let's prepare it to be displayed nicely | |
| 39 | 40 | $columns = ['executed_on', 'action_message', 'action_user']; |
| 40 | 41 | foreach ($columns as $oneColumn) { |
| 41 | 42 | if (!empty($rule->$oneColumn)) { |
| 42 | 43 | $rule->$oneColumn = json_decode($rule->$oneColumn, true); |
| @@ -45,23 +46,23 @@ | ||
| 45 | 46 | |
| 46 | 47 | return $rule; |
| 47 | 48 | } |
| 48 | 49 | |
| 49 | - public function save($rule) | |
| 50 | + public function save(object $element): ?int | |
| 50 | 51 | { |
| 51 | - if (empty($rule)) { | |
| 52 | - return false; | |
| 52 | + if (empty($element)) { | |
| 53 | + return null; | |
| 53 | 54 | } |
| 54 | 55 | |
| 55 | - return parent::save($rule); | |
| 56 | + return parent::save($element); | |
| 56 | 57 | } |
| 57 | 58 | |
| 58 | - public function getOrderingNumber() | |
| 59 | + public function getOrderingNumber(): int | |
| 59 | 60 | { |
| 60 | - return acym_loadResult('SELECT COUNT(`id`) FROM #__acym_rule'); | |
| 61 | + return (int)acym_loadResult('SELECT COUNT(`id`) FROM #__acym_rule'); | |
| 61 | 62 | } |
| 62 | 63 | |
| 63 | - public function cleanTable() | |
| 64 | + public function cleanTable(): void | |
| 64 | 65 | { |
| 65 | 66 | acym_query('TRUNCATE TABLE `#__acym_rule`'); |
| 66 | 67 | } |
| 67 | 68 | } |