mirror of
https://github.com/devcode-it/openstamanager.git
synced 2024-12-28 00:30:45 +01:00
459f75cab8
Aggiunto supporto al logo stampe caricabile come allegato. Miglioramento della gestione dei dati di input. Completata gestione AJAX degli allegati.
78 lines
3.6 KiB
PHP
78 lines
3.6 KiB
PHP
<?php
|
|
|
|
function submodules($list, $depth = 1)
|
|
{
|
|
$osm_version = Update::getVersion();
|
|
|
|
$id_module = App::getCurrentModule()['id'];
|
|
|
|
foreach ($list as $sub) {
|
|
// STATO
|
|
if (!empty($sub['enabled'])) {
|
|
$text = tr('Abilitato');
|
|
$text .= ($sub['id'] != $id_module) ? '. '.tr('Clicca per disabilitarlo').'...' : '';
|
|
$stato = '<i class="fa fa-cog fa-spin text-success" data-toggle="tooltip" title="'.$text.'"></i>';
|
|
} else {
|
|
$stato = '<i class="fa fa-cog text-warning" data-toggle="tooltip" title="'.tr('Non abilitato').'"></i>';
|
|
$class = 'warning';
|
|
}
|
|
|
|
// Possibilità di disabilitare o abilitare i moduli tranne quello degli aggiornamenti
|
|
if ($sub['id'] != $id_module) {
|
|
if ($sub['enabled']) {
|
|
$stato = "<a href='javascript:;' onclick=\"if( confirm('".tr('Disabilitare questo modulo?')."') ){ $.post( '".ROOTDIR.'/actions.php?id_module='.$id_module."', { op: 'disable', id: '".$sub['id']."' }, function(response){ location.href='".ROOTDIR.'/controller.php?id_module='.$id_module."'; }); }\">".$stato."</a>\n";
|
|
} else {
|
|
$stato = "<a href='javascript:;' onclick=\"if( confirm('".tr('Abilitare questo modulo?')."') ){ $.post( '".ROOTDIR.'/actions.php?id_module='.$id_module."', { op: 'enable', id: '".$sub['id']."' }, function(response){ location.href='".ROOTDIR.'/controller.php?id_module='.$id_module."'; }); }\"\">".$stato."</a>\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 = '<i class="fa fa-check-circle text-success" data-toggle="tooltip" title="'.tr('Compatibile').'"></i>';
|
|
($sub['enabled']) ? $class = 'success' : $class = 'warning';
|
|
} else {
|
|
$compatible = '<i class="fa fa-warning text-danger" data-toggle="tooltip" title="'.tr('Non compatibile!').tr('Questo modulo è compatibile solo con le versioni').': '.$sub['compatibility'].'"></i>';
|
|
$class = 'danger';
|
|
}
|
|
|
|
$result .= '
|
|
<tr class="'.$class.'">
|
|
<td><small>'.str_repeat(' ', $depth * 4).'- '.$sub['title'].'</small></td>
|
|
<td align="right">'.$sub['version'].'</td>
|
|
<td align="center">'.$stato.'</td>
|
|
<td align="center">'.$compatible.'</td>';
|
|
|
|
$result .= '
|
|
<td>';
|
|
|
|
// Possibilità di disinstallare solo se il modulo non è tra quelli predefiniti
|
|
if (empty($sub['default'])) {
|
|
$result .= "
|
|
<a href=\"javascript:;\" data-toggle='tooltip' title=\"".tr('Disinstalla')."...\" onclick=\"if( confirm('".tr('Vuoi disinstallare questo modulo?').' '.tr('Tutti i dati salvati andranno persi!')."') ){ if( confirm('".tr('Sei veramente sicuro?')."') ){ $.post( '".ROOTDIR.'/actions.php?id_module='.$id_module."', { op: 'uninstall', id: '".$sub['id']."' }, function(response){ location.href='".ROOTDIR.'/controller.php?id_module='.$id_module."'; }); } }\">
|
|
<i class='fa fa-trash'></i>
|
|
</a>";
|
|
} else {
|
|
$result .= "
|
|
<a class='disabled text-muted'>
|
|
<i class='fa fa-trash'></i>
|
|
</a>";
|
|
}
|
|
|
|
$result .= '
|
|
</td>
|
|
</tr>';
|
|
|
|
$result .= submodules($sub['children'], $depth + 1);
|
|
}
|
|
|
|
return $result;
|
|
}
|