Elgg\PasswordService::sendNewPasswordRequest PHP Метод

sendNewPasswordRequest() публичный Метод

Generate and send a password request email to a given user's registered email address.
public sendNewPasswordRequest ( integer $user_guid ) : boolean
$user_guid integer User GUID
Результат boolean
    function sendNewPasswordRequest($user_guid)
    {
        $user_guid = (int) $user_guid;
        $user = _elgg_services()->entityTable->get($user_guid);
        if (!$user instanceof \ElggUser) {
            return false;
        }
        // generate code
        $code = generate_random_cleartext_password();
        $user->setPrivateSetting('passwd_conf_code', $code);
        $user->setPrivateSetting('passwd_conf_time', time());
        // generate link
        $link = _elgg_services()->config->getSiteUrl() . "changepassword?u={$user_guid}&c={$code}";
        $link = _elgg_services()->urlSigner->sign($link, '+1 day');
        // generate email
        $ip_address = _elgg_services()->request->getClientIp();
        $message = _elgg_services()->translator->translate('email:changereq:body', array($user->name, $ip_address, $link), $user->language);
        $subject = _elgg_services()->translator->translate('email:changereq:subject', array(), $user->language);
        $params = ['action' => 'requestnewpassword', 'object' => $user, 'ip_address' => $ip_address, 'link' => $link];
        return notify_user($user->guid, elgg_get_site_entity()->guid, $subject, $message, $params, 'email');
    }