change_var("HEADTITLE", "Pokémon Fact !"); // restriction modération pour le prototype /* if($user['user_droit_news'] != 1 AND $user['user_droit_pokedex'] != 1 AND $user['user_droit_webftp'] != 1 AND $user['user_droit_menus'] != 1 AND $user['moderateur_site']!= 1 AND $user['user_droit_moderation'] != 1 AND $user['moderateur_em'] != 1 AND $user['evaluateur_em']!= 1 AND $user['user_droit_supreme'] != 1 AND $user['user_droit_forum'] != 1) { erreur("Erreur 406 : impossible de trouver le fichier. "); } */ // Paramètres de selection $factparpage = 50; $votes_minimaux = 25; $debut = 0; if(!isset($_GET['start']) OR (int)($_GET['start']) < 0) { $debut = 0; } else { $debut = preg_replace("/[^0-9]/msi", "", $_GET['start']); } $html->change_var("debut", $debut); if(isset($_GET['tri']) OR isset($_POST['tri'])) { $type_de_fact = (int)($_GET['tri']); } else { $type_de_fact = 0; } if($type_de_fact == 0) // 0 TRI DATE { // NOUVEAU SYSTEME PAGE == RECUP VAR DE DEBUT DE SELECTION if(!isset($_GET['start_p'])) $p = 1; else $p = (int)($_GET['start_p']); if($p < 1) $p = 1; // NOUVEAU SYSTEME PAGE == Calcul de la selection $debut = $factparpage * ($p - 1); $html->change_var("tri_est_popu", ""); // rien pour DATE, 1 VOTES, 2 TEXTES, 3 IMAGES // si tri n'est pas précisé, par défaut les plus récentes // Selection des fact par ordre de préférence $dbq = $db->query("SELECT f.*, u.username, u.user_id FROM pokemon_fact f, phpbb_users u WHERE f.fact_auteur = u.user_id AND f.fact_vindicte >= ".$votes_minimaux." ORDER BY f.fact_date DESC LIMIT ".$debut.",".$factparpage.""); while($dbr = $db->fetch_assoc($dbq)) { $html->change_bloc_vars("selectfact", array( "auteur" => transform_base($dbr['username']), "texte" => transform_base($dbr['fact_texte']), "date" => date("d/m/Y à H:i", $dbr['fact_date']), "id_fact" => $dbr['fact_id'], "auteur_id" => $dbr['user_id'], "nbr_vote" => $dbr['fact_score'], "type" => $dbr['fact_type'] )); } // PAGINATION // Récupération du nombre de fact par types de selections $dbq = $db->query("SELECT COUNT(*) FROM pokemon_fact WHERE fact_vindicte >= ".$votes_minimaux); $dbr = $db->fetch_assoc($dbq); $nb = $dbr['COUNT(*)']; // Liste des pages /* for($i = 0; $i < $nb; $i+=$factparpage) { $html->change_bloc_vars("page", array( "min" => $i+1, "max" => $nb - $i > $factparpage ? $i+$factparpage : $nb, "debut" => $i )); } */ // // NOUVEAU SYSTEME PAGE == Pagination $nb_pages = ceil($nb / $factparpage); for($i = 1; $i <= $nb_pages; $i++) { $html->change_bloc_var('pagination', 'i', $i); } $html->change_var("p", $p); } if($type_de_fact == 1) // TRI PAR VOTES { // NOUVEAU SYSTEME PAGE == RECUP VAR DE DEBUT DE SELECTION if(!isset($_GET['start_p'])) $p = 1; else $p = (int)($_GET['start_p']); if($p < 1) $p = 1; // NOUVEAU SYSTEME PAGE == Calcul de la selection $debut = $factparpage * ($p - 1); $html->change_var("tri_est_popu", $type_de_fact); // rien pour DATE, 1 VOTES, 2 TEXTES, 3 IMAGES $dbq = $db->query("SELECT f.*, u.username, u.user_id FROM pokemon_fact f, phpbb_users u WHERE f.fact_auteur = u.user_id AND f.fact_vindicte >= ".$votes_minimaux." ORDER BY f.fact_score DESC LIMIT ".$debut.",".$factparpage.""); while($dbr = $db->fetch_assoc($dbq)) { $html->change_bloc_vars("selectfact", array( "auteur" => transform_base($dbr['username']), "texte" => transform_base($dbr['fact_texte']), "date" => date("d/m/Y à H:i", $dbr['fact_date']), "id_fact" => $dbr['fact_id'], "auteur_id" => $dbr['user_id'], "nbr_vote" => $dbr['fact_score'], "type" => $dbr['fact_type'] )); } // PAGINATION // Récupération du nombre de fact par types de selections $dbq = $db->query("SELECT COUNT(*) FROM pokemon_fact WHERE fact_vindicte >= ".$votes_minimaux); $dbr = $db->fetch_assoc($dbq); $nb = $dbr['COUNT(*)']; // Liste des pages /* for($i = 0; $i < $nb; $i+=$factparpage) { $html->change_bloc_vars("page", array( "min" => $i+1, "max" => $nb - $i > $factparpage ? $i+$factparpage : $nb, "debut" => $i )); } */ // // NOUVEAU SYSTEME PAGE == Pagination $nb_pages = ceil($nb / $factparpage); for($i = 1; $i <= $nb_pages; $i++) { $html->change_bloc_var('pagination', 'i', $i); } $html->change_var("p", $p); } if($type_de_fact == 2) // 2 TEXTE ONLY { // NOUVEAU SYSTEME PAGE == RECUP VAR DE DEBUT DE SELECTION if(!isset($_GET['start_p'])) $p = 1; else $p = (int)($_GET['start_p']); if($p < 1) $p = 1; // NOUVEAU SYSTEME PAGE == Calcul de la selection $debut = $factparpage * ($p - 1); $html->change_var("tri_est_popu", $type_de_fact); // rien pour DATE, 1 VOTES, 2 TEXTES, 3 IMAGES // fact_type >> 1 texte - 2 image $dbq = $db->query("SELECT f.*, u.username, u.user_id FROM pokemon_fact f, phpbb_users u WHERE f.fact_auteur = u.user_id AND f.fact_type = 1 AND f.fact_vindicte >= ".$votes_minimaux." ORDER BY f.fact_score DESC LIMIT ".$debut.",".$factparpage.""); while($dbr = $db->fetch_assoc($dbq)) { $html->change_bloc_vars("selectfact", array( "auteur" => transform_base($dbr['username']), "texte" => transform_base($dbr['fact_texte']), "date" => date("d/m/Y à H:i", $dbr['fact_date']), "id_fact" => $dbr['fact_id'], "auteur_id" => $dbr['user_id'], "nbr_vote" => $dbr['fact_score'], "type" => $dbr['fact_type'] )); } // PAGINATION // Récupération du nombre de fact par types de selections $dbq = $db->query("SELECT COUNT(*) FROM pokemon_fact WHERE fact_type = 1 AND fact_vindicte >= ".$votes_minimaux); $dbr = $db->fetch_assoc($dbq); $nb = $dbr['COUNT(*)']; /* // Liste des pages for($i = 0; $i < $nb; $i+=$factparpage) { $html->change_bloc_vars("page", array( "min" => $i+1, "max" => $nb - $i > $factparpage ? $i+$factparpage : $nb, "debut" => $i )); } */ // // NOUVEAU SYSTEME PAGE == Pagination $nb_pages = ceil($nb / $factparpage); for($i = 1; $i <= $nb_pages; $i++) { $html->change_bloc_var('pagination', 'i', $i); } $html->change_var("p", $p); } if($type_de_fact == 3) // 3 IMAGES ONLY { // NOUVEAU SYSTEME PAGE == RECUP VAR DE DEBUT DE SELECTION if(!isset($_GET['start_p'])) $p = 1; else $p = (int)($_GET['start_p']); if($p < 1) $p = 1; // NOUVEAU SYSTEME PAGE == Calcul de la selection $debut = $factparpage * ($p - 1); $html->change_var("tri_est_popu", $type_de_fact); // rien pour DATE, 1 VOTES, 2 TEXTES, 3 IMAGES // fact_type >> 1 texte - 2 image $dbq = $db->query("SELECT f.*, u.username, u.user_id FROM pokemon_fact f, phpbb_users u WHERE f.fact_auteur = u.user_id AND f.fact_type = 2 AND f.fact_vindicte >= ".$votes_minimaux." ORDER BY f.fact_score DESC LIMIT ".$debut.",".$factparpage.""); while($dbr = $db->fetch_assoc($dbq)) { $html->change_bloc_vars("selectfact", array( "auteur" => transform_base($dbr['username']), "texte" => transform_base($dbr['fact_texte']), "date" => date("d/m/Y à H:i", $dbr['fact_date']), "id_fact" => $dbr['fact_id'], "auteur_id" => $dbr['user_id'], "nbr_vote" => $dbr['fact_score'], "type" => $dbr['fact_type'] )); } // PAGINATION // Récupération du nombre de fact par types de selections $dbq = $db->query("SELECT COUNT(*) FROM pokemon_fact WHERE fact_type = 2 AND fact_vindicte >= ".$votes_minimaux); $dbr = $db->fetch_assoc($dbq); $nb = $dbr['COUNT(*)']; // exemple 100 /* // Liste des pages for($i = 0; $i < $nb; $i+=$factparpage) // 0 à i, si i inf à 100, on ajoute 50 à i par boucle et on reverifie i jsq ce que i soit sup à 100 { $html->change_bloc_vars("page", array( "min" => $i+1, "max" => $nb - $i > $factparpage ? $i+$factparpage : $nb, "debut" => $i // page courante ou page affichée (début selection) )); } */ // // NOUVEAU SYSTEME PAGE == Pagination $nb_pages = ceil($nb / $factparpage); for($i = 1; $i <= $nb_pages; $i++) { $html->change_bloc_var('pagination', 'i', $i); } $html->change_var("p", $p); } // spprimer un pokémon fact if(isset($_GET['deletefact'])) { $delete_fact = (int)($_GET['deletefact']); // id du FACT // si aucun droit de modération : manip impossible if($user['user_droit_news'] != 1 AND $user['user_droit_pokedex'] != 1 AND $user['user_droit_webftp'] != 1 AND $user['user_droit_menus'] != 1 AND $user['moderateur_site']!= 1 AND $user['user_droit_moderation'] != 1 AND $user['moderateur_em'] != 1 AND $user['evaluateur_em']!= 1 AND $user['user_droit_supreme'] != 1 AND $user['user_droit_forum'] != 1) { erreur("Erreur 406 : impossible de trouver le fichier. "); } // ENREGISTREMENT ACTIVITE ULTRALOG add_to_ultralog($user['username']." a supprimé un Pokémon Fact, celle ci portait le numéro ".$delete_fact); // La sécurité modo est passée, l'action a été enregistrée alors ... execution ! if(!$db->query("DELETE FROM pokemon_fact WHERE fact_id = ".$delete_fact)); // le message a bien été supprimé alors on le dit info("La Pokémon Fact a bien été supprimée.", "Retour"); } ?>