\filepath\filename At line XXX -- code on this line for simple search -- Add AFTER/BEFORE/REPLACE New code here ------------------------------------------------------------------------------------------------------------------------------------ \includes\admin.php At line 315 -- elseif($_GET['c'] == "mods") -- Add BEFORE elseif($_GET['c'] == "comms") // ###################[ Comms ]################################################################## { CheckAdminAccess( ADMIN_OWNER|ADMIN_ADD_BAN|ADMIN_EDIT_OWN_BANS|ADMIN_EDIT_ALL_BANS ); if(!isset($_GET['o'])) { // ====================[ ADMIN SIDE MENU START ] =================== $banTabMenu = new CTabsMenu(); if($userbank->HasAccess(ADMIN_OWNER|ADMIN_ADD_BAN ) ) { $banTabMenu->addMenuItem("Add a block", 0); } $banTabMenu->addMenuItem("Comms list", 1, "", "index.php?p=commslist",true); $banTabMenu->outputMenu(); // ====================[ ADMIN SIDE MENU END ] =================== include TEMPLATES_PATH . "/admin.comms.php"; if(isset($_GET['mode']) && $_GET['mode'] == "delete") echo ""; elseif(isset($_GET['mode']) && $_GET['mode']=="unban") echo ""; RewritePageTitle("Comms"); } elseif($_GET['o'] == 'edit') { $banTabMenu = new CTabsMenu(); $banTabMenu->addMenuItem("Back", 0,"", "javascript:history.go(-1);", true); $banTabMenu->outputMenu(); include TEMPLATES_PATH . "/admin.edit.comms.php"; RewritePageTitle("Edit Block Details"); } } ------------------------------------------------------------------------------------------------------------------------------------ \includes\page-builder.php At line 38 -- case "servers": -- Add BEFORE case "commslist": RewritePageTitle("Communications Block List"); $page = TEMPLATES_PATH ."/page.commslist.php"; break; ------------------------------------------------------------------------------------------------------------------------------------ \includes\sb-callback.php At line 2969 (end of file) -- ?> -- Add BEFORE function AddBlock($nickname, $type, $steam, $length, $reason) { $objResponse = new xajaxResponse(); global $userbank, $username; if(!$userbank->HasAccess(ADMIN_OWNER|ADMIN_ADD_BAN)) { $objResponse->redirect("index.php?p=login&m=no_access", 0); $log = new CSystemLog("w", "Hacking Attempt", $username . " tried to add a block, but doesnt have access."); return $objResponse; } $steam = trim($steam); $error = 0; // If they didnt type a steamid if(empty($steam)) { $error++; $objResponse->addAssign("steam.msg", "innerHTML", "You must type a Steam ID or Community ID"); $objResponse->addScript("$('steam.msg').setStyle('display', 'block');"); } else if((!is_numeric($steam) && !validate_steam($steam)) || (is_numeric($steam) && (strlen($steam) < 15 || !validate_steam($steam = FriendIDToSteamID($steam))))) { $error++; $objResponse->addAssign("steam.msg", "innerHTML", "Please enter a valid Steam ID or Community ID"); $objResponse->addScript("$('steam.msg').setStyle('display', 'block');"); } else { $objResponse->addAssign("steam.msg", "innerHTML", ""); $objResponse->addScript("$('steam.msg').setStyle('display', 'none');"); } if($error > 0) return $objResponse; $nickname = RemoveCode($nickname); $reason = RemoveCode($reason); if(!$length) $len = 0; else $len = $length*60; // prune any old bans PruneComms(); $typeW = ""; switch ((int)$type) { case 1: $typeW = "type = 1"; break; case 2: $typeW = "type = 2"; break; case 3: $typeW = "(type = 1 OR type = 2)"; break; default: $typeW = ""; break; } // Check if the new steamid is already banned $chk = $GLOBALS['db']->GetRow("SELECT count(bid) AS count FROM ".DB_PREFIX."_comms WHERE authid = ? AND (length = 0 OR ends > UNIX_TIMESTAMP()) AND RemovedBy IS NULL AND ".$typeW, array($steam)); if(intval($chk[0]) > 0) { $objResponse->addScript("ShowBox('Error', 'SteamID: $steam is already blocked.', 'red', '');"); return $objResponse; } // Check if player is immune $admchk = $userbank->GetAllAdmins(); foreach($admchk as $admin) if($admin['authid'] == $steam && $userbank->GetProperty('srv_immunity') < $admin['srv_immunity']) { $objResponse->addScript("ShowBox('Error', 'SteamID: Admin ".$admin['user']." ($steam) is immune.', 'red', '');"); return $objResponse; } if((int)$type == 1 || (int)$type == 3) { $pre = $GLOBALS['db']->Prepare("INSERT INTO ".DB_PREFIX."_comms(created,type,authid,name,ends,length,reason,aid,adminIp ) VALUES (UNIX_TIMESTAMP(),1,?,?,(UNIX_TIMESTAMP() + ?),?,?,?,?)"); $GLOBALS['db']->Execute($pre,array($steam, $nickname, $length*60, $len, $reason, $userbank->GetAid(), $_SERVER['REMOTE_ADDR'])); } if ((int)$type == 2 || (int)$type ==3) { $pre = $GLOBALS['db']->Prepare("INSERT INTO ".DB_PREFIX."_comms(created,type,authid,name,ends,length,reason,aid,adminIp ) VALUES (UNIX_TIMESTAMP(),2,?,?,(UNIX_TIMESTAMP() + ?),?,?,?,?)"); $GLOBALS['db']->Execute($pre,array($steam, $nickname, $length*60, $len, $reason, $userbank->GetAid(), $_SERVER['REMOTE_ADDR'])); } $objResponse->addScript("ShowBlockBox('".$steam."', '".(int)$type."', '".(int)$len."');"); $objResponse->addScript("TabToReload();"); $log = new CSystemLog("m", "Block Added", "Block against (" . $steam . ") has been added, reason: $reason, length: $length", true, $kickit); return $objResponse; } function PrepareReblock($bid) { $objResponse = new xajaxResponse(); $ban = $GLOBALS['db']->GetRow("SELECT name, authid, type, length, reason FROM ".DB_PREFIX."_comms WHERE bid = '".$bid."';"); // clear any old stuff $objResponse->addScript("$('nickname').value = ''"); $objResponse->addScript("$('steam').value = ''"); $objResponse->addScript("$('txtReason').value = ''"); $objResponse->addAssign("txtReason", "innerHTML", ""); // add new stuff $objResponse->addScript("$('nickname').value = '" . $ban['name'] . "'"); $objResponse->addScript("$('steam').value = '" . $ban['authid']. "'"); $objResponse->addScriptCall("selectLengthTypeReason", $ban['length'], $ban['type']-1, addslashes($ban['reason'])); $objResponse->addScript("SwapPane(0);"); return $objResponse; } function PrepareBlockFromBan($bid) { $objResponse = new xajaxResponse(); // clear any old stuff $objResponse->addScript("$('nickname').value = ''"); $objResponse->addScript("$('steam').value = ''"); $objResponse->addScript("$('txtReason').value = ''"); $objResponse->addAssign("txtReason", "innerHTML", ""); $ban = $GLOBALS['db']->GetRow("SELECT name, authid FROM ".DB_PREFIX."_bans WHERE bid = '".$bid."';"); // add new stuff $objResponse->addScript("$('nickname').value = '" . $ban['name'] . "'"); $objResponse->addScript("$('steam').value = '" . $ban['authid']. "'"); $objResponse->addScript("SwapPane(0);"); return $objResponse; } function PasteBlock($sid, $name) { $objResponse = new xajaxResponse(); global $userbank, $username; $sid = (int)$sid; if(!$userbank->HasAccess(ADMIN_OWNER|ADMIN_ADD_BAN)) { $objResponse->redirect("index.php?p=login&m=no_access", 0); $log = new CSystemLog("w", "Hacking Attempt", $username . " tried paste a block, but doesn't have access."); return $objResponse; } require INCLUDES_PATH.'/CServerRcon.php'; //get the server data $data = $GLOBALS['db']->GetRow("SELECT ip, port, rcon FROM ".DB_PREFIX."_servers WHERE sid = ?;", array($sid)); if(empty($data['rcon'])) { $objResponse->addScript("$('dialog-control').setStyle('display', 'block');"); $objResponse->addScript("ShowBox('Error', 'No RCON password for server ".$data['ip'].":".$data['port']."!', 'red', '', true);"); return $objResponse; } $r = new CServerRcon($data['ip'], $data['port'], $data['rcon']); if(!$r->Auth()) { $GLOBALS['db']->Execute("UPDATE ".DB_PREFIX."_servers SET rcon = '' WHERE sid = ?;", array($sid)); $objResponse->addScript("$('dialog-control').setStyle('display', 'block');"); $objResponse->addScript("ShowBox('Error', 'Wrong RCON password for server ".$data['ip'].":".$data['port']."!', 'red', '', true);"); return $objResponse; } $ret = $r->rconCommand("status"); $search = preg_match_all(STATUS_PARSE,$ret,$matches,PREG_PATTERN_ORDER); $i = 0; $found = false; $index = -1; foreach($matches[2] AS $match) { if($match == $name) { $found = true; $index = $i; break; } $i++; } if($found) { $steam = $matches[3][$index]; $name = $matches[2][$index]; $objResponse->addScript("$('nickname').value = '" . addslashes($name) . "'"); $objResponse->addScript("$('steam').value = '" . $steam . "'"); } else { $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);"); $objResponse->addScript("$('dialog-control').setStyle('display', 'block');"); return $objResponse; } $objResponse->addScript("SwapPane(0);"); $objResponse->addScript("$('dialog-control').setStyle('display', 'block');"); $objResponse->addScript("$('dialog-placement').setStyle('display', 'none');"); return $objResponse; } ****************************************************************** At line 2477-2478 -- if($ctype=="B") $redir = "?p=banlist".$pagelink; -- Add AFTER elseif($ctype=="C") $redir = "?p=commslist".$pagelink; ****************************************************************** At line 2448-2449 -- elseif($ctype=="P") $redir = "?p=admin&c=bans#^1"; -- Add AFTER elseif($ctype=="C") $redir = "?p=commslist".$pagelink; ****************************************************************** At line 2410-2411 -- elseif($ctype=="P") $redir = "?p=admin&c=bans#^1"; -- ADD AFTER elseif($ctype=="C") $redir = "?p=commslist".$pagelink; ****************************************************************** At line 1348 -- {name: "Kick", callback: function(){KickPlayerConfirm('.$sid.', "'.str_replace('"', '\"', $player["name"]).'", 0);}}, -- Add AFTER {name: "Block comms", callback: function(){window.location = "index.php?p=admin&c=comms&action=pasteBan&sid='.$sid.'&pName='.str_replace('"', '\"', $player["name"]).'"}}, ****************************************************************** At line 66 -- $xajax->registerFunction("SendMail"); -- Add AFTER $xajax->registerFunction("AddBlock"); $xajax->registerFunction("PrepareReblock"); $xajax->registerFunction("PrepareBlockFromBan"); $xajax->registerFunction("PasteBlock"); ------------------------------------------------------------------------------------------------------------------------------------ \includes\system-functions.php At line 765 -- function GetSVNRev() -- Add BEFORE function PruneComms() { global $userbank; $res = $GLOBALS['db']->Execute('UPDATE `'.DB_PREFIX.'_comms` SET `RemovedBy` = 0, `RemoveType` = \'E\', `RemovedOn` = UNIX_TIMESTAMP() WHERE `length` != 0 and `ends` < UNIX_TIMESTAMP() and `RemoveType` IS NULL'); return $res?true:false; } ****************************************************************** At line 218 -- case "groups": -- Add BEFORE case "comms": $cat = "Communication blocks management"; break; ****************************************************************** At line 187 -- $submenu->addMenuItem("Bans", 0,"", "index.php?p=admin&c=bans", true); -- Add AFTER if($userbank->HasAccess( ADMIN_OWNER|ADMIN_ADD_BAN|ADMIN_EDIT_OWN_BANS|ADMIN_EDIT_ALL_BANS)) $submenu->addMenuItem("Comms", 0,"", "index.php?p=admin&c=comms", true); ****************************************************************** At line 169 -- AddTab("Ban List", "index.php?p=banlist", "All of the bans in the database can be viewed from here."); -- Add AFTER AddTab("Comm List", "index.php?p=commslist", "All of the communication bans (such as chat gags and voice mutes) in the database can be viewed from here."); ****************************************************************** At line 135-137 -- $tab_arr[2] = "Servers"; $tab_arr[3] = "Submit a ban"; $tab_arr[4] = "Protest a ban"; -- REPLACE $tab_arr[2] = "Comm List"; $tab_arr[3] = "Servers"; $tab_arr[4] = "Submit a ban"; $tab_arr[5] = "Protest a ban"; ------------------------------------------------------------------------------------------------------------------------------------ \pages\page.banlist.php At line 470 -- $data['details_link'] = CreateLinkR('click','getdemo.php?type=B&id='.$res->fields['ban_id']); -- ADD BEFORE $data['blockcomm_link'] = CreateLinkR(' Block Comms',"index.php?p=admin&c=comms".$pagelink."&blockfromban=".$res->fields['ban_id']."&key=".$_SESSION['banlist_postkey']."#^0"); ****************************************************************** At line 345 -- $where = "WHERE CO.commenttxt LIKE ?"; -- REPLACE $where = "WHERE CO.type = 'B' AND CO.commenttxt LIKE ?"; ------------------------------------------------------------------------------------------------------------------------------------ \scripts\sourcebans.js At line 1473 (end of file) -- } -- Add AFTER function RemoveBlock(id, key, page, name, confirm) { if(confirm==0) { ShowBox('Delete Block', 'Are you sure you want to delete the block for '+ name + '?', 'blue', '', true); $('dialog-control').setHTML(' '); } else if(confirm==1) { if(page != "") var pagelink = page; else var pagelink = ""; window.location = "index.php?p=commslist" + pagelink + "&a=delete&id="+ id +"&key="+ key; } } function UnGag(id, key, page, name, popup) { if(popup==1) { ShowBox('UnGag Reason', 'Please give a short comment, why you are going to ungag '+"\'"+ name +"\'"+'!

', 'blue', '', true); $('dialog-control').setHTML(' '); } else if(popup==0) { if(page != "") var pagelink = page; else var pagelink = ""; reason = $('ureason').value; if(reason == "") { $('ureason.msg').setHTML("Please leave a comment."); $('ureason.msg').setStyle('display', 'block'); return; } else { $('ureason.msg').setHTML(''); $('ureason.msg').setStyle('display', 'none'); } window.location = "index.php?p=commslist" + pagelink + "&a=ungag&id="+ id +"&key="+ key +"&ureason="+ reason; } } function UnMute(id, key, page, name, popup) { if(popup==1) { ShowBox('UnMute Reason', 'Please give a short comment, why you are going to unmute '+"\'"+ name +"\'"+'!

', 'blue', '', true); $('dialog-control').setHTML(' '); } else if(popup==0) { if(page != "") var pagelink = page; else var pagelink = ""; reason = $('ureason').value; if(reason == "") { $('ureason.msg').setHTML("Please leave a comment."); $('ureason.msg').setStyle('display', 'block'); return; } else { $('ureason.msg').setHTML(''); $('ureason.msg').setStyle('display', 'none'); } window.location = "index.php?p=commslist" + pagelink + "&a=unmute&id="+ id +"&key="+ key +"&ureason="+ reason; } } function search_blocks() { var type = ""; var input = ""; if($('name').checked) { type = "name"; input = $('nick').value; } if($('steam_').checked) { type = (document.getElementById('steam_match').value == "1" ? "steam" : "steamid"); input = $('steamid').value; } if($('reason_').checked) { type = "reason"; input = $('ban_reason').value; } if($('date').checked) { type = "date"; input = $('day').value + "," + $('month').value + "," + $('year').value; } if($('length_').checked) { type = "length"; if($('length').value=="other") var length = $('other_length').value; else var length = $('length').value input = $('length_type').value + "," + length; } if($('ban_type_').checked) { type = "btype"; input = $('ban_type').value; } if($('bancount').checked) { type = "bancount"; input = $('timesbanned').value; } if($('admin').checked) { type = "admin"; input = $('ban_admin').value; } if($('where_banned').checked) { type = "where_banned"; input = $('server').value; } if($('comment_').checked) { type = "comment"; input = $('ban_comment').value; } if(type!="" && input!="") window.location = "index.php?p=commslist&advSearch=" + input + "&advType=" + type; } function ShowBlockBox(check, type, length) { ShowBox('Block Added', 'The block has been successfully added
', 'green', 'index.php?p=admin&c=comms', true); } ****************************************************************** At line 1197 -- window.location = "index.php?p=banlist"+searchlink+"&page="+nextPage; -- Add AFTER if(type == "C") window.location = "index.php?p=commslist"+searchlink+"&page="+nextPage; ------------------------------------------------------------------------------------------------------------------------------------ \themes\**\css\css.php At line 496-501 -- #search { width: 300px; float: right; padding: 2px 0 0 0; text-align: right; } -- REPLACE #search2 { width: 300px; float: right; padding: 2px 0 0 0; text-align: right; } #search { width: 200px; float: right; margin: auto 14px 0 auto; margin-right: 14; margin-bottom: -10px; padding: 0 0 0 0; text-align: right; } ****************************************************************** At line 334-339 -- .searchbox { width:105px; height:14px; background-color:#d7d7d7; border:0; } -- REPLACE .searchbox { width:230px; height:14px; background-color:#fdeaa8; border:0; } .searchbox2 { width:105px; height:14px; background-color:#fdeaa8; border:0; } ------------------------------------------------------------------------------------------------------------------------------------ \themes\**\page_bans.tpl At line 138 --
  • {$ban.demo_link}
  • -- ADD BEFORE
  • {$ban.blockcomm_link}