Verzeichnisstruktur phpBB-3.0.0


Veröffentlicht
12.12.2007

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

ucp_remind.php

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


001  <?php
002  /**
003  *
004  * @package ucp
005  * @version $Id$
006  * @copyright (c) 2005 phpBB Group
007  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
008  *
009  */
010   
011  /**
012  * @ignore
013  */
014  if (!defined('IN_PHPBB'))
015  {
016      exit;
017  }
018   
019  /**
020  * ucp_remind
021  * Sending password reminders
022  * @package ucp
023  */
024  class ucp_remind
025  {
026      var $u_action;
027   
028      function main($id, $mode)
029      {
030          global $config, $phpbb_root_path, $phpEx;
031          global $db, $user, $auth, $template;
032   
033          $username    = request_var('username', '', true);
034          $email        = strtolower(request_var('email', ''));
035          $submit        = (isset($_POST['submit'])) ? true : false;
036   
037          if ($submit)
038          {
039              $sql = 'SELECT user_id, username, user_email, user_jabber, user_notify_type, user_type, user_lang, user_inactive_reason
040                  FROM ' . USERS_TABLE . "
041                  WHERE user_email = '" . $db->sql_escape($email) . "'
042                      AND username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'";
043              $result = $db->sql_query($sql);
044              $user_row = $db->sql_fetchrow($result);
045              $db->sql_freeresult($result);
046   
047              if (!$user_row)
048              {
049                  trigger_error('NO_EMAIL_USER');
050              }
051   
052              if ($user_row['user_type'] == USER_IGNORE)
053              {
054                  trigger_error('NO_USER');
055              }
056   
057              if ($user_row['user_type'] == USER_INACTIVE)
058              {
059                  if ($user_row['user_inactive_reason'] == INACTIVE_MANUAL)
060                  {
061                      trigger_error('ACCOUNT_DEACTIVATED');
062                  }
063                  else
064                  {
065                      trigger_error('ACCOUNT_NOT_ACTIVATED');
066                  }
067              }
068   
069              $server_url = generate_board_url();
070   
071              $key_len = 54 - strlen($server_url);
072              $key_len = max(6, $key_len); // we want at least 6
073              $key_len = ($config['max_pass_chars']) ? min($key_len, $config['max_pass_chars']) : $key_len; // we want at most $config['max_pass_chars']
074              $user_actkey = substr(gen_rand_string(10), 0, $key_len);
075              $user_password = gen_rand_string(8);
076   
077              $sql = 'UPDATE ' . USERS_TABLE . "
078                  SET user_newpasswd = '" . $db->sql_escape(phpbb_hash($user_password)) . "', user_actkey = '" . $db->sql_escape($user_actkey) . "'
079                  WHERE user_id = " . $user_row['user_id'];
080              $db->sql_query($sql);
081   
082              include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
083   
084              $messenger = new messenger(false);
085   
086              $messenger->template('user_activate_passwd', $user_row['user_lang']);
087   
088              $messenger->to($user_row['user_email'], $user_row['username']);
089              $messenger->im($user_row['user_jabber'], $user_row['username']);
090   
091              $messenger->assign_vars(array(
092                  'USERNAME'        => htmlspecialchars_decode($user_row['username']),
093                  'PASSWORD'        => htmlspecialchars_decode($user_password),
094                  'U_ACTIVATE'    => "$server_url/ucp.$phpEx?mode=activate&u={$user_row['user_id']}&k=$user_actkey")
095              );
096   
097              $messenger->send($user_row['user_notify_type']);
098   
099              meta_refresh(3, append_sid("{$phpbb_root_path}index.$phpEx"));
100   
101              $message = $user->lang['PASSWORD_UPDATED'] . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a>');
102              trigger_error($message);
103          }
104   
105          $template->assign_vars(array(
106              'USERNAME'            => $username,
107              'EMAIL'                => $email,
108              'S_PROFILE_ACTION'    => append_sid($phpbb_root_path . 'ucp.' . $phpEx, 'mode=sendpassword'))
109          );
110   
111          $this->tpl_name = 'ucp_remind';
112          $this->page_title = 'UCP_REMIND';
113      }
114  }
115   
116  ?>