本文整理汇总了PHP中generate_email_supportuser函数的典型用法代码示例。如果您正苦于以下问题:PHP generate_email_supportuser函数的具体用法?PHP generate_email_supportuser怎么用?PHP generate_email_supportuser使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了generate_email_supportuser函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sendMail
/**
* Send's an anonymous email to some address, preferably the Mediabird team or a user
* @param $to Id of user to which to deliver email
* @param $subject Subject of email
* @param $body Body of email
* @return bool Success
*/
function sendMail($to, $subject, $body)
{
if ($to == -1) {
return false;
}
if ($account_link = get_record("studynotes_account_links", "system", "moodle", "internal_id", $to)) {
if ($destination = get_record("user", "id", $account_link->external_id)) {
$supportuser = generate_email_supportuser();
return email_to_user($destination, $supportuser, $subject, $body);
}
}
return false;
}
示例2: __app_reset_password_and_mail
private function __app_reset_password_and_mail($user)
{
global $CFG;
$site = get_site();
$supportuser = generate_email_supportuser();
$userauth = get_auth_plugin($user->auth);
if (!$userauth->can_reset_password() or !is_enabled_auth($user->auth)) {
trigger_error("Attempt to reset user password for user {$user->username} with Auth {$user->auth}.");
return false;
}
$newpassword = generate_password();
if (!$userauth->user_update_password($user, $newpassword)) {
$error->error = true;
$error->msg = 'fp_passwordgen_failure';
echo json_encode($error);
die;
}
$a = new stdClass();
$a->firstname = $user->firstname;
$a->lastname = $user->lastname;
$a->sitename = format_string($site->fullname);
$a->username = $user->username;
$a->newpassword = $newpassword;
//$a->signoff = generate_email_signoff();
$message = 'Hi ' . $a->firstname . ',
Your account password at \'' . $a->sitename . '\' has been reset
and you have been issued with a new temporary password.
Your current login information is now:
username: ' . $a->username . '
password: ' . $a->newpassword . '
Cheers from the \'' . $a->sitename . '\' administrator.';
//$message = get_string('newpasswordtext', '', $a);
$subject = format_string($site->fullname) . ': ' . get_string('changedpassword');
unset_user_preference('create_password', $user);
// prevent cron from generating the password
//directly email rather than using the messaging system to ensure its not routed to a popup or jabber
return email_to_user($user, $supportuser, $subject, $message);
}
示例3: notify_login_failures
/**
* Notify admin users or admin user of any failed logins (since last notification).
*
* Note that this function must be only executed from the cron script
* It uses the cache_flags system to store temporary records, deleting them
* by name before finishing
*
* @return bool True if executed, false if not
*/
function notify_login_failures()
{
global $CFG, $DB, $OUTPUT;
if (empty($CFG->notifyloginfailures)) {
return false;
}
$recip = get_users_from_config($CFG->notifyloginfailures, 'moodle/site:config');
if (empty($CFG->lastnotifyfailure)) {
$CFG->lastnotifyfailure = 0;
}
// If it has been less than an hour, or if there are no recipients, don't execute.
if (time() - HOURSECS < $CFG->lastnotifyfailure || !is_array($recip) || count($recip) <= 0) {
return false;
}
// we need to deal with the threshold stuff first.
if (empty($CFG->notifyloginthreshold)) {
$CFG->notifyloginthreshold = 10;
// default to something sensible.
}
// Get all the IPs with more than notifyloginthreshold failures since lastnotifyfailure
// and insert them into the cache_flags temp table
$sql = "SELECT ip, COUNT(*)\n FROM {log}\n WHERE module = 'login' AND action = 'error'\n AND time > ?\n GROUP BY ip\n HAVING COUNT(*) >= ?";
$params = array($CFG->lastnotifyfailure, $CFG->notifyloginthreshold);
$rs = $DB->get_recordset_sql($sql, $params);
foreach ($rs as $iprec) {
if (!empty($iprec->ip)) {
set_cache_flag('login_failure_by_ip', $iprec->ip, '1', 0);
}
}
$rs->close();
// Get all the INFOs with more than notifyloginthreshold failures since lastnotifyfailure
// and insert them into the cache_flags temp table
$sql = "SELECT info, count(*)\n FROM {log}\n WHERE module = 'login' AND action = 'error'\n AND time > ?\n GROUP BY info\n HAVING count(*) >= ?";
$params = array($CFG->lastnotifyfailure, $CFG->notifyloginthreshold);
$rs = $DB->get_recordset_sql($sql, $params);
foreach ($rs as $inforec) {
if (!empty($inforec->info)) {
set_cache_flag('login_failure_by_info', $inforec->info, '1', 0);
}
}
$rs->close();
// Now, select all the login error logged records belonging to the ips and infos
// since lastnotifyfailure, that we have stored in the cache_flags table
$sql = "SELECT * FROM (\n SELECT l.*, u.firstname, u.lastname\n FROM {log} l\n JOIN {cache_flags} cf ON l.ip = cf.name\n LEFT JOIN {user} u ON l.userid = u.id\n WHERE l.module = 'login' AND l.action = 'error'\n AND l.time > ?\n AND cf.flagtype = 'login_failure_by_ip'\n UNION ALL\n SELECT l.*, u.firstname, u.lastname\n FROM {log} l\n JOIN {cache_flags} cf ON l.info = cf.name\n LEFT JOIN {user} u ON l.userid = u.id\n WHERE l.module = 'login' AND l.action = 'error'\n AND l.time > ?\n AND cf.flagtype = 'login_failure_by_info') t\n ORDER BY t.time DESC";
$params = array($CFG->lastnotifyfailure, $CFG->lastnotifyfailure);
// Init some variables
$count = 0;
$messages = '';
// Iterate over the logs recordset
$rs = $DB->get_recordset_sql($sql, $params);
foreach ($rs as $log) {
$log->time = userdate($log->time);
$messages .= get_string('notifyloginfailuresmessage', '', $log) . "\n";
$count++;
}
$rs->close();
// If we have something useful to report.
if ($count > 0) {
$site = get_site();
$subject = get_string('notifyloginfailuressubject', '', format_string($site->fullname));
// Calculate the complete body of notification (start + messages + end)
$body = get_string('notifyloginfailuresmessagestart', '', $CFG->wwwroot) . ($CFG->lastnotifyfailure != 0 ? '(' . userdate($CFG->lastnotifyfailure) . ')' : '') . "\n\n" . $messages . "\n\n" . get_string('notifyloginfailuresmessageend', '', $CFG->wwwroot) . "\n\n";
// For each destination, send mail
mtrace('Emailing admins about ' . $count . ' failed login attempts');
foreach ($recip as $admin) {
//emailing the admins directly rather than putting these through the messaging system
email_to_user($admin, generate_email_supportuser(), $subject, $body);
}
}
// Update lastnotifyfailure with current time
set_config('lastnotifyfailure', time());
// Finally, delete all the temp records we have created in cache_flags
$DB->delete_records_select('cache_flags', "flagtype IN ('login_failure_by_ip', 'login_failure_by_info')");
return true;
}
示例4: email_welcome_message
/**
* Send welcome email to specified user.
*
* @param stdClass $instance
* @param stdClass $user user record
* @return void
*/
protected function email_welcome_message($instance, $user)
{
global $CFG, $DB;
$course = $DB->get_record('course', array('id' => $instance->courseid), '*', MUST_EXIST);
$context = context_course::instance($course->id);
$a = new stdClass();
$a->coursename = format_string($course->fullname, true, array('context' => $context));
$a->profileurl = "{$CFG->wwwroot}/user/view.php?id={$user->id}&course={$course->id}";
if (trim($instance->customtext1) !== '') {
$message = $instance->customtext1;
$message = str_replace('{$a->coursename}', $a->coursename, $message);
$message = str_replace('{$a->profileurl}', $a->profileurl, $message);
if (strpos($message, '<') === false) {
// Plain text only.
$messagetext = $message;
$messagehtml = text_to_html($messagetext, null, false, true);
} else {
// This is most probably the tag/newline soup known as FORMAT_MOODLE.
$messagehtml = format_text($message, FORMAT_MOODLE, array('context' => $context, 'para' => false, 'newlines' => true, 'filter' => true));
$messagetext = html_to_text($messagehtml);
}
} else {
$messagetext = get_string('welcometocoursetext', 'enrol_self', $a);
$messagehtml = text_to_html($messagetext, null, false, true);
}
$subject = get_string('welcometocourse', 'enrol_self', format_string($course->fullname, true, array('context' => $context)));
$rusers = array();
if (!empty($CFG->coursecontact)) {
$croles = explode(',', $CFG->coursecontact);
$rusers = get_role_users($croles, $context, true, '', 'r.sortorder ASC, u.lastname ASC');
}
if ($rusers) {
$contact = reset($rusers);
} else {
$contact = generate_email_supportuser();
}
// Directly emailing welcome message rather than using messaging.
email_to_user($user, $contact, $subject, $messagetext, $messagehtml);
}
示例5: send_password_change_info
/**
* send_password_change_info.
*
* @uses $CFG
* @param user $user A {@link $USER} object
* @return bool|string Returns "true" if mail was sent OK, "emailstop" if email
* was blocked by user and "false" if there was another sort of error.
*/
function send_password_change_info($user)
{
global $CFG;
$site = get_site();
$supportuser = generate_email_supportuser();
$systemcontext = get_context_instance(CONTEXT_SYSTEM);
$data = new object();
$data->firstname = $user->firstname;
$data->lastname = $user->lastname;
$data->sitename = format_string($site->fullname);
$data->admin = generate_email_signoff();
$userauth = get_auth_plugin($user->auth);
if (!is_enabled_auth($user->auth) or $user->auth == 'nologin') {
$message = get_string('emailpasswordchangeinfodisabled', '', $data);
$subject = get_string('emailpasswordchangeinfosubject', '', format_string($site->fullname));
return email_to_user($user, $supportuser, $subject, $message);
}
if ($userauth->can_change_password() and $userauth->change_password_url()) {
// we have some external url for password changing
$data->link .= $userauth->change_password_url();
} else {
//no way to change password, sorry
$data->link = '';
}
if (!empty($data->link) and has_capability('moodle/user:changeownpassword', $systemcontext, $user->id)) {
$message = get_string('emailpasswordchangeinfo', '', $data);
$subject = get_string('emailpasswordchangeinfosubject', '', format_string($site->fullname));
} else {
$message = get_string('emailpasswordchangeinfofail', '', $data);
$subject = get_string('emailpasswordchangeinfosubject', '', format_string($site->fullname));
}
return email_to_user($user, $supportuser, $subject, $message);
}
示例6: fullclone
// If email was changed and confirmation is required, send confirmation email now
if ($email_changed && $CFG->emailchangeconfirmation) {
$temp_user = fullclone($user);
$temp_user->email = $usernew->preference_newemail;
$a = new stdClass();
$a->url = $CFG->wwwroot . '/user/emailupdate.php?key=' . $usernew->preference_newemailkey . '&id=' . $user->id;
$a->site = format_string($SITE->fullname, true, array('context' => context_course::instance(SITEID)));
$a->fullname = fullname($user, true);
$emailupdatemessage = get_string('emailupdatemessage', 'auth', $a);
$emailupdatetitle = get_string('emailupdatetitle', 'auth', $a);
//email confirmation directly rather than using messaging so they will definitely get an email
$supportuser = generate_email_supportuser();
if (!$mail_results = email_to_user($temp_user, $supportuser, $emailupdatetitle, $emailupdatemessage)) {
die("could not send email!");
}
}
// reload from db
$usernew = $DB->get_record('user', array('id'=>$user->id));
events_trigger('user_updated', $usernew);
if ($USER->id == $user->id) {
// Override old $USER session variable if needed
foreach ((array)$usernew as $variable => $value) {
$USER->$variable = $value;
}
// preload custom fields
示例7: email_send_bcc
/**
* Sends an email to lots of people using BCC.
* @param array $targets List of target user objects (email, name fields
* required)
* @param mixed $from User or string who sent email
* @param string $subject Subject of email
* @param string $html HTML version of email (blank if none)
* @param string $text Plain text version of email
* @param string $showerrortext If set, mtraces errors and includes this
* extra string about where the error was.
* @param bool $ishtml If true, email is in HTML format
* @param bool $viewfullnames If true, these recipients have access to
* see the full name
* @return int Number of emails sent
*/
private static function email_send_bcc($targets, $from, $subject, $html, $text, $showerrortext, $ishtml, $viewfullnames)
{
if (self::DEBUG_VIEW_EMAILS) {
print "<div style='border:1px solid blue; padding:4px;'>";
print "<h3>Bulk email sent</h3>";
print "<ul><li>To: ";
$first = true;
foreach ($targets as $target) {
if ($first) {
$first = false;
} else {
print ', ';
}
print "<strong>{$target->email}</strong>";
}
print "</li><li>Subject: <strong>" . htmlspecialchars($subject) . "</strong></li>";
print $html;
print "<pre style='border-top: 1px solid blue; padding-top: 4px;'>";
print htmlspecialchars($text);
print "</pre></div>";
return;
}
global $CFG;
$emailcount = 0;
// Trim subject length (not sure why but
// email_to_user does); note that I did it more
// aggressively due to use of textlib.
$mail->Subject = core_text::substr($subject, 0, 200);
// Loop through in batches of specified size
$copy = array();
foreach ($targets as $key => $target) {
$copy[$key] = $target;
}
while (count($copy) > 0) {
$batch = array_splice($copy, 0, $CFG->forumng_usebcc);
// Prepare email
$mail = get_mailer();
// From support user
static $supportuser;
if (!$supportuser) {
$supportuser = generate_email_supportuser();
}
$mail->Sender = $supportuser->email;
// Set the From details similar to email_to_user
if ($CFG->forumng_replytouser && $from->maildisplay) {
$mail->From = $from->email;
$mail->FromName = fullname($from, $viewfullnames);
} else {
$mail->From = $CFG->noreplyaddress;
$mail->FromName = fullname($from, $viewfullnames);
}
$mail->ToName = 'Test to name';
$mail->Subject = $subject;
if ($ishtml) {
$mail->IsHTML(true);
$mail->Encoding = 'quoted-printable';
$mail->Body = $html;
$mail->AltBody = "\n{$text}\n";
} else {
$mail->IsHTML(false);
$mail->Body = "\n{$text}\n";
}
foreach ($batch as $user) {
$mail->AddBCC($user->email);
}
$emailcount++;
if (!$mail->Send()) {
$users = '';
foreach ($batch as $user) {
if ($users) {
$users .= ', ';
}
$users .= $user->id;
}
if ($showerrortext) {
mtrace('Error sending email "' . $subject . '": "' . $mail->ErrorInfo . '" (' . $showerrortext . '). Users affected: ' . $users);
}
} else {
// Mail send successful; log all users
foreach ($batch as $user) {
// Note this log entry is in the same format as the
// main mail function
$params = array('other' => array('username' => $user->username, 'subject' => $subject), 'context' => context_system::instance(), 'relateduserid' => $user->id);
$event = \mod_forumng\event\mail_sent::create($params);
$event->trigger();
//.........这里部分代码省略.........
示例8: local_send_confirmation_email
function local_send_confirmation_email($user)
{
global $CFG, $USER;
if (function_exists('login_signup_form')) {
$mform_signup = new login_signup_form();
$formdata = $mform_signup->get_data();
}
$site = get_site();
$sitecontext = get_context_instance(CONTEXT_SYSTEM);
$data = new object();
$data->firstname = fullname($user);
$data->sitename = format_string($site->fullname);
$data->admin = generate_email_signoff();
$data->custommsg = '';
$invite = false;
if (isloggedin() && has_capability('moodle/local:invitenewuser', $sitecontext)) {
$supportuser = $USER;
$data->fromuser = fullname($supportuser);
$invite = true;
} else {
$supportuser = generate_email_supportuser();
}
if (!empty($formdata->message)) {
$data->custommsg = $formdata->message;
}
$subject = get_string('emailconfirmationsubject', '', format_string($site->fullname));
if ($invite) {
$data->link = $CFG->wwwroot . '/local/login/confirm.php?data=' . $user->secret . '/' . urlencode($user->username);
$message = get_string('emailconfirmation', 'block_tao_team_groups', $data);
} else {
$data->link = $CFG->wwwroot . '/login/confirm.php?data=' . $user->secret . '/' . urlencode($user->username);
$message = get_string('emailconfirmation', 'block_tao_team_groups', $data);
}
$messagehtml = text_to_html($message, false, false, true);
$user->mailformat = 1;
// Always send HTML version as well
return email_to_user($user, $supportuser, $subject, $message, $messagehtml);
}
示例9: mail_password
/**
* Send the password to the user via email.
*
* @global object
* @global object
* @param user $user A {@link $USER} object
* @return boolean|string Returns "true" if mail was sent OK and "false" if there was an error
*/
public function mail_password($user, $password)
{
global $CFG, $DB;
$site = get_site();
$supportuser = generate_email_supportuser();
$a = new stdClass();
$a->firstname = fullname($user, true);
$a->sitename = format_string($site->fullname);
$a->username = $user->username;
$a->newpassword = $password;
$a->link = $CFG->wwwroot . '/login/';
$a->signoff = generate_email_signoff();
$message = get_string('newusernewpasswordtext', '', $a);
$subject = format_string($site->fullname) . ': ' . get_string('newusernewpasswordsubj');
return email_to_user($user, $supportuser, $subject, $message);
}
示例10: isset
// cannot run accept on message with no accept
if ($accept && (!isset($metadata->onaccept) || !$metadata->onaccept)) {
continue;
}
// cannot run accept on message type LINK in bulk action
if ($accept && isset($metadata->onaccept) && $metadata->msgtype == MSG_TYPE_LINK) {
continue;
}
$display = isset($metadata->msgtype) ? message_msgtype_text($metadata->msgtype) : array('icon' => '', 'text' => '');
$type = $display['icon'];
$type_alt = $display['text'];
if ($msg->useridfrom == 0) {
$from = generate_email_supportuser();
} else {
$from = $DB->get_record('user', array('id' => $msg->useridfrom));
}
$fromname = fullname($from) . " ({$from->email})";
$icon = $OUTPUT->pix_icon('/msgicons/'.$metadata->icon, format_string($msg->subject), 'local_core', array('class'=>'msgicon', 'title' => format_string($msg->subject)));
$cells = array();
$cell = new html_table_cell(html_writer::tag('div', $icon, array('id' => 'dismiss-type')));
$cell->attributes['class'] = 'msgs-action-right';
$cells []= $cell;
$cell = new html_table_cell(html_writer::tag('div', $fromname, array('id' => 'dismiss-from')));
$cell->attributes['class'] = 'msgs-action-right';
$cells []= $cell;
$cell = new html_table_cell(html_writer::tag('div', $msg->fullmessage, array('id' => 'dismiss-statement')));
$cell->attributes['class'] = 'msgs-action-right';
示例11: login_lock_account
/**
* Lockout user and send notification email.
*
* @param stdClass $user
*/
function login_lock_account($user)
{
global $CFG, $SESSION;
if ($user->mnethostid != $CFG->mnet_localhost_id) {
return;
}
if (isguestuser($user)) {
return;
}
if (get_user_preferences('login_lockout_ignored', 0, $user)) {
// This user can not be locked out.
return;
}
$alreadylockedout = get_user_preferences('login_lockout', 0, $user);
set_user_preference('login_lockout', time(), $user);
if ($alreadylockedout == 0) {
$secret = random_string(15);
set_user_preference('login_lockout_secret', $secret, $user);
// Some nasty hackery to get strings and dates localised for target user.
$sessionlang = isset($SESSION->lang) ? $SESSION->lang : null;
if (get_string_manager()->translation_exists($user->lang, false)) {
$SESSION->lang = $user->lang;
moodle_setlocale();
}
$site = get_site();
$supportuser = generate_email_supportuser();
$data = new stdClass();
$data->firstname = $user->firstname;
$data->lastname = $user->lastname;
$data->username = $user->username;
$data->sitename = format_string($site->fullname);
$data->link = $CFG->wwwroot . '/login/unlock_account.php?u=' . $user->id . '&s=' . $secret;
$data->admin = generate_email_signoff();
$message = get_string('lockoutemailbody', 'admin', $data);
$subject = get_string('lockoutemailsubject', 'admin', format_string($site->fullname));
if ($message) {
// Directly email rather than using the messaging system to ensure its not routed to a popup or jabber.
email_to_user($user, $supportuser, $subject, $message);
}
if ($SESSION->lang !== $sessionlang) {
$SESSION->lang = $sessionlang;
moodle_setlocale();
}
}
}
示例12: user_signup
/**
* Sign up a new user ready for confirmation.
* Password is passed in plaintext.
*
* @param object $user new user object (with system magic quotes)
* @param boolean $notify print notice with link and terminate
*/
function user_signup($user, $notify = true)
{
global $CFG;
require_once $CFG->dirroot . '/user/profile/lib.php';
$user->password = hash_internal_user_password($user->password);
if (!($user->id = insert_record('user', $user))) {
print_error('auth_emailnoinsert', 'auth');
}
/// Save any custom profile field information
profile_save_data($user);
//Added by JAM: 12.02.2010 - Call the set user time-zone for WS, cannot set time-zone until, user is created
setWSUserDefaultTimeZone($user->username, $user);
$user = get_record('user', 'id', $user->id);
events_trigger('user_created', $user);
//Added by JAM: 01.06.2011 - this is where the user id exists
if (!addQSUser($user)) {
admin_signuperror_email($user);
// Added: JAM - 01.06.2011
//error('An error has occured, please try again shortly.');
}
if (!send_confirmation_email($user)) {
print_error('auth_emailnoemail', 'auth');
}
if ($notify) {
global $CFG;
$emailconfirm = get_string('emailconfirm');
$navlinks = array();
$navlinks[] = array('name' => $emailconfirm, 'link' => null, 'type' => 'misc');
$navigation = build_navigation($navlinks);
print_header($emailconfirm, $emailconfirm, $navigation);
// Added by SMS: 7/28/2011
$data = new object();
$data->useremail = $user->email;
$supportuser = generate_email_supportuser();
$data->adminemail = $supportuser->email;
// Edited by SMS: 7/28/2011
// notice(get_string('emailconfirmsent', '', $user->email), "$CFG->wwwroot/index.php");
notice(get_string('emailconfirmsent', '', $data), "{$CFG->wwwroot}/index.php");
} else {
return true;
}
}