ajout statistiques
This commit is contained in:
parent
869926af3f
commit
febc76934b
@ -3,6 +3,13 @@
|
|||||||
require_once 'config.inc.php';
|
require_once 'config.inc.php';
|
||||||
require_once 'db.class.php';
|
require_once 'db.class.php';
|
||||||
require_once 'log.php';
|
require_once 'log.php';
|
||||||
|
$page = getpost("np");
|
||||||
affich_log(200);
|
$niveau = getpost("level");
|
||||||
|
print '<!DOCTYPE html><html>
|
||||||
|
<head><meta charset="utf-8">
|
||||||
|
<title>Avion-poème</title>
|
||||||
|
<link rel="icon" href="src/img/icon.png">
|
||||||
|
</head><body>';
|
||||||
|
affich_log(200, $page, $niveau);
|
||||||
|
print '</body></html>';
|
||||||
?>
|
?>
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
$result = $db->result->fetch_assoc();
|
$result = $db->result->fetch_assoc();
|
||||||
return $result['Auto_increment']-1;
|
return $result['Auto_increment']-1;
|
||||||
}
|
}
|
||||||
function total()
|
function total() //nombre d'avions poèmes présents dans la base
|
||||||
{
|
{
|
||||||
global $db;
|
global $db;
|
||||||
$query = "SELECT COUNT(*) as nAvion FROM avionpoeme";
|
$query = "SELECT COUNT(*) as nAvion FROM avionpoeme";
|
||||||
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function totalenvol()
|
function totalenvol() //nombre d'avions poèmes en vol
|
||||||
{
|
{
|
||||||
global $db;
|
global $db;
|
||||||
$query = "SELECT COUNT(*) as n FROM avionpoeme WHERE public!=2";
|
$query = "SELECT COUNT(*) as n FROM avionpoeme WHERE public!=2";
|
||||||
@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function anonymous()
|
function anonymous() //nombre d'avions poèmes envoyés anonymement
|
||||||
{
|
{
|
||||||
global $db;
|
global $db;
|
||||||
$query = "SELECT COUNT(*) as n FROM avionpoeme WHERE expemail=''";
|
$query = "SELECT COUNT(*) as n FROM avionpoeme WHERE expemail=''";
|
||||||
@ -53,21 +53,21 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$nAvionCree = totaltotal();
|
$nAvionEnvoye = totaltotal();
|
||||||
if ($nAvionCree == 0)
|
if ($nAvionEnvoye == 0)
|
||||||
{
|
{
|
||||||
echo "Aucun avion-poème envoyé pour l'instant";
|
echo "Aucun avion-poème envoyé pour l'instant";
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
|
|
||||||
echo "Nombre total d'avions-poème : " . $nAvionCree . EOL;
|
echo "Nombre total d'avions-poème : " . $nAvionEnvoye . EOLH;
|
||||||
$total = total();
|
$total = total();
|
||||||
$avionSupp = $nAvionCree-$total;
|
$avionSupp = $nAvionEnvoye-$total;
|
||||||
echo "Nombre d'avion supprimés : " . $avionSupp . " => " . $avionSupp/$nAvionCree*100 . "%" . EOL;
|
echo "Nombre d'avion supprimés : " . $avionSupp . " => " . round($avionSupp/$nAvionEnvoye*100,3) . "%" . EOLH;
|
||||||
$nAvionenvol = totalenvol();
|
$nAvionenvol = totalenvol();
|
||||||
echo "Nombre d'avions-poème en vol : " . $nAvionenvol . " => " . $nAvionenvol/$nAvionCree*100 . "%" . EOL;
|
echo "Nombre d'avions-poème en vol : " . $nAvionenvol . " => " . round($nAvionenvol/$nAvionEnvoye*100) . "%" . EOLH;
|
||||||
$anonymous = anonymous();
|
$anonymous = anonymous();
|
||||||
echo "Nombre d'envois anonymes : " . $anonymous . " => " . $anonymous/$nAvionCree*100 . "%" . EOL;
|
echo "Nombre d'envois anonymes : " . $anonymous . " => " . round($anonymous/$nAvionEnvoye*100) . "%" . EOLH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@ class db
|
|||||||
|
|
||||||
$this->result = $this->connect->query( $string ) ;
|
$this->result = $this->connect->query( $string ) ;
|
||||||
|
|
||||||
if ( $this->connect->error ) log_error( "Échec de la commande query => " . $this->connect->error . "<br />" . __file__ . ' ligne ' . __line__ . "\n" . $string, true, false);
|
if ( $this->connect->errno > 0 ) log_error( "Échec de la commande query => " . $this->connect->error . "<br />" . __file__ . ' ligne ' . __line__ . "\n" . $string, true, false);
|
||||||
//print_r( $this );
|
//print_r( $this );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -90,22 +90,29 @@ function replaceVariables($db, $text, $dico) :array
|
|||||||
while( 1 )
|
while( 1 )
|
||||||
{
|
{
|
||||||
// Recherche les variables dans le texte
|
// Recherche les variables dans le texte
|
||||||
|
if ($x++ >10 ) break; // empêche une boucle sans fin, il n'y a pas plus de 10 variables par texte
|
||||||
$posVar = strpos( $text, "$", $posVar);
|
$posVar = strpos( $text, "$", $posVar);
|
||||||
if ($posVar !== false)
|
if ($posVar !== false)
|
||||||
{
|
{
|
||||||
// une variable a été trouvée
|
// une variable a été trouvée
|
||||||
if ($x++ >10 ) break; // empêche une boucle sans fin, il n'y a pas plus de 10 variables par texte
|
|
||||||
$posEsp = strpos( $text, " ", $posVar);
|
$posEsp = strpos( $text, " ", $posVar);
|
||||||
if ($posEsp === false)
|
if ($posEsp === false)
|
||||||
{
|
{
|
||||||
$var = substr($text, $posVar+1, strlen($text)-$posVar);
|
$var = substr($text, $posVar+1, strlen($text)-$posVar);
|
||||||
}else
|
}else
|
||||||
|
{
|
||||||
|
if ($posEsp == $posVar+1)
|
||||||
|
{
|
||||||
|
$var = "";
|
||||||
|
}else
|
||||||
{
|
{
|
||||||
$var = substr($text, $posVar+1, $posEsp-$posVar-1);
|
$var = substr($text, $posVar+1, $posEsp-$posVar-1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
$posVar = $posEsp+1;
|
$posVar = $posEsp+1;
|
||||||
|
if ($var != "")
|
||||||
|
{
|
||||||
$var = trim($var, " .\n\r)");
|
$var = trim($var, " .\n\r)");
|
||||||
|
|
||||||
$varReplace = "$" . $var;
|
$varReplace = "$" . $var;
|
||||||
if ( isset ($variables[$var]) )
|
if ( isset ($variables[$var]) )
|
||||||
{
|
{
|
||||||
@ -125,6 +132,7 @@ function replaceVariables($db, $text, $dico) :array
|
|||||||
$varText = '<a href="' . $varText .'">' . $varText . "</a>";
|
$varText = '<a href="' . $varText .'">' . $varText . "</a>";
|
||||||
}
|
}
|
||||||
$text = str_replace($varReplace, $varText, $text); //remplace la variable dans le texte
|
$text = str_replace($varReplace, $varText, $text); //remplace la variable dans le texte
|
||||||
|
}
|
||||||
}else {
|
}else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -39,8 +39,8 @@ function log_write($log, $level=INFO)
|
|||||||
|
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
echo $db->error();
|
//echo $db->error();
|
||||||
mail( $webmaster, "Erreur écriture logs => " . __file__ . " ligne " . __line__ , $log_mail);
|
mail( $webmaster, "Erreur de connecxion à la base de données => " . __file__ . " ligne " . __line__ , $log_mail);
|
||||||
}
|
}
|
||||||
//$db->close();
|
//$db->close();
|
||||||
if ( $level == ALERT )
|
if ( $level == ALERT )
|
||||||
@ -78,17 +78,18 @@ function affich_log( $nl, $np = 1, $level=0)
|
|||||||
if( !empty( $db->connect ) )
|
if( !empty( $db->connect ) )
|
||||||
{
|
{
|
||||||
$level_s = array( "aucun", "info", "alerte", "erreur" );
|
$level_s = array( "aucun", "info", "alerte", "erreur" );
|
||||||
$query = 'SELECT * FROM ' . $table_prefix . 'logs ORDER BY id_log DESC';
|
if ($level < 0 or $level >3) $level = 0;
|
||||||
|
$query = 'SELECT * FROM ' . $table_prefix . 'logs';
|
||||||
if ( $level != 0 )
|
if ( $level != 0 )
|
||||||
{
|
{
|
||||||
$query .= " WHERE niveau='" . $db->protect($level) . "'";
|
$query .= " WHERE niveau=" . $level ;
|
||||||
}
|
}
|
||||||
|
$query .= ' ORDER BY id_log DESC';
|
||||||
$db->query($query);
|
$db->query($query);
|
||||||
$total_lignes = $db->result->num_rows;
|
$total_lignes = $db->result->num_rows;
|
||||||
if ($total_lignes != 0 )
|
|
||||||
{
|
|
||||||
|
|
||||||
$n_pages = round( $total_lignes / $nl ) +1;
|
/////////////:: Calcule le nombre de pages de logs
|
||||||
|
$n_pages = round( $total_lignes / $nl );
|
||||||
|
|
||||||
if ( $np == 0 )
|
if ( $np == 0 )
|
||||||
{
|
{
|
||||||
@ -97,11 +98,29 @@ function affich_log( $nl, $np = 1, $level=0)
|
|||||||
{
|
{
|
||||||
$np = $n_pages;
|
$np = $n_pages;
|
||||||
}
|
}
|
||||||
echo '<table><tr>';
|
//////////////////////////////////////////////////////
|
||||||
if ( $np > 1 )
|
|
||||||
|
////////////////////////// Bouton de choix du niveau de log
|
||||||
|
echo "\n" . '<form action="none" method="post" enctype="multipart/form-data">';
|
||||||
|
echo "niveau de log" . ' <select id="level" size="0" onchange="window.location.href = \'logs.php?np=\' + document.getElementById(\'np\').value + \'&level=\' + document.getElementById(\'level\').value ;">';
|
||||||
|
|
||||||
|
for ( $n = 0; $n <= count( $level_s ) - 1; $n++ )
|
||||||
{
|
{
|
||||||
echo '<td><a href="logs.php?np=' . ($np - 1) . '">Page précédente</a></td><td>';
|
echo '<option value="' . $n . '"';
|
||||||
|
if ( $n == $level )
|
||||||
|
{
|
||||||
|
echo ' selected="selected"';
|
||||||
}
|
}
|
||||||
|
echo '>' . $level_s[ $n ] . '</option>';
|
||||||
|
}
|
||||||
|
echo '</select><noscript><input type="submit" name="submit" Value="none" /></noscript>';
|
||||||
|
echo "</form>\n";
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Bouton de choix du numéro de page
|
||||||
echo "\n" . '<form action="none" method="post" enctype="multipart/form-data">';
|
echo "\n" . '<form action="none" method="post" enctype="multipart/form-data">';
|
||||||
echo 'Page n° <select id="np" name="np" size="0" onchange="window.location.href = \'logs.php?np=\' + document.getElementById(\'np\').value + \'&level=\' + document.getElementById(\'level\').value ;">';
|
echo 'Page n° <select id="np" name="np" size="0" onchange="window.location.href = \'logs.php?np=\' + document.getElementById(\'np\').value + \'&level=\' + document.getElementById(\'level\').value ;">';
|
||||||
for ( $n = 1; $n<= $n_pages; $n++ )
|
for ( $n = 1; $n<= $n_pages; $n++ )
|
||||||
@ -113,27 +132,24 @@ function affich_log( $nl, $np = 1, $level=0)
|
|||||||
}
|
}
|
||||||
echo '>' . $n . '</option>';
|
echo '>' . $n . '</option>';
|
||||||
}
|
}
|
||||||
|
echo '</select><noscript><input type="submit" name="submit" Value="Envoyer" /></noscript>';
|
||||||
|
echo "</form>\n";
|
||||||
|
//////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
echo '</select><noscript><input type="submit" name="submit" Value="none" /></noscript>';
|
//////////////// affiche page précédente et page suivante
|
||||||
echo "</form>\n</td>";
|
if ( $np > 1 )
|
||||||
|
{
|
||||||
|
echo '<a href="logs.php?np=' . ($np - 1) . '">Page précédente</a>';
|
||||||
|
}
|
||||||
if ( $np < $n_pages )
|
if ( $np < $n_pages )
|
||||||
{
|
{
|
||||||
echo '<td><a href="logs.php?np=' . ($np + 1) . '">Page suivante</a></td>';
|
echo ' <a href="logs.php?np=' . ($np + 1) . '">Page suivante</a>';
|
||||||
}
|
|
||||||
echo "\n<td>" . '<form action="none" method="post" enctype="multipart/form-data">';
|
|
||||||
echo "niveau de log" . ' <select id="level" size="0" onchange="window.location.href = \'logs.php?np=\' + document.getElementById(\'np\').value + \'&level=\' + document.getElementById(\'level\').value ;">';
|
|
||||||
for ( $n = 0; $n <= count( $level_s ) - 1; $n++ )
|
|
||||||
{
|
|
||||||
echo '<option value="' . $n . '"';
|
|
||||||
if ( $n == $level )
|
|
||||||
{
|
|
||||||
echo ' selected="selected"';
|
|
||||||
}
|
|
||||||
echo '>' . $level_s[ $n ] . '</option>';
|
|
||||||
}
|
}
|
||||||
|
//////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
echo '</select><noscript><input type="submit" name="submit" Value="Envoyer" /></noscript>';
|
/////////////////////// affiche les logs dans un tableau
|
||||||
echo "</form>\n</td></tr>";
|
if ($total_lignes != 0 )
|
||||||
|
{
|
||||||
$query = 'SELECT * FROM ' . $table_prefix . 'logs';
|
$query = 'SELECT * FROM ' . $table_prefix . 'logs';
|
||||||
if ( $level != 0 )
|
if ( $level != 0 )
|
||||||
{
|
{
|
||||||
@ -146,12 +162,12 @@ function affich_log( $nl, $np = 1, $level=0)
|
|||||||
while ( ($donnees =$db->result->fetch_array()) )
|
while ( ($donnees =$db->result->fetch_array()) )
|
||||||
{
|
{
|
||||||
$niveau = $donnees["niveau"];
|
$niveau = $donnees["niveau"];
|
||||||
echo "<tr><td>" . $donnees["date"] . "</td><td>" . $donnees["auteur"] . "</td><td>" . $donnees["log"] . "</td><td>" . $level_s[ $niveau ] . "</td></tr>\n";
|
echo "<tr><td>" . $donnees["date"] . "</td><td>" . $donnees["auteur"] . "</td><td>" . htmlentities($donnees["log"], ENT_QUOTES) . "</td><td>" . $level_s[ $niveau ] . "</td></tr>\n";
|
||||||
}
|
}
|
||||||
echo "</table>\n";
|
echo "</table>\n";
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
"aucune réponse";
|
print "aucune réponse";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user