function register($pParamHash) { global $gBitUser, $gBitSmarty; if (!empty($_REQUEST['email']) && $gBitUser->userExists(array('email' => $_REQUEST['email']))) { if ($gBitUser->login($_REQUEST['email'], $_REQUEST['password'], FALSE, FALSE)) { $_REQUEST['customers_id'] = $gBitUser->mUserId; } else { $gBitSmarty->assign_by_ref('userErrors', $newUser->mErrors); } } else { $newUser = new BitPermUser(); if ($newUser->preRegisterVerify($_REQUEST) && $newUser->register($_REQUEST)) { $gBitUser->login($_REQUEST['email'], $_REQUEST['password'], FALSE, FALSE); $_REQUEST['customers_id'] = $gBitUser->mUserId; $this->mCustomerId = $gBitUser->mUserId; $this->syncBitUser($gBitUser->mInfo); $this->load(); } else { $gBitSmarty->assign_by_ref('userErrors', $newUser->mErrors); } } return count($gBitUser->mErrors) == 0; }