In weblogin.class.php replace the Logout() function with this (note: untested):
function Logout($type, $loHomeId = ''") {
global $modx;
$this->Type = $type;
if ($loHomeId != "") {
$loArray = explode("'",$loHomeId);
foreach($loArray as $id) {
$id = trim($id);
if ($modx->getPageInfo($id)) {
$url = $modx->makeURL($id);
break;
}
}
} else { // $loHomeId not set, send them to site_start
$url = $modx->config['site_start'];
}
/* do events and log out user */
$this->OnBeforeWebLogout;
$this->StatusToOffline();
$this->SessionHandler('destroy');
$this->OnWebLogout;
/* send the user to the logout page selected above */
if ($type !== 'taconite') { // don't know if this test is really necessary any more
$modx->sendRedirect($url,0,'REDIRECT_REFRESH');
}
}
It just logs the user out and sends them to the LoginHome. Skips the LogoutHome pages...
Thank you so much for the help. Hopefully we’re close to getting this figured out.
Oops. Take out the extra dollar sign in the foreach() statement. (fixed in the message -- but maybe still there in your code).
If that doesn’t work, it will take some debugging to see what’s happening. I’m afraid the debugging will have to be on your site because it will need all the documents, permissions, and users to be there.