summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpb1dft <pb1dft@ampache>2006-10-27 21:14:40 +0000
committerpb1dft <pb1dft@ampache>2006-10-27 21:14:40 +0000
commit5db7a0e53c7a9e415254bbda05496e31cf2f699c (patch)
treecb80788fe089e03e383adfb26829e881528e1597
parente502a62b1ddc0278525bd890c6acc323b8eeefa3 (diff)
downloadampache-5db7a0e53c7a9e415254bbda05496e31cf2f699c.tar.gz
ampache-5db7a0e53c7a9e415254bbda05496e31cf2f699c.tar.bz2
ampache-5db7a0e53c7a9e415254bbda05496e31cf2f699c.zip
Strange error occured while commiting
-rw-r--r--admin/users.php3
-rw-r--r--lib/class/stats.class.php28
-rw-r--r--lib/class/user.class.php14
-rw-r--r--lib/ui.lib.php32
-rw-r--r--rss.php2
-rw-r--r--templates/show_users.inc8
6 files changed, 84 insertions, 3 deletions
diff --git a/admin/users.php b/admin/users.php
index 31d4ba37..ff298305 100644
--- a/admin/users.php
+++ b/admin/users.php
@@ -155,6 +155,9 @@ switch ($action) {
show_confirmation(_("Delete Error"), _("Unable to delete last Admin User"),"admin/users.php");
}
break;
+ case 'show_ip_history':
+ show_ip_history();
+ break;
case 'show_add_user':
if (conf('demo_mode')) { break; }
$type = 'new_user';
diff --git a/lib/class/stats.class.php b/lib/class/stats.class.php
index 057d2534..f06f8f9f 100644
--- a/lib/class/stats.class.php
+++ b/lib/class/stats.class.php
@@ -91,6 +91,34 @@ class Stats {
} // get_top
/**
+ * get_ip_history
+ * This returns the ip_history from the
+ * last conf('user_ip_cardinality') days
+ */
+ function get_ip_history($count,$type,$user) {
+
+ $count = intval($count);
+ $type = $this->validate_type($type);
+ $date = time() - (86400*conf('user_ip_cardinality'));
+
+ /* Select ip history */
+ $sql = "SELECT ip,date FROM ip_history" .
+ " WHERE user='$user->username' AND date >= '$date'" .
+ " ORDER BY `date` DESC LIMIT $count";
+ $db_results = mysql_query($sql, dbh());
+
+ $results = array();
+
+ while ($r = mysql_fetch_assoc($db_results)) {
+ $results[] = $r;
+ }
+
+ return $results;
+
+ } // get_ip_history
+
+
+ /**
* get_user
* This gets all stats for atype based on user with thresholds and all
* If full is passed, doesn't limit based on date
diff --git a/lib/class/user.class.php b/lib/class/user.class.php
index 66eb088e..efa5db8c 100644
--- a/lib/class/user.class.php
+++ b/lib/class/user.class.php
@@ -509,8 +509,8 @@ class User {
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->uid' AND object_count.object_type='song'";
+ $sql = "SELECT song.size FROM song LEFT JOIN object_count ON song.id=object_count.object_id " .
+ "WHERE object_count.user='$this->uid' AND object_count.object_type='song'";
$db_results = mysql_query($sql, dbh());
while ($r = mysql_fetch_assoc($db_results)) {
@@ -533,6 +533,16 @@ class User {
} // end switch
$this->f_useage = round($total,2) . $name;
+
+ /* Get Users Last ip */
+ $sql = "SELECT ip FROM ip_history WHERE user = '$this->username' ORDER BY ip DESC LIMIT 1";
+ $db_results = mysql_query($sql, dbh());
+
+ while ($r = mysql_fetch_assoc($db_results)) {
+ $this->ip_history = int2ip($r[ip]);
+ }
+
+
} // format_user
diff --git a/lib/ui.lib.php b/lib/ui.lib.php
index 1d11ea7f..dffe38fd 100644
--- a/lib/ui.lib.php
+++ b/lib/ui.lib.php
@@ -150,6 +150,38 @@ function show_users () {
} // show_users()
+/**
+ * show_ip_history
+ * shows ip_history of specific user(admin function)
+ */
+
+function show_ip_history (){
+
+ $dbh = dbh();
+ $date = time() - (86400*conf('user_ip_cardinality'));
+ $sql = "SELECT ip,date FROM ip_history where user = '$_REQUEST[user]' and date >= '$date' ORDER BY date DESC";
+ $db_results = mysql_query($sql, $dbh);
+
+ show_box_top();
+echo " <table class=\"tabledata\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n".
+ " <tr class=\"table-header\">\n".
+ " <td colspan=2>$_REQUEST[user]: IP History</td>\n".
+ " </tr>\n".
+ " <tr class=\"table-header\">\n".
+ " <td align=\"center\">\n".
+ " <b>Date</b>\n".
+ " </td>\n".
+ " <td align=\"center\">\n".
+ " <b>Ip Address</b>\n".
+ " </td>\n".
+ " </tr>\n";
+
+while ($r = mysql_fetch_array($db_results)){
+ echo "<tr class=". flip_class() .">\n <td>".date("m\/d\/Y-H:i",$r[date])."</td>\n <td>".int2ip($r[ip])."</td>\n</tr>\n";
+ }
+echo "</table>\n";
+show_box_bottom();
+} // show_ip_history
/**
* return_referer
diff --git a/rss.php b/rss.php
index 6599de09..77631230 100644
--- a/rss.php
+++ b/rss.php
@@ -29,6 +29,6 @@ if (!conf('use_rss') || conf('demo_mode')) {
}
#show_now_playingRSS($_REQUEST['username']);
-show_RSS($_REQUEST['type']);
+show_RSS($_REQUEST['type'],$_REQUEST['username']);
?>
diff --git a/templates/show_users.inc b/templates/show_users.inc
index da6ecd2f..10ed8a55 100644
--- a/templates/show_users.inc
+++ b/templates/show_users.inc
@@ -57,6 +57,9 @@ $admin_menu = "admin/";
<td align="center">
<b><?php echo _("Activity"); ?></b>
</td>
+ <td align="center">
+ <b><?php echo _("Last Ip"); ?></b>
+ </td>
<td colspan="5">&nbsp;</td>
<!--
@@ -106,6 +109,11 @@ while ($results = mysql_fetch_object($db_result)) {
<td>
<?php echo $user->f_useage; ?>
</td>
+ <td>
+ <a href="<?php echo $web_path; ?>/admin/users.php?action=show_ip_history&amp;user=<?php echo $user->username; ?>">
+ <?php echo $user->ip_history; ?>
+ </a>
+ </td>
<td>