<?php 

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// HamLogWeb
//
// Par F5AGL - GRIP 2007-2008
//
// Email : f5agl@zapgillou.fr
//
// Cette création est mise à disposition selon le Contrat Paternité-Pas d'Utilisation Commerciale-Pas de Modification 2.0 France 
// disponible en ligne http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ 
// ou par courrier postal à Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.
// 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Fichier : qslcards.php 
//
// Description : Affichage des cartes QSL
//
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// Script pour l'affichage des QSL au passage de la souris
?>
<DIV class=pop id=img></DIV>
<SCRIPT type="text/javascript">
if (document.getElementById){
box = document.getElementById("img").style;
if(navigator.appName.substring(0,3) == "Net")
document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = pointer;
}
function closepopup()
{
if (document.getElementById)
box.visibility = "hidden";
}
function poplink(contenu){
var content ="<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#000000 ONCLICK=\"closepopup()\";><TR><TD><TABLE WIDTH=1 CELLPADDING=3 CELLSPACING=1><TR><TD BGCOLOR=#FFFFFF><CENTER><img src=\""+contenu+"\"; ></CENTER></TD></TR></TABLE></TD></TR></TABLE>";
if (document.getElementById)
{
document.getElementById("img").innerHTML =
content;
box.visibility = "visible";
}
}
function pointer(e)
{
var x = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x+document.body.scrollLeft;
var y = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y+document.body.scrollTop;
box.left = x-<?php echo $qslcards_largeur/2;?>;
box.top = y-<?php echo $qslcards_hauteur/2;?>;
// box.left = x+2;
// box.top = y+2
}

</SCRIPT>

<?php


// Récupération du filtre éventuel des QSLs
$Filtre_QSL 	= $_POST['DXCC'];
$Filtre_Actif 	= $_POST['SEARCHDXCC'];

if ($Filtre_Actif==$lg_qslcards_search) { $Filtre_Actif=true; } else { $Filtre_Actif=false; }

// ou sinon il peut avoir été transmis en paramètre de la page html lors du clic sur page précédente, suivante, etc...
$FQ=$_GET['FQ'];

if (!($FQ=="")) { $Filtre_QSL = $FQ; $Filtre_Actif=true; }

// Connexion au serveur MySQL
$link = @mysql_connect($db_host,$db_login,$db_psw) or AfficherErreur(1,"[qslcards.php] - Impossible de se connecter au serveur MySQL : " . mysql_error());

// Connexion à la base MySQL
$db_selected = mysql_select_db($db_base, $link); if (!$db_selected) { AfficherErreur(1,"[qslcards.php] - Impossible de sélectionner la base de données : " . mysql_error()); }

// Affichage du formulaire de filtrage des QSLs
?>

<BR>
<CENTER>
<div style="text-align: center;">
<div style="text-align: center;"></div>
<form method="post" action="index.php?langue=<?php echo $langue; ?>&contenu=qslcards.php" name="SelectionQSL">
<center>
<table style="text-align: left; width: 60%;" border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="text-align: center;">
<select name="DXCC">
	<?php
	if (!($Filtre_Actif==true))
		{
		?><option selected=\"selected\" value=""><?php echo $lg_Filtrage_TousDXCC; ?></option><?php
		}
	else
		{
		?><option value=""><?php echo $lg_Filtrage_TousDXCC; ?></option><?php
		}
	$dxccsql = 'SELECT DISTINCT NUM, UK FROM `'.$db_table.'_DXCC`, `'.$db_table.'_QSL` WHERE `NUM` LIKE '.$db_table.'_QSL.DXCC ORDER BY `UK` ASC';
	$dxccresult = @mysql_query($dxccsql); 
	while ($dxccligne=@mysql_fetch_row($dxccresult))
		{
		if ($dxccligne[0]==$Filtre_QSL)
		{
		?><option selected=\"selected\" value="<?php echo $dxccligne[0]; ?>"><?php echo $dxccligne[1]; ?></option><?php
		}
	else
		{
		?><option value="<?php echo $dxccligne[0]; ?>"><?php echo $dxccligne[1]; ?></option><?php
		}
	}
	?>
</select>



        <br>
        <div style="text-align: center;"><input name="SEARCHDXCC" value="<?php echo $lg_qslcards_search; ?>" type="submit"></div>
        </td>
