296 lines
9.8 KiB
PHP
296 lines
9.8 KiB
PHP
<?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;
|
|
}
|
|
?>
|