Търся този банер генератор

PHP, MySQL, Javascript, XHTML и др.
Потребителски аватар

summertime vibes root@
Модератор
Модератор
Мнения: 1146
Регистриран: 27 ное 2016, 17:47
Местоположение: In the Heaven
Се отблагодари: 47 пъти
Получена благодарност: 105 пъти
Контакти:

Търся този банер генератор

Мнение от summertime vibes root@ » 10 фев 2019, 15:26

Защо линковете са ти към "justplay-bg.info", не трябва ли да са към твоят сайт?
PSociety.INFO - Всичко за Photoshop, стилове и помощ за PHPBB.
Изображение
Изображение

Потребителски аватар

Автор на темата
Toxyy
Потребител
Потребител
Мнения: 50
Регистриран: 30 яну 2019, 16:58
Се отблагодари: 1 път

Търся този банер генератор

Мнение от Toxyy » 10 фев 2019, 15:29

Това е кода който да го изкарва в други форуми и т.н / линковете към изображенията са оправени иначе няма да ги искрава, въпроса тук е че не искарва информацията на даден сървър - съмнява ме че не може да излече информация която да я запише на сяла защото там има само едно `id` int(25) NOT NULL AUTO_INCREMENT, и `ip` varchar(60) NOT NULL, пък на кода има
$players = $s->serverInfo['players'];
$maxplayers = $s->serverInfo['maxplayers'];
$map = $s->serverInfo['map'];
а такива неща в сяла няма точно това ме съмнява че неги изкарва, но другото съмнително нещо е че преди си работеше без никакви проблеми.

ПС: И извлекох апсолютно всички файлове от системата която беше поставен генератора

ПС: Говорих с един приятел и каза че му липсва cron job не знам дали този банер генератор използваше cron заявка.

Потребителски аватар

hackera457 СОТА
Модератор
Модератор
Мнения: 644
Регистриран: 01 ное 2016, 09:46
Местоположение: София
Получена благодарност: 77 пъти
Години: 24
Контакти:

Търся този банер генератор

Мнение от hackera457 СОТА » 10 фев 2019, 16:23

Toxyy написа:
10 фев 2019, 15:29
Това е кода който да го изкарва в други форуми и т.н / линковете към изображенията са оправени иначе няма да ги искрава, въпроса тук е че не искарва информацията на даден сървър - съмнява ме че не може да излече информация която да я запише на сяла защото там има само едно `id` int(25) NOT NULL AUTO_INCREMENT, и `ip` varchar(60) NOT NULL, пък на кода има
$players = $s->serverInfo['players'];
$maxplayers = $s->serverInfo['maxplayers'];
$map = $s->serverInfo['map'];
а такива неща в сяла няма точно това ме съмнява че неги изкарва, но другото съмнително нещо е че преди си работеше без никакви проблеми.

ПС: И извлекох апсолютно всички файлове от системата която беше поставен генератора

ПС: Говорих с един приятел и каза че му липсва cron job не знам дали този банер генератор използваше cron заявка.
Може и без Cron, ако се използва LGSL функциите
Моите плъгини

Код: Избери всички

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Потребителски аватар

Автор на темата
Toxyy
Потребител
Потребител
Мнения: 50
Регистриран: 30 яну 2019, 16:58
Се отблагодари: 1 път

Търся този банер генератор

Мнение от Toxyy » 10 фев 2019, 17:58

Гледах някой файлове в същата система lgsl_class беше в същата папка където беше и stats на сървъра дали може да използва него ? / Това беше като отделен файл не в lgsl папка.

Потребителски аватар

hackera457 СОТА
Модератор
Модератор
Мнения: 644
Регистриран: 01 ное 2016, 09:46
Местоположение: София
Получена благодарност: 77 пъти
Години: 24
Контакти:

Търся този банер генератор

Мнение от hackera457 СОТА » 10 фев 2019, 18:09

Toxyy написа:
10 фев 2019, 17:58
Гледах някой файлове в същата система lgsl_class беше в същата папка където беше и stats на сървъра дали може да използва него ? / Това беше като отделен файл не в lgsl папка.
Разбира се, че може да се ползва - във lgsl_class се съдържат всички необходими функции за функционирането. Даже аз преди много време така си бях направил банер статистиките за един от мойте стари проекти
Моите плъгини

Код: Избери всички

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Потребителски аватар

Автор на темата
Toxyy
Потребител
Потребител
Мнения: 50
Регистриран: 30 яну 2019, 16:58
Се отблагодари: 1 път

Търся този банер генератор

Мнение от Toxyy » 10 фев 2019, 18:22

