Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1795 → Rev 1796

/trunk/commun/MotsClesImage.php
New file
0,0 → 1,40
<?php
namespace TelaBotanica\Del\Commun;
/**
* @author Raphaël Droz <raphael@tela-botanica.org>
* @author Aurélien PERONNET <aurelien@tela-botanica.org>
* @copyright Copyright (c) 2013, Tela Botanica (accueil@tela-botanica.org)
* @license Licence CECILL http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt
* @license Licence GNU-GPL http://www.gnu.org/licenses/gpl.html
* @see http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=ApiIdentiplante01Images
*/
class MotsClesImage {
 
// cf: images/VotesImage.php
static function updateStats($db, $id_image) {
$id_image = intval($id_image);
if (!$id_image) {
$msg = "Ne peut mettre à jour les statistiques de vote";
throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR);
}
 
// on utilise toujours cette table de stats (ListeImages) pour les mots-clef "actif".
$requete = 'UPDATE del_image_stat '.
"SET nb_tags = (SELECT COUNT(id_tag) FROM del_image_tag WHERE ce_image = $id_image AND actif = 1) ".
"WHERE ce_image = $id_image ".
' -- '.__FILE__.' : '.__LINE__;
$db->requeter($requete);
}
 
//TODO: déplacer les fonctions ci dessus et dessous dans une classe utilitaire
static function normaliserMotCle($motCle, $charset='utf-8') {
$motCle = trim($motCle);
$str = htmlentities($motCle, ENT_NOQUOTES, $charset);
$str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str);
$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. '&oelig;'
$str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères
$str = str_replace(array(' ', '-', "'"), '_', $str);// supprime les espaces, tirets et simple-quotes en underscores
//TODO Voir si on doit mettre en minuscule : $str = mb_strtolower($str);
return $str;
}
}
/trunk/commun/Stats.php
60,5 → 60,4
number_format($moyennePonderee, 3, '.', ''), $nbVotes, $nbPoints));
 
}
}
?>
}