本文整理汇总了PHP中CB\User::generateRecoveryHash方法的典型用法代码示例。如果您正苦于以下问题:PHP User::generateRecoveryHash方法的具体用法?PHP User::generateRecoveryHash怎么用?PHP User::generateRecoveryHash使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CB\User
的用法示例。
在下文中一共展示了User::generateRecoveryHash方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sendResetPasswordMail
/**
* send recovery password email for given user id
* so that the user can set new password and enter the system
* @param int $userId
* @return boolean
*/
public static function sendResetPasswordMail($userId, $template = 'recover')
{
if (!is_numeric($userId) || User::isLoged() && !Security::canEditUser($userId)) {
return false;
}
$mail = '';
$subject = '';
switch ($template) {
case 'invite':
$mail = System::getEmailTemplate('email_invite');
$subject = L\get('MailInviteSubject');
break;
case 'recover':
$mail = System::getEmailTemplate('password_recovery_email');
$subject = L\get('MailRecoverSubject');
break;
default:
return false;
}
if (empty($mail)) {
return false;
}
$userData = User::getPreferences($userId);
$userEmail = User::getEmail($userData);
if (empty($userEmail)) {
return false;
}
/* generating invite hash and sending mail */
$hash = User::generateRecoveryHash($userId, $userId . $userEmail . date(DATE_ISO8601));
$href = Util\getCoreHost() . 'recover/reset-password/?h=' . $hash;
/* replacing placeholders in template and subject */
$replacements = array('{projectTitle}' => Config::getProjectName(), '{fullName}' => User::getDisplayName($userData), '{username}' => User::getUsername($userData), '{userEmail}' => $userEmail, '{creatorFullName}' => User::getDisplayName(), '{creatorUsername}' => User::getUsername(), '{creatorEmail}' => User::getEmail(), '{href}' => $href, '{link}' => '<a href="' . $href . '" >' . $href . '</a>');
$search = array_keys($replacements);
$replace = array_values($replacements);
$mail = str_replace($search, $replace, $mail);
$subject = str_replace($search, $replace, $subject);
return @System::sendMail($userEmail, $subject, $mail);
}