18,7 → 18,7 |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | along with Del; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: effi_cel.action.php,v 1.9 2007-11-06 10:54:03 jp_milcent Exp $ |
33,6 → 33,9 |
* @version $Revision: 1.9 $ $Date: 2007-11-06 10:54:03 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
// TODO : conteneur, n'étendra plus rien |
// Le contenu viendra du constructeur |
class Images extends Commun { |
|
private $config; |
57,18 → 60,26 |
$this->idImage = $ressources[0]; |
} |
|
//TODO : enlever les appels par référence |
// Gestion des configuration du script |
// TODO : gérer les erreurs de config |
// voir les paramètres par défaut |
// vérifier les valeurs (voir try catch JP) |
// TODO : voir la classe Conteneur |
$this->config = Config::get('images'); |
$this->schemaBdd = $this->config['schemaBdd']; |
$this->UrlNavigation = new Url($this->config['url_service']); |
$this->chargerParametres($parametres); |
|
// TODO : voir CEL ou CHORODEP eflore ou CARTOPOINT pour calc find rows |
$this->compterImages(); |
|
// Lancement du service |
// TODO : changer le résultat par id => objetImage |
$liaisons = $this->chargerLiaisons(); |
$images = $this->chargerImage($liaisons); |
|
//TODO : gérer un retour de chargervote plutot que référence |
$this->chargerVotes($images); |
|
// Mettre en forme le résultat et l'envoyer pour affichage |
95,6 → 106,8 |
$this->limite = $this->parametres['navigation.limite']; |
} |
|
|
// TODO : voir méthode gérer Masque pour gérer les spécificités de chaque paramètre |
foreach ($parametres as $id => $parametre) { |
if (strpos($id, 'masque.') === 0) { |
$champ = substr($id, 7, strlen($id)); |
115,6 → 128,8 |
* */ |
private function chargerClauseWhere() { |
$where = array(); |
|
// TODO : factoriser ci-dessous |
if (isset($this->idImage)) { |
$where[] = " id_image = ".$this->getBdd()->proteger($this->idImage); |
} |
147,9 → 162,11 |
} else { |
if (strpos($auteurId, '@') === false) { |
|
// TODO : bug sur nom/prenom |
// TODO : j'ai utilisé implode car ça évite de faire un rtrim à la fin |
// mais comme je ne peux pas protéger chaque valeur d'un tableau, ca alourdit le code. |
// quid ? |
// TODO : voir méthode pour protéger les valeurs d'un tableau (cel.php, services web du cel ...) |
$nomPrenom = explode(' ', $auteurId); |
foreach ($nomPrenom as &$valeur) { |
$valeur = $this->getBdd()->proteger($valeur); |
165,6 → 182,7 |
|
//TODO : gérer le format de la date ? |
// rechercher sur LIKE DATE % ? |
// TODO : recherche sur JOUR MOIS ou ANNEE |
if (isset($this->masque['date'])) { |
$where[] = " date_observation = ".$this->getBdd()->proteger($this->masque['date']); |
} |
175,10 → 193,12 |
} |
|
if (isset($this->masque['departement'])) { |
//TODO : que faire si le département n'est pas numérique ? |
$dept = $this->masque['departement']; |
if (is_numeric($dept)) { |
$where[] = " ce_zone_geo LIKE ".$this->getBdd()->proteger('INSEE-C:'.$this->masque['departement'].'%'); |
} else { |
//TODO : que faire si le département n'est pas numérique ? |
// TODO : modifier le modèle pour intégrer les zones geos ! |
} |
} |
|
197,6 → 217,8 |
* Compter le nombre total d'images dans la base pour affichage dans entete. |
* */ |
private function compterImages() { |
// TODO : n'est pas la bonne requête |
// voir dans les services web eflore |
$requeteNbImages = 'SELECT COUNT(*) AS nb '. |
'FROM '.$this->schemaBdd.'.del_image '; |
$resultatNbImages = $this->getBdd()->recuperer($requeteNbImages); |
257,6 → 279,8 |
'WHERE ce_image IN ('.$chaineImageIds.')'; |
$resultatsVotes = $this->getBdd()->recupererTous($requeteVotes); |
|
|
//TODO : faire une méthode formater vote |
$votes = array(); |
foreach ($resultatsVotes as $vote) { |
$idImage = $vote['ce_image']; |
289,6 → 313,8 |
* */ |
private function formaterObservation($liaison) { |
$observation = array(); |
|
// TODO : faire un tableau de correspondance clé-valeur |
$observation['id_observation'] = $liaison['id_observation']; |
$observation['date_observation'] = $liaison['date_observation']; |
$observation['date_transmission'] = $liaison['date_transmission']; |