summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/class/preference.class.php10
-rw-r--r--lib/preferences.php4
-rw-r--r--modules/localplay/httpq.controller.php9
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