Rev 2 | Blame | Last modification | View Log | RSS feed
<?php/*vim: set expandtab tabstop=4 shiftwidth=4: */// +------------------------------------------------------------------------------------------------------+// | PHP version 4.1 |// +------------------------------------------------------------------------------------------------------+// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |// +------------------------------------------------------------------------------------------------------+// | This library 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.1 of the License, or (at your option) any later version. |// | |// | This library 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 library; if not, write to the Free Software |// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |// +------------------------------------------------------------------------------------------------------+// CVS : $Id: arbre_des_forumsV3.php,v 1.1 2005-09-22 14:02:48 ddelon Exp $/*** Application arbre des forums** Fichier d'appel pour papyrus**@package projet//Auteur original :*@author Alexandre Granier <alexandre@tela-botanica.org>//Autres auteurs :*@author Aucun*@copyright Tela-Botanica 2000-2004*@version $Revision: 1.1 $// +------------------------------------------------------------------------------------------------------+*/// +------------------------------------------------------------------------------------------------------+// | ENTETE du PROGRAMME |// +------------------------------------------------------------------------------------------------------+include_once 'configuration/projet.config.inc.php' ;include_once PROJET_CHEMIN_API_ARBRE.'arbre.class.php' ;// Inclusion des styles selon papyrusif (function_exists("GEN_stockerStyleExterne")) {GEN_stockerStyleExterne('projet','client/projet/arbre.css') ;}function afficherContenuNavigation(){$sortie = '';if (isset($_GET['forum']) || isset($GLOBALS['_GEN_commun']['info_application']->aide)) {if (!isset($_GET['forum'])) {$_GET['forum'] = '[exemple]' ;$_GET['aide'] = 1 ;}$sortie .= '<ul class="menu_classique_n3">';if (isset($_GET['aide'])) {$style_aide = 'menu_actif' ;$style_info = 'menu_inactif' ;} else {$style_aide = 'menu_inactif' ;$style_info = 'menu_actif' ;}$GLOBALS['url']->addQueryString('forum', $_GET['forum']);$sortie .= '<li class="'.$style_info.'"><a href="'.$GLOBALS['url']->getURL().'">Infos</a></li>';$GLOBALS['url']->addQueryString('aide', 1);$sortie .= '<li class="'.$style_aide.'"><a href="'.$GLOBALS['url']->getURL().'">Aide</a></li>';$sortie .= '</ul>';}return $sortie;}function afficherContenuCorps () {if (isset ($_GET['forum']) && !isset($_GET['aide']) /*&& isset($GLOBALS['_GEN_commun']['info_application']->aide)*/) {include_once PROJET_CHEMIN_APPLI.'forums-lst.php' ;return putFrame() ;}if (isset ($_GET['aide']) ||isset($GLOBALS['_GEN_commun']['info_application']->aide)) {if (!isset($_GET['forum'])) $_GET['forum'] = '[exemple]' ;if (!isset($_GET['aide'])) $_GET['aide'] = 1 ;include_once PROJET_CHEMIN_APPLI.'forums-hlp.php' ;return putFrame() ;}// Récupération des arguments de papyrus$thema = $GLOBALS['_GEN_commun']['info_appli']->theme ;global $num_sem; // le numero de la semaine// requete sur le sommet de l'arbre$requete = "SELECT NB_ABONNES,NUM_SEM FROM agora_stats WHERE FORUM=\"tela-botanicae\" ORDER BY NUM_SEM DESC" ;$resultat =$GLOBALS['projet_db']->query($requete) ;if (DB::isError ($resultat)) {die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;}$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);// le numero de la semaineif (empty($num_sem)) $num_sem = $ligne->NUM_SEM ;// requete sur le sommet de l'arbre avec le bon numero de semaine$resultat_sommet = $GLOBALS['projet_db']->query("SELECT NB_ABONNES,NB_MESSAGES FROM agora_stats WHERE FORUM=\"tela-botanicae\" AND NUM_SEM=\"$num_sem\"");$ligne_sommet = $resultat_sommet->fetchRow(DB_FETCHMODE_OBJECT) ;$nb_total_mess = $ligne_sommet->NB_MESSAGES;$nb_total_abon = $ligne_sommet->NB_ABONNES;$requete_donnee_sommet = "SELECT AGO_A_LIEN_PUCE,AGO_A_LIEN_FEUILLE,AGO_A_LIEN_BRANCHE FROM agora WHERE AGO_A_NOMGRP=\"tela-botanicae\"" ;$resultat_donnee_sommet = $GLOBALS['projet_db']->query($requete_donnee_sommet) or die ("Echec de la requête sur les forums2");$ligne_donnee_sommet = $resultat_donnee_sommet->fetchRow(DB_FETCHMODE_OBJECT) ;// creation de l'arbre$arbreforum = new arbre("Botanique générale",$ligne_donnee_sommet->AGO_A_LIEN_BRANCHE,$nb_total_abon, $ligne_donnee_sommet->AGO_A_LIEN_FEUILLE,"http://fr.groups.yahoo.com/group/tela-botanicae/messages") ;$res = "<h1>L'arbre des forums de Tela Botanica</h1>\n" ;$res .= '<table width="600" cellspacing="5" cellpadding="0" border="0" summary="">' ;$GLOBALS['url']->addQueryString ('forum', 'tela-botanicae') ;$ligne_donnee_sommet->AGO_A_LIEN_BRANCHE = $GLOBALS['url']->getURL() ;$res .= $arbreforum->cime("Botanique générale",$ligne_donnee_sommet->AGO_A_LIEN_BRANCHE,$nb_total_abon,$ligne_donnee_sommet->AGO_A_LIEN_FEUILLE,"http://fr.groups.yahoo.com/group/tela-botanicae/messages") ;// requete sur les branches// d'abord les nom des groupes$requete_branche = "SELECT agora.AGO_A_NOMGRP FROM agora" ;if (!empty($thema)) $requete_branche.= ",agora_join" ;$requete_branche .= " WHERE agora.AGO_A_NOMGRP<>\"tela-botanicae\" AND agora.AGO_A_VISIBLE=1 and AGO_A_GRP_TB=0" ; // On ne garde que les projets hors Telaif (!empty($thema)) $requete_branche .= " AND agora.AGO_A_ID=agora_join.AGO_J_IDFORUM and AGO_J_IDCATEG=\"$thema\"" ;$requete_branche .= " ORDER BY AGO_A_ALIAS ASC" ;$resultat_branche = $GLOBALS['projet_db']->query($requete_branche) ;//tableau stockant la différence du nbre de messages entre la semaine en cours dans la page et la semaine précédente$diff_message = array();while ($ligne_branche = $resultat_branche->fetchRow(DB_FETCHMODE_OBJECT)) {$query_nb_message_1 = "SELECT NB_MESSAGES FROM agora_stats WHERE FORUM=\"$ligne_branche->AGO_A_NOMGRP\" AND NUM_SEM=\"$num_sem\"";$result_nb_message_1 = mysql_query($query_nb_message_1) or die ("Echec sur la requête _nb_message_1") ;$row_nb_message_1 = mysql_fetch_object($result_nb_message_1) ;$query_nb_message_2 = "SELECT NB_MESSAGES FROM agora_stats WHERE FORUM=\"$ligne_branche->AGO_A_NOMGRP\" AND NUM_SEM= ".($num_sem -1)."";$result_nb_message_2 = mysql_query($query_nb_message_2) or die ("Echec sur la requête _nb_message_2") ;$row_nb_message_2 = mysql_fetch_object($result_nb_message_2) ;$diff_message[$row_message->AGO_A_NOMGRP] = $row_nb_message_1->NB_MESSAGES - $row_nb_message_2->NB_MESSAGES;}$result1 = mysql_query($requete_branche) or die ("Echec de la requête sur les forums");while ($row1 = mysql_fetch_object($result1)) {// pour chaque groupe, le nbre de messages et le nbre d'abonnes$query2 = "SELECT NB_MESSAGES,NB_ABONNES FROM agora_stats WHERE FORUM=\"$row1->AGO_A_NOMGRP\" AND NUM_SEM=\"$num_sem\"" ;$result2 = mysql_query($query2) or die ("Echec de la requête sur agora_stats");$row2 = mysql_fetch_object($result2) ;// et le reste des informations pour chaque groupe$query3 = "SELECT AGO_A_ALIAS,AGO_A_LIEN_BRANCHE,AGO_A_LIEN_FEUILLE,AGO_A_LIEN_PUCE,AGO_A_COULEUR,AGO_A_TAILLE_B,AGO_A_NOMGRP FROM agora WHERE AGO_A_NOMGRP=\"$row1->AGO_A_NOMGRP\"";$result3 = mysql_query($query3) or die ("Echec sur la requête 3") ;$row3 = mysql_fetch_object($result3) ;$lien_feuille = "http://fr.groups.yahoo.com/group/$row1->AGO_A_NOMGRP/messages" ;$lien_nombre = "http://fr.groups.yahoo.com/group/$row1->AGO_A_NOMGRP/members" ;// On cherche à obtenir une valeur entre 0 et 100 pour déterminer la couleur de la feuille de l'arbre$maxi_message = max($diff_message);if ($maxi_message == 0){$maxi_message = 0.01;}$calcul_couleur = ($diff_message[$row1->AGO_A_NOMGRP])/$maxi_message*100;//Fin. La valeur de la couleur pour le groupe en cours est stocké dans $calcul_couleurif ($row2->NB_ABONNES != 0) {//pour ne pas afficher les branches n'existant pas encore à la semaine donnée$GLOBALS['url']->addQueryString('forum', $row3->AGO_A_NOMGRP) ;$row3->AGO_A_LIEN_BRANCHE = $GLOBALS['url']->getURL() ;$arbreforum->addBranche($row3->AGO_A_ALIAS,$row3->AGO_A_LIEN_BRANCHE,$row2->NB_ABONNES,$lien_nombre,$lien_feuille,$calcul_couleur,$row3->AGO_A_TAILLE_B);// info pour le cartouche$nb_total_mess += $row2->NB_MESSAGES;$nb_total_abon += $row2->NB_ABONNES;}}$res .= $arbreforum->affBranche() ;$res .= $arbreforum->affRacine() ;$res .= '</table>' ;include_once PROJET_CHEMIN_APPLI.'cartouche.php' ;return $res ;}//-- End of source ------------------------------------------------------------?>