summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-12-10 08:51:33 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-12-10 08:51:33 +0000
commit86148a427814fda15c6964317e3cbf5399ad4696 (patch)
treeb66873e0b7eb7c1881cf6dbfbf515d051f87c099 /lib
parent6cde9118b11c0ca82ef415ea30a54db1b30fc1ce (diff)
downloadampache-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.php11
-rw-r--r--lib/class/preference.class.php28
-rw-r--r--lib/preferences.php2
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