| 2 | ddelon | 1 | <?
 | 
        
           |  |  | 2 | //------------------------------------------------------------------------------
 | 
        
           |  |  | 3 | // FICHIER : $RCSfile: appli_arbre_date.php,v $
 | 
        
           |  |  | 4 | // AUTEUR  : $Author: ddelon $
 | 
        
           |  |  | 5 | // VERSION : $Revision: 1.1 $
 | 
        
           |  |  | 6 | // DATE    : $Date: 2005-09-22 14:02:49 $
 | 
        
           |  |  | 7 | //------------------------------------------------------------------------------
 | 
        
           |  |  | 8 |   | 
        
           |  |  | 9 | //==============================================================================
 | 
        
           |  |  | 10 | // FUNCTION putStyles ($STYLErow)
 | 
        
           |  |  | 11 | //
 | 
        
           |  |  | 12 | // Generation of private styles.
 | 
        
           |  |  | 13 | //==============================================================================
 | 
        
           |  |  | 14 |   | 
        
           |  |  | 15 | function putStyles ($STYLErow) {
 | 
        
           |  |  | 16 |  echo ".actuTexte {\n";
 | 
        
           |  |  | 17 |   echo "  font-family:      $STYLErow->S_FONT_FAMILY;\n";
 | 
        
           |  |  | 18 |   echo "  font-size:        $STYLErow->S_FONT_SIZE_SMALL;\n";
 | 
        
           |  |  | 19 |   echo "  font-style:       normal;\n";
 | 
        
           |  |  | 20 | /*  echo "  font-weight:      400;\n"; */
 | 
        
           |  |  | 21 |  // echo "  text-align:       left;\n";
 | 
        
           |  |  | 22 |   echo "  vertical-align:   top;\n";
 | 
        
           |  |  | 23 |   echo "  color:            $STYLErow->S_COLOR_TEXT;\n";
 | 
        
           |  |  | 24 |   echo "  background-color: $STYLErow->S_COLOR_3;\n";
 | 
        
           |  |  | 25 |   echo "}\n";
 | 
        
           |  |  | 26 | }
 | 
        
           |  |  | 27 |   | 
        
           |  |  | 28 | //==============================================================================
 | 
        
           |  |  | 29 | // FUNCTION putFrame (...)
 | 
        
           |  |  | 30 | //
 | 
        
           |  |  | 31 | // Generation frame content.
 | 
        
           |  |  | 32 | //==============================================================================
 | 
        
           |  |  | 33 |   | 
        
           |  |  | 34 |   | 
        
           |  |  | 35 |   | 
        
           |  |  | 36 | function putFrame ($db, $link,
 | 
        
           |  |  | 37 |                    $DOCrow, $PAGEresult, $CURRENTPAGErow,
 | 
        
           |  |  | 38 |                    $innerTableWidth, $innerTableSpacing) {
 | 
        
           |  |  | 39 |   global $project;
 | 
        
           |  |  | 40 |   global $locale;
 | 
        
           |  |  | 41 |   global $set;
 | 
        
           |  |  | 42 |   global $G_mysqlDB;
 | 
        
           |  |  | 43 |   global $G_link;
 | 
        
           |  |  | 44 |   global $num_sem;
 | 
        
           |  |  | 45 |   global $thema; //permet un passage de parametre
 | 
        
           |  |  | 46 |   global $fichier_arbre;
 | 
        
           |  |  | 47 |   global $fichier_cartouche;
 | 
        
           |  |  | 48 |   | 
        
           |  |  | 49 | $page_arg = $CURRENTPAGErow->P_ARGUMENT;
 | 
        
           |  |  | 50 | if($page_arg != ""):$thema=$page_arg;endif;
 | 
        
           |  |  | 51 |   | 
        
           |  |  | 52 |   | 
        
           |  |  | 53 | include ('php/frame/arbre/chemin.php3');
 | 
        
           |  |  | 54 | include ("$chemin_ago");
 | 
        
           |  |  | 55 | include ("$chemin_param");
 | 
        
           |  |  | 56 | include ('php/frame/arbre/fonctions.php3');
 | 
        
           |  |  | 57 |   | 
        
           |  |  | 58 |   $pageNdx = $CURRENTPAGErow->P_ORDER;
 | 
        
           |  |  | 59 |   | 
        
           |  |  | 60 |   | 
        
           |  |  | 61 |   | 
        
           |  |  | 62 |   //ici commence mon arbre
 | 
        
           |  |  | 63 |   | 
        
           |  |  | 64 |   | 
        
           |  |  | 65 |   //SCRIPT DE DESSIN DE L'ARBRE Version 2: construction avec des tables
 | 
        
           |  |  | 66 |   //-------------------------------------------------------------------
 | 
        
           |  |  | 67 |   | 
        
           |  |  | 68 |  $xesvert="0";//$xesvert*2=espace verticcal entre 2 branches d'un même coté
 | 
        
           |  |  | 69 |   | 
        
           |  |  | 70 |   //Connexion a la base
 | 
        
           |  |  | 71 |   //mysql_connect ($dbhostname, $dbwho, $dbpass);
 | 
        
           |  |  | 72 |   //mysql_select_db ($dbnamedb);
 | 
        
           |  |  | 73 |   | 
        
           |  |  | 74 |   | 
        
           |  |  | 75 | if($thema != ""):
 | 
        
           |  |  | 76 |    $nom_en_cl=mysql_query("select AGO_CAT_TITRE from AGORA_CATEG where AGO_CAT_APPEL LIKE \"%$thema%\"") or die("Theme non répertorié dans la base de donnée : $thema");
 | 
        
           |  |  | 77 |    $thema_temp="and (THEMA LIKE \"%$thema%\")";
 | 
        
           |  |  | 78 |    $nom_en_clair=mysql_result($nom_en_cl,0,"AGO_CAT_TITRE");
 | 
        
           |  |  | 79 |    $blabla_thema="Theme de l'arbre: $nom_en_clair";
 | 
        
           |  |  | 80 | endif;
 | 
        
           |  |  | 81 |   | 
        
           |  |  | 82 |   | 
        
           |  |  | 83 | //prerequis au moteur
 | 
        
           |  |  | 84 | //->les requetes $res
 | 
        
           |  |  | 85 | //->les variable $lientela_botanica  $nb_ab_tela $nb_total_mess=0 $nb_total_abon=0 $nbtables_dessin
 | 
        
           |  |  | 86 | //->connexion à la base
 | 
        
           |  |  | 87 |   | 
        
           |  |  | 88 | //--------------------------------------------------------------------------------------------------------------------------------------------
 | 
        
           |  |  | 89 | $res = mysql_query
 | 
        
           |  |  | 90 |   ("select NOM_TABLE, LIEN_BRANCHE, LIEN_FEUILLE, ALIAS, DATE_CREATION, LIEN_PUCE
 | 
        
           |  |  | 91 |    from $nom_table_index where ((VISIBLE=1) and (NOM_TABLE <> \"$nom_table_tela\") $thema_temp ) order by \"date_creation\" desc");
 | 
        
           |  |  | 92 |   $nbtables = mysql_num_rows($res);
 | 
        
           |  |  | 93 |   | 
        
           |  |  | 94 |   // boucle visant a constituer les valeurs couleur, nombre d'abonnes et taille de branche pour les tables concernees
 | 
        
           |  |  | 95 |   //(existant deja a la date $nv_date)
 | 
        
           |  |  | 96 |   $max_nv_mesg=1; ///////////////////////////////////////////////////////////////////////////////////
 | 
        
           |  |  | 97 |   $max_mesg=1;    ///////////////////////////////////////////////////////////////////////////////////
 | 
        
           |  |  | 98 |   $nb_table_2=0; //index des tables à afficher... puis
 | 
        
           |  |  | 99 |   for($i=0;$i<$nbtables;$i++)
 | 
        
           |  |  | 100 |   {
 | 
        
           |  |  | 101 |    // on recupere le nom de la table
 | 
        
           |  |  | 102 |    $nom_tb[$i] = mysql_result($res,$i,"NOM_TABLE");
 | 
        
           |  |  | 103 |   | 
        
           |  |  | 104 |    // on recupere un tuple contenant le nombre de messages, le nombre d'abonnes pour la table concernee
 | 
        
           |  |  | 105 |    // et la semaine correspondant a la semaine $num_sem
 | 
        
           |  |  | 106 |    $tab = mysql_query("select NB_MESSAGES,NB_ABONNES from $nom_tb[$i] where NUM_SEM=$num_sem");
 | 
        
           |  |  | 107 |    $nb_rows_tab_tmp = mysql_num_rows($tab);
 | 
        
           |  |  | 108 |    // on teste si l'on a qqchose a afficher
 | 
        
           |  |  | 109 |    if ($nb_rows_tab_tmp > 0) :
 | 
        
           |  |  | 110 |    $nb_rows_tab[$nb_table_2]=$nb_rows_tab_tmp;
 | 
        
           |  |  | 111 |    $nom_tb02[$nb_table_2]=mysql_result($res,$i,"ALIAS");
 | 
        
           |  |  | 112 |    $tab_lien_branche[$nb_table_2]=mysql_result($res,$i,"LIEN_BRANCHE");
 | 
        
           |  |  | 113 |    $tab_lien_puce[$nb_table_2]=mysql_result($res,$i,"LIEN_PUCE");
 | 
        
           |  |  | 114 |    $tab_lien_feuille[$nb_table_2]=mysql_result($res,$i,"LIEN_FEUILLE");
 | 
        
           |  |  | 115 |   | 
        
           |  |  | 116 |    // on recupere le nombre de messages (cumule) pour la semaine $num_sem -1
 | 
        
           |  |  | 117 |    if ($num_sem == 1) : $anc_mesg = 0;
 | 
        
           |  |  | 118 |    else :
 | 
        
           |  |  | 119 |     $sem_prec = $num_sem -1;
 | 
        
           |  |  | 120 |     $anc_mesg = mysql_query("select NB_MESSAGES from $nom_tb[$i] where NUM_SEM=$sem_prec");
 | 
        
           |  |  | 121 |     $nb_rows_anc_mesg = mysql_num_rows($anc_mesg);
 | 
        
           |  |  | 122 |     if ($nb_rows_anc_mesg == 0) : $nb_anc_mesg[$nb_table_2] = 0;
 | 
        
           |  |  | 123 |     else : $nb_anc_mesg[$nb_table_2] = mysql_result($anc_mesg,0,"NB_MESSAGES");
 | 
        
           |  |  | 124 |     endif;
 | 
        
           |  |  | 125 |   | 
        
           |  |  | 126 |    endif;
 | 
        
           |  |  | 127 |    // on recupere le nombre de messages(cumule) pour la semaine $num_sem
 | 
        
           |  |  | 128 |    $nb_nv_mesg[$nb_table_2] = mysql_result($tab,0,"NB_MESSAGES");
 | 
        
           |  |  | 129 |   | 
        
           |  |  | 130 |    // on calcule le nombre de messages emis effectivement lors de
 | 
        
           |  |  | 131 |    // la semaine $num_sem
 | 
        
           |  |  | 132 |    $nb_mesg[$nb_table_2] = $nb_nv_mesg[$nb_table_2] - $nb_anc_mesg[$nb_table_2];
 | 
        
           |  |  | 133 |   | 
        
           |  |  | 134 |    // on positionne la variable donnant le maximum de messages
 | 
        
           |  |  | 135 |    if ($max_nv_mesg < $nb_nv_mesg[$nb_table_2]) : $max_nv_mesg = $nb_nv_mesg[$nb_table_2];
 | 
        
           |  |  | 136 |    endif;
 | 
        
           |  |  | 137 |   | 
        
           |  |  | 138 |    // on positionne la variable donnant le maximum de messages de la semaine
 | 
        
           |  |  | 139 |    // $num_sem
 | 
        
           |  |  | 140 |    if ($max_mesg < $nb_mesg[$nb_table_2]) : $max_mesg = $nb_mesg[$nb_table_2];
 | 
        
           |  |  | 141 |    endif;
 | 
        
           |  |  | 142 |   | 
        
           |  |  | 143 |    //calcul du nombre de messages total
 | 
        
           |  |  | 144 |    $nb_tot_mess += $nb_nv_mesg[$nb_table_2];
 | 
        
           |  |  | 145 |   | 
        
           |  |  | 146 |    // on recupere le nombre d'abonnes pour la semaine $num_sem
 | 
        
           |  |  | 147 |    $nb_abon[$nb_table_2] = mysql_result($tab,0,"NB_ABONNES");
 | 
        
           |  |  | 148 |   | 
        
           |  |  | 149 |    //calcul du nombre d'abonnes total
 | 
        
           |  |  | 150 |    $nb_tot_abon += $nb_abon[$nb_table_2];
 | 
        
           |  |  | 151 |   | 
        
           |  |  | 152 |    $nb_table_2++;
 | 
        
           |  |  | 153 |   endif;
 | 
        
           |  |  | 154 |   }
 | 
        
           |  |  | 155 |   | 
        
           |  |  | 156 |   | 
        
           |  |  | 157 |   //cette requete recupere ne nombre d'abonnes et de messages a la semaine num_sem
 | 
        
           |  |  | 158 |   $resreq=mysql_query("select NB_ABONNES, NB_MESSAGES from $nom_table_tela where NUM_SEM=$num_sem");
 | 
        
           |  |  | 159 |   $nbresreq=mysql_num_rows($resreq);
 | 
        
           |  |  | 160 |   $nb_ab_tela=mysql_result($resreq,($nbresreq-1),nb_abonnes);
 | 
        
           |  |  | 161 |   $nb_mes_tela=mysql_result($resreq,($nbresreq-1),nb_messages);
 | 
        
           |  |  | 162 |   | 
        
           |  |  | 163 |   $temptotoblabla=round(($xres-$nhi_xsommet)/2);// oui, je suis en manque d'inspiration pour les noms de variables ;)
 | 
        
           |  |  | 164 |           //sérieusement, c'est le blanc devant la cime de l'arbre
 | 
        
           |  |  | 165 |   | 
        
           |  |  | 166 |   | 
        
           |  |  | 167 |   | 
        
           |  |  | 168 | // l'idee c'est de remetre tout dans une table temporaire pour refaire une requete res et rende tout ca compatible avac le moteur...
 | 
        
           |  |  | 169 |   | 
        
           |  |  | 170 | //un nom aléatoir pour la table..
 | 
        
           |  |  | 171 | function create_new_pwd($n)
 | 
        
           |  |  | 172 | {
 | 
        
           |  |  | 173 | //caractères possibles en virant ceux qui se ressemblent (ijl1oO0)
 | 
        
           |  |  | 174 | $chaine = "123456789";
 | 
        
           |  |  | 175 |   | 
        
           |  |  | 176 | // $n_car caractères dans le 'mot' généré
 | 
        
           |  |  | 177 | $n_car = $n;
 | 
        
           |  |  | 178 |   | 
        
           |  |  | 179 | srand((double)microtime()*1000000);
 | 
        
           |  |  | 180 | for($i = 0; $i < $n_car; $i++)
 | 
        
           |  |  | 181 | {
 | 
        
           |  |  | 182 | $str .= $chaine[rand()%strlen($chaine)];
 | 
        
           |  |  | 183 | }
 | 
        
           |  |  | 184 |   | 
        
           |  |  | 185 | return "$str";
 | 
        
           |  |  | 186 | }
 | 
        
           |  |  | 187 | $ago_tempo=TEMP.create_new_pwd(5);
 | 
        
           |  |  | 188 |   | 
        
           |  |  | 189 |   | 
        
           |  |  | 190 |   | 
        
           |  |  | 191 | //en premier lieu, virer la table $ago_tempo si elle existe
 | 
        
           |  |  | 192 | $rep=mysql_query("DROP TABLE IF EXISTS $ago_tempo");
 | 
        
           |  |  | 193 |   | 
        
           |  |  | 194 | //ensuite la créer, et la remplire avec les données récoltées...
 | 
        
           |  |  | 195 | //creation
 | 
        
           |  |  | 196 | $creation = "CREATE table  $ago_tempo(
 | 
        
           |  |  | 197 |                            INDEXE INT,
 | 
        
           |  |  | 198 |                            NB_MES INT not null,
 | 
        
           |  |  | 199 |                            LIEN_BRANCHE TINYTEXT not null,
 | 
        
           |  |  | 200 |                            LIEN_FEUILLE TINYTEXT not null,
 | 
        
           |  |  | 201 |                            COULEUR TINYINT not null,
 | 
        
           |  |  | 202 |                            NB_ADH INT not null,
 | 
        
           |  |  | 203 |                            TAILLE_B TINYINT not null,
 | 
        
           |  |  | 204 |                            ALIAS TINYTEXT not null,
 | 
        
           |  |  | 205 |                            LIEN_PUCE TINYTEXT) ";
 | 
        
           |  |  | 206 |   | 
        
           |  |  | 207 |   $rep=mysql_query("$creation")
 | 
        
           |  |  | 208 |        or die ("<font face=\"Arial, Helvetica, sans-serif\" size=2>ERREUR LORS DE LA CREATION DE LA TABLE TEMPORAIRE</font><BR><BR>$creation");
 | 
        
           |  |  | 209 | //remplissage
 | 
        
           |  |  | 210 | $les_slashes=1; //pour la gestion des parametres du javascript de popup sans erreur d'insertion dans la base
 | 
        
           |  |  | 211 | for($i=0;$i<$nb_table_2;$i++)
 | 
        
           |  |  | 212 | {
 | 
        
           |  |  | 213 | $couleur = round(($nb_mesg[$i]/$max_mesg)*100);//i+1?
 | 
        
           |  |  | 214 | $tb = round(($nb_nv_mesg[$i]/$max_nv_mesg)*100);//i+1?
 | 
        
           |  |  | 215 |   | 
        
           |  |  | 216 | //pour la gestion des parametres du javascript de popup sans erreur d'insertion dans la base
 | 
        
           |  |  | 217 | $tab_lien_branche[$i]=addslashes($tab_lien_branche[$i]);
 | 
        
           |  |  | 218 | $tab_lien_feuille[$i]= addslashes($tab_lien_feuille[$i]);
 | 
        
           |  |  | 219 | $tab_lien_puce[$i]=addslashes($tab_lien_puce[$i]);
 | 
        
           |  |  | 220 | //
 | 
        
           |  |  | 221 |   | 
        
           |  |  | 222 | $toto="INSERT INTO $ago_tempo (
 | 
        
           |  |  | 223 | INDEXE, NB_MES, LIEN_BRANCHE, LIEN_FEUILLE, COULEUR, NB_ADH, TAILLE_B, ALIAS, LIEN_PUCE ) VALUES ('$i','$nb_nv_mesg[$i]','$tab_lien_branche[$i]','$tab_lien_feuille[$i]','$couleur','$nb_abon[$i]','$tb','$nom_tb02[$i]','$tab_lien_puce[$i]')";
 | 
        
           |  |  | 224 |  $rep=mysql_query($toto)
 | 
        
           |  |  | 225 |        or die("erreur dans l'insertion dans la table temporaire : $toto");
 | 
        
           |  |  | 226 | }
 | 
        
           |  |  | 227 |   | 
        
           |  |  | 228 |   //Calcul des totaux C'est un reliqua d'une version précedente
 | 
        
           |  |  | 229 |   //$nb_total_mess=$nb_tot_mess+$nb_mes_tela;
 | 
        
           |  |  | 230 |   //$nb_total_abon=$nb_tot_abon+$nb_ab_tela;
 | 
        
           |  |  | 231 |   | 
        
           |  |  | 232 |   | 
        
           |  |  | 233 |   mysql_free_result($res);
 | 
        
           |  |  | 234 |   | 
        
           |  |  | 235 | $res = mysql_query("select INDEXE, NB_MES, LIEN_BRANCHE, LIEN_FEUILLE, COULEUR, NB_ADH, TAILLE_B, ALIAS, LIEN_PUCE from $ago_tempo order by \"INDEXE\" ")or die("erreur dans l'interogation de la table temporaire");
 | 
        
           |  |  | 236 |   | 
        
           |  |  | 237 | $rep=mysql_query("DROP TABLE IF EXISTS $ago_tempo");
 | 
        
           |  |  | 238 |   | 
        
           |  |  | 239 | $nbtables_dessin=$nb_table_2;
 | 
        
           |  |  | 240 |   | 
        
           |  |  | 241 | $nb_total_mess=0;
 | 
        
           |  |  | 242 | $nb_total_abon=0;
 | 
        
           |  |  | 243 |   | 
        
           |  |  | 244 | $req=mysql_query("select LIEN_BRANCHE, LIEN_FEUILLE, LIEN_PUCE from $nom_table_index where NOM_TABLE=\"$nom_table_tela\"");
 | 
        
           |  |  | 245 | $tabtemp=mysql_fetch_array($req);
 | 
        
           |  |  | 246 | $lientela_botanica=$tabtemp["LIEN_BRANCHE"];
 | 
        
           |  |  | 247 | $lientela_numero=$tabtemp["LIEN_FEUILLE"];
 | 
        
           |  |  | 248 | $lientela_feuille=$tabtemp["LIEN_PUCE"];
 | 
        
           |  |  | 249 | //  $lientela_botanica=mysql_result($req,0,"LIEN_BRANCHE");
 | 
        
           |  |  | 250 | //  $lientela_numero=mysql_result($req,0,"LIEN_FEUILLE");
 | 
        
           |  |  | 251 | //  $lientela_feuille=mysql_result($req,0,"LIEN_PUCE");
 | 
        
           |  |  | 252 |   | 
        
           |  |  | 253 | //--------------------------------------------------------------------------------------------------------------------------------------------
 | 
        
           |  |  | 254 |   | 
        
           |  |  | 255 | //inclusion du moteur
 | 
        
           |  |  | 256 | include ('php/frame/arbre/moteur_dessin.php');
 | 
        
           |  |  | 257 |   | 
        
           |  |  | 258 | include ('php/frame/arbre/cartouche_arbre_date.php');
 | 
        
           |  |  | 259 |   | 
        
           |  |  | 260 |   | 
        
           |  |  | 261 |   | 
        
           |  |  | 262 |  //purge des résultats de requetes
 | 
        
           |  |  | 263 |   mysql_free_result($resreq);
 | 
        
           |  |  | 264 |   mysql_free_result($res);
 | 
        
           |  |  | 265 |   mysql_free_result($req);
 | 
        
           |  |  | 266 |   | 
        
           |  |  | 267 |   //fermeture de la connexion
 | 
        
           |  |  | 268 |   //mysql_close();
 | 
        
           |  |  | 269 |   | 
        
           |  |  | 270 |   //ici finit mon arbre...
 | 
        
           |  |  | 271 | }
 | 
        
           |  |  | 272 |   | 
        
           |  |  | 273 | //==============================================================================
 | 
        
           |  |  | 274 | // FUNCTION putFooter ()
 | 
        
           |  |  | 275 | //
 | 
        
           |  |  | 276 | // Generation of footer.
 | 
        
           |  |  | 277 | //==============================================================================
 | 
        
           |  |  | 278 |   | 
        
           |  |  | 279 | function putFooter () {
 | 
        
           |  |  | 280 |   echo ' ';
 | 
        
           |  |  | 281 | }
 | 
        
           |  |  | 282 |   | 
        
           |  |  | 283 | //-- End of source  ------------------------------------------------------------
 | 
        
           |  |  | 284 | ?>
 | 
        
           |  |  | 285 |   |