Example #1
0
 public function rename($newlogin)
 {
     $config = new Config();
     $users = $config->get_array('/users');
     if (in_array($users, self::escape_login($newlogin))) {
         throw new Exception("Login name already exists");
     }
     $newusers = array();
     foreach ($users as $u) {
         if ($u != self::escape_login($this->login)) {
             $newusers[] = $u;
         } else {
             $newusers[] = self::escape_login($newlogin);
         }
     }
     $config->set_array('/users', $newusers);
     $oldlogin = $this->login;
     $this->login = $newlogin;
     $this->save();
     $config->delete_string('/users/' . self::escape_login($oldlogin) . '/first_name');
     $config->delete_string('/users/' . self::escape_login($oldlogin) . '/last_name');
     $config->delete_string('/users/' . self::escape_login($oldlogin) . '/password_hash');
     $config->delete_array('/users/' . self::escape_login($oldlogin) . '/roles');
     return true;
 }