Subversion Repositories Applications.projet

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
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 '&nbsp;';
281
}
282
 
283
//-- End of source  ------------------------------------------------------------
284
?>
285