/trunk/applications/jrest/services/OdsExport.php |
---|
File deleted |
\ No newline at end of file |
/trunk/applications/jrest/services/gPoint.php |
---|
File deleted |
/trunk/applications/jrest/services/OdsSpipVersDrupalMigration.php |
---|
File deleted |
\ No newline at end of file |
/trunk/applications/jrest/services/Utilisateur.php |
---|
File deleted |
\ No newline at end of file |
/trunk/applications/jrest/services/OdsUtilisateur.php |
---|
File deleted |
\ No newline at end of file |
/trunk/applications/jrest/services/OdsCommune.php |
---|
66,42 → 66,6 |
return $infos_communes_formatees; |
} |
private function getEstUneCommunePhenoclim() { |
return $this->estUneCommunePhenoclim($_GET); |
} |
private function estUneCommunePhenoclim($params) { |
$code_insee = null; |
$code_postal = null; |
if(!isset($params['code_postal']) && !isset($params['code_insee'])) { |
return false; |
} |
if(isset($params['code_postal'])) { |
$code_postal = $params['code_postal']; |
} |
if(isset($params['code_insee'])) { |
$code_insee = $params['code_insee']; |
} |
if($code_postal != null) { |
$requete_commune_phenoclim = 'SELECT occ_code_insee FROM ods_communes_crea WHERE occ_code_postal = '.$this->proteger($code_postal); |
} else { |
$requete_commune_phenoclim = 'SELECT occ_code_insee FROM ods_communes_crea WHERE occ_code_insee = '.$this->proteger($code_insee); |
} |
$resultat_requete_phenoclim = $this->executerRequete($requete_commune_phenoclim); |
if(!empty($resultat_requete_phenoclim)) { |
return true; |
} |
return false; |
} |
private function remplacerNomCommunePourRecherche($nom) { |
$nom = str_replace(' ','_',$nom); |
$nom = str_replace('-','_',$nom); |
128,8 → 92,6 |
if(strlen($cp_recherche) == 4) { |
$cp_recherche = '0'.$cp_recherche; |
} |
$commune_phenoclim = $this->estUneCommunePhenoclim(array('code_postal' => $cp_recherche)); |
$cp_recherche = substr($cp_recherche,0,2); |
138,17 → 100,14 |
$code_insee = $this->obtenirCodeInseeCommune($commune, $cp_recherche); |
} |
$infos_communes = array( |
return array( |
'commune' => $commune, |
'dpt' => $dpt, |
'lat' => $lat, |
'lon' => $lon, |
'alt' => $altitude, |
'code_insee' => $code_insee, |
'commune_phenoclim' => $commune_phenoclim |
'code_insee' => $code_insee |
); |
return $infos_communes; |
} |
170,32 → 129,17 |
$dpt = '0'.$dpt; |
} |
$commune_phenoclim = $this->estUneCommunePhenoclim(array('code_insee' => $commune['oc_code_insee'])); |
$infos_formatees[] = array( |
'commune' => $commune['oc_nom'], |
'dpt' => $dpt, |
'code_insee' => $commune['oc_code_insee'], |
'lat' => $commune['oc_latitude'], |
'lon' => $commune['oc_longitude'], |
'alt' => $commune['oc_altitude'], |
'code_insee' => $commune['oc_code_insee'], |
'commune_phenoclim' => $commune_phenoclim |
'lon' => $commune['oc_longitude'] |
); |
} |
return $infos_formatees; |
} |
public function obtenirNomCommuneParCodeInsee($code_insee_commune) { |
if(!is_numeric($code_insee_commune)) { |
return ''; |
} |
$requete_infos_commune = 'SELECT * FROM ods_communes WHERE oc_code_insee = '.$this->proteger($code_insee_commune); |
$infos_commune = $this->executerRequete($requete_infos_commune); |
return $infos_commune[0]['oc_nom']; |
} |
private function obtenirCodeInseeCommune($commune, $cp) { |
$commune = $this->remplacerNomCommunePourRecherche($commune); |
/trunk/applications/jrest/services/OdsEspece.php |
---|
165,24 → 165,6 |
return $especes_par_type; |
} |
public function getToutesEspeces() { |
$requete_toute_espece = 'SELECT * FROM ods_especes'; |
$liste_espece = $this->executerRequete($requete_toute_espece); |
$liste_type_espece = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_TYPE_ESPECE); |
$especes_par_id = array(); |
foreach($liste_espece as $espece) { |
$espece = $this->formaterTableauEspecePourEnvoi($espece); |
$especes_par_id[$espece['id_espece']] = $espece; |
} |
return $especes_par_id; |
} |
private function formaterTableauEspecePourEnvoi($espece) { |
return array( |
/trunk/applications/jrest/services/OdsEvenement.php |
---|
72,18 → 72,6 |
private function getElementParDefaut($param) { |
} |
private function getTousEvenements($params) { |
$requete_liste_evenements_pour_espece = 'SELECT * FROM ods_triples '. |
'WHERE ot_ce_parent = 12'; |
$liste_evenements_pour_espece = $this->executerRequete($requete_liste_evenements_pour_espece); |
$liste_evenements_pour_espece_formatee = $this->formaterTableauEvenementPourEnvoiParId($liste_evenements_pour_espece); |
return $liste_evenements_pour_espece_formatee; |
} |
private function getEvenementsPourEspece($params) { |
113,30 → 101,6 |
return $liste_evenements_pour_espece_formatee; |
} |
private function formaterTableauEvenementPourEnvoiParId($liste_evenements) { |
$tableau_evenements_formate = array(); |
foreach($liste_evenements as $evenement) { |
$identifiant_stade = $evenement['ot_id_triple']; |
$stade_observation_complet = $evenement['ot_cle']; |
$infos_stades = $this->renvoyerInformationStadeAPartirChaineTriple($stade_observation_complet); |
$titre_stade = $infos_stades['nom']; |
$numero_stade = $infos_stades['numero']; |
$abreviation_stade = $infos_stades['abreviation']; |
$tableau_evenements_formate[$identifiant_stade]['code'] = $numero_stade; |
$tableau_evenements_formate[$identifiant_stade]['nom'] = $titre_stade; |
} |
return $tableau_evenements_formate; |
} |
private function formaterTableauEvenementPourEnvoi($liste_evenements) { |
$tableau_evenements_formate = array(); |
/trunk/applications/jrest/services/OdsSyndicationObservation.php |
---|
188,7 → 188,6 |
// Construction de la requête |
$requete = 'SELECT * '. |
'FROM ods_observations '. |
'WHERE oo_ce_participant != '.$this->config['appli']['id_participant_demo'].' '. |
'ORDER BY oo_date_modification DESC '. |
"LIMIT $this->start,$this->limit "; |
292,7 → 291,7 |
private function creerAuteur($element) { |
//TODO externaliser les champs dans le fichier de config |
$requete_selection_auteur = 'SELECT name FROM drupal_users '. |
$requete_selection_auteur = 'SELECT name FROM ods_redesign.drupal_users '. |
'WHERE uid = '.$this->proteger($element); |
$resultat_auteur = $this->executerRequete($requete_selection_auteur); |
311,15 → 310,11 |
$resultat_commune = $this->executerRequete($requete_commune_pour_station); |
$commune = $resultat_commune[0]['os_ce_commune']; |
if(is_numeric($commune)) { |
$requete_lieu = 'SELECT * FROM ods_communes '. |
'WHERE oc_code_insee = '.$this->proteger($commune); |
$requete_lieu = 'SELECT * FROM ods.COMMUNE '. |
'WHERE COMMUNE_NOM = '.$this->proteger($commune); |
$resultat_lieu = $this->executerRequete($requete_lieu); |
$lieu = $resultat_lieu[0]['oc_nom']. ' ('.substr($commune,0,2).')'; |
} else { |
$lieu = $commune; |
} |
$resultat_lieu = $this->executerRequete($requete_lieu); |
$lieu = $resultat_lieu[0]['COMMUNE_NOM']. ' ('.$resultat_lieu[0]['COMMUNE_CODEPOSTAL'].')'; |
$description = "Observé à $lieu"; |
$description = $this->nettoyerTexte($description); |
/trunk/applications/jrest/services/GestionTriple.php |
---|
New file |
0,0 → 1,83 |
<?php |
class GestionTriple extends JRestService { |
protected function obtenirValeursListeParId($id_liste) { |
$requete = 'SELECT * FROM ods_triple WHERE ot_ce_parent ='.$this->proteger($id_liste); |
$resultat = $this->executerRequete($requete); |
return $resultat; |
} |
protected function obtenirValeursListeParAbreviation($abreviation_triple) { |
$requete = 'SELECT * FROM ods_triples WHERE ot_ce_parent = (SELECT ot_id_triple FROM ods_triples WHERE ot_cle ='.$this->proteger($abreviation_triple).')'; |
$resultat = $this->executerRequete($requete); |
return $this->grouperResultat($resultat); |
} |
protected function obtenirValeurTripleParId($id_triple) { |
$requete = 'SELECT * FROM ods_triple WHERE ot_id_triple = '.$this->proteger($id_triple); |
$resultat = $this->executerRequete($requete); |
return $resultat['ot_valeur']; |
} |
protected function obtenirValeurTripleParAbreviation($abreviation_triple) { |
$requete = 'SELECT * FROM ods_triple WHERE ot_cle = '.$this->proteger($abreviation_triple); |
$resultat = $this->executerRequete($requete); |
return $resultat['ot_valeur']; |
} |
private function grouperResultat($tableau_resultat_requete_triple) { |
$tableau_resultat_requete_triple_ordonne = array(); |
foreach($tableau_resultat_requete_triple as $valeur_triple) { |
$tableau_resultat_requete_triple_ordonne[$valeur_triple['ot_id_triple']] = $valeur_triple; |
} |
return $tableau_resultat_requete_triple_ordonne; |
} |
protected function renvoyerInformationStadeAPartirChaineTriple($stade_observation_complet) { |
$infos_stades = split('_',$stade_observation_complet); |
$titre_numero_stade = array('nom','abreviation','numero'); |
if($this->estUnEvenementAvecDesSousStades($stade_observation_complet)) { |
$titre_numero_stade['nom'] = $infos_stades[1]; |
$titre_numero_stade['numero'] = $infos_stades[3]; |
$titre_numero_stade['abreviation'] = $infos_stades[1]; |
} else { |
$titre_numero_stade['nom'] = $infos_stades[1].' '.$infos_stades[2]; |
$titre_numero_stade['abreviation'] = $infos_stades[1].'_'.$infos_stades[2]; |
$titre_numero_stade['numero'] = ''; |
} |
return $titre_numero_stade; |
} |
protected function estUnEvenementAvecDesSousStades($evenement) { |
$infos_stades = split('_',$evenement); |
if(count($infos_stades) <= 3) { |
return false; |
} |
return true; |
} |
} |
?> |
/trunk/applications/jrest/services/JRestService.php |
---|
163,7 → 163,7 |
return $sortie; |
} |
protected function traiterParametres($params_attendu, $params, $pourBDD = true) { |
protected function traiterParametresUrl($params_attendu, $params, $pourBDD = true) { |
$sortie = array(); |
foreach ($params_attendu as $num => $nom) { |
if (isset($params[$num]) && $params[$num] != '*') { |
176,10 → 176,12 |
return $sortie; |
} |
protected function traiterNomMethodeGet($nom) { |
$methode = 'get'; |
$methode .= str_replace(' ', '', ucwords(str_replace('-', ' ', strtolower($nom)))); |
return $methode; |
protected function traiterParametresPost($params) { |
$sortie = array(); |
foreach ($params as $cle => $valeur) { |
$sortie[$cle] = $this->bdd->quote($valeur); |
} |
return $sortie; |
} |
protected function getIdentification(&$params) { |
261,56 → 263,6 |
// Retourne le contenu |
return $sortie; |
} |
/** |
* Fonction nettoyant les caractères spéciaux HTML pour les champs de saisie libre du CEL. |
*/ |
protected function protegerCaracteresHtmlDansChamps($donnees) { |
$champs = array('ci_meta_mots_cles', 'ci_meta_comment', |
'mots_cles', 'location', 'lieudit', 'station', 'milieu', 'commentaire', 'nom_sel'); |
foreach ($champs as $champ) { |
if (isset($donnees[$champ])) { |
$donnees[$champ] = htmlspecialchars($donnees[$champ]); |
} |
} |
return $donnees; |
} |
protected function convertirDateHeureMysqlEnTimestamp($date_heure_mysql){ |
$val = explode(' ', $date_heure_mysql); |
$date = explode('-', $val[0]); |
$heure = explode(':', $val[1]); |
return mktime((int)$heure[0], $heure[1], $heure[2], $date[1], $date[2], $date[0]); |
} |
protected function etreNull($valeur) { |
$etre_null = false; |
if ($valeur == '' || $valeur == null || $valeur == '000null' || $valeur == 'null') { |
$etre_null = true; |
} |
return $etre_null; |
} |
protected function formaterDate($date_heure_mysql, $format = '%A %d %B %Y à %H:%M') { |
$date_formatee = ''; |
if (!$this->etreNull($date_heure_mysql)) { |
$timestamp = $this->convertirDateHeureMysqlEnTimestamp($date_heure_mysql); |
$date_formatee = strftime($format, $timestamp); |
} |
return $date_formatee; |
} |
/** |
* Fonction nettoyant les caractères spéciaux (&,<) et les valeurs nulles du CEL dans un texte comprenant du HTML. |
*/ |
protected function nettoyerTexte($txt) { |
$txt = preg_replace('/&(?!([a-z]+|#[0-9]+|#x[0-9][a-f]+);)/i', '&', $txt); |
// TODO : trouver une regexp qui permet de remplacer les symboles < et > isolés |
//$txt = preg_replace('/<(?!([a-z][a-z0-9]*)\b[^>]*>(.*?)<\/\1>|\/\s*([a-z][a-z0-9]*)\s*>)/i', '<', $txt); |
//$txt = preg_replace('/(?!<([a-z][a-z0-9]*)\b[^>]*)>(?!(.*?)<\/\1>)/i', '>', $txt); |
$txt = preg_replace('/(?:000null|null)/i', '', $txt); |
return $txt; |
} |
/** |
* Fonction chargeant le contenu du squelette et remplaçant les tags court php (<?= ...) par un tag long avec echo. |
/trunk/applications/jrest/services/squelettes/rss1.tpl.xml |
---|
14,7 → 14,7 |
<channel rdf:about="<?=$guid?>"> |
<title><?=$titre?></title> |
<link><?=$lien_ods?></link> |
<link><?=$lien_coel?></link> |
<description><?=$description?></description> |
<dc:publisher><?=$editeur?></dc:publisher> |
<dc:date><?=$date_maj_W3C?></dc:date> |
/trunk/applications/jrest/services/squelettes/rss2.tpl.xml |
---|
1,19 → 1,19 |
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";?> |
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> |
<channel> |
<title><?=$titre; ?></title> |
<link><?=$lien_ods; ?></link> |
<atom:link href="<?= $lien_service; ?>" rel="self" type="application/rss+xml" /> |
<description><?=$description; ?></description> |
<title><?=$titre?></title> |
<link><?=$lien_coel?></link> |
<atom:link href="<?=$lien_service?>" rel="self" type="application/rss+xml" /> |
<description><?=$description?></description> |
<?php if (isset($items)) : ?> |
<?php foreach ($items as $item) : ?> |
<item> |
<guid><?=$item['guid']; ?></guid> |
<title><?=$item['titre']; ?></title> |
<link><?=$item['lien']; ?></link> |
<description><?=$item['description_encodee']; ?></description> |
<pubDate><?=$item['date_maj_RSS']; ?></pubDate> |
<guid><?=$item['guid']?></guid> |
<title><?=$item['titre']?></title> |
<link><?=$item['lien']?></link> |
<description><?=$item['description_encodee']?></description> |
<pubDate><?=$item['date_maj_RSS']?></pubDate> |
</item> |
<?php endforeach; ?> |
<?php endif; ?> |
/trunk/applications/jrest/services/squelettes/atom.tpl.xml |
---|
2,7 → 2,7 |
<feed xmlns="http://www.w3.org/2005/Atom"> |
<title><?=$titre?></title> |
<link href="<?=$lien_ods?>" rel="alternate" type="text/html" hreflang="fr" /> |
<link href="<?=$lien_coel?>" rel="alternate" type="text/html" hreflang="fr" /> |
<link href="<?=$lien_service?>" rel="self" type="application/atom+xml"/> |
<updated><?=$date_maj_ATOM?></updated> |
<author> |
/trunk/applications/jrest/jrest.ini.php |
---|
1,22 → 1,6 |
;<?/* |
[settings] |
baseURL = "/obs_saisons/applications/jrest/" |
; URL de base absolue du Jrest ODS |
baseURLAbsolu = "http://www.obs-saisons.fr/redesign/applications/jrest/" |
; URL de base absolue du Jrest du ODS construit dynamiquement |
baseURLAbsoluDyn = "http://www.obs-saisons.fr/redesign/applications/jrest/%s" |
; Url absolue du CEL |
odsSaisieUrlAbsolu = "http://www.obs-saisons.fr/redesign/node/15" |
; Indication du nom de l'éditeur pour les flux de syndication |
editeur = "Observatoire des saisons" |
; Format du Guid du CEL pour les flux de syndication principalement |
guidObsTpl = "urn:lsid:obs-saisons.fr:saisie:%s" |
;Format du Guid des images pour les flux de syndication |
guidImgTpl = "%s" |
; Indication de la locale (setLocale(LC_ALL, ?)) pour les classes héritant |
locale = "fr_FR.UTF-8" |
; Indication du fuseau horraire par d�faut date_default_timezone_set(?)pour les classes héritant |
fuseauHoraire = "Europe/Paris" |
; Default |
[appli] |
25,19 → 9,6 |
password = Canard |
hostspec = localhost |
database = ods_saisie |
format_date = d/m/Y |
locale = fr_FR |
chemin_fichiers_temp = /home/aurelien/web/file_tmp |
id_participant_demo = 4 |
format_M = 400_300 |
format_S = 150_100 |
format_XS = 75_50 |
format_CXS = 60_60 |
taille_max = 2097152 |
couleur_fond_carre = CFCFCF |
chemin_stockage_images_especes = /opt/lampp/htdocs/obs_saisons/documents/images_especes |
; LOGS |
[log] |
cheminlog = "/home/aurelien/Logs/" |