New file |
0,0 → 1,285 |
<? |
//------------------------------------------------------------------------------ |
// FICHIER : $RCSfile: appli_arbre_date.php,v $ |
// AUTEUR : $Author: ddelon $ |
// VERSION : $Revision: 1.1 $ |
// DATE : $Date: 2005-09-22 14:02:49 $ |
//------------------------------------------------------------------------------ |
|
//============================================================================== |
// FUNCTION putStyles ($STYLErow) |
// |
// Generation of private styles. |
//============================================================================== |
|
function putStyles ($STYLErow) { |
echo ".actuTexte {\n"; |
echo " font-family: $STYLErow->S_FONT_FAMILY;\n"; |
echo " font-size: $STYLErow->S_FONT_SIZE_SMALL;\n"; |
echo " font-style: normal;\n"; |
/* echo " font-weight: 400;\n"; */ |
// echo " text-align: left;\n"; |
echo " vertical-align: top;\n"; |
echo " color: $STYLErow->S_COLOR_TEXT;\n"; |
echo " background-color: $STYLErow->S_COLOR_3;\n"; |
echo "}\n"; |
} |
|
//============================================================================== |
// FUNCTION putFrame (...) |
// |
// Generation frame content. |
//============================================================================== |
|
|
|
function putFrame ($db, $link, |
$DOCrow, $PAGEresult, $CURRENTPAGErow, |
$innerTableWidth, $innerTableSpacing) { |
global $project; |
global $locale; |
global $set; |
global $G_mysqlDB; |
global $G_link; |
global $num_sem; |
global $thema; //permet un passage de parametre |
global $fichier_arbre; |
global $fichier_cartouche; |
|
$page_arg = $CURRENTPAGErow->P_ARGUMENT; |
if($page_arg != ""):$thema=$page_arg;endif; |
|
|
include ('php/frame/arbre/chemin.php3'); |
include ("$chemin_ago"); |
include ("$chemin_param"); |
include ('php/frame/arbre/fonctions.php3'); |
|
$pageNdx = $CURRENTPAGErow->P_ORDER; |
|
|
|
//ici commence mon arbre |
|
|
//SCRIPT DE DESSIN DE L'ARBRE Version 2: construction avec des tables |
//------------------------------------------------------------------- |
|
$xesvert="0";//$xesvert*2=espace verticcal entre 2 branches d'un même coté |
|
//Connexion a la base |
//mysql_connect ($dbhostname, $dbwho, $dbpass); |
//mysql_select_db ($dbnamedb); |
|
|
if($thema != ""): |
$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"); |
$thema_temp="and (THEMA LIKE \"%$thema%\")"; |
$nom_en_clair=mysql_result($nom_en_cl,0,"AGO_CAT_TITRE"); |
$blabla_thema="Theme de l'arbre: $nom_en_clair"; |
endif; |
|
|
//prerequis au moteur |
//->les requetes $res |
//->les variable $lientela_botanica $nb_ab_tela $nb_total_mess=0 $nb_total_abon=0 $nbtables_dessin |
//->connexion à la base |
|
//-------------------------------------------------------------------------------------------------------------------------------------------- |
$res = mysql_query |
("select NOM_TABLE, LIEN_BRANCHE, LIEN_FEUILLE, ALIAS, DATE_CREATION, LIEN_PUCE |
from $nom_table_index where ((VISIBLE=1) and (NOM_TABLE <> \"$nom_table_tela\") $thema_temp ) order by \"date_creation\" desc"); |
$nbtables = mysql_num_rows($res); |
|
// boucle visant a constituer les valeurs couleur, nombre d'abonnes et taille de branche pour les tables concernees |
//(existant deja a la date $nv_date) |
$max_nv_mesg=1; /////////////////////////////////////////////////////////////////////////////////// |
$max_mesg=1; /////////////////////////////////////////////////////////////////////////////////// |
$nb_table_2=0; //index des tables à afficher... puis |
for($i=0;$i<$nbtables;$i++) |
{ |
// on recupere le nom de la table |
$nom_tb[$i] = mysql_result($res,$i,"NOM_TABLE"); |
|
// on recupere un tuple contenant le nombre de messages, le nombre d'abonnes pour la table concernee |
// et la semaine correspondant a la semaine $num_sem |
$tab = mysql_query("select NB_MESSAGES,NB_ABONNES from $nom_tb[$i] where NUM_SEM=$num_sem"); |
$nb_rows_tab_tmp = mysql_num_rows($tab); |
// on teste si l'on a qqchose a afficher |
if ($nb_rows_tab_tmp > 0) : |
$nb_rows_tab[$nb_table_2]=$nb_rows_tab_tmp; |
$nom_tb02[$nb_table_2]=mysql_result($res,$i,"ALIAS"); |
$tab_lien_branche[$nb_table_2]=mysql_result($res,$i,"LIEN_BRANCHE"); |
$tab_lien_puce[$nb_table_2]=mysql_result($res,$i,"LIEN_PUCE"); |
$tab_lien_feuille[$nb_table_2]=mysql_result($res,$i,"LIEN_FEUILLE"); |
|
// on recupere le nombre de messages (cumule) pour la semaine $num_sem -1 |
if ($num_sem == 1) : $anc_mesg = 0; |
else : |
$sem_prec = $num_sem -1; |
$anc_mesg = mysql_query("select NB_MESSAGES from $nom_tb[$i] where NUM_SEM=$sem_prec"); |
$nb_rows_anc_mesg = mysql_num_rows($anc_mesg); |
if ($nb_rows_anc_mesg == 0) : $nb_anc_mesg[$nb_table_2] = 0; |
else : $nb_anc_mesg[$nb_table_2] = mysql_result($anc_mesg,0,"NB_MESSAGES"); |
endif; |
|
endif; |
// on recupere le nombre de messages(cumule) pour la semaine $num_sem |
$nb_nv_mesg[$nb_table_2] = mysql_result($tab,0,"NB_MESSAGES"); |
|
// on calcule le nombre de messages emis effectivement lors de |
// la semaine $num_sem |
$nb_mesg[$nb_table_2] = $nb_nv_mesg[$nb_table_2] - $nb_anc_mesg[$nb_table_2]; |
|
// on positionne la variable donnant le maximum de messages |
if ($max_nv_mesg < $nb_nv_mesg[$nb_table_2]) : $max_nv_mesg = $nb_nv_mesg[$nb_table_2]; |
endif; |
|
// on positionne la variable donnant le maximum de messages de la semaine |
// $num_sem |
if ($max_mesg < $nb_mesg[$nb_table_2]) : $max_mesg = $nb_mesg[$nb_table_2]; |
endif; |
|
//calcul du nombre de messages total |
$nb_tot_mess += $nb_nv_mesg[$nb_table_2]; |
|
// on recupere le nombre d'abonnes pour la semaine $num_sem |
$nb_abon[$nb_table_2] = mysql_result($tab,0,"NB_ABONNES"); |
|
//calcul du nombre d'abonnes total |
$nb_tot_abon += $nb_abon[$nb_table_2]; |
|
$nb_table_2++; |
endif; |
} |
|
|
//cette requete recupere ne nombre d'abonnes et de messages a la semaine num_sem |
$resreq=mysql_query("select NB_ABONNES, NB_MESSAGES from $nom_table_tela where NUM_SEM=$num_sem"); |
$nbresreq=mysql_num_rows($resreq); |
$nb_ab_tela=mysql_result($resreq,($nbresreq-1),nb_abonnes); |
$nb_mes_tela=mysql_result($resreq,($nbresreq-1),nb_messages); |
|
$temptotoblabla=round(($xres-$nhi_xsommet)/2);// oui, je suis en manque d'inspiration pour les noms de variables ;) |
//sérieusement, c'est le blanc devant la cime de l'arbre |
|
|
|
// l'idee c'est de remetre tout dans une table temporaire pour refaire une requete res et rende tout ca compatible avac le moteur... |
|
//un nom aléatoir pour la table.. |
function create_new_pwd($n) |
{ |
//caractères possibles en virant ceux qui se ressemblent (ijl1oO0) |
$chaine = "123456789"; |
|
// $n_car caractères dans le 'mot' généré |
$n_car = $n; |
|
srand((double)microtime()*1000000); |
for($i = 0; $i < $n_car; $i++) |
{ |
$str .= $chaine[rand()%strlen($chaine)]; |
} |
|
return "$str"; |
} |
$ago_tempo=TEMP.create_new_pwd(5); |
|
|
|
//en premier lieu, virer la table $ago_tempo si elle existe |
$rep=mysql_query("DROP TABLE IF EXISTS $ago_tempo"); |
|
//ensuite la créer, et la remplire avec les données récoltées... |
//creation |
$creation = "CREATE table $ago_tempo( |
INDEXE INT, |
NB_MES INT not null, |
LIEN_BRANCHE TINYTEXT not null, |
LIEN_FEUILLE TINYTEXT not null, |
COULEUR TINYINT not null, |
NB_ADH INT not null, |
TAILLE_B TINYINT not null, |
ALIAS TINYTEXT not null, |
LIEN_PUCE TINYTEXT) "; |
|
$rep=mysql_query("$creation") |
or die ("<font face=\"Arial, Helvetica, sans-serif\" size=2>ERREUR LORS DE LA CREATION DE LA TABLE TEMPORAIRE</font><BR><BR>$creation"); |
//remplissage |
$les_slashes=1; //pour la gestion des parametres du javascript de popup sans erreur d'insertion dans la base |
for($i=0;$i<$nb_table_2;$i++) |
{ |
$couleur = round(($nb_mesg[$i]/$max_mesg)*100);//i+1? |
$tb = round(($nb_nv_mesg[$i]/$max_nv_mesg)*100);//i+1? |
|
//pour la gestion des parametres du javascript de popup sans erreur d'insertion dans la base |
$tab_lien_branche[$i]=addslashes($tab_lien_branche[$i]); |
$tab_lien_feuille[$i]= addslashes($tab_lien_feuille[$i]); |
$tab_lien_puce[$i]=addslashes($tab_lien_puce[$i]); |
// |
|
$toto="INSERT INTO $ago_tempo ( |
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]')"; |
$rep=mysql_query($toto) |
or die("erreur dans l'insertion dans la table temporaire : $toto"); |
} |
|
//Calcul des totaux C'est un reliqua d'une version précedente |
//$nb_total_mess=$nb_tot_mess+$nb_mes_tela; |
//$nb_total_abon=$nb_tot_abon+$nb_ab_tela; |
|
|
mysql_free_result($res); |
|
$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"); |
|
$rep=mysql_query("DROP TABLE IF EXISTS $ago_tempo"); |
|
$nbtables_dessin=$nb_table_2; |
|
$nb_total_mess=0; |
$nb_total_abon=0; |
|
$req=mysql_query("select LIEN_BRANCHE, LIEN_FEUILLE, LIEN_PUCE from $nom_table_index where NOM_TABLE=\"$nom_table_tela\""); |
$tabtemp=mysql_fetch_array($req); |
$lientela_botanica=$tabtemp["LIEN_BRANCHE"]; |
$lientela_numero=$tabtemp["LIEN_FEUILLE"]; |
$lientela_feuille=$tabtemp["LIEN_PUCE"]; |
// $lientela_botanica=mysql_result($req,0,"LIEN_BRANCHE"); |
// $lientela_numero=mysql_result($req,0,"LIEN_FEUILLE"); |
// $lientela_feuille=mysql_result($req,0,"LIEN_PUCE"); |
|
//-------------------------------------------------------------------------------------------------------------------------------------------- |
|
//inclusion du moteur |
include ('php/frame/arbre/moteur_dessin.php'); |
|
include ('php/frame/arbre/cartouche_arbre_date.php'); |
|
|
|
//purge des résultats de requetes |
mysql_free_result($resreq); |
mysql_free_result($res); |
mysql_free_result($req); |
|
//fermeture de la connexion |
//mysql_close(); |
|
//ici finit mon arbre... |
} |
|
//============================================================================== |
// FUNCTION putFooter () |
// |
// Generation of footer. |
//============================================================================== |
|
function putFooter () { |
echo ' '; |
} |
|
//-- End of source ------------------------------------------------------------ |
?> |
|