New file |
0,0 → 1,37 |
<?php |
/** |
* @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 MotClePictoflora { |
|
// cf: images/VotesImage.php |
static function updateStats($db, $id_image) { |
$id_image = intval($id_image); |
if(!$id_image) throw new Exception("Ne peut mettre à jour les statistiques de vote", |
RestServeur::HTTP_CODE_ERREUR); |
|
// on utilise toujours cette table de stats (ListeImages) pour les mots-clef "actif". |
$db->requeter(sprintf('UPDATE del_image_stat SET nb_tags = (select COUNT(id_tag) FROM del_image_tag WHERE ce_image = %1$d AND actif = 1) WHERE ce_image = %1$d', $id_image)); |
} |
|
//TODO: déplacer les fonctions ci dessus et dessous dans une classe |
// utilitaire |
static function normaliserMotCle($str, $charset='utf-8') { |
$str = htmlentities($str, 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. 'œ' |
$str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères |
// supprime les espaces, tirets et simple-quotes en underscores |
return str_replace(array(" ", "-", "'"), |
array('_', '_', '_'), |
$str); |
|
return mb_strtolower($str); |
} |
} |