summaryrefslogtreecommitdiff
path: root/src/controllers/Users.class.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/controllers/Users.class.php')
-rw-r--r--src/controllers/Users.class.php27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/controllers/Users.class.php b/src/controllers/Users.class.php
index 57a585c..c30461f 100644
--- a/src/controllers/Users.class.php
+++ b/src/controllers/Users.class.php
@@ -258,8 +258,33 @@ class Users extends Controller {
foreach ($attribs as $attrib) {
$key = $attrib['key'];
if (isset($_POST[$key]) && is_array($_POST[$key])) {
+ $old = $_POST['_old'][$key];
foreach ($_POST[$key] as $uid => $value) {
- $this->setConf($uid, $key, $value);
+ $have_old = !isset($old[$uid]);
+ @$change_it = $old[$uid]!==$value;
+ if (!$have_old || $change_it) {
+ $user = Auth::getObj($uid);
+ $oldvalue = $this->getConf($user,$key);
+ $oldvalue = $oldvalue['value'];
+ if ($oldvalue===false) $oldvalue = 'false';
+ if ($oldvalue===true) $oldvalue = 'true';
+ $changed = $value != $oldvalue;
+ if ($changed) {
+ echo "<pre>\n";
+ echo "Error: Value changed elsewhere, and I don't have real handling for this yet.\n";
+ echo "uid: $uid\n";
+ echo "Name: ".$user->getName()."\n";
+ echo "Key: $key\n";
+ echo "oldvalue: "; var_dump($oldvalue); echo "\n";
+ echo "newvalue: "; var_dump($value); echo "\n";
+ echo "</pre>";
+
+ } else {
+ $this->setConf($uid,
+ $key,
+ $value);
+ }
+ }
}
}
}