<?php
/****************************************************************************************
SMI (Services Maintenance Interventions) est une gestion libre de maintenance et de SAV

Copyright (C) 2006  Sylvain FATOME

This program is free software; you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation; 
either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program
(in the directory docs); 
if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 
Boston, MA  02110-1301, USA.

Contact : galawa@free.fr
****************************************************************************************/

session_start(); 
?>
<?php if ((@$HTTP_SESSION_VARS["etat_log"] <> "connecte") or (@$HTTP_SESSION_VARS["niv_log"] <> 9)) header("Location: ../index.php") ?>
<?php include ("../inc/config.inc.php") ?>
<?php require ("../inc/func.inc.php") ?>
<?php require ("../inc/func_date.inc.php") ?>
<?php require ("../inc/lst.inc.php") ?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>

<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<title>SMI - ESPACE PRIVE : Logs de Connexion</title>

<!-- Feuille de style pour les affichages courants -->
<link href="../inc/smi.css" rel="stylesheet" type="text/css">

<!-- Feuille de style & Script pour le menu -->
<link href="../inc/menu.css" rel="stylesheet" type="text/css">
<script language="JavaScript" src="../coolmenus/coolmenus4.js"></script>

<!-- Scripts Javascript pour validation des formulaires -->
<script language="JavaScript" src="../inc/validator.js"></script>

<!-- Scripts Javascript pour affichages -->
<script language="JavaScript" src="../inc/aff.js"></script>

<!-- Définition Javascript pour calendrier popup -->

  <!-- Feuille de Style -->
  <link rel="stylesheet" type="text/css" media="all" href="../jscal/skins/aqua/theme.css" title="Aqua" />

  <!-- Script Javascript Principal -->
  <script type="text/javascript" src="../jscal/calendar.js"></script>

  <!-- Choix du langage -->
  <script type="text/javascript" src="../jscal/lang/calendar-fr.js"></script>

  <!-- the following script defines the Calendar.setup helper function, which makes
       adding a calendar a matter of 1 or 2 lines of code. -->
  <script type="text/javascript" src="../jscal/calendar-setup.js"></script>

<!-- Fin de la définition Javascript pour calendrier popup -->

<!-- Affichage nouvelle fenêtre pour impression -->
<script type="text/javascript">
	function lanceimp(page)
	{
	  window.open(page,'impression','width='+screen.width+' height='+screen.height);
	}
</script>

</head>

<body>

<?php 
	include_once ("../inc/entete.php"); 
?>


<p align="center"><span class="titrepage">LOGS DES CONNEXIONS </span></p>

