I have a large site with an smf forum and at least 80 different user groups. More of that in another post. Each one has to login and I like the features of WebloginPE. So you can imagine my consternation when logging in appeared to work...but didnt. I was logged in to the Modx side but not the SMF side where I was a blank. It took me a while to find this one..
WebloginPE like weblogin invokes an OnWebLogin event. The SMF Connector uses it. Bit unlike WebloginPE that passed an array of arrays. SMF was expecting an array with username in it. I dont know why webloginPE is different but nomatter. I just tacked username onto the array like so. File is assets/snippets/webloginpe/webloginpe.class.php
About 2996
function OnWebLogin()
{
global $modx;
$parameters = array('user' => $this->User,'username' => $this->User['username']);
$modx->invokeEvent('OnWebLogin', $parameters);
}
Then came OnWebLogout...in this case WebloginPE got it completely wrong. It destroyed the session variables before trying to pass them in OnWebLogout.
So I added this to function logout
292
function Logout($type, $loHomeId = '')
{
$logoutparameters = array(
'username' => $_SESSION['webShortname'],
'internalKey' => $_SESSION['webInternalKey'],
'userid' => $_SESSION['webShortname']
);
And this for the OnWebLogout function (old code commented out)
about 3098
function OnWebLogout($logoutparameters)
{
global $modx;
//$paramaters = array(
//'userid' => $_SESSION['webInternalKey'],
//'internalKey' => $_SESSION['webInternalKey'],
//'username' => $_SESSION['webShortname']
// );
$modx->invokeEvent('OnWebLogout', $logoutparameters);
}
Good Luck