</tr>
</tbody>
</table>
</center>
<br>
</form>
</div>


<?php

// Lecture de la liste des QSL et application éventuelle du filtre dxcc
if ($Filtre_QSL=="")
		{ $sql = 'SELECT * FROM `'.$db_table.'_QSL` ORDER BY `CALL` ASC'; }
	else 	{ $sql = 'SELECT * FROM `'.$db_table.'_QSL` WHERE `DXCC` LIKE \''.$Filtre_QSL.'\' ORDER BY `CALL` ASC'; }

$result = mysql_query($sql); if (!$result) { AfficherErreur(1,"[qslcards.php] - Problème d'accès à la table ".$db_table."_QSL  - Message système MySQL : " . mysql_error());  }

while ($ligne=@mysql_fetch_row($result))
	{
	$files[]=$ligne[4];
	$calls[]=$ligne[1];
	$dxccs[]=$ligne[0];
	}
	

// Tri de la liste des fichiers jpg
// @sort($files);

if (!(count($files)==0))

	{

	// calcul du nombre de qsl
	$i=0;
	foreach ($files as $file)
		{
		$i=$i+1;
		}
	$nbqsl=$i;


	// si pas de numéro de page indiqué en paramètre, c'est la première page par défaut (la numéro zéro)
	if ($PageNumero == "") { $PageNumero = 0; }


	// si PageNumero = -1, il s'agit d'une demande de consultation de la dernière page
	if ($PageNumero == -1)
		{	
		$i=$nbqsl;
		$page=0;
		while ($i>0)
			{
			$page=$page+1;
			$i=$i-($qslcards_lignes*$qslcards_colonnes);
			}
		$PageNumero=$page-1;
		}


	// positionnement à la bonne page (la première page a le numéro 0)
	$qslencours=$PageNumero*($qslcards_lignes*$qslcards_colonnes);


	// Affichage des vignettes des QSLs
	?>
	<table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2"><tbody>
	<?php

	$RangLargeur = 0;
	$LargeurCellule = 100/$qslcards_colonnes;

	// On règle $nbderniereqsl pour afficher le nb de qsl prévu dans $config
	$nbderniereqsl=$qslencours+($qslcards_lignes*$qslcards_colonnes);

	$Affichage=0;

	while (($qslencours<$nbqsl) and ($qslencours<$nbderniereqsl))
		{
		if ($Affichage==0)
			{
			$Affichage=1;
			// Message d'info concernant le clic sur une qsl
			?>
			<div style="text-align: center;"><span style="font-weight: bold; font-family: <?php echo $PoliceSite; ?>; 
			font-style: italic;"><?php echo $lg_qslcards_justclick; ?>   </span></div><BR>
			<?php
			}

		$ficqsl=$files[$qslencours];
		$callqsl=$calls[$qslencours];
		$dxccqsl=$dxccs[$qslencours];

		// On change de colonne (d'où l'initiation à zéro plus haut)
		$RangLargeur = $RangLargeur + 1 ;

		// Si on est sur la première colonne, il faut créer la ligne du tableau
		if ($RangLargeur == 1)
			{
			echo "<tr>";
			}

		// création de la cellule du tableau
		?>
		<td style="height: <?php echo $qslcards_cellulehauteur; ?>px; width: <?php echo $LargeurCellule; ?>%; text-align: center;">
		<?php
		
		$sql = 'SELECT `NUM`, `UK` FROM `'.$db_table.'_DXCC` WHERE `NUM` LIKE \''.$dxccqsl.'\''; 		
		$result = mysql_query($sql); if (!$result) { AfficherErreur(1,"[qslcards.php] - Problème d'accès à la table ".$db_table."_DXCC  - Message système MySQL : " . mysql_error());  }
		if ($ligne=@mysql_fetch_row($result))
			{
			$nomdxcc=$ligne[1];
			}
		else
			{
			$nomdxcc=$ligne[1]="";
			}




		// Affichage de la vignette QSL
		echo "<div>";
		?>
		<div style="text-align: center;">
		<img alt="" style="cursor: pointer;" ONCLICK="poplink('<?php echo "./qsl/".$ficqsl; ?>')"; src="<?php echo "./qsl/thumbs/vignette_".$ficqsl; ?>">
		<br></div>
		<div style="text-align: center;"><span style="font-weight: bold; font-family: <?php echo $PoliceSite; ?>; font-style: italic;"><small><?php echo $callqsl." - ".$nomdxcc; ?></small></span></div>
		

		<?php
		// Fin de la cellule vignette
		echo "</td>";


 

		// Si on était sur la dernière colonne, on clos la ligne
		if ($RangLargeur == $qslcards_colonnes)
			{
			echo "</tr>";
			$RangLargeur = 0;
			}
        	$qslencours=$qslencours+1;
		}



	if ($RangLargeur != $qslcards_colonnes)
		{
		while ($RangLargeur != $qslcards_colonnes)
			{
			echo "<td style=\"width: $qslcards_cellulelargeur%;\"></td>";
			$RangLargeur = $RangLargeur + 1;		
			}
		echo "</tr>";
		}

	?>
	</tbody></table>
	<?php

	// Affichage de la navigation inter pages
	if ($Affichage==1)
		{
		// Si on a au moins affiché 1 QSO, alors on affiche le pied de tableau (page précédente éventuel, suivante, première, dernière)
		$PagePrecedente=$PageNumero-1;
		$PageSuivante=$PageNumero+1;

		// On fait passer en paramètre le filtre en cours
		if ($Filtre_Actif==true)
			{ $ChaineFiltre = "&langue=".$langue."&contenu=qslcards.php&FQ=".$Filtre_QSL; }
		else
			{ $ChaineFiltre = "&langue=".$langue."&contenu=qslcards.php"; }
		
		// "page précédente" affiché si elle ne vaut pas -1
		?>
		<table style="text-align: left; width: 50%;" border="0" cellpadding="2" cellspacing="2">
	  	<tbody>
	    	<tr>   
	     	<td style="width: 50%;"><div style="text-align: left;"><small><?php
		if (!($PagePrecedente==-1)) { ?> <a href="<?php echo $site_www; ?>index.php?PageNumero=<?php echo $PagePrecedente.$ChaineFiltre; ?>">
						 <span style="font-family: <?php echo $PoliceSite; ?>;"><?php echo $lg_logbook_previouspage; ?></span></a> 
						 <?php } 

		// "première page" affiché dans tous les cas
		?><br style="font-family: <?php echo $PoliceSite; ?>;"><a href="<?php echo $site_www."index.php?PageNumero=0".$ChaineFiltre; ?>">
		<span style="font-family: <?php echo $PoliceSite; ?>;"><?php echo $lg_logbook_firstpage; ?></span></a>&nbsp; </small></div></td>

		<?php
		// "page suivante" si on n'est pas à la fin du fichier ADIF
		?>
      		<td style="width: 50%; text-align: right;"><small><span style="font-family: <?php echo $PoliceSite; ?>;"><?php
		if (!($qslencours==$nbqsl)) { ?> <a href="<?php echo $site_www; ?>index.php?PageNumero=<?php 
				    echo $PageSuivante.$ChaineFiltre; ?>"><?php echo $lg_logbook_nextpage; ?></a> <?php } ?>

		<?php
		// "dernière page" dans tous les cas
		?>
		<br><a href="<?php echo $site_www."index.php?PageNumero=-1".$ChaineFiltre; ?>"><?php echo $lg_logbook_lastpage; ?></a></span></small></td>
	   	</tr>
	  	</tbody>
		</table>
		<?php

		}
	else
		{
		$zeroqsl=true;
		}
	}
else
	{
	$zeroqsl=true;
	}

if ($zeroqsl)
	{
	// si aucune QSL affiché, on affiche le message d'alerte
	?><center><table style="text-align: left; margin-left: 0px; width: 338px;" border="0" cellpadding="2" cellspacing="2">
  	<tbody><tr><td style="text-align: right; width: 73px;"><img style="width: 41px; height: 41px;" alt="" src="./img/annuler.png"></td>
      	<td style="font-family: Helvetica,Arial,sans-serif; font-weight: bold; font-style: italic; 
	width: 247px;">&nbsp;&nbsp;Sorry, any QSL found !</td>
    	</tr></tbody></table></center><br>
	<?php
	}	


// fermeture session sur le serveur MySQL
@mysql_close($link);

?>



<BR>



<BR>

</CENTER>



