aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/statistics.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib/statistics.php')
-rw-r--r--engine/lib/statistics.php205
1 files changed, 102 insertions, 103 deletions
diff --git a/engine/lib/statistics.php b/engine/lib/statistics.php
index 24d2e4155..b8bf2b012 100644
--- a/engine/lib/statistics.php
+++ b/engine/lib/statistics.php
@@ -1,110 +1,109 @@
<?php
- /**
- * Elgg statistics library.
- * This file contains a number of functions for obtaining statistics about the running system.
- * These statistics are mainly used by the administration pages, and is also where the basic views for statistics
- * are added.
- *
- * @package Elgg
- * @subpackage Core
- * @author Curverider Ltd
- * @link http://elgg.org/
- */
-
- /**
- * 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($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 ";
+/**
+ * Elgg statistics library.
+ * This file contains a number of functions for obtaining statistics about the running system.
+ * These statistics are mainly used by the administration pages, and is also where the basic views for statistics
+ * are added.
+ *
+ * @package Elgg
+ * @subpackage Core
+ * @author Curverider Ltd
+ * @link http://elgg.org/
+ */
+
+/**
+ * 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($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($query);
+ foreach ($types as $type) {
+ // assume there are subtypes for now
+ if (!is_array($entity_stats[$type->type])) {
+ $entity_stats[$type->type] = array();
+ }
+
+ $query = "SELECT count(*) as count from {$CONFIG->dbprefix}entities where type='{$type->type}' $owner_query";
+ if ($type->subtype) {
+ $query.= " and subtype={$type->subtype_id}";
}
-
- // Get a list of major types
-
- $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}' $owner_query";
- if ($type->subtype) $query.= " and subtype={$type->subtype_id}";
-
- $subtype_cnt = get_data_row($query);
-
- if ($type->subtype)
- $entity_stats[$type->type][$type->subtype] = $subtype_cnt->count;
- else
- $entity_stats[$type->type]['__base__'] = $subtype_cnt->count;
+
+ $subtype_cnt = get_data_row($query);
+
+ if ($type->subtype) {
+ $entity_stats[$type->type][$type->subtype] = $subtype_cnt->count;
+ } else {
+ $entity_stats[$type->type]['__base__'] = $subtype_cnt->count;
}
-
- return $entity_stats;
}
-
- /**
- * Return the number of users registered in the system.
- *
- * @param bool $show_deactivated
- * @return int
- */
- function get_number_users($show_deactivated = false)
- {
- global $CONFIG;
-
- $access = "";
-
- if (!$show_deactivated)
- $access = "and " . get_access_sql_suffix();
-
- $result = get_data_row("SELECT count(*) as count from {$CONFIG->dbprefix}entities where type='user' $access");
-
- if ($result)
- return $result->count;
-
- return false;
+
+ return $entity_stats;
+}
+
+/**
+ * Return the number of users registered in the system.
+ *
+ * @param bool $show_deactivated
+ * @return int
+ */
+function get_number_users($show_deactivated = false) {
+ global $CONFIG;
+
+ $access = "";
+
+ if (!$show_deactivated) {
+ $access = "and " . get_access_sql_suffix();
}
-
- /**
- * Return a list of how many users are currently online, rendered as a view.
- */
- function get_online_users()
- {
- $offset = get_input('offset',0);
- $count = count(find_active_users(600,9999));
- $objects = find_active_users(600,10,$offset);
-
- if ($objects)
- {
- return elgg_view_entity_list($objects, $count,$offset,10,false);
- }
+
+ $result = get_data_row("SELECT count(*) as count from {$CONFIG->dbprefix}entities where type='user' $access");
+
+ if ($result) {
+ return $result->count;
}
-
- /**
- * Initialise the statistics admin page.
- */
- function statistics_init()
- {
- 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_settings_page('usersettings/statistics_opt/online', 'usersettings/statistics');
- extend_elgg_settings_page('usersettings/statistics_opt/numentities', 'usersettings/statistics');
+
+ return false;
+}
+
+/**
+ * Return a list of how many users are currently online, rendered as a view.
+ */
+function get_online_users() {
+ $offset = get_input('offset', 0);
+ $count = count(find_active_users(600, 9999));
+ $objects = find_active_users(600, 10, $offset);
+
+ if ($objects) {
+ return elgg_view_entity_list($objects, $count,$offset,10,false);
}
-
- /// Register init function
- register_elgg_event_handler('init','system','statistics_init');
-?>
+}
+
+/**
+ * Initialise the statistics admin page.
+ */
+function statistics_init() {
+ 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_settings_page('usersettings/statistics_opt/online', 'usersettings/statistics');
+ extend_elgg_settings_page('usersettings/statistics_opt/numentities', 'usersettings/statistics');
+}
+
+/// Register init function
+register_elgg_event_handler('init','system','statistics_init'); \ No newline at end of file