/** * Unimpersonates and switches back to the original user */ public function unimpersonate() { if (count($this->_impersonateUserStack) > 0) { $userId = array_pop($this->_impersonateUserStack); $user = new User($userId); $userInfo = $user->get(); if ($userInfo) { $this->_isvalidated = true; $this->_uid = $userId; } foreach (Singleton::$instances as $currSignature => $currInstance) { if (strpos($currSignature, 'PageMGR-') === 0) { Singleton::unregister($currSignature); } } Singleton::unregister("UserMgr"); Singleton::unregister("Usergroups"); Singleton::unregister("cbMgr"); Singleton::unregister("fileMgr"); Singleton::unregister("sites"); Singleton::unregister("mailingMgr"); Singleton::unregister("Tags"); Singleton::unregister("templates"); Singleton::unregister("entrymasks"); Singleton::unregister("comments"); Singleton::unregister("filetypes"); Singleton::unregister("views"); Singleton::register("UserMgr", $this); Singleton::register("Usergroups", new Usergroups()); Singleton::register("cbMgr", new CblockMgr()); Singleton::register("fileMgr", new FileMgr()); Singleton::register("sites", new Sites()); Singleton::register("mailingMgr", new MailingMgr()); Singleton::register("Tags", new Tags()); Singleton::register("templates", new Templates()); Singleton::register("entrymasks", new Entrymasks()); Singleton::register("comments", new Comments()); Singleton::register("filetypes", new Filetypes()); Singleton::register("views", new Views()); } }