26,11 → 26,11 |
*@version 03 mai 2004 |
// +-----------------------------------------------------------------------------------------------+ |
// |
// $Id: cartographie.php,v 1.6 2006-12-01 13:23:17 florian Exp $ |
// $Id: cartographie.php,v 1.7 2007-01-04 16:53:02 alexandre_tb Exp $ |
// FICHIER : $RCSfile: cartographie.php,v $ |
// AUTEUR : $Author: florian $ |
// VERSION : $Revision: 1.6 $ |
// DATE : $Date: 2006-12-01 13:23:17 $ |
// AUTEUR : $Author: alexandre_tb $ |
// VERSION : $Revision: 1.7 $ |
// DATE : $Date: 2007-01-04 16:53:02 $ |
*/ |
include_once PAP_CHEMIN_RACINE.'/client/bottin/configuration/bottin.config.inc.php'; |
include_once INS_CHEMIN_APPLI.'configuration/cartographie.config.inc.php'; |
38,7 → 38,7 |
include_once INS_CHEMIN_APPLI.'bibliotheque/lib.carto.php'; |
|
//================================================================================================ |
if ( isset($_GET['voir_fiche']) or isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) ) { |
if (isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) ) { |
//---------------le menu de l'appli----------- |
function afficherContenuNavigation () { |
$res =inscription_onglets(); |
51,16 → 51,11 |
static $i=0; |
$i++; |
|
//on ajoute la carto en cours en tant que fils |
$monde->ajouterFils($info_zone_hierarchie->czh_code_alpha, $info_zone_hierarchie->czh_identifiant_table_info_couleur, |
$info_zone_hierarchie->czh_nom, $info_zone_hierarchie->czh_fichier_masque, |
$info_zone_hierarchie->czh_fichier_image, ''); |
$monde->fils[$info_zone_hierarchie->czh_code_alpha]->definirCouleurs ('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ; |
|
|
//requete pour trouver les fils de la carte de depart voulue |
$requete_zone_fils = 'SELECT * FROM carto_zone_hierarchie '. |
'WHERE czh_id_zone_pere='.$info_zone_hierarchie->czh_id_zone;/*echo $requete_zone_fils;*/ |
$resultat_zone_fils = $GLOBALS['ins_db']->query($requete_zone_fils) ; |
'WHERE czh_id_zone_pere='.$info_zone_hierarchie->czh_id_zone; |
$resultat_zone_fils = $GLOBALS['ins_db']->query($requete_zone_fils) ;//$GLOBALS['debug'] .= $requete_zone_fils.'<br /><br />'; |
if (DB::isError($resultat_zone_fils )) { |
echo ($resultat_zone_fils->getMessage().'<br />'.$resultat_zone_fils->getDebugInfo()).'<br />'.$requete_zone_fils ; |
} |
67,37 → 62,54 |
|
if ($resultat_zone_fils->numRows()!=0) { |
while ($ligne_zone_fils = $resultat_zone_fils ->fetchRow(DB_FETCHMODE_OBJECT)) { |
//on ajoute la carto en cours en tant que fils |
|
|
//requete pour obtenir toutes les infos (repartition par zones, nom des tables et champs pour les couleurs,.. ) pour la carte à afficher |
$requete_01 = 'SELECT '.$ligne_zone_fils->czh_nom_champs_id_pere.',count('.$ligne_zone_fils->czh_nom_champs_id_pere.') AS nbr'. |
' FROM '.$carto_config['cc_table1'].', '.$ligne_zone_fils->czh_nom_table_info_couleur; |
if ($carto_config['cc_table2']!=0) $requete_01 .= ', '.$carto_config['cc_table2']; |
$requete_01 .= ' WHERE '.$ligne_zone_fils->czh_champs_jointure_annuaire.' = '.$ligne_zone_fils->czh_nom_champs_id; |
if ($carto_config['cc_sql']!='') $requete_01 .= ' AND ('.$carto_config['cc_sql'].')'; |
$requete_01 .= ' GROUP BY '.$ligne_zone_fils->czh_nom_champs_id_pere; |
$requete_01 = 'SELECT '.$ligne_zone_fils->czh_code_alpha.'.'.$ligne_zone_fils-> czh_champs_jointure_annuaire. |
',count('.$ligne_zone_fils->czh_code_alpha.'.'.$ligne_zone_fils-> czh_champs_jointure_annuaire.') AS nbr'. |
' FROM '.$carto_config['cc_table1']; //.', '.$ligne_zone_fils->czh_nom_table_info_couleur; |
if ($carto_config['cc_table2']!='') $requete_01 .= ', '.$carto_config['cc_table2'].' as '.$info_zone_hierarchie->czh_code_alpha.', '. |
$carto_config['cc_table2'].' as '.$ligne_zone_fils->czh_code_alpha.''; |
|
$requete_01 .= ' WHERE '.$info_zone_hierarchie->czh_code_alpha.'.'.$info_zone_hierarchie->czh_champs_jointure_annuaire.' = "'. |
$ligne_zone_fils-> czh_identifiant_table_info_couleur. |
'" AND '.$info_zone_hierarchie->czh_sql_complementaire; |
|
if ($carto_config['cc_sql']!='') $requete_01 .= ' and ('.$carto_config['cc_sql'].')'; |
if ($ligne_zone_fils-> czh_sql_complementaire != '') $requete_01 .= ' and '.$ligne_zone_fils->czh_sql_complementaire ; |
$requete_01 .= ' and '.$info_zone_hierarchie->czh_code_alpha.'.bfvl_ce_fiche='.$ligne_zone_fils->czh_code_alpha.'.bfvl_ce_fiche'; |
$requete_01 .= ' GROUP BY '.$ligne_zone_fils-> czh_champs_jointure_annuaire; |
|
$resultat_01 = $GLOBALS['ins_db']->query($requete_01) ; |
if (DB::isError($resultat_01)) { |
echo ($resultat_01->getMessage().'<br />'.$resultat_01->getDebugInfo()).'<br />'.$requete_01 ; |
return $resultat_01->getMessage().'<br />'.$resultat_01->getDebugInfo().'<br />'.$requete_01 ; |
} |
$tableau_repartition=array(); |
while ($ligne_01 = $resultat_01->fetchRow(DB_FETCHMODE_OBJECT)) { |
$id=$ligne_zone_fils->czh_nom_champs_id_pere; |
$id=$ligne_zone_fils-> czh_champs_jointure_annuaire; |
$tableau_repartition[$ligne_01->$id] = $ligne_01->nbr; |
} |
$info_zone[$i]['nom_table_zone'] =$info_zone_hierarchie->czh_nom_table_info_couleur; |
$info_zone[$i]['nom_chp_id_zone'] =$info_zone_hierarchie->czh_nom_champs_id; |
$info_zone[$i]['nom_chp_nom_zone'] =$info_zone_hierarchie->czh_nom_champs_intitule; |
$info_zone[$i]['nom_chp_rouge'] =$info_zone_hierarchie->czh_nom_champs_couleur_R; |
$info_zone[$i]['nom_chp_vert'] =$info_zone_hierarchie->czh_nom_champs_couleur_V; |
$info_zone[$i]['nom_chp_bleu'] =$info_zone_hierarchie->czh_nom_champs_couleur_B; |
$info_zone[$i]['nom_chp_zone_sup'] =$info_zone_hierarchie->czh_nom_champs_id_pere; |
$info_zone[$i]['nom_table_zone'] =$ligne_zone_fils->czh_nom_table_info_couleur; |
$info_zone[$i]['nom_chp_id_zone'] =$ligne_zone_fils->czh_nom_champs_id; |
$info_zone[$i]['nom_chp_nom_zone'] =$ligne_zone_fils->czh_nom_champs_intitule; |
$info_zone[$i]['nom_chp_rouge'] =$ligne_zone_fils->czh_nom_champs_couleur_R; |
$info_zone[$i]['nom_chp_vert'] =$ligne_zone_fils->czh_nom_champs_couleur_V; |
$info_zone[$i]['nom_chp_bleu'] =$ligne_zone_fils->czh_nom_champs_couleur_B; |
$info_zone[$i]['nom_chp_zone_sup'] =$ligne_zone_fils->czh_nom_champs_id_pere; |
$info_zone[$i]['tableau_valeurs_zone'] = $tableau_repartition; |
if ($i == 1) { |
$monde->_info_table_zg = $info_zone[1]; |
$monde->definirCouleurs('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ; |
construit_hierarchie($info_zone, $carto_config, $ligne_zone_fils, $monde); |
|
$monde->ajouterFils($ligne_zone_fils->czh_code_alpha, $ligne_zone_fils->czh_identifiant_table_info_couleur, |
$ligne_zone_fils->czh_nom, $ligne_zone_fils->czh_fichier_masque, |
$ligne_zone_fils->czh_fichier_image, $info_zone[$i]); |
$monde->fils[$ligne_zone_fils->czh_code_alpha]->definirCouleurs ('255', '255', '255','200', '255', '200','100', '255', '100','0', '100', '0') ; |
$monde->fils[$ligne_zone_fils->czh_code_alpha]->champs_jointure = $ligne_zone_fils->czh_champs_jointure_annuaire; |
$monde->fils[$ligne_zone_fils->czh_code_alpha]->sql_complementaire = $ligne_zone_fils->czh_sql_complementaire; |
|
if ($i == 1) { |
construit_hierarchie($info_zone, $carto_config, $ligne_zone_fils, $monde->fils[$ligne_zone_fils->czh_code_alpha]); |
} else { |
$monde->_info_table_zg = $info_zone[$i]; |
construit_hierarchie($info_zone, $carto_config, $ligne_zone_fils, $monde->fils[$info_zone_hierarchie->czh_code_alpha]); |
construit_hierarchie($info_zone, $carto_config, $ligne_zone_fils, $monde->fils[$ligne_zone_fils->czh_code_alpha]); |
} |
} |
} |
124,9 → 136,9 |
$carto_config = $resultat->fetchRow(DB_FETCHMODE_ASSOC); |
|
//on affiche les infos lorsqu'on regarde une fiche |
if ( isset($_GET['voir_fiche']) or isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) ) { |
if ( isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) ) { |
$res = affiche_onglet_info(); |
} else { |
} else { |
//requete pour afficher la carte de depart voulue dans la conf. |
$requete_zone_hierarchie = 'SELECT * FROM carto_zone_hierarchie WHERE czh_id_zone='.$carto_config['cc_ce_premiere_carte']; |
$resultat_zone_hierarchie = $GLOBALS['ins_db']->query($requete_zone_hierarchie) ; |
137,80 → 149,43 |
|
//initialisation de la variable 2 dimensions, contenant les infos specifiques a chaque echelle de territoire |
$info_zone= array(); |
//requete pour obtenir toutes les infos (repartition par zones, nom des tables et champs pour les couleurs,.. ) pour la carte à afficher |
$requete_01 = 'SELECT '.$ligne_zone_hierarchie-> czh_champs_jointure_annuaire.',count('.$ligne_zone_hierarchie-> czh_champs_jointure_annuaire.') AS nbr'. |
' FROM '.$carto_config['cc_table1']; //.', '.$ligne_zone_fils->czh_nom_table_info_couleur; |
if ($carto_config['cc_table2']!='') $requete_01 .= ', '.$carto_config['cc_table2'].' as '.$ligne_zone_hierarchie->czh_code_alpha.' '; |
if ($carto_config['cc_sql']!='') $requete_01 .= ' WHERE ('.$carto_config['cc_sql'].')'; |
if ($ligne_zone_hierarchie-> czh_sql_complementaire != '') $requete_01 .= ' and '.$ligne_zone_hierarchie->czh_sql_complementaire ; |
$requete_01 .= ' GROUP BY '.$ligne_zone_hierarchie-> czh_champs_jointure_annuaire; |
$resultat_01 = $GLOBALS['ins_db']->query($requete_01) ; |
if (DB::isError($resultat_01)) { |
echo $resultat_01->getMessage().'<br />'.$resultat_01->getDebugInfo().'<br />'.$requete_01 ; |
} |
|
$info_zone=array(); |
while ($ligne_01 = $resultat_01->fetchRow(DB_FETCHMODE_OBJECT)) { |
$id=$ligne_zone_hierarchie-> czh_champs_jointure_annuaire; |
$tableau_repartition[$ligne_01->$id] = $ligne_01->nbr; |
} |
$info_zone['nom_table_zone'] =$ligne_zone_hierarchie->czh_nom_table_info_couleur; |
$info_zone['nom_chp_id_zone'] =$ligne_zone_hierarchie->czh_nom_champs_id; |
$info_zone['nom_chp_nom_zone'] =$ligne_zone_hierarchie->czh_nom_champs_intitule; |
$info_zone['nom_chp_rouge'] =$ligne_zone_hierarchie->czh_nom_champs_couleur_R; |
$info_zone['nom_chp_vert'] =$ligne_zone_hierarchie->czh_nom_champs_couleur_V; |
$info_zone['nom_chp_bleu'] =$ligne_zone_hierarchie->czh_nom_champs_couleur_B; |
$info_zone['nom_chp_zone_sup'] =$ligne_zone_hierarchie->czh_nom_champs_id_pere; |
$info_zone['tableau_valeurs_zone'] = $tableau_repartition; |
|
$monde = new Carto_Carte($ligne_zone_hierarchie->czh_code_alpha, '', $ligne_zone_hierarchie->czh_nom, |
$ligne_zone_hierarchie->czh_fichier_masque, $ligne_zone_hierarchie->czh_fichier_image, |
INS_CHEMIN_APPLI.'presentations/fonds/', ''); |
INS_CHEMIN_APPLI.'presentations/fonds/', $info_zone); |
$monde->definirCouleurs('255', '255', '255','200', '255', '200','100', '255', '100','0', '100', '0') ; |
$monde->champs_jointure = $ligne_zone_hierarchie->czh_champs_jointure_annuaire; |
$monde->sql_complementaire = $ligne_zone_hierarchie->czh_sql_complementaire; |
construit_hierarchie($info_zone, $carto_config, $ligne_zone_hierarchie, $monde); |
echo '<pre>'.var_dump($monde).'</pre>'; |
|
//requete |
// $requete_02 = 'SELECT CC_ID_Continent FROM carto_CONTINENT'; |
// |
// $resultat_02 = $GLOBALS['ins_db']->query($requete_02) ; |
// if (DB::isError($resultat_02)) { |
// die ($resultat_02->getMessage().'<br />'.$resultat_02->getDebugInfo()) ; |
// } |
// |
// while ($ligne_02 = $resultat_02->fetchRow(DB_FETCHMODE_OBJECT)) { |
// $requete_03 = 'SELECT CP_ID_Pays, count(cp_id_pays) as nbr '. |
// ' FROM '.$nom_table1.', carto_PAYS'; |
// if ($nom_table2!=0) $requete_03 .= ', '.$nom_table2; |
// $requete_03 .= ' WHERE '.$nom_champs_pays.'= cp_id_pays'; |
// if ($requete_sql!='') $requete_03 .= ' AND ('.$requete_sql.')'; |
// $requete_03 .= ' AND cp_id_continent = "'.$ligne_02->CC_ID_Continent.'"'. |
// ' GROUP BY cp_id_pays'; |
// $resultat_03 = $GLOBALS['ins_db']->query($requete_03) ; |
// if (DB::isError($resultat_03)) { |
// die ($resultat_03->getMessage().'<br />'.$resultat_03->getDebugInfo()) ; |
// } |
// |
// $tableau_ad_pays = array(); |
// while ($ligne_03 = $resultat_03->fetchRow(DB_FETCHMODE_OBJECT)) { |
// $tableau_ad_pays[$ligne_03->CP_ID_Pays] = $ligne_03->nbr; |
// } |
// |
// $info_pays[$ligne_02->CC_ID_Continent]['nom_table_zone'] = 'carto_PAYS'; |
// $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_id_zone'] = 'CP_ID_Pays'; |
// $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_nom_zone'] = 'CP_Intitule_pays'; |
// $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_rouge'] = 'CP_Couleur_R'; |
// $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_vert'] = 'CP_Couleur_V'; |
// $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_bleu'] = 'CP_Couleur_B'; |
// $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_zone_sup'] = 'CP_ID_Continent'; |
// $info_pays[$ligne_02->CC_ID_Continent]['tableau_valeurs_zone'] = $tableau_ad_pays; |
} |
// //============================================================================================================ |
// //if (!isset($_POST['historique_cartes']) && INS_ECHELLE_DEPART!='france') { |
// $requete_04 = 'SELECT CD_ID_Departement, count(cd_id_departement) as nbr'. |
// ' FROM '.$nom_table1.', carto_DEPARTEMENT'. |
// ' WHERE '.$nom_champs_pays.' = "fr"'. |
// ' AND SUBSTRING('.$nom_champs_cp.' FROM 1 FOR 2) = cd_id_Departement'. |
// ' GROUP BY cd_id_Departement'; |
// $resultat_04 = $GLOBALS['ins_db']->query ($requete_04) ; |
// $tableau_ad_dpt_france = array(); |
// while ($ligne_04 = $resultat_04->fetchRow(DB_FETCHMODE_OBJECT)) { |
// $tableau_ad_dpt_france[$ligne_04->CD_ID_Departement] = $ligne_04->nbr; |
// } |
// $info_dpt_france['nom_table_zone'] = 'carto_DEPARTEMENT'; |
// $info_dpt_france['nom_chp_id_zone'] = 'CD_ID_Departement'; |
// $info_dpt_france['nom_chp_nom_zone'] = 'CD_Intitule_departement'; |
// $info_dpt_france['nom_chp_rouge'] = 'CD_Couleur_R'; |
// $info_dpt_france['nom_chp_vert'] = 'CD_Couleur_V'; |
// $info_dpt_france['nom_chp_bleu'] = 'CD_Couleur_B'; |
// $info_dpt_france['nom_chp_zone_sup'] = 'CD_ID_Pays'; |
// $info_dpt_france['tableau_valeurs_zone'] = $tableau_ad_dpt_france; |
// //} |
// |
//============================================================================================================ |
|
|
//============================================================================================================ |
// On cree tout d'abord l'arborescence |
/* |
$monde = new Carto_Carte('continent', '', 'Monde', 'monde_masque5c.png', 'monde5c.png', |
INS_CHEMIN_APPLI.'presentations/fonds/', $info_zone[1]); |
$monde->definirCouleurs('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;*/ |
if (isset($_POST['historique_cartes'])) { |
$monde->historique_cartes = $_POST['historique_cartes']; |
//$GLOBALS['debug'] .= '<pre>'.print_r($monde, true).'</pre>'; |
|
if (isset($_REQUEST['historique_cartes'])) { |
$monde->historique_cartes = $_REQUEST['historique_cartes']; |
} else { |
$monde->historique_cartes = INS_ECHELLE_DEPART; |
} |
218,28 → 193,7 |
$monde->image_y = $image_y; |
$monde->liste_zone_carte = $liste_zone_carte; |
$monde->url = $GLOBALS['ins_url']->getURL(); |
/* |
foreach ($info_zone[2] as $cle => $valeur) { |
$requete_05 = |
"SELECT CDC_Titre_carte, CDC_ID_Carte, CDC_Carte_fond, CDC_Carte_masque, CDC_ID_Zone_geo_carte". |
" FROM carto_DESCRIPTION_CARTE, carto_ACTION ". |
" WHERE CA_ID_Zone_geo = '$cle'". |
" AND CA_Type_zone = 1". |
" AND CA_ID_Carte_destination = CDC_ID_Carte"; |
|
$resultat_05 = $GLOBALS['ins_db']->query ($requete_05) ; |
if (DB::isError($resultat_05)) { |
die ($resultat_05->getMessage().'<br />'.$resultat_05->getDebugInfo()) ; |
} |
$ligne_05 = $resultat_05->fetchRow(DB_FETCHMODE_OBJECT); |
$monde->ajouterFils($ligne_05->CDC_ID_Carte, $ligne_05->CDC_ID_Zone_geo_carte, $ligne_05->CDC_Titre_carte, |
$ligne_05->CDC_Carte_masque, $ligne_05->CDC_Carte_fond, $valeur); |
$monde->fils[$ligne_05->CDC_ID_Carte]->definirCouleurs ('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ; |
} |
*/ |
//$monde->fils['europe']->ajouterFils('france', 'fr', 'France' ,'france_masque.png', 'france.png', $info_zone[3]); |
//$monde->fils['europe']->fils['france']->definirCouleurs ('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ; |
|
|
// Une fois l'arborescence créée on lance la methode donnerFormulaireImage() pour recuperer la carte |
// (dans $img). S'il n'y a pas de carte a afficher donnerFormulaireImage() renvoi false. On peut alors recuperer |
// le niveau ou on en est grace a $monde->historique (du type continent*namerique*ca). |
258,11 → 212,21 |
$res .= '<form name="formmail" action="'.$monde->url.'" method="post">'."\n"; |
if ((INS_AFFICHE_ECHELLE)and($img)) { |
$historique_carte = new Carto_HistoriqueCarte ($monde, '>', 'chemin_carto'); |
|
$res .= $historique_carte->afficherHistoriqueCarte()."\n" ; |
} |
if (isset($_GET['voir_fiche'])) { |
return carto_liste_fiches($monde, $carto_config); |
} |
if (!$img ) { |
//include 'bibliotheque/cartographie.fonct.liste_inscrit.php'; |
$res .= carto_liste_fiches($monde, $carto_config['cc_table1'], $carto_config['cc_table2'], $carto_config['cc_pays'],$carto_config['cc_cp'], $carto_config['cc_sql']); |
$res .= ''; |
/*var_dump ($monde); |
if (count (explode ('*', $monde->historique)) > 2) { |
$monde = $monde->fils['drome'] ; |
} */ |
|
$res .= carto_liste_fiches($monde, $carto_config); |
return $res; |
} else { |
$res .= $img; |
271,8 → 235,9 |
$res .= INS_COULEUR."\n".'</p>'."\n"; |
} |
$res .= '</form>'."\n"; |
|
return $res; |
|
} |
//---------------------------------------------------------------------------------------------------------------------- |
// Cas ou la carto n'a pas encore ete configuree |
} else { |