Accéder au contenu.
Menu Sympa

devel - [Devel] r349 - trunk

Objet : devel-adl

Archives de la liste

[Devel] r349 - trunk


Chronologique Discussions 
  • 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`)
+);





Archives gérées par MHonArc 2.6.16.

Haut de le page