]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Updating RSS views to allow for object creator and geolocation.
authornickw <nickw@36083f99-b078-4883-b0ff-0f9b5a30f544>
Thu, 20 May 2010 14:32:40 +0000 (14:32 +0000)
committernickw <nickw@36083f99-b078-4883-b0ff-0f9b5a30f544>
Thu, 20 May 2010 14:32:40 +0000 (14:32 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@6110 36083f99-b078-4883-b0ff-0f9b5a30f544

views/rss/annotation/default.php
views/rss/object/creator.php [new file with mode: 0644]
views/rss/object/default.php
views/rss/object/georss.php [new file with mode: 0644]

index 8ff34b7fa28992a3a31ed0278b6a4610290cc343..aaad669196e0c82e58733d61ce79829972e5c2ac 100644 (file)
@@ -1,46 +1,36 @@
 <?php
 /**
- * Elgg generic comment
+ * Elgg RSS view for a generic comment
  *
  * @package Elgg
  * @subpackage Core
  * @author Curverider Ltd
  * @link http://elgg.org/
- *
  */
 
-$vars['entity'] = get_entity($vars['annotation']->entity_guid);
+$entity = get_entity($vars['annotation']->entity_guid);
+
 $title = substr($vars['annotation']->value, 0, 32);
 if (strlen($vars['annotation']->value) > 32) {
        $title .= " ...";
 }
 
-?>
+$permalink = $entity->getURL();
+$pubdate = date('r', $entity->time_created);
 
-       <item>
-       <guid isPermaLink='true'><?php echo $vars['entity']->getURL(); ?>#<?php echo $vars['annotation']->id; ?></guid>
-       <pubDate><?php echo date("r",$vars['entity']->time_created) ?></pubDate>
-       <link><?php echo $vars['entity']->getURL(); ?>#<?php echo $vars['annotation']->id; ?></link>
-       <title><![CDATA[<?php echo $title; ?>]]></title>
-       <description><![CDATA[<?php echo (autop($vars['annotation']->value)); ?>]]></description>
-       <?php
-               $owner = get_entity($vars['entity']->owner);
-               if ($owner) {
-?>
-       <dc:creator><?php echo $owner->name; ?></dc:creator>
-<?php
-               }
-       ?>
-       <?php
-               if (
-                       ($vars['entity'] instanceof Locatable) &&
-                       ($vars['entity']->getLongitude()) &&
-                       ($vars['entity']->getLatitude())
-               ) {
-                       ?>
-                       <georss:point><?php echo $vars['entity']->getLatitude(); ?> <?php echo $vars['entity']->getLongitude(); ?></georss:point>
-                       <?php
-               }
-       ?>
-       <?php echo elgg_view('extensions/item'); ?>
-       </item>
\ No newline at end of file
+$creator = elgg_view('object/creator', array('entity' => $entity));
+$georss = elgg_view('object/georss', array('entity' => $entity));
+$extensions = elgg_view('extensions/item');
+
+$item = <<<__HTML
+<item>
+       <guid isPermaLink='true'>$permalink#{$vars['annotation']->id}</guid>
+       <pubDate>$pubdate</pubDate>
+       <link>$permalink#{$vars['annotation']->id}</link>
+       <title><![CDATA[$title]]></title>
+       <description><![CDATA[{$vars['annotation']->value}]]></description>
+       $creator$georss$extensions
+</item>
+__HTML;
+
+echo $item;
diff --git a/views/rss/object/creator.php b/views/rss/object/creator.php
new file mode 100644 (file)
index 0000000..2bc6fd5
--- /dev/null
@@ -0,0 +1,8 @@
+<?php
+/**
+ * 
+ */
+
+if ($owner = $vars['entity']->getOwnerEntity()) {
+       echo "<dc:creator>{$owner->name}</dc:creator>";
+}
index 7b1ab10bc85f47b2ea34aa600687e43c4bf56e5a..c7ff172f78741c3cf27b9104c9ed977ddb9168aa 100644 (file)
@@ -20,22 +20,8 @@ if (empty($title)) {
 $permalink = htmlspecialchars($vars['entity']->getURL());
 $pubdate = date('r', $vars['entity']->time_created);
 
-$creator = '';
-if ($owner = $vars['entity']->getOwnerEntity()) {
-       $creator = "<dc:creator>{$owner->name}</dc:creator>";
-}
-
-$georss = '';
-if (
-       ($vars['entity'] instanceof Locatable) &&
-       ($vars['entity']->getLongitude()) &&
-       ($vars['entity']->getLatitude())
-) {
-       $latitude = $vars['entity']->getLatitude();
-       $longitude = $vars['entity']->getLongitude();
-       $georss = "<georss:point>$latitude $longitude</georss:point>";
-}
-
+$creator = elgg_view('object/creator', $vars);
+$georss = elgg_view('object/georss', $vars);
 $extension = elgg_view('extensions/item');
 
 $item = <<<__HTML
diff --git a/views/rss/object/georss.php b/views/rss/object/georss.php
new file mode 100644 (file)
index 0000000..8aa0275
--- /dev/null
@@ -0,0 +1,10 @@
+<?php
+/**
+ * 
+ */
+
+if (($vars['entity'] instanceof Locatable) &&
+       ($latitude = $vars['entity']->getLongitude()) && ($longitude = $vars['entity']->getLatitude())
+) {
+       echo "<georss:point>$latitude $longitude</georss:point>";
+}
\ No newline at end of file