diff --git a/upload/ajax.php b/upload/ajax.php index e53b6b7b5..b135f6542 100644 --- a/upload/ajax.php +++ b/upload/ajax.php @@ -24,6 +24,7 @@ switch ($ajax->action) case 'view_torrent': case 'mod_action': case 'change_tor_status': + case 'gen_passkey'; require(INC_DIR .'functions_torrent.php'); break; @@ -59,6 +60,8 @@ class ajax_common 'change_tor_status' => array('mod'), 'mod_action' => array('mod'), + 'gen_passkey' => array('user'), + 'view_post' => array('guest'), 'view_message' => array('guest'), 'view_torrent' => array('guest'), @@ -266,6 +269,25 @@ class ajax_common require(AJAX_DIR .'edit_user_profile.php'); } + function gen_passkey () + { + global $userdata, $lang; + + $req_uid = (int) $this->request['user_id']; + + if ($req_uid == $userdata['user_id'] || IS_ADMIN) + { + $force_generate = (IS_ADMIN); + + if (!$passkey = generate_passkey($req_uid, $force_generate)) + { + $this->ajax_die('Could not insert passkey'); + } + tracker_rm_user($req_uid); + $this->response['passkey'] = $passkey; + } + } + function view_post () { require(AJAX_DIR .'view_post.php'); diff --git a/upload/includes/ucp/torrent_userprofile.php b/upload/includes/ucp/torrent_userprofile.php index 82d1cf7fe..391a3471c 100644 --- a/upload/includes/ucp/torrent_userprofile.php +++ b/upload/includes/ucp/torrent_userprofile.php @@ -38,7 +38,7 @@ if (IS_ADMIN) { $template->assign_vars(array( 'SHOW_PASSKEY' => true, - 'S_GEN_PASSKEY' => "'. $lang['BT_GEN_PASSKEY_URL'] .'', + 'S_GEN_PASSKEY' => ''. $lang['BT_GEN_PASSKEY_URL'] .'', 'CAN_EDIT_RATIO' => IS_SUPER_ADMIN, )); } diff --git a/upload/includes/ucp/usercp_register.php b/upload/includes/ucp/usercp_register.php index 52897dc2a..d2aa8b447 100644 --- a/upload/includes/ucp/usercp_register.php +++ b/upload/includes/ucp/usercp_register.php @@ -105,11 +105,11 @@ switch ($mode) if (IS_ADMIN && !empty($_REQUEST['u'])) { $pr_user_id = (int) $_REQUEST['u']; - $adm_edit = ($pr_user_id != $user->id); + $adm_edit = ($pr_user_id != $userdata['user_id']); } else { - $pr_user_id = $user->id; + $pr_user_id = $userdata['user_id']; } $profile_fields_sql = join(', ', array_keys($profile_fields)); $sql = " @@ -748,7 +748,7 @@ if ($mode == 'editprofile' && $userdata['session_logged_in']) $sql = 'SELECT auth_key FROM '. BB_BT_USERS .' - WHERE user_id = '. $userdata['user_id']; + WHERE user_id = '. $pr_user_id; if (!$result = DB()->sql_query($sql)) { @@ -762,7 +762,7 @@ if ($mode == 'editprofile' && $userdata['session_logged_in']) 'L_GEN_PASSKEY' => $lang['BT_GEN_PASSKEY'], 'L_GEN_PASSKEY_EXPLAIN' => $lang['BT_GEN_PASSKEY_EXPLAIN'], 'L_GEN_PASSKEY_EXPLAIN_2' => $lang['BT_GEN_PASSKEY_EXPLAIN_2'], - 'S_GEN_PASSKEY' => "' . $lang['BT_GEN_PASSKEY_URL'] . '', + 'S_GEN_PASSKEY' => '' . $lang['BT_GEN_PASSKEY_URL'] . '', 'CURR_PASSKEY' => $curr_passkey, )); } diff --git a/upload/templates/default/usercp_register.tpl b/upload/templates/default/usercp_register.tpl index 2c84a5026..19fad1596 100644 --- a/upload/templates/default/usercp_register.tpl +++ b/upload/templates/default/usercp_register.tpl @@ -65,6 +65,11 @@ ajax.callback.user_register = function(data){ +