From f305c20b41eedc9983ecd1cfc9f1a6aebbe2e621 Mon Sep 17 00:00:00 2001 From: Git Date: Mon, 9 Jul 2012 08:00:09 +0000 Subject: [PATCH] Empty commit --- classes/class_paranoia.php | 34 ++++-- sections/user/index.php | 6 +- sections/user/user.php | 228 ++++++++++++++++++++++--------------- static/styles/global.css | 34 +++++- 4 files changed, 193 insertions(+), 109 deletions(-) diff --git a/classes/class_paranoia.php b/classes/class_paranoia.php index aeb37d40..361e4b42 100644 --- a/classes/class_paranoia.php +++ b/classes/class_paranoia.php @@ -37,14 +37,16 @@ * @param $Paranoia The paranoia level to check against. * @param $UserClass The user class to check against (Staff can see through paranoia of lower classed staff) * @param $UserID Optional. The user ID of the person being viewed - * @return Boolean representing whether the current user can see through the paranoia setting + * @return mixed 1 representing the user has normal access + 2 representing that the paranoia was overridden, + false representing access denied. */ +define("PARANOIA_ALLOWED", 1); +define("PARANOIA_OVERRIDDEN", 2); + function check_paranoia($Property, $Paranoia, $UserClass, $UserID = false) { global $LoggedUser, $Classes; - if(check_perms('users_override_paranoia', $UserClass)) { - return true; - } if ($Property == false) { return false; } @@ -60,29 +62,39 @@ function check_paranoia($Property, $Paranoia, $UserClass, $UserID = false) { return $all; } else { if(($UserID !== false) && ($LoggedUser['ID'] == $UserID)) { - return true; + return PARANOIA_ALLOWED; } $May = !in_array($Property, $Paranoia) && !in_array($Property . '+', $Paranoia); + if($May) + return PARANOIA_ALLOWED; + + if(check_perms('users_override_paranoia', $UserClass)) + return PARANOIA_OVERRIDDEN; + $Override=false; switch ($Property) { case 'downloaded': case 'ratio': case 'uploaded': case 'lastseen': - $May = $May || check_perms('users_mod', $UserClass); + if(check_perms('users_mod', $UserClass)) + return PARANOIA_OVERRIDDEN; break; case 'snatched': case 'snatched+': - $May = $May || check_perms('site_view_torrent_snatchlist', $UserClass); + if(check_perms('users_view_torrents_snatchlist', $UserClass)) + return PARANOIA_OVERRIDDEN; break; case 'uploads': case 'uploads+': case 'seeding': case 'seeding+': case 'leeching': case 'leeching+': - $May = $May || check_perms('users_view_seedleech', $UserClass); + if(check_perms('users_view_seedleech', $UserClass)) + return PARANOIA_OVERRIDDEN; break; case 'invitedcount': - $May = $May || check_perms('users_view_invites', $UserClass); + if(check_perms('users_view_invites', $UserClass)) + return PARANOIA_OVERRIDDEN; break; } - return $May; + return false; } -} +} \ No newline at end of file diff --git a/sections/user/index.php b/sections/user/index.php index 6a02c10b..8eaba161 100644 --- a/sections/user/index.php +++ b/sections/user/index.php @@ -33,18 +33,16 @@ case 'search':// User search if (check_perms('admin_advanced_user_search') && check_perms('users_view_ips') && check_perms('users_view_email')) { include('advancedsearch.php'); - } else { + } else include('search.php'); - } break; case 'edit': include('edit.php'); break; - + case 'takeedit': include('takeedit.php'); break; - case 'invitetree': include(SERVER_ROOT.'/sections/user/invitetree.php'); break; diff --git a/sections/user/user.php b/sections/user/user.php index f40f0c87..4a508295 100644 --- a/sections/user/user.php +++ b/sections/user/user.php @@ -6,10 +6,10 @@ include(SERVER_ROOT.'/sections/requests/functions.php'); include(SERVER_ROOT.'/classes/class_image_tools.php'); -if (empty($_GET['id']) || !is_numeric($_GET['id'])) { error(0); } +if (empty($_GET['id']) || !is_numeric($_GET['id'])) + error(0); + $UserID = $_GET['id']; - - if($UserID == $LoggedUser['ID']) { $OwnProfile = true; } else { @@ -213,23 +213,23 @@ function check_paranoia_here($Setting) {
Stats
@@ -287,24 +287,24 @@ function check_paranoia_here($Setting) {
Percentile Rankings (Hover for values)