PluginProbe
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress / 11.1.0
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress v11.1.0
11.1.1 11.1.0 11.0.5 11.0.4 11.0.3 11.0.2 11.0.1 11.0.0 10.11.1 10.11.0 10.10.2 10.10.1 10.10.0 10.9.1 trunk 10.0.0 10.0.1 10.1.0 10.1.1 10.1.2 10.1.3 10.1.4 10.2.0 10.2.1 10.2.2 All 62 releases
← All changes | back/Classes/ZoneClass.php +25 -24 10.1.4 → 11.1.0 View file →
@@ -13,44 +13,37 @@
13 13 $this->table = 'custom_zone';
14 14 $this->pkey = 'id';
15 15 }
16 16
17 - public function save($element)
17 + public function save(object $element): ?int
18 18 {
19 - $element = clone $element;
20 - $element->name = strip_tags($element->name);
21 - $element->content = base64_encode($element->content);
19 + $zone = clone $element;
20 + $zone->name = acym_stripTags($zone->name);
21 + $zone->content = base64_encode($zone->content);
22 22
23 - return parent::save($element);
23 + return parent::save($zone);
24 24 }
25 25
26 - public function getOneById($id)
26 + public function getOneById(int $id): ?object
27 27 {
28 28 $element = parent::getOneById($id);
29 29
30 - return $this->decodeContent($element);
30 + return empty($element) ? null : $this->decodeContent($element);
31 31 }
32 32
33 - public function getOneByName($name)
33 + public function getOneByName(string $name): ?object
34 34 {
35 35 $element = acym_loadObject('SELECT * FROM #__acym_custom_zone WHERE name = '.acym_escapeDB($name));
36 36
37 - return $this->decodeContent($element);
37 + return empty($element) ? null : $this->decodeContent($element);
38 38 }
39 39
40 - private function decodeContent($element)
41 - {
42 - if (empty($element->content)) return $element;
43 -
44 - $element->content = base64_decode($element->content);
45 -
46 - return $element;
47 - }
48 -
49 40 public function getAll(?string $key = null): array
50 41 {
51 42 $elements = parent::getAll();
52 - if (empty($elements)) return $elements;
43 + if (empty($elements)) {
44 + return $elements;
45 + }
53 46
54 47 foreach ($elements as $i => $element) {
55 48 $elements[$i] = $this->decodeContent($element);
56 49 }
@@ -57,21 +50,29 @@
57 50
58 51 return $elements;
59 52 }
60 53
61 - public function delete($elements)
54 + public function delete(array $elements): int
62 55 {
63 56 if (empty($elements)) return 0;
64 - if (!is_array($elements)) {
65 - $elements = [$elements];
66 - }
67 57
68 58 foreach ($elements as $oneElementId) {
69 59 $zone = $this->getOneById($oneElementId);
70 60 if (!empty($zone->image) && file_exists(ACYM_ROOT.$zone->image)) {
71 - unlink(ACYM_ROOT.$zone->image);
61 + acym_deleteFile(ACYM_ROOT.$zone->image);
72 62 }
73 63 }
74 64
75 65 return parent::delete($elements);
66 + }
67 +
68 + private function decodeContent(object $element): object
69 + {
70 + if (empty($element->content)) {
71 + return $element;
72 + }
73 +
74 + $element->content = base64_decode($element->content);
75 +
76 + return $element;
76 77 }
77 78 }