/trunk/client/stat_distribution/configuration/stdi_configuration.inc.php |
---|
New file |
0,0 → 1,85 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | Ce logiciel est un programme informatique servant à gérer du contenu et des applications web. | | |
// | | |
// | Ce logiciel est régi par la licence CeCILL soumise au droit français et respectant les principes de | |
// | diffusion des logiciels libres. Vous pouvez utiliser, modifier et/ou redistribuer ce programme sous | |
// | les conditions de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA sur le site | |
// | "http://www.cecill.info". | |
// | | |
// | En contrepartie de l'accessibilité au code source et des droits de copie, de modification et de | |
// | redistribution accordés par cette licence, il n'est offert aux utilisateurs qu'une garantie limitée. | |
// | Pour les mêmes raisons, seule une responsabilité restreinte pèse sur l'auteur du programme, le | |
// | titulaire des droits patrimoniaux et les concédants successifs. | |
// | | |
// | A cet égard l'attention de l'utilisateur est attirée sur les risques associés au chargement, à | |
// | l'utilisation, à la modification et/ou au développement et à la reproduction du logiciel par | |
// | l'utilisateur étant donné sa spécificité de logiciel libre, qui peut le rendre complexe à manipuler | |
// | et qui le réserve donc à des développeurs et des professionnels avertis possédant des connaissances | |
// | informatiques approfondies. Les utilisateurs sont donc invités à charger et tester l'adéquation | |
// | du logiciel à leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes | |
// | et ou de leurs données et, plus généralement, à l'utiliser et l'exploiter dans les mêmes conditions | |
// | de sécurité. | |
// | | |
// | Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris connaissance de la | |
// | licence CeCILL, et que vous en avez accepté les termes. | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id$ |
/** |
* papyrus |
* |
* Description... |
* |
*@package Applette |
*@subpackage Stat_Distribution |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2007 |
*@version $Revision$ $Date$ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_STAT_DISTRIBUTION_'] = array(); |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Constante stockant la valeur de la langue par défaut pour l'applette Stat_Distribution.*/ |
define('STDI_I18N_DEFAUT', GEN_I18N_ID_DEFAUT); |
// Chemin vers les dossiers de l'applette |
/** Chemin vers l'applette Stat_Distribution de Papyrus.*/ |
define('STDI_CHEMIN_APPLETTE', GEN_CHEMIN_CLIENT.'stat_distribution'.GEN_SEP); |
/** Chemin vers les fichiers de traduction de l'applette Stat_Distribution de Papyrus.*/ |
define('STDI_CHEMIN_LANGUE', STDI_CHEMIN_APPLETTE.'langues'.GEN_SEP); |
/** Chemin vers les fichiers de la bibliotheque de l'applette Stat_Distribution de Papyrus.*/ |
define('STDI_CHEMIN_BIBLIO', STDI_CHEMIN_APPLETTE.'bibliotheque'.GEN_SEP); |
/** Chemin vers les fichiers squelettes de l'applette Stat_Distribution de Papyrus.*/ |
define('STDI_CHEMIN_SQUELETTE', STDI_CHEMIN_APPLETTE.'squelettes'.GEN_SEP); |
// Configuration du rendu |
/** Nom du fichier de squelette à utiliser pour la liste des pages.*/ |
define('STDI_SQUELETTE_LISTE', 'stdi_tableau.tpl.html'); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log$ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/client/stat_distribution/langues/stdi_langue_fr.inc.php |
---|
New file |
0,0 → 1,74 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | Ce logiciel est un programme informatique servant à gérer du contenu et des applications web. | | |
// | | |
// | Ce logiciel est régi par la licence CeCILL soumise au droit français et respectant les principes de | |
// | diffusion des logiciels libres. Vous pouvez utiliser, modifier et/ou redistribuer ce programme sous | |
// | les conditions de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA sur le site | |
// | "http://www.cecill.info". | |
// | | |
// | En contrepartie de l'accessibilité au code source et des droits de copie, de modification et de | |
// | redistribution accordés par cette licence, il n'est offert aux utilisateurs qu'une garantie limitée. | |
// | Pour les mêmes raisons, seule une responsabilité restreinte pèse sur l'auteur du programme, le | |
// | titulaire des droits patrimoniaux et les concédants successifs. | |
// | | |
// | A cet égard l'attention de l'utilisateur est attirée sur les risques associés au chargement, à | |
// | l'utilisation, à la modification et/ou au développement et à la reproduction du logiciel par | |
// | l'utilisateur étant donné sa spécificité de logiciel libre, qui peut le rendre complexe à manipuler | |
// | et qui le réserve donc à des développeurs et des professionnels avertis possédant des connaissances | |
// | informatiques approfondies. Les utilisateurs sont donc invités à charger et tester l'adéquation | |
// | du logiciel à leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes | |
// | et ou de leurs données et, plus généralement, à l'utiliser et l'exploiter dans les mêmes conditions | |
// | de sécurité. | |
// | | |
// | Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris connaissance de la | |
// | licence CeCILL, et que vous en avez accepté les termes. | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id$ |
/** |
* papyrus |
* |
* Description... |
* |
*@package Applette |
*@subpackage Stat_Distribution |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2007 |
*@version $Revision$ $Date$ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Texte affiché quand le paramètre "format" est abscent.*/ |
define('STDI_LG_ERREUR_FORMAT', "Applette STAT_DISTRIBUTION : le paramètre 'format' est obligatoire et peut prendre les valeurs : tableau "); |
/** Texte affiché quand le paramètre "niveau" est abscent.*/ |
define('STDI_LG_ERREUR_NIVEAU', "Applette STAT_DISTRIBUTION : le paramètre 'niveau' est obligatoire et peut prendre les valeurs : monde, europe !"); |
// +------------------------------------------------------------------------------------------------------+ |
// | PIED du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log$ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/client/stat_distribution/squelettes/stdi_tableau.tpl.html |
---|
New file |
0,0 → 1,28 |
<!-- STAT_DISTRIBUTION : tableau - DEBUT --> |
<h1><?=$titre;?></h1> |
<?php if ($erreur) : ?> |
<p class="pap_erreur"><?=$erreur;?></p> |
<?php elseif ($information) : ?> |
<p class="zone_info"><?=$information;?></p> |
<?php else : ?> |
<table class="table_cadre"> |
<tr> |
<th class="">Pays</th> |
<th class="">Nombre d'inscrits</td> |
<th class="">Pourcentage</td> |
</tr> |
<?php foreach ($tab_donnees as $donnee) : ?> |
<tr> |
<th class=""><?=$donnee['libelle'];?></th> |
<td class=""><?=$donnee['nombre'];?></td> |
<td class=""><?=$donnee['pourcentage'];?></td> |
</tr> |
<?php endforeach; ?> |
</table> |
<?php endif; ?> |
<!-- STAT_DISTRIBUTION : tableau - FIN --> |
/trunk/client/stat_distribution/stat_distribution.php |
---|
New file |
0,0 → 1,212 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | Ce logiciel est un programme informatique servant à gérer du contenu et des applications web. | | |
// | | |
// | Ce logiciel est régi par la licence CeCILL soumise au droit français et respectant les principes de | |
// | diffusion des logiciels libres. Vous pouvez utiliser, modifier et/ou redistribuer ce programme sous | |
// | les conditions de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA sur le site | |
// | "http://www.cecill.info". | |
// | | |
// | En contrepartie de l'accessibilité au code source et des droits de copie, de modification et de | |
// | redistribution accordés par cette licence, il n'est offert aux utilisateurs qu'une garantie limitée. | |
// | Pour les mêmes raisons, seule une responsabilité restreinte pèse sur l'auteur du programme, le | |
// | titulaire des droits patrimoniaux et les concédants successifs. | |
// | | |
// | A cet égard l'attention de l'utilisateur est attirée sur les risques associés au chargement, à | |
// | l'utilisation, à la modification et/ou au développement et à la reproduction du logiciel par | |
// | l'utilisateur étant donné sa spécificité de logiciel libre, qui peut le rendre complexe à manipuler | |
// | et qui le réserve donc à des développeurs et des professionnels avertis possédant des connaissances | |
// | informatiques approfondies. Les utilisateurs sont donc invités à charger et tester l'adéquation | |
// | du logiciel à leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes | |
// | et ou de leurs données et, plus généralement, à l'utiliser et l'exploiter dans les mêmes conditions | |
// | de sécurité. | |
// | | |
// | Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris connaissance de la | |
// | licence CeCILL, et que vous en avez accepté les termes. | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: categorie.php,v 1.5 2006/12/12 13:32:00 jp_milcent Exp $ |
/** |
* Applette : Stat Distribution |
* |
* Retourne les statistiques de distribution des inscrits à Tela Botanica sous différentes formes. |
* |
*@package Applette |
*@subpackage stat_distribution |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2007 |
*@version $Revision$ $Date$ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherStatDistribution'; |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '\{\{[Ss]tatDistribution(?:\s*(?:(format="[^"]+")|(niveau="[^"]+")|))+\s*\}\}';//; |
// -------------------------------------------------------------------------------------------------------- |
//Utilisation de la bibliothèque Papyrus pap_meta.fonct.php inclue par Papyrus |
//Utilisation de la bibliothèque PEAR NET_URL inclue par Papyrus |
/** Inclusion du fichier de configuration de cette application.*/ |
require_once GEN_CHEMIN_CLIENT.'stat_distribution'.GEN_SEP.'configuration'.GEN_SEP.'stdi_configuration.inc.php'; |
// Inclusion des fichiers de traduction de l'applette CATEG de Papyrus |
if (file_exists(STDI_CHEMIN_LANGUE.'stdi_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) { |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/ |
require_once STDI_CHEMIN_LANGUE.'stdi_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php'; |
} else { |
/** Inclusion du fichier de traduction par défaut.*/ |
require_once STDI_CHEMIN_LANGUE.'stdi_langue_'.STDI_I18N_DEFAUT.'.inc.php'; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// En attendant de pouvoir utiliser le nouveaux système d'appllet de la branche principale de Papyrus |
function afficherContenuCorps() |
{ |
$tab_applette_arguments[1] = 'format='.$GLOBALS['_GEN_commun']['info_application']->format; |
$tab_applette_arguments[2] = 'niveau='.$GLOBALS['_GEN_commun']['info_application']->niveau; |
return afficherStatDistribution($tab_applette_arguments, $GLOBALS['_GEN_commun']); |
} |
/** Fonction afficherStatDistribution() - Retourne les stats de distribution. |
* |
* Cette fonction Retourne les statistiques de distribution des inscrits à Tela Botanica sous différentes formes. |
* |
* @param array contient les arguments de la fonction. |
* @param array tableau global de Papyrus. |
* @return string HTML les stats de distribution. |
*/ |
function afficherStatDistribution($tab_applette_arguments, $_GEN_commun) |
{ |
// Initialisation des variables |
$sortie = ''; |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des arguments |
$tab_arguments = $tab_applette_arguments; |
unset($tab_arguments[0]); |
foreach($tab_arguments as $argument) { |
$tab_parametres = explode('=', $argument); |
$options[$tab_parametres[0]] = trim($tab_parametres[1], '"'); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des erreurs de paramètrage |
$GLOBALS['_STAT_DISTRIBUTION_']['erreur'] = ''; |
if (!isset($options['format'])) { |
$GLOBALS['_STAT_DISTRIBUTION_']['erreur'] = STDI_LG_ERREUR_FORMAT; |
} |
if (!isset($options['niveau'])) { |
$GLOBALS['_STAT_DISTRIBUTION_']['erreur'] = STDI_LG_ERREUR_NIVEAU; |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Récupération des données |
switch ($options['niveau']) { |
case 'europe' : |
$tab_legende_fr = array(); |
$tab_legende_ss_fr = array(); |
$tab_donnees_fr = array() ; |
$tab_donnees_ss_fr = array() ; |
$total_autre = 0; |
$requete = 'SELECT CP_ID_Pays, CP_Intitule_pays, COUNT(CP_ID_Pays) AS nbre '. |
'FROM annuaire_tela, carto_PAYS '. |
'WHERE U_COUNTRY = CP_ID_Pays '. |
'AND CP_ID_Continent = 4 '. |
'GROUP BY CP_ID_Pays '. |
'ORDER BY nbre DESC'; |
$GLOBALS['_STAT_DISTRIBUTION_']['titre'] = 'Répartition des inscrits à Tela Botanica en Europe'; |
break; |
case 'monde' : |
$requete = 'SELECT CC_ID_Continent, CC_Intitule_continent, COUNT(CC_ID_Continent) AS nbre '. |
'FROM annuaire_tela, carto_PAYS, carto_CONTINENT '. |
'WHERE U_COUNTRY = CP_ID_Pays '. |
'AND CP_ID_Continent = CC_ID_Continent '. |
'GROUP BY CC_ID_Continent '; |
$GLOBALS['_STAT_DISTRIBUTION_']['titre'] = 'Répartition des inscrits à Tela Botanica dans le monde'; |
break; |
} |
$resultat = $GLOBALS['db']->query($requete) ; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
switch ($options['niveau']) { |
case 'europe' : |
$id = $ligne->CP_ID_Pays; |
$legende_libelle = $ligne->CP_Intitule_pays.' (%1.2f%%)'; |
$libelle = $ligne->CP_Intitule_pays.' ['.$id.']'; |
$nbre = $ligne->nbre; |
if ($id != 'fr' && $id != 'FR') { |
$tab_donnees_ss_fr[] = $nbre; |
$tab_legende_ss_fr[] = $legende_libelle; |
$total_autre += $nbre; |
$tab_donnees_fr[1] += $nbre; |
$tab_legende_fr[1] = 'Autres pays européens (%1.2f%%)'; |
} else { |
$tab_donnees_fr[0] = $nbre; |
$tab_legende_fr[0] = $legende_libelle; |
} |
break; |
case 'monde' : |
$id = $ligne->CC_ID_Continent; |
$legende_libelle = '['.$id.'] '.$ligne->CC_Intitule_continent.' (%1.2f%%)'; |
$libelle = $ligne->CC_Intitule_continent.' ['.$id.']'; |
$nbre = $ligne->nbre; |
$tab_donnees[$id] = $ligne->nbre; |
if (!isset($legende[$id])) { |
$tab_legende[$id] = $legende_libelle; |
} |
break; |
} |
$GLOBALS['_STAT_DISTRIBUTION_']['tab_donnees'][$id]['libelle'] = $libelle; |
$GLOBALS['_STAT_DISTRIBUTION_']['tab_donnees'][$id]['nombre'] = $nbre; |
$total += $nbre; |
} |
foreach ($GLOBALS['_STAT_DISTRIBUTION_']['tab_donnees'] as $id => $val) { |
$GLOBALS['_STAT_DISTRIBUTION_']['tab_donnees'][$id]['pourcentage'] = round($val['nombre']/$total*100, 2).' %'; |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Extrait les variables et les ajoutes à l'espace de noms local |
// Gestion des squelettes |
extract($GLOBALS['_STAT_DISTRIBUTION_']); |
// Démarre le buffer |
ob_start(); |
// Inclusion du fichier |
include(STDI_CHEMIN_SQUELETTE.STDI_SQUELETTE_LISTE); |
// Récupérer le contenu du buffer |
$sortie = ob_get_contents(); |
// Arrête et détruit le buffer |
ob_end_clean(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Sortie |
return $sortie; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE DES FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log$ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |