diff options
-rw-r--r-- | languages/en.php | 8 | ||||
-rw-r--r-- | mostcommentedimages.php | 43 | ||||
-rw-r--r-- | mostcommentedimagesthismonth.php | 50 | ||||
-rw-r--r-- | mostcommentedimagestoday.php | 50 | ||||
-rw-r--r-- | mostvieweddashboard.php | 44 | ||||
-rw-r--r-- | mostviewedimageslastmonth.php | 50 | ||||
-rw-r--r-- | mostviewedimagesthismonth.php | 50 | ||||
-rw-r--r-- | mostviewedimagesthisyear.php | 50 | ||||
-rw-r--r-- | mostviewedimagestoday.php | 50 | ||||
-rw-r--r-- | start.php | 18 |
10 files changed, 412 insertions, 1 deletions
diff --git a/languages/en.php b/languages/en.php index 432da458d..6b2281110 100644 --- a/languages/en.php +++ b/languages/en.php @@ -21,7 +21,15 @@ 'item:object:album' => "Albums",
'tidypics:enablephotos' => 'Enable Group Photo Albums',
'tidypics:editprops' => 'Edit Image Properties',
+ 'tidypics:mostcommented' => 'Most commented images',
+ 'tidypics:mostcommentedthismonth' => 'Most commented this month',
+ 'tidypics:mostcommentedtoday' => 'Most commented today',
'tidypics:mostviewed' => 'Most viewed images',
+ 'tidypics:mostvieweddashboard' => 'Most viewed dashboard',
+ 'tidypics:mostviewedthisyear' => 'Most viewed this year',
+ 'tidypics:mostviewedthismonth' => 'Most viewed this month',
+ 'tidypics:mostviewedlastmonth' => 'Most viewed last month',
+ 'tidypics:mostviewedtoday' => 'Most viewed today',
'tidypics:recentlyviewed' => 'Recently viewed images',
'tidypics:mostrecent' => 'Most recent images',
'tidypics:yourmostviewed' => 'Your most viewed images',
diff --git a/mostcommentedimages.php b/mostcommentedimages.php new file mode 100644 index 000000000..b3a36a9ac --- /dev/null +++ b/mostcommentedimages.php @@ -0,0 +1,43 @@ +<?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 = 24; + + //this works but is wildly inefficient + //$annotations = get_annotations(0, "object", "image", "tp_view", "", "", 5000); + + $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 = 'generic_comment' + 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); + } + + tidypics_mostviewed_submenus(); + $title = elgg_echo("tidypics:mostcommented"); + $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 diff --git a/mostcommentedimagesthismonth.php b/mostcommentedimagesthismonth.php new file mode 100644 index 000000000..c47cee2da --- /dev/null +++ b/mostcommentedimagesthismonth.php @@ -0,0 +1,50 @@ +<?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 = 24; + + + //find timestamps for first and last days of this month + $time_info = new stdClass(); + $time_info->start = mktime(0,0,0, date("m"), 1, date("Y")); + $time_info->end = mktime(); + + //this works but is wildly inefficient + //$annotations = get_annotations(0, "object", "image", "tp_view", "", "", 5000); + + $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 = 'generic_comment' + WHERE ann1.time_created BETWEEN $time_info->start AND $time_info->end + 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); + } + + tidypics_mostviewed_submenus(); + $title = elgg_echo("tidypics:mostcommentedthismonth"); + $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 diff --git a/mostcommentedimagestoday.php b/mostcommentedimagestoday.php new file mode 100644 index 000000000..ce0ad8aeb --- /dev/null +++ b/mostcommentedimagestoday.php @@ -0,0 +1,50 @@ +<?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 = 24; + + + //find timestamps for today + $time_info = new stdClass(); + $time_info->start = mktime(0,0,0, date("m"), 1, date("Y")); + $time_info->end = mktime(); + + //this works but is wildly inefficient + //$annotations = get_annotations(0, "object", "image", "tp_view", "", "", 5000); + + $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 = 'generic_comment' + WHERE ann1.time_created BETWEEN $time_info->start AND $time_info->end + 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); + } + + tidypics_mostviewed_submenus(); + $title = elgg_echo("tidypics:mostcommentedtoday"); + $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 diff --git a/mostvieweddashboard.php b/mostvieweddashboard.php new file mode 100644 index 000000000..eef5a15ac --- /dev/null +++ b/mostvieweddashboard.php @@ -0,0 +1,44 @@ +<?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 = 24; + + //this works but is wildly inefficient + //$annotations = get_annotations(0, "object", "image", "tp_view", "", "", 5000); + + $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' + 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); + } + + tidypics_mostviewed_submenus(); + + $title = elgg_echo("tidypics:mostvieweddashboard"); + $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 diff --git a/mostviewedimageslastmonth.php b/mostviewedimageslastmonth.php new file mode 100644 index 000000000..157738d8a --- /dev/null +++ b/mostviewedimageslastmonth.php @@ -0,0 +1,50 @@ +<?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 = 24; + + + //find timestamps for first and last days of last month + $time_info = new stdClass(); + $time_info->start = strtotime("-1 months", mktime(0,0,0, date("m"), 1, date("Y"))); + $time_info->end = mktime(0,0,0,date("m"), 0, date("Y")); + + //this works but is wildly inefficient + //$annotations = get_annotations(0, "object", "image", "tp_view", "", "", 5000); + + $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 ann1.time_created BETWEEN $time_info->start AND $time_info->end + 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); + } + + tidypics_mostviewed_submenus(); + $title = elgg_echo("tidypics:mostviewedlastmonth"); + $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 diff --git a/mostviewedimagesthismonth.php b/mostviewedimagesthismonth.php new file mode 100644 index 000000000..5bc9c7151 --- /dev/null +++ b/mostviewedimagesthismonth.php @@ -0,0 +1,50 @@ +<?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 = 24; + + + //find timestamps for first and last days of this month + $time_info = new stdClass(); + $time_info->start = mktime(0,0,0, date("m"), 1, date("Y")); + $time_info->end = mktime(); + + //this works but is wildly inefficient + //$annotations = get_annotations(0, "object", "image", "tp_view", "", "", 5000); + + $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 ann1.time_created BETWEEN $time_info->start AND $time_info->end + 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); + } + + tidypics_mostviewed_submenus(); + $title = elgg_echo("tidypics:mostviewedthismonth"); + $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 diff --git a/mostviewedimagesthisyear.php b/mostviewedimagesthisyear.php new file mode 100644 index 000000000..d0f246634 --- /dev/null +++ b/mostviewedimagesthisyear.php @@ -0,0 +1,50 @@ +<?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 = 24; + + + //find timestamps for first day of the year and current date + $time_info = new stdClass(); + $time_info->start = mktime(0,0,0, 1, 1, date("Y")); + $time_info->end = mktime(); + + //this works but is wildly inefficient + //$annotations = get_annotations(0, "object", "image", "tp_view", "", "", 5000); + + $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 ann1.time_created BETWEEN $time_info->start AND $time_info->end + 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); + } + + tidypics_mostviewed_submenus(); + $title = elgg_echo("tidypics:mostviewedthisyear"); + $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 diff --git a/mostviewedimagestoday.php b/mostviewedimagestoday.php new file mode 100644 index 000000000..9f7c10113 --- /dev/null +++ b/mostviewedimagestoday.php @@ -0,0 +1,50 @@ +<?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 = 24; + + + //find timestamps for today + $time_info = new stdClass(); + $time_info->start = mktime(0,0,0, date("m"), 1, date("Y")); + $time_info->end = mktime(); + + //this works but is wildly inefficient + //$annotations = get_annotations(0, "object", "image", "tp_view", "", "", 5000); + + $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 ann1.time_created BETWEEN $time_info->start AND $time_info->end + 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); + } + + tidypics_mostviewed_submenus(); + $title = elgg_echo("tidypics:mostviewedtoday"); + $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 @@ -153,7 +153,23 @@ }
}
-
+
+ /**
+ * Sets up submenus for tidypics most viewed pages
+ */
+ function tidypics_mostviewed_submenus() {
+
+ global $CONFIG;
+
+ add_submenu_item(elgg_echo('tidypics:mostvieweddashboard'), $CONFIG->url . "mod/tidypics/mostviewed.php");
+ add_submenu_item(elgg_echo('tidypics:mostviewedthisyear'), $CONFIG->url . "mod/tidypics/mostviewedimagesthisyear.php");
+ add_submenu_item(elgg_echo('tidypics:mostviewedthismonth'), $CONFIG->url . "mod/tidypics/mostviewedimagesthismonth.php");
+ add_submenu_item(elgg_echo('tidypics:mostviewedlastmonth'), $CONFIG->url . "mod/tidypics/mostviewedimageslastmonth.php");
+ add_submenu_item(elgg_echo('tidypics:mostviewedtoday'), $CONFIG->url . "mod/tidypics/mostviewedimageslastmonth.php");
+ add_submenu_item(elgg_echo('tidypics:mostcommented'), $CONFIG->url . "mod/tidypics/mostcommentedimages.php");
+ add_submenu_item(elgg_echo('tidypics:mostcommentedthismonth'), $CONFIG->url . "mod/tidypics/mostcommentedimagesthismonth.php");
+ add_submenu_item(elgg_echo('tidypics:mostcommentedtoday'), $CONFIG->url . "mod/tidypics/mostcommentedimagestoday.php");
+ }
/**
* Sets up tidypics admin menu. Triggered on pagesetup.
*/
|