mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-01-11 07:05:22 +01:00
Aggiornamento moduli non conformi
This commit is contained in:
parent
0b9f6fd2ca
commit
4be3171061
@ -4,53 +4,52 @@ include_once __DIR__.'/../../core.php';
|
||||
|
||||
switch (post('op')) {
|
||||
case 'update':
|
||||
if ($permessi[$module_name] == 'rw') {
|
||||
$id_record = $_POST['id_record'];
|
||||
$descrizione = save($_POST['descrizione']);
|
||||
$descrizione = post('descrizione');
|
||||
|
||||
//Verifico che il nome non sia duplicato
|
||||
$q = 'SELECT descrizione FROM zz_documenti_categorie WHERE descrizione="'.$descrizione.'" AND deleted = 0 ';
|
||||
$rs = $dbo->fetchArray($q);
|
||||
|
||||
if (sizeof($rs) > 0) {
|
||||
array_push($_SESSION['errors'], "Categoria '".$descrizione."' già esistente!");
|
||||
}
|
||||
|
||||
//Nome ok
|
||||
else {
|
||||
$query = "UPDATE zz_documenti_categorie SET descrizione=\"$descrizione\" WHERE id = $id_record";
|
||||
$rs = $dbo->query($query);
|
||||
array_push($_SESSION['infos'], 'Informazioni salvate correttamente!');
|
||||
}
|
||||
// Verifico che il nome non sia duplicato
|
||||
$count = $dbo->fetchNum('SELECT descrizione FROM zz_documenti_categorie WHERE descrizione='.prepare($descrizione).' AND deleted = 0');
|
||||
if ($count != 0) {
|
||||
App::flash()->error(tr('Categoria _NAME_ già esistente!',[
|
||||
'_NAME_' => $descrizione
|
||||
]));
|
||||
}
|
||||
|
||||
else {
|
||||
$dbo->update('zz_documenti_categorie', [
|
||||
'descrizione' => $descrizione,
|
||||
],['id' => $id_record]);
|
||||
|
||||
App::flash()->info(tr('Informazioni salvate correttamente!'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'add':
|
||||
if ($permessi[$module_name] == 'rw') {
|
||||
$descrizione = save($_POST['descrizione']);
|
||||
$descrizione = post('descrizione');
|
||||
|
||||
if (isset($_POST['descrizione'])) {
|
||||
//Verifico che il nome non sia duplicato
|
||||
$q = 'SELECT descrizione FROM zz_documenti_categorie WHERE descrizione="'.$descrizione.'" AND deleted = 0 ';
|
||||
$rs = $dbo->fetchArray($q);
|
||||
if (isset($_POST['descrizione'])) {
|
||||
// Verifico che il nome non sia duplicato
|
||||
$count = $dbo->fetchNum('SELECT descrizione FROM zz_documenti_categorie WHERE descrizione='.prepare($descrizione).' AND deleted = 0');
|
||||
if ($count != 0) {
|
||||
App::flash()->error(tr('Categoria _NAME_ già esistente!',[
|
||||
'_NAME_' => $descrizione
|
||||
]));
|
||||
} else {
|
||||
$dbo->insert('zz_documenti_categorie', [
|
||||
'descrizione' => $descrizione,
|
||||
]);
|
||||
$id_record = $dbo->last_inserted_id();
|
||||
|
||||
if (sizeof($rs) > 0) {
|
||||
array_push($_SESSION['errors'], "Categoria '".$descrizione."' già esistente!");
|
||||
} else {
|
||||
$query = "INSERT INTO zz_documenti_categorie(descrizione) VALUES (\"$descrizione\")";
|
||||
$rs = $dbo->query($query);
|
||||
$id_record = $dbo->last_inserted_id();
|
||||
array_push($_SESSION['infos'], 'Nuova categoria documenti aggiunta!');
|
||||
}
|
||||
App::flash()->info(tr('Nuova categoria documenti aggiunta!'));
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'delete':
|
||||
if ($permessi[$module_name] == 'rw') {
|
||||
$dbo->query("UPDATE zz_documenti_categorie SET deleted=1 WHERE id = $id_record");
|
||||
$dbo->query("UPDATE zz_documenti_categorie SET deleted=1 WHERE id = ".prepare($id_record));
|
||||
|
||||
App::flash()->info(tr('Categoria docimenti eliminata!'));
|
||||
|
||||
array_push($_SESSION['infos'], 'Categoria docimenti eliminata!');
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -1,19 +1,23 @@
|
||||
<form action="editor.php?id_module=$id_module$" method="post" id="add-form">
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
?><form action="" method="post" id="add-form">
|
||||
<input type="hidden" name="op" value="add">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
|
||||
<div class="row">
|
||||
|
||||
|
||||
<div class="col-md-12">
|
||||
{[ "type": "text", "label": "Descrizione", "name": "descrizione", "required": 1, "class": "", "value": "", "extra": "" ]}
|
||||
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "class": "", "value": "", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- PULSANTI -->
|
||||
|
||||
<!-- PULSANTI -->
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
<button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> Aggiungi</button>
|
||||
<button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi'); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -1,50 +1,34 @@
|
||||
<?php
|
||||
//Se lo stato intervento è uno di quelli di default, non lo lascio modificare
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
// Presenza di documenti associati
|
||||
if ($records[0]['doc_associati'] > 0) {
|
||||
$warning_text = "<div class='alert alert-warning'>Non puoi eliminare questo categoria documento! Ci sono ".$records[0]['doc_associati'].' documenti associati!</div>';
|
||||
} else {
|
||||
$attr = '';
|
||||
$warning_text = '';
|
||||
echo '
|
||||
<div class="alert alert-warning">'.tr('Non puoi eliminare questo categoria documento!').' '.tr('Ci sono _NUM_ documenti associati!', [
|
||||
'_NUM_' => $records[0]['doc_associati'],
|
||||
]).'</div>';
|
||||
}
|
||||
|
||||
echo $warning_text;
|
||||
?>
|
||||
|
||||
<form action="" method="post" id="add-form">
|
||||
?><form action="" method="post" id="edit-form">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="op" value="update">
|
||||
<input type="hidden" name="id_record" value="<?php echo $id_record; ?>">
|
||||
|
||||
|
||||
<?php
|
||||
//Se il tipo di anagrafica è uno di quelli di default, non lo lascio modificare
|
||||
if (!$records[0]['default']) {
|
||||
?>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12">
|
||||
{[ "type": "text", "label": "Descrizione", "name": "descrizione", "required": 1, "class": "", "value": "$descrizione$", "extra": "" ]}
|
||||
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "class": "", "value": "$descrizione$", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<?php
|
||||
//Se il tipo di anagrafica è uno di quelli di default, non lo lascio modificare
|
||||
if ($records[0]['doc_associati'] == 0) {
|
||||
?>
|
||||
<form action="" method="post" role="form" id="form-delete">
|
||||
<input type="hidden" name="backto" value="record-list">
|
||||
<input type="hidden" name="op" value="delete">
|
||||
<button type="button" class="btn-link" onclick="if( confirm('Eliminare questo tipo di documento?') ){ $('#form-delete').submit(); }">
|
||||
<span class="text-danger"><i class="fa fa-trash-o"></i> Elimina tipo di documento</span></button>
|
||||
</form>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
// Presenza di documenti associati
|
||||
if ($records[0]['doc_associati'] == 0) {
|
||||
echo '
|
||||
<a class="btn btn-danger ask" data-backto="record-list">
|
||||
<i class="fa fa-trash"></i> '.tr('Elimina').'
|
||||
</a>';
|
||||
}
|
||||
|
@ -4,105 +4,36 @@ include_once __DIR__.'/../../core.php';
|
||||
|
||||
switch (post('op')) {
|
||||
case 'add':
|
||||
$dbo->insert('zz_documenti', [
|
||||
'idcategoria' => post('nome'),
|
||||
'nome' => post('idcategoria'),
|
||||
'data' => post('data'),
|
||||
]);
|
||||
$id_record = $dbo->last_inserted_id();
|
||||
|
||||
$nome = save($_POST['nome']);
|
||||
$idcategoria = save($_POST['idcategoria']);
|
||||
$data = saveDate($_POST['data']);
|
||||
App::flash()->info(tr('Nuova documento aggiunto!'));
|
||||
|
||||
$dir_ok = true;
|
||||
$nome_modulo = 'Gestione documentale';
|
||||
$nome_allegato = save($_POST['nome_allegato']);
|
||||
$filename = $_FILES['blob']['name'];
|
||||
$src = $_FILES['blob']['tmp_name'];
|
||||
$f = pathinfo($filename);
|
||||
|
||||
//$q="SELECT idanagrafica FROM zz_utenti WHERE idutente=".$_SESSION['idutente'];
|
||||
//$rs=$dbo->fetchArray($q);
|
||||
//$idutente=$rs[0]['idanagrafica'];
|
||||
|
||||
$dst_file = sanitizeFilename($f['filename'].'.'.$f['extension']);
|
||||
$dst_dir = $docroot.'/files/gestione_documentale/';
|
||||
$dst_dir = strtolower($dst_dir);
|
||||
|
||||
//Rinomino il file se non esiste già
|
||||
$f = pathinfo($dst_file);
|
||||
$i = 1;
|
||||
|
||||
while (file_exists($dst_dir.'/'.$dst_file)) {
|
||||
$dst_file = sanitizeFilename($f['filename'].'_'.$i.'.'.$f['extension']);
|
||||
++$i;
|
||||
}
|
||||
|
||||
//Se la destinazione non esiste la creo
|
||||
if (!is_dir($dst_dir)) {
|
||||
if (!mkdir($dst_dir)) {
|
||||
$dir_ok = false;
|
||||
array_push($_SESSION['errors'], 'Non hai i permessi per creare directory!');
|
||||
header('Location: '.$rootdir.'/controller.php?id_module='.Modules::get('Gestione documentale')['id']);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
//Creazione file fisico
|
||||
if ($dir_ok) {
|
||||
if (move_uploaded_file($src, $dst_dir.'/'.$dst_file)) {
|
||||
$rs = $dbo->query("INSERT INTO `zz_documenti`( nome, idcategoria, data ) VALUES( '".$nome."','".$idcategoria."','".$data."' )");
|
||||
|
||||
$id_record = $dbo->last_inserted_id();
|
||||
|
||||
$rs = $dbo->query('INSERT INTO `zz_files`( nome, filename, id_module, id_record ) VALUES( "'.$nome_allegato.'", "'.$dst_file.'", "'.Modules::get('Gestione documentale')['id'].'", "'.$id_record.'" )');
|
||||
|
||||
array_push($_SESSION['infos'], 'File caricato correttamente!');
|
||||
} else {
|
||||
array_push($_SESSION['errors'], 'Errore durante il caricamento del file!');
|
||||
header('Location: '.$rootdir.'/controller.php?id_module='.Modules::get('Gestione documentale')['id']);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
|
||||
case 'update':
|
||||
$dbo->update('zz_documenti', [
|
||||
'idcategoria' => post('nome'),
|
||||
'nome' => post('idcategoria'),
|
||||
'data' => post('data'),
|
||||
], ['id' => $id_record]);
|
||||
|
||||
if ($permessi[$module_name] == 'rw') {
|
||||
//leggo tutti i valori passati dal POST e li salvo in un array
|
||||
$html_post = [];
|
||||
foreach ($_POST as $key => $value) {
|
||||
$html_post[$key] = save($value);
|
||||
}
|
||||
|
||||
if (isset($_POST['id_record'])) {
|
||||
$query = 'UPDATE zz_documenti SET '.
|
||||
'idcategoria="'.$html_post['idcategoria'].'",'.
|
||||
'nome="'.$html_post['nome'].'",'.
|
||||
'data="'.saveDate($html_post['data']).'"'.
|
||||
"WHERE id = '$id_record' ".$additional_where['Gestione documenti'];
|
||||
|
||||
$rs = $dbo->query($query);
|
||||
|
||||
array_push($_SESSION['infos'], "Informazioni per la scheda ''".$html_post['id']."'' salvate correttamente!");
|
||||
}
|
||||
}
|
||||
|
||||
App::flash()->info(tr('Informazioni salvate correttamente!'));
|
||||
break;
|
||||
|
||||
case 'delete':
|
||||
if ($permessi[$module_name] == 'rw') {
|
||||
$rs = $dbo->fetchArray('SELECT id FROM zz_files WHERE externalid = "'.$id_record."\" AND module = '".$module_name."' ");
|
||||
$n = sizeof($rs);
|
||||
$dbo->query('DELETE FROM zz_documenti WHERE id = '.prepare($id_record));
|
||||
|
||||
//Per tutte le sessioni di lavoro trovate
|
||||
for ($i = 0; $i < $n; ++$i) {
|
||||
//Elimino fisicamente il file...
|
||||
$rs2 = $dbo->fetchArray('SELECT filename FROM zz_files WHERE id = "'.$rs[$i]['id'].'" ');
|
||||
unlink($docroot.'/files/'.strtolower($module_name).'/'.$rs2[0]['filename']);
|
||||
}
|
||||
Uploads::deleteLinked([
|
||||
'id_module' => $id_module,
|
||||
'id_record' => $id_record,
|
||||
]);
|
||||
|
||||
//...e da db
|
||||
$dbo->query('DELETE FROM zz_files WHERE externalid = "'.$id_record."\" AND module = '".$module_name."' ");
|
||||
$dbo->query('DELETE FROM zz_documenti WHERE id = "'.$id_record.'" ');
|
||||
|
||||
array_push($_SESSION['infos'], 'Scheda e relativi files eliminati!');
|
||||
}
|
||||
App::flash()->info(tr('Scheda e relativi files eliminati!'));
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -1,5 +1,8 @@
|
||||
<form id="upload_form" action="editor.php?id_module=$id_module$" method="post" enctype="multipart/form-data" onsubmit="if( $('input[name=nome_allegato]').val()=='' || $('input[name=nome_allegato]').val()=='Inserisci un nome...' ){ alert('Devi inserire un nome per il file!'); return false; } if( $('#blob').val()=='' ){ alert('Devi selezionare un file con il tasto Sfoglia...'); return false; }">
|
||||
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
?><form action="" method="post" id="add-form">
|
||||
<input type="hidden" name="op" value="add">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
|
||||
@ -7,31 +10,20 @@
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "Nome", "name": "nome", "required": 1, "class": "", "value": "", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "Categoria", "name": "idcategoria", "required": 1, "class": "", "values": "query=SELECT id, descrizione FROM zz_documenti_categorie WHERE deleted = 0", "value": "", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "Data", "name": "data", "required": 1, "class": "datepicker text-center", "value": "", "extra": "" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='row'>
|
||||
<div class='col-md-6'>
|
||||
|
||||
{[ "type": "text", "label": "Nome allegato", "name": "nome_allegato", "required": 1, "class": "", "value": "", "extra": " placeholder=\"Inserisci un nome...\" " ]}
|
||||
</div>
|
||||
<div class='col-md-3'>
|
||||
<input type="file" class="inputtext" id="blob" name="blob"><br><br>
|
||||
|
||||
<!-- PULSANTI -->
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
<button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi'); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='row'>
|
||||
<div class='col-md-12'>
|
||||
<button type='submit' class='btn btn-primary pull-right' id="upload_button"><i class='fa fa-upload'></i> Carica</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</form>
|
||||
|
@ -2,15 +2,9 @@
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
?>
|
||||
|
||||
<form action="" method="post" id="add-form">
|
||||
|
||||
?><form action="" method="post" id="edit-form">
|
||||
<input type="hidden" name="op" value="update">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="id_record" value="<?php echo $id_record; ?>">
|
||||
|
||||
|
||||
|
||||
<!-- SCHEDA FILE -->
|
||||
<div class="panel panel-primary">
|
||||
@ -48,18 +42,8 @@ include_once __DIR__.'/../../core.php';
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
{( "name": "filelist_and_upload", "id_module": "<?php echo $id_module; ?>", "id_record": "<?php echo $id_record; ?>" )}
|
||||
|
||||
|
||||
<form action="" method="post" role="form" id="form-delete">
|
||||
<input type="hidden" name="backto" value="record-list">
|
||||
<input type="hidden" name="op" value="delete">
|
||||
<button type="button" class="btn-link" onclick="if( confirm('Eliminare scheda e relativi allegati?') ){ $('#form-delete').submit(); }"><span class="text-danger"><i class="fa fa-trash-o"></i> Elimina scheda file e allegati</span></button>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
$(document).ready( function(){
|
||||
|
||||
});
|
||||
</script>
|
||||
<a class="btn btn-danger ask" data-backto="record-list">
|
||||
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
|
||||
</a>
|
||||
|
@ -27,12 +27,7 @@ class FileManager implements ManagerInterface
|
||||
$attachment_id = 'attachments_'.$options['id_module'].'-'.$options['id_plugin'];
|
||||
|
||||
// Cartella delle anteprime
|
||||
if (!empty($options['id_plugin'])) {
|
||||
$directory = '/plugins/'.\Plugins::get($options['id_plugin'])['directory'];
|
||||
} else {
|
||||
$directory = \Modules::get($options['id_module'])['directory'];
|
||||
}
|
||||
$directory = basename($directory);
|
||||
$directory = \Uploads::getUploadDirectory($options['id_module'], $options['id_plugin']);
|
||||
|
||||
$dbo = \Database::getConnection();
|
||||
|
||||
@ -83,7 +78,7 @@ class FileManager implements ManagerInterface
|
||||
$result .= '
|
||||
<tr>
|
||||
<td align="left">
|
||||
<a href="'.ROOTDIR.'/files/'.\Modules::get($options['id_module'])['directory'].'/'.$r['filename'].'" target="_blank">
|
||||
<a href="'.ROOTDIR.'/'.$directory.'/'.$r['filename'].'" target="_blank">
|
||||
<i class="fa fa-external-link"></i> '.$r['nome'].'
|
||||
</a>
|
||||
</td>
|
||||
@ -102,10 +97,10 @@ class FileManager implements ManagerInterface
|
||||
|
||||
if ($extension == 'pdf') {
|
||||
$result .= '
|
||||
<iframe src="'.\Prints::getPDFLink('files/'.$directory.'/'.$r['filename']).'" frameborder="0" width="100%" height="550"></iframe>';
|
||||
<iframe src="'.\Prints::getPDFLink($directory.'/'.$r['filename']).'" frameborder="0" width="100%" height="550"></iframe>';
|
||||
} else {
|
||||
$result .= '
|
||||
<img src="'.ROOTDIR.'/files/'.$directory.'/'.$r['filename'].'" width="100%"></img>';
|
||||
<img src="'.ROOTDIR.'/'.$directory.'/'.$r['filename'].'" width="100%"></img>';
|
||||
}
|
||||
|
||||
$result .= '
|
||||
|
@ -259,6 +259,23 @@ class Uploads
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function deleteLinked($data)
|
||||
{
|
||||
$database = Database::getConnection();
|
||||
|
||||
$uploads = $database->select('zz_files', ['filename'], [
|
||||
'id_module' => !empty($data['id_module']) ? $data['id_module'] : null,
|
||||
'id_plugin' => !empty($data['id_plugin']) ? $data['id_plugin'] : null,
|
||||
'id_record' => $data['id_record'],
|
||||
]);
|
||||
|
||||
foreach ($uploads as $upload) {
|
||||
self::delete($upload['filename'], $data);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function fileInfo($filepath)
|
||||
{
|
||||
$infos = pathinfo($filepath);
|
||||
|
Loading…
Reference in New Issue
Block a user