From febc76934bd232f293cfc249f91988cb3936c12e Mon Sep 17 00:00:00 2001 From: Daniel Tartavel Date: Sat, 24 Jul 2021 10:18:09 +0200 Subject: [PATCH] ajout statistiques --- gestion/logs.php | 11 +++- gestion/stats.php | 20 +++--- include/db.class.php | 2 +- include/fonctions.inc.php | 50 ++++++++------- include/log.php | 124 +++++++++++++++++++++----------------- 5 files changed, 119 insertions(+), 88 deletions(-) diff --git a/gestion/logs.php b/gestion/logs.php index 91744f5..bb0d734 100644 --- a/gestion/logs.php +++ b/gestion/logs.php @@ -3,6 +3,13 @@ require_once 'config.inc.php'; require_once 'db.class.php'; require_once 'log.php'; - - affich_log(200); + $page = getpost("np"); + $niveau = getpost("level"); + print ' + + Avion-poème + + '; + affich_log(200, $page, $niveau); + print ''; ?> diff --git a/gestion/stats.php b/gestion/stats.php index 5822e03..a4ee2f3 100644 --- a/gestion/stats.php +++ b/gestion/stats.php @@ -14,7 +14,7 @@ $result = $db->result->fetch_assoc(); return $result['Auto_increment']-1; } - function total() + function total() //nombre d'avions poèmes présents dans la base { global $db; $query = "SELECT COUNT(*) as nAvion FROM avionpoeme"; @@ -24,7 +24,7 @@ } - function totalenvol() + function totalenvol() //nombre d'avions poèmes en vol { global $db; $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; $query = "SELECT COUNT(*) as n FROM avionpoeme WHERE expemail=''"; @@ -53,21 +53,21 @@ } - $nAvionCree = totaltotal(); - if ($nAvionCree == 0) + $nAvionEnvoye = totaltotal(); + if ($nAvionEnvoye == 0) { echo "Aucun avion-poème envoyé pour l'instant"; }else { - echo "Nombre total d'avions-poème : " . $nAvionCree . EOL; + echo "Nombre total d'avions-poème : " . $nAvionEnvoye . EOLH; $total = total(); - $avionSupp = $nAvionCree-$total; - echo "Nombre d'avion supprimés : " . $avionSupp . " => " . $avionSupp/$nAvionCree*100 . "%" . EOL; + $avionSupp = $nAvionEnvoye-$total; + echo "Nombre d'avion supprimés : " . $avionSupp . " => " . round($avionSupp/$nAvionEnvoye*100,3) . "%" . EOLH; $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(); - echo "Nombre d'envois anonymes : " . $anonymous . " => " . $anonymous/$nAvionCree*100 . "%" . EOL; + echo "Nombre d'envois anonymes : " . $anonymous . " => " . round($anonymous/$nAvionEnvoye*100) . "%" . EOLH; } diff --git a/include/db.class.php b/include/db.class.php index 079f9c5..5061988 100644 --- a/include/db.class.php +++ b/include/db.class.php @@ -91,7 +91,7 @@ class db $this->result = $this->connect->query( $string ) ; - if ( $this->connect->error ) log_error( "Échec de la commande query => " . $this->connect->error . "
" . __file__ . ' ligne ' . __line__ . "\n" . $string, true, false); + if ( $this->connect->errno > 0 ) log_error( "Échec de la commande query => " . $this->connect->error . "
" . __file__ . ' ligne ' . __line__ . "\n" . $string, true, false); //print_r( $this ); } diff --git a/include/fonctions.inc.php b/include/fonctions.inc.php index 86edc74..c4f3388 100644 --- a/include/fonctions.inc.php +++ b/include/fonctions.inc.php @@ -90,41 +90,49 @@ function replaceVariables($db, $text, $dico) :array while( 1 ) { // 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); if ($posVar !== false) { // 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); if ($posEsp === false) { $var = substr($text, $posVar+1, strlen($text)-$posVar); }else { - $var = substr($text, $posVar+1, $posEsp-$posVar-1); + if ($posEsp == $posVar+1) + { + $var = ""; + }else + { + $var = substr($text, $posVar+1, $posEsp-$posVar-1); + } } $posVar = $posEsp+1; - $var = trim($var, " .\n\r)"); - - $varReplace = "$" . $var; - if ( isset ($variables[$var]) ) + if ($var != "") { - $dbVar = $variables[$var]; - $varText = $db->$dbVar; - //$text = str_replace($varReplace, $db->$dbVar, $text); - }elseif ( isset ($dico[$var]) ) - { - $varText = $dico[$var]; - //$text = str_replace($varReplace, $dico[$var], $text); - }else - { - log_error( "La variable => " . $var . "n'est pas reconnue
" . __file__ . ' ligne ' . __line__ . "\n" , true, false); + $var = trim($var, " .\n\r)"); + $varReplace = "$" . $var; + if ( isset ($variables[$var]) ) + { + $dbVar = $variables[$var]; + $varText = $db->$dbVar; + //$text = str_replace($varReplace, $db->$dbVar, $text); + }elseif ( isset ($dico[$var]) ) + { + $varText = $dico[$var]; + //$text = str_replace($varReplace, $dico[$var], $text); + }else + { + log_error( "La variable => " . $var . "n'est pas reconnue
" . __file__ . ' ligne ' . __line__ . "\n" , true, false); + } + if ($html and (strpos($var, "url") !== false)) + { + $varText = '' . $varText . ""; + } + $text = str_replace($varReplace, $varText, $text); //remplace la variable dans le texte } - if ($html and (strpos($var, "url") !== false)) - { - $varText = '' . $varText . ""; - } - $text = str_replace($varReplace, $varText, $text); //remplace la variable dans le texte }else { break; } diff --git a/include/log.php b/include/log.php index b28a4f8..d30e392 100644 --- a/include/log.php +++ b/include/log.php @@ -39,8 +39,8 @@ function log_write($log, $level=INFO) }else { - echo $db->error(); - mail( $webmaster, "Erreur écriture logs => " . __file__ . " ligne " . __line__ , $log_mail); + //echo $db->error(); + mail( $webmaster, "Erreur de connecxion à la base de données => " . __file__ . " ligne " . __line__ , $log_mail); } //$db->close(); if ( $level == ALERT ) @@ -77,63 +77,79 @@ function affich_log( $nl, $np = 1, $level=0) $db = new db(); if( !empty( $db->connect ) ) { - $level_s = array( "aucun" , "info" , "alerte" , "erreur" ); - $query = 'SELECT * FROM ' . $table_prefix . 'logs ORDER BY id_log DESC'; + $level_s = array( "aucun", "info", "alerte", "erreur" ); + if ($level < 0 or $level >3) $level = 0; + $query = 'SELECT * FROM ' . $table_prefix . 'logs'; if ( $level != 0 ) { - $query .= " WHERE niveau='" . $db->protect($level) . "'"; + $query .= " WHERE niveau=" . $level ; } + $query .= ' ORDER BY id_log DESC'; $db->query($query); $total_lignes = $db->result->num_rows; + + /////////////:: Calcule le nombre de pages de logs + $n_pages = round( $total_lignes / $nl ); + + if ( $np == 0 ) + { + $np = 1; + }elseif ( $np > $n_pages ) + { + $np = $n_pages; + } + ////////////////////////////////////////////////////// + + ////////////////////////// Bouton de choix du niveau de log + echo "\n" . '
'; + echo "niveau de log" . ' '; + echo "
\n"; + + ///////////////////////////////////////////////////////// + + + + // Bouton de choix du numéro de page + echo "\n" . '
'; + echo 'Page n° '; + echo "
\n"; + ////////////////////////////////////////////////////////////// + + //////////////// affiche page précédente et page suivante + if ( $np > 1 ) + { + echo 'Page précédente'; + } + if ( $np < $n_pages ) + { + echo ' Page suivante'; + } + ////////////////////////////////////////////////////////////////// + + /////////////////////// affiche les logs dans un tableau if ($total_lignes != 0 ) { - - $n_pages = round( $total_lignes / $nl ) +1; - - if ( $np == 0 ) - { - $np = 1; - }elseif ( $np > $n_pages ) - { - $np = $n_pages; - } - echo ''; - if ( $np > 1 ) - { - echo '"; - if ( $np < $n_pages ) - { - echo ''; - } - echo "\n"; $query = 'SELECT * FROM ' . $table_prefix . 'logs'; if ( $level != 0 ) { @@ -146,12 +162,12 @@ function affich_log( $nl, $np = 1, $level=0) while ( ($donnees =$db->result->fetch_array()) ) { $niveau = $donnees["niveau"]; - echo "\n"; + echo "\n"; } echo "
Page précédente'; - } - echo "\n" . '
'; - echo 'Page n° '; - echo "
\n
Page suivante" . '
'; - echo "niveau de log" . ' '; - echo "
\n
" . $donnees["date"] . "" . $donnees["auteur"] . "" . $donnees["log"] . "" . $level_s[ $niveau ] . "
" . $donnees["date"] . "" . $donnees["auteur"] . "" . htmlentities($donnees["log"], ENT_QUOTES) . "" . $level_s[ $niveau ] . "
\n"; }else { - "aucune réponse"; + print "aucune réponse"; } } }