aboutsummaryrefslogtreecommitdiff
path: root/pages/lists/recentlycommented.php
blob: fd1a244545dc7556810470e1d039af3f499b16f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?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(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), ann1.time_created
			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'			
			ORDER BY ann1.time_created 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;
	}
	
	$user = get_loggedin_user();
	if( $user->guid == 9 ) {
		echo "<pre>";
		var_dump( $sql);
//		var_dump( $result );
		echo "</pre>";
	}
	$title = elgg_echo("tidypics:recentlycommented");
	$area2 = elgg_view_title($title);
	$area2 .= elgg_view_entity_list($entities, $max, 0, $max, false);
	$body = elgg_view_layout('two_column_left_sidebar', '', $area2);
	page_draw($title, $body);
?>