/**
  * Form to email a member
  *
  * @author Jason Warner <*****@*****.**>
  * @since RC1
  **/
 function execute()
 {
     $this->set_title($this->lang->email_email);
     $this->tree($this->lang->email_email);
     if (!$this->perms->auth('email_use')) {
         return $this->message($this->lang->email_email, $this->lang->email_no_perm);
     }
     if (!isset($this->post['submit'])) {
         $this->get['to'] = isset($this->get['to']) ? intval($this->get['to']) : '';
         if ($this->get['to']) {
             $target = $this->db->fetch("SELECT user_name FROM {$this->pre}users WHERE user_id={$this->get['to']}");
             if (!isset($target['user_name']) || $this->get['to'] == USER_GUEST_UID) {
                 return $this->message($this->lang->email_email, $this->lang->email_no_member);
             }
             $this->get['to'] = $target['user_name'];
         }
         return eval($this->template('EMAIL_MAIN'));
     } else {
         if (empty($this->post['to']) || empty($this->post['message']) || empty($this->post['subject'])) {
             return $this->message($this->lang->email_email, $this->lang->email_no_fields);
         }
         $target = $this->db->fetch("SELECT user_id, user_email, user_email_form FROM {$this->pre}users WHERE user_name='{$this->post['to']}'");
         if (!$target['user_email_form']) {
             return $this->message($this->lang->email_email, $this->lang->email_blocked);
         }
         if (!isset($target['user_id']) || $target['user_id'] == USER_GUEST_UID) {
             return $this->message($this->lang->email_email, $this->lang->email_no_member);
         }
         include './lib/mailer.php';
         $mailer = new mailer($this->sets['admin_incoming'], $this->sets['admin_outgoing'], $this->sets['forum_name'], false);
         $mailer->setSubject("{$this->sets['forum_name']} - {$this->post['subject']}");
         $mailer->setMessage("This mail has been sent by {$this->user['user_name']} via {$this->sets['forum_name']}\n\n" . stripslashes($this->post['message']));
         $mailer->setRecipient($target['user_email']);
         $mailer->setServer($this->sets['mailserver']);
         $mailer->doSend();
         return $this->message($this->lang->email_email, $this->lang->email_sent);
     }
 }
 function send_activation_email($email, $username, $pass, $jointime)
 {
     include './lib/mailer.php';
     $mailer = new mailer($this->sets['admin_incoming'], $this->sets['admin_outgoing'], $this->sets['forum_name'], false);
     $message = "{$this->lang->register_email_msg}\n";
     $message .= "{$this->lang->register_email_msg2} {$this->sets['forum_name']}.\n\n";
     $message .= "{$this->lang->register_email_msg3}\n";
     $message .= "{$this->sets['loc_of_board']}{$this->mainfile}?a=register&s=activate&e=" . md5($email . $username . $pass . $jointime);
     $mailer->setSubject("{$this->sets['forum_name']} - {$this->lang->register_activating}");
     $mailer->setMessage($message);
     $mailer->setRecipient($email);
     $mailer->setServer($this->sets['mailserver']);
     $mailer->doSend();
     return $this->message($this->lang->register_reging, sprintf($this->lang->register_must_activate, $email));
 }
Exemple #3
0
 function request_pass()
 {
     $this->set_title($this->lang->login_pass_reset);
     $this->tree($this->lang->login_pass_reset);
     if (!isset($this->get['e'])) {
         $this->get['e'] = null;
     }
     $target = $this->db->fetch("SELECT user_id, user_name, user_email FROM {$this->pre}users WHERE MD5(CONCAT(user_email, user_name, user_password, user_joined))='" . preg_replace('/[^a-z0-9]/', '', $this->get['e']) . '\' AND user_id != ' . USER_GUEST_UID . ' LIMIT 1');
     if (!isset($target['user_id'])) {
         return $this->message($this->lang->login_pass_reset, $this->lang->login_pass_no_id);
     }
     include './lib/mailer.php';
     $mailer = new mailer($this->sets['admin_incoming'], $this->sets['admin_outgoing'], $this->sets['forum_name'], false);
     $newpass = $this->generate_pass(8);
     $message = "{$this->sets['forum_name']}\n\n";
     $message .= "Your password has been reset to:\n{$newpass}\n\n";
     $message .= "{$this->sets['loc_of_board']}{$this->mainfile}?a=login";
     $mailer->setSubject("{$this->sets['forum_name']} - Reset Password");
     $mailer->setMessage($message);
     $mailer->setRecipient($target['user_email']);
     $mailer->setServer($this->sets['mailserver']);
     $mailer->doSend();
     $this->db->query("UPDATE {$this->pre}users SET user_password='******' WHERE user_id={$target['user_id']}");
     return $this->message($this->lang->login_pass_reset, $this->lang->login_pass_sent);
 }
 function send_activation_email($email, $username, $pass, $jointime)
 {
     include './lib/mailer.php';
     $mailer = new mailer($this->sets['admin_incoming'], $this->sets['admin_outgoing'], $this->sets['forum_name'], false);
     $message = "This is an automated email generated by MercuryBoard, and sent to you in order\n";
     $message .= "for you to activate your account with {$this->sets['forum_name']}.\n\n";
     $message .= "Please click the following link, or paste it in to your web browser:\n";
     $message .= "{$this->sets['loc_of_board']}{$this->self}?a=register&s=activate&e=" . md5($email . $username . $pass . $jointime);
     $mailer->setSubject("{$this->sets['forum_name']} - Activating Your Account");
     $mailer->setMessage($message);
     $mailer->setRecipient($email);
     $mailer->setServer($this->sets['mailserver']);
     $mailer->doSend();
     return $this->message($this->lang->register_reging, sprintf($this->lang->register_must_activate, $email));
 }