root/admin/admin_users.php

Revision 324, 22.5 kB (checked in by Nafania, 1 year ago)

Много мелких изменений. Если используется xbtt, то надо обязательно скачать новую версию на форуме.
Добавлен файл cron.php - если есть возможность, то пускайте cron таски через него. Особенно если используете массовую рассылку почты.

Line 
1 <?php
2 /***************************************************************************</span>
3 <span class="code-comment"> *                              admin_users.php
4  *                            -------------------
5  *   begin                : Saturday, Feb 13, 2001
6  *   copyright            : (C) 2001 The phpBB Group
7  *   email                : support@phpbb.com
8  *
9  *   $Id: admin_users.php,v 1.57.2.29 2005/10/30 15:17:13 acydburn Exp $
10  *
11  *
12  ***************************************************************************/
13
14 /***************************************************************************
15  *
16  *   This program is free software; you can redistribute it and/or modify
17  *   it under the terms of the GNU General Public License as published by
18  *   the Free Software Foundation; either version 2 of the License, or
19  *   (at your option) any later version.
20  *
21  ***************************************************************************/
22
23 if( !empty($setmodules) )</span>
24 <span class="code-keyword">{
25         $filename = basename(__FILE__);
26         $module['users']['manage'] = $filename;
27
28         return;
29 }
30
31 define('IN_PHPBB', 1);
32
33 $root_path = './../';</span>
34 <span class="code-lang">require($root_path . 'extension.inc');
35 require('./pagestart.' . $phpEx);
36 require($root_path . 'phpBB2/includes/bbcode.'.$phpEx);
37 require($root_path . 'phpBB2/includes/functions_post.'.$phpEx);
38 require($root_path . 'include/functions_selects.'.$phpEx);
39 require($root_path . 'include/functions_check.'.$phpEx);
40
41 @include ($root_path . 'languages/lang_' . $config['default_lang'] . '/lang_modcomment_log.php');
42
43 $html_entities_match = array('#<#', '#>#');
44 $html_entities_replace = array('&lt;', '&gt;');
45 $modcomment = array();
46
47 //</span>
48 <span class="code-comment">// Set mode
49 //
50 $mode = request_var('mode', '');
51
52 //</span>
53 <span class="code-comment">// Begin program
54 //
55
56 switch ( $mode ) {</span>
57 <span class="code-keyword">
58     case 'save':
59         $user_id = request_var('id', 0);
60
61         if ( isset($_POST['submit']) ) {
62             if ( !($this_userdata = get_userdata($user_id)) ) {
63                 trigger_error($lang['no_user_id_specified'] );
64                 return;
65             }
66
67             if( isset($_POST['deleteuser']) && ( $userdata['uid'] != $user_id ) ) {
68                 require_once ($root_path . 'include/functions_delete.'.$phpEx);
69                 $users_id = array($user_id);
70                 deleteuser($users_id);
71
72                 $message = $lang['user_deleted'] . '<br /><br />' . sprintf($lang['click_return_useradmin'], '<a href="' . append_sid("admin_users.$phpEx") . '">', '</a>') . '<br /><br />' . sprintf($lang['click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
73
74                 trigger_error($message);
75                 return;
76             }
77
78             $check_fields_ary = array(
79                 'username' => '',
80                 'email' => '',
81                 'password' => '',
82                 'password_confirm' => '',
83                 'user_avatar' => '',
84                 'icq' => '',
85                 'aim' => '',
86                 'msn' => '',
87                 'yim' => '',
88                 'skype' => '',
89                 'user_sig' => '',
90                 'notifypm' => '',
91                 'parked' => 0,
92                 'accept_pm' => 1,
93                 'deletepms' => 0,
94                 'savepms' => 0,
95                 'commentpm' => 0,
96                 'gender' => 0,
97                 'language' => $config['default_lang'],
98                 'country' => 1,
99                 'timezone' => $config['board_timezone'],
100                 'dst' => $config['board_dst'],
101                 'torrents_per_page' => 0,
102                 'show_avatars' => 0,
103                 'donor' => 0,
104                 'hidden_torrents' => 0,
105                 'autodemote' => 0,
106                 'title' => '',
107                 'autodemote' => 0,
108                 'account_status' => 0,
109                 'user_status' => 0,
110                 'invites' => 0,
111                 'add_upload' => 0.0,
112                 'add_upload_reason' => '',
113                 'privacy' => PRIVACY_LEVEL_LOW,
114                 'upload' => 0,
115                 'download' => 0,
116                 'year' => 0,
117                 'month' => 0,
118                 'day' => 0,
119                 'bonus' => 0
120             );
121
122             foreach ( $check_fields_ary AS $field => $def_value ) {
123                 $$field = request_var($field, $def_value);
124             }
125
126             $signature = str_replace('<br />', "\n", $user_sig);
127             $notifypm = '';
128
129             validate_optional_fields($icq, $aim, $msn, $yim, $skype, $signature);
130
131             $user_lang = $language;
132             $user_country = $country;
133             $user_timezone = $timezone;
134             $user_dst = $dst;
135
136             $error = FALSE;
137             $error_msg = '';
138             $updateset = array();
139
140             if ($username != $this_userdata['name'])
141             {
142                 unset($rename_user);
143
144                 if ( utf_strtolower($username) != utf_strtolower($this_userdata['name']) )
145                 {
146                     $result = check_username($username);
147                     if ( $result['error'] )
148                     {
149                         $error = TRUE;
150                         $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $result['error_msg'];
151                     }
152                     else if ( utf_strtolower(str_replace("\\'", "''", $username)) == utf_strtolower($userdata['name']) )
153                     {
154                         $error = TRUE;
155                         $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['username_taken'];
156                     }
157                 }
158
159                 if (!$error)
160                 {
161                     $updateset[] = "name = '" . $db->sql_escape($username) . "'";
162                     $rename_user = $username; // Used for renaming usergroup
163                 }
164             }
165
166             $passwd_changed = false;
167             if( !empty($password) && !empty($password_confirm) )
168             {
169                 //
170                 // Awww, the user wants to change their password, isn't that cute..
171                 //
172                 if( $password != $password_confirm ) {
173                     $error = TRUE;
174                     $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['password_mismatch'];
175                 }
176                 else
177                 {
178                     $secret = mksecret();
179                     $password = md5($secret . $password . $secret);
180                     $passwd_changed = true;
181
182                     $updateset[] = "pass = '" . $db->sql_escape($password) . "'";
183                     $updateset[] = "secret = '" . $db->sql_escape($secret) . "'";
184                 }
185             }
186             else if( $password && !$password_confirm )
187             {
188                 $error = TRUE;
189                 $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['password_mismatch'];
190             }
191             else if( !$password && $password_confirm )
192             {
193                 $error = TRUE;
194                 $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['password_mismatch'];
195             }
196
197             if ( $signature != '' )
198             {
199                 $sig_length_check = preg_replace('/(\[.*?)(=.*?)\]/is', '\\1]', $signature);
200
201                 $signature = prepare_message($signature, $config['allow_html'], $config['allow_bbcode'], $config['allow_smilies']);
202
203                 if ( strlen($sig_length_check) > $config['max_sig_chars'] )
204                 {
205                     $error = TRUE;
206                     $error_msg .=  ( ( isset($error_msg) ) ? '<br />' : '' ) . sprintf($lang['signature_too_long'], $config['max_sig_chars']);
207                 }
208             }
209
210             if( isset($_POST['avatardel']) )
211             {
212                 $updateset[] = "avatar = ''";
213             }
214
215             if ( $user_avatar && $user_avatar != $this_userdata['avatar'] && strpos($user_avatar, 'user_avatar_' . $this_userdata['uid']) === false && $config['allow_avatar_remote'] ) {
216                 if ( $error = check_remote_avatar($user_avatar) ) {
217                     $error = true;
218                     $error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $error : $error;
219                 }
220
221                 $updateset[] = "avatar = '" . $db->sql_escape($user_avatar) . "'";
222             }
223             if ( isset($_FILES['avatar_upload']) && !empty($_FILES['avatar_upload']['name']) && $config['allow_avatar_upload'] ) {
224                 $user_avatar = check_upload_image($_FILES['avatar_upload'], $config['avatar_path'] . '/', $config['avatar_filesize'], $config['avatar_max_height'], $config['avatar_max_width'], 'user_avatar_' . $this_userdata['uid']);
225                 $user_avatar = $user_avatar['filename'];
226
227                 $updateset[] = "avatar = '" . $db->sql_escape($user_avatar) . "'";
228             }
229
230             if( !check_internet_speed($download) || !check_internet_speed($upload)  )
231             {
232                 $error = true;
233                 $error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $lang['speed_invalid'] : $lang['speed_invalid'];
234             }
235             else {
236                 $updateset[] = "upload = '" . $db->sql_escape($upload) . "'";
237                 $updateset[] = "download = '" . $db->sql_escape($download) . "'";
238             }
239
240             if ( !checkdate($month, $day, $year) )
241             {
242                 $error = true;
243                 $error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $lang['birthday_invalid'] : $lang['birthday_invalid'];
244             }
245             else {
246                 $user_birthday = $year . '-' . $month . '-' . $day;
247                 $updateset[] = "birthday = '" . $db->sql_escape($user_birthday) . "'";
248             }
249
250             if ( isset($_POST['reset_passkey']) ) {
251                 $torrent_pass = md5($this_userdata['name'] . time() . $this_userdata['pass']);
252
253                 $updateset[] = "torrent_pass = '" . $db->sql_escape($torrent_pass) . "'";
254             }
255
256             if ( $user_status != $this_userdata['enabled'] ) {
257                 $modcomment[] = sprintf($lang['modcomment_account_enabled_disabled'], 't' . time(), ( $user_status ? $lang['enabled'] : $lang['disabled'] ), $userdata['name'] );
258             }
259
260             if ( !empty($add_upload) && empty($add_upload_reason) ) {
261                 $error = true;
262                 $error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $lang['add_upload_js_failed'] : $lang['add_upload_js_failed'];
263             }
264
265             if ( $add_upload ) {
266                 $updateset[] = 'uploaded = uploaded + ' . $add_upload * 1024 * 1024 * 1024;
267                 $modcomment[] = sprintf($lang['modcomment_add_upload_text'], 't' . time(), $add_upload, $userdata['name'], $add_upload_reason );
268             }
269
270             if ( $bonus ) {
271                 $updateset[] = 'total_seed_time = total_seed_time + ' . ( ( 3600 * $bonus ) / $config['my_bonus_points'] );
272                 $modcomment[] = sprintf($lang['modcomment_add_bonus_text'], 't' . time(), $bonus, $userdata['name']);
273             }
274
275             if ( sizeof($modcomment) ) {
276                 $updateset[] = 'modcomment = \'' . $db->sql_escape($this_userdata['modcomment'] . "\n" . implode("\n", $modcomment)) . '\'';
277             }
278
279             //
280             // Update entry in DB
281             //
282             if( !$error )
283             {
284                 $user_notify = request_var('user_notify', array(''=>0));
285                 foreach ( $user_notify AS $key => $val ) {
286                     $notifypm .= '[' . $key . ']';
287                 }
288
289                 $sql = 'SELECT id FROM ' . CATEGORIES_TABLE;
290                 $result = $db->sql_query($sql);
291                 while ( $row = $db->sql_fetchrow($result) ) {
292                     if ( isset($_POST['cat' . $row['id']]) ) {
293                         $notifypm .= '[cat' . $row['id'] . ']';
294                     }
295                 }
296
297                 $updateset[] = "email = '" . $db->sql_escape($email) . "'";
298                 $updateset[] = "icq = '" . $db->sql_escape($icq) . "'";
299                 $updateset[] = "aim = '" . $db->sql_escape($aim) . "'";
300                 $updateset[] = "yahoo = '" . $db->sql_escape($yim) . "'";
301                 $updateset[] = "msn = '" . $db->sql_escape($msn) . "'";
302                 $updateset[] = "skype = '" . $db->sql_escape($skype) . "'";
303                 $updateset[] = "enabled = '" . $db->sql_escape($user_status) . "'";
304                 $updateset[] = "tzoffset = '" . $db->sql_escape($user_timezone) . "'";
305                 $updateset[] = "user_dst = '" . $db->sql_escape($user_dst) . "'";
306                 $updateset[] = "notifs = '" . $db->sql_escape($notifypm) . "'";
307                 $updateset[] = "parked = '" . $db->sql_escape($parked) . "'";
308                 $updateset[] = "acceptpms = '" . $db->sql_escape($accept_pm) . "'";
309                 $updateset[] = "savepms = '" . $db->sql_escape($savepms) . "'";
310                 $updateset[] = "deletepms = '" . $db->sql_escape($deletepms) . "'";
311                 $updateset[] = "commentpm = '" . $db->sql_escape($commentpm) . "'";
312                 $updateset[] = "gender = '" . $db->sql_escape($gender) . "'";
313                 $updateset[] = "country = '" . $db->sql_escape($user_country) . "'";
314                 $updateset[] = "torrentsperpage = '" . $db->sql_escape($torrents_per_page) . "'";
315                 $updateset[] = "avatars = '" . $db->sql_escape($show_avatars) . "'";
316                 $updateset[] = "donor = '" . $db->sql_escape($donor) . "'";
317                 $updateset[] = "title = '" . $db->sql_escape($title) . "'";
318                 $updateset[] = "hiddentorrents = '" . $db->sql_escape($hidden_torrents) . "'";
319                 $updateset[] = "autodemote = '" . $db->sql_escape($autodemote) . "'";
320                 $updateset[] = "status = '" . $db->sql_escape($account_status) . "'";
321                 $updateset[] = "invites = '" . $db->sql_escape($invites) . "'";
322                 $updateset[] = "status = '" . $db->sql_escape($account_status) . "'";
323                 $updateset[] = "user_sig = '" . $db->sql_escape($signature) . "'";
324                 $updateset[] = "privacy = '" . $db->sql_escape($privacy) . "'";
325                 $updateset[] = "language = '" . $db->sql_escape($user_lang) . "'";
326
327
328                 $sql = 'UPDATE ' . USERS_TABLE . ' SET ' . implode(', ', $updateset) . ' WHERE uid = ' . $user_id;
329                 $result = $db->sql_query($sql);
330
331                 if( isset($rename_user) )
332                 {
333                     $sql = "UPDATE " . GROUPS_TABLE . "
334                         SET group_name = '".str_replace("\'", "''", $rename_user)."'
335                         WHERE group_name = '".str_replace("'", "''", $this_userdata['name'] )."'";
336                     $result = $db->sql_query($sql);
337                 }
338
339                 // Delete user session, to prevent the user navigating the forum (if logged in) when disabled
340                 if ( !$user_status )
341                 {
342                     $sql = "DELETE FROM " . SESSIONS_TABLE . "
343                         WHERE session_user_id = " . $user_id;
344                     $db->sql_query($sql);
345                 }
346
347                 // We remove all stored login keys since the password has been updated
348                 // and change the current one (if applicable)
349                 if ( $passwd_changed )
350                 {
351                     session_reset_keys($user_id, $user_ip);
352                 }
353
354                 $message = $lang['admin_user_updated'];
355
356                 $message .= '<br /><br />' . sprintf($lang['click_return_useradmin'], '<a href="' . append_sid("admin_users.$phpEx") . '">', '</a>') . '<br /><br />' . sprintf($lang['click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
357
358                 trigger_error($message);
359                 return;
360             }
361             else
362             {
363                 trigger_error($error_msg);
364             }
365         }
366     break;
367
368     case 'edit':
369             $user_id = request_var(POST_USERS_URL, 0);
370             $username = request_var('username', '');
371
372             if ( $user_id ) {
373                 $this_userdata = get_userdata($user_id);
374             }
375             else {
376                 $this_userdata = get_userdata($username, true);
377             }
378
379             if( !$this_userdata )
380             {
381                 trigger_error($lang['no_user_id_specified'] );
382                 return;
383             }
384             //
385             // Now parse and display it as a template
386             //
387             $user_id = $this_userdata['uid'];
388             $username = $this_userdata['name'];
389             $email = $this_userdata['email'];
390             $password = '';
391             $password_confirm = '';
392
393             $icq = $this_userdata['icq'];
394             $aim = str_replace('+', ' ', $this_userdata['aim'] );
395             $msn = $this_userdata['msn'];
396             $yim = $this_userdata['yahoo'];
397             $skype = $this_userdata['skype'];
398
399             $user_avatar = $this_userdata['avatar'];
400
401             $signature = $this_userdata['user_sig'];
402             $signature = preg_replace($html_entities_match, $html_entities_replace, $signature);
403
404             $parked = ( $this_userdata['parked'] ? 1 : 0 );
405             $accept_pm = $this_userdata['acceptpms'];
406             $delete_pms = $this_userdata['deletepms'];
407             $save_pms = $this_userdata['savepms'];
408             $commentpm  = $this_userdata['commentpm'];
409             $gender  = $this_userdata['gender'];
410
411             $user_lang = $this_userdata['language'];
412             $user_country = $this_userdata['country'];
413             $user_timezone = $this_userdata['tzoffset'];
414             // [start] DST
415             $user_dst = $this_userdata['user_dst'];
416             // [end] DST
417             $user_birthday = $this_userdata['birthday'];
418             $torrents_per_page = intval($this_userdata['torrentsperpage']);
419             $show_avatars = $this_userdata['avatars'];
420             $donor = ( $this_userdata['donor'] ? 1 : 0 );
421             $title = $this_userdata['title'];
422             $hidden_torrents = ( $this_userdata['hiddentorrents'] ? 1 : 0 );
423             $autodemote = ( $this_userdata['autodemote'] ? 1 : 0 );
424             $account_status  = ( $this_userdata['status'] ? 1 : 0 );
425
426             $user_status = $this_userdata['enabled'];
427             $invites = intval($this_userdata['invites']);
428             $bonus = number_format( $config['my_bonus_points'] * ( $this_userdata['total_seed_time'] / 3600 ), 2 );
429
430
431             $s_hidden_fields = '<input type="hidden" name="mode" value="save" /><input type="hidden" name="agreed" value="true" />';
432             $s_hidden_fields .= '<input type="hidden" name="id" value="' . $this_userdata['uid'] . '" />';
433             $s_hidden_fields .= '<input type="hidden" name="add_upload_reason" value="" />';
434             //$s_hidden_fields .= '<input type="hidden" name="signature" value="' . str_replace("\"", "&quot;", $signature) . '" />';
435
436             $avatar = get_user_avatar($this_userdata['uid'], $this_userdata['avatar']);
437             $avatar = ( $this_userdata['avatar']? ' <img src="' . $avatar . '" alt="" />' : '' );
438
439             $cats = $cache->obtain_cats();
440
441             if ( $cats ) {
442                 $catsperrow = 2;
443                 $cats_split_row = $catsperrow - 1;
444                 $row = 0;
445                 $col = 0;
446
447                 foreach ( $cats AS $cat_id => $cat_ary ) {
448                     if (!$col) {
449                         $template->assign_block_vars('cats_row', array());
450                     }
451                      $template->assign_block_vars('cats_row.cats_col', array(
452                         'CAT_ID' => $cat_id,
453                         'CAT_NAME' => $cat_ary['cat_name'],
454                         'CHECKED' => ( strpos($this_userdata['notifs'], '[cat' . $cat_id . ']') !== false ? ' checked="checked"' : "")
455                     ));
456
457                     if ( $col == $cats_split_row ) {
458                         $col = 0;
459                         $row++;
460                     }
461                     else {
462                         $col++;
463                     }
464                 }
465                 if ( $col ) {
466                     $template->assign_block_vars('cats_row.colspan', array(
467                         'CATS_COLSPAN' => ( $catsperrow - $col )
468                     ));
469                 }
470             }
471             $uploadspeed = generate_internet_speed($this_userdata['upload'], 'upload');
472             $downloadspeed = generate_internet_speed($this_userdata['download'], 'download');
473             $countries = countries_select($user_country);
474             $birthday_select = birthday_select(substr($this_userdata['birthday'], 0, 4), substr($this_userdata['birthday'], 5, 2), substr($this_userdata['birthday'], 8, 2));
475
476             $privacy_input = '<input type="radio" name="privacy" id="privacy" value="' . PRIVACY_LEVEL_LOW . '"' . ( $this_userdata['privacy'] == PRIVACY_LEVEL_LOW ?' checked="checked"':'') . ' /> ' . $lang['low'];
477              $privacy_input .= ' <input type="radio" name="privacy" id="privacy" value="' . PRIVACY_LEVEL_NORMAL . '"' . ( $this_userdata['privacy'] == PRIVACY_LEVEL_NORMAL ?' checked="checked"':'') . ' /> ' . $lang['normal'];
478              $privacy_input .= ' <input type="radio" name="privacy" id="privacy" value="' . PRIVACY_LEVEL_HIGH . '"' . ( $this_userdata['privacy'] == PRIVACY_LEVEL_HIGH ?' checked="checked"':'') . ' /> ' . $lang['high'];
479
480             $notifs = array('pm', 'forum', 'comments');
481
482             $notifs_options = '';
483             foreach ( $notifs AS $_null => $val ) {
484                 $name = 'user_notify[' . $val . ']';
485                 $notifs_options .= '<input type="checkbox" id="' . $name . '" name="' . $name . '"' . ( strpos($this_userdata['notifs'], '[' . $val . ']') !== false ? ' checked="checked"' : '' ) . ' value="1" /> ' . $lang['email_notifis_' . $val] . '<br />';
486             }
487
488             $template->set_filenames(array(
489                 "body" => "../admin/user_edit_body.tpl"
490             ));
491
492             //
493             // Let's do an overall check for settings/versions which would prevent
494             // us from doing file uploads....
495             //
496             $ini_val = ( phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
497             $form_enctype = ( !@$ini_val('file_uploads') || phpversion() == '4.0.4pl1' || ( phpversion() < '4.0.3' && @$ini_val('open_basedir') != '' ) ) ? '' : 'enctype="multipart/form-data"';
498
499             $template->assign_vars(array(
500                 'USERNAME' => $username,
501                 'EMAIL' => $email,
502                 'YIM' => $yim,
503                 'ICQ' => $icq,
504                 'MSN' => $msn,
505                 'AIM' => $aim,
506                 'SKYPE' => $skype,
507                 'SIGNATURE' => str_replace('<br />', "\n", $signature),
508                 'NOTIFY_OPTIONS' => $notifs_options,
509                 'PARKED_YES' => ( $parked ) ? 'checked="checked"' : '',
510                 'PARKED_NO' => ( !$parked ) ? 'checked="checked"' : '',
511                 'ACCEPT_PM_ALL' => ( $accept_pm == 1) ? 'checked="checked"':'',
512                 'ACCEPT_PM_FRIENDS' => ( $accept_pm == 2) ? 'checked="checked"':'',
513                 'ACCEPT_PM_ADMIN' => ( !$accept_pm) ? 'checked="checked"':'',
514                 'SAVE_PM' => ( $save_pms ) ? 'checked="checked"':'',
515                 'DELETE_PM' => ( $delete_pms ) ? 'checked="checked"':'',
516                 'COMMENT_PM_YES' => ( $commentpm ) ? 'checked="checked"':'',
517                 'COMMENT_PM_NO' => ( !$commentpm ) ? 'checked="checked"':'',
518                 'UPLOAD_SPEED_SELECT' => $uploadspeed,
519                 'DOWNLOAD_SPEED_SELECT' => $downloadspeed,
520                 'GENDER_MALE' => ( !$gender ) ?  'checked="checked"':'',
521                 'GENDER_FEMALE' => ( $gender ) ?  'checked="checked"':'',
522                 'SHOW_AVATARS' => ($show_avatars) ? 'checked="checked"':'',
523                 'DONOR_YES' => ( $donor ) ? 'checked="checked"' : '',
524                 'DONOR_NO' => ( !$donor ) ? 'checked="checked"' : '',
525                 'TITLE' => $title,
526                 'HIDDEN_TORRENTS_YES' => ( $hidden_torrents ) ? 'checked="checked"' : '',
527                 'HIDDEN_TORRENTS_NO' => ( !$hidden_torrents ) ? 'checked="checked"' : '',
528                 'AUTODEMOTE_YES' => ( $autodemote  ) ? 'checked="checked"' : '',
529                 'AUTODEMOTE_NO' => ( !$autodemote ) ? 'checked="checked"' : '',
530                 'ACCOUNT_CONFIRMED_SELECTED' => ( $account_status ) ? 'selected="selected"': '',
531                 'ACCOUNT_PENDING_SELECTED' => ( !$account_status ) ? 'selected="selected"': '',
532
533                 'LANGUAGE_SELECT' => language_select($user_lang),
534                 'TIMEZONE_SELECT' => tz_select($user_timezone),
535                 // [start] DST
536                 'DST_YES' => ($user_dst) ? 'checked="checked"' : '',
537                 'DST_NO' => (!$user_dst) ? 'checked="checked"' : '',
538                 // [end] DST
539                 'COUNTRIES_SELECT' => $countries,
540                 'BIRTHDAY_SELECT' => $birthday_select,
541                 'TORRENTS_PER_PAGE' => $torrents_per_page,
542                 'USER_ACTIVE_YES' => ( $user_status ) ? 'checked="checked"' : '',
543                 'USER_ACTIVE_NO' => ( !$user_status ) ? 'checked="checked"' : '',
544                 'INVITES' => $invites,
545                 'AVATAR' => $avatar,
546                 'PRIVACY_INPUT' => $privacy_input,
547                 'L_SIGNATURE_EXPLAIN' =>  sprintf($lang['signature_explain'], $config['max_sig_chars'] ),
548                 'L_DELETE_ACCOUNT_CONFIRM' => sprintf($lang['delete_account_confirm'], $username),
549
550                 'L_SPECIAL' => $lang['user_special'],
551                 'L_SPECIAL_EXPLAIN' => $lang['user_special_explain'],
552                 'L_USER_ACTIVE' => $lang['user_status'],
553
554                 'L_NOTIFY_ON_REPLY' => $lang['email_notifis_forum'],
555                 'L_NOTIFY_PM' => $lang['email_notifis_pm'],
556                 'L_PROFILE_INFO_NOTICE' => $lang['profile_info_warn'],
557                 'S_FORM_ENCTYPE' => $form_enctype,
558
559                 'L_AVATAR_EXPLAIN' => $lang['admin_avatar_explain'],
560                 'L_DELETE_AVATAR' => $lang['delete_image'],
561                 'L_AVATAR_GALLERY' => $lang['select_from_gallery'],
562                 'L_SHOW_GALLERY' => $lang['view_avatar_gallery'],
563
564                 'L_DELETE_USER' => $lang['user_delete'],
565                 'L_DELETE_USER_EXPLAIN' => $lang['user_delete_explain'],
566                 'L_SELECT_RANK' => $lang['rank_title'],
567
568                 'L_ADD_UPLOAD_JS_CONFIRM' => str_replace("'", "\'", $lang['add_upload_js_confirm']),
569                 'L_ADD_UPLOAD_JS_REASON' => str_replace("'", "\'", $lang['add_upload_js_reason']),
570                 'L_ADD_UPLOAD_JS_FAILED' => str_replace("'", "\'", $lang['add_upload_js_failed']),
571
572                 'S_HIDDEN_FIELDS' => $s_hidden_fields,
573                 'S_PROFILE_ACTION' => append_sid("admin_users.$phpEx"),
574
575                 'BONUS' => $bonus
576             ));
577
578             $template->display('body');
579     break;
580
581     default:
582         //
583         // Default user selection box
584         //
585         $template->set_filenames(array(
586             'body' => '../admin/user_select_body.tpl'
587         ));
588
589         $template->assign_vars(array(
590             'L_USER_TITLE' => $lang['user_admin'],
591             'L_USER_EXPLAIN' => $lang['user_admin_explain'],
592             //'U_SEARCH_USER' => append_sid("./../search.$phpEx?mode=searchuser"),
593             'U_SEARCH_USER' => append_sid($root_path . "/phpbb2.php?page=search&amp;mode=searchuser"),
594
595             'S_USER_ACTION' => append_sid("admin_users.$phpEx") )
596         );
597         $template->display('body');
598     break;
599 }
600
601 include('./page_footer_admin.'.$phpEx);
602
603 ?>
Note: See TracBrowser for help on using the browser.