<?php function filelist_xml_import( $nome_modulo_xml, $externalid, $label='Nuovo allegato:', $showpanel=1 ){ global $dbo; global $docroot; global $rootdir; global $theme_path; global $permessi; global $modules_info; $dir_ok = true; $nome_modulo_old=$nome_modulo_xml; $nome_modulo_xml = "import_xml"; //Visualizzo l'elenco di file già caricati $rs = $dbo->fetchArray("SELECT * FROM zz_files WHERE module=\"".$nome_modulo_xml."\" AND externalid=\"".$externalid."\""); echo "<a name='attachments'></a>\n"; if ($showpanel == 1): echo " <div class=\"panel-body\">\n"; endif; if( sizeof($rs)>0 ){ echo "<table class=\"table table-condensed table-hover table-bordered\" >\n"; echo "<tr><th>Descrizione</th>\n"; echo "<th>File</th>\n"; echo "<th>Data</th></tr>\n"; for( $i=0; $i<sizeof($rs); $i++ ){ echo "<tr><td align='left'><span title=\"".htmlentities($rs[$i]['nome'], ENT_QUOTES, "UTF-8")."\">".$rs[$i]['nome']."</span></td>\n"; echo "<td><a href=\"".$rootdir."/files/".strtolower($nome_modulo_xml)."/".$rs[$i]['filename']."\" title=\"".htmlentities($rs[$i]['nome'], ENT_QUOTES, "UTF-8")."\" target=\"_blank\">".$rs[$i]['filename']."</a></td>\n"; echo "<td>".date("d/m/Y H:i", strtotime($rs[$i]['data']) )."</td>\n"; } echo "</table>\n"; } if ($showpanel == 1): echo "</div>\n"; endif; } function filelist_xml( $nome_modulo_xml, $externalid, $label='Nuovo allegato:', $showpanel=1 ){ global $dbo; global $docroot; global $rootdir; global $theme_path; global $permessi; global $modules_info; $dir_ok = true; $nome_modulo_old=$nome_modulo_xml; $nome_modulo_xml = get_var("Percorso XML"); //Visualizzo l'elenco di file già caricati $rs = $dbo->fetchArray("SELECT * FROM zz_files WHERE module=\"".$nome_modulo_xml."\" AND externalid=\"".$externalid."\""); echo "<a name='attachments'></a>\n"; if ($showpanel == 1): echo " <div class=\"panel-body\">\n"; endif; if( sizeof($rs)>0 ){ echo "<table class=\"table table-condensed table-hover table-bordered\" >\n"; echo "<tr><th>Descrizione</th>\n"; echo "<th>File</th>\n"; echo "<th>Data</th></tr>\n"; for( $i=0; $i<sizeof($rs); $i++ ){ echo "<tr><td align='left'><span title=\"".htmlentities($rs[$i]['nome'], ENT_QUOTES, "UTF-8")."\">".$rs[$i]['nome']."</span></td>\n"; echo "<td><a href=\"".$rootdir."/files/".strtolower($nome_modulo_xml)."/".$rs[$i]['filename']."\" title=\"".htmlentities($rs[$i]['nome'], ENT_QUOTES, "UTF-8")."\" target=\"_blank\">".$rs[$i]['filename']."</a></td>\n"; echo "<td>".date("d/m/Y H:i", strtotime($rs[$i]['data']) )."</td>\n"; } echo "</table>\n"; } if ($showpanel == 1): echo "</div>\n"; endif; } /** * Funzione per creare la tabella di visualizzazione file e upload nuovo file * $nome_modulo string Nome del modulo di cui si sta creando il form e la visualizzazione * $url_params string Parametri da mettere nell'URL oltre a quelli per l'upload (ad esempio "&idintervento=$idintervento" * per evitare che vengano persi dei parametri per il submit del form * $externalid string Id esterno, per sapere un determinato file di che record fa parte oltre che di che modulo */ function filelist_and_upload( $nome_modulo, $externalid, $label='Nuovo allegato:', $showpanel=1 ){ global $dbo; global $docroot; global $rootdir; global $theme_path; global $permessi; global $modules_info; $dir_ok = true; /* GESTIONE DELETE */ if( $_GET['op']=='unlink_file' ){ if( $modules_info[$nome_modulo]["permessi"] == 'rw' ){ $filename = save($_GET['filename']); $rs = $dbo->fetchArray( "SELECT * FROM zz_files WHERE module=\"".$nome_modulo."\" AND id=\"".save($_GET['id'])."\" AND filename=\"".$filename."\"" ); if( @unlink( $docroot."/files/".strtolower($nome_modulo)."/".$filename ) ){ $query = "DELETE FROM zz_files WHERE module=\"".$nome_modulo."\" AND id=\"".save($_GET['id'])."\" AND filename=\"".$filename."\""; if( $dbo->query($query) ){ array_push( $_SESSION['infos'], $rs[0]['nome']." eliminato!" ); header( "Location: ".$rootdir."/editor.php?id_module=".$modules_info[$nome_modulo]['id']."&id_record=".$externalid ); exit; } } else{ array_push( $_SESSION['errors'], "Errore durante l'eliminazione di files/".strtolower($nome_modulo)."/".$filename."!" ); header( "Location: ".$rootdir."/editor.php?id_module=".$modules_info[$nome_modulo]['id']."&id_record=".$externalid ); exit; } } } //Visualizzo l'elenco di file già caricati $rs = $dbo->fetchArray("SELECT * FROM zz_files WHERE module=\"".$nome_modulo."\" AND externalid=\"".$externalid."\""); echo "<a name='attachments'></a>\n"; if ($showpanel == 1): echo "<div class=\"panel panel-primary\">\n"; echo " <div class=\"panel-heading\">\n"; echo " <h3 class=\"panel-title\">"._("Allegati")."</h3>\n"; echo " </div>\n"; echo " <div class=\"panel-body\">\n"; endif; if( sizeof($rs)>0 ){ echo "<table class=\"table table-condensed table-hover table-bordered\" >\n"; echo "<tr><th>Descrizione</th>\n"; echo "<th>File</th>\n"; echo "<th>Data</th>\n"; echo "<th style=\"width:5%;text-align:center;\" >#</th></tr>\n"; for( $i=0; $i<sizeof($rs); $i++ ){ echo "<tr><td align='left'><span title=\"".htmlentities($rs[$i]['nome'], ENT_QUOTES, "UTF-8")."\">".$rs[$i]['nome']."</span></td>\n"; echo "<td><a href=\"".$rootdir."/files/".strtolower($nome_modulo)."/".$rs[$i]['filename']."\" title=\"".htmlentities($rs[$i]['nome'], ENT_QUOTES, "UTF-8")."\" target=\"_blank\">".$rs[$i]['filename']."</a></td>\n"; echo "<td>".date("d/m/Y H:i", strtotime($rs[$i]['data']) )."</td>\n"; echo "<td style=\"text-align:center;\"><a class=\"btn btn-sm btn-danger\" title=\"Elimina questo file...\" onclick=\"if( confirm('Vuoi eliminare questo file?') ){ location.href='".$rootdir."/editor.php?id_module=".$modules_info[$nome_modulo]['id']."&id_record=".$externalid."&op=unlink_file&id=".$rs[$i]['id']."&filename=".$rs[$i]['filename']."'; }\"><i class='fa fa-trash-o'></i></a></td></tr>\n"; } echo "</table>\n"; } echo "<br>\n"; //Form per l'upload di un nuovo file echo " <b>".$label."</b>\n"; echo " <div class='row'>\n"; echo " <div class='col-lg-4'>\n"; echo " <input type=\"text\" class=\"form-control\" placeholder=\"Inserisci un nome...\" name=\"nome_allegato\">\n"; echo " <input type=\"hidden\" class=\"form-control\" name=\"docroot\" value=\"".$docroot."\" >\n"; echo " </div>\n"; echo " <div class='col-lg-6'>\n"; echo " <input type=\"file\" class=\"inputtext\" id=\"blob\" name=\"blob\"><br><br>\n"; echo " </div>\n"; echo " <div class='col-lg-2 text-right'>\n"; echo " <button type='button' class='btn btn-success' id=\"upload_button\" onclick=\"SaveFile();\" ><i class='fa fa-upload'></i> Carica</button>\n"; echo " </div>\n"; echo " </div>\n"; echo "<script>\n"; echo "function SaveFile(){\n"; echo "if( $('#blob').val()=='' ){ alert('Devi selezionare un file con il tasto Sfoglia...'); return false;}\n"; echo "if( $('input[name=nome_allegato]').val()=='' || $('input[name=nome_allegato]').val()=='Inserisci un nome...' ){\n"; echo "alert('Devi inserire un nome per il file!'); return false;}\n"; echo "var file_data = $('#blob').prop('files')[0];\n"; echo "var form_data = new FormData();\n"; echo "form_data.append('blob', file_data);\n"; echo "form_data.append('nome_allegato', $('input[name=nome_allegato]').val() );\n"; echo "form_data.append('docroot', $('input[name=docroot]').val() );\n"; echo "form_data.append('op','link_file' );\n"; echo "form_data.append('id_record','".$externalid."' );\n"; echo "form_data.append('id_module',".$modules_info[$nome_modulo]['id']." );\n"; echo "$.ajax({\n"; echo "url: '".$rootdir."/lib/actions.php', \n"; echo "cache: false,\n"; echo "type: 'post', \n"; echo "processData: false, \n"; echo "contentType: false, \n"; echo "dataType : 'html', \n"; echo "data: form_data, \n"; echo "success: function(data) {\n"; //echo "alert(data)\n"; echo "location.href = '".$rootdir."/editor.php?id_module=".$modules_info[$nome_modulo]['id']."&id_record=".$externalid."' \n"; echo "},\n"; echo "error: function() {\n"; echo "alert('Error occured'+form_data);\n"; echo"}\n"; echo "})\n"; echo "};\n"; echo "</script>\n"; if ($showpanel == 1): echo " </div>\n"; echo "</div><br>\n"; endif; } /** * Legge i plugins collegati al modulo in oggetto e restituisce un array nella forma: * $plugins[ 'nome_modulo' ] = '/path/dello/script/script.php'; */ function get_plugins( $module, $position ){ global $plugins; global $dbo; global $docroot; $q = "SELECT * FROM zz_modules_plugins WHERE idmodule_to=( SELECT id FROM zz_modules WHERE name=\"".$module."\" ) AND position=\"".$position."\""; $rs = $dbo->fetchArray($q); for( $i=0; $i<sizeof($rs); $i++ ){ //Lettura modulo di origine $q2 = "SELECT parent, module_dir FROM zz_modules WHERE id='".$rs[$i]['idmodule_from']."' AND `enabled`=1"; $rs2 = $dbo->fetchArray($q2); $module_dir = $rs2[0]['module_dir']; //Se c'è un altro livello sopra, devo mettere come prefisso anche quella directory if( $rs2[0]['parent'] != '0' ){ $q3 = "SELECT module_dir FROM zz_modules WHERE id='".$rs2[0]['parent']."' AND `enabled`=1"; $rs3 = $dbo->fetchArray($q3); $module_dir = $rs3[0]['module_dir']."/".$module_dir; } if( sizeof($rs2)>0 ){ $script = $docroot."/modules/".$module_dir."/plugins/".$rs[$i]['script']; $plugins[ $rs[$i]['name'] ] = $script; } } return $plugins; } ?>