<?php
/**
* Finestra per la gestione dei link dalla scheda
* Viene aperta in popup dal file {@link scheda.php}
*
* @package VFront
* @author Mario Marcello Verona <hide@address.com>
* @copyright 2007-2009 M.Marcello Verona
* @version 0.95 $Id: add.link.php 564 2010-03-20 02:03:58Z marciuz $
* @license http://www.gnu.org/licenses/gpl.html GNU Public License
*/
// Imposto l'esecuzione massima in 10 minuti
ini_set('max_execution_time',600);
include("./inc/conn.php");
include("./inc/layouts.php");
include("./inc/func.comuni.php");
include("./inc/func.frontend.php");
proteggi(1);
/**
* Funzione di parsing del link.
* Controlla la validit� del link e qualora non sia espresso un suffisso valido come http:// o https://
* se sovreascrive il contenuto
*
* @param string $user_link
* @todo La funzione � da scrivere, attualmente restituisce la stringa cos� com'�.
* @return string
*/
function parse_link($user_link){
return $user_link;
}
######################################################################
#
# CASO ELIMINA ALLEGATO
#
if(isset($_GET['del'])){
$id_da_eliminare=str_replace(_BASE64_PASSFRASE,'',base64_decode($_GET['del']));
$id_da_eliminare=intval($id_da_eliminare);
// elimino dal DB
$q_del=vmsql_query("DELETE FROM "._TABELLA_LINK." WHERE codicelink=$id_da_eliminare",$link);
$test_del_db= (vmsql_affected_rows($link,$q_del)==1) ? true:false;
if($test_del_db){
header("Location: ".$_SERVER['PHP_SELF']."?t=".$_GET['t']."&id=".$_GET['id']."&az=del&feed=ok");
}
else{
header("Location: ".$_SERVER['PHP_SELF']."?t=".$_GET['t']."&id=".$_GET['id']."&az=del&feed=ko");
}
exit;
}
#
#
######################################################################
#######################################################################
#
# CASO UPLOAD ESEGUITO
#
if(count($_POST['links'])>0){
$tabella = preg_replace("'[\W]+'","",trim($_POST['t']));
$id = preg_replace("'[\W]+'","",trim($_POST['id']));
$success=0;
for($i=0;$i<count($_POST['links']);$i++){
$sql_ins="INSERT into "._TABELLA_LINK." (tipoentita,codiceentita,link)
VALUES('$tabella','$id','".$_POST['links'][$i]."')";
$q_ins=vmsql_query($sql_ins,$link);
if(vmsql_affected_rows($link,$q_ins)==1){
$success++;
}
}
if(count($_POST['links'])==$success){
header("Location: ".$_SERVER['PHP_SELF']."?t=".$_POST['t']."&id=".$_POST['id']."&feed=ok");
exit;
}
else{
header("Location: ".$_SERVER['PHP_SELF']."?t=".$_POST['t']."&id=".$_POST['id']."&feed=ko");
}
exit;
}
########################################################################
########################################################################
#
# VISTA PAGINA - QUERY DI RICERCA LINK
#
# CASO SPECIALE NEW:
// L'utente ha cliccato su allegato quando ancora il record non era salvato..
if($_GET['id']=='new'){
$msg=_("La corretta procedura per inserire link, prevede prima il salvataggio del nuovo record e solo allora l'inserimento dei link.");
openErrorGenerico(_('Impossibile inserire link prima di salvare il nuovo record'),false,$msg,'popup');
exit;
}
if($_GET['id']=='ric'){
$msg=_("Si è in fase di ricerca. Eseguire o annullare la ricerca prima di inserire link.");
openErrorGenerico(_('Impossibile allegare link in modalità ricerca'),false,$msg,'popup');
exit;
}
$tabella = preg_replace("'[\W]+'","",trim($_GET['t']));
$id = preg_replace("'[\W]+'","",trim($_GET['id']));
// PRENDI IMPOSTAZIONI ALLEGATI PER TABELLA/REGISTO
$q_reg=vmsql_query("SELECT permetti_link_ins,
permetti_link_del
FROM {$db1['frontend']}.registro_tab
WHERE table_name='$tabella'
AND gid=".$_SESSION['gid'],$link);
list($link_ins,$link_del)=vmsql_fetch_row($q_reg);
if(!is_tabella($tabella) || $id==''){
openErrorGenerico(_('Errore nella richiesta'),false);
exit;
}
// CERCA ALLEGATI PER QUESTA TABELLA
$qa=vmsql_query("SELECT * FROM "._TABELLA_LINK."
WHERE tipoentita='$tabella'
AND codiceentita='$id'
ORDER BY link, lastdata",$link);
$num_link=vmsql_num_rows($qa);
$matrice_info_link=vmsql_fetch_assoc_all($qa);
$files = array('sty/linguette.css','sty/admin.css','js/clona_link.js','sty/attach.css');
$INIZIO_LAYOUT= openLayout1("Link",$files,'popup');
echo str_replace("<body>","<body onload=\"self.focus();\">",$INIZIO_LAYOUT);
echo "<img src=\"./img/network.gif\" style=\"float: left;\" alt=\""._('gestione link')."\" />\n";
echo "<h1 style=\"font-size:1.6em;\">"._('Link per record')." <span class=\"var\">".$_GET['id']."</span> "._('della tabella')." <span class=\"var\">".$_GET['t']."</span></h1>";
echo "<br style=\"clear:left;\" />";
$JS_aggiorna= (isset($_GET['feed']) && $_GET['feed']=='ok') ? 'window.opener.richiediAL();' : "";
// prendi aree tematiche
/*$q_aree=vmsql_query("SELECT codiceAreatematica, descAreatematica FROM areatematica ORDER BY descAreatematica",$link);
$SELECT = "\t<select name=\"area[]\">\n";
while($RS=vmsql_fetch_assoc($q_aree)){
$areetematiche[$RS['codiceAreatematica']]=$RS['descAreatematica'];
$SELECT.="\t\t<option value=\"".$RS['codiceAreatematica']."\">".$RS['descAreatematica']."</option>\n";
}
$SELECT.="\t</select>\n";
*/
echo "
<script type=\"text/javascript\">
$JS_aggiorna
var divs = new Array('link','nuovilink');
var nuoviLink=0;
function eti(ido){
for (var i in divs){
document.getElementById('cont-eti-'+divs[i]).style.display='none';
document.getElementById('li-'+divs[i]).className='disattiva';
}
// attiva il selezionato
document.getElementById('cont-eti-'+ido).style.display='';
document.getElementById('li-'+ido).className='attiva';
}
</script>
";
echo "
<div id=\"contenitore-variabili\">
<div id=\"box-etichette\">
<ul class=\"eti-var-gr\">
<li onclick=\"eti('link');\" id=\"li-link\" class=\"attiva\">"._('Link presenti')."</li>
", ($link_ins) ? "<li onclick=\"eti('nuovilink');\" id=\"li-nuovilink\" class=\"disattiva\">"._('Inserisci link')."</li>" : "","
</ul>
</div>";
// LINGUETTA NUOVO FLUSSO
echo "
<div class=\"cont-eti\" id=\"cont-eti-link\" >
<p>"._('Link presenti per questo record:')." <strong>$num_link</strong></p>
<hr class=\"light2\" />
";
// MOSTRA GLI ALLEGATI
for($i=0;$i<count($matrice_info_link);$i++){
$elimina= ($link_del) ? " - <span class=\"fakelink-rosso\" onclick=\"if(confirm('"._('Vuoi davvero cancellare questo link?')."')){ window.location='".$_SERVER['PHP_SELF']."?t=$tabella&id=$id&del=".base64_encode($matrice_info_link[$i]['codicelink']._BASE64_PASSFRASE)."';}\" >"._('Elimina')."</span>" : "";
echo "
<div class=\"link\">
<p><a href=\"".parse_link($matrice_info_link[$i]['link'])."\">".$matrice_info_link[$i]['link']."</a> $elimina<br />
".
// "<span class=\"grigio\">Area: ".$areetematiche[$matrice_info_link[$i]['codiceAreaTematica']]."</span>".
"</p>
</div>\n";
}
echo "
</div>
";
// LINGUETTA AMMINISTRAZIONE FLUSSI
if($link_ins){
echo "
<div class=\"cont-eti\" id=\"cont-eti-nuovilink\" style=\"display:none;\">
<br />
";
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" >
<div>
<div id="contenitore-link"><div><input type="text" name="links[]" size="68" value="http://" /><?php echo $SELECT; ?>
<span onclick="rimuovi_link(this);" class="fakelink" style="font-size:0.7em;"><?php echo _('rimuovi');?></span><br /></div></div>
<span onclick="clona_link();" class="fakelink"><?php echo _('Aggiungi un altro link');?></span><br /><br /><br />
<input type="hidden" name="t" value="<?php echo $tabella;?>" />
<input type="hidden" name="id" value="<?php echo $id;?>" />
<input type="submit" name="aggiungi" value=" <?php echo _('Invia');?> " onclick="submit();this.value='<?php echo _('Attendere, prego');?>';this.disabled=true;" />
</div>
</form>
<?php
echo "</div>\n";
} //-- fine clausola diritti nuovi inserimenti
echo "</div><!-- fine contenitore -->\n\n";
echo closeLayout1();
?>