Guest User

Untitled

a guest
Jan 27th, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.53 KB | None | 0 0
  1. <?php
  2.     define('IN_PHPBB', true);
  3.     $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
  4.     $phpEx = substr(strrchr(__FILE__, '.'), 1);
  5.     require($phpbb_root_path . 'common.' . $phpEx);
  6.     require($phpbb_root_path . 'includes/functions_user.' . $phpEx);
  7.     require($phpbb_root_path . 'includes/functions_module.' . $phpEx);
  8.  
  9. function forumRegister($user_name, $password, $email, $coppa = false) {
  10.    
  11.     global $db, $template, $config, $auth, $phpEx, $phpbb_root_path, $cache, $user;
  12.     $_REQUEST['username'] = $_POST['username'] = $user_name;
  13.     $_REQUEST['email'] = $_REQUEST['email_confirm'] = $_POST['email'] = $_POST['email_confirm'] = $email;
  14.     $_REQUEST['new_password'] = $_REQUEST['password_confirm'] = $_POST['new_password'] = $_POST['password_confirm'] = $password;
  15.  
  16.     // Start session management
  17.     $user->session_begin();
  18.     $auth->acl($user->data);
  19.     $user->setup();
  20.  
  21.     $timezone = date('Z') / 3600;
  22.     $is_dst = date('I');
  23.  
  24.     if ($config['board_timezone'] == $timezone || $config['board_timezone'] == ($timezone - 1)) {
  25.         $timezone = ($is_dst) ? $timezone - 1 : $timezone;
  26.  
  27.         if (!isset($user->lang['tz_zones'][(string) $timezone])) {
  28.             $timezone = $config['board_timezone'];
  29.         }
  30.     } else {
  31.         $is_dst = $config['board_dst'];
  32.         $timezone = $config['board_timezone'];
  33.     }
  34.  
  35.     $data = array(
  36.         'username' => utf8_normalize_nfc(request_var('username', '', true)),
  37.         'new_password' => request_var('new_password', '', true),
  38.         'password_confirm' => request_var('password_confirm', '', true),
  39.         'email' => strtolower(request_var('email', '')),
  40.         'email_confirm' => strtolower(request_var('email_confirm', '')),
  41.         'lang' => basename(request_var('lang', $user->lang_name)),
  42.         'tz' => request_var('tz', (float) $timezone),
  43.     );
  44.  
  45.     $server_url = generate_board_url();
  46.     // Which group by default?
  47.     $group_name = ($coppa) ? 'REGISTERED_COPPA' : 'REGISTERED';
  48.  
  49.     $sql = 'SELECT group_id
  50.      FROM ' . GROUPS_TABLE . "
  51.      WHERE group_name = '" . $db->sql_escape($group_name) . "'
  52.         AND group_type = " . GROUP_SPECIAL;
  53.     $result = $db->sql_query($sql);
  54.     $row = $db->sql_fetchrow($result);
  55.     $db->sql_freeresult($result);
  56.  
  57.     $group_id = $row['group_id'];
  58.  
  59.     if (($coppa ||
  60.             $config['require_activation'] == USER_ACTIVATION_SELF ||
  61.             $config['require_activation'] == USER_ACTIVATION_ADMIN) && $config['email_enable']) {
  62.         $user_actkey = gen_rand_string(10);
  63.         $key_len = 54 - (strlen($server_url));
  64.         $key_len = ($key_len < 6) ? 6 : $key_len;
  65.         $user_actkey = substr($user_actkey, 0, $key_len);
  66.  
  67.         $user_type = USER_INACTIVE;
  68.         $user_inactive_reason = INACTIVE_REGISTER;
  69.         $user_inactive_time = time();
  70.     } else {
  71.         $user_type = USER_NORMAL;
  72.         $user_actkey = '';
  73.         $user_inactive_reason = 0;
  74.         $user_inactive_time = 0;
  75.     }
  76.  
  77.     $user_row = array(
  78.         'username' => $data['username'],
  79.         'user_password' => phpbb_hash($data['new_password']),
  80.         'user_email' => $data['email'],
  81.         'group_id' => (int) $group_id,
  82.         'user_timezone' => (float) $data['tz'],
  83.         'user_dst' => $is_dst,
  84.         'user_lang' => $data['lang'],
  85.         'user_type' => $user_type,
  86.         'user_actkey' => $user_actkey,
  87.         'user_ip' => $user->ip,
  88.         'user_regdate' => time(),
  89.         'user_inactive_reason' => $user_inactive_reason,
  90.         'user_inactive_time' => $user_inactive_time,
  91.     );
  92.  
  93.     $user_id = user_add($user_row);
  94. }
  95.  
  96. //edit user profile
  97. function forumEdit($user_id, $email, $password, $cu_password="")
  98. {
  99.     global $db, $template, $config, $auth, $phpEx, $phpbb_root_path, $cache, $user;  
  100.  
  101.    $user->session_begin();
  102.    $auth->acl($user->data);
  103.    $user->setup();
  104.  
  105.    $sql = 'SELECT user_id FROM ' . USERS_TABLE . " WHERE username = '" . $db->sql_escape($user_id) . "' ";
  106.    $result = $db->sql_query($sql);
  107.    $row = $db->sql_fetchrow($result);
  108.    $db->sql_freeresult($result);  
  109.    $uid = $row[user_id];
  110.  
  111.     if(!$uid)
  112.       exit();
  113.  
  114.     if(!$cu_password ){
  115.  
  116.         $sql_ary1 = $sql_ary2 = array();
  117.  
  118.       $sql_ary1 = array(
  119.          'user_email'      => $email,
  120.          'user_email_hash'   => crc32($email) . strlen($email)
  121.       );
  122.  
  123.         if($password){
  124.          $sql_ary2 = array(
  125.             'user_password'      => phpbb_hash($password) ,
  126.             'user_passchg'      => time()
  127.          );
  128.        }
  129.  
  130.         $sql_ary = array_merge($sql_ary1,$sql_ary2);
  131.       if (sizeof($sql_ary))
  132.       {
  133.          $sql = 'UPDATE ' . USERS_TABLE . '
  134.            SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
  135.            WHERE user_id = ' . $uid;
  136.          $db->sql_query($sql);
  137.       }
  138.  
  139.    }
  140.    else{
  141.  
  142.       if (!$user->data['user_password']){
  143.          forumLogin($user_id,$cu_password,false);
  144.          $user->session_begin();
  145.          $auth->acl($user->data);
  146.          $user->setup();
  147.       }
  148.  
  149.       if ($user->data['user_password']){
  150.  
  151.          $_REQUEST['email'] = $_REQUEST['email_confirm'] = $_POST['email']= $_POST['email_confirm']= $email;
  152.          $_REQUEST['new_password'] = $_REQUEST['password_confirm'] = $_POST['new_password']= $_POST['password_confirm']= $password;
  153.  
  154.          $data = array(
  155.             'email'            => strtolower(request_var('email', $user->data['user_email'])),
  156.             'email_confirm'      => strtolower(request_var('email_confirm', '')),
  157.             'new_password'      => request_var('new_password', '', true),
  158.             'password_confirm'   => request_var('password_confirm', '', true),
  159.          );
  160.  
  161.          $sql_ary = array(
  162.             'user_email'      => ($auth->acl_get('u_chgemail')) ? $data['email'] : $user->data['user_email'],
  163.             'user_email_hash'   => ($auth->acl_get('u_chgemail')) ? crc32($data['email']) . strlen($data['email']) : $user->data['user_email_hash'],
  164.             'user_password'      => ($auth->acl_get('u_chgpasswd') && $data['new_password']) ? phpbb_hash($data['new_password']) : $user->data['user_password'],
  165.             'user_passchg'      => ($auth->acl_get('u_chgpasswd') && $data['new_password']) ? time() : 0,
  166.          );
  167.  
  168.          if (sizeof($sql_ary))
  169.          {
  170.             $sql = 'UPDATE ' . USERS_TABLE . '
  171.               SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
  172.               WHERE user_id = ' . $uid;
  173.             $db->sql_query($sql);
  174.          }
  175.  
  176.       }
  177.    }
  178. }
  179.  
  180.  
  181. echo $_POST["username"];
  182. echo('testing');
Add Comment
Please, Sign In to add comment