1 | <?php |
||||||
2 | |||||||
3 | /* Divine CMS - Open source CMS for widespread use. |
||||||
4 | Copyright (c) 2019 Mykola Burakov ([email protected]) |
||||||
5 | |||||||
6 | See SOURCE.txt for other and additional information. |
||||||
7 | |||||||
8 | This file is part of Divine CMS. |
||||||
9 | |||||||
10 | This program is free software: you can redistribute it and/or modify |
||||||
11 | it under the terms of the GNU General Public License as published by |
||||||
12 | the Free Software Foundation, either version 3 of the License, or |
||||||
13 | (at your option) any later version. |
||||||
14 | |||||||
15 | This program is distributed in the hope that it will be useful, |
||||||
16 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
18 | GNU General Public License for more details. |
||||||
19 | |||||||
20 | You should have received a copy of the GNU General Public License |
||||||
21 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
||||||
22 | |||||||
23 | class ModelExtensionExtension extends \Divine\Engine\Core\Model |
||||||
0 ignored issues
–
show
|
|||||||
24 | { |
||||||
25 | public function getInstalled($type) |
||||||
0 ignored issues
–
show
|
|||||||
26 | { |
||||||
27 | $extension_data = array(); |
||||||
28 | |||||||
29 | $query = $this->db->query(" |
||||||
30 | SELECT |
||||||
31 | * |
||||||
32 | FROM |
||||||
33 | `extension` |
||||||
34 | WHERE |
||||||
35 | `type` = '" . $this->db->escape($type) . "' |
||||||
36 | ORDER BY `code` |
||||||
37 | "); |
||||||
38 | |||||||
39 | foreach ($query->rows as $result) { |
||||||
40 | $extension_data[] = $result['code']; |
||||||
41 | } |
||||||
42 | |||||||
43 | return $extension_data; |
||||||
44 | } |
||||||
45 | |||||||
46 | public function install($type, $code) |
||||||
47 | { |
||||||
48 | $extensions = $this->getInstalled($type); |
||||||
0 ignored issues
–
show
The method
getInstalled() does not exist on ModelExtensionExtension .
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces. This is most likely a typographical error or the method has been renamed. ![]() |
|||||||
49 | |||||||
50 | if (!in_array($code, $extensions)) { |
||||||
51 | $this->db->query(" |
||||||
52 | INSERT INTO extension |
||||||
53 | SET `type` = '" . $this->db->escape($type) . "', |
||||||
54 | `code` = '" . $this->db->escape($code) . "' |
||||||
55 | "); |
||||||
56 | } |
||||||
57 | } |
||||||
58 | |||||||
59 | public function uninstall($type, $code) |
||||||
60 | { |
||||||
61 | $this->db->query(" |
||||||
62 | DELETE |
||||||
63 | FROM extension |
||||||
64 | WHERE `type` = '" . $this->db->escape($type) . "' |
||||||
65 | AND `code` = '" . $this->db->escape($code) . "' |
||||||
66 | "); |
||||||
67 | $this->db->query(" |
||||||
68 | DELETE |
||||||
69 | FROM setting |
||||||
70 | WHERE `code` = '" . $this->db->escape($code) . "' |
||||||
71 | "); |
||||||
72 | } |
||||||
73 | } |
||||||
74 |
You can fix this by adding a namespace to your class:
When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.