Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1625 → Rev 1626

/trunk/services/modules/0.1/Statistiques.php
3,6 → 3,8
* Description :
* Statistiques par année sur l'utilisation de Identiplante / Pictoflora
*
* Documentation: http://www.tela-botanica.org/wikini/DevInformatiques/wakka.php?wiki=AppliDelStats
*
* @author Mathias
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
138,6 → 140,7
// Version améliorée mais non optimale (prend en compte les consensus non validés)
// @TODO on devrait croiser les IDS pour ne pas prendre en compte les obs validées ou en
// consensus, mais qui datent des années précédentes
// @ACHTUNG mache pas, dépasse les 100% (voir Wiki)
protected function pourcentageObsIdentifieesEnFinDAnneePlusPlus($annee) {
// Obs ayant atteint un consensus cette année
$req1 = "SELECT count(*) as nombre FROM(".
/trunk/widget/modules/statistiques/squelettes/css/statistiques.css
New file
0,0 → 1,4
td {
border: solid #404040 1px;
padding: 3px;
}
/trunk/widget/modules/statistiques/squelettes/statistiques.tpl.php
New file
0,0 → 1,43
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Votez !</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Delphine Cauquil, Aurélien Peronnet" />
<meta name="keywords" content="Tela Botanica, photographie, DEL" />
<meta name="description" content="Widget de vote sur les dernières images proposées dans DEL" />
 
<link rel="stylesheet" type="text/css" href="<?=$url_css?>" media="screen" />
</head>
<body>
<!-- WIDGET:DEL:STATISTIQUES - DEBUT -->
<form action="">
<label>
Choisir l'année
</label>
<input name="annee" type="text" value="<?= $annee ?>"/>
<input type="submit" value="Afficher"/>
</form>
<br/><br/>
<table>
<tr>
<td><strong>indicateur</strong></td>
<td><strong>valeur</strong></td>
</tr>
<?php foreach($stats as $k => $v): ?>
<tr>
<td><?= $k ?></td>
<td><?= $v ?></td>
</tr>
<?php endforeach; ?>
</table>
<!-- WIDGET:DEL:STATISTIQUES - FIN -->
</body>
</html>
/trunk/widget/modules/statistiques/Statistiques.php
New file
0,0 → 1,63
<?php
// declare(encoding='UTF-8');
/**
* Service affichant les dernières photo publiques du CEL ouvrable sous forme de diaporama.
* Encodage en entrée : utf8
* Encodage en sortie : utf8
*
* Cas d'utilisation et documentation :
* @link http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=AideCELWidgetPhoto
*
* Paramètres :
* ===> extra = booléen (1 ou 0) [par défaut : 1]
* Affiche / Cache la vignette en taille plus importante au bas du widget.
* ===> vignette = [0-9]+,[0-9]+ [par défaut : 4,3]
* Indique le nombre de vignette par ligne et le nombre de ligne.
*
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
* @version $Id$
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
*/
class Statistiques extends WidgetCommun {
 
const DS = DIRECTORY_SEPARATOR;
protected $annee;
 
public function __construct($config, $parametres) {
parent::__construct($config, $parametres);
$this->annee = date('Y');
}
 
/**
* Méthode appelée par défaut pour charger ce widget.
*/
public function executer() {
$this->del_url_service_tpl = $this->config['statistiques']['baseURLServicesDelTpl'];
$this->collecterParametres();
$squelette = dirname(__FILE__) . self::DS . 'squelettes' . self::DS . 'statistiques.tpl.php';
 
// toutes les stats d'un coup
$url = $this->del_url_service_tpl . 'statistiques/tout?annee=' . $this->annee;
//echo" URL: $url<br/>";
//$widget['donnees']['stats'] = array();
$widget['donnees']['stats'] = json_decode(file_get_contents($url), true);
$widget['donnees']['annee'] = $this->annee;
$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/statistiques/squelettes/css/statistiques.css');
//echo "<pre>" . print_r($widget['donnees']['stats'], true) . "</pre>";
 
//echo "buad: " . $this->config['chemins']['baseURLAbsoluDyn'] . "<br/>";
//echo "CSS: " . $widget['donnees']['url_css'] . "<br/>";
$contenu = $this->traiterSquelettePhp($squelette, $widget['donnees']);
$this->envoyer($contenu);
}
private function collecterParametres() {
if (isset($_GET['annee']) && $_GET['annee'] != '') {
$this->annee = $_GET['annee'];
}
}
}
?>
/trunk/widget/modules/statistiques/config.defaut.ini
New file
0,0 → 1,3
[statistiques]
; URL de base des services web de DEL
baseURLServicesDelTpl = "http://localhost/service:del:0.1/"
/trunk/widget/Widget.php
47,11 → 47,15
// Gestion des erreurs
error_reporting(self::$config['parametres']['erreurNiveau']);
 
if (isset($_SERVER['REQUEST_URI']) && isset($_SERVER['QUERY_STRING'])) {
$url_morceaux = $this->parserUrl();
if (isset($url_morceaux[0])) {
$this->widget = $url_morceaux[0];
// hack car chez moi (mathias) je me retrouve avec $url_morceaux[0] = "delnomduwidget", pourtant j'ai le même .htaccess...
if (strpos($this->widget, ":") !== false) {
$this->widget = substr($this->widget, strpos($this->widget, ":") + 1);
}
self::$config['chemins']['widgetCourantDossier'] = self::$config['chemins']['widgetsDossier'].strtolower($this->widget).DIRECTORY_SEPARATOR;
$this->chargerWidgetConfig();
}