function sendpassword($uniqkey) { $cfg = EasySCP_Registry::get('Config'); $sql = EasySCP_Registry::get('Db'); $query = "\n\t\tSELECT\n\t\t\t`admin_name`, `created_by`, `fname`, `lname`, `email`\n\t\tFROM\n\t\t\t`admin`\n\t\tWHERE\n\t\t\t`uniqkey` = ?\n\t"; $res = exec_query($sql, $query, $uniqkey); if ($res->recordCount() == 1) { $admin_name = $res->fields['admin_name']; $created_by = $res->fields['created_by']; $admin_fname = $res->fields['fname']; $admin_lname = $res->fields['lname']; $to = $res->fields['email']; $upass = passgen(); setPassword($uniqkey, $upass); write_log('Lostpassword: '******': password updated'); $query = "\n\t\t\tUPDATE\n\t\t\t\t`admin`\n\t\t\tSET\n\t\t\t\t`uniqkey` = ?,\n\t\t\t\t`uniqkey_time` = ?\n\t\t\tWHERE\n\t\t\t\t`uniqkey` = ?\n\t\t"; exec_query($sql, $query, array('', '', $uniqkey)); if ($created_by == 0) { $created_by = 1; } $data = get_lostpassword_password_email($created_by); $from_name = $data['sender_name']; $from_email = $data['sender_email']; $subject = $data['subject']; $message = $data['message']; $base_vhost = $cfg->BASE_SERVER_VHOST; $base_vhost_prefix = $cfg->BASE_SERVER_VHOST_PREFIX; if ($from_name) { $from = '"' . $from_name . '" <' . $from_email . '>'; } else { $from = $from_email; } $search = array(); $replace = array(); $search[] = '{USERNAME}'; $replace[] = $admin_name; $search[] = '{NAME}'; $replace[] = $admin_fname . " " . $admin_lname; $search[] = '{PASSWORD}'; $replace[] = $upass; $search[] = '{BASE_SERVER_VHOST}'; $replace[] = $base_vhost; $search[] = '{BASE_SERVER_VHOST_PREFIX}'; $replace[] = $base_vhost_prefix; $subject = str_replace($search, $replace, $subject); $message = str_replace($search, $replace, $message); $headers = 'From: ' . $from . "\n"; $headers .= "MIME-Version: 1.0\nContent-Type: text/plain; charset=utf-8\nContent-Transfer-Encoding: 7bit\n"; $headers .= 'X-Mailer: EasySCP lostpassword mailer'; $mail_result = mail($to, $subject, $message, $headers); $mail_status = $mail_result ? 'OK' : 'NOT OK'; $from = tohtml($from); write_log("Lostpassword activated: To: |{$to}|, From: |{$from}|, Status: |{$mail_status}| !", E_USER_NOTICE); return true; } return false; }
* along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * @link http://www.easyscp.net * @author EasySCP Team */ require '../../include/easyscp-lib.php'; check_login(__FILE__); $cfg = EasySCP_Registry::get('Config'); $tpl = EasySCP_TemplateEngine::getInstance(); $template = 'admin/settings_lostpassword.tpl'; $user_id = $_SESSION['user_id']; $selected_on = ''; $selected_off = ''; $data_1 = get_lostpassword_activation_email($user_id); $data_2 = get_lostpassword_password_email($user_id); if (isset($_POST['uaction']) && $_POST['uaction'] == 'apply') { $err_message = ''; $data_1['subject'] = clean_input($_POST['subject1'], false); $data_1['message'] = clean_input($_POST['message1'], false); $data_2['subject'] = clean_input($_POST['subject2'], false); $data_2['message'] = clean_input($_POST['message2'], false); if (empty($data_1['subject']) || empty($data_2['subject'])) { $err_message = tr('Please specify a subject!'); } if (empty($data_1['message']) || empty($data_2['message'])) { $err_message = tr('Please specify message!'); } if (!empty($err_message)) { set_page_message($err_message, 'warning'); } else {
/** * Send password * * @param string $uniqueKey * @return bool TRUE when password was sended, FALSE otherwise */ function sendPassword($uniqueKey) { /** @var $cfg iMSCP_Config_Handler_File */ $cfg = iMSCP_Registry::get('config'); $stmt = exec_query('SELECT `admin_name`, `created_by`, `fname`, `lname`, `email` FROM `admin` WHERE `uniqkey` = ?', $uniqueKey); if ($stmt->rowCount()) { $adminName = $stmt->fields['admin_name']; $createdBy = $stmt->fields['created_by']; $adminFirstName = $stmt->fields['fname']; $adminLastName = $stmt->fields['lname']; $to = $stmt->fields['email']; $userPassword = passgen(); setPassword($uniqueKey, $userPassword); write_log('Lostpassword: '******': password updated', E_USER_NOTICE); exec_query('UPDATE `admin` SET `uniqkey` = ?, `uniqkey_time` = ? WHERE `uniqkey` = ?', array('', '', $uniqueKey)); if ($createdBy == 0) { $createdBy = 1; } $data = get_lostpassword_password_email($createdBy); $fromName = $data['sender_name']; $fromEmail = $data['sender_email']; $subject = $data['subject']; $message = $data['message']; $baseServerVhostPrefix = $cfg['BASE_SERVER_VHOST_PREFIX']; $baseServerVhost = $cfg['BASE_SERVER_VHOST']; $baseServerVhostPort = $baseServerVhostPrefix == 'http://' ? $cfg['BASE_SERVER_VHOST_HTTP_PORT'] == '80' ? '' : ':' . $cfg['BASE_SERVER_VHOST_HTTP_PORT'] : ($cfg['BASE_SERVER_VHOST_HTTPS_PORT'] == '443' ? '' : ':' . $cfg['BASE_SERVER_VHOST_HTTPS_PORT']); if ($fromName) { $from = '"' . $fromName . '" <' . $fromEmail . '>'; } else { $from = $fromEmail; } $search = array(); $replace = array(); $search[] = '{USERNAME}'; $replace[] = $adminName; $search[] = '{NAME}'; $replace[] = $adminFirstName . " " . $adminLastName; $search[] = '{PASSWORD}'; $replace[] = $userPassword; $search[] = '{BASE_SERVER_VHOST_PREFIX}'; $replace[] = $baseServerVhostPrefix; $search[] = '{BASE_SERVER_VHOST}'; $replace[] = $baseServerVhost; $search[] = '{BASE_SERVER_VHOST_PORT}'; $replace[] = $baseServerVhostPort; $subject = str_replace($search, $replace, $subject); $message = str_replace($search, $replace, $message); $headers = 'From: ' . $from . "\n"; $headers .= "MIME-Version: 1.0\nContent-Type: text/plain; charset=utf-8\n"; $headers .= "Content-Transfer-Encoding: 7bit\n"; $headers .= 'X-Mailer: i-MSCP mailer'; $mailResult = mail($to, $subject, $message, $headers); $mailStatus = $mailResult ? 'OK' : 'NOT OK'; $from = tohtml($from); write_log("Lostpassword activated: To: |{$to}|, From: |{$from}|, Status: |{$mailStatus}| !", E_USER_NOTICE); return true; } return false; }