filepathfilenameAt line XXX -- code on this line for simple search --Add AFTER/BEFORE/REPLACENew code here------------------------------------------------------------------------------------------------------------------------------------includesadmin.phpAt 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 "<script>ShowBox('Ban Deleted', 'The ban has been deleted from SourceBans', 'green', '', true);</script>"; elseif(isset($_GET['mode']) && $_GET['mode']=="unban") echo "<script>ShowBox('Player Unbanned', 'The Player has been unbanned from SourceBans', 'green', '', true);</script>"; 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"); } }------------------------------------------------------------------------------------------------------------------------------------includespage-builder.phpAt line 38 -- case "servers": --Add BEFORE case "commslist": RewritePageTitle("Communications Block List"); $page = TEMPLATES_PATH ."/page.commslist.php"; break;------------------------------------------------------------------------------------------------------------------------------------includessb-callback.phpAt line 2969 (end of file) -- ?> --Add BEFOREfunction 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");------------------------------------------------------------------------------------------------------------------------------------includessystem-functions.phpAt line 765 -- function GetSVNRev() --Add BEFOREfunction 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";------------------------------------------------------------------------------------------------------------------------------------pagespage.banlist.phpAt line 470 -- $data['details_link'] = CreateLinkR('click','getdemo.php?type=B&id='.$res->fields['ban_id']); --ADD BEFORE $data['blockcomm_link'] = CreateLinkR('<img src="images/forbidden.png" border="0" alt="" style="vertical-align:middle" /> 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 ?";------------------------------------------------------------------------------------------------------------------------------------scriptssourcebans.jsAt line 1473 (end of file) -- } --Add AFTERfunction 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('<input type="button" onclick="RemoveBlock(''+id+'', ''+key+'', ''+page+'', ''+addslashes(name.replace(/'/g,'''))+'', '1''+');" name="rban" class="btn ok" onmouseover="ButtonOver('rban')" onmouseout="ButtonOver('rban')" id="rban" value="Remove Block" /> <input type="button" onclick="closeMsg('');$('bulk_action').options[0].selected=true;" name="astop" class="btn cancel" onmouseover="ButtonOver('astop')" onmouseout="ButtonOver('astop')" id="astop" value="Cancel" />'); } 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', '<b>Please give a short comment, why you are going to ungag '+"'"+ name +"'"+'!</b><br><textarea rows="3" cols="40" name="ureason" id="ureason" style="overflow:auto;"></textarea><br><div id="ureason.msg" class="badentry"></div>', 'blue', '', true); $('dialog-control').setHTML('<input type="button" onclick="UnGag(''+id+'', ''+key+'', ''+page+'', ''+addslashes(name.replace(/'/g,'''))+'', '0''+');" name="uban" class="btn ok" onmouseover="ButtonOver('uban')" onmouseout="ButtonOver('uban')" id="uban" value="UnGag Player" /> <input type="button" onclick="closeMsg('');" name="astop" class="btn cancel" onmouseover="ButtonOver('astop')" onmouseout="ButtonOver('astop')" id="astop" value="Cancel" />'); } 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', '<b>Please give a short comment, why you are going to unmute '+"'"+ name +"'"+'!</b><br><textarea rows="3" cols="40" name="ureason" id="ureason" style="overflow:auto;"></textarea><br><div id="ureason.msg" class="badentry"></div>', 'blue', '', true); $('dialog-control').setHTML('<input type="button" onclick="UnMute(''+id+'', ''+key+'', ''+page+'', ''+addslashes(name.replace(/'/g,'''))+'', '0''+');" name="uban" class="btn ok" onmouseover="ButtonOver('uban')" onmouseout="ButtonOver('uban')" id="uban" value="UnMute Player" /> <input type="button" onclick="closeMsg('');" name="astop" class="btn cancel" onmouseover="ButtonOver('astop')" onmouseout="ButtonOver('astop')" id="astop" value="Cancel" />'); } 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 UnSilence(id, key, page, name, popup){ if(popup==1) { ShowBox('UnSilence Reason', '<b>Please give a short comment, why you are going to unmute&ungag '+"'"+ name +"'"+'!</b><br><textarea rows="3" cols="40" name="ureason" id="ureason" style="overflow:auto;"></textarea><br><div id="ureason.msg" class="badentry"></div>', 'blue', '', true); $('dialog-control').setHTML('<input type="button" onclick="UnSilence(''+id+'', ''+key+'', ''+page+'', ''+addslashes(name.replace(/'/g,'''))+'', '0''+');" name="uban" class="btn ok" onmouseover="ButtonOver('uban')" onmouseout="ButtonOver('uban')" id="uban" value="UnSilence Player" /> <input type="button" onclick="closeMsg('');" name="astop" class="btn cancel" onmouseover="ButtonOver('astop')" onmouseout="ButtonOver('astop')" id="astop" value="Cancel" />'); } 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=unsilence&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<br><iframe id="srvkicker" frameborder="0" width="100%" src="pages/admin.blockit.php?check='+check+'&type='+type+'&length='+length+'"></iframe>', '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**csscss.phpAt 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.tplAt line 138 -- <li>{$ban.demo_link}</li> --ADD BEFORE <li>{$ban.blockcomm_link}</li>