+  // Validate user input.
+  if (!ttValidString($cl_name))
+    $err->add($i18n->get('error.field'), $i18n->get('label.person_name'));
+  if (!ttValidString($cl_login))
+    $err->add($i18n->get('error.field'), $i18n->get('label.login'));
+  // If we change login, it must be unique.
+  if ($cl_login != $user->login && ttUserHelper::getUserByLogin($cl_login))
+    $err->add($i18n->get('error.user_exists'));
+  if (!$auth->isPasswordExternal() && ($cl_password1 || $cl_password2)) {
+      if (!ttValidString($cl_password1))
+        $err->add($i18n->get('error.field'), $i18n->get('label.password'));
+      if (!ttValidString($cl_password2))
+        $err->add($i18n->get('error.field'), $i18n->get('label.confirm_password'));
+      if ($cl_password1 !== $cl_password2)
+        $err->add($i18n->get('error.not_equal'), $i18n->get('label.password'), $i18n->get('label.confirm_password'));
+    }
+  if (!ttValidEmail($cl_email, true))
+    $err->add($i18n->get('error.field'), $i18n->get('label.email'));
+
+  if ($err->no() && ttAdmin::updateSelf(array('name' => $cl_name,