mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-02 17:07:01 +01:00
Aggiunta possibilità di creazione backup escludendo la cartella files
This commit is contained in:
parent
20a4c9dc2e
commit
cc834940d2
@ -79,5 +79,5 @@ if (in_array($id_cliente, $tipi_anagrafica) or in_array($id_fornitore, $tipi_ana
|
||||
if (in_array($id_agente, $tipi_anagrafica)) {
|
||||
// Aggiunta liquidazione provvigioni per agente
|
||||
echo '
|
||||
<button type="button" class="btn btn-primary" data-title="'.tr('Liquida Provvigioni').'" data-href="'.base_path().'/modules/anagrafiche/liquida_provvigioni.php?nome_stampa=Provvigioni&id_record='.$id_record.'" ><i class="fa fa-print"></i>'.tr(' Liquida Provvigioni').'</button>';
|
||||
<button type="button" class="btn btn-primary" data-title="'.tr('Liquida Provvigioni').'" data-href="'.base_path().'/modules/anagrafiche/liquida_provvigioni.php?nome_stampa=Provvigioni&id_record='.$id_record.'" ><i class="fa fa-print"></i> '.tr('Liquida Provvigioni').'</button>';
|
||||
}
|
||||
|
@ -55,8 +55,14 @@ switch (filter('op')) {
|
||||
break;
|
||||
|
||||
case 'backup':
|
||||
|
||||
$ignore_dirs = [];
|
||||
if (!empty(filter('ignore_dirs'))){
|
||||
$ignore_dirs = explode(',', filter('ignore_dirs'));
|
||||
}
|
||||
|
||||
try {
|
||||
$result = Backup::create();
|
||||
$result = Backup::create($ignore_dirs);
|
||||
|
||||
if ($result) {
|
||||
flash()->info(tr('Nuovo backup creato correttamente!'));
|
||||
|
@ -82,7 +82,7 @@ function restore() {
|
||||
}
|
||||
|
||||
// Creazione backup
|
||||
function creaBackup(button){
|
||||
function creaBackup(button, ignore_dirs = \'\'){
|
||||
swal({
|
||||
title: "'.tr('Nuovo backup').'",
|
||||
text: "'.tr('Sei sicuro di voler creare un nuovo backup?').'",
|
||||
@ -99,6 +99,7 @@ function creaBackup(button){
|
||||
type: "GET",
|
||||
data: {
|
||||
id_module: globals.id_module,
|
||||
ignore_dirs: JSON.parse(JSON.stringify(ignore_dirs)),
|
||||
op: "backup",
|
||||
},
|
||||
success: function(data) {
|
||||
@ -315,9 +316,22 @@ if (file_exists($backup_dir)) {
|
||||
// Creazione backup
|
||||
if (!empty($backup_dir)) {
|
||||
echo '
|
||||
<button type="button" class="btn btn-primary pull-right" onclick="creaBackup(this)">
|
||||
<i class="fa fa-database"></i> '.tr('Crea backup').'...
|
||||
</button>
|
||||
<div class="btn-group pull-right">
|
||||
<a class="btn btn-primary" aria-haspopup="true" aria-expanded="false" onclick="creaBackup(this)">
|
||||
<i class="fa fa-database"></i> '.tr('Crea backup').'
|
||||
</a>
|
||||
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span class="caret"></span>
|
||||
<span class="sr-only">Toggle Dropdown</span>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-right">
|
||||
<li>
|
||||
<a class="clickable" data-toggle="modal" data-title="'.tr('Crea backup senza files').'" onclick="creaBackup(this, \'files\')">
|
||||
<i class="fa fa-database"></i>'.tr('Crea backup senza files').'
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>';
|
||||
}
|
||||
|
@ -45,40 +45,38 @@ if (isset($id_record)) {
|
||||
|
||||
|
||||
//Pulsante Precedente e Successivo all'interno della scheda attività
|
||||
//Ricavo la query del modulo
|
||||
$module_query = Util\Query::getQuery(Models\Module::getCurrent());
|
||||
// RISULTATI VISIBILI
|
||||
$structure = Modules::get($id_module);
|
||||
$where = [];
|
||||
|
||||
//Aggiunto eventuali filtri applicati alla vista
|
||||
if (!empty(getSearchValues($id_module))) {
|
||||
$having = [];
|
||||
$search_values = getSearchValues($id_module);
|
||||
foreach($search_values as $key => $value) {
|
||||
$having[] = '`'.$key.'` LIKE "%'.$value.'%"';
|
||||
}
|
||||
foreach($having as $condition) {
|
||||
$module_query = str_replace('2=2', '2=2 AND '.$condition, $module_query);
|
||||
}
|
||||
|
||||
//Controllo se questo id_record è presente all'interno dei risultati, altrimenti non considero i filtri applicati alla vista
|
||||
/*$query_test = str_replace('1=1', '1=1 AND `in_interventi`.`id` ='.prepare($id_record), $module_query);
|
||||
if (count($database->FetchArray($query_test))>0)
|
||||
$module_query = $module_query;
|
||||
else
|
||||
$module_query = Util\Query::getQuery(Models\Module::getCurrent());*/
|
||||
}
|
||||
|
||||
//Mi ricavo la posizione di questo id_record
|
||||
//Ricavo la posizione per questo id_record
|
||||
$where['id'] = $id_record;
|
||||
$posizione_query = Util\Query::getQuery($structure, $where, $order);
|
||||
$database->FetchArray('SET @posizione = 0;');
|
||||
$posizioni = $database->FetchArray($module_query);
|
||||
foreach($posizioni as $posizione) {
|
||||
if ($posizione['id'] == $id_record)
|
||||
$posizione_attuale = $posizione['posizione'];
|
||||
$posizione_attuale = $database->FetchOne($posizione_query)['posizione'];
|
||||
|
||||
|
||||
unset($where['id']);
|
||||
|
||||
|
||||
//Aggiungo eventuali filtri applicati alla vista
|
||||
if (count(getSearchValues($id_module))>0) {
|
||||
foreach(getSearchValues($id_module) as $key => $value) {
|
||||
$where[$key] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
//Query del modulo
|
||||
$module_query = Util\Query::getQuery($structure, $where, $order);
|
||||
|
||||
|
||||
//Precedente
|
||||
$prev_query = str_replace('2=2', '2=2 AND `posizione` ='.$posizione_attuale-1, $module_query);
|
||||
$database->FetchArray('SET @posizione = 0;');
|
||||
$prev = $database->FetchOne($prev_query)['id'];
|
||||
|
||||
//Successivo
|
||||
$next_query = str_replace('2=2', '2=2 AND `posizione` ='.$posizione_attuale+1, $module_query);
|
||||
$database->FetchArray('SET @posizione = 0;');
|
||||
$next = $database->FetchOne($next_query)['id'];
|
||||
|
@ -145,9 +145,11 @@ class Backup
|
||||
/**
|
||||
* Esegue il backup del progetto.
|
||||
*
|
||||
* @param array $ignore_dirs Eventuali dirs da ignorare
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public static function create()
|
||||
public static function create($ignore_dirs)
|
||||
{
|
||||
self::checkSpace();
|
||||
|
||||
@ -173,9 +175,17 @@ class Backup
|
||||
'tests',
|
||||
'tmp',
|
||||
'.git',
|
||||
'.github',
|
||||
],
|
||||
];
|
||||
|
||||
// Altri percorsi da ignorare
|
||||
if ($ignore_dirs){
|
||||
foreach ((array) $ignore_dirs as $value) {
|
||||
$ignores['dirs'][] = basename($value);
|
||||
}
|
||||
}
|
||||
|
||||
if (string_starts_with($backup_dir, slashes(base_dir()))) {
|
||||
$ignores['dirs'][] = basename($backup_dir);
|
||||
}
|
||||
|
@ -27,10 +27,8 @@ $id_module = Modules::get('Articoli')['id'];
|
||||
// Valori di ricerca
|
||||
$where['servizio'] = '0';
|
||||
|
||||
foreach ($_SESSION['module_'.$id_module] as $name => $value) {
|
||||
if (preg_match('/^search_(.+?)$/', $name, $m)) {
|
||||
$where[$m[1]] = $value;
|
||||
}
|
||||
foreach(getSearchValues($id_module) as $key => $value) {
|
||||
$where[$key] = $value;
|
||||
}
|
||||
|
||||
$period_end = $_SESSION['period_end'];
|
||||
|
Loading…
x
Reference in New Issue
Block a user