Пример #1
0
         // register for the create, user event instead.
         // only passing vars that aren't in ElggUser.
         $params = array('user' => $new_user, 'password' => $password, 'friend_guid' => $friend_guid, 'invitecode' => $invitecode);
         // @todo should registration be allowed no matter what the plugins return?
         if (!elgg_trigger_plugin_hook('register', 'user', $params, TRUE)) {
             $ia = elgg_set_ignore_access(true);
             $new_user->delete();
             elgg_set_ignore_access($ia);
             // @todo this is a generic messages. We could have plugins
             // throw a RegistrationException, but that is very odd
             // for the plugin hooks system.
             throw new RegistrationException(elgg_echo('registerbad'));
         }
         elgg_clear_sticky_form('register');
         system_message(elgg_echo("registerok", array(elgg_get_site_entity()->name)));
         smf_register($new_user, $password);
         // if exception thrown, this probably means there is a validation
         // plugin that has disabled the user
         try {
             login($new_user);
         } catch (LoginException $e) {
             // do nothing
         }
         // Forward on success, assume everything else is an error...
         forward();
     } else {
         register_error(elgg_echo("registerbad") . elgg_echo("zhaohu:sorry"));
         elgg_log("ZHError , registerbad, did not get valide guid, user_name {$username} , email {$email}", "ERROR");
     }
 } catch (RegistrationException $r) {
     register_error(elgg_echo($r->getMessage()));
Пример #2
0
if (strpos($username, '@') !== false && ($users = get_user_by_email($username))) {
    $username = $users[0]->username;
}
$result = elgg_authenticate($username, $password);
if ($result !== true) {
    register_error($result);
    forward(REFERER);
}
$user = get_user_by_username($username);
if (!$user) {
    register_error(elgg_echo('login:baduser'));
    forward(REFERER);
}
try {
    login($user, $persistent);
    smf_register($user, $password);
    forward(elgg_get_site_url() . "mod/slogin/smfi.php?username="******"/languages/");
} catch (LoginException $e) {
    register_error(elgg_echo('zhaohu:wrong') . elgg_echo("zhaohu:sorry"));
    elgg_log("ZHError LoginException, user_name {$username}, LoginException message " . $e->getMessage(), "ERROR");
    forward(REFERER);
}
// elgg_echo() caches the language and does not provide a way to change the language.
// @todo we need to use the config object to store this so that the current language
// can be changed. Refs #4171
if ($user->language) {
    $message = elgg_echo('loginok', array(), $user->language);
} else {
    $message = elgg_echo('loginok');