<?php

  
/**
     nHTTP CLIENT RAZBIT NA MAJHNE KOSCE
  **/
  
  // Configuration
  
define("USER_AGENT",    "Mozilla/5.0 (Windows; U; Windows NT 5.1; sl; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14");
  
define("MAX_REDIRECTS"5);

  
// Internal. Do not mess with these if you don't know what ur doing.
  
$_forbidden_params = array("mode""path""_repeat""port""allow_redirect");
  
$_cookies "";

  function 
_generate_basic_http_request($params)
  {
    global 
$_forbidden_params;
    
$var "{$params["mode"]} {$params["path"]} HTTP/1.1\r\n";
    if (empty(
$params["Accept"])) $params["Accept"] = "*/*";
    if (empty(
$params["Connection"])) $params["Connection"] = "close";
    if (empty(
$params["User-Agent"])) $params["User-Agent"] = USER_AGENT;
    foreach (
$params as $key => $value)
    {
      
// We're not adding internal paramaters to our HTTP request, lol!
      
for ($i 0$i <= count($_forbidden_params); $i++) if ($key == $_forbidden_params[$i]) continue 2;
      
$var .= "$key: $value\r\n";
    }
    return 
$var;
  }
  
  function 
_parse_http_response($response$host)
  {
    
$temp explode("\r\n"substr($response0strpos($response"\r\n\r\n")));
    
$temp[0] = substr($temp[0], strpos($temp[0], " ") + 1);
    
$buffer["response_num"]  = substr($temp[0], 0strpos($temp[0], " "));
    
$buffer["response_text"] = substr($temp[0], strpos($temp[0], " ") + 1);
    for (
$i 1$i count($temp); $i++)
    {
      
$t substr($temp[$i], 0strpos($temp[$i], ":"));
      
$buffer[$t] = substr($temp[$i], strpos($temp[$i], " ") + 1);
    }
    
$buffer["body"] = substr($responsestrpos($response"\r\n\r\n") + 4);
    return 
$buffer;
  }

  function 
_parse_url($url$params)
  {
    
$temp parse_url($url);
    
$params["host"] = $temp["host"];
    
$params["port"] = $temp["port"];
    
$params["path"] = $temp["path"];
    if (!empty(
$temp["query"])) $params["path"] .= "?".$temp["query"];
    return 
$params;
  }
  
  function 
http_get($url$params NULL)
  {
    if (
$params["_repeat"] > MAX_REDIRECTS) return False;
    
$params _parse_url($url$params);
    if (empty(
$params["port"])) $params["port"] = 80;
    
$handle fsockopen($params["host"], $params["port"]);
    if (!
$handle) return False;
    
$params["mode"] = "GET";
    
fwrite($handle_generate_basic_http_request($params)."\r\n");
    
$buffer '';
    while (!
feof($handle)) $buffer .= fread($handle8192);
    
fclose($handle);
    
$result _parse_http_response($buffer$params["host"]);
    if (((
$result["response_num"] == 302) || ($result["response_num"] == 301)) && ($params["allow_redirect"]))
    {
      
$params["_repeat"]++;
      return 
http_get($result["Location"], $params);
    }
    else return 
$result;
  }
  
  
/**
    DEFINICIJE Z TRAVIAN PARSERJA
  **/
  
  
define("LOGIN_USER",          'class="fm fm110" type="text" name="');
  
define("LOGIN_PASS",          'type="password" name="');
  
define("LOGIN_HIDD",          '<p align="center"><input type="hidden" name="');
  
  
/**
    DEJANSKA KODA
  **/
  
  
$req $_GET;
  if ((empty(
$req["user"])) || (empty($req["pass"])) || (empty($req["server"]))) die("Whoa, too much info!");
  
  
$val http_get("http://{$req["server"]}/");
  
$tmp substr($val["body"], strpos($val["body"], 'name="login" value="') + strlen('name="login" value="'));
  
$logincode substr($tmp0strpos($tmp'"'));
  
$userid substr($val["body"], strpos($val["body"], LOGIN_USER) + strlen(LOGIN_USER));
  
$userid substr($userid0strpos($userid'"'));
  
$passid substr($val["body"], strpos($val["body"], LOGIN_PASS) + strlen(LOGIN_PASS));
  
$passid substr($passid0strpos($passid'"'));
  
$hidden substr($val["body"], strpos($val["body"], LOGIN_HIDD) + strlen(LOGIN_HIDD));
  
$hidden substr($hidden0strpos($hidden'"'));
  
$form = array("w"         => "",
                
"login"     => $logincode,
                
$userid     => $req["user"],
                
$passid     => $req["pass"],
                
$hidden     => "",
                
"autologin" => "ja");

  echo 
"<html><body><form method=\"post\" name=\"form1\" action=\"http://{$req["server"]}/dorf1.php\">";
  foreach (
$form as $key => $value) echo "<input type=\"hidden\" name=\"$key\" value=\"$value\">\n";
  echo 
"</form><script>document.form1.submit();</script></body></html>";

?>