From e61a3b3ca1aae656a4c9f88713041e88c204eac5 Mon Sep 17 00:00:00 2001 From: Karl 'vollmerk' Vollmer Date: Wed, 29 Mar 2006 09:17:04 +0000 Subject: added in the manage users section and put in a temp disable songs section which currently does not work --- lib/class/catalog.class.php | 17 +++++----- lib/class/flag.class.php | 6 ++-- lib/class/user.class.php | 64 ++++++++++++++++++++++++++++++++++++++ modules/init.php | 3 ++ randomplay.php | 1 - templates/show_admin_info.inc.php | 20 +++++++----- templates/show_admin_tools.inc.php | 11 ++++--- templates/show_users_info.inc.php | 55 ++++++++++++++++++++++++++++++++ 8 files changed, 155 insertions(+), 22 deletions(-) create mode 100644 templates/show_users_info.inc.php 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); + ?>
@@ -38,9 +45,8 @@ $total_flagged = $flag->get_total();
  -

-
-
- -  + +
+ ... +
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(); ?> @@ -76,11 +77,13 @@ $catalogs = Catalog::get_catalogs();
-

- +
-  + +
+ ... +
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 @@ + + + + + + + + +format_user(); ?> + + + + + + + + + + + +
()
+ + fullname); ?> (username); ?>) + + f_last_seen); ?> + + f_useage); ?> + + + + +
-- cgit