hackera457 написа:
10 фев 2019, 18:09
Toxyy написа:
10 фев 2019, 17:58
Гледах някой файлове в същата система lgsl_class беше в същата папка където беше и stats на сървъра дали може да използва него ? / Това беше като отделен файл не в lgsl папка.
Разбира се, че може да се ползва - във lgsl_class се съдържат всички необходими функции за функционирането. Даже аз преди много време така си бях направил банер статистиките за един от мойте стари проекти

Код: Избери всички

<?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}' 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

      $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}' WHERE `id`='{$mysql_row['id']}' 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}'"; }

    $mysql_query  = "SELECT `id` FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE ".implode(" AND ", $mysql_where)." AND s_port='0' ORDER BY {$mysql_order}";
    $mysql_result = mysql_query($mysql_query) 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 = FALSE)
  {
    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_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'] == "id")      { usort($server_list, "lgsl_sort_servers_by_id");      }
    elseif ($lgsl_config['sort']['servers'] == "zone")    { usort($server_list, "lgsl_sort_servers_by_zone");    }
    elseif ($lgsl_config['sort']['servers'] == "type")    { usort($server_list, "lgsl_sort_servers_by_type");    }
    elseif ($lgsl_config['sort']['servers'] == "status")  { usort($server_list, "lgsl_sort_servers_by_status");  }
    elseif ($lgsl_config['sort']['servers'] == "players") { usort($server_list, "lgsl_sort_servers_by_players"); }

    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", "&shy;",   $string); // FF2 VISIBLE AND DIV NEEDED
      return str_replace("\x05\x06", "&#8203;", $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)."?".urlencode($_SERVER['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_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");
  }

//------------------------------------------------------------------------------------------------------------+
Това е кода от този файл който говорих по на горе, как ще стане начина да го накрам да работи някаква идея имаш ли ?

Потребителски аватар

Автор на темата
Toxyy
Потребител
Потребител
Мнения: 50
Регистриран: 30 яну 2019, 16:58
Се отблагодари: 1 път

Търся този банер генератор

Мнение от Toxyy » 10 фев 2019, 18:53

В кой от всичките файлове трябва да го добавя това ? Или да го променя ?
Последна промяна от hackera457 СОТА на 10 фев 2019, 19:48, променено общо 2 пъти.
Причина: Не пускай два поста един след друг!

Потребителски аватар

hackera457 СОТА
Модератор
Модератор
Мнения: 644
Регистриран: 01 ное 2016, 09:46
Местоположение: София
Получена благодарност: 77 пъти
Години: 24
Контакти:

Търся този банер генератор

Мнение от hackera457 СОТА » 10 фев 2019, 18:59

Toxyy написа:
10 фев 2019, 18:53
В кой от всичките файлове трябва да го добавя това ? Или да го променя ?

Код: Избери всички

<?php

include "path/lgsl_class.php"

$ip = "serverIP";
$port = "27015"

$fields_show  = array("name", "score", "kills", "deaths", "team", "ping", "bot", "time"); // ORDERED FIRST
$fields_hide  = array("teamindex", "pid", "pbguid"); // REMOVED
$fields_other = TRUE;

$server = lgsl_query_cached($type, $ip, $port, $port, $port, $request, $id = NULL)

$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);

//И насам си вадиш вече нещата например
// <img alt='' src='$misc[icon_status]' title='$misc[text_status]' style='vertical-align:middle' /> - за статус
// $server['s']['name'] - За името на сървъра
// IP: {$server['b']['ip']}:{$server['b']['c_port']}
// $server['s']['map'] - вадиш картата
// {$server['s']['players']} / {$server['s']['playersmax']} за играчите
?>
Ето ти пример - там където генерираш картинката за банера
Моите плъгини

Код: Избери всички

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Потребителски аватар

Автор на темата
Toxyy
Потребител
Потребител
Мнения: 50
Регистриран: 30 яну 2019, 16:58
Се отблагодари: 1 път

Търся този банер генератор

Мнение от Toxyy » 10 фев 2019, 20:54

enemys написа:
09 фев 2019, 22:26
generator.php

Код: Избери всички

<?php
//Config file
$host = "localhost"; //IP-то към mysql сървъра ви
$user = "user"; //Потребителят за базата ви данни
$pass = "pass"; //Паролата на портебителя
$database = "db"; //Базата данни за потребителя

//Следващите два реда не се пипат
$connect = mysql_connect($host, $user, $pass) or die("<b>FATAL ERROR:</b> <i>Could not connect to the mysql server.</i>");
mysql_select_db($database, $connect) or die("<b>FATAL ERROR:</b> <i>Could not connect to the mysql database.</i>");
?>

<center><?php
$random_number = rand(1, 5);
$random_banner[1] = 'Колко е 18-9';
$random_banner[2] = 'Колко е 5+4';
$random_banner[3] = 'Колко е 8+1';
$random_banner[4] = 'Колко е 2+7';
$random_banner[5] = 'Колко е 15-6';

   function validateIpAddress($ip_addr) {
      
      if(preg_match("/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}/",$ip_addr)) 
      {
         return true;   
      }
      else {   
         return false;
         
      }
   }
?>
   <fieldset><legend>Статистиката съдържа само играта:Counter-Strike 1.6</legend><form action="" method="post"><label for="input-two" class="float"><strong>IP Адрес:</strong></label><br />
      <input class="inp-text" name="ip"  id="input-two" type="text" size="30" />
      <br /><label for="input-two" class="float"><strong><?PHP echo $random_banner[$random_number]; ?></strong></label><br />
      <input class="inp-text" name="code"  id="input-two" type="text" size="30" />
      </fieldset>
      <p><input class="buttona" type="submit" alt="SUBMIT" name="napravi" value="Създай" /></p>
      <br/>
      
      <?php
         if(isset($_POST['napravi']))
         {
            $ip = addslashes(trim($_POST['ip']));
            $code =  trim($_POST['code']);
            
            if($ip == NULL || $code == NULL)
            {
               echo "<fieldset>
               <legend>Грешка</legend>Моля, попълнете всички полета!</fieldset>";
            }else{
                 if(validateIpAddress($ip))
                 {
                    if($code != 9) {
                       echo "<fieldset>
                       <legend>Грешка</legend>Кодът е грешен!</fieldset>
                       ";
                    }else{
                     $check = mysql_query("SELECT * FROM server_gen WHERE ip = '$ip'");
                       if($num = mysql_num_rows($check)){
                          echo "<fieldset>
                          <legend>Грешка
                          </legend>Този IP адрес вече е бил използван.</fieldset><br /><br />
                          ";
                          echo '<fieldset>
                     <legend>Демо на картинката
                     </legend><img src="http://arenaplay.pro/stats.php?ip='.$ip.'"></fieldset>
                  <h3><fieldset>
                     <legend>Кодове за вграждане</legend><div class="code_box"><label for="codebb">BBCode (за форуми):</label> <input id="codebb" value="[url=http://arenaplay.pro][IMG]http://arenaplay.pro/stats.php?ip='.$ip.'[/IMG][/url]" onclick="javascript:this.focus();this.select();" readonly="false" class="text_input long" type="text"></div>
                                      <div class="code_box"><label for="codebb">HTML (за сайтове):</label> <input id="codebb" value="<img src=http://arenaplay.pro/stats.php?ip='.$ip.'>" onclick="javascript:this.focus();this.select();" readonly="false" class="text_input long" type="text"></div>
                                      
                                      </h3>
                                      </fieldset>
                                      <br /><br /><div style="border-bottom: 1px dashed #ccc; width: auto;padding-bottom: 5px;padding-top: 5px;"></div><br /><br />
                                      <fieldset>
                     <legend>Демо на картинката
                     </legend><img src="http://arenaplay.pro/small-stats.php?ip='.$ip.'"></fieldset>
                  <h3><fieldset>
                     <legend>Кодове за вграждане</legend><div class="code_box"><label for="codebb">BBCode (за форуми):</label> <input id="codebb" value="[url=http://arenaplay.pro][IMG]http://arenaplay.pro/small-stats.php?ip='.$ip.'[/IMG][/url]" onclick="javascript:this.focus();this.select();" readonly="false" class="text_input long" type="text"></div>
                                      <div class="code_box"><label for="codebb">HTML (за сайтове):</label> <input id="codebb" value="<img src=http://arenaplay.pro/small-stats.php?ip='.$ip.'>" onclick="javascript:this.focus();this.select();" readonly="false" class="text_input long" type="text"></div>
                                      
                                      </h3>
                                      </fieldset>';
                          
                          
                       } else { 
                          $sql = mysql_query("INSERT INTO server_gen (ip) VALUES ('$ip')");
                          echo '<fieldset>
                     <legend>Демо на картинката
                     </legend><img src="http://arenaplay.pro/stats.php?ip='.$ip.'"></fieldset>
                  <h3><fieldset>
                     <legend>Кодове за вграждане</legend><div class="code_box"><label for="codebb">BBCode (за форуми):</label> <input id="codebb" value="[url=http://arenaplay.pro][IMG]http://arenaplay.pro/stats.php?ip='.$ip.'[/IMG][/url]" onclick="javascript:this.focus();this.select();" readonly="false" class="text_input long" type="text"></div>
                                      <div class="code_box"><label for="codebb">HTML (за сайтове):</label> <input id="codebb" value="<img src=http://arenaplay.pro/stats.php?ip='.$ip.'>" onclick="javascript:this.focus();this.select();" readonly="false" class="text_input long" type="text"></div>
                                      
                                      </h3>
                                      </fieldset>
                                      <br /><br /><div style="border-bottom: 1px dashed #ccc; width: auto;padding-bottom: 5px;padding-top: 5px;"></div><br /><br />
                                      <fieldset>
                     <legend>Демо на картинката
                     </legend><img src="http://arenaplay.pro/small-stats.php?ip='.$ip.'"></fieldset>
                  <h3><fieldset>
                     <legend>Кодове за вграждане</legend><div class="code_box"><label for="codebb">BBCode (за форуми):</label> <input id="codebb" value="[url=http://arenaplay.pro][IMG]http://arenaplay.pro/small-stats.php?ip='.$ip.'[/IMG][/url]" onclick="javascript:this.focus();this.select();" readonly="false" class="text_input long" type="text"></div>
                                      <div class="code_box"><label for="codebb">HTML (за сайтове):</label> <input id="codebb" value="<img src=http://arenaplay.pro/small-stats.php?ip='.$ip.'>" onclick="javascript:this.focus();this.select();" readonly="false" class="text_input long" type="text"></div>
                                      
                                      </h3>
                                      </fieldset><br /><br /><br />';
                       }
                    }
                 }else{
                    echo "<fieldset>
                    <legend>Грешка
                    </legend>Въведете реален IP адрес и порт.</fieldset>";
                    
                 }
            }
         }
   ?></center>
small-stats.php

Код: Избери всички

<?php
header("Content-type: image/png; charset=UTF-8");
include "include/server_status.php";
function validateIpAddress($ip_addr) {
	
	if(preg_match("/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}/",$ip_addr)) 
	{
		return true;	
	}
	else {	
		return false;
		
	}
}
$ip = $_GET['ip'];
if(validateIpAddress($ip))
{
	$ip_port = $ip;
	$exp = explode(":", $ip_port);
	
	$s = new GetInfo($exp[0],$exp[1]);
	
	$image = imagecreatefrompng('images/status-on2.png');
	$black = imagecolorallocate($image, 0, 0, 0);
	$red = imagecolorallocate($image, 205, 51, 51);
	$green = imagecolorallocate($image, 0, 201, 87);
	$white = imagecolorallocate($image, 255, 255, 255);
	$fontsize = 2;
	
	if($s->getStatus())
	{
		$s->getServerData();
		$name = $s->serverInfo['hostname'];
$tochka = "...";
if(strlen($name)<30) {
	$var = TRUE;
} else {
$name=substr($name,0 , 30); 
$name = $name.$tochka;
}
		$players = $s->serverInfo['players'];
		$maxplayers = $s->serverInfo['maxplayers'];
		$map = $s->serverInfo['map'];
		
	}
	else
	{
		$name = "n/a";
		$players = "n";
		$maxplayers = "a";
		$map = "n / a";
		$image = imagecreatefrompng('images/status-off2.png');
		

	}
imagestring($image, $fontsize, 46,  4,  "" . $name, $white);
imagestring($image, $fontsize, 328, 4, "" . $players ." / ".$maxplayers, $white);
imagestring($image, $fontsize, 277, 21, " " . $ip_port, $white);
imagestring($image, $fontsize, 32, 20, " " . $map, $white);
	
	
	
	imagepng($image);
imagedestroy($image);
}else{
	echo "Невалиден IP Адрес и порт!";
}
?>
stats.php

Код: Избери всички

<?php
header("Content-type: image/png; charset=UTF-8");
include "include/server_status.php";
function validateIpAddress($ip_addr) {
	
	if(preg_match("/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}/",$ip_addr)) 
	{
		return true;	
	}
	else {	
		return false;
		
	}
}
$ip = $_GET['ip'];
if(validateIpAddress($ip))
{
	$ip_port = $ip;
	$exp = explode(":", $ip_port);
	
	$s = new GetInfo($exp[0],$exp[1]);
	
	$image = imagecreatefrompng('images/status-on.png');
	$black = imagecolorallocate($image, 0, 0, 0);
	$red = imagecolorallocate($image, 205, 51, 51);
	$green = imagecolorallocate($image, 0, 201, 87);
	$white = imagecolorallocate($image, 255, 255, 255);
	$fontsize = 3;
	
	if($s->getStatus())
	{
		$s->getServerData();
		$name = $s->serverInfo['hostname'];
		$tochka = "...";
if(strlen($name)<29) {
	$var = TRUE;
} else {
$name=substr($name,0 , 29); 
$name = $name.$tochka;
}
		$players = $s->serverInfo['players'];
		$maxplayers = $s->serverInfo['maxplayers'];
		$map = $s->serverInfo['map'];
		
	}
	else
	{
		$name = "n/a";
		$players = "n";
		$maxplayers = "a";
		$map = "n / a";
		$image = imagecreatefrompng('images/status-off.png');
		

	}
	imagestring($image, $fontsize, 60,  20,  "" . $name, $white);
imagestring($image, $fontsize, 182, 85, "" . $players ." / ".$maxplayers, $white);
imagestring($image, $fontsize, 260, 85, " " . $ip_port, $white);
imagestring($image, $fontsize, 5, 85, " " . $map, $white);
	
	
	
	imagepng($image);
imagedestroy($image);
}else{
	echo "Невалиден IP Адрес и порт!";
}
?>
server_status.php

Код: Избери всички

<?php
class GetInfo{

public function GetInfo($ip,$port)
{
$this->ip = $ip;
$this->port = $port;
$this->fp = fsockopen('udp://'.$ip, $port);
}

public function getServerData()
{
	fwrite($this->fp, "\xFF\xFF\xFF\xFFdetails\x00");
	socket_set_timeout($this->fp, 1);

	$this->getData('byte');
	$this->getData('byte');
	$this->getData('byte');
	$this->getData('byte');
	$this->getData('byte');
	$this->getData('byte');
	$this->getData('byte');
	$this->getData('byte');
	$this->getData('byte');
	$this->getString();
	$this->serverInfo['hostname'] = $this->getString();
	$this->serverInfo['map'] = $this->getString();
	$this->getString();
        $this->serverInfo['mod'] = $this->getString();
        $this->serverInfo['players'] = $this->getData("byte"); 
        $this->serverInfo['maxplayers'] = $this->getData("byte"); 
        $this->getData("byte"); 
        $this->serverInfo['servertype'] = (chr($this->getData("byte")) == "d") ? "Dedicated" : "Listen"; 
        $this->serverInfo['server_os'] = (chr($this->getData("byte")) == "w") ? "Windows" : "Linux";
        $this->serverInfo['password'] = $this->getData("byte"); 
        $this->getData("byte"); 
        $this->getString(); 
        $this->getString(); 
        $this->getString(); 
	$this->getData("long"); 
        $this->getData("long"); 
        $this->getData("byte"); 
        $this->getData("byte"); 
        $this->serverInfo['vac'] = $this->getData("byte"); 
        $this->getData("byte");
}

private function getData($type)
{
switch($type)
{
case "byte":
return ord(fread($this->fp, 1));
break;

case "char":
return fread($this->fp, 1);
break;

case "float":
$data = unpack("f", fread($this->fp, 4));
return $data[1];
break;
}
}

private function getString()
{
	$string = ''; 
        $loop   = TRUE; 
        
        while($loop) 
        { 
            $_fp = $this->getData("char"); 

            if( ord($_fp) != 0 ) 
            { 
                $string .= $_fp; 
            } 
            else { $loop = FALSE; } 
        } 
        
        return $string; 

}

public function getStatus()
{
$fp = fsockopen('udp://'.$this->ip, $this->port);
fwrite($fp, "\xFF\xFF\xFF\xFFTSource Engine Query\x00");
socket_set_timeout($fp, 1);
if(fread($fp,24))
{
return 1;
}
else
{
return 0;
}
}

}
?>
В почти всичките кодове се показва тази картинка и има задени вече някакви функции да искарва информацията, това което ми даваш трябва да го разбирам че трябва да се пренапише кода или нещо не успях да разбера. Ако може малко повече информация къде какво да се сложи и какво да се махне защото съм забравил доста php :grrr:

Потребителски аватар

hackera457 СОТА
Модератор
Модератор
Мнения: 644
Регистриран: 01 ное 2016, 09:46
Местоположение: София
Получена благодарност: 77 пъти
Години: 24
Контакти:

Търся този банер генератор

Мнение от hackera457 СОТА » 10 фев 2019, 22:16

Да трябва да се преработи кода, да работи с LGSL, а не с външен клас както е сега
Моите плъгини

Код: Избери всички

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Заключена

Върни се в “Уеб Програмиране”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 2 госта