Пример #1
0
 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;
         }
     }
 }
Пример #2
0
    //$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