<?PHP
	$fic_imp = "log_lsti.php";
	include_once ("../inc/formr.php"); 

	$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
	mysql_select_db(DBNAME);

	$rech = cree_strrechlstlog();
	$rech .= crestr_triord($log_titre_col,"log_date",FALSE,$limitlog);
		 
	$rs = mysql_query($rech) or die(mysql_error());
	$numrows = mysql_num_rows($rs); // Nombre de résultats à la requête
	

	// *** Pagination
	if(empty($_GET['page']))$_GET['page'] = 0; // Valeur de par défaut du nombre de pages
	
	$pages = intval($numrows/$limitlog); // Nombre total de pages
	
	if($numrows%$limitlog) $pages++; // S'il y a un reste à la division, alors page+1
	$current = ($_GET['page']/$limitlog) + 1; // Numéro de page courante
		
	if(($pages < 1) || ($pages == 0)) 
	  $total = 1; // Si le nombre de pages est inférieur à 1 ou égal à 0, alors le nombre total de pages est 1
	else 
	 $total = $pages; // Sinon, on conserve la variable $page telle qu'elle
		
	$first = $_GET['page'] + 1; // Premier résultat
		
	if(((($_GET['page'] + $limitlog) / $limitlog) >= $pages) && $pages != 1) 
		 $last = $_GET['page'] + $limitlog; // Si ce n'est pas la dernière page de résultats, alors la dernière page de résultat est $page + $limitlog
	else
		$last = $numrows; // Si c'est la dernière page de résultats, le dernier résultat est égal au nombre total de résultats
	// *** Fin de Pagination

	if($numrows == 0)
	{
		retpp();
	}
	 else
	{
		$rech = cree_strrechlstlog();
		$rech .= crestr_triord($log_titre_col,"log_date",TRUE,$limitlog);
	}
	// *** Fin de Chaîne de Recherche

	$rs = mysql_query($rech) or die(mysql_error());
	$numrows = mysql_num_rows($rs);

	// *** Affichage de la table

	echo "<table class=\"Mtable\" border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">\n";     

	// Création entête
	titlst(FALSE,$log_titre_col);	
	
	$i = 0;
		
	while ($row = mysql_fetch_assoc($rs)) 
	{         
		// Création de l'entête de ligne (TR)
		creetrlst($i);
		
		echo "<td>".$row["log_code"]."</td>\n";
        echo "<td>".formatedate($row["log_date"])."</td>\n";
		echo "<td>".$row["log_heure"]."</td>\n";
		echo "<td>".$row["log_urlprec"]."</td>\n";
		echo "<td>".$row["log_url"]."</td>\n";
		echo "<td>".$row["log_ip"]."</td>\n";

		echo "</tr>\n";
		
		$i++;    
	}  
	echo "</table>\n";
	// *** Fin affichage de la table
	
	mysql_free_result($rs);
	
	// *** Pagination de pied
	echo "<table width=\"100%\" border=\"0\">
	<tr>
	<td align=\"center\">\n";
		
	if (!empty($_GET['page']) && $_GET['page'] > 0)
	{
	   $back_page = $_GET['page'] - $limitlog;
	   $url = $_SERVER["PHP_SELF"]."?page=$back_page";
	
		if(!empty($_GET['search']))
			$url .= "&search=".$_GET['search']; // CREATION de 'search'
		if(!empty($_GET['rech']))
			$url .= "&rech=".$_GET['rech']; // CREATION de 'rech'
		if(!empty($_GET['ord']))
			$url .= "&ord=".$_GET['ord']; // CREATION de 'ord'
		if(!empty($_GET['tri']))
			$url .= "&tri=".$_GET['tri']; // CREATION de 'tri'
	   
	   
	   echo "<a href=\"$url\"><img src=\"../img/prec.png\" width=\"".$hl_vign."\" height=\"".$hl_vign."\" border=\"0\" align=\"absmiddle\"></a>    \n";
	}
	 
	// Boucle sur chaque page et CREATION d'un lien sur celle-ci
	// Pas de page s'il n'y a seulement qu'une page
	if($pages > 1)
	{
	 for ($i=1; $i <= $pages; $i++) 
	 {
	   $ppage = $limitlog*($i - 1);
	   if ($ppage == $_GET['page'])
		  echo("<span class=\"psel\">$i</span> \n");
	   else
	   {
		  $url = $_SERVER["PHP_SELF"]."?page=$ppage";
						  
		if(!empty($_GET['search']))
			$url .= "&search=".$_GET['search']; // CREATION de 'search'
		if(!empty($_GET['rech']))
			$url .= "&rech=".$_GET['rech']; // CREATION de 'rech'
		if(!empty($_GET['ord']))
			$url .= "&ord=".$_GET['ord']; // CREATION de 'ord'
		if(!empty($_GET['tri']))
			$url .= "&tri=".$_GET['tri']; // CREATION de 'tri'
						  
		  echo("<span class=\"pnsel\"><a href=\"$url\">$i</a></span> \n");
	   }
	 }
	}
	
	if(((($_GET['page']+$limitlog) / $limitlog) < $pages) && $pages != 1) 
	{   
	   $next_page = $_GET['page'] + $limitlog; // Si c'est la dernière page, pas de page suivante
	   $url = $_SERVER["PHP_SELF"]."?page=$next_page";
		
		if(!empty($_GET['search']))
			$url .= "&search=".$_GET['search']; // CREATION de 'search'
		if(!empty($_GET['rech']))
			$url .= "&rech=".$_GET['rech']; // CREATION de 'rech'
		if(!empty($_GET['ord']))
			$url .= "&ord=".$_GET['ord']; // CREATION de 'ord'
		if(!empty($_GET['tri']))
			$url .= "&tri=".$_GET['tri']; // CREATION de 'tri'
	   
	   echo "    <a href=\"$url\"><img src=\"../img/suiv.png\" width=\"".$hl_vign."\" height=\"".$hl_vign."\" border=\"0\" align=\"absmiddle\"></a>\n";
	}
	 
	echo "</td>
		 </tr>
		 </table>"; 

	// *** Fin de pagination de pied	

	mysql_close($conn);  
			
	include_once ("../inc/piedla.php"); 
?>

<!-- Permet de purger des logs sur une fourchette de dates -->
<form name="log_purge" id="log_purge" method="post" action="log_enr.php?td=del" onSubmit="return v.exec();">
<p align="center" class="titre_gras_soul">PURGE DES LOGS</p>
<table width="400"  border="0" align="center">
<tr>
	<td width="30" class="tfvNormal" id="f_date1f"><div align="right">Du...</div></td>
	<td>
		<input name="date1f" type="text" id="date1f" size="10" maxlength="10" readonly="1">
		<img src="../img/calendar.png" id="f_img_date1f" title="Choisir votre date" width="16" height="16">
		<img src="../img/oblig.gif" width="10" height="11">
	</td>
	<td width="30" class="tfvNormal" id="f_date2f"><div align="right">Au...</div></td>
	<td>
		<input name="date2f" type="text" id="date2f" size="10" maxlength="10" readonly="1">
		<img src="../img/calendar.png" id="f_img_date2f" title="Choisir votre date" width="16" height="16">
		<img src="../img/oblig.gif" width="10" height="11">
	</td>
</tr>
</table>
<p align="center">
<input name="purge" type="submit" id="purge" value="Purger">
<input name="purge" type="submit" id="purge" value="Tout Purger">
</p>
</form>

  <script type="text/javascript">
	Calendar.setup({
		inputField     :    "date1f",     // id of the input field
		ifFormat       :    "%d-%m-%Y",      // format of the input field
		button         :    "f_img_date1f",  // trigger for the calendar (button ID)
		align          :    "Ll",           // alignment (defaults to "Bl")
		singleClick    :    true
	});
	Calendar.setup({
		inputField     :    "date2f",     // id of the input field
		ifFormat       :    "%d-%m-%Y",      // format of the input field
		button         :    "f_img_date2f",  // trigger for the calendar (button ID)
		align          :    "Ll",           // alignment (defaults to "Bl")
		singleClick    :    true
	});
  </script>
  
<script>
// form fields description structure
var a_fields = {
	'date1f':{'l':'Du...','r':false,'t':'f_date1f','mx':10},
	'date2f':{'l':'Au...','r':false,'t':'f_date2f','mx':10}
},

o_config = {
	'to_disable' : ['submit'],
	'alert' : 1
}

// validator constructor call
var v = new validator('log_purge', a_fields, o_config);

</script>

<?php 
	include_once ("pied.php")
?>
