diff options
author | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2007-12-10 08:51:33 +0000 |
---|---|---|
committer | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2007-12-10 08:51:33 +0000 |
commit | 86148a427814fda15c6964317e3cbf5399ad4696 (patch) | |
tree | b66873e0b7eb7c1881cf6dbfbf515d051f87c099 /lib | |
parent | 6cde9118b11c0ca82ef415ea30a54db1b30fc1ce (diff) | |
download | ampache-86148a427814fda15c6964317e3cbf5399ad4696.tar.gz ampache-86148a427814fda15c6964317e3cbf5399ad4696.tar.bz2 ampache-86148a427814fda15c6964317e3cbf5399ad4696.zip |
re-added the edit users prefs mojo
Diffstat (limited to 'lib')
-rw-r--r-- | lib/class/access.class.php | 11 | ||||
-rw-r--r-- | lib/class/preference.class.php | 28 | ||||
-rw-r--r-- | lib/preferences.php | 2 |
3 files changed, 39 insertions, 2 deletions
diff --git a/lib/class/access.class.php b/lib/class/access.class.php index 3e8331e3..b46b248b 100644 --- a/lib/class/access.class.php +++ b/lib/class/access.class.php @@ -222,6 +222,8 @@ class Access { */ public static function check($type,$level) { + if (!Config::get('use_auth') || Config::get('demo_mode')) { return true; } + $level = intval($level); // Switch on the type @@ -235,6 +237,15 @@ class Access { return false; } break; + case 'interface': + // Check their standard user level + if ($GLOBALS['user']->access >= $level) { + return true; + } + else { + return false; + } + break; default: return false; break; diff --git a/lib/class/preference.class.php b/lib/class/preference.class.php index e2dc57d5..d4841483 100644 --- a/lib/class/preference.class.php +++ b/lib/class/preference.class.php @@ -148,7 +148,33 @@ class Preference { return $results; } // get_catagories - + + /** + * get_all + * This returns a nice flat array of all of the possible preferences for the specified user + */ + public static function get_all($user_id) { + + $user_id = Dba::escape($user_id); + + if ($user_id != '-1') { + $user_limit = "AND `preference`.`catagory` != 'system'"; + } + + $sql = "SELECT `preference`.`name`,`preference`.`description`,`user_preference`.`value` FROM `preference` " . + " INNER JOIN `user_preference` ON `user_preference`.`preference`=`preference`.`id` " . + " WHERE `user_preference`.`user`='$user_id' AND `preference`.`catagory` != 'internal' $user_limit"; + $db_results = Dba::query($sql); + + $results = array(); + + while ($row = Dba::fetch_assoc($db_results)) { + $results[] = array('name'=>$row['name'],'level'=>$row['level'],'description'=>$row['description'],'value'=>$row['value']); + } + + return $results; + + } // get_all /** * insert diff --git a/lib/preferences.php b/lib/preferences.php index 6a5b2bd5..45e12bbb 100644 --- a/lib/preferences.php +++ b/lib/preferences.php @@ -82,7 +82,7 @@ function update_preferences($pref_id=0) { /* Run the update for this preference only if it's set */ if (isset($_REQUEST[$name])) { - update_preference($pref_id,$name,$id,$value); + Preference::update($id,$pref_id,$value); } } // end foreach preferences |