448 |
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 |
|