diff options
-rw-r--r-- | lib/class/catalog.class.php | 17 | ||||
-rw-r--r-- | lib/class/flag.class.php | 6 | ||||
-rw-r--r-- | lib/class/user.class.php | 64 | ||||
-rw-r--r-- | modules/init.php | 3 | ||||
-rw-r--r-- | randomplay.php | 1 | ||||
-rw-r--r-- | templates/show_admin_info.inc.php | 20 | ||||
-rw-r--r-- | templates/show_admin_tools.inc.php | 11 | ||||
-rw-r--r-- | templates/show_users_info.inc.php | 55 |
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 --> -</div><br /> -<span class="header2"><?php echo _('User Activity'); ?></span><br /> -<div class="text-box"> - <!-- Show Last 10 Active Users (Bandwidth Usage guess) --> - + <?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"> - + <?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&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&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> |