Verzeichnisstruktur phpBB-2.0.0


Veröffentlicht
03.04.2002

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

      (Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

usercp_email.php

Zuletzt modifiziert: 09.10.2024, 12:51 - Dateigröße: 6.48 KiB


 001  <?php
 002  /***************************************************************************
 003   *                             usercp_email.php 
 004   *                            -------------------
 005   *   begin                : Saturday, Feb 13, 2001
 006   *   copyright            : (C) 2001 The phpBB Group
 007   *   email                : support@phpbb.com
 008   *
 009   *   $Id$
 010   *
 011   *
 012   ***************************************************************************/
 013   
 014  /***************************************************************************
 015   *
 016   *   This program is free software; you can redistribute it and/or modify
 017   *   it under the terms of the GNU General Public License as published by
 018   *   the Free Software Foundation; either version 2 of the License, or
 019   *   (at your option) any later version.
 020   *
 021   *
 022   ***************************************************************************/
 023   
 024  if ( !defined('IN_PHPBB') )
 025  {
 026      die("Hacking attempt");
 027      exit;
 028  }
 029   
 030  // Is send through board enabled? No, return to index
 031  if (!$board_config['board_email_form'])
 032  {
 033      redirect(append_sid("index.$phpEx", true));
 034  }
 035   
 036  if ( !empty($HTTP_GET_VARS[POST_USERS_URL]) || !empty($HTTP_POST_VARS[POST_USERS_URL]) )
 037  {
 038      $user_id = ( !empty($HTTP_GET_VARS[POST_USERS_URL]) ) ? intval($HTTP_GET_VARS[POST_USERS_URL]) : intval($HTTP_POST_VARS[POST_USERS_URL]);
 039  }
 040  else
 041  {
 042      message_die(GENERAL_MESSAGE, $lang['No_user_specified']);
 043  }
 044   
 045  if ( !$userdata['session_logged_in'] )
 046  {
 047      redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=email&" . POST_USERS_URL . "=$user_id", true));
 048  }
 049   
 050  $sql = "SELECT username, user_email, user_viewemail, user_lang  
 051      FROM " . USERS_TABLE . " 
 052      WHERE user_id = $user_id";
 053  if ( $result = $db->sql_query($sql) )
 054  {
 055      if ( $row = $db->sql_fetchrow($result) )
 056      {
 057   
 058          $username = $row['username'];
 059          $user_email = $row['user_email']; 
 060          $user_lang = $row['user_lang'];
 061      
 062          if ( $row['user_viewemail'] || $userdata['user_level'] == ADMIN )
 063          {
 064              if ( time() - $userdata['user_emailtime'] < $board_config['flood_interval'] )
 065              {
 066                  message_die(GENERAL_MESSAGE, $lang['Flood_email_limit']);
 067              }
 068      
 069              if ( isset($HTTP_POST_VARS['submit']) )
 070              {
 071                  $error = FALSE;
 072      
 073                  if ( !empty($HTTP_POST_VARS['subject']) )
 074                  {
 075                      $subject = trim(stripslashes($HTTP_POST_VARS['subject']));
 076                  }
 077                  else
 078                  {
 079                      $error = TRUE;
 080                      $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['Empty_subject_email'] : $lang['Empty_subject_email'];
 081                  }
 082      
 083                  if ( !empty($HTTP_POST_VARS['message']) )
 084                  {
 085                      $message = trim(stripslashes($HTTP_POST_VARS['message']));
 086                  }
 087                  else
 088                  {
 089                      $error = TRUE;
 090                      $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['Empty_message_email'] : $lang['Empty_message_email'];
 091                  }
 092      
 093                  if ( !$error )
 094                  {
 095                      $sql = "UPDATE " . USERS_TABLE . " 
 096                          SET user_emailtime = " . time() . " 
 097                          WHERE user_id = " . $userdata['user_id'];
 098                      if ( $result = $db->sql_query($sql) )
 099                      {
 100                          include($phpbb_root_path . 'includes/emailer.'.$phpEx);
 101                          $emailer = new emailer($board_config['smtp_delivery']);
 102      
 103                          $emailer->from($userdata['user_email']);
 104                          $emailer->replyto($userdata['user_email']);
 105      
 106                          $email_headers = 'X-AntiAbuse: Board servername - ' . $server_name . "\n";
 107                          $email_headers .= 'X-AntiAbuse: User_id - ' . $userdata['user_id'] . "\n";
 108                          $email_headers .= 'X-AntiAbuse: Username - ' . $userdata['username'] . "\n";
 109                          $email_headers .= 'X-AntiAbuse: User IP - ' . decode_ip($user_ip) . "\n";
 110      
 111                          $emailer->use_template('profile_send_email', $user_lang);
 112                          $emailer->email_address($user_email);
 113                          $emailer->set_subject($subject);
 114                          $emailer->extra_headers($email_headers);
 115      
 116                          $emailer->assign_vars(array(
 117                              'SITENAME' => $board_config['sitename'], 
 118                              'BOARD_EMAIL' => $board_config['board_email'], 
 119                              'FROM_USERNAME' => $userdata['username'], 
 120                              'TO_USERNAME' => $username, 
 121                              'MESSAGE' => $message)
 122                          );
 123                          $emailer->send();
 124                          $emailer->reset();
 125      
 126                          if ( !empty($HTTP_POST_VARS['cc_email']) )
 127                          {
 128                              $emailer->from($userdata['user_email']);
 129                              $emailer->replyto($userdata['user_email']);
 130                              $emailer->use_template('profile_send_email');
 131                              $emailer->email_address($userdata['user_email']);
 132                              $emailer->set_subject($subject);
 133      
 134                              $emailer->assign_vars(array(
 135                                  'SITENAME' => $board_config['sitename'], 
 136                                  'BOARD_EMAIL' => $board_config['board_email'], 
 137                                  'FROM_USERNAME' => $userdata['username'], 
 138                                  'TO_USERNAME' => $username, 
 139                                  'MESSAGE' => $message)
 140                              );
 141                              $emailer->send();
 142                              $emailer->reset();
 143                          }
 144      
 145                          $template->assign_vars(array(
 146                              'META' => '<meta http-equiv="refresh" content="5;url=' . append_sid("index.$phpEx") . '">')
 147                          );
 148      
 149                          $message = $lang['Email_sent'] . '<br /><br />' . sprintf($lang['Click_return_index'],  '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
 150      
 151                          message_die(GENERAL_MESSAGE, $message);
 152                      }
 153                      else
 154                      {
 155                          message_die(GENERAL_ERROR, 'Could not update last email time', '', __LINE__, __FILE__, $sql);
 156                      }
 157                  }
 158              }
 159      
 160              include($phpbb_root_path . 'includes/page_header.'.$phpEx);
 161      
 162              $template->set_filenames(array(
 163                  'body' => 'profile_send_email.tpl')
 164              );
 165              make_jumpbox('viewforum.'.$phpEx);
 166      
 167              if ( $error )
 168              {
 169                  $template->set_filenames(array(
 170                      'reg_header' => 'error_body.tpl')
 171                  );
 172                  $template->assign_vars(array(
 173                      'ERROR_MESSAGE' => $error_msg)
 174                  );
 175                  $template->assign_var_from_handle('ERROR_BOX', 'reg_header');
 176              }
 177      
 178              $template->assign_vars(array(
 179                  'USERNAME' => $username,
 180      
 181                  'S_HIDDEN_FIELDS' => '', 
 182                  'S_POST_ACTION' => append_sid("profile.$phpEx?mode=email&amp;" . POST_USERS_URL . "=$user_id"), 
 183      
 184                  'L_SEND_EMAIL_MSG' => $lang['Send_email_msg'], 
 185                  'L_RECIPIENT' => $lang['Recipient'], 
 186                  'L_SUBJECT' => $lang['Subject'],
 187                  'L_MESSAGE_BODY' => $lang['Message_body'], 
 188                  'L_MESSAGE_BODY_DESC' => $lang['Email_message_desc'], 
 189                  'L_EMPTY_SUBJECT_EMAIL' => $lang['Empty_subject_email'],
 190                  'L_EMPTY_MESSAGE_EMAIL' => $lang['Empty_message_email'],
 191                  'L_OPTIONS' => $lang['Options'],
 192                  'L_CC_EMAIL' => $lang['CC_email'], 
 193                  'L_SPELLCHECK' => $lang['Spellcheck'],
 194                  'L_SEND_EMAIL' => $lang['Send_email'])
 195              );
 196      
 197              $template->pparse('body');
 198      
 199              include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
 200          }
 201          else
 202          {
 203              message_die(GENERAL_MESSAGE, $lang['User_prevent_email']);
 204          }
 205      }
 206      else
 207      {
 208          message_die(GENERAL_MESSAGE, $lang['User_not_exist']);
 209      }
 210  }
 211  else
 212  {
 213      message_die(GENERAL_ERROR, 'Could not select user data', '', __LINE__, __FILE__, $sql);
 214  }
 215   
 216  ?>