From ee25c76e0bab45893a9d52a3820a16be2d481010 Mon Sep 17 00:00:00 2001 From: marcus Date: Mon, 23 Jun 2008 17:43:23 +0000 Subject: Refs #76: User settings page (to Elgg Classic standard). Committing some work before shutting down for the day. git-svn-id: https://code.elgg.org/elgg/trunk@1078 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/statistics.php | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) (limited to 'engine/lib') diff --git a/engine/lib/statistics.php b/engine/lib/statistics.php index 8744db4ab..73c424433 100644 --- a/engine/lib/statistics.php +++ b/engine/lib/statistics.php @@ -12,32 +12,35 @@ * @copyright Curverider Ltd 2008 * @link http://elgg.org/ */ - - - // number of users - - // Number of objects broken down into type - - // who' s online now /** * Return an array reporting the number of various entities in the system. * + * @param int $owner_guid Optional owner of the statistics * @return array */ - function get_entity_statistics() + function get_entity_statistics($owner_guid = 0) { global $CONFIG; $entity_stats = array(); + $owner_guid = (int)$owner_guid; + + $query = "SELECT distinct e.type,s.subtype,e.subtype as subtype_id from {$CONFIG->dbprefix}entities e left join {$CONFIG->dbprefix}entity_subtypes s on e.subtype=s.id"; + $owner_query = ""; + if ($owner_guid) { + $query .= " where owner_guid=$owner_guid"; + $owner_query = "and owner_guid=$owner_guid "; + } // Get a list of major types - $types = get_data("SELECT distinct e.type,s.subtype,e.subtype as subtype_id from {$CONFIG->dbprefix}entities e left join {$CONFIG->dbprefix}entity_subtypes s on e.subtype=s.id"); + + $types = get_data($query); foreach ($types as $type) { if (!is_array($entity_stats[$type->type])) $entity_stats[$type->type] = array(); // assume there are subtypes for now - $query = "SELECT count(*) as count from {$CONFIG->dbprefix}entities where type='{$type->type}'"; + $query = "SELECT count(*) as count from {$CONFIG->dbprefix}entities where type='{$type->type}' $owner_query"; if ($type->subtype) $query.= " and subtype={$type->subtype_id}"; $subtype_cnt = get_data_row($query); @@ -68,16 +71,6 @@ return false; } - /** - * Report how many users are currently online - * - * @return int - */ - function get_number_online() - { - // TODO: get logged in users somehow - } - /** * Return a list of how many users are currently online, rendered as a view. */ @@ -99,6 +92,10 @@ extend_elgg_admin_page('admin/statistics_opt/basic', 'admin/statistics'); extend_elgg_admin_page('admin/statistics_opt/numentities', 'admin/statistics'); extend_elgg_admin_page('admin/statistics_opt/online', 'admin/statistics'); + + + + extend_elgg_admin_page('usersettings/statistics_opt/numentities', 'usersettings/statistics'); } /// Register init function -- cgit v1.2.3