Salutare !
Cum fac sa imi apara toate serverele doar pe o pagina ? Gen csservers
Folosesc LGSL
Sa-mi spuneti daca va trebui vreun fisier din el
Scoatere paginations din LGSL
Discutii despre tot ce nu se incadreaza in celelalte categorii.
Moderators: Moderatori ajutatori, Moderatori
-
- Membru, skill 0
- Posts: 68
- Joined: 20 Jan 2016, 17:13
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Fond eXtream: 0
- Contact:
- fan_haulin
- Fost moderator
- Posts: 2592
- Joined: 08 Jun 2010, 20:35
- Detinator Steam: Da
- Reputatie: Fost Moderator
- Has thanked: 271 times
- Been thanked: 106 times
- Contact:
lgsl_details parca, posteaza-l aici.
-
- Membru, skill 0
- Posts: 68
- Joined: 20 Jan 2016, 17:13
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Fond eXtream: 0
- Contact:
LGSL_DETALI
- | Afiseaza codul
[code]<!DOCTYPE html> <!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]--> <!--[if (gte IE 9)|!(IE)]><!--><html lang="en"> <!--<![endif]--> <head> <!-- Basic Page Needs ================================================== --> <meta charset="utf-8"> <title><?php include('lgsl_files/lgsl_config.php') ?><?php echo"".$titlu."";?> - detalii server</title> <!-- Mobile Specific Metas ================================================== --> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <!-- CSS ================================================== --> <link rel="stylesheet" href="css/style2.css"> <link rel="stylesheet" href="css/colors/blue.css" id="colors"> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/tru ... "></script> <![endif]--> <!-- Java Script ================================================== --> <script src="scripts/jquery.min.js"></script> <script src="scripts/jquery-ui.min.js"></script> <script src="scripts/jquery.flexslider.js"></script> <script src="scripts/jquery.selectnav.js"></script> <script src="scripts/jquery.twitter.js"></script> <script src="scripts/jquery.modernizr.js"></script> <script src="scripts/jquery.easing.1.3.js"></script> <script src="scripts/jquery.contact.js"></script> <script src="scripts/jquery.isotope.min.js"></script> <script src="scripts/jquery.jcarousel.js"></script> <script src="scripts/jquery.fancybox.min.js"></script> <script src="scripts/jquery.layerslider.min.js"></script> <script src="scripts/custom.js"></script> <script src='../../google_analytics_auto.js'></script></head> <body> <!-- Wrapper / Start --> <div id="wrapper"> <?php /*----------------------------------------------------------------------------------------------------------\ | | | [ LIVE GAME SERVER LIST ] [ © RICHARD PERRY FROM GREYCUBE.COM ] | | | | Released under the terms and conditions of the GNU General Public License Version 3 (http://gnu.org) | | | |------------------------------------------------------------------------------------------------------------- | [ EDITOR STYLE SETTINGS: LUCIDA CONSOLE, SIZE 10, TAB = 2 SPACES, BOLD GLOBALLY TURNED OFF ] | \-----------------------------------------------------------------------------------------------------------*/ //------------------------------------------------------------------------------------------------------------+ require "lgsl_class.php"; //------------------------------------------------------------------------------------------------------------+ // THIS ALLOWS YOU TO CONTROL THE FIELDS DISPLAYED AND THEIR ORDER $fields_show = array("name", "score", "deaths", "team", "ping", "bot", "time"); // THESE FIELDS ARE ORDERED FIRST $fields_hide = array("teamindex", "pid", "pbguid"); // THESE FIELDS ARE REMOVED $fields_other = TRUE; // FALSE WILL HIDE FIELDS NOT IN $fields_show error_reporting(0); //------------------------------------------------------------------------------------------------------------+ // GET THE SERVER DETAILS AND PREPARE IT FOR DISPLAY $lookup = lgsl_lookup_id($_GET['s']); if (!$lookup) { $output .= "<div style='margin:auto; text-align:center'> {$lgsl_config['text']['mid']} </div>"; return; } $server = lgsl_query_cached($lookup['type'], $lookup['ip'], $lookup['c_port'], $lookup['q_port'], $lookup['s_port'], "sep"); $fields = lgsl_sort_fields($server, $fields_show, $fields_hide, $fields_other); $server = lgsl_sort_players($server); $server = lgsl_sort_extras($server); $misc = lgsl_server_misc($server); $server = lgsl_server_html($server); if (isset($server['e']['metamod_version'])) { $addons .= "Metamod, "; } if (isset($server['e']['amxmodx_version'])) { $addons .= "AMX Mod X, "; } if (isset($server['e']['admin_mod_version'])) { $addons .= "Admin Mod, "; } if (isset($server['e']['booster_version'])) { $addons .= "HL Booster, "; } if (isset($server['e']['c4 timer'])) { $addons .= "C4 Timer, "; } if (isset($server['e']['cfg rank'])) { $addons .= "CFG Rank, "; } if (isset($server['e']['restnames_version'])) { $addons .= "Restrict Names, "; } if (isset($server['e']['csdm_version'])) { $addons .= "CSDM (Respawn), "; } if (isset($server['e']['allchat_version'])) { $addons .= "All Chat, "; } if (isset($server['e']['deags_map_manage'])) { $addons .= "Deagles Map Management, "; } if (isset($server['e']['autoweather_version'])) { $addons .= "Auto Weather, "; } if (isset($server['e']['connectsound_version'])) { $addons .= "Connect Sound, "; } if (isset($server['e']['anticfgflood_version'])) { $addons .= "Anti CFG Flood, "; } if (isset($server['e']['zp_version'])) { $addons .= "Zombie Plague, "; } if (isset($server['e']['amx_ptb_version'])) { $addons .= "PTB, "; } if (isset($server['e']['gal_version'])) { $addons .= "Galileo, "; } if (isset($server['e']['speclist'])) { $addons .= "SpecList, "; } if (isset($server['e']['bhop_abilities'])) { $addons .= "Bunny Hop Abilities, "; } if (isset($server['e']['dp_version'])) { $addons .= "dproto, "; } if (isset($server['e']['wup_version'])) { $addons .= "WarmUP Pro, "; } if (isset($server['e']['spam_blocker'])) { $addons .= "Spam Blocker, "; } if (isset($server['e']['showip'])) { $addons .= "ShowIP, "; } if (isset($server['e']['aesp_version'])) { $addons .= "Admin-ESP, "; } if (isset($server['e']['amx_super'])) { $addons .= "AMX Super, "; } if (isset($server['e']['map_spawns'])) { $addons .= "Map Spawns Editor, "; } if (isset($server['e']['back weapons'])) { $addons .= "<Back Weapons, "; } if (isset($server['e']['afk_version'])) { $addons .= "AFK Kicker, "; } if (isset($server['e']['redirect_version'])) { $addons .= "xRedirect, "; } if (isset($server['e']['hlxce_version'])) { $addons .= "HLXCE Stats "; } if ($addons == "") {$add = "nedetectat";} else{$add = $addons;} if ($server['e']['netcode'] == "") {$protocol = "necunoscut";} else{$protocol = $server['e']['netcode'];} $os = $server['e']['os'] == "w" ? "windows" : "linux"; $pass = $server['e']['sv_password'] == "0" ? "da" : "nu"; $sec = $server['e']['anticheat'] == "1" ? "securizat" : "nesecurizat"; $sec = $server['e']['anticheat'] == "1" ? "securizat" : "nesecurizat"; $slot = $server['s']['playersmax'] - $server['s']['players']; $topmaps = mysql_query ("SELECT * FROM `lgsl` where status='1' and map='".$server['s']['map']."' group by map order by count(map) desc limit 0,1"); while ($row = mysql_fetch_array($topmaps)) { $maps = mysql_query("SELECT * FROM `lgsl` where status='1' and `map`='$row[map]'"); $maps_num = mysql_num_rows($maps); if ($maps_num == 1) {$nums = "servere";} else {$nums = "servere";} $bgimg = "http://image.www.gametracker.com/images ... w[map].jpg"; $numar = $maps_num-1; // CHECK IF BACKGROUND IMAGE EXISTS, IF NOT USE DEFAULT if (!file_exists($bgimg)) { $bgimg = "http://image.www.gametracker.com/images ... w[map].jpg"; } $topmap.= " <table class='standard-table'><tr> <td><span class='highlight color'>Harta <u>$row[map]</u> este jucata pe <u>".$server['s']['name']."</u> si pe alte <u>$numar $nums</u> in acest moment.</span></td> </tr> </table> "; } $topmap.= ""; $vote = '<a href="voteaza_server_'.$server['o']['id'].'.html"><span class="highlight color">'.lgsl_rating($server).' +</span></a>'; if (lgsl_rating($server) > 9998) { $vote = '<span class="highlight blue">V.I.P</span>'; } //------------------------------------------------------------------------------------------------------------+ $output .= " <h2><span class='highlight color'>{$server['s']['name']}</span></h2> </div>"; //------------------------------------------------------------------------------------------------------------+ // SHOW THE STANDARD INFO $output .= ' <!-- Page Content --> <div class="page-content"> <!-- 960 Container --> <div class="container"> <!-- Twelve Columns --> <!-- Toggle 1 --> <div class="toggle-wrap"> <span class="trigger opened"><a href="#"><i class="toggle-icon"></i>Detalii server</a></span> <div class="toggle-container"> <table class="standard-table" > <tr><td> <strong>VOTEZA SERVERUL</strong></td><td>'.$vote.'</td> <td><strong>CONNECTEAZA-TE</strong> </td><td><a href="steam://connect/'.$server['b']['ip'].':'.$server['b']['c_port'].'"><span class="highlight color">steam</span></a></td></tr> <tr><td> <strong>Jucatori</strong></td><td>'.$server['s']['players'].'/'.$server['s']['playersmax'].' ('.$server['e']['bots'].' boti)</td> <td><strong>Sloturi libere</strong> </td><td>'.$slot.' sloturi</td></tr> <tr><td> <strong>Harta</strong></td><td>'.$server['s']['map'].'</td> <td><strong>Adresa</strong> </td><td>'.$server['b']['ip'].':'.$server['b']['c_port'].'</td></tr> <tr><td> <strong>Protocol</strong></td><td>'.$protocol.'</td> <td><strong>OS</strong> </td><td>'.$os.'</td></tr> <tr><td> <strong>Tip server</strong></td><td>'.($server['e']['dedicated'] ? "dedicated" : "listen").'</td> <td><strong>Parola</strong> </td><td>'.$pass.'</td></tr> <tr><td> <strong>Ping</strong></td><td>'.rand(5, 35).' ms</td> <td><strong>Valve Anti Cheat</strong> </td><td>'.$sec.'</td></tr> <tr><td> <strong>Tara</strong></td><td> <img src="'.$misc['icon_location'].'" title="'.$misc['text_location'].'" style="vertical-align:middle; border:none" /> </td> <td><strong>Trimite pe Y!M </strong> </td><td><a href="ymsgr:im?+&msg=Intra si tu pe <b>'.$server['b']['ip'].':'.$server['b']['c_port'].'</b> .Pentru mai multe informatii despre server (statistici live) si ca sa ne votati vizitati http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'">trimite</a></td></tr> </table> <table class="standard-table"> <td><strong>Addons</strong> </td><td>'.$add.'</td></table> '.$topmap.' </div> </div> '; //------------------------------------------------------------------------------------------------------------+ //------------------------------------------------------------------------------------------------------------+ $output .= " <div style='height:10px'><br /></div> <div style='".lgsl_bg(TRUE)."; width:90%; margin:auto; text-align:center; height:18px; border:1px dotted #00ace5'><b><font color=#f3600b>Statistici Dinamice</font></b></div> <div style='height:10px'><br /></div>"; //------------------------------------------------------------------------------------------------------------+ // SHOW THE PLAYERS $output .= " <table cellpadding='2' cellspacing='2' style='margin:auto'> <tr> <td colspan='3' style='text-align:center'> <br /><br /> </td> </tr> <tr> <td style='text-align:center'> <table cellpadding='4' cellspacing='2' style='margin:auto'> <tr style='".lgsl_bg().";white-space:nowrap'><td> <b> <font color=#15a9e7>Large Banner</font> </b></td><td style='white-space:nowrap'> <img src=lgsl_files/banner_dinamic.php?ip={$server['b']['ip']}&port={$server['b']['c_port']} </td></tr> <tr style='".lgsl_bg().";white-space:nowrap'><td> <b> <font color=#15a9e7>HTML: </font></b></td><td style='white-space:nowrap'> <textarea class=box_contact cols=60 rows=1 readonly onclick=javascript:select();><a href='http://servere.tunned.ro/info_server_{$server['o']['id']}.html'><img src='http://servere.tunned.ro/lgsl_files/ban ... p={$server['b']['ip']}&port={$server['b']['c_port']}'></a></textarea> </td></tr> <tr style='".lgsl_bg().";white-space:nowrap'><td> <b> <font color=#15a9e7>Forum: </font></b></td><td style='white-space:nowrap'> <textarea class=box_contact cols=60 rows=1 readonly onclick=javascript:select();>['id']}.html][img]http://servere.tunned.ro/lgsl_files/ban ... p={$server['b']['ip']}&port={$server['b']['c_port']}[/img]</textarea></td></tr> <tr style='".lgsl_bg().";white-space:nowrap'><td> <b> <font color=#15a9e7>Mini Banner</font> </b></td><td style='white-space:nowrap'> <img src=lgsl_files/mini_dinamic.php?ip={$server['b']['ip']}&port={$server['b']['c_port']} </td></tr> </td></tr> <tr style='".lgsl_bg().";white-space:nowrap'><td> <b> <font color=#15a9e7>HTML: </font></b></td><td style='white-space:nowrap'> <textarea class=box_contact cols=60 rows=1 readonly onclick=javascript:select();><a href='http://servere.tunned.ro/info_server_{$server['o']['id']}.html'><img src='http://servere.tunned.ro/lgsl_files/min ... p={$server['b']['ip']}&port={$server['b']['c_port']}'></a></textarea> </td></tr> <tr style='".lgsl_bg().";white-space:nowrap'><td> <b> <font color=#15a9e7>Forum: </font></b></td><td style='white-space:nowrap'> <textarea class=box_contact cols=60 rows=1 readonly onclick=javascript:select();>['id']}.html][img]http://servere.tunned.ro/lgsl_files/min ... p={$server['b']['ip']}&port={$server['b']['c_port']}[/img]</textarea> </td></tr> </table> </td> </tr> </table>"; //------------------------------------------------------------------------------------------------------------+ // SHOW THE PLAYERS $output .= " <div class='toggle-wrap'> <span class='trigger'><a href='#' class='active'><i class='toggle-icon' ></i>Afiseaza jucatorii connectati</a></span> <div class='toggle-container'>"; if (!$server['p'] || !is_array($server['p'])) { $output .= " <table cellpadding='4' cellspacing='2' style='margin:auto'> <tr style='".lgsl_bg(FALSE)."'> <td> {$lgsl_config['text']['npi']} </td> </tr> </table>"; } else { $output .= " <table cellpadding='4' cellspacing='2' style='margin:auto' class='standard-table'> <tr style='".lgsl_bg(FALSE)."'>"; foreach ($fields as $field) { $field = ucfirst($field); $output .= " <td> <b>{$field}</b> </td>"; } $output .= " </tr>"; foreach ($server['p'] as $player_key => $player) { $output .= " <tr style='".lgsl_bg()."'>"; foreach ($fields as $field) { $output .= "<td> {$player[$field]} </td>"; } $output .= " </tr>"; } $output .= " </table>"; } $output .= " </div> </div>"; //------------------------------------------------------------------------------------------------------------+ $output .= " <div class='toggle-wrap'> <span class='trigger'><a href='#'><i class='toggle-icon'></i>Afiseaza setarile serverului</a></span> <div class='toggle-container'>"; //------------------------------------------------------------------------------------------------------------+ // SHOW THE SETTINGS if (!$server['e'] || !is_array($server['e'])) { $output .= " <table cellpadding='4' cellspacing='2' style='margin:auto' class='standard-table'> <tr style='".lgsl_bg(FALSE)."'> <td> {$lgsl_config['text']['nei']} </td> </tr> </table>"; } else { $output .= " <table cellpadding='4' cellspacing='2' style='margin:auto' class='standard-table'> <tr style='".lgsl_bg(FALSE)."'> <td> <b>{$lgsl_config['text']['ehs']}</b> </td> <td> <b>{$lgsl_config['text']['ehv']}</b> </td> </tr>"; foreach ($server['e'] as $field => $value) { $color = lgsl_bg(); $output .= " <tr> <td style='{$color}'> {$field} </td> <td style='{$color}'> {$value} </td> </tr>"; } $output .= " </table>"; } //------------------------------------------------------------------------------------------------------------+ $output .= " </div> </div>"; //------------------------------------------------------------------------------------------------------------+ $output .= " </div> <!-- 960 Container / End --> </div> <!-- Page Content / End --> </div> <!-- Content / End --> </div>"; //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ //------ PLEASE MAKE A DONATION OR SIGN THE GUESTBOOK AT GREYCUBE.COM IF YOU REMOVE THIS CREDIT ---------------------------------------------------------------------------------------------------+ //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ?> [/code]
- fan_haulin
- Fost moderator
- Posts: 2592
- Joined: 08 Jun 2010, 20:35
- Detinator Steam: Da
- Reputatie: Fost Moderator
- Has thanked: 271 times
- Been thanked: 106 times
- Contact:
E lgsl_list. Scuze. Poti modifica ?
-
- Membru, skill 0
- Posts: 68
- Joined: 20 Jan 2016, 17:13
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Fond eXtream: 0
- Contact:
- | Afiseaza codul
<!DOCTYPE html> <!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]--> <!--[if (gte IE 9)|!(IE)]><!--><html lang="en"> <!--<![endif]--> <head> <!-- CSS ================================================== --> <link rel="stylesheet" href="css/style.css"> <link rel="stylesheet" href="css/colors/blue.css" id="colors"> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/tru ... "></script> <![endif]--> <!-- Java Script ================================================== --> <script src="scripts/jquery.min.js"></script> <script src="scripts/jquery-ui.min.js"></script> <script src="scripts/jquery.flexslider.js"></script> <script src="scripts/jquery.selectnav.js"></script> <script src="scripts/custom.js"></script> <script src='../../google_analytics_auto.js'></script></head> <body> <!-- Wrapper / Start --> <div id="wrapper"> <?php /*----------------------------------------------------------------------------------------------------------\ | | | [ LIVE GAME SERVER LIST ] [ © RICHARD PERRY FROM GREYCUBE.COM ] | | | | Released under the terms and conditions of the GNU General Public License Version 3 (http://gnu.org) | | | |------------------------------------------------------------------------------------------------------------- | [ EDITOR STYLE SETTINGS: LUCIDA CONSOLE, SIZE 10, TAB = 2 SPACES, BOLD GLOBALLY TURNED OFF ] | \-----------------------------------------------------------------------------------------------------------*/ //------------------------------------------------------------------------------------------------------------+ require "lgsl_class.php"; $server_list = lgsl_query_cached_all("s"); $server_list = lgsl_sort_servers($server_list); //------------------------------------------------------------------------------------------------------------+ $output .= " <div style='text-align:center; font-size:10px; font-face:arial'> <table class='tt' cellpadding='3' cellspacing='1' style='margin:auto' > <thead> <tr class='lgsl'> <th class='lgsl' style='width:113px;' title='Server Status'>[ Game ]</th> <th class='lgsl' style='width:15px;' title='Game'>[ Info Server ]</th> <th class='lgsl' style='width:15px;' title='Country'>[ Dns/Ip ]</th> <th class='lgsl' style='width:200px;' title='Name Server'>[ Harta ]</th> <th class='lgsl' style='width:75px;' title='Players online'>[ Players]</th> <th class='lgsl' style='width:95px;' title='Current Map'>[ Detalii ]</th> <th class='lgsl' style='width:50px;' title='Players online'>[ Votes ]</th> </tr> </thead>"; if( @$_GET['vote'] == 'err' ) { $output.= " <div class='notification error closeable'> <p><span>Info!</span> Poti vota serverul odata la 24 de ore.</p> </div>"; } if( @$_GET['vote'] == 'thanks' ) { $output.= "<div class='notification success closeable'> <p><span>Info!</span> Multumim pentru vot, votul tau a fost adaugat cu success.</p> </div>"; } foreach ($server_list as $server) { $misc = lgsl_server_misc($server); $server = lgsl_server_html($server); error_reporting(0); $progressbar=floor(($server['s']['players'] / $server['s']['playersmax']) * 100); $vote = '<a href="voteaza_server_'.$server['o']['id'].'.html"><span class="highlight color">'.lgsl_rating($server).' +</span></a>'; if (lgsl_rating($server) > 9998) { $vote = '<span class="highlight blue">V.I.P</span>'; } $output .= " <tr> <tr class='lgsl' style='table-layout:fixed'> <td class='lgsl' style='white-space:nowrap; text-align:center'> <img alt='' src='{$misc['icon_status']}' title='{$misc['text_status']}' /> </td> <td class='lgsl' style='white-space:nowrap; text-align:center'> {$misc['name_filtered']}</td> <td class='lgsl' style='white-space:nowrap; text-align:center'> {$server['b']['ip']}:{$server['b']['c_port']}</td> <td class='lgsl' style='white-space:nowrap; text-align:center'> {$server['s']['map']}</td> <td class='lgsl' style='white-space:nowrap; text-align:center'> <div id='skill-bars'> <div class='skill-bar'><div class='skill-bar-content' data-percentage='{$progressbar}'></div><span class='skill-title'><b> {$server['s']['players']}/{$server['s']['playersmax']}</b></span></div> </div></td> <td class='lgsl' style='white-space:nowrap; text-align:center'> <a href='info_server_{$server['o']['id']}.html'><span class='highlight light'>detalii</span></a></td> <td class='lgsl' style='white-space:nowrap; text-align:center'> {$vote}</td> </tr> "; } $output .= " </table> "; //------------------------------------------------------------------------------------------------------------+ if ($lgsl_config['list']['totals']) { $total = lgsl_group_totals($server_list); $output .= " <div> <br /> </div> <div style='text-align:center'> <table style='margin:auto' cellpadding='4' cellspacing='2'> <tr style='".lgsl_bg()."'> <td> {$lgsl_config['text']['tns']} {$total['servers']} </td> <td> {$lgsl_config['text']['tnp']} {$total['players']} </td> <td> {$lgsl_config['text']['tmp']} {$total['playersmax']} </td> </tr> </table> </div>"; } //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ //------ PLEASE MAKE A DONATION OR SIGN THE GUESTBOOK AT GREYCUBE.COM IF YOU REMOVE THIS CREDIT ---------------------------------------------------------------------------------------------------+ $output .= ""; //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ?>
-
- Membru, skill 0
- Posts: 68
- Joined: 20 Jan 2016, 17:13
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Fond eXtream: 0
- Contact:
-
- Membru, skill 0
- Posts: 68
- Joined: 20 Jan 2016, 17:13
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Fond eXtream: 0
- Contact:
Am aflat ca nu este nici din lgsl_list !! Este din Lgsl_Class
Va pun aici clasul meul
Va pun aici clasul meul
- | Afiseaza codul
<?php /*----------------------------------------------------------------------------------------------------------\ | | | [ LIVE GAME SERVER LIST ] [ © RICHARD PERRY FROM GREYCUBE.COM ] | | | | Released under the terms and conditions of the GNU General Public License Version 3 (http://gnu.org) | | | \-----------------------------------------------------------------------------------------------------------*/ //------------------------------------------------------------------------------------------------------------+ //------------------------------------------------------------------------------------------------------------+ if (!function_exists('lgsl_url_path')) { // START OF DOUBLE LOAD PROTECTION //------------------------------------------------------------------------------------------------------------+ //------------------------------------------------------------------------------------------------------------+ function lgsl_bg($rotation_overide = "no") { global $lgsl_config; global $lgsl_bg_rotate; if ($rotation_overide !== "no") { $lgsl_bg_rotate = $rotation_overide ? TRUE : FALSE; } else { $lgsl_bg_rotate = $lgsl_bg_rotate ? FALSE : TRUE; } $background = $lgsl_bg_rotate ? $lgsl_config['background'][1] : $lgsl_config['background'][2]; return $background; } //------------------------------------------------------------------------------------------------------------+ function lgsl_link($s = "") { global $lgsl_config, $lgsl_url_path; $index = $lgsl_config['direct_index'] ? "index.php" : ""; switch($lgsl_config['cms']) { case "e107": $link = $s ? e_PLUGIN."lgsl/{$index}?s={$s}" : e_PLUGIN."lgsl/{$index}"; break; case "joomla": $link = $s ? JRoute::_("index.php?option=com_lgsl&s={$s}") : JRoute::_("index.php?option=com_lgsl"); break; case "drupal": $link = $s ? url("LGSL/{$s}") : url("LGSL"); break; case "phpnuke": $link = $s ? "modules.php?name=LGSL&s={$s}" : "modules.php?name=LGSL"; break; default: // "sa" $link = $s ? $lgsl_url_path."../{$index}?s={$s}" : $lgsl_url_path."../{$index}"; break; } return $link; } //------------------------------------------------------------------------------------------------------------+ function lgsl_database() { global $lgsl_database, $lgsl_config, $lgsl_file_path; if (!isset($lgsl_config['db']['prefix'])) { $lgsl_config['db']['prefix'] = ""; } if (!$lgsl_config['db']['pass']) { switch($lgsl_config['cms']) { case "e107": @include "{$lgsl_file_path}../../../e107_config.php"; $lgsl_config['db']['server'] = $mySQLserver; $lgsl_config['db']['user'] = $mySQLuser; $lgsl_config['db']['pass'] = $mySQLpassword; $lgsl_config['db']['db'] = $mySQLdefaultdb; $lgsl_config['db']['prefix'] = $mySQLprefix; break; case "joomla": @include_once "{$lgsl_file_path}../../../configuration.php"; $joomla_config = new JConfig(); $lgsl_config['db']['server'] = $joomla_config->host; $lgsl_config['db']['user'] = $joomla_config->user; $lgsl_config['db']['pass'] = $joomla_config->password; $lgsl_config['db']['db'] = $joomla_config->db; $lgsl_config['db']['prefix'] = $joomla_config->dbprefix; break; case "drupal": global $db_url, $db_prefix; if (empty($db_url)) { @include "{$lgsl_file_path}../../../sites/default/settings.php"; } $drupal_config = is_array($db_url) ? parse_url($db_url['default']) : parse_url($db_url); $lgsl_config['db']['server'] = $drupal_config['host']; $lgsl_config['db']['user'] = $drupal_config['user']; $lgsl_config['db']['pass'] = isset($drupal_config['pass']) ? $drupal_config['pass'] : ""; $lgsl_config['db']['db'] = substr($drupal_config['path'], 1); $lgsl_config['db']['prefix'] = isset($db_prefix['default']) ? $db_prefix['default'] : ""; break; case "phpnuke": @include "{$lgsl_file_path}../../../config.php"; @include "{$lgsl_file_path}../../../conf.inc.php"; @include "{$lgsl_file_path}../../../includes/config.php"; $lgsl_config['db']['server'] = $dbhost; $lgsl_config['db']['user'] = $dbuname; $lgsl_config['db']['pass'] = $dbpass; $lgsl_config['db']['db'] = $dbname; $lgsl_config['db']['prefix'] = $prefix."_"; break; } } $lgsl_database = mysql_connect($lgsl_config['db']['server'], $lgsl_config['db']['user'], $lgsl_config['db']['pass']) or die(mysql_error()); $lgsl_select_db = mysql_select_db($lgsl_config['db']['db'], $lgsl_database) or die(mysql_error()); } //------------------------------------------------------------------------------------------------------------+ function lgsl_query_cached($type, $ip, $c_port, $q_port, $s_port, $request, $id = NULL) { global $lgsl_config; lgsl_database(); // LOOKUP SERVER if ($id != NULL) { $id = intval($id); $mysql_query = "SELECT * FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE `id`='{$id}' ORDER BY `rating` DESC LIMIT 1"; $mysql_result = mysql_query($mysql_query) or die(mysql_error()); $mysql_row = mysql_fetch_array($mysql_result, MYSQL_ASSOC); if (!$mysql_row) { return FALSE; } list($type, $ip, $c_port, $q_port, $s_port) = array($mysql_row['type'], $mysql_row['ip'], $mysql_row['c_port'], $mysql_row['q_port'], $mysql_row['s_port']); } else { list($type, $ip, $c_port, $q_port, $s_port) = array(mysql_real_escape_string($type), mysql_real_escape_string($ip), intval($c_port), intval($q_port), intval($s_port)); if (!$type || !$ip || !$c_port || !$q_port) { exit("LGSL PROBLEM: INVALID SERVER '{$type} : {$ip} : {$c_port} : {$q_port} : {$s_port}'"); } $mysql_query = "SELECT * FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE `type`='{$type}' AND `ip`='{$ip}' AND `q_port`='{$q_port}' LIMIT 1"; $mysql_result = mysql_query($mysql_query) or die(mysql_error()); $mysql_row = mysql_fetch_array($mysql_result, MYSQL_ASSOC); if (!$mysql_row) { if (strpos($request, "a") === FALSE) { exit("LGSL PROBLEM: SERVER NOT IN DATABASE '{$type} : {$ip} : {$c_port} : {$q_port} : {$s_port}'"); } $mysql_query = "INSERT INTO `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` (`type`,`ip`,`c_port`,`q_port`,`s_port`,`cache`,`cache_time`) VALUES ('{$type}','{$ip}','{$c_port}','{$q_port}','{$s_port}','','')"; $mysql_result = mysql_query($mysql_query) or die(mysql_error()); $mysql_row = array("id"=>mysql_insert_id(), "zone"=>"0", "comment"=>""); } } // UNPACK CACHE AND CACHE TIMES $cache = empty($mysql_row['cache']) ? array() : unserialize(base64_decode($mysql_row['cache'])); $cache_time = empty($mysql_row['cache_time']) ? array(0,0,0) : explode("_", $mysql_row['cache_time']); // SET THE SERVER AS OFFLINE AND PENDING WHEN THERE IS NO CACHE if (empty($cache['b']) || !is_array($cache)) { $cache = array(); $cache['b'] = array(); $cache['b']['status'] = 0; $cache['b']['pending'] = 1; } // CONVERT HOSTNAME TO IP WHEN NEEDED if ($lgsl_config['host_to_ip']) { $ip = gethostbyname($ip); } // UPDATE CACHE WITH FIXED VALUES $cache['b']['type'] = $type; $cache['b']['ip'] = $ip; $cache['b']['c_port'] = $c_port; $cache['b']['q_port'] = $q_port; $cache['b']['s_port'] = $s_port; $cache['o']['request'] = $request; $cache['o']['id'] = $mysql_row['id']; $cache['o']['zone'] = $mysql_row['zone']; $cache['o']['comment'] = $mysql_row['comment']; // UPDATE CACHE WITH LOCATION if (empty($cache['o']['location'])) { $cache['o']['location'] = $lgsl_config['locations'] ? lgsl_query_location($ip) : ""; } // UPDATE CACHE WITH DEFAULT OFFLINE VALUES if (!isset($cache['s'])) { $cache['s'] = array(); $cache['s']['game'] = $type; $cache['s']['name'] = $lgsl_config['text']['nnm']; $cache['s']['map'] = $lgsl_config['text']['nmp']; $cache['s']['players'] = 0; $cache['s']['playersmax'] = 0; $cache['s']['password'] = 0; } if (!isset($cache['e'])) { $cache['e'] = array(); } if (!isset($cache['p'])) { $cache['p'] = array(); } // CHECK AND GET THE NEEDED DATA $needed = ""; if (strpos($request, "c") === FALSE) // CACHE ONLY REQUEST { if (strpos($request, "s") !== FALSE && time() > ($cache_time[0]+$lgsl_config['cache_time'])) { $needed .= "s"; } if (strpos($request, "e") !== FALSE && time() > ($cache_time[1]+$lgsl_config['cache_time'])) { $needed .= "e"; } if (strpos($request, "p") !== FALSE && time() > ($cache_time[2]+$lgsl_config['cache_time'])) { $needed .= "p"; } } if ($needed) { // UPDATE CACHE TIMES BEFORE QUERY - PREVENTS OTHER INSTANCES FROM QUERY FLOODING THE SAME SERVER $packed_times = time() + $lgsl_config['cache_time'] + 10; $packed_times = "{$packed_times}_{$packed_times}_{$packed_times}"; $mysql_query = "UPDATE `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` SET `cache_time`='{$packed_times}' WHERE `id`='{$mysql_row['id']}' LIMIT 1"; $mysql_result = mysql_query($mysql_query) or die(mysql_error()); // GET WHAT IS NEEDED $live = lgsl_query_live($type, $ip, $c_port, $q_port, $s_port, $needed); if (!$live['b']['status'] && $lgsl_config['retry_offline'] && !$lgsl_config['feed']['method']) { $live = lgsl_query_live($type, $ip, $c_port, $q_port, $s_port, $needed); } // CHECK AND CONVERT TO UTF-8 WHERE NEEDED $live = lgsl_charset_convert($live, lgsl_charset_detect($live)); // IF SERVER IS OFFLINE PRESERVE SOME OF THE CACHE AND CLEAR THE REST if (!$live['b']['status']) { $live['s']['game'] = $cache['s']['game']; $live['s']['name'] = $cache['s']['name']; $live['s']['map'] = $cache['s']['map']; $live['s']['password'] = $cache['s']['password']; $live['s']['players'] = 0; $live['s']['playersmax'] = $cache['s']['playersmax']; $live['e'] = array(); $live['p'] = array(); } // MERGE LIVE INTO CACHE if (isset($live['b'])) { $cache['b'] = $live['b']; $cache['b']['pending'] = 0; } if (isset($live['s'])) { $cache['s'] = $live['s']; $cache_time[0] = time(); } if (isset($live['e'])) { $cache['e'] = $live['e']; $cache_time[1] = time(); } if (isset($live['p'])) { $cache['p'] = $live['p']; $cache_time[2] = time(); } // UPDATE CACHE $map = preg_replace("/[^a-z0-9_]/", "_", strtolower($cache['s']['map'])); $nume = preg_replace("/[^a-z0-9_]/", "_", strtolower($cache['s']['name'])); $packed_cache = mysql_real_escape_string(base64_encode(serialize($cache))); $packed_times = mysql_real_escape_string(implode("_", $cache_time)); $mysql_query = "UPDATE `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` SET `status`='{$cache['b']['status']}',`cache`='{$packed_cache}',`cache_time`='{$packed_times}',`map`='{$cache['s']['map']}', `nume`='{$cache['s']['name']}' WHERE `id`='{$mysql_row['id']}' ORDER BY `rating` DESC LIMIT 1"; $mysql_result = mysql_query($mysql_query) or die(mysql_error()); } // RETURN ONLY THE REQUESTED if (strpos($request, "s") === FALSE) { unset($cache['s']); } if (strpos($request, "e") === FALSE) { unset($cache['e']); } if (strpos($request, "p") === FALSE) { unset($cache['p']); } return $cache; } //------------------------------------------------------------------------------------------------------------+ //EXAMPLE USAGE: lgsl_query_group( array("request"=>"sep", "hide_offline"=>0, "random"=>0, "type"=>"source", "game"=>"cstrike") ) function lgsl_query_group($options = array()) { if (!is_array($options)) { exit("LGSL PROBLEM: lgsl_query_group OPTIONS MUST BE ARRAY"); } global $lgsl_config; lgsl_database(); $request = isset($options['request']) ? $options['request'] : "s"; $zone = isset($options['zone']) ? intval($options['zone']) : 0; $hide_offline = isset($options['hide_offline']) ? intval($options['hide_offline']) : intval($lgsl_config['hide_offline'][$zone]); $random = isset($options['random']) ? intval($options['random']) : intval($lgsl_config['random'][$zone]); $type = empty($options['type']) ? "" : preg_replace("/[^a-z0-9_]/", "_", strtolower($options['type'])); $game = empty($options['game']) ? "" : preg_replace("/[^a-z0-9_]/", "_", strtolower($options['game'])); $mysql_order = empty($random) ? "`cache_time` ASC" : "rand()"; $server_limit = empty($random) ? 0 : $random; $mysql_where = array("`disabled`=0"); if ($zone != 0) { $mysql_where[] = "FIND_IN_SET('{$zone}',`zone`)"; } if ($type != "") { $mysql_where[] = "`type`='{$type}'"; } if(!isset($_GET[''])) { $page = 1; } else { $page = $_GET['page']; } $limit = (($page * 10) - 10); $mysql_result = mysql_query("SELECT * FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE ".implode(" AND ", $mysql_where)." ORDER BY (`rating`/`status`) DESC LIMIT $limit, 15") or die(mysql_error()); $server_list = array(); while ($mysql_row = mysql_fetch_array($mysql_result, MYSQL_ASSOC)) { if (strpos($request, "c") === FALSE && lgsl_timer("check")) { $request .= "c"; } $server = lgsl_query_cached("", "", "", "", "", $request, $mysql_row['id']); if ($hide_offline && empty($server['b']['status'])) { continue; } if ($game && $game != preg_replace("/[^a-z0-9_]/", "_", strtolower($server['s']['game']))) { continue; } $server_list[] = $server; if ($server_limit && count($server_list) >= $server_limit) { break; } } return $server_list; } //------------------------------------------------------------------------------------------------------------+ function lgsl_group_totals($server_list = TRUE) { if (!is_array($server_list)) { $server_list = lgsl_query_group( array( "request"=>"sc" ) ); } $total = array("players"=>0, "playersmax"=>0, "servers"=>0, "servers_online"=>0, "servers_offline"=>0); foreach ($server_list as $server) { $total['players'] += $server['s']['players']; $total['playersmax'] += $server['s']['playersmax']; $total['servers'] ++; if ($server['b']['status']) { $total['servers_online'] ++; } else { $total['servers_offline'] ++; } } return $total; } //------------------------------------------------------------------------------------------------------------+ function lgsl_query_cached_all($request) // LEGACY - DO NOT USE { return lgsl_query_group( array( "request"=>$request ) ); } //------------------------------------------------------------------------------------------------------------+ function lgsl_query_cached_zone($request, $zone) // LEGACY - DO NOT USE { return lgsl_query_group( array( "request"=>$request, "zone"=>$zone ) ); } //------------------------------------------------------------------------------------------------------------+ function lgsl_cached_totals() // LEGACY - DO NOT USE { return lgsl_group_totals(); } //------------------------------------------------------------------------------------------------------------+ function lgsl_lookup_id($id) // LEGACY - DO NOT USE { global $lgsl_config; lgsl_database(); $id = mysql_real_escape_string(intval($id)); $mysql_query = "SELECT `type`,`ip`,`c_port`,`q_port`,`s_port` FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE `id`='{$id}' LIMIT 1"; $mysql_result = mysql_query($mysql_query) or die(mysql_error()); $mysql_row = mysql_fetch_array($mysql_result, MYSQL_ASSOC); return $mysql_row; } function lgsl_lookup_ip($ip, $port) { global $lgsl_config; lgsl_database(); $mysql_query = "SELECT `id` FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE `ip`='{$ip}' LIMIT 1"; $mysql_result = mysql_query($mysql_query) or die(mysql_error()); $mysql_row = mysql_fetch_array($mysql_result, MYSQL_ASSOC); return $mysql_row; } //------------------------------------------------------------------------------------------------------------+ function lgsl_timer($action) { global $lgsl_config; global $lgsl_timer; if (!$lgsl_timer) { $microtime = microtime(); $microtime = explode(' ', $microtime); $microtime = $microtime[1] + $microtime[0]; $lgsl_timer = $microtime - 0.01; } $time_limit = intval($lgsl_config['live_time']); $time_php = ini_get("max_execution_time"); if ($time_limit > $time_php) { @set_time_limit($time_limit + 5); $time_php = ini_get("max_execution_time"); if ($time_limit > $time_php) { $time_limit = $time_php - 5; } } if ($action == "limit") { return $time_limit; } $microtime = microtime(); $microtime = explode(' ', $microtime); $microtime = $microtime[1] + $microtime[0]; $time_taken = $microtime - $lgsl_timer; if ($action == "check") { return ($time_taken > $time_limit) ? TRUE : FALSE; } else { return round($time_taken, 2); } } //------------------------------------------------------------------------------------------------------------+ function lgsl_server_misc($server) { global $lgsl_config, $lgsl_url_path; $misc['icon_details'] = $lgsl_url_path."other/icon_details.gif"; $misc['icon_game'] = lgsl_icon_game($server['b']['type'], $server['s']['game']); $misc['icon_status'] = lgsl_icon_status($server['b']['status'], $server['s']['password'], $server['b']['pending']); $misc['icon_location'] = lgsl_icon_location($server['o']['location']); $misc['image_map'] = lgsl_image_map($server['b']['status'], $server['b']['type'], $server['s']['game'], $server['s']['map'], TRUE, $server['o']['id']); $misc['image_map_password'] = lgsl_image_map_password($server['b']['status'], $server['s']['password']); $misc['text_status'] = lgsl_text_status($server['b']['status'], $server['s']['password'], $server['b']['pending']); $misc['text_type_game'] = lgsl_text_type_game($server['b']['type'], $server['s']['game']); $misc['text_location'] = lgsl_text_location($server['o']['location']); $misc['name_filtered'] = lgsl_string_html($server['s']['name'], FALSE, 20); // LEGACY $misc['software_link'] = lgsl_software_link($server['b']['type'], $server['b']['ip'], $server['b']['c_port'], $server['b']['q_port'], $server['b']['s_port']); $misc['location_link'] = lgsl_location_link($server['o']['location']); return $misc; } //------------------------------------------------------------------------------------------------------------+ function lgsl_icon_game($type, $game) { global $lgsl_file_path, $lgsl_url_path; $type = preg_replace("/[^a-z0-9_]/", "_", strtolower($type)); $game = preg_replace("/[^a-z0-9_]/", "_", strtolower($game)); $path_list = array( "icons/{$type}/{$game}.gif", "icons/{$type}/{$game}.png", "icons/{$type}/{$type}.gif", "icons/{$type}/{$type}.png"); foreach ($path_list as $path) { if (file_exists($lgsl_file_path.$path)) { return $lgsl_url_path.$path; } } return "{$lgsl_url_path}other/icon_unknown.gif"; } //------------------------------------------------------------------------------------------------------------+ function lgsl_icon_status($status, $password, $pending = 0) { global $lgsl_url_path; if ($pending) { return "{$lgsl_url_path}other/icon_unknown.gif"; } if (!$status) { return "{$lgsl_url_path}other/icon_no_response.gif"; } if ($password) { return "{$lgsl_url_path}other/icon_online_password.gif"; } return "{$lgsl_url_path}other/icon_online.gif"; } //------------------------------------------------------------------------------------------------------------+ function lgsl_icon_location($location) { global $lgsl_file_path, $lgsl_url_path; if (!$location) { return "{$lgsl_url_path}locations/OFF.png"; } if ($location) { $location = "locations/".preg_replace("/[^a-zA-Z0-9_]/", "_", $location).".png"; if (file_exists($lgsl_file_path.$location)) { return $lgsl_url_path.$location; } } return "{$lgsl_url_path}locations/XX.png"; } //------------------------------------------------------------------------------------------------------------+ function lgsl_image_map($status, $type, $game, $map, $check_exists = TRUE, $id = 0) { global $lgsl_file_path, $lgsl_url_path; $type = preg_replace("/[^a-z0-9_]/", "_", strtolower($type)); $game = preg_replace("/[^a-z0-9_]/", "_", strtolower($game)); $map = preg_replace("/[^a-z0-9_]/", "_", strtolower($map)); if ($check_exists !== TRUE) { return "{$lgsl_url_path}maps/{$type}/{$game}/{$map}.jpg"; } if ($status) { $path_list = array( "maps/{$type}/{$game}/{$map}.jpg", "maps/{$type}/{$game}/{$map}.gif", "maps/{$type}/{$game}/{$map}.png", "maps/{$type}/{$map}.jpg", "maps/{$type}/{$map}.gif", "maps/{$type}/{$map}.png", "maps/{$type}/map_no_image.jpg", "maps/{$type}/map_no_image.gif", "maps/{$type}/map_no_image.png", "other/map_no_image_{$id}.jpg", "other/map_no_image_{$id}.gif", "other/map_no_image_{$id}.png", "other/map_no_image.jpg"); } else { $path_list = array( "maps/{$type}/map_no_response.jpg", "maps/{$type}/map_no_response.gif", "maps/{$type}/map_no_response.png", "other/map_no_response_{$id}.jpg", "other/map_no_response_{$id}.gif", "other/map_no_response_{$id}.png", "other/map_no_response.jpg"); } foreach ($path_list as $path) { if (file_exists($lgsl_file_path.$path)) { return "{$lgsl_url_path}{$path}"; } } return "#LGSL_DEFAULT_IMAGES_MISSING#"; } //------------------------------------------------------------------------------------------------------------+ function lgsl_image_map_password($status, $password) { global $lgsl_url_path; if (!$password || !$status) { return "{$lgsl_url_path}other/map_overlay.gif"; } return "{$lgsl_url_path}other/map_overlay_password.gif"; } //------------------------------------------------------------------------------------------------------------+ function lgsl_text_status($status, $password, $pending = 0) { global $lgsl_config; if ($pending) { return $lgsl_config['text']['pen']; } if (!$status) { return $lgsl_config['text']['nrs']; } if ($password) { return $lgsl_config['text']['onp']; } return $lgsl_config['text']['onl']; } //------------------------------------------------------------------------------------------------------------+ function lgsl_text_type_game($type, $game) { global $lgsl_config; return "[ {$lgsl_config['text']['typ']} {$type} ] [ {$lgsl_config['text']['gme']} {$game} ]"; } //------------------------------------------------------------------------------------------------------------+ function lgsl_text_location($location) { global $lgsl_config; return $location ? "{$lgsl_config['text']['loc']} {$location}" : ""; } //------------------------------------------------------------------------------------------------------------+ function lgsl_sort_servers($server_list) { global $lgsl_config; if (!is_array($server_list)) { return $server_list; } if ($lgsl_config['sort']['servers'] == "rating") { usort($server_list, "lgsl_sort_servers_by_rating"); } return $server_list; } //------------------------------------------------------------------------------------------------------------+ function lgsl_sort_fields($server, $fields_show, $fields_hide, $fields_other) { $fields_list = array(); if (!is_array($server['p'])) { return $fields_list; } foreach ($server['p'] as $player) { foreach ($player as $field => $value) { if ($value === "") { continue; } if (in_array($field, $fields_list)) { continue; } if (in_array($field, $fields_hide)) { continue; } $fields_list[] = $field; } } $fields_show = array_intersect($fields_show, $fields_list); if ($fields_other == FALSE) { return $fields_show; } $fields_list = array_diff($fields_list, $fields_show); return array_merge($fields_show, $fields_list); } //------------------------------------------------------------------------------------------------------------+ function lgsl_sort_servers_by_id($server_a, $server_b) { if ($server_a['o']['id'] == $server_b['o']['id']) { return 0; } return ($server_a['o']['id'] > $server_b['o']['id']) ? 1 : -1; } //------------------------------------------------------------------------------------------------------------+ function lgsl_sort_servers_by_zone($server_a, $server_b) { if ($server_a['o']['zone'] == $server_b['o']['zone']) { return 0; } return ($server_a['o']['zone'] > $server_b['o']['zone']) ? 1 : -1; } //------------------------------------------------------------------------------------------------------------+ function lgsl_sort_servers_by_type($server_a, $server_b) { $result = strcasecmp($server_a['b']['type'], $server_b['b']['type']); if ($result == 0) { $result = strcasecmp($server_a['s']['game'], $server_b['s']['game']); } return $result; } //------------------------------------------------------------------------------------------------------------+ function lgsl_sort_servers_by_status($server_a, $server_b) { if ($server_a['b']['status'] == $server_b['b']['status']) { return 0; } return ($server_a['b']['status'] < $server_b['b']['status']) ? 1 : -1; } //------------------------------------------------------------------------------------------------------------+ function lgsl_sort_servers_by_players($server_a, $server_b) { if ($server_a['s']['players'] == $server_b['s']['players']) { return 0; } return ($server_a['s']['players'] < $server_b['s']['players']) ? 1 : -1; } //------------------------------------------------------------------------------------------------------------+ function lgsl_sort_extras($server) { if (!is_array($server['e'])) { return $server; } ksort($server['e']); return $server; } //------------------------------------------------------------------------------------------------------------+ function lgsl_sort_players($server) { global $lgsl_config; if (!is_array($server['p'])) { return $server; } if ($lgsl_config['sort']['players'] == "name") { usort($server['p'], "lgsl_sort_players_by_name"); } elseif ($lgsl_config['sort']['players'] == "score") { usort($server['p'], "lgsl_sort_players_by_score"); } return $server; } //------------------------------------------------------------------------------------------------------------+ function lgsl_sort_players_by_score($player_a, $player_b) { if ($player_a['score'] == $player_b['score']) { return 0; } return ($player_a['score'] < $player_b['score']) ? 1 : -1; } //------------------------------------------------------------------------------------------------------------+ function lgsl_sort_players_by_name($player_a, $player_b) { // REMOVE NON ALPHA NUMERIC ASCII WHILE LEAVING UPPER UTF-8 CHARACTERS $name_a = preg_replace("/[\x{00}-\x{2F}\x{3A}-\x{40}\x{5B}-\x{60}\x{7B}-\x{7F}]/", "", $player_a['name']); $name_b = preg_replace("/[\x{00}-\x{2F}\x{3A}-\x{40}\x{5B}-\x{60}\x{7B}-\x{7F}]/", "", $player_b['name']); if (function_exists("mb_convert_case")) { $name_a = @mb_convert_case($name_a, MB_CASE_LOWER, "UTF-8"); $name_b = @mb_convert_case($name_b, MB_CASE_LOWER, "UTF-8"); return strcmp($name_a, $name_b); } else { return strcasecmp($name_a, $name_b); } } //------------------------------------------------------------------------------------------------------------+ function lgsl_charset_detect($server) { if (!function_exists("mb_detect_encoding")) { return "AUTO"; } $test = ""; if (isset($server['s']['name'])) { $test .= " {$server['s']['name']} "; } if (isset($server['p']) && $server['p']) { foreach ($server['p'] as $player) { if (isset($player['name'])) { $test .= " {$player['name']} "; } } } $charset = @mb_detect_encoding($server['s']['name'], "UTF-8, Windows-1252, ISO-8859-1, ISO-8859-15"); return $charset ? $charset : "AUTO"; } //------------------------------------------------------------------------------------------------------------+ function lgsl_charset_convert($server, $charset) { if (!function_exists("mb_convert_encoding")) { return $server; } if (is_array($server)) { foreach ($server as $key => $value) { $server[$key] = lgsl_charset_convert($value, $charset); } } else { $server = @mb_convert_encoding($server, "UTF-8", $charset); } return $server; } //------------------------------------------------------------------------------------------------------------+ function lgsl_server_html($server, $word_wrap = 20) { foreach ($server as $key => $value) { $server[$key] = is_array($value) ? lgsl_server_html($value, $word_wrap) : lgsl_string_html($value, FALSE, $word_wrap); } return $server; } //------------------------------------------------------------------------------------------------------------+ function lgsl_string_html($string, $xml_feed = FALSE, $word_wrap = 0) { if ($word_wrap) { $string = lgsl_word_wrap($string, $word_wrap); } if ($xml_feed != FALSE) { $string = htmlspecialchars($string, ENT_QUOTES); } elseif (function_exists("mb_convert_encoding")) { $string = htmlspecialchars($string, ENT_QUOTES); $string = @mb_convert_encoding($string, "HTML-ENTITIES", "UTF-8"); } else { $string = htmlentities($string, ENT_QUOTES, "UTF-8"); } if ($word_wrap) { $string = lgsl_word_wrap($string); } return $string; } //------------------------------------------------------------------------------------------------------------+ function lgsl_word_wrap($string, $length_limit = 0) { if (!$length_limit) { // http://www.quirksmode.org/oddsandends/wbr.html // return str_replace("\x05\x06", " ", $string); // VISIBLE // return str_replace("\x05\x06", "­", $string); // FF2 VISIBLE AND DIV NEEDED return str_replace("\x05\x06", "​", $string); // IE6 VISIBLE } $word_list = explode(" ", $string); foreach ($word_list as $key => $word) { $word_length = function_exists("mb_strlen") ? mb_strlen($word, "UTF-8") : strlen($word); if ($word_length < $length_limit) { continue; } $word_new = ""; for ($i=0; $i<$word_length; $i+=$length_limit) { $word_new .= function_exists("mb_substr") ? mb_substr($word, $i, $length_limit, "UTF-8") : substr($word, $i, $length_limit); $word_new .= "\x05\x06"; } $word_list[$key] = $word_new; } return implode(" ", $word_list); } //------------------------------------------------------------------------------------------------------------+ function lgsl_location_link($location) { if (!$location) { return "#"; } if (strlen($location) == 2) { return "http://www.wipmania.com/map/{$location}"; } return "http://www.google.com/search?q=".urlencode($location); } //------------------------------------------------------------------------------------------------------------+ function lgsl_query_location($ip) { global $lgsl_config; if ($lgsl_config['locations'] !== 1) { return $lgsl_config['locations']; } $ip = gethostbyname($ip); if (long2ip(ip2long($ip)) == "255.255.255.255") { return "XX"; } $url = "http://api.wipmania.com/".urlencode($ip ... 'HTTP_HOST']); if (function_exists('curl_init') && function_exists('curl_setopt') && function_exists('curl_exec')) { $lgsl_curl = curl_init(); curl_setopt($lgsl_curl, CURLOPT_HEADER, 0); curl_setopt($lgsl_curl, CURLOPT_TIMEOUT, 2); curl_setopt($lgsl_curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($lgsl_curl, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($lgsl_curl, CURLOPT_URL, $url); $location = curl_exec($lgsl_curl); if (curl_error($lgsl_curl)) { $location = "XX"; } curl_close($lgsl_curl); } else { $location = @file_get_contents($url); } if (strlen($location) != 2) { $location = "XX"; } return $location; } //------------------------------------------------------------------------------------------------------------+ function lgsl_realpath($path) { // WRAPPER SO IT CAN BE DISABLED global $lgsl_config; return $lgsl_config['no_realpath'] ? $path : realpath($path); } //------------------------------------------------------------------------------------------------------------+ function lgsl_file_path() { // GET THE LGSL_CLASS.PHP PATH $lgsl_path = __FILE__; // SHORTEN TO JUST THE FOLDERS AND ADD TRAILING SLASH $lgsl_path = dirname($lgsl_path)."/"; // CONVERT WINDOWS BACKSLASHES TO FORWARDSLASHES $lgsl_path = str_replace("\\", "/", $lgsl_path); return $lgsl_path; } //------------------------------------------------------------------------------------------------------------+ function lgsl_rating($server) { global $lgsl_config; $mysql_query = "SELECT `rating` FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE `id`='{$server['o']['id']}' LIMIT 1"; $mysql_result = mysql_query($mysql_query) or die(mysql_error()); $mysql_row = mysql_fetch_array($mysql_result, MYSQL_ASSOC); return $mysql_row['rating']; } function lgsl_url_path() { // CHECK IF PATH HAS BEEN SET IN CONFIG global $lgsl_config; if ($lgsl_config['url_path']) { return $lgsl_config['url_path']; } // USE FULL DOMAIN PATH TO AVOID ALIAS PROBLEMS $host_path = (!isset($_SERVER['HTTPS']) || strtolower($_SERVER['HTTPS']) != "on") ? "http://" : "https://"; $host_path .= $_SERVER['HTTP_HOST']; // GET FULL PATHS ( EXTRA CODE FOR WINDOWS AND IIS - NO DOCUMENT_ROOT - BACKSLASHES - DOUBLESLASHES - ETC ) if ($_SERVER['DOCUMENT_ROOT']) { $base_path = lgsl_realpath($_SERVER['DOCUMENT_ROOT']); $base_path = str_replace("\\", "/", $base_path); $base_path = str_replace("//", "/", $base_path); } else { $file_path = $_SERVER['SCRIPT_NAME']; $file_path = str_replace("\\", "/", $file_path); $file_path = str_replace("//", "/", $file_path); $base_path = $_SERVER['PATH_TRANSLATED']; $base_path = str_replace("\\", "/", $base_path); $base_path = str_replace("//", "/", $base_path); $base_path = substr($base_path, 0, -strlen($file_path)); } $lgsl_path = dirname(lgsl_realpath(__FILE__)); $lgsl_path = str_replace("\\", "/", $lgsl_path); // REMOVE ANY TRAILING SLASHES if (substr($base_path, -1) == "/") { $base_path = substr($base_path, 0, -1); } if (substr($lgsl_path, -1) == "/") { $lgsl_path = substr($lgsl_path, 0, -1); } // USE THE DIFFERENCE BETWEEN PATHS if (substr($lgsl_path, 0, strlen($base_path)) == $base_path) { $url_path = substr($lgsl_path, strlen($base_path)); return $host_path.$url_path."/"; } return "/#LGSL_PATH_PROBLEM#{$base_path}#{$lgsl_path}#/"; } //------------------------------------------------------------------------------------------------------------+ //------------------------------------------------------------------------------------------------------------+ } // END OF DOUBLE LOAD PROTECTION //------------------------------------------------------------------------------------------------------------+ //------------------------------------------------------------------------------------------------------------+ global $lgsl_file_path, $lgsl_url_path; $lgsl_file_path = lgsl_file_path(); if (isset($_GET['lgsl_debug'])) { echo "<hr /><pre>".print_r($_SERVER, TRUE)."</pre> <hr />#d0# ".__FILE__." <hr />#d1# ".@realpath(__FILE__)." <hr />#d2# ".dirname(__FILE__)." <hr />#d3# {$lgsl_file_path} <hr />#d4# {$_SERVER['DOCUMENT_ROOT']} <hr />#d5# ".@realpath($_SERVER['DOCUMENT_ROOT']); } require $lgsl_file_path."lgsl_config.php"; require $lgsl_file_path."lgsl_protocol.php"; $lgsl_url_path = lgsl_url_path(); if (isset($_GET['lgsl_debug'])) { echo "<hr />#d6# {$lgsl_url_path} <hr />#c0# {$lgsl_config['url_path']} <hr />#c1# {$lgsl_config['no_realpath']} <hr />#c2# {$lgsl_config['feed']['method']} <hr />#c3# {$lgsl_config['feed']['url']} <hr />#c4# {$lgsl_config['cache_time']} <hr />#c5# {$lgsl_config['live_time']} <hr />#c6# {$lgsl_config['timeout']} <hr />#c7# {$lgsl_config['cms']} <hr />"; } if (!isset($lgsl_config['locations'])) { exit("LGSL PROBLEM: lgsl_config.php FAILED TO LOAD OR MISSING ENTRIES"); } //------------------------------------------
- hockz94
- Fost moderator
- Posts: 1063
- Joined: 30 Nov 2009, 18:38
- Detinator Steam: Da
- Reputatie: Nume anterior: hockZz ;x
Fost moderator - Has thanked: 42 times
- Been thanked: 114 times
E lgsl modificat de mine, era pus la vanzare dar pana a ajuns pe net de unde l-ai luat si tu.TuNNeD wrote:Cine rezolva , ii dau scriptul meu LGSL , este ceva unic !!!
Asadar ii dai lgsl tau de pe net mortule care esti
- Pavel
- Fost moderator
- Posts: 3610
- Joined: 17 Feb 2011, 22:47
- Detinator Steam: Da
- Reputatie: Fost Administrator
Fost Membru Club eXtreamCS
Nume anterior: xkeze. - Fond eXtream: 2
- Location: Bucuresti
- Has thanked: 71 times
- Been thanked: 102 times
Nu mai umpleti pagina cu cod. Adaugati bbcod-ul pentru sursa cand mai aveti cod foarte lung.
-
- Membru, skill 0
- Posts: 68
- Joined: 20 Jan 2016, 17:13
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Fond eXtream: 0
- Contact:
Stai fratioare asa, eu nu vorbeam de lgsl asta .... E unu in rusa e unic nu ma descurc cu el ...hockz. wrote:E lgsl modificat de mine, era pus la vanzare dar pana a ajuns pe net de unde l-ai luat si tu.TuNNeD wrote:Cine rezolva , ii dau scriptul meu LGSL , este ceva unic !!!
Asadar ii dai lgsl tau de pe net mortule care esti
Asa ca ajutama sa rezolv amarata asta de problema :|
- GamingWorld
- Membru eXtream
- Posts: 2205
- Joined: 08 Mar 2012, 00:18
- Detinator Steam: Da
- CS Status: PHP GOD
- Detinator server CS: Da
- SteamID: legend_xpc
- Reputatie: Membru Club eXtreamCS (8 luni)
- Location: Bucuresti
- Has thanked: 24 times
- Been thanked: 35 times
Salut, asta este ceea ce ai de scos din cate am vazut eu acolo :)
Code: Select all
if(!isset($_GET[''])) { $page = 1; } else { $page = $_GET['page']; }
$limit = (($page * 10) - 10);
$mysql_result = mysql_query("SELECT * FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE ".implode(" AND ", $mysql_where)." ORDER BY (`rating`/`status`) DESC LIMIT $limit, 15") or die(mysql_error());
$server_list = array();
while ($mysql_row = mysql_fetch_array($mysql_result, MYSQL_ASSOC))
{
if (strpos($request, "c") === FALSE && lgsl_timer("check")) { $request .= "c"; }
$server = lgsl_query_cached("", "", "", "", "", $request, $mysql_row['id']);
if ($hide_offline && empty($server['b']['status'])) { continue; }
if ($game && $game != preg_replace("/[^a-z0-9_]/", "_", strtolower($server['s']['game']))) { continue; }
$server_list[] = $server;
if ($server_limit && count($server_list) >= $server_limit) { break; }
}
return $server_list;
}
Pentru a-l contacta pe userul GamingWorld poti trimite un PM accesand direct profilul meu .
De altfel puteti sa ma gasiti si pe Blog & si Youtube !!
De altfel puteti sa ma gasiti si pe Blog & si Youtube !!
-
- Membru, skill 0
- Posts: 68
- Joined: 20 Jan 2016, 17:13
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Fond eXtream: 0
- Contact:
Jump to
- eXtream - Forum
- ↳ Steam
- ↳ Forum
- ↳ WebDesign
- ↳ Incepatori
- ↳ Cos de reciclare
- ↳ Discutii generale
- ↳ Anunturi
- ↳ Security zone
- ↳ Filme si seriale
- ↳ Reclamatii
- ↳ Entertainment
- ↳ Distractie
- ↳ Clubul eXtreamCS - Intra si tu ! [noi oportunitati]
- eXtream - Counter-Strike 2
- ↳ Counter-Strike 2
- eXtream - Counter-Strike 1.6
- ↳ Diverse
- ↳ Filme gaming
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Tutoriale
- ↳ Cereri
- ↳ Discutii generale
- ↳ Probleme la servere dedicate de Counter-Strike
- ↳ Cereri admin / slot
- ↳ Probleme in jocul Counter-Strike
- ↳ Pluginuri
- ↳ Pluginuri eXtream
- ↳ Cereri
- ↳ AdminMod
- ↳ AmxModX
- ↳ Resurse
- ↳ Moduri
- ↳ Addon-uri
- ↳ Kit-uri
- ↳ Harti
- ↳ Diverse
- ↳ Cereri
- ↳ Servere
- ↳ Programarea CS-ului
- ↳ Scripting
- ↳ Modificari pluginuri
- ↳ CStrike
- ↳ Cereri
- eXtream - Echipa
- ↳ Productia eXtream
- ↳ Harti eXtream
- ↳ CS.eXtreamCS.com - Server oficial eXtreamCS
- ↳ Zona administrativă
- ↳ Cereri acces
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Admin zone
- ↳ CS2.eXtreamCS.com - Server official eXtreamCS
- ↳ XMAS.eXtreamCS.com
- ↳ Cereri admin
- ↳ Cereri unban
- ↳ Reclamatii / Sugestii
- ↳ eXtreamCS #PubMasters
- eXtream - Counter Strike Global Offensive
- ↳ Diverse
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Probleme la servere dedicate de Counter-Strike: Global Offensive
- ↳ Probleme in jocul Counter-Strike: Global Offensive
- ↳ Pluginuri
- ↳ Cereri
- ↳ Resurse
- ↳ Addons-uri
- ↳ Hărți
- ↳ Diverse
- ↳ Servere
- eXtream - Counter-Strike Source
- ↳ Tutoriale
- ↳ Pluginuri
- ↳ Servere
- ↳ Resurse
- ↳ Harti
- ↳ Moduri
- ↳ Diverse
- ↳ Classic » CS
- ↳ Anunțuri administrative
- ↳ Cereri admin/slot
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Banlist
- ↳ Admins Only
- ↳ Discord