diff options
-rw-r--r-- | lib/class/preference.class.php | 10 | ||||
-rw-r--r-- | lib/preferences.php | 4 | ||||
-rw-r--r-- | modules/localplay/httpq.controller.php | 9 |
3 files changed, 18 insertions, 5 deletions
diff --git a/lib/class/preference.class.php b/lib/class/preference.class.php index c7838b77..a648434c 100644 --- a/lib/class/preference.class.php +++ b/lib/class/preference.class.php @@ -41,7 +41,7 @@ class Preference { * update * This updates a single preference from the given name or id */ - public static function update($preference,$user_id,$value) { + public static function update($preference,$user_id,$value,$applytoall='') { // First prepare if (!is_numeric($preference)) { @@ -52,13 +52,19 @@ class Preference { $name = self::name_from_id($preference); $id = $preference; } + if ($applytoall AND Access::check('interface','100')) { + $user_check = ""; + } + else { + $user_check = " AND `user`='$user_id'"; + } // Now do if (self::has_access($name)) { $value = Dba::escape($value); $user_id = Dba::escape($user_id); $sql = "UPDATE `user_preference` SET `value`='$value' " . - "WHERE `preference`='$id' AND `user`='$user_id'"; + "WHERE `preference`='$id'$user_check"; $db_results = Dba::query($sql); return true; } diff --git a/lib/preferences.php b/lib/preferences.php index 7247bf63..d37404c8 100644 --- a/lib/preferences.php +++ b/lib/preferences.php @@ -66,15 +66,13 @@ function update_preferences($pref_id=0) { default: break; } - /* Run the update for this preference only if it's set */ if (isset($_REQUEST[$name])) { - Preference::update($id,$pref_id,$value); + Preference::update($id,$pref_id,$value,$_REQUEST[$apply_to_all]); } } // end foreach preferences - } // update_preferences /** diff --git a/modules/localplay/httpq.controller.php b/modules/localplay/httpq.controller.php index 990cc00e..e7ac27de 100644 --- a/modules/localplay/httpq.controller.php +++ b/modules/localplay/httpq.controller.php @@ -193,7 +193,16 @@ class AmpacheHttpq extends localplay_controller { */ public function update_instance($uid,$data) { + $uid = Dba::escape($uid); + $port = Dba::escape($data['port']); + $host = Dba::escape($data['host']); + $name = Dba::escape($data['name']); + $pass = Dba::escape($data['password']); + + $sql = "UPDATE `localplay_httpq` SET `host`='$host', `port`='$port', `name`='$name', `password`='$password' WHERE `id`='$uid'"; + $db_results = Dba::query($sql); + return true; } // update_instance |