1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-22 22:37:37 +01:00

Aggiunta possibilità di caricare allegati anche per i plugins

This commit is contained in:
Luca 2018-05-15 19:07:28 +02:00
parent af4b7f3238
commit 697d4621da
4 changed files with 36 additions and 21 deletions

View File

@ -39,12 +39,18 @@ if (filter('op') == 'link_file' || filter('op') == 'unlink_file') {
else { else {
// UPLOAD // UPLOAD
if (filter('op') == 'link_file' && !empty($_FILES) && !empty($_FILES['blob']['name'])) { if (filter('op') == 'link_file' && !empty($_FILES) && !empty($_FILES['blob']['name'])) {
$nome = filter('nome_allegato'); $nome = filter('nome_allegato');
$nome = !empty($nome) ? $nome : $_FILES['blob']['name']; $nome = !empty($nome) ? $nome : $_FILES['blob']['name'];
$src = $_FILES['blob']['tmp_name']; $src = $_FILES['blob']['tmp_name'];
$f = pathinfo($_FILES['blob']['name']); $f = pathinfo($_FILES['blob']['name']);
/* /*
$allowed = [ $allowed = [
// Image formats // Image formats
@ -165,17 +171,22 @@ if (filter('op') == 'link_file' || filter('op') == 'unlink_file') {
do { do {
$filename = random_string().'.'.$f['extension']; $filename = random_string().'.'.$f['extension'];
} while (file_exists($upload_dir.'/'.$filename)); } while (file_exists($upload_dir.'/'.$filename));
// Creazione file fisico // Creazione file fisico
if (move_uploaded_file($src, $upload_dir.'/'.$filename)) { if (move_uploaded_file($src, $upload_dir.'/'.$filename)) {
$dbo->insert('zz_files', [
$dbo->insert('zz_files', [
'nome' => $nome, 'nome' => $nome,
'filename' => $filename, 'filename' => $filename,
'original' => $_FILES['blob']['name'], 'original' => $_FILES['blob']['name'],
'id_module' => $id_module, 'id_module' => $id_module,
'id_record' => $id_record, 'id_record' => $id_record,
'id_plugin' => $id_plugin,
]); ]);
$_SESSION['infos'][] = tr('File caricato correttamente!'); $_SESSION['infos'][] = tr('File caricato correttamente!');
} else { } else {
$_SESSION['errors'][] = tr('Errore durante il caricamento del file!'); $_SESSION['errors'][] = tr('Errore durante il caricamento del file!');

View File

@ -142,13 +142,16 @@ echo '
<?php <?php
echo '</div> echo '
{( "name": "filelist_and_upload", "id_module": "'.$id_module.'", "id_record": "'.$id_record.'", "id_plugin": "'.$id_plugin.'" )}
</div>
</div> </div>
<!--div class="col-md-8">
<!--div class="col-md-8"> {[ "type": "checkbox", "label": "'.tr('Pianifica anche date passate').'", "name": "date_passate", "value": "0", "help": "", "placeholder": "'.tr('Pianificare promemoria anche con date precedenti ad oggi: ').date('d/m/Y').'" ]}
{[ "type": "checkbox", "label": "'.tr('Pianifica anche date passate').'", "name": "date_passate", "value": "0", "help": "", "placeholder": "'.tr('Pianificare promemoria anche con date precedenti ad oggi: ').date('d/m/Y').'" ]} </div-->
</div-->
'; ';

View File

@ -110,9 +110,6 @@ if (count($rs2) > 0) {
?> ?>
<script type="text/javascript"> <script type="text/javascript">
function elimina_riga( id ){ function elimina_riga( id ){
$.post(globals.rootdir + '/modules/contratti/plugins/actions.php', { op: 'delriga', idriga: id }, function(data, result){ $.post(globals.rootdir + '/modules/contratti/plugins/actions.php', { op: 'delriga', idriga: id }, function(data, result){
if( result=='success' ){ if( result=='success' ){

View File

@ -27,7 +27,10 @@ class FileManager implements ManagerInterface
} }
// Visualizzo l'elenco di file già caricati // Visualizzo l'elenco di file già caricati
$rs = $dbo->fetchArray('SELECT * FROM zz_files WHERE id_module='.prepare($options['id_module']).' AND id_record='.prepare($options['id_record'])); if (!empty($options['id_plugin']))
$rs = $dbo->fetchArray('SELECT * FROM zz_files WHERE id_module='.prepare($options['id_module']).' AND id_record='.prepare($options['id_record']).' AND id_plugin='.prepare($options['id_plugin']));
else
$rs = $dbo->fetchArray('SELECT * FROM zz_files WHERE id_module='.prepare($options['id_module']).' AND id_record='.prepare($options['id_record']).' AND id_plugin = 0');
if (!empty($rs)) { if (!empty($rs)) {
$result .= ' $result .= '
@ -70,15 +73,15 @@ class FileManager implements ManagerInterface
<b>'.$options['label'].'</b> <b>'.$options['label'].'</b>
<div class="row"> <div class="row">
<div class="col-lg-4"> <div class="col-lg-4">
{[ "type": "text", "placeholder": "'.tr('Nome').'", "name": "nome_allegato" ]} {[ "type": "text", "placeholder": "'.tr('Nome').'", "name": "nome_allegato", "id": "nome_allegato_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'" ]}
</div> </div>
<div class="col-lg-6"> <div class="col-lg-6">
{[ "type": "file", "placeholder": "'.tr('File').'", "name": "blob", "required": 1 ]} {[ "type": "file", "placeholder": "'.tr('File').'", "name": "blob", "id": "blob_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'", "required": 1 ]}
</div> </div>
<div class="col-lg-2 text-right"> <div class="col-lg-2 text-right">
<button type="button" class="btn btn-success" onclick="saveFile();"> <button type="button" class="btn btn-success" onclick="saveFile_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'();">
<i class="fa fa-upload"></i> '.tr('Carica').' <i class="fa fa-upload"></i> '.tr('Carica').'
</button> </button>
</div> </div>
@ -86,19 +89,20 @@ class FileManager implements ManagerInterface
$result .= ' $result .= '
<script> <script>
function saveFile(){ function saveFile_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'(){
if(!$("#blob").val()){ if(!$("#blob_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'").val()){
swal("'.addslashes(tr('Attenzione!')).'", "'.addslashes(tr('Devi selezionare un file con il tasto "Sfoglia"')).'...", "warning"); swal("'.addslashes(tr('Attenzione!')).'", "'.addslashes(tr('Devi selezionare un file con il tasto "Sfoglia"')).'...", "warning");
return false; return false;
} }
var file_data = $("#blob").prop("files")[0]; var file_data = $("#blob_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'").prop("files")[0];
var form_data = new FormData(); var form_data = new FormData();
form_data.append("blob", file_data); form_data.append("blob", file_data);
form_data.append("nome_allegato", $("input[name=nome_allegato]").val()); form_data.append("nome_allegato", $("input[id=nome_allegato_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').']").val());
form_data.append("op","link_file"); form_data.append("op","link_file");
form_data.append("id_record","'.$options['id_record'].'"); form_data.append("id_record","'.$options['id_record'].'");
form_data.append("id_module", "'.$options['id_module'].'"); form_data.append("id_module", "'.$options['id_module'].'");
form_data.append("id_plugin","'.$options['id_plugin'].'");
$("#main_loading").fadeIn(); $("#main_loading").fadeIn();
@ -111,7 +115,7 @@ class FileManager implements ManagerInterface
dataType : "html", dataType : "html",
data: form_data, data: form_data,
success: function(data) { success: function(data) {
location.href = globals.rootdir + "/editor.php?id_module='.$options['id_module'].'&id_record='.$options['id_record'].'"; location.href = globals.rootdir + "/editor.php?id_module='.$options['id_module'].'&id_record='.$options['id_record'].((!empty($options['id_plugin'])) ? '#tab_'.$options['id_plugin'] : '').'";
}, },
error: function(data) { error: function(data) {
alert(data); alert(data);