Subversion Repositories Sites.obs-saisons.fr

Compare Revisions

Ignore whitespace Rev 288 → Rev 289

/trunk/applications/jrest/services/Utilisateur.php
File deleted
\ No newline at end of file
/trunk/applications/jrest/services/OdsSpamCheck.php
New file
0,0 → 1,43
<?php
 
class OdsSpamCheck extends OdsTriple {
/**
* Méthode appelée avec une requête de type GET.
*
*/
function getElement($param = array()) {
$recherche = "SELECT mail, name, uid FROM drupal_users WHERE uid > 2000";
echo $recherche;
$liste_utilisateurs = $this->executerRequete($recherche);
$chaine = '<ul>';
$chaine_sql = "IN (";
foreach($liste_utilisateurs as $utilisateur) {
if($this->estPeutEtreUnSpam($utilisateur['mail'])) {
$chaine .= '<li>'.$utilisateur['name'].' '.$utilisateur['uid'].'</li>';
$chaine_sql .= '"'.$utilisateur['uid'].'", ';
}
}
$chaine .= '</ul>';
echo $chaine.'<br />';
$chaine_sql = rtrim($chaine_sql, ', ').')';
echo $chaine_sql;
}
function estPeutEtreUnSpam($mail) {
$recherche_google = $this->effectuerRechercheGoogle($mail);
return substr_count($recherche_google,"www.stopforumspam.com/") > 0 &&
substr_count($recherche_google, 'Aucun résultat trouvé pour '.$mail) <= 0;
}
function effectuerRechercheGoogle($mail) {
return @file_get_contents("http://www.google.fr/search?q=".$mail."&ie=utf-8");
}
}
?>
/trunk/applications/jrest/services/OdsTriple.php
9,11 → 9,8
function getElement($param = array()) {
$abreviation_demandee = $param[0];
$abreviation = $this->transformerParametreEnAbreviation($abreviation_demandee);
$info = $this->obtenirValeursListeParAbreviation($abreviation);
$info = $this->formaterListeTripleEnTableauCleValeur($info);
// Envoi sur la sortie standard
53,7 → 50,6
$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);
}
/trunk/applications/jrest/services/OdsSyndicationObservation.php
200,7 → 200,7
'AND DAY(oo_date) != "00" '.
'ORDER BY oo_date_modification DESC '.
"LIMIT $this->start,$this->limit ";
 
