24,7 → 24,7 |
* Méthode appelée avec une requête de type GET. |
*/ |
public function getElement($param) { |
$info = null; |
$html = null; |
|
if (isset($param[0])) { |
$service_demande = array_shift($param); |
31,13 → 31,13 |
$this->parametres = $param; |
$methode = 'get'.$service_demande; |
if (method_exists($this, $methode)) { |
$info = $this->$methode(); |
$html = $this->$methode(); |
} |
} else { |
$this->messages[] = "Le service COEL Statistique nécessite un paramètre."; |
} |
|
print $info; |
$this->envoyerHTML($html); |
} |
|
private function getAccueil() { |
48,11 → 48,11 |
|
private function getNombreDonnees() { |
// Récupération des données |
$types = array( array('Commentaires', 'coel_commentaire', 'ccm_id_commentaire'), |
array('Publications', 'coel_publication', 'cpu_id_publication'), |
array('Personnes', 'coel_personne', 'cp_id_personne'), |
array('Collections', 'coel_collection', 'cc_id_collection'), |
array('Structures', 'coel_structure', 'cs_id_structure')); |
$types = array( array('Commentaires', 'commentaire', 'ccm'), |
array('Publications', 'publication', 'cpu'), |
array('Personnes', 'personne', 'cp'), |
array('Collections', 'collection', 'cc'), |
array('Structures', 'structure', 'cs')); |
$donnees = array(); |
foreach ($types as $info) { |
list($type, $table, $champ) = $info; |
77,9 → 77,32 |
'&chxl='.'0 :|'.$etiquettes.'|'. |
'&chm=N ** ,000000,0,-1,10'. |
'&chtt='.$titre; |
return '<img src="'.$url.'"/>'; |
|
// Retour du html contenant l'image |
$sortie = '<img src="'.$url.'"/>'; |
return $sortie; |
} |
|
private function executerRequeteNombre($entite, $abr) { |
$table = 'coel_'.$entite; |
$champ_id = $abr.'_id_'.$entite; |
$champ_projet = $abr.'_ce_projet'; |
$projet_id = (isset($this->parametres[0]) ? $this->bdd->quote($this->parametres[0]) : null); |
|
$requete = "SELECT COUNT($champ_id) AS nbre ". |
"FROM $table ". |
(is_null($projet_id) ? '' : "WHERE $champ_projet = $projet_id "); |
try { |
$nbre = $this->bdd->query($requete)->fetchColumn(); |
if ($nbre === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
} |
return $nbre; |
} |
|
private function getMesDonnees() { |
$personne_id = (isset($this->parametres[0]) ? $this->parametres[0] : null); |
// Récupération des données |
99,7 → 122,7 |
} |
|
// Post traitement des données de la base de données |
$titre = str_replace(' ', '+', 'Ma participation'); |
$titre = str_replace(' ', '+', 'Ma participation tous projets confondus'); |
$max_global = array(); |
$ensembles_donnees = array(); |
foreach ($donnees as $ensemble_donnees) { |
123,7 → 146,7 |
// Construire de l'url de l'image |
$url = 'http://chart.apis.google.com/chart?'. |
'cht=bhs'. |
'&chs=300x180'. |
'&chs=320x180'. |
'&chbh=a,2,4'. |
'&chco=66B032,FABC02,FE2712'. |
'&chdl='.$legende. |
134,14 → 157,38 |
'&chxl='.'0:|'.$etiquettes.'|1:|'.$etiquettes_x. |
'&chm=N,000000,0,-1,10,1|N,000000,1,-1,10,1|N,000000,2,-1,10,1'. |
'&chtt='.$titre; |
return '<img src="'.$url.'"/>'; |
|
// Retour du html contenant l'image |
$sortie = '<img src="'.$url.'"/>'; |
return $sortie; |
} |
|
private function executerRequeteNombreDansHistorique($table_identifiants, $etat, $personne_id = null) { |
$requete = "SELECT COUNT(cmhl_date_modification) AS nbre ". |
"FROM coel_meta_historique_ligne ". |
"WHERE cmhl_ce_table IN ($table_identifiants) ". |
" AND cmhl_ce_etat = $etat ". |
(isset($personne_id) ? " AND cmhl_ce_modifier_par = $personne_id " : ''); |
try { |
$nbre = $this->bdd->query($requete)->fetchColumn(); |
if ($nbre === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
} |
return $nbre; |
} |
|
private function getTypeDepot() { |
// Récupération des paramêtres |
$projet_id = (isset($this->parametres[0]) ? $this->bdd->quote($this->parametres[0]) : null); |
|
// Récupération des données |
$requete = 'SELECT cmlv_nom AS type, COUNT(cc_ce_type_depot) AS nbre '. |
'FROM coel_collection '. |
' LEFT JOIN coel_meta_liste_valeur ON (cc_ce_type_depot = cmlv_id_valeur) '. |
( is_null($projet_id) ? '' : "WHERE cc_ce_projet = $projet_id "). |
'GROUP BY cc_ce_type_depot'; |
try { |
$infos = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC); |
156,8 → 203,13 |
$titre = str_replace(' ', '+', 'Type de dépôt|des collections'); |
$donnees = array(); |
foreach ($infos as $info) { |
$donnees[$info['type']] = $info['nbre']; |
if ($info['type'] != '') { |
$cle = $info['type']; |
} else { |
$cle = 'Non renseigné'; |
} |
$donnees[$cle] = $info['nbre']; |
} |
asort($donnees); |
$valeurs = implode(',', $donnees); |
arsort($donnees); |
177,7 → 229,8 |
'&chts=000000,12'; |
|
// Retour du html contenant l'image |
return '<img src="'.$url.'"/>'; |
$sortie = '<img src="'.$url.'"/>'; |
return $sortie; |
} |
|
private function getNombreCollectionParStructure() { |
248,7 → 301,7 |
|
// Retour du html contenant l'image |
$sortie = '<img src="'.$url.'"/>'; |
$this->envoyerHTML($sortie); |
return $sortie; |
} |
|
private function getNombrePartParStructure() { |
330,7 → 383,7 |
|
// Retour du html contenant l'image |
$sortie = '<img src="'.$url.'"/>'; |
$this->envoyerHTML($sortie); |
return $sortie; |
} |
|
private function getNombrePartParCollection() { |
416,7 → 469,7 |
// Retour du html contenant l'image |
$sortie = '<img src="'.$url.'"/>'; |
} |
$this->envoyerHTML($sortie); |
return $sortie; |
} |
|
private function getNombreCollectionParDepartement() { |
485,7 → 538,7 |
} else { |
$this->messages[] = "Veuillez sélectionner un projet pour voir le graphique."; |
} |
$this->envoyerHTML($sortie); |
return $sortie; |
} |
|
private function getNombreCollectionParTypeStructure() { |
557,7 → 610,7 |
// Retour du html contenant l'image |
$sortie = '<img src="'.$url.'"/>'; |
} |
$this->envoyerHTML($sortie); |
return $sortie; |
} |
|
private function getNombreCollectionParPeriode() { |
651,7 → 704,7 |
// Retour du html contenant l'image |
$sortie = '<img src="'.$url.'"/>'; |
} |
$this->envoyerHTML($sortie); |
return $sortie; |
} |
|
private function getNombreHerbierParType() { |
737,36 → 790,6 |
// Retour du html contenant l'image |
$sortie = '<img src="'.$url.'"/>'; |
} |
$this->envoyerHTML($sortie); |
return $sortie; |
} |
|
private function executerRequeteNombreDansHistorique($table_identifiants, $etat, $personne_id = null) { |
$requete = "SELECT COUNT(cmhl_date_modification) AS nbre ". |
"FROM coel_meta_historique_ligne ". |
"WHERE cmhl_ce_table IN ($table_identifiants) ". |
" AND cmhl_ce_etat = $etat ". |
(isset($personne_id) ? " AND cmhl_ce_modifier_par = $personne_id " : ''); |
try { |
$nbre = $this->bdd->query($requete)->fetchColumn(); |
if ($nbre === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
} |
return $nbre; |
} |
|
private function executerRequeteNombre($table, $champ) { |
$requete = "SELECT COUNT($champ) AS nbre FROM $table"; |
try { |
$nbre = $this->bdd->query($requete)->fetchColumn(); |
if ($nbre === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
} |
return $nbre; |
} |
} |