You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/Models/Module.php
+14-10Lines changed: 14 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -121,16 +121,20 @@ public function getViewsAttribute()
121
121
{
122
122
$user = \Auth::user();
123
123
124
-
$views = database()->fetchArray('SELECT * FROM `zz_views` LEFT JOIN `zz_views_lang` ON (`zz_views`.`id` = `zz_views_lang`.`id_record` AND `zz_views_lang`.`id_lang` = '.prepare(Locale::getDefault()->id).') WHERE `id_module` = :module_id AND
125
-
`zz_views`.`id` IN (
126
-
SELECT `id_vista` FROM `zz_group_view` WHERE `id_gruppo` = (
127
-
SELECT `idgruppo` FROM `zz_users` WHERE `id` = :user_id
128
-
))
129
-
ORDER BY `order` ASC', [
130
-
'module_id' => $this->id,
131
-
'user_id' => $user->id,
132
-
]);
133
-
124
+
$views = database()->fetchArray('SELECT
125
+
`zz_views`.*,
126
+
`zz_views_lang`.*
127
+
FROM
128
+
`zz_views`
129
+
LEFT JOIN `zz_views_lang` ON (`zz_views`.`id` = `zz_views_lang`.`id_record` AND `zz_views_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).')
130
+
LEFT JOIN `zz_group_view` ON `zz_views`.`id` = `zz_group_view`.`id_vista`
131
+
LEFT JOIN `zz_users` ON `zz_users`.`idgruppo` = `zz_group_view`.`id_gruppo`
Copy file name to clipboardExpand all lines: src/Modules.php
+23-6Lines changed: 23 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,7 @@
20
20
21
21
useModels\Module;
22
22
useUtil\Query;
23
+
useIlluminate\Support\Collection;
23
24
24
25
/**
25
26
* Classe per la gestione delle informazioni relative ai moduli installati.
@@ -36,21 +37,26 @@ class Modules
36
37
/** @var array Elenco gerarchico dei moduli */
37
38
protectedstatic$hierarchy;
38
39
40
+
/** @var Collection Elenco dei moduli disponibili */
41
+
protectedstatic$all_modules;
42
+
39
43
/**
40
44
* Restituisce tutte le informazioni di tutti i moduli installati.
41
45
*
42
46
* @return array
43
47
*/
44
48
publicstaticfunctiongetModules()
45
49
{
46
-
$results = Module::getAll();
47
-
50
+
if (!isset(self::$all_modules)) {
51
+
self::$all_modules = Module::getAll();
52
+
}
53
+
48
54
// Caricamento dei plugin
49
-
if (!$results->first()->relationLoaded('plugins')) {
50
-
$results->load('plugins');
55
+
if (!self::$all_modules->first()->relationLoaded('plugins')) {
56
+
self::$all_modules->load('plugins');
51
57
}
52
58
53
-
return$results;
59
+
returnself::$all_modules;
54
60
}
55
61
56
62
/**
@@ -136,7 +142,18 @@ public static function getAdditionals($module, $include_segments = true)
136
142
$additionals['WHR'] = [];
137
143
$additionals['HVN'] = [];
138
144
139
-
$results = $database->fetchArray('SELECT * FROM `zz_group_module` LEFT JOIN `zz_group_module_lang` ON (`zz_group_module`.`id` = `zz_group_module_lang`.`id_record` AND `zz_group_module_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `idgruppo` = (SELECT `idgruppo` FROM `zz_users` WHERE `id` = '.prepare($user['id']).') AND `enabled` = 1 AND `idmodule` = '.prepare($module['id']));
145
+
$results = $database->fetchArray('SELECT
146
+
`zz_group_module`.`clause`,
147
+
`zz_group_module`.`position`
148
+
FROM
149
+
`zz_group_module`
150
+
LEFT JOIN `zz_group_module_lang` ON (`zz_group_module`.`id` = `zz_group_module_lang`.`id_record` AND `zz_group_module_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
151
+
LEFT JOIN `zz_users` ON `zz_users`.`idgruppo` = `zz_group_module`.`idgruppo`
@@ -777,12 +777,17 @@ protected static function getViews($element)
777
777
778
778
$user = \Auth::user();
779
779
780
-
$views = $database->fetchArray('SELECT *, `zz_views`.`id` FROM `zz_views` LEFT JOIN `zz_views_lang` ON (`zz_views`.`id` = `zz_views_lang`.`id_record` AND `zz_views_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).') WHERE `id_module`='.prepare($element['id']).' AND
781
-
`zz_views`.`id` IN (
782
-
SELECT `id_vista` FROM `zz_group_view` WHERE `id_gruppo`=(
783
-
SELECT `idgruppo` FROM `zz_users` WHERE `id`='.prepare($user['id']).'
LEFT JOIN `zz_views_lang` ON (`zz_views`.`id` = `zz_views_lang`.`id_record` AND `zz_views_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).')
784
+
LEFT JOIN `zz_group_view` ON `zz_views`.`id` = `zz_group_view`.`id_vista`
785
+
LEFT JOIN `zz_users` ON `zz_users`.`idgruppo` = `zz_group_view`.`id_gruppo`
0 commit comments