$elements = $this->executerRequete($requete);
// Création du contenu
354,7 → 354,7
private function creerAuteur($element) {
//TODO externaliser les champs dans le fichier de config
$requete_selection_auteur = 'SELECT * FROM ods_redesign.drupal_users '.
$requete_selection_auteur = 'SELECT * FROM drupal_users '.
'WHERE uid = '.$this->proteger($element);
$resultat_auteur = $this->executerRequete($requete_selection_auteur);
/trunk/applications/jrest/services/OdsEspece.php
32,17 → 32,38
/**
* Méthode appelée pour ajouter un élément.
*/
public function createElement($params) {
//TODO: méthode de création d'espèce spéciale aux admins
public function createElement($params) {
// fonction devant uniquement être appelée depuis le serveur
// lui-même, cad par l'application de saisie
$controle = new ControleUtilisateur($this->config);
$controle->controleAppelIpAutorisee();
 
$requete = 'INSERT INTO ods_especes ';
$champs = array('oe_id_espece');
$valeurs = array("''");
foreach($params as $param => $valeur) {
$champs[] = 'oe_'.$param;
$valeurs[] = $this->proteger($valeur);
}
$champs[] = 'oe_ce_climat';
$valeurs[] = $this->proteger(0);
$requete .= '('.implode(', ', $champs).') VALUES ('.implode(', ', $valeurs).')';
$ajout_espece = $this->executerRequeteSimple($requete);
if(!$ajout_espece) {
$retour['erreurs'] = 'erreur d\'ajout';
} else {
$retour = 'ok';
}
$this->envoyer($retour);
}
/**
* Méthode appelée pour mettre à jour un élément
*/
public function updateElement($uid, $params) {
public function updateElement($uid, $params) {
// fonction devant uniquement être appelée depuis le serveur
// lui-même, cad par l'application de saisie
$controle = new ControleUtilisateur($this->config);
/trunk/applications/jrest/services/OdsImageEspece.php
1,12 → 1,11
<?php
 
class OdsImageEspece extends JrestService {
class OdsImageEspece extends JRestService {
private $droits = 0755;
const PREFIXE = 'get';
 
public function OdsImageEspece($config) {
 
$this->config=$config;
}
33,6 → 32,52
// Envoi sur la sortie standard
echo 'OK';
}
/**
*
* Méthode appelée avec une requête de type POST.
*/
public function createElement($params) {
// fonction devant uniquement être appelée depuis le serveur
// lui-même, cad par l'application de saisie
$controle = new ControleUtilisateur($this->config);
$controle->controleAppelIpAutorisee();
$chemin_temp = $params['chemin'];
$nom_espece = $params['nom_fichier'];
$credits = $params['credits'];
$chemin_image_final = $this->stockerFichierOriginal($nom_espece, $chemin_temp);
$chemin_credits = $this->stockerCredits($nom_espece, $credits);
$this->creerMiniatures($nom_espece.'.jpg', $chemin_image_final);
echo json_encode('ok');
}
private function stockerFichierOriginal($nom_espece, $chemin_temp) {
$dossier = $this->config['appli']['chemin_stockage_images_especes'];
$chemin_dest = $dossier.'/'.$nom_espece.'.jpg';
copy($chemin_temp, $chemin_dest);
return $chemin_dest;
}
private function stockerCredits($nom_espece, $credits) {
$dossier = $this->config['appli']['chemin_stockage_images_especes'];
$chemin_dest = $dossier.'/'.$nom_espece.'.txt';
file_put_contents($chemin_dest, $credits);
}
public function creerMiniatures($nom_fichier, $chemin) {
$formats = array('CXS','XS','S','M');
$infos_image_originale = $this->obtenirImageEtInfosPourChemin($chemin);
// creation de miniatures pour chacuns des formats définis
foreach($formats as $format) {
$this->creerEtStockerMiniatureFichierImageSelonFormat($nom_fichier, $infos_image_originale, $format);
}
}
public function getRecreationMiniatures() {
61,9 → 106,9
$infos_image_originale = $this->obtenirImageEtInfosPourChemin($fichier_ou_dossier->getPathname());
// creation de miniatures pour chacuns des formats définis
// creation de miniatures pour chacuns des formats définis
foreach($formats as $format) {
$this->creerEtStockerMiniatureFichierImageSelonFormat($nom_fichier, $infos_image_originale, $format);
$this->creerEtStockerMiniatureFichierImageSelonFormat($nom_fichier, $infos_image_originale, $format);
}
}
}
101,8 → 146,8
imagecopyresampled($image_redimensionnee,
$infos_image_originale['image'],
0, 0,
$debut_largeur_a_copier,
$debut_hauteur_a_copier,
0,
0,
$largeur_redimension,
$hauteur_redimension,
$infos_image_originale['largeur'],
/trunk/applications/jrest/services/OdsUtilisateur.php
27,7 → 27,7
function getListeUtilisateur($pseudo, $start = false, $limite = false) {
$requete_selection_liste = 'SELECT * '.
'FROM ods_redesign.drupal_users '.
'FROM drupal_users '.
'WHERE name LIKE "'.$pseudo.'%" '.
'ORDER BY uid ';
 
53,9 → 53,9
$liste_utilisateurs_formatee = array();
$requete_infos_complementaires = 'SELECT * FROM ods_redesign.drupal_profile_values '.
'LEFT JOIN ods_redesign.drupal_profile_fields ON '.
'ods_redesign.drupal_profile_fields.fid = ods_redesign.drupal_profile_values.fid ';
$requete_infos_complementaires = 'SELECT * FROM drupal_profile_values '.
'LEFT JOIN drupal_profile_fields ON '.
'drupal_profile_fields.fid = drupal_profile_values.fid ';
$liste_infos_complementaires = $this->executerRequete($requete_infos_complementaires);
$liste_infos_complementaires_formatee = array();