]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
working on adding rss feeds for all listing pages
authorCash Costello <cash.costello@gmail.com>
Fri, 11 Dec 2009 12:54:14 +0000 (12:54 +0000)
committerCash Costello <cash.costello@gmail.com>
Fri, 11 Dec 2009 12:54:14 +0000 (12:54 +0000)
pages/download.php [new file with mode: 0644]
views/rss/object/image.php [new file with mode: 0644]
views/rss/tidypics/gallery.php [new file with mode: 0644]

diff --git a/pages/download.php b/pages/download.php
new file mode 100644 (file)
index 0000000..f5530ce
--- /dev/null
@@ -0,0 +1,52 @@
+<?php\r
+       /**\r
+        * Tidypics Download Photos\r
+        * \r
+        * do not call this directly - call through page handler\r
+        */\r
+        \r
+       global $CONFIG;\r
+\r
+       $file_guid = (int) get_input("file_guid");\r
+       $file = get_entity($file_guid);\r
+       \r
+       $type = get_input("type");\r
+       \r
+       if ($file) {\r
+               $filename = $file->originalfilename;\r
+               $mime = $file->mimetype;\r
+               \r
+               header("Content-Type: $mime");\r
+               if ($type == "inline")\r
+                       header("Content-Disposition: inline; filename=\"$filename\"");\r
+               else\r
+                       header("Content-Disposition: attachment; filename=\"$filename\"");\r
+\r
+               \r
+               $readfile = new ElggFile($file_guid);\r
+               $readfile->owner_guid = $file->owner_guid;\r
+               \r
+               $contents = $readfile->grabFile();\r
+               \r
+               if (empty($contents)) {\r
+                       echo file_get_contents(dirname(dirname(__FILE__)) . "/graphics/image_error_large.png" );\r
+               } else {\r
+                       \r
+                       // expires every 60 days\r
+                       $expires = 60 * 60*60*24;\r
+                       \r
+                       header("Content-Length: " . strlen($contents));\r
+                       header("Cache-Control: public", true);\r
+                       header("Pragma: public", true);\r
+                       header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . ' GMT', true);\r
+                       \r
+                       \r
+                       echo $contents;\r
+               }\r
+               \r
+               exit;\r
+       }\r
+       else\r
+               register_error(elgg_echo("image:downloadfailed"));\r
+\r
+?>
\ No newline at end of file
diff --git a/views/rss/object/image.php b/views/rss/object/image.php
new file mode 100644 (file)
index 0000000..dafc05f
--- /dev/null
@@ -0,0 +1,19 @@
+<?php\r
+\r
+$title = $vars['entity']->title;\r
+$descr = $vars['entity']->description;\r
+$download = $vars['url'] . 'pg/photos/download/' . $vars['entity']->guid . '/inline/';\r
+$base_url = $vars['url'] . 'mod/tidypics/thumbnail.php?file_guid=';\r
+?>\r
+\r
+       <item>\r
+               <title><?php echo $title; ?></title>\r
+               <link><?php echo $base_url . $vars['entity']->guid . '&amp;size=large'; ?></link>\r
+               <description><?php echo htmlentities($descr, ENT_QUOTES); ?></description>\r
+               <pubDate><?php echo date("r", $vars['entity']->time_created); ?></pubDate>\r
+               <guid isPermaLink="true"><?php echo $vars['entity']->getURL(); ?></guid>\r
+               <media:content url="<?php echo $download; ?>" medium="image" type="<?php echo $vars['entity']->getMimeType(); ?>" />\r
+               <media:title><?php echo $title; ?></media:title>\r
+               <media:description><?php echo htmlentities($descr); ?></media:description>\r
+               <media:thumbnail url="<?php echo $base_url . $vars['entity']->guid . '&amp;size=thumb'; ?>"></media:thumbnail>\r
+       </item>
\ No newline at end of file
diff --git a/views/rss/tidypics/gallery.php b/views/rss/tidypics/gallery.php
new file mode 100644 (file)
index 0000000..2fcf2ac
--- /dev/null
@@ -0,0 +1,18 @@
+<?php\r
+       /**\r
+        * Tidypics Listing RSS View\r
+        */\r
+\r
+$context = $vars['context'];\r
+$entities = $vars['entities'];\r
+$count = $vars['count'];\r
+$baseurl = $vars['baseurl'];\r
+\r
+\r
+if (is_array($entities) && sizeof($entities) > 0) {\r
+       foreach($entities as $entity) {\r
+               echo elgg_view_entity($entity);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file