]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
recently commented support
authorGreg Froese <greg.froese@gmail.com>
Tue, 11 Aug 2009 19:46:09 +0000 (19:46 +0000)
committerGreg Froese <greg.froese@gmail.com>
Tue, 11 Aug 2009 19:46:09 +0000 (19:46 +0000)
recentlycommented.php [new file with mode: 0644]
start.php

diff --git a/recentlycommented.php b/recentlycommented.php
new file mode 100644 (file)
index 0000000..aabf5cd
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+
+       /**
+        * Tidypics full view of an image
+        * Given a GUID, this page will try and display any entity
+        * 
+        */
+
+       // Load Elgg engine
+       include_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
+
+       global $CONFIG;
+       $prefix = $CONFIG->dbprefix;
+       $max_limit = 200; //get extra because you'll have multiple views per image in the result set
+       $max = 16; //controls how many actually show on screen
+       
+       //this works but is wildly inefficient
+       //$annotations = get_annotations(0, "object", "image", "tp_view", "", "", 5000);
+       
+       $sql = "SELECT distinct ent.guid
+                       FROM " . $prefix . "entities ent
+                       INNER JOIN " . $prefix . "entity_subtypes sub ON ent.subtype = sub.id
+                       AND sub.subtype = 'image'
+                       INNER JOIN " . $prefix . "annotations ann1 ON ann1.entity_guid = ent.guid
+                       INNER JOIN " . $prefix . "metastrings ms ON ms.id = ann1.name_id
+                       AND ms.string = 'generic_comment'
+                       GROUP BY ent.guid
+                       ORDER BY ann1.id DESC
+                       LIMIT $max_limit";
+       
+       $result = get_data($sql);
+
+       $entities = array();
+       foreach($result as $entity) {
+               if(!$entities[$entity->guid]) {
+                       $entities[$entity->guid] = get_entity($entity->guid);   
+               }
+               if(count($entities) >= $max) break;
+       }
+       $title = elgg_echo("tidypics:recentlycommented");
+       $area2 = elgg_view_title($title);
+       $area2 .= elgg_view_entity_list($entities, $max, 0, $max);
+       $body = elgg_view_layout('two_column_left_sidebar', '', $area2);
+       page_draw($title, $body);
+?>
\ No newline at end of file
index 9c27cb85438764b354b92079ef970125960b4bde..9e061ad90ed8402450b76f32c7bc7c4830cd6087 100644 (file)
--- a/start.php
+++ b/start.php
                add_submenu_item(elgg_echo('tidypics:mostcommented'), $CONFIG->url . "mod/tidypics/mostcommentedimages.php");\r
                add_submenu_item(elgg_echo('tidypics:mostcommentedthismonth'), $CONFIG->url . "mod/tidypics/mostcommentedimagesthismonth.php");\r
                add_submenu_item(elgg_echo('tidypics:mostcommentedtoday'), $CONFIG->url . "mod/tidypics/mostcommentedimagestoday.php");\r
-               add_submenu_item(elgg_echo('tidypics:recentlycommented'), $CONFIG->wwwroot . 'pg/photos/recentlycommented');\r
+               add_submenu_item(elgg_echo('tidypics:recentlycommented'), $CONFIG->wwwroot . 'mod/tidypics/recentlycommented');\r
        }\r
        /**\r
         * Sets up tidypics admin menu. Triggered on pagesetup.\r