aboutsummaryrefslogtreecommitdiff
path: root/pages/lists
diff options
context:
space:
mode:
Diffstat (limited to 'pages/lists')
-rw-r--r--pages/lists/friendmostviewed.php59
-rw-r--r--pages/lists/mostviewedimages.php39
-rw-r--r--pages/lists/yourmostviewed.php49
3 files changed, 32 insertions, 115 deletions
diff --git a/pages/lists/friendmostviewed.php b/pages/lists/friendmostviewed.php
deleted file mode 100644
index 07fcd39b5..000000000
--- a/pages/lists/friendmostviewed.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
- /**
- * Tidypics Friends Albums Listing
- *
- */
-
- include_once dirname(dirname(dirname(dirname(dirname(__FILE__))))) . "/engine/start.php";
-
- //if no friends were requested, see world pictures instead, or redirect to user's friends
-/* if (is_null(get_input('username')) || get_input('username')=='') {
- if (!isloggedin()) {
- forward('pg/photos/world');
- } else {
- forward('pg/photos/friends/' . $_SESSION['user']->username);
- }
- }*/
-
- if (is_null(page_owner_entity()->name) || page_owner_entity()->name == '') {
- $friendname = get_input('username');
- } else {
- $friendname = page_owner_entity()->name;
- };
-
- //there has to be a better way to do this
- if(!$friendname) {
- $page = get_input("page");
- list($pagename, $friendname) = split("/", $page);
- }
- $user = get_user_by_username($friendname);
- global $CONFIG;
- $prefix = $CONFIG->dbprefix;
- $max = 24;
-
- $sql = "SELECT ent.guid, count( * ) AS views
- 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 = 'tp_view'
- WHERE ent.owner_guid = " . $user->guid . "
- GROUP BY ent.guid
- ORDER BY views DESC
- LIMIT $max";
-
- $result = get_data($sql);
-
- $entities = array();
- foreach($result as $entity) {
- $entities[] = get_entity($entity->guid);
- }
-
- $title = sprintf(elgg_echo("tidypics:friendmostviewed"), $friendname);
- $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);
-
-?> \ No newline at end of file
diff --git a/pages/lists/mostviewedimages.php b/pages/lists/mostviewedimages.php
index b8cc67b51..16b9d7295 100644
--- a/pages/lists/mostviewedimages.php
+++ b/pages/lists/mostviewedimages.php
@@ -1,8 +1,7 @@
<?php
/**
- * Tidypics full view of an image
- * Given a GUID, this page will try and display any entity
+ * Most viewed images - either for a user or all site
*
*/
@@ -13,9 +12,24 @@
$prefix = $CONFIG->dbprefix;
$max = 24;
+ $owner_guid = page_owner();
+
+ //$start = microtime(true);
+ $photos = tp_get_entities_from_annotations_calculate_x(
+ 'count',
+ 'object',
+ 'image',
+ 'tp_view',
+ '',
+ '',
+ $owner_guid,
+ $max);
+ //error_log("elgg query is " . (float)(microtime(true) - $start));
+
//this works but is wildly inefficient
//$annotations = get_annotations(0, "object", "image", "tp_view", "", "", 5000);
-
+/*
+ $start = microtime(true);
$sql = "SELECT ent.guid, count( * ) AS views
FROM " . $prefix . "entities ent
INNER JOIN " . $prefix . "entity_subtypes sub ON ent.subtype = sub.id
@@ -33,15 +47,26 @@
foreach($result as $entity) {
$entities[] = get_entity($entity->guid);
}
- $title = elgg_echo("tidypics:mostviewed");
+*/
+ //error_log("custom query is " . (float)(microtime(true) - $start));
+
+ if ($owner_guid) {
+ if ($owner_guid == get_loggedin_userid()) {
+ $title = elgg_echo("tidypics:yourmostviewed");
+ } else {
+ $title = sprintf(elgg_echo("tidypics:friendmostviewed"), page_owner_entity()->name);
+ }
+ } else {
+ $title = elgg_echo("tidypics:mostviewed");
+ }
$area2 = elgg_view_title($title);
// grab the html to display the images
- $images = tp_view_entity_list($entities, $max, 0, $max, false);
+ $content = tp_view_entity_list($photos, $max, 0, $max, false);
// this view takes care of the title on the main column and the content wrapper
- $area2 = elgg_view('tidypics/content_wrapper', array('title' => $title, 'content' => $images,));
- if( empty( $area2 )) $area2 = $images;
+ $area2 = elgg_view('tidypics/content_wrapper', array('title' => $title, 'content' => $content,));
+ if( empty( $area2 )) $area2 = $content;
$body = elgg_view_layout('two_column_left_sidebar', '', $area2);
page_draw($title, $body);
diff --git a/pages/lists/yourmostviewed.php b/pages/lists/yourmostviewed.php
deleted file mode 100644
index 9155c4454..000000000
--- a/pages/lists/yourmostviewed.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?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";
-
- $viewer = get_loggedin_user();
-
- global $CONFIG;
- $prefix = $CONFIG->dbprefix;
- $max = 24;
-
- $sql = "SELECT ent.guid, count( * ) AS views
- 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 = 'tp_view'
- WHERE ent.owner_guid = " . $viewer->guid . "
- GROUP BY ent.guid
- ORDER BY views DESC
- LIMIT $max";
-
- $result = get_data($sql);
-
- $entities = array();
- foreach($result as $entity) {
- $entities[] = get_entity($entity->guid);
- }
-
- $title = elgg_echo("tidypics:yourmostviewed");
- $area2 = elgg_view_title($title);
-
- // grab the html to display the images
- $images = tp_view_entity_list($entities, $max, 0, $max, false);
-
- // this view takes care of the title on the main column and the content wrapper
- $area2 = elgg_view('tidypics/content_wrapper', array('title' => $title, 'content' => $images,));
- if( empty( $area2 )) $area2 = $images;
-
- $body = elgg_view_layout('two_column_left_sidebar', '', $area2);
- page_draw($title, $body);
-?> \ No newline at end of file