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)) {
|
if (in_array($id_agente, $tipi_anagrafica)) {
|
||||||
// Aggiunta liquidazione provvigioni per agente
|
// Aggiunta liquidazione provvigioni per agente
|
||||||
echo '
|
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;
|
break;
|
||||||
|
|
||||||
case 'backup':
|
case 'backup':
|
||||||
|
|
||||||
|
$ignore_dirs = [];
|
||||||
|
if (!empty(filter('ignore_dirs'))){
|
||||||
|
$ignore_dirs = explode(',', filter('ignore_dirs'));
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$result = Backup::create();
|
$result = Backup::create($ignore_dirs);
|
||||||
|
|
||||||
if ($result) {
|
if ($result) {
|
||||||
flash()->info(tr('Nuovo backup creato correttamente!'));
|
flash()->info(tr('Nuovo backup creato correttamente!'));
|
||||||
|
@ -82,7 +82,7 @@ function restore() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Creazione backup
|
// Creazione backup
|
||||||
function creaBackup(button){
|
function creaBackup(button, ignore_dirs = \'\'){
|
||||||
swal({
|
swal({
|
||||||
title: "'.tr('Nuovo backup').'",
|
title: "'.tr('Nuovo backup').'",
|
||||||
text: "'.tr('Sei sicuro di voler creare un nuovo backup?').'",
|
text: "'.tr('Sei sicuro di voler creare un nuovo backup?').'",
|
||||||
@ -99,6 +99,7 @@ function creaBackup(button){
|
|||||||
type: "GET",
|
type: "GET",
|
||||||
data: {
|
data: {
|
||||||
id_module: globals.id_module,
|
id_module: globals.id_module,
|
||||||
|
ignore_dirs: JSON.parse(JSON.stringify(ignore_dirs)),
|
||||||
op: "backup",
|
op: "backup",
|
||||||
},
|
},
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
@ -315,9 +316,22 @@ if (file_exists($backup_dir)) {
|
|||||||
// Creazione backup
|
// Creazione backup
|
||||||
if (!empty($backup_dir)) {
|
if (!empty($backup_dir)) {
|
||||||
echo '
|
echo '
|
||||||
<button type="button" class="btn btn-primary pull-right" onclick="creaBackup(this)">
|
<div class="btn-group pull-right">
|
||||||
<i class="fa fa-database"></i> '.tr('Crea backup').'...
|
<a class="btn btn-primary" aria-haspopup="true" aria-expanded="false" onclick="creaBackup(this)">
|
||||||
</button>
|
<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>';
|
<div class="clearfix"></div>';
|
||||||
}
|
}
|
||||||
|
@ -45,40 +45,38 @@ if (isset($id_record)) {
|
|||||||
|
|
||||||
|
|
||||||
//Pulsante Precedente e Successivo all'interno della scheda attività
|
//Pulsante Precedente e Successivo all'interno della scheda attività
|
||||||
//Ricavo la query del modulo
|
// RISULTATI VISIBILI
|
||||||
$module_query = Util\Query::getQuery(Models\Module::getCurrent());
|
$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
|
//Ricavo la posizione per questo id_record
|
||||||
/*$query_test = str_replace('1=1', '1=1 AND `in_interventi`.`id` ='.prepare($id_record), $module_query);
|
$where['id'] = $id_record;
|
||||||
if (count($database->FetchArray($query_test))>0)
|
$posizione_query = Util\Query::getQuery($structure, $where, $order);
|
||||||
$module_query = $module_query;
|
|
||||||
else
|
|
||||||
$module_query = Util\Query::getQuery(Models\Module::getCurrent());*/
|
|
||||||
}
|
|
||||||
|
|
||||||
//Mi ricavo la posizione di questo id_record
|
|
||||||
$database->FetchArray('SET @posizione = 0;');
|
$database->FetchArray('SET @posizione = 0;');
|
||||||
$posizioni = $database->FetchArray($module_query);
|
$posizione_attuale = $database->FetchOne($posizione_query)['posizione'];
|
||||||
foreach($posizioni as $posizione) {
|
|
||||||
if ($posizione['id'] == $id_record)
|
|
||||||
$posizione_attuale = $posizione['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);
|
$prev_query = str_replace('2=2', '2=2 AND `posizione` ='.$posizione_attuale-1, $module_query);
|
||||||
$database->FetchArray('SET @posizione = 0;');
|
$database->FetchArray('SET @posizione = 0;');
|
||||||
$prev = $database->FetchOne($prev_query)['id'];
|
$prev = $database->FetchOne($prev_query)['id'];
|
||||||
|
|
||||||
|
//Successivo
|
||||||
$next_query = str_replace('2=2', '2=2 AND `posizione` ='.$posizione_attuale+1, $module_query);
|
$next_query = str_replace('2=2', '2=2 AND `posizione` ='.$posizione_attuale+1, $module_query);
|
||||||
$database->FetchArray('SET @posizione = 0;');
|
$database->FetchArray('SET @posizione = 0;');
|
||||||
$next = $database->FetchOne($next_query)['id'];
|
$next = $database->FetchOne($next_query)['id'];
|
||||||
|
@ -145,9 +145,11 @@ class Backup
|
|||||||
/**
|
/**
|
||||||
* Esegue il backup del progetto.
|
* Esegue il backup del progetto.
|
||||||
*
|
*
|
||||||
|
* @param array $ignore_dirs Eventuali dirs da ignorare
|
||||||
|
*
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public static function create()
|
public static function create($ignore_dirs)
|
||||||
{
|
{
|
||||||
self::checkSpace();
|
self::checkSpace();
|
||||||
|
|
||||||
@ -173,9 +175,17 @@ class Backup
|
|||||||
'tests',
|
'tests',
|
||||||
'tmp',
|
'tmp',
|
||||||
'.git',
|
'.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()))) {
|
if (string_starts_with($backup_dir, slashes(base_dir()))) {
|
||||||
$ignores['dirs'][] = basename($backup_dir);
|
$ignores['dirs'][] = basename($backup_dir);
|
||||||
}
|
}
|
||||||
|
@ -27,10 +27,8 @@ $id_module = Modules::get('Articoli')['id'];
|
|||||||
// Valori di ricerca
|
// Valori di ricerca
|
||||||
$where['servizio'] = '0';
|
$where['servizio'] = '0';
|
||||||
|
|
||||||
foreach ($_SESSION['module_'.$id_module] as $name => $value) {
|
foreach(getSearchValues($id_module) as $key => $value) {
|
||||||
if (preg_match('/^search_(.+?)$/', $name, $m)) {
|
$where[$key] = $value;
|
||||||
$where[$m[1]] = $value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$period_end = $_SESSION['period_end'];
|
$period_end = $_SESSION['period_end'];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user