home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / phpnuke / PHP-Nuke-7.5.exe / html / includes / usercp_activate.php < prev    next >
PHP Script  |  2004-01-29  |  7KB  |  144 lines

  1. <?php
  2. /***************************************************************************
  3.  *                            usercp_activate.php
  4.  *                            -------------------
  5.  *   begin                : Saturday, Feb 13, 2001
  6.  *   copyright            : (C) 2001 The phpBB Group
  7.  *   email                : support@phpbb.com
  8.  *
  9.  *   $Id: usercp_activate.php,v 1.6.2.7 2003/05/03 23:24:02 acydburn Exp $
  10.  *
  11.  *
  12.  ***************************************************************************/
  13. /***************************************************************************
  14. * phpbb2 forums port version 2.0.5 (c) 2003 - Nuke Cops (http://nukecops.com)
  15. *
  16. * Ported by Nuke Cops to phpbb2 standalone 2.0.5 Test
  17. * and debugging completed by the Elite Nukers and site members.
  18. *
  19. * You run this package at your sole risk. Nuke Cops and affiliates cannot
  20. * be held liable if anything goes wrong. You are advised to test this
  21. * package on a development system. Backup everything before implementing
  22. * in a production environment. If something goes wrong, you can always
  23. * backout and restore your backups.
  24. *
  25. * Installing and running this also means you agree to the terms of the AUP
  26. * found at Nuke Cops.
  27. *
  28. * This is version 2.0.5 of the phpbb2 forum port for PHP-Nuke. Work is based
  29. * on Tom Nitzschner's forum port version 2.0.6. Tom's 2.0.6 port was based
  30. * on the phpbb2 standalone version 2.0.3. Our version 2.0.5 from Nuke Cops is
  31. * now reflecting phpbb2 standalone 2.0.5 that fixes some bugs and the
  32. * invalid_session error message.
  33. ***************************************************************************/
  34. /***************************************************************************
  35.  *   This file is part of the phpBB2 port to Nuke 6.0 (c) copyright 2002
  36.  *   by Tom Nitzschner (tom@toms-home.com)
  37.  *   http://bbtonuke.sourceforge.net (or http://www.toms-home.com)
  38.  *
  39.  *   As always, make a backup before messing with anything. All code
  40.  *   release by me is considered sample code only. It may be fully
  41.  *   functual, but you use it at your own risk, if you break it,
  42.  *   you get to fix it too. No waranty is given or implied.
  43.  *
  44.  *   Please post all questions/request about this port on http://bbtonuke.sourceforge.net first,
  45.  *   then on my site. All original header code and copyright messages will be maintained
  46.  *   to give credit where credit is due. If you modify this, the only requirement is
  47.  *   that you also maintain all original copyright messages. All my work is released
  48.  *   under the GNU GENERAL PUBLIC LICENSE. Please see the README for more information.
  49.  *
  50.  ***************************************************************************/
  51. /***************************************************************************
  52.  *
  53.  *   This program is free software; you can redistribute it and/or modify
  54.  *   it under the terms of the GNU General Public License as published by
  55.  *   the Free Software Foundation; either version 2 of the License, or
  56.  *   (at your option) any later version.
  57.  *
  58.  *
  59.  ***************************************************************************/
  60.  
  61. if ( !defined('IN_PHPBB') )
  62. {
  63.         die('Hacking attempt');
  64.         exit;
  65. }
  66.  
  67. $sql = "SELECT user_active, user_id, username, user_email, user_newpasswd, user_lang, user_actkey
  68.         FROM " . USERS_TABLE . "
  69.         WHERE user_id = " . intval($HTTP_GET_VARS[POST_USERS_URL]);
  70. if ( !($result = $db->sql_query($sql)) )
  71. {
  72.         message_die(GENERAL_ERROR, 'Could not obtain user information', '', __LINE__, __FILE__, $sql);
  73. }
  74.  
  75. if ( $row = $db->sql_fetchrow($result) )
  76. {
  77.         if ( $row['user_active'] && trim($row['user_actkey']) == '' )
  78.         {
  79.                 $template->assign_vars(array(
  80.                         'META' => '<meta http-equiv="refresh" content="10;url=' . append_sid("index.$phpEx") . '">')
  81.                 );
  82.  
  83.                 message_die(GENERAL_MESSAGE, $lang['Already_activated']);
  84.         }
  85.         else if ((trim($row['user_actkey']) == trim($HTTP_GET_VARS['act_key'])) && (trim($row['user_actkey']) != ''))
  86.         {
  87.                 $sql_update_pass = ( $row['user_newpasswd'] != '' ) ? ", user_password = '" . str_replace("\'", "''", $row['user_newpasswd']) . "', user_newpasswd = ''" : '';
  88.  
  89.                 $sql = "UPDATE " . USERS_TABLE . "
  90.                         SET user_active = 1, user_actkey = ''" . $sql_update_pass . "
  91.                         WHERE user_id = " . $row['user_id'];
  92.                 if ( !($result = $db->sql_query($sql)) )
  93.                 {
  94.                         message_die(GENERAL_ERROR, 'Could not update users table', '', __LINE__, __FILE__, $sql_update);
  95.                 }
  96.  
  97.                 if ( intval($board_config['require_activation']) == USER_ACTIVATION_ADMIN && $sql_update_pass == '' )
  98.                 {
  99.                         include("includes/emailer.php");
  100.                         $emailer = new emailer($board_config['smtp_delivery']);
  101.  
  102.                         $emailer->from($board_config['board_email']);
  103.                         $emailer->replyto($board_config['board_email']);
  104.  
  105.                         $emailer->use_template('admin_welcome_activated', $row['user_lang']);
  106.                         $emailer->email_address($row['user_email']);
  107.                         $emailer->set_subject($lang['Account_activated_subject']);
  108.  
  109.                         $emailer->assign_vars(array(
  110.                                 'SITENAME' => $board_config['sitename'],
  111.                                 'USERNAME' => $row['username'],
  112.                                 'PASSWORD' => $password_confirm,
  113.                                 'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '')
  114.                         );
  115.                         $emailer->send();
  116.                         $emailer->reset();
  117.  
  118.                         $template->assign_vars(array(
  119.                                 'META' => '<meta http-equiv="refresh" content="10;url=' . append_sid("index.$phpEx") . '">')
  120.                         );
  121.  
  122.                         message_die(GENERAL_MESSAGE, $lang['Account_active_admin']);
  123.                 }
  124.                 else
  125.                 {
  126.                         $template->assign_vars(array(
  127.                                 'META' => '<meta http-equiv="refresh" content="10;url=' . append_sid("index.$phpEx") . '">')
  128.                         );
  129.  
  130.                         $message = ( $sql_update_pass == '' ) ? $lang['Account_active'] : $lang['Password_activated'];
  131.                         message_die(GENERAL_MESSAGE, $message);
  132.                 }
  133.         }
  134.         else
  135.         {
  136.                 message_die(GENERAL_MESSAGE, $lang['Wrong_activation']);
  137.         }
  138. }
  139. else
  140. {
  141.         message_die(GENERAL_MESSAGE, $lang['No_such_user']);
  142. }
  143.  
  144. ?>