summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/class/catalog.class.php17
-rw-r--r--lib/class/flag.class.php6
-rw-r--r--lib/class/user.class.php64
-rw-r--r--modules/init.php3
-rw-r--r--randomplay.php1
-rw-r--r--templates/show_admin_info.inc.php20
-rw-r--r--templates/show_admin_tools.inc.php11
-rw-r--r--templates/show_users_info.inc.php55
8 files changed, 155 insertions, 22 deletions
diff --git a/lib/class/catalog.class.php b/lib/class/catalog.class.php
index 66b675b4..125fc4f5 100644
--- a/lib/class/catalog.class.php
+++ b/lib/class/catalog.class.php
@@ -555,17 +555,18 @@ class Catalog {
} //get_catalog_files
- /*!
- @function get_disabled
- @discussion Gets an array of the disabled songs for all catalogs
- and returns full song objects with them
- */
- function get_disabled() {
- global $conf;
+ /**
+ * get_disabled
+ * Gets an array of the disabled songs for all catalogs
+ * and returns full song objects with them
+ */
+ function get_disabled($count=0) {
$results = array();
- $sql = "SELECT id FROM song WHERE enabled='0'";
+ if ($count) { $limit_clause = " LIMIT $count"; }
+
+ $sql = "SELECT id FROM song WHERE enabled='0' $limit_clause";
$db_results = mysql_query($sql, dbh());
while ($r = mysql_fetch_array($db_results)) {
diff --git a/lib/class/flag.class.php b/lib/class/flag.class.php
index 59a07aaa..fe2f3047 100644
--- a/lib/class/flag.class.php
+++ b/lib/class/flag.class.php
@@ -90,14 +90,16 @@ class Flag {
if ($count) { $limit = " LIMIT " . intval($count); }
+ $results = array();
+
$sql = "SELECT id FROM flagged ORDER BY date " . $limit;
$db_results = mysql_query($sql, dbh());
while ($r = mysql_fetch_assoc($db_results)) {
- $results[] = $r;
+ $results[] = $r['id'];
}
- return $results['id'];
+ return $results;
} // get_recent
diff --git a/lib/class/user.class.php b/lib/class/user.class.php
index dbcbd97d..e4567ef0 100644
--- a/lib/class/user.class.php
+++ b/lib/class/user.class.php
@@ -531,6 +531,49 @@ class User {
return true;
} // update_password
+ /**
+ * format_user
+ * This function sets up the extra variables we need when we are displaying a
+ * user for an admin, these should not be normally called when creating a
+ * user object
+ */
+ function format_user() {
+
+ /* If they have a last seen date */
+ if (!$this->last_seen) { $this->f_last_seen = "Never"; }
+ else { $this->f_last_seen = date("m\/d\/Y - H:i",$this->last_seen); }
+
+ /* If they have a create date */
+ if (!$this->create_date) { $this->f_create_date = "Unknown"; }
+ else { $this->f_create_date = date("m\/d\/Y - H:i",$user->create_date); }
+
+ /* Calculate their total Bandwidth Useage */
+ $sql = "SELECT song.size FROM object_count LEFT JOIN song ON song.id=object_count.object_id " .
+ "WHERE object_count.userid='$this->id' AND object_count.object_type='song'";
+ $db_results = mysql_query($sql, dbh());
+
+ while ($r = mysql_fetch_assoc($db_results)) {
+ $total = $total + $r['size'];
+ }
+
+ $divided = 0;
+
+ while (strlen(floor($total)) > 3) {
+ $total = ($total / 1024);
+ $divided++;
+ }
+
+ switch ($divided) {
+ case '1': $name = "KB"; break;
+ case '2': $name = "MB"; break;
+ case '3': $name = "GB"; break;
+ case '4': $name = "TB"; break;
+ case '5': $name = "PB"; break;
+ } // end switch
+
+ $this->f_useage = round($total,2) . $name;
+
+ } // format_user
/*!
@function format_favorites
@@ -789,6 +832,27 @@ class User {
} // get_user_validation
+ /**
+ * get_recent
+ * This returns users by thier last login date
+ */
+ function get_recent($count=0) {
+
+ if ($count) { $limit_clause = " LIMIT $count"; }
+
+ $results = array();
+
+ $sql = "SELECT username FROM user ORDER BY last_seen $limit_clause";
+ $db_results = mysql_query($sql, dbh());
+
+ while ($r = mysql_fetch_assoc($db_results)) {
+ $results[] = $r['username'];
+ }
+
+ return $results;
+
+ } // get_recent
+
/*!
@function activate_user
@activates the user from public_registration
diff --git a/modules/init.php b/modules/init.php
index eff482c2..d055019d 100644
--- a/modules/init.php
+++ b/modules/init.php
@@ -225,6 +225,9 @@ if (($gc_divisor / $gc_probability) > 5) {
ini_set('session.gc_probability',$new_gc_probability);
}
+/* PHP5 Date problem solved.. ya'll GMT now! */
+putenv("TZ=GMT");
+
/* END Set PHP Vars */
/* Overwrite them with the DB preferences */
diff --git a/randomplay.php b/randomplay.php
index e46cea07..155b81b6 100644
--- a/randomplay.php
+++ b/randomplay.php
@@ -34,5 +34,4 @@ $action = scrub_in($_REQUEST['action']);
show_template('show_random_play');
show_footer();
-
?>
diff --git a/templates/show_admin_info.inc.php b/templates/show_admin_info.inc.php
index 2d69c058..b87a7847 100644
--- a/templates/show_admin_info.inc.php
+++ b/templates/show_admin_info.inc.php
@@ -21,11 +21,18 @@
*/
$web_path = conf('web_path');
-/* Setup the needed objects */
+/* Flagged Information Gathering */
$flag = new Flag();
-$flagged = $flag->get_recent('10');
+$flagged = $flag->get_recent(10);
$total_flagged = $flag->get_total();
+/* Disabled Information Gathering */
+$catalog = new Catalog();
+$songs = $catalog->get_disabled(10);
+
+/* User Information */
+$users = $GLOBALS['user']->get_recent(10);
+
?>
<span class="header1"><?php echo _('Information'); ?></span><br />
<div class="text-box">
@@ -38,9 +45,8 @@ $total_flagged = $flag->get_total();
<span class="header2"><?php echo _('Disabled Songs'); ?></span><br />
<div class="text-box">
<!-- Show Last 10 Disabled Songs -->&nbsp;
-</div><br />
-<span class="header2"><?php echo _('User Activity'); ?></span><br />
-<div class="text-box">
- <!-- Show Last 10 Active Users (Bandwidth Usage guess) -->
-&nbsp;
+ <?php require (conf('prefix') . '/templates/show_disabled_songs.inc'); ?>
+ <div class="text-action">
+ <a href="<?php echo $web_path; ?>/admin/catalog.php?action=show_disabled"><?php echo _('Show All'); ?>...</a>
+ </div>
</div>
diff --git a/templates/show_admin_tools.inc.php b/templates/show_admin_tools.inc.php
index 94a33932..1dade1f2 100644
--- a/templates/show_admin_tools.inc.php
+++ b/templates/show_admin_tools.inc.php
@@ -20,7 +20,8 @@
*/
$web_path = conf('web_path');
-$catalogs = Catalog::get_catalogs();
+$catalog = new Catalog();
+$catalogs = $catalog->get_catalogs();
?>
<span class="header1"><?php echo _('Catalogs'); ?></span>
@@ -76,11 +77,13 @@ $catalogs = Catalog::get_catalogs();
<div class="text-box">
<div class="text-action">
<a href="<?php echo $web_path; ?>/admin/duplicates.php"><?php echo _('Show Duplicate Songs'); ?></a>
- <a href="<?php echo $web_path; ?>/admin/catalog.php?action=show_disabled"><?php echo _('Show Disabled Songs'); ?></a>
<a href="<?php echo $web_path; ?>/admin/catalog.php?action=clear_now_playing"><?php echo _('Clear Now Playing'); ?></a>
</div>
</div><br />
-<span class="header1"><?php echo _('Manage Users'); ?></span>
+<span class="header2"><?php echo _('User Activity'); ?></span><br />
<div class="text-box">
-&nbsp;
+ <?php require (conf('prefix') . '/templates/show_users_info.inc.php'); ?>
+ <div class="text-action">
+ <a href="<?php echo $web_path; ?>/admin/users.php"><?php echo _('Show All'); ?>...</a>
+ </div>
</div>
diff --git a/templates/show_users_info.inc.php b/templates/show_users_info.inc.php
new file mode 100644
index 00000000..3a854d04
--- /dev/null
+++ b/templates/show_users_info.inc.php
@@ -0,0 +1,55 @@
+<?php
+/*
+
+ Copyright (c) 2001 - 2006 Ampache.org
+ All rights reserved.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+*/
+
+$web_path = conf('web_path');
+?>
+<table class="tabledata" cellpadding="0" cellspacing="0" border="0">
+<tr class="table-header">
+ <th align="center"><?php echo _('Fullname'); ?> (<?php echo _('Username'); ?>)</th>
+ <th align="center"><?php echo _('Last Seen'); ?></th>
+ <th align="center"><?php echo _('Activity'); ?></th>
+ <th align="center"><?php echo _('Action'); ?></th>
+</tr>
+<?php foreach ($users as $user_id) { $data = new User($user_id); $data->format_user(); ?>
+<tr class="<?php echo flip_class(); ?>">
+ <td>
+ <a href="<?php echo $web_path; ?>/admin/users.php?action=show_edit&amp;user=<?php echo scrub_out($data->id); ?>">
+ <?php echo scrub_out($data->fullname); ?> (<?php echo scrub_out($data->username); ?>)</a>
+ </td>
+ <td align="center">
+ <?php echo scrub_out($data->f_last_seen); ?>
+ </td>
+ <td>
+ <?php echo scrub_out($data->f_useage); ?>
+ </td>
+ <td>
+ <a href="<?php echo $web_path; ?>/admin/users.php?action=edit&amp;user=<?php echo scrub_out($data->id); ?>">
+ <?php echo _('Edit'); ?>
+ </a>
+ </td>
+</tr>
+<?php } if (!count($users)) { ?>
+<tr>
+ <td colspan="4"><?php echo _('No Records Found'); ?></td>
+</tr>
+<?php } ?>
+</table>