Skip to content

Commit 821d282

Browse files
committed
Fixed bug with SteamID format
Fix #316
1 parent c30db93 commit 821d282

File tree

2 files changed

+30
-29
lines changed

2 files changed

+30
-29
lines changed

web/includes/sb-callback.php

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3188,28 +3188,26 @@ function PasteBlock($sid, $name)
31883188
global $userbank, $username;
31893189

31903190
$sid = (int)$sid;
3191-
if(!$userbank->HasAccess(ADMIN_OWNER|ADMIN_ADD_BAN))
3192-
{
3193-
$objResponse->redirect("index.php?p=login&m=no_access", 0);
3194-
$log = new CSystemLog("w", "Hacking Attempt", $username . " tried paste a block, but doesn't have access.");
3195-
return $objResponse;
3191+
if (!$userbank->HasAccess(ADMIN_OWNER|ADMIN_ADD_BAN)) {
3192+
$objResponse->redirect("index.php?p=login&m=no_access", 0);
3193+
$log = new CSystemLog("w", "Hacking Attempt", $username . " tried paste a block, but doesn't have access.");
3194+
return $objResponse;
31963195
}
31973196
require INCLUDES_PATH.'/CServerRcon.php';
31983197
//get the server data
31993198
$data = $GLOBALS['db']->GetRow("SELECT ip, port, rcon FROM ".DB_PREFIX."_servers WHERE sid = ?;", array($sid));
32003199
if(empty($data['rcon'])) {
3201-
$objResponse->addScript("$('dialog-control').setStyle('display', 'block');");
3202-
$objResponse->addScript("ShowBox('Error', 'No RCON password for server ".$data['ip'].":".$data['port']."!', 'red', '', true);");
3203-
return $objResponse;
3200+
$objResponse->addScript("$('dialog-control').setStyle('display', 'block');");
3201+
$objResponse->addScript("ShowBox('Error', 'No RCON password for server ".$data['ip'].":".$data['port']."!', 'red', '', true);");
3202+
return $objResponse;
32043203
}
32053204

32063205
$r = new CServerRcon($data['ip'], $data['port'], $data['rcon']);
3207-
if(!$r->Auth())
3208-
{
3209-
$GLOBALS['db']->Execute("UPDATE ".DB_PREFIX."_servers SET rcon = '' WHERE sid = ?;", array($sid));
3210-
$objResponse->addScript("$('dialog-control').setStyle('display', 'block');");
3211-
$objResponse->addScript("ShowBox('Error', 'Wrong RCON password for server ".$data['ip'].":".$data['port']."!', 'red', '', true);");
3212-
return $objResponse;
3206+
if (!$r->Auth()) {
3207+
$GLOBALS['db']->Execute("UPDATE ".DB_PREFIX."_servers SET rcon = '' WHERE sid = ?;", array($sid));
3208+
$objResponse->addScript("$('dialog-control').setStyle('display', 'block');");
3209+
$objResponse->addScript("ShowBox('Error', 'Wrong RCON password for server ".$data['ip'].":".$data['port']."!', 'red', '', true);");
3210+
return $objResponse;
32133211
}
32143212

32153213
$ret = $r->rconCommand("status");
@@ -3218,26 +3216,29 @@ function PasteBlock($sid, $name)
32183216
$found = false;
32193217
$index = -1;
32203218
foreach($matches[2] AS $match) {
3221-
if($match == $name) {
3222-
$found = true;
3223-
$index = $i;
3224-
break;
3225-
}
3226-
$i++;
3219+
if($match == $name) {
3220+
$found = true;
3221+
$index = $i;
3222+
break;
3223+
}
3224+
$i++;
32273225
}
32283226
if($found) {
3229-
$steam = $matches[3][$index];
3230-
$name = $matches[2][$index];
3231-
$objResponse->addScript("$('nickname').value = '" . addslashes($name) . "'");
3232-
$objResponse->addScript("$('steam').value = '" . $steam . "'");
3227+
$steam = $matches[3][$index];
3228+
if (!preg_match(STEAM_FORMAT, $steam)) {
3229+
$steam = explode(':', $steam);
3230+
$steam = steam2to3(rtrim($steam[2], ']'));
3231+
}
3232+
$name = $matches[2][$index];
3233+
$objResponse->addScript("$('nickname').value = '" . addslashes($name) . "'");
3234+
$objResponse->addScript("$('steam').value = '" . $steam . "'");
32333235
} else {
3234-
$objResponse->addScript("ShowBox('Error', 'Can\'t get player info for ".addslashes(htmlspecialchars($name)).". Player is not on the server (".$data['ip'].":".$data['port'].") anymore!', 'red', '', true);");
3235-
$objResponse->addScript("$('dialog-control').setStyle('display', 'block');");
3236-
return $objResponse;
3236+
$objResponse->addScript("ShowBox('Error', 'Can\'t get player info for ".addslashes(htmlspecialchars($name)).". Player is not on the server (".$data['ip'].":".$data['port'].") anymore!', 'red', '', true);");
3237+
$objResponse->addScript("$('dialog-control').setStyle('display', 'block');");
3238+
return $objResponse;
32373239
}
32383240
$objResponse->addScript("SwapPane(0);");
32393241
$objResponse->addScript("$('dialog-control').setStyle('display', 'block');");
32403242
$objResponse->addScript("$('dialog-placement').setStyle('display', 'none');");
32413243
return $objResponse;
32423244
}
3243-
?>

web/version.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"version": "1.6.2",
3-
"git": "514"
3+
"git": "516"
44
}

0 commit comments

Comments
 (0)