Location: PHPKode > projects > VFront Database Management > vfront-0.95l/add.link.php
<?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 &egrave; in fase di ricerca. Eseguire o annullare la ricerca prima di inserire link.");
	openErrorGenerico(_('Impossibile allegare link in modalit&agrave; 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&amp;id=$id&amp;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();
?>
Return current item: VFront Database Management