~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to www/php/phpBB3/includes/ucp/ucp_remind.php

  • Committer: William Grant
  • Date: 2009-02-23 23:47:02 UTC
  • mfrom: (1099.1.211 new-dispatch)
  • Revision ID: grantw@unimelb.edu.au-20090223234702-db4b1llly46ignwo
Merge from lp:~ivle-dev/ivle/new-dispatch.

Pretty much everything changes. Reread the setup docs. Backup your databases.
Every file is now in a different installed location, the configuration system
is rewritten, the dispatch system is rewritten, URLs are different, the
database is different, worksheets and exercises are no longer on the
filesystem, we use a templating engine, jail service protocols are rewritten,
we don't repeat ourselves, we have authorization rewritten, phpBB is gone,
and probably lots of other things that I cannot remember.

This is certainly the biggest commit I have ever made, and hopefully
the largest I ever will.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?php
2
 
/**
3
 
*
4
 
* @package ucp
5
 
* @version $Id: ucp_remind.php,v 1.33 2007/10/05 14:36:34 acydburn Exp $
6
 
* @copyright (c) 2005 phpBB Group
7
 
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
8
 
*
9
 
*/
10
 
 
11
 
/**
12
 
* @ignore
13
 
*/
14
 
if (!defined('IN_PHPBB'))
15
 
{
16
 
        exit;
17
 
}
18
 
 
19
 
/**
20
 
* ucp_remind
21
 
* Sending password reminders
22
 
* @package ucp
23
 
*/
24
 
class ucp_remind
25
 
{
26
 
        var $u_action;
27
 
 
28
 
        function main($id, $mode)
29
 
        {
30
 
                global $config, $phpbb_root_path, $phpEx;
31
 
                global $db, $user, $auth, $template;
32
 
 
33
 
                $username       = request_var('username', '', true);
34
 
                $email          = strtolower(request_var('email', ''));
35
 
                $submit         = (isset($_POST['submit'])) ? true : false;
36
 
 
37
 
                if ($submit)
38
 
                {
39
 
                        $sql = 'SELECT user_id, username, user_email, user_jabber, user_notify_type, user_type, user_lang, user_inactive_reason
40
 
                                FROM ' . USERS_TABLE . "
41
 
                                WHERE user_email = '" . $db->sql_escape($email) . "'
42
 
                                        AND username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'";
43
 
                        $result = $db->sql_query($sql);
44
 
                        $user_row = $db->sql_fetchrow($result);
45
 
                        $db->sql_freeresult($result);
46
 
 
47
 
                        if (!$user_row)
48
 
                        {
49
 
                                trigger_error('NO_EMAIL_USER');
50
 
                        }
51
 
 
52
 
                        if ($user_row['user_type'] == USER_IGNORE)
53
 
                        {
54
 
                                trigger_error('NO_USER');
55
 
                        }
56
 
 
57
 
                        if ($user_row['user_type'] == USER_INACTIVE)
58
 
                        {
59
 
                                if ($user_row['user_inactive_reason'] == INACTIVE_MANUAL)
60
 
                                {
61
 
                                        trigger_error('ACCOUNT_DEACTIVATED');
62
 
                                }
63
 
                                else
64
 
                                {
65
 
                                        trigger_error('ACCOUNT_NOT_ACTIVATED');
66
 
                                }
67
 
                        }
68
 
 
69
 
                        $server_url = generate_board_url();
70
 
 
71
 
                        $key_len = 54 - strlen($server_url);
72
 
                        $key_len = max(6, $key_len); // we want at least 6
73
 
                        $key_len = ($config['max_pass_chars']) ? min($key_len, $config['max_pass_chars']) : $key_len; // we want at most $config['max_pass_chars']
74
 
                        $user_actkey = substr(gen_rand_string(10), 0, $key_len);
75
 
                        $user_password = gen_rand_string(8);
76
 
 
77
 
                        $sql = 'UPDATE ' . USERS_TABLE . "
78
 
                                SET user_newpasswd = '" . $db->sql_escape(phpbb_hash($user_password)) . "', user_actkey = '" . $db->sql_escape($user_actkey) . "'
79
 
                                WHERE user_id = " . $user_row['user_id'];
80
 
                        $db->sql_query($sql);
81
 
 
82
 
                        include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
83
 
 
84
 
                        $messenger = new messenger(false);
85
 
 
86
 
                        $messenger->template('user_activate_passwd', $user_row['user_lang']);
87
 
 
88
 
                        $messenger->to($user_row['user_email'], $user_row['username']);
89
 
                        $messenger->im($user_row['user_jabber'], $user_row['username']);
90
 
 
91
 
                        $messenger->assign_vars(array(
92
 
                                'USERNAME'              => htmlspecialchars_decode($user_row['username']),
93
 
                                'PASSWORD'              => htmlspecialchars_decode($user_password),
94
 
                                'U_ACTIVATE'    => "$server_url/ucp.$phpEx?mode=activate&u={$user_row['user_id']}&k=$user_actkey")
95
 
                        );
96
 
 
97
 
                        $messenger->send($user_row['user_notify_type']);
98
 
 
99
 
                        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
 
?>
 
 
b'\\ No newline at end of file'