Accéder au contenu.
Menu Sympa

devel - [Devel] r424 - trunk

Objet : devel-adl

Archives de la liste

[Devel] r424 - trunk


Chronologique Discussions 
  • From: svn AT agendadulibre.org
  • To: devel AT agendadulibre.org
  • Subject: [Devel] r424 - trunk
  • Date: Mon, 23 Feb 2009 22:27:42 +0100 (CET)
  • List-archive: <http://agendadulibre.org/pipermail/devel>
  • List-id: Developpement de l'Agenda du Libre <devel.agendadulibre.org>

Author: thomas
Date: Mon Feb 23 22:27:41 2009
New Revision: 424

Log:
Correction de la recherche par tag dans la base de données. Jusqu'à
maintenant, on utilisait un simple :

where tags like '%VALEURDUTAG%'

pour faire une recherche. Ce qui veut dire qu'en spécifiquant le tag
"plug", on se retrouvait avec tous les évènements dont la liste des
tags contenait "plug", comme par exemple les évènements taggés
"epplug". Ce commit modifie ces requêtes pour utiliser :

where concat(' ', tags, ' ') like '% VALEURDUTAG %'

qui fait a priori correctement le travail.

Merci à Gregory Colpart <reg AT evolix.fr> d'avoir reporté l'anomalie.

Modified:
trunk/ical.php
trunk/listevents.php
trunk/rss.php
trunk/textlist.php
trunk/xmllistevents.php

Modified: trunk/ical.php
==============================================================================
--- trunk/ical.php Mon Feb 23 22:25:21 2009 (r423)
+++ trunk/ical.php Mon Feb 23 22:27:41 2009 (r424)
@@ -41,7 +41,7 @@
$sql .= " AND ((region=" . $region . ") OR (locality=1))";

if ($tag != "")
- $sql .= " AND (tags like '%" . $tag . "%')";
+ $sql .= " AND (concat(' ', tags, ' ') like '% " . $tag . " %')";

return $db->query ($sql);
}

Modified: trunk/listevents.php
==============================================================================
--- trunk/listevents.php Mon Feb 23 22:25:21 2009 (r423)
+++ trunk/listevents.php Mon Feb 23 22:27:41 2009 (r424)
@@ -60,7 +60,7 @@
$hasevent = FALSE;

$sql = "select id, title, city, start_time, end_time from events " .
- "where (tags like '%" . $_GET['tag'] . "%') and (start_time > NOW())
and (moderated=1) order by start_time ";
+ "where (concat(' ', tags, ' ') like '% " . $_GET['tag'] . " %') and
(start_time > NOW()) and (moderated=1) order by start_time ";
$events = $db->query($sql);
if (! $events)
{
@@ -83,7 +83,7 @@
}

$sql = "select id, title, city, start_time, end_time from events ".
- "where (tags like '%" . $_GET['tag'] . "%') and (start_time < NOW())
and (moderated=1) order by start_time desc";
+ "where (concat(' ', tags, ' ') like '% " . $_GET['tag'] . " %') and
(start_time < NOW()) and (moderated=1) order by start_time desc";
$events = $db->query($sql);
if (! $events)
{

Modified: trunk/rss.php
==============================================================================
--- trunk/rss.php Mon Feb 23 22:25:21 2009 (r423)
+++ trunk/rss.php Mon Feb 23 22:27:41 2009 (r424)
@@ -55,7 +55,7 @@
$sql .= " AND ((region=" . $region . ") OR (locality=1))";

if ($tag != "")
- $sql .= " AND (tags like '%" . $tag . "%')";
+ $sql .= " AND (concat(' ', tags, ' ') like '% " . $tag . " %')";

$sql .= " ORDER BY start_time ASC";


Modified: trunk/textlist.php
==============================================================================
--- trunk/textlist.php Mon Feb 23 22:25:21 2009 (r423)
+++ trunk/textlist.php Mon Feb 23 22:27:41 2009 (r424)
@@ -14,7 +14,7 @@
}

echo "===============================================================\n";
-$events = $db->query ("select * from events where tags like '%" .
$_GET['tag'] . "%' order by start_time");
+$events = $db->query ("select * from events where concat(' ', tags, ' ')
like '% " . $_GET['tag'] . " %' order by start_time");
while ($event = mysql_fetch_object($events))
{
echo $event->city . "\n";

Modified: trunk/xmllistevents.php
==============================================================================
--- trunk/xmllistevents.php Mon Feb 23 22:25:21 2009 (r423)
+++ trunk/xmllistevents.php Mon Feb 23 22:27:41 2009 (r424)
@@ -24,18 +24,18 @@

if (! $_GET['tag'] || !ereg("^[a-z0-9\-]*$", $_GET['tag']))
{
- echo "Aucun tag sélectionné, ou tag invalide.";
+ echo "Aucun tag sélectionné, ou tag invalide.";
exit;
}

$db = new db();

-$sql = "select * from events where (tags like '%" . $_GET['tag'] . "%') " .
+$sql = "select * from events where (concat(' ', tags, ' ') like '% " .
$_GET['tag'] . " %') " .
"and (moderated=1) order by start_time";
$events = $db->query($sql);
if (! $events)
{
- echo "Erreur lors de la requête SQL.";
+ echo "Erreur lors de la requête SQL.";
exit;
}





  • [Devel] r424 - trunk, svn, 23/02/2009

Archives gérées par MHonArc 2.6.16.

Haut de le page