Objet : devel-adl
Archives de la liste
- From: svn AT agendadulibre.org
- To: devel AT agendadulibre.org
- Subject: [Devel] r349 - trunk
- Date: Thu, 10 Jul 2008 08:44:14 +0200 (CEST)
- List-archive: <http://agendadulibre.org/pipermail/devel>
- List-id: Developpement de l'Agenda du Libre <devel.agendadulibre.org>
Author: thomas
Date: Thu Jul 10 08:43:26 2008
New Revision: 349
Log:
Ajout du tag <georss:point></georss:point> dans le flux RSS, qui donne
la localisation géographique de l'évènement. Pour l'instant, la
localisation géographique correspond aux coordonnées du centre de la
ville dans laquelle l'évènement a lieu. Plus tard, on pourra penser à
permettre aux soumetteurs de saisir plus précisément les coordonnées
géographiques du lieu de l'évènement.
Ce tag est un standard, appelé GeoRSS, documenté sur
http://georss.org. Voir également http://en.wikipedia.org/wiki/GeoRSS.
Théoriquement, les flux de l'Agenda du Libre sont maintenant
utilisables avec Google Maps, en utilisant une adresse comme:
http://maps.google.com/maps?q=http://www.agendadulibre.org/rss.php?region=all
Néanmoins, je n'ai pas testé cette fonctionnalité. Je ne sais pas ce
qu'il en est d'OpenStreetMap.
Modified:
trunk/UPGRADE
trunk/rss.php
trunk/schema.sql
Modified: trunk/UPGRADE
==============================================================================
--- trunk/UPGRADE (original)
+++ trunk/UPGRADE Thu Jul 10 08:43:26 2008
@@ -39,3 +39,31 @@
alter table events add decision_time datetime not null default '0000-00-00
00:00:00';
alter table events add submission_time datetime not null default
'0000-00-00 00:00:00';
+
+Revisions lower than 349
+========================
+
+If you have an installation of the Agenda du Libre software of
+revision lower than 346 and you want to upgrade to a more recent
+version, then you must change the database schema. In order to do
+that, use the following SQL commands:
+
+CREATE TABLE `cities` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ `majname` varchar(255) NOT NULL default '',
+ `postalcode` int(11) default NULL,
+ `inseecode` int(11) default NULL,
+ `regioncode` int(11) default NULL,
+ `latitude` float default NULL,
+ `longitude` float default NULL,
+ PRIMARY KEY (`id`)
+);
+
+And fill the table using the extract-cities-coordinates.sh script
+available in http://www.agendadulibre.org/svn/scripts/ :
+
+ ./extract-cities-coordinates.sh
+ cat ville.sql | mysql -u user -p bdd
+
+
Modified: trunk/rss.php
==============================================================================
--- trunk/rss.php (original)
+++ trunk/rss.php Thu Jul 10 08:43:26 2008
@@ -62,6 +62,20 @@
return $db->query ($sql);
}
+function get_city_coordinates ($db, $city)
+{
+ $sql = "select longitude, latitude from cities where name='" . $city . "'";
+ $ret = $db->query($sql);
+
+ if (mysql_num_rows($ret) == 1)
+ {
+ $obj = mysql_fetch_object($ret);
+ return array($obj->longitude, $obj->latitude);
+ }
+
+ return false;
+}
+
/* Fetch region name */
$region_num = get_safe_integer('region', 'all');
if ($region_num != "all")
@@ -80,7 +94,7 @@
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n";
-echo "<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"
xmlns:dc=\"http://purl.org/dc/elements/1.1/\"
xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"
xmlns:admin=\"http://webns.net/mvcb/\"
xmlns:cc=\"http://web.resource.org/cc/\"
xmlns:content=\"http://purl.org/rss/1.0/modules/content/\"
xmlns=\"http://purl.org/rss/1.0/\">\n";
+echo "<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"
xmlns:dc=\"http://purl.org/dc/elements/1.1/\"
xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"
xmlns:admin=\"http://webns.net/mvcb/\"
xmlns:cc=\"http://web.resource.org/cc/\"
xmlns:content=\"http://purl.org/rss/1.0/modules/content/\"
xmlns=\"http://purl.org/rss/1.0/\"
xmlns:georss=\"http://www.georss.org/georss/\">\n";
echo "<channel rdf:about=\"http://www.agendadulibre.org\">\n";
echo " <title>Agenda du Libre [ " . $region . " ]</title>\n";
@@ -122,6 +136,7 @@
$start_timestamp = date_mysql2timestamp($event->start_time);
$start_day = onlyday_timestamp2humanreadable($start_timestamp);
$end_day =
onlyday_timestamp2humanreadable(date_mysql2timestamp($event->end_time));
+ list($longitude, $latitude) = get_city_coordinates($db, $event->city);
echo " <item rdf:about=\"" . calendar_absolute_url("showevent.php?id=" .
$event->id) . "\">\n";
@@ -134,11 +149,15 @@
echo "</title>\n";
echo " <link>" . calendar_absolute_url("showevent.php?id=" . $event->id)
. "</link>\n";
- echo " <guid>" . $event->id . "@agendadulibre.org</guid>";
+ echo " <guid>" . $event->id . "@agendadulibre.org</guid>\n";
$evt_timezone = ereg_replace("^\+([0-9][0-9])([0-9][0-9])$", "+\\1:\\2",
date('O', $start_timestamp));
$evt_date = date('Y-m-d\TH:i', $start_timestamp);
echo " <dc:date>" . $evt_date . $evt_timezone . "</dc:date>\n";
+
+ if ($longitude && $latitude)
+ echo " <georss:point>" . $latitude . " " . $longitude .
"</georss:point>\n";
+
echo " <description>\n";
echo xmlentities(strip_tags(format_event ($db, $event->title,
Modified: trunk/schema.sql
==============================================================================
--- trunk/schema.sql (original)
+++ trunk/schema.sql Thu Jul 10 08:43:26 2008
@@ -68,3 +68,15 @@
url varchar(255) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM AUTO_INCREMENT=2 ;
+
+CREATE TABLE `cities` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ `majname` varchar(255) NOT NULL default '',
+ `postalcode` int(11) default NULL,
+ `inseecode` int(11) default NULL,
+ `regioncode` int(11) default NULL,
+ `latitude` float default NULL,
+ `longitude` float default NULL,
+ PRIMARY KEY (`id`)
+);
- [Devel] r349 - trunk, svn, 10/07/2008
- Re: [Devel] r349 - trunk, David MENTRE, 10/07/2008
Archives gérées par MHonArc 2.6.16.