Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 967 → Rev 970

/trunk/jrest/services/PlantNetRssParEspece.php
File deleted
/trunk/jrest/services/InventoryItemList.php
File deleted
\ No newline at end of file
/trunk/jrest/services/PlantNetRss.php
File deleted
/trunk/jrest/services/InventoryStationList.php
File deleted
/trunk/jrest/services/NameParser.php
File deleted
/trunk/jrest/services/CodeAsync.php
File deleted
/trunk/jrest/services/UserOpenId.php
File deleted
/trunk/jrest/services/TestCreationDossier.php
File deleted
\ No newline at end of file
/trunk/jrest/services/InventoryImageExport.php
14,8 → 14,6
 
parent::__construct($config);
 
require_once('lib/zip.php');
 
$this->config=$config;
$this->extendSpreadsheetProductor = new SpreadsheetProductor();
$this->extendSpreadsheetProductor->initSpreadsheet();
26,7 → 24,6
$this->authentifier();
 
$tableau = array();
 
$tag = $uid[0];
 
$limite = 0;
/trunk/jrest/services/CelStatistique.php
76,6 → 76,7
$periode = 0;
$cumul = 0;
$img_totale_cumul = array();
foreach ($img_totale as $annee_mois => $nbre) {
$annee = substr($annee_mois, 0, 4);
$mois = substr($annee_mois, 4, 2);
/trunk/jrest/services/CelWidgetSaisie.php
110,6 → 110,7
$msg = (count($this->messages) > 0) ? 'erreur' : 'ok';
$retour = (object) array('msg' => $msg);
$this->envoyerJson($obj);
}
/trunk/jrest/services/CelMotCle.php
16,6 → 16,7
// TODO : compléter la classe avec des méthdodes de modification, suppression et consultation des mots-clés.
// TODO : ajout vérification de la non présence du caractère '|' dans les chaines utilisateurs...
class CelMotCle extends Cel {
const OBS_RACINE_ID = 'racine_obs';
const OBS_RACINE_NOM = 'Projets';
const OBS_TABLE_SUFFIXE = '_obs';
73,7 → 74,6
} else {
$this->messages[] = "Le tableau des ordres des obs ne contenait pas que des nombres entiers.";
}
return $retour;
}
/trunk/jrest/services/InventoryImportExcel.php
1,5 → 1,4
<?php
 
// In : utf8
// Out : utf8
 
43,11 → 42,8
define('LIGNE_NORMALE',2); //
define('LIGNE_IMAGE_SEULEMENT',3); //
 
// Parser de Nom
include('NameParser.php');
class InventoryImportExcel extends Cel {
 
Class InventoryImportExcel extends DBAccessor {
 
// Element constituant une observation
 
var $format_observation=array(COMMUNE ,LIEUDIT ,STATION , DEPARTEMENT, MILIEU ,LATITUDE ,LONGITUDE ,NOTES ,DATEOBS ,ESPECE ,TRANSMETTRE, IMAGE );
/trunk/jrest/services/InventoryImage.php
97,7 → 97,7
$gestionnaire_image = new GestionImage($this->config);
$id_utilisateur = $pairs['ce_utilisateur'];
if ($this->ajouterImage($id_utilisateur, $infos_fichier)) {
if ($gestionnaire_image->ajouterImage($id_utilisateur, $infos_fichier)) {
// l'upload demande de court-circuiter le fonctionnement normal de JREST
// en quittant directement après l'envoi
/trunk/jrest/services/Cel.php
614,6 → 614,38
return preg_match('/^INSEE-C:[0-9]{5}/',$code_a_tester);
}
protected function convertirCodeZoneGeoVersCodeInsee($code_zone_geo) {
$code_departement = '';
if($this->estUnCodeInseeDepartement($code_zone_geo)) {
$code_departement = ltrim($code_zone_geo,'INSEE-C:');
}
return $code_departement;
}
protected function convertirCodeInseeVersCodeZoneGeo($code_insee) {
return 'INSEE-C:'.$code_insee;
}
protected function obtenirCodeInseeCommunePourNomEtDepartement($nom_commune, $dpt) {
$code_insee = $dpt;
$requete = 'SELECT id_zone_geo FROM cel_zones_geo '.
'WHERE nom LIKE '.$this->proteger($nom_commune).' '.
'AND id_zone_geo LIKE "INSEE-C:'.$dpt.'%"';
$resultat = $this->requeter($requete);
if(is_array($resultat) && count($resultat) > 0) {
$code_insee = $resultat[0]['id_zone_geo'];
}
return $code_insee;
}
protected function encoderMotCle($mot_cle) {
return md5(mb_strtolower(trim($mot_cle)));
}
/trunk/jrest/services/CelStatistiqueTxt.php
79,6 → 79,7
$limitSql = 'LIMIT 0,150 ';
$zero_images = false;
if (count($this->parametres) != 0) {
extract($this->parametres);
/trunk/jrest/services/CelWidgetMap.php
60,6 → 60,7
* Les stations de la carte par défaut
*/
public function getStations($params) {
$json = null;
$requete = 'SELECT sector, x_utm, y_utm, wgs84_latitude AS commune_latitude, wgs84_longitude AS commune_longitude, '.
' coord_x AS point_latitude, coord_y AS point_longitude '.
/trunk/jrest/services/User.php
85,7 → 85,7
if ($this->identificationEstDemandee($uid)) {
if (!$utilisateur = $this->utilisateurEstIdentifie()) {
if ($this->IdentifierUtilisateur($uid[0],$uid[1],1)) {
if ($this->identifierUtilisateur($uid[0],$uid[1],1)) {
$utilisateur= $this->chargerInfosUtilisateur($uid[0]);
$utilisateur['connecte'] = true;
}
96,7 → 96,7
}
}
else {
$this->DeconnecterUtilisateur();
$this->deconnecterUtilisateur();
}
 
$this->envoyerInfosUtilisateur($utilisateur);
146,41 → 146,44
}
function utilisateurEstIdentifieCookie() {
return isset($_COOKIE["cel_name"]) && ($this->IdentifierUtilisateurSansEncryptionMotDePasse($_COOKIE["cel_name"], $_COOKIE["cel_password"])) ? $_COOKIE["cel_name"] : false;
return isset($_COOKIE["cel_name"]) && ($this->identifierUtilisateurSansEncryptionMotDePasse($_COOKIE["cel_name"], $_COOKIE["cel_password"])) ? $_COOKIE["cel_name"] : false;
}
 
function SetUtilisateur($user, $remember=1) {
function setUtilisateur($user, $remember=1) {
$_SESSION["user"] = $user;
$this->SetPersistentCookie("cel_id", $user["id"], $remember);
$this->SetPersistentCookie("cel_name", $user["name"], $remember);
$this->SetPersistentCookie("cel_password", $user["password"], $remember);
$this->SetPersistentCookie("cel_remember", $remember, $remember);
$this->setPersistentCookie("cel_id", $user["id_utilisateur"], $remember);
$this->setPersistentCookie("cel_name", $user["courriel"], $remember);
$this->setPersistentCookie("cel_password", $user["mot_de_passe"], $remember);
$this->setPersistentCookie("cel_remember", $remember, $remember);
print_r($_COOKIE);
}
 
function DeconnecterUtilisateur() {
function deconnecterUtilisateur() {
$_SESSION["user"] = "";
$this->SupprimerCookie("cel_id");
$this->SupprimerCookie("cel_name");
$this->SupprimerCookie("cel_password");
$this->SupprimerCookie("cel_remember");
$this->supprimerCookie("cel_id");
$this->supprimerCookie("cel_name");
$this->supprimerCookie("cel_password");
$this->supprimerCookie("cel_remember");
}
 
function SetPersistentCookie($name, $value, $remember = 1) {
SetCookie($name, $value, time() + ($remember ? 90*24*60*60 : 60 * 60),'/');
function setPersistentCookie($name, $value, $remember = 1) {
SetCookie($name, $value, time() + ($remember ? (60*60*24*100) : (60*60)),'/');
$_COOKIE[$name] = $value;
}
 
function SupprimerCookie($name) {
function supprimerCookie($name) {
SetCookie($name, "", 1,'/'); $_COOKIE[$name] = "";
}
 
function IdentifierUtilisateur($login, $mot_de_passe, $remember = 1) {
function identifierUtilisateur($login, $mot_de_passe, $remember = 1) {
$identification = false;
if ($utilisateur = $this->chargerInfosUtilisateur($login)) {
if ($utilisateur['mot_de_passe'] == $this->encrypterMotDePasse($mot_de_passe) || $mot_de_passe == "debug") {
$this->SetUtilisateur($utilisateur, $remember);
$this->setUtilisateur($utilisateur, $remember);
$identification = true;
}
}
188,13 → 191,13
return $identification;
}
 
function IdentifierUtilisateurSansEncryptionMotDePasse($login, $mot_de_passe, $remember = 1) {
function identifierUtilisateurSansEncryptionMotDePasse($login, $mot_de_passe, $remember = 1) {
$souvenir = false;
 
if ($utilisateur = $this->chargerInfosUtilisateur($login)) {
if ($utilisateur['mot_de_passe'] == $mot_de_passe) {
$this->SetUtilisateur($utilisateur, $remember);
$this->setUtilisateur($utilisateur, $remember);
$souvenir = true;
}
}
/trunk/jrest/services/InventoryKeyWordImageLink.php
New file
0,0 → 1,82
<?php
// declare(encoding='UTF-8');
/**
* PHP Version 5
*
* @category PHP
* @package jrest
* @author Aurélien Peronnet <aurelien@tela-botania.org>
* @copyright 2010 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @version SVN: <svn_id>
* @link /doc/jrest/
*/
/**
* in : utf8
* out : utf8
*
* Service de liaisons de mots clés à des images.
* Le service lie une ou plusieurs mots clés à une ou plusieurs images
*
*/
class InventoryKeyWordImageLink extends Cel {
public function getElement($uid) {
}
public function createElement($pairs) {
// Controle detournement utilisateur
session_start();
$this->controleUtilisateur($pairs['ce_utilisateur']);
if (!isset($pairs['mots_cles']) || !isset($pairs['images']) || !isset($pairs['ce_utilisateur'])) {
return;
}
$pairs['images'] = rtrim($pairs['images'],',');
$id_images = explode(',',$pairs['images']);
$pairs['mots_cles'] = rtrim($pairs['mots_cles'],',');
$mots_cles = explode(',',$pairs['mots_cles']);
// Pour le moment on ne peut que supprimer les mots clés et ajouter les nouveaux à cause du fonctionnement
// de l'arbre de mots clés des images
$gestionnaire_mots_cles = new LiaisonMotsCles($this->config,'images');
$suppression_liaison_mot_cle = $gestionnaire_mots_cles->supprimerToutesLiaisonsPourIdImageOuObs($pairs['ce_utilisateur'], $id_images);
$liaison_mot_cle = $gestionnaire_mots_cles->ajouterLiaisonMotsCles($pairs['ce_utilisateur'],$id_images, $mots_cles);
return $liaison_mot_cle;
}
 
public function deleteElement($uid){
$retour = false;
// Controle detournement utilisateur
session_start();
$this->controleUtilisateur($uid[0]);
if (!isset($uid[0]) || !isset($uid[1]) || !isset($uid[2]) || !$this->estUnIdentifiantMotCle($uid[2])) {
return;
}
$id_images = explode(',',$uid[1]);
$id_utilisateur = $uid[0];
$gestionnaire_mots_cles = new LiaisonMotsCles($this->config,'images');
$mots_cles = $gestionnaire_mots_cles->nettoyerMotsCles($uid[2]);
$mots_cles = explode(',',$mots_cles);
$suppression_liaison_mot_cle = $gestionnaire_mots_cles->supprimerLiaisonMotsClesEtRegenererIndexTexte($id_utilisateur, $id_images, $mots_cles);
 
return $suppression_liaison_mot_cle;
}
 
private function estUnIdentifiantMotCle($chaine) {
return trim($chaine) != '' && preg_match('/[0-9A-Z]+\.[0-9A-Z]+/i', $chaine);
}
}
?>
/trunk/jrest/services/CelSyndicationObservation.php
31,9 → 31,9
private $auteurs = array();
private $flux = array();
private $criteres = array(
'utilisateur' => 'identifiant',
'commune' => 'location',
'dept' => 'id_location',
'utilisateur' => 'ce_utilisateur',
'commune' => 'zone_geo',
'dept' => 'id_zone_geo',
'taxon' => 'nom_ret',
'commentaire' => 'commentaire',
'date' => 'date_observation',
369,6 → 369,7
}
private function creerSousRequeteMotsClesEt($mot_cle) {
$requete = 'mots_cles like "inexistant" OR';
$where = '';
$champs = 'a.cmc_id_proprietaire , ';
/trunk/jrest/services/InventoryKeyWordObsLink.php
70,7 → 70,7
$mots_cles = $gestionnaire_mots_cles->nettoyerMotsCles($uid[2]);
$mots_cles = explode(',',$mots_cles);
$suppression_liaison_mot_cle = $gestionnaire_mots_cles->supprimerLiaisonMotsCles($id_utilisateur, $ids_obs, $mots_cles);
$suppression_liaison_mot_cle = $gestionnaire_mots_cles->supprimerLiaisonMotsClesEtRegenererIndexTexte($id_utilisateur, $ids_obs, $mots_cles);
 
return $suppression_liaison_mot_cle;
}
/trunk/jrest/services/CelImageDoublon.php
67,6 → 67,7
* Carte par défaut
*/
private function getDoublonHtml($parametres) {
$widget = null;
$utilisateur = $this->getAuthIdentifiant();
 
/trunk/jrest/services/CoordSearch.php
21,11 → 21,11
parent::__construct($config);
$this->adresse_service_geonames = $this->config['cel_db']['url_service_geo_geonames'];
$this->adresse_service_local = $this->config['cel_db']['url_service_geo_local'];
$this->adresse_service_geonames = $this->config['cel']['url_service_geo_geonames'];
$this->adresse_service_local = $this->config['cel']['url_service_geo_local'];
$this->nom_service_geocoding = $this->config['cel_db']['nom_service_geocoding_geonames'];
$this->nom_service_reverse_geocoding = $this->config['cel_db']['nom_service_reverse_geocoding_geonames'];
$this->nom_service_geocoding = $this->config['cel']['nom_service_geocoding_geonames'];
$this->nom_service_reverse_geocoding = $this->config['cel']['nom_service_reverse_geocoding_geonames'];
}
 
/**
56,7 → 56,7
$retour = json_encode($informations_communes) ;
 
} elseif ($this->estUneRequeteGeocoding($params)) {
$informations_coord = $this->effectuerRequeteGeocodingGeonames($params['commune'],$params['code_postal'],$params['code_pays']);
 
$header = 'Content-Type: application/json; charset=UTF-8';
79,6 → 79,10
 
$commune = $this->affecterValeurParametreOuDefaut($params, 2, '*');
$code_postal = $this->affecterValeurParametreOuDefaut($params, 3, '*');
if(strlen($code_postal) > 2) {
$code_postal = substr($code_postal,0,2);
}
 
$code_pays = $this->affecterValeurParametreOuDefaut($params, 4, 'FR');
104,6 → 108,8
$infos_commune_json = @file_get_contents($this->url_service_geo_local."?lat=".$lat."&lon=".$lon);
$infos_commune = json_decode($infos_commune_json);
print_r($infos_commune);
$retour = false;
if ($this->estUnRetourOsmValide($infos_commune)) {