private function processActivationLink() { global $userMethods; $sql = e107::getDb(); $tp = e107::getParser(); $ns = e107::getRender(); $log = e107::getLog(); $pref = e107::pref('core'); $qs = explode('.', e_QUERY); if ($qs[0] == 'activate' && (count($qs) == 3 || count($qs) == 4) && $qs[2]) { // FIXME TODO use generic multilanguage selection => e107::coreLan(); // return the message in the correct language. if (isset($qs[3]) && strlen($qs[3]) == 2) { require_once e_HANDLER . 'language_class.php'; $slng = new language(); $the_language = $slng->convert($qs[3]); if (is_readable(e_LANGUAGEDIR . $the_language . '/lan_' . e_PAGE)) { include e_LANGUAGEDIR . $the_language . '/lan_' . e_PAGE; } else { include_lan(e_LANGUAGEDIR . e_LANGUAGE . '/lan_' . e_PAGE); } } else { include_lan(e_LANGUAGEDIR . e_LANGUAGE . '/lan_' . e_PAGE); } e107::getCache()->clear("online_menu_totals"); if ($sql->select("user", "*", "user_sess='" . $tp->toDB($qs[2], true) . "' ")) { if ($row = $sql->fetch()) { $dbData = array(); $dbData['WHERE'] = " user_sess='" . $tp->toDB($qs[2], true) . "' "; $dbData['data'] = array('user_ban' => '0', 'user_sess' => ''); // Set initial classes, and any which the user can opt to join if ($init_class = $userMethods->userClassUpdate($row, 'userfull')) { //print_a($init_class); exit; $dbData['data']['user_class'] = $init_class; } $userMethods->addNonDefaulted($dbData); validatorClass::addFieldTypes($userMethods->userVettingInfo, $dbData); $newID = $sql->update('user', $dbData); if ($newID === false) { $log->e_log_event(10, debug_backtrace(), 'USER', 'Verification Fail', print_r($row, true), false, LOG_TO_ROLLING); $ns->tablerender(LAN_SIGNUP_75, LAN_SIGNUP_101); return false; } // Log to user audit log if enabled $log->user_audit(USER_AUDIT_EMAILACK, $row); e107::getEvent()->trigger('userveri', $row); // Legacy event e107::getEvent()->trigger('user_signup_activated', $row); e107::getEvent()->trigger('userfull', $row); // 'New' event if (varset($pref['autologinpostsignup'])) { require_once e_HANDLER . 'login.php'; $usr = new userlogin(); $usr->login($row['user_loginname'], md5($row['user_name'] . $row['user_password'] . $row['user_join']), 'signup', ''); } $text = "<div class='alert alert-success'>" . LAN_SIGNUP_74 . " <a href='index.php'>" . LAN_SIGNUP_22 . "</a> " . LAN_SIGNUP_23 . "<br />" . LAN_SIGNUP_24 . " " . SITENAME . "</div>"; $ns->tablerender(LAN_SIGNUP_75, $text); } } else { // Invalid activation code $log->e_log_event(10, debug_backtrace(), 'USER', 'Invalid Verification URL', print_r($qs, true), false, LOG_TO_ROLLING); echo e107::getMessage()->addError("Invalid URL")->render(); // header("location: ".e_BASE."index.php"); return false; } } }
//$mes = e107::getMessage(); //$mes->debug("You are currently logged in."); $SIGNUP_BEGIN = "<div class='s-message'>\n\t <div class='error'> You are currently logged in.\n\t </div></div>" . $SIGNUP_BEGIN; } //---------------------------------------- // After clicking the activation link //---------------------------------------- if (e_QUERY) { $qs = explode('.', e_QUERY); if ($qs[0] == 'activate' && (count($qs) == 3 || count($qs) == 4) && $qs[2]) { //TODO use generic multilanguage selection // return the message in the correct language. if (isset($qs[3]) && strlen($qs[3]) == 2) { require_once e_HANDLER . 'language_class.php'; $slng = new language(); $the_language = $slng->convert($qs[3]); if (is_readable(e_LANGUAGEDIR . $the_language . '/lan_' . e_PAGE)) { include e_LANGUAGEDIR . $the_language . '/lan_' . e_PAGE; } else { include_lan(e_LANGUAGEDIR . e_LANGUAGE . '/lan_' . e_PAGE); } } else { include_lan(e_LANGUAGEDIR . e_LANGUAGE . '/lan_' . e_PAGE); } $e107cache->clear("online_menu_totals"); if ($sql->db_Select("user", "*", "user_sess='" . $tp->toDB($qs[2], true) . "' ")) { if ($row = $sql->db_Fetch()) { $dbData = array(); $dbData['WHERE'] = " user_sess='" . $tp->toDB($qs[2], true) . "' "; $dbData['data'] = array('user_ban' => '0', 'user_sess' => ''); // Set initial classes, and any which the user can opt to join