diff --git a/README.md b/README.md index 14e238222..49a7be5ee 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ La documentazione ufficiale è disponibile all'indirizzo = 5.6 -- MySQL >= 5.0 +- MySQL >= 5.6.5 Per ulteriori informazioni sui pacchetti che forniscono questi elementi di default, visitare la sezione [Installazione](https://devcode-it.github.io/openstamanager/installazione.html) della documentazione. diff --git a/docs/Installazione.md b/docs/Installazione.md index b59bbeeec..108a93b3c 100644 --- a/docs/Installazione.md +++ b/docs/Installazione.md @@ -21,7 +21,7 @@ currentMenu: installazione L'installazione del gestionale richiede la presenza di un server web con abilitato il [DBMS MySQL](https://www.mysql.com) e il linguaggio di programmazione [PHP](http://php.net). - PHP >= 5.6 -- MySQL >= 5.0 +- MySQL >= 5.6.5 Per ulteriori informazioni sui pacchetti che forniscono questi elementi di default, visitare la sezione [Installazione](https://devcode-it.github.io/openstamanager/installazione.html) della documentazione. diff --git a/modules/aggiornamenti/actions.php b/modules/aggiornamenti/actions.php index 0400dd695..ea9be01bc 100644 --- a/modules/aggiornamenti/actions.php +++ b/modules/aggiornamenti/actions.php @@ -38,31 +38,25 @@ switch (post('op')) { break; case 'disable': - $dbo->query('UPDATE zz_modules SET enabled=0 WHERE id='.prepare($id)); - - $rs = $dbo->fetchArray('SELECT id, name FROM zz_modules WHERE id='.prepare($id)); - $modulo = $rs[0]['name']; + $dbo->query('UPDATE `zz_modules` SET `enabled` = 0 WHERE `id` = '.prepare($id).' OR `parent` = '.prepare($id)); $_SESSION['infos'][] = tr('Modulo _MODULE_ disabilitato!', [ - '_MODULE_' => '"'.$modulo.'"', + '_MODULE_' => '"'.Modules::get($id)['name'].'"', ]); break; case 'enable': - $dbo->query('UPDATE zz_modules SET enabled=1 WHERE id='.prepare($id)); - - $rs = $dbo->fetchArray('SELECT id, name FROM zz_modules WHERE id='.prepare($id)); - $modulo = $rs[0]['name']; + $dbo->query('UPDATE `zz_modules` SET `enabled` = 1 WHERE `id` = '.prepare($id).' OR `parent` = '.prepare($id)); $_SESSION['infos'][] = tr('Modulo _MODULE_ abilitato!', [ - '_MODULE_' => '"'.$modulo.'"', + '_MODULE_' => '"'.Modules::get($id)['name'].'"', ]); break; case 'disable_widget': - $dbo->query('UPDATE zz_widgets SET enabled=0 WHERE id='.prepare($id)); + $dbo->query('UPDATE zz_widgets SET enabled = 0 WHERE id = '.prepare($id)); $rs = $dbo->fetchArray('SELECT id, name FROM zz_widgets WHERE id='.prepare($id)); $widget = $rs[0]['name']; diff --git a/modules/aggiornamenti/edit.php b/modules/aggiornamenti/edit.php index 68688d9b2..d897529dc 100644 --- a/modules/aggiornamenti/edit.php +++ b/modules/aggiornamenti/edit.php @@ -48,7 +48,7 @@ if (get_var('Attiva aggiornamenti')) {

'.tr('Carica un aggiornamento').'

-
+ @@ -70,7 +70,7 @@ if (get_var('Attiva aggiornamenti')) {

'.tr('Carica un nuovo modulo').'

- + @@ -100,7 +100,7 @@ echo ' '.tr('Opzioni').' '; -$modules = $dbo->fetchArray('SELECT * FROM zz_modules WHERE parent IS NULL ORDER BY `order` ASC'); +$modules = Modules::getHierarchy(); $osm_version = Update::getVersion(); @@ -118,9 +118,9 @@ foreach ($modules as $module) { // Possibilità di disabilitare o abilitare i moduli tranne quello degli aggiornamenti if ($module['id'] != $id_module) { if ($module['enabled']) { - $stato = "".$stato."\n"; + $stato = "".$stato."\n"; } else { - $stato = "".$stato."\n"; + $stato = "".$stato."\n"; } } @@ -153,7 +153,7 @@ foreach ($modules as $module) { // Possibilità di disinstallare solo se il modulo non è tra quelli predefiniti if (empty($module['default'])) { echo " - "; + "; } else { echo " @@ -166,71 +166,7 @@ foreach ($modules as $module) { '; // Prima di cambiare modulo verifico se ci sono sottomoduli - $submodules = $dbo->fetchArray('SELECT * FROM zz_modules WHERE parent='.prepare($module['id']).' ORDER BY `order` ASC'); - foreach ($submodules as $sub) { - // STATO - if (!empty($sub['enabled'])) { - $text = tr('Abilitato'); - $text .= ($sub['id'] != $id_module) ? '. '.tr('Clicca per disabilitarlo').'...' : ''; - $stato = ''; - } else { - $stato = ''; - $class = 'warning'; - } - - // Possibilità di disabilitare o abilitare i moduli tranne quello degli aggiornamenti - if ($sub['id'] != $id_module) { - if ($sub['enabled']) { - $stato = "".$stato."\n"; - } else { - $stato = "".$stato."\n"; - } - } - - // COMPATIBILITA' - $compatibilities = explode(',', $sub['compatibility']); - // Controllo per ogni versione se la regexp combacia per dire che è compatibile o meno - $comp = false; - - foreach ($compatibilities as $compatibility) { - $comp = (preg_match('/'.$compatibility.'/', $osm_version)) ? true : $comp; - } - - if ($comp) { - $compatible = ''; - ($sub['enabled']) ? $class = 'success' : $class = 'warning'; - } else { - $compatible = ''; - $class = 'danger'; - } - - echo ' - -   - '.$sub['name'].' - '.$sub['version'].' - '.$stato.' - '.$compatible.''; - - echo ' - '; - - // Possibilità di disinstallare solo se il modulo non è tra quelli predefiniti - if (empty($sub['default'])) { - echo " - - - "; - } else { - echo " - - - "; - } - - echo ' - - '; - } + echo submodules($module['children']); } echo ' @@ -273,9 +209,9 @@ foreach ($widgets as $widget) { // Possibilità di disabilitare o abilitare i moduli tranne quello degli aggiornamenti if ($widget['enabled']) { - $stato = "".$stato."\n"; + $stato = "".$stato."\n"; } else { - $stato = "".$stato."\n"; + $stato = "".$stato."\n"; } // POSIZIONE @@ -287,10 +223,10 @@ foreach ($widgets as $widget) { if ($widget['location'] == 'controller_right') { $posizione = " "; - $posizione = "".$posizione."\n"; + $posizione = "".$posizione."\n"; } elseif ($widget['location'] == 'controller_top') { $posizione = " '; - $posizione = "".$posizione."\n"; + $posizione = "".$posizione."\n"; } echo ' diff --git a/modules/aggiornamenti/modutil.php b/modules/aggiornamenti/modutil.php new file mode 100644 index 000000000..fcda5b921 --- /dev/null +++ b/modules/aggiornamenti/modutil.php @@ -0,0 +1,77 @@ +'; + } else { + $stato = ''; + $class = 'warning'; + } + + // Possibilità di disabilitare o abilitare i moduli tranne quello degli aggiornamenti + if ($sub['id'] != $id_module) { + if ($sub['enabled']) { + $stato = "".$stato."\n"; + } else { + $stato = "".$stato."\n"; + } + } + + // COMPATIBILITA' + // Controllo per ogni versione se la regexp combacia per dire che è compatibile o meno + $compatibilities = explode(',', $sub['compatibility']); + + $comp = false; + foreach ($compatibilities as $compatibility) { + $comp = (preg_match('/'.$compatibility.'/', $osm_version)) ? true : $comp; + } + + if ($comp) { + $compatible = ''; + ($sub['enabled']) ? $class = 'success' : $class = 'warning'; + } else { + $compatible = ''; + $class = 'danger'; + } + + $result .= ' + + '.str_repeat(' ', $depth * 4).'- '.$sub['name'].' + '.$sub['version'].' + '.$stato.' + '.$compatible.''; + + $result .= ' + '; + + // Possibilità di disinstallare solo se il modulo non è tra quelli predefiniti + if (empty($sub['default'])) { + $result .= " + + + "; + } else { + $result .= " + + + "; + } + + $result .= ' + + '; + + $result .= submodules($sub['children'], $depth + 1); + } + + return $result; +} diff --git a/src/Modules.php b/src/Modules.php index 1b3524cd6..d340d4263 100644 --- a/src/Modules.php +++ b/src/Modules.php @@ -285,14 +285,14 @@ class Modules $pos = array_search($module['t'.$actual.'.id'], array_column($data, 'id')); if ($pos === false && !empty($module['t'.$actual.'.id'])) { $array = self::get($module['t'.$actual.'.id']); - $array['childrens'] = []; + $array['children'] = []; $data[] = $array; $pos = count($data) - 1; } if (!empty($module['t'.($actual + 1).'.id'])) { - $data[$pos]['childrens'] = self::buildArray($module, $data[$pos]['childrens'], $actual + 1); + $data[$pos]['children'] = self::buildArray($module, $data[$pos]['children'], $actual + 1); } } @@ -341,7 +341,7 @@ class Modules $active = ($actual == $element['name']); $show = (self::getPermission($element['id']) != '-' && !empty($element['enabled'])) ? true : false; - $submenus = $element['childrens']; + $submenus = $element['children']; if (!empty($submenus)) { $temp = ''; foreach ($submenus as $submenu) {