Minor improvements (#845)

This commit is contained in:
Roman Kelesidis 2023-07-24 13:30:42 +07:00 committed by GitHub
commit 188f15f53f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 45 additions and 16 deletions

View file

@ -14,22 +14,40 @@ if (!defined('IN_AJAX')) {
global $userdata, $lang;
$req_uid = (int)$this->request['user_id'];
$mode = (string)$this->request['mode'];
if ($req_uid == $userdata['user_id'] || IS_ADMIN) {
$first_creation = !\TorrentPier\Legacy\Torrent::getPasskey($req_uid);
switch ($mode) {
case 'create':
$first_creation = !\TorrentPier\Legacy\Torrent::getPasskey($req_uid);
if (empty($this->request['confirmed']) && !$first_creation) {
$this->prompt_for_confirm($lang['BT_GEN_PASSKEY_NEW']);
if (empty($this->request['confirmed']) && !$first_creation) {
$this->prompt_for_confirm($lang['BT_GEN_PASSKEY_NEW']);
}
if (!$passkey = \TorrentPier\Legacy\Torrent::generate_passkey($req_uid, IS_ADMIN)) {
$this->ajax_die('Could not insert passkey');
}
\TorrentPier\Legacy\Torrent::tracker_rm_user($req_uid);
$this->response['first_creation'] = $first_creation;
$this->response['passkey'] = $passkey;
break;
case 'remove':
if (empty($this->request['confirmed'])) {
$this->prompt_for_confirm($lang['QUESTION']);
}
if (!$delete = \TorrentPier\Legacy\Torrent::deletePasskey($req_uid)) {
$this->ajax_die('Could not remove passkey');
}
$this->response['passkey_removed'] = $delete;
break;
default:
$this->ajax_die('Invalid mode');
}
if (!$passkey = \TorrentPier\Legacy\Torrent::generate_passkey($req_uid, IS_ADMIN)) {
$this->ajax_die('Could not insert passkey');
}
\TorrentPier\Legacy\Torrent::tracker_rm_user($req_uid);
$this->response['first_creation'] = $first_creation;
$this->response['passkey'] = $passkey;
} else {
$this->ajax_die($lang['NOT_AUTHORISED']);
}

View file

@ -739,7 +739,7 @@ class Torrent
}
/**
* Returns the user's passkey, false otherwise
* Returns the user passkey, false otherwise
*
* @param int|string $user_id
* @return bool|string
@ -752,4 +752,15 @@ class Torrent
return false;
}
/**
* Removes user passkey, false otherwise
*
* @param int|string $user_id
* @return bool
*/
public static function deletePasskey($user_id): bool
{
return (bool)DB()->query("DELETE FROM " . BB_BT_USERS . " WHERE user_id = " . (int)$user_id);
}
}

View file

@ -483,7 +483,7 @@ $(document).ready(function() {
<h4 class="alert-heading">{L_PASSKEY_ALERT_TITLE}</h4>
<hr>
{L_PASSKEY_ALERT_INFO}
<a href="#" onclick="ajax.exec({ action: 'gen_passkey', user_id : {SESSION_USER_ID} }); return false;">{L_BT_GEN_PASSKEY}</a>
<a href="#" onclick="ajax.exec({ action: 'gen_passkey', mode: 'create', user_id: {SESSION_USER_ID} }); return false;">{L_BT_GEN_PASSKEY}</a>
</div>
<!-- ENDIF -->
<div id="latest_news">

View file

@ -169,7 +169,7 @@ ajax.callback.index_data = function(data) {
<!-- IF SHOW_PASSKEY && not NEED_GEN_PASSKEY -->
<script type="text/javascript">
ajax.callback.gen_passkey = function (data) {
if (data.first_creation) {
if (data.first_creation || data.passkey_removed) {
window.location.reload();
} else if (data.passkey) {
$('#passkey').text(data.passkey);
@ -401,7 +401,7 @@ ajax.callback.index_data = function(data) {
<!-- IF SHOW_PASSKEY -->
[ {L_BT_PASSKEY}: <span id="passkey-btn"><a class="med" href="#" onclick="$('#passkey-gen').show(); $('#passkey-btn').hide(); return false;">{L_BT_PASSKEY_VIEW}</a></span>
<span id="passkey-gen" class="med" style="display: none;">
<!-- IF AUTH_KEY --><b id="passkey" class="med bold">{AUTH_KEY}</b>&nbsp;|&nbsp;<!-- ENDIF --><a href="#" onclick="ajax.exec({ action: 'gen_passkey', user_id : {PROFILE_USER_ID} }); return false;">{L_BT_GEN_PASSKEY}</a>
<!-- IF AUTH_KEY --><b id="passkey" class="med bold">{AUTH_KEY}</b>&nbsp;|&nbsp;<a href="#" onclick="ajax.exec({ action: 'gen_passkey', mode: 'remove', user_id : {PROFILE_USER_ID} }); return false;">{L_REMOVE}</a>&nbsp;&middot;&nbsp;<!-- ENDIF --><a href="#" onclick="ajax.exec({ action: 'gen_passkey', mode: 'create', user_id : {PROFILE_USER_ID} }); return false;">{L_BT_GEN_PASSKEY}</a>
</span> ]
<!-- ENDIF -->
</td>