diff options
Diffstat (limited to 'src/controllers/Users.class.php')
-rw-r--r-- | src/controllers/Users.class.php | 27 |
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); + } + } } } } |