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  ?>