jablonka.czprosek.czf

czf4bfu

Subversion Repositories:
[/] [index.php] - Rev 15 Go to most recent revision

Compare with Previous - Blame - Download


<?php
error_reporting(0);
// Nastavime, aby se nam zbytecne nelogovaly chyby
ini_set('log_errors',false);
// max_execution_time, pro fungovani je nutne vypnout Safe_mod
set_time_limit(0);

$seznam = array();
echo "<!--CZF4BFU ";
if ($dir = opendir(".")) {
  while (($file = readdir($dir)) !== false)
   if (preg_match('/^(?:global|local)-.*.txt$/',$file)) {
     echo $file." ";
     $seznam[] = $file;
   }
}
echo "-->\n";
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
 <!-- Unreal][ # http://www.jklir.net # Licence: GNU/GPL # v 1.5 (c) Jirka Klír 2009 for CZFree.net ;-) # -->
 <title>CZF4BFU<?php if($_GET["oblast"]!="") echo " | ".$_GET["oblast"]; ?></title>
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
 <meta http-equiv="Content-language" content="cs" />            
 <meta name="author" content="Unreal][, http://www.jklir.net">
 <link href="styl.css" rel="stylesheet" type="text/css">
 <link rel="SHORTCUT ICON" href="favicon.ico">
</head>
<body>

<h1>Rozcestn&#237;k CZFree.Net</h1>

<?php
$group = $_GET["group"];
$czf_group = $_GET["group"];
$czf_oblast = $_GET["oblast"];
$czf_id = $_GET["id"];

if($group!=2) {
  if($czf_oblast!="") { $aname = "#".$czf_oblast; } else { $aname = ""; }
  $group = !$group;
  $text = (!empty($group)) ? "seskupit" : "neseskupovat";
  echo "<a class=\"group\" href=\"?group=".$group."&amp;id=".$czf_id."&amp;oblast=".$czf_oblast.$aname."\">$text podle typu slu&#382;eb</a>";
} else {
  echo "<a class=\"group\" href=\"#\">&nbsp;</a>";
}
?>
<div class="sizer"></div>

<div class="tree">
 <a class="nomargin title" href="?oblast="><strong>CZFree.net</strong><br>cel&#225; s&#237;&#357;</a>
 <div class="smallicon"><a title="seznam slu&#382;eb" href="?oblast="><img width="10" border="0" src="img/point.png"><span>seznam slu&#382;eb</span></a></div>
 <div class="smallicon"><a title="seznam cloud&#367;" href="?group=2"><img width="10" border="0" src="img/point.png"><span>seznam cloud&#367;</span></a></div>


<?php
$jmena_cloudu = array("10.1.0.0/16" => "Connection.cz / AS Centrum network",
"10.2.0.0/16" => "Praha - Connection.cz",
"10.10.0.0/16" => "reserved",
"10.11.0.0/16" => "Praha - Střešovice, Břevnov, Hradčany, Strahov",
"10.12.0.0/16" => "Praha - Nusle, Michle, Ruská ul.",
"10.13.0.0/16" => "Praha - Stodůlky, Nové Butovice, Luka, Lužiny, Řeporyje",
"10.15.0.0/16" => "Praha - Malvazinky, Košíře, Motol",
"10.16.0.0/16" => "Praha - Barrandov",
"10.17.0.0/16" => "Praha - Záběhlice, Zahradní město",
"10.18.0.0/16" => "Praha - Dejvice, Podbaba",
"10.19.0.0/16" => "Praha - Suchdol, Lysolaje, Hanspaulka, Horoměřice",
"10.20.0.0/16" => "Praha - P6 - Dědina, Liboc, Ruzyně",
"10.21.0.0/16" => "Praha - Řepy, Zličín",
"10.22.0.0/16" => "Praha - Holešovice",
"10.23.0.0/16" => "Praha - Vinohrady, Vršovice, Žižkov",
"10.24.0.0/16" => "Praha - Jarov, Strašnice, Malešice, Skalka",
"10.25.0.0/16" => "Praha - Hlubočepy, Podolí, Braník",
"10.26.0.0/16" => "Praha - Lipence, Zbraslav, Radotín",
"10.27.0.0/16" => "Praha - Modřany, Velká Chuchle, Hodkovičky",
"10.28.0.0/16" => "Praha - VYPAL (VYsočany, PAlmovka, Libeň)",
"10.30.0.0/16" => "Praha - Hostivař, Horní Měcholupy, Dolní Měcholupy, Běchovice",
"10.31.0.0/16" => "Praha - Bohnice, Čimice",
"10.32.0.0/16" => "Praha - Dolní Chabry, Ďáblice, Kobylisy, Vychovatelna",
"10.33.0.0/16" => "Praha - Prosek, Letňany, Čakovice",
"10.34.0.0/16" => "Praha - Letná, Štrossmajerák",
"10.37.0.0/16" => "Praha - Radotín",
"10.38.0.0/16" => "Praha - Chodov, Opatov, Háje, Kateřinky",
"10.39.0.0/16" => "Praha - Šibřina, Újezd nad Lesy, Koloděje, Květnice",
"10.40.0.0/16" => "Praha - Krč, sidl.Novodvorská, Kačerov, Spořilov, Roztyly",
"10.41.0.0/16" => "HMNet - Horní Měcholupy",
"10.43.0.0/16" => "Řepná pole, Vinoř",
"10.44.0.0/16" => "Praha - Podolí",
"10.48.0.0/16" => "Praha 2, 4, 10",
"10.49.0.0/16" => "Praha 1, 3",
"10.50.0.0/16" => "Praha - Centrum Prahy",
"10.51.0.0/16" => "Praha - Petřiny",
"10.52.0.0/16" => "Praha - Vršovice",
"10.55.0.0/16" => "Connection.cz",
"10.63.0.0/17" => "Rakovník a okolí",
"10.66.0.0/16" => "Hostivice, Chýně, Ptice, Červený Újezd, Sobín",
"10.67.0.0/16" => "Rudná u Prahy, Ptice, Úhonice, Drahelčice",
"10.69.0.0/17" => "Mělník a okolí",
"10.69.128.0/17" => "Neratovice a okolí",
"10.70.0.0/16" => "Beroun a okolí",
"10.76.0.0/16" => "Plzeň - PilsFree 1",
"10.78.0.0/16" => "Plzeň - PilsFree 2",
"10.88.0.0/16" => "Říčany a okolí",
"10.89.0.0/16" => "Mnichovice",
"10.91.0.0/19" => "Velké Přílepy",
"10.92.0.0/19" => "Libčice nad Vltavou",
"10.93.0.0/16" => "Čelákovice",
"10.94.0.0/17" => "Mladá Boleslav a okolí",
"10.95.0.0/17" => "Řevnice, Dobřichovice",
"10.96.0.0/16" => "Všenory, Karlík, Dobřichovice, Lety, Řevnice, Třebáň",
"10.98.0.0/16" => "Unhoš, Chýně, Červený Újezd, Ptice, Nouzov, Kysice, Braškov, Horní Bezděkov a další",
"10.99.0.0/18" => "Třebestovice",
"10.100.0.0/16" => "Říčany",
"10.101.0.0/16" => "Liberec",
"10.102.0.0/16" => "Kladno, Unhoš a okolí",
"10.103.0.0/16" => "Karlovy Vary",
"10.104.0.0/17" => "Jablonec",
"10.105.0.0/17" => "Kolín",
"10.106.0.0/16" => "Kutná Hora - okres",
"10.107.0.0/16" => "Hradec Králové",
"10.108.0.0/16" => "České Budějovice",
"10.109.0.0/16" => "Plzeň",
"10.110.0.0/17" => "Chrudim",
"10.111.0.0/16" => "Plzeň - sever",
"10.112.0.0/16" => "Lysá nad Labem",
"10.113.0.0/16" => "Louny, Žatec, Pobořany",
"10.114.0.0/16" => "Příbram",
"10.117.0.0/16" => "Turnov a okolí",
"10.120.0.0/18" => "MH2Net - Mnichovo Hradiště směr Turnov",
"10.128.0.0/15" => "Brno - město",
"10.128.0.0/16" => "Brno - město",
"10.129.0.0/16" => "okolí Brna",
"10.129.24.0/21" => "Tišnov",
"10.130.0.0/16" => "Severní Morava",
"10.131.0.0/16" => "Uherské Hradiště",
"10.132.0.0/16" => "Střední Morava - Olomouc",
"10.133.0.0/16" => "Prostějov",
"10.134.0.0/16" => "Přerovsko",
"10.135.0.0/16" => "rezerva pro Moravu",
"10.136.0.0/16" => "testovací sítě pro Moravu",
"10.144.0.0/16" => "Zlín, Vsetín, Valašské Meziříčí - okresy",
"10.145.0.0/16" => "Nový Jičín, Kopřivnice, Frýdek Místek - okresy",
"10.152.0.0/16" => "Ostrava - okres",
"10.153.0.0/16" => "Ostrava - okres",
"10.154.0.0/16" => "Ostrava - okres",
"10.155.0.0/16" => "Ostrava - okres",
"10.161.0.0/16" => "Evkanet - Ostrava",
"10.253.0.0/16" => "NCX - Zápy",
"10.254.0.0/16" => "NCX Labyrint");

$sort_cz = 0;

function arfsort($a,$yes=0) {
  global $sort_cz;
  $sort_cz = $yes;
  usort($a,'arfsort_func');
  return $a;
}

function arfsort_func($a,$b){
  global $sort_cz;
  $order[0][0] = "TYP";
  $order[1][0] = "NAZEV";
  foreach($order as $f) {
    if($sort_cz=="1") {
      $a[$f[0]]=strtr($a[$f[0]], array("&#193;" => "azzz", "&#201;" => "ezzz", "&#205;" => "izzz", "&#211;" => "ozzz", "&#218;" => "uzzz", "&#221;" => "yzzz", "&#381;" => "zzzz", "&#352;" => "szzz", "&#268;" => "czzz", "&#344;" => "rzzz"));
      $b[$f[0]]=strtr($b[$f[0]], array("&#193;" => "azzz", "&#201;" => "ezzz", "&#205;" => "izzz", "&#211;" => "ozzz", "&#218;" => "uzzz", "&#221;" => "yzzz", "&#381;" => "zzzz", "&#352;" => "szzz", "&#268;" => "czzz", "&#344;" => "rzzz"));
    }
    $strc = strcasecmp($a[$f[0]],$b[$f[0]]);
    if ($strc!=0) {
      return $strc;
    }
  }
  return 0;
}

function natsort_func($a,$b){
  $strc = strnatcmp($a,$b);
  if ($strc!=0) {
     return $strc;
  }
  return 0;
}

function show_small($test) {
  foreach ($test as $key=>$row) {
      $oblastx = $row["OBLAST"];
      $typ = $row["TYP"];
      $nazev = $row["NAZEV"];
      $id = $row["ID"];
      $ikonka = $typ;
      if(!file_exists("ikony/".$ikonka.".png")) $ikonka = "none";
   echo "<div class=\"smallicon\"><a title=\"$nazev\" href=\"?id=$id&amp;oblast=$oblastx#$oblastx\"><img width=\"16\" title=\"$nazev\" border=\"0\" src=\"ikony/$ikonka.png\"><span>$nazev</span></a></div>\n";
  }
}

function show_big($test) {
  foreach ($test as $row) {
      $oblastx = $row["OBLAST"];
      $typ = $row["TYP"];
      $nazev = $row["NAZEV"];
      $popis = $row["POPIS"];
      $id = $row["ID"];
      $ikonka = $typ;
      if(!file_exists("ikony/".$ikonka.".png")) $ikonka = "none";
   echo "<div class=\"icon\"><a title=\"".$popis."\" href=\"?id=".$id."&amp;oblast=".$oblastx."#".$oblastx."\"><img title=\"".$popis."\" border=\"0\" width=\"32\" src=\"ikony/$ikonka.png\"><br>".$nazev."</a></div>\n";
  }
}

function show_groups($test) {
 $pamatuj = "";
 $x = 0;
 foreach ($test as $row) {
   $oblastx = $row["OBLAST"];
   $typ = $row["TYP"];
   $nazev = $row["NAZEV"];
   $popis = $row["POPIS"];
   $id = $row["ID"];
   $ikonka = $typ;
   if(!file_exists("ikony/".$ikonka.".png")) $ikonka = "none";

   if ($typ===$pamatuj) {
      echo "<div class=\"icon\"><a title=\"".$popis."\" href=\"?id=".$id."&amp;oblast=".$oblastx."#".$oblastx."\"><img title=\"".$popis."\" border=\"0\" width=\"32\" src=\"ikony/$ikonka.png\"><br>".$nazev."</a></div>\n";
   } else {
      if($x==0) { $nomargin = "nomargin "; $x==1; } else { $nomargin = ""; }
      echo "<div class=\"sizer\"></div><a name=\"".$typ."\" href=\"#".$typ."\" class=\"".$nomargin."title\">".$typ."</a>\n";
      echo "<div class=\"icon\"><a title=\"".$popis."\" href=\"?id=".$id."&amp;oblast=".$oblastx."#".$oblastx."\"><img title=\"".$popis."\" border=\"0\" width=\"32\" src=\"ikony/$ikonka.png\"><br>".$nazev."</a></div>\n";
   }
   $pamatuj = $typ;
 }
}

function show_clouds($test) {
  global $jmena_cloudu;
  foreach ($test as $row) {
    if($row!="") {
      $cl_popis = $jmena_cloudu["$row"];
      $cl_naz = $row;
      $cl_nazev = $row."<br>".$cl_popis;

   echo "<div class=\"icon2\"><a title=\"".$cl_popis."\" href=\"?oblast=".$cl_naz."#".$cl_naz."\"><img title=\"".$cl_popis."\" border=\"0\" width=\"50\" src=\"img/cloud.png\"><br>".$cl_nazev."</a></div>\n";
    }
  }
}

function show_details($test) {
  $ikonka_det = $test["TYP"];
  if(!file_exists("ikony/".$ikonka_det.".png")) $ikonka_det = "none";
  echo "<div class=\"det\">";
  echo "<div class=\"icon_det\"><img alt=\"$ikonka_det\" src=\"ikony/$ikonka_det.png\"></div>";
  echo "<div class=\"info_det\">";
  foreach ($test as $key=>$row) {
   if(!preg_match('%^(?:HESLOEDIT|SOURCE|#)%',$key)) {
      if (preg_match('%^URL(?:|IP|INET)%',$key)) {
         $row = "<a href=\"".$row."\">".$row."</a>";
      }
      echo "<strong>".$key."</strong>:&nbsp;".$row."<br>";
   }
  }
  echo "</div><div class=\"info_cut\"></div></div>";
}


if(!empty($seznam)) {

$item = array();
$items = array();
$oblast = array();

$polozka=-1;

foreach($seznam as $fil) {
  $dat = file_get_contents($fil);
  $data = explode("\n", $dat);
  $soucet = count($data);

   for ($j=0; $j<=$soucet; ++$j) {
        if ((($data[$j]!="") and ($data[$j]!=" ")) and ($data[$j][0]!=(chr(13)))) {
           if (preg_match('%^TYP:%i',$data[$j])) $polozka++;
           $item[$polozka]=$item[$polozka].$data[$j]."<br>";
        }
   }
}

// ------- naladujem data do 3-rozmernyho pole -------

$trans = array(" \\\\<br>" => "", " <br>" => "<br>", (chr(13)) => "", "OBLAST:<br>" => "OBLAST:10.0.0.0/8<br>", (chr(9)) => "", "á" => "&#225;", "é" => "&#233;", "ě" => "&#283;", "í" => "&#237;", "ó" => "&#243;", "ú" => "&#250;", "ů" => "&#367;", "ý" => "&#253;", "ž" => "&#382;", "š" => "&#353;", "č" => "&#269;", "ř" => "&#345;", "ď" => "&#271;", "" => "&#357;", "ň" => "&#328;", "Á" => "&#193;", "É" => "&#201;", "Ě" => "&#282;", "Í" => "&#205;", "Ó" => "&#211;", "Ú" => "&#218;", "Ů" => "&#366;", "Ý" => "&#221;", "Ž" => "&#381;", "Š" => "&#352;", "Č" => "&#268;", "Ř" => "&#344;", "Ď" => "&#270;", "" => "&#356;", "Ň" => "&#327;", "ž" => "&#382", "š" => "&#353");

for ($k=0; $k<=$polozka; ++$k) {
 $item[$k]=strtr($item[$k], $trans);
 $item[$k]=preg_replace('%\:(?:\s|\t)+%', ':', $item[$k]); // tydyt pridelava praci
 if(preg_match('%OBLAST:%i', $item[$k])) {
   preg_match('%OBLAST:(.*?)(<br)%i', $item[$k], $cloud);
   if (!isset($obl["$cloud[1]"])) {
     $oblast[] = $cloud[1];
     $jmena_cloudu["$cloud[1]"]=strtr($jmena_cloudu["$cloud[1]"], array("á" => "&#225;", "é" => "&#233;", "ě" => "&#283;", "í" => "&#237;", "ó" => "&#243;", "ú" => "&#250;", "ů" => "&#367;", "ý" => "&#253;", "ž" => "&#382;", "š" => "&#353;", "č" => "&#269;", "ř" => "&#345;", "ď" => "&#271;", "" => "&#357;", "ň" => "&#328;", "Á" => "&#193;", "É" => "&#201;", "Ě" => "&#282;", "Í" => "&#205;", "Ó" => "&#211;", "Ú" => "&#218;", "Ů" => "&#366;", "Ý" => "&#221;", "Ž" => "&#381;", "Š" => "&#352;", "Č" => "&#268;", "Ř" => "&#344;", "Ď" => "&#270;", "" => "&#356;", "Ň" => "&#327;"));
   }
 } else {
   $cloud[1] = "10.0.0.0/8";
 }
 
 $ic = explode("<br>", $item[$k]);
 $cnt_ic = (count($ic));
 for ($b=0; $b<=$cnt_ic; ++$b) {
  if($b===$cnt_ic) {
    $items[$k]["ID"]=$k;
  } else {
    if(($ic[$b])!="") {
      $pole = strpos($ic[$b], ":");
      $items[$k][(strtoupper(substr($ic[$b], 0, $pole)))]=(substr($ic[$b], $pole+1));
    }
  }
 }
 $obl["$cloud[1]"][] = $items[$k];
}

unset($item);
unset($trans);
$pocet_oblasti = count($oblast)-1;

// -- seradime oblasti (bublinkovy razeni je silene pomaly)
usort($oblast,'natsort_func');


// ------- vypis ve sloupecku vlevo -------

for ($o=0; $o<=$pocet_oblasti; $o++) {
echo "<a class=\"title\" name=\"".$oblast[$o]."\" href=\"?oblast=".$oblast[$o]."#".$oblast[$o]."\"><span class=\"cloudip\">".$oblast[$o]."</span>\n";
  if(isset($jmena_cloudu["$oblast[$o]"])) {
    echo "<br>".$jmena_cloudu["$oblast[$o]"]."</a>";
  } else {
    echo "</a>";
  }
  $sorted["$oblast[$o]"] = arfsort($obl["$oblast[$o]"]);
  show_small($sorted["$oblast[$o]"]);
}
unset($obl);
?>

</div>
<div class="items">

<?php

//#############  PODMINKY ZOBRAZENI  ###############//

if(($czf_group!="1") and ($czf_group!="2")) { $czf_group = ""; }

// ------- pokud neni uvedena oblast ani id ani groupa -------

if ((($czf_oblast=="") and ($czf_id=="")) and ($czf_group=="")) {
   $sorted0 = arfsort($items, 1);
   show_big($sorted0);
   echo "<div class=\"sizer\"></div></div>";
}

// ------- pokud neni uvedena oblast ani id ale groupa ano -------

elseif ((($czf_oblast=="") and ($czf_id=="")) and ($czf_group=="1")) {
   $sorted0 = arfsort($items, 1);
   show_groups($sorted0);
   echo "<div class=\"sizer\"></div></div>";
}

// ------- pokud neni uvedena oblast ani id ale groupa je 2 -------

elseif ((($czf_oblast=="") and ($czf_id=="")) and ($czf_group=="2")) {
   show_clouds($oblast);
   echo "<div class=\"sizer\"></div></div>";
}


// ------- pokud je uvedena oblast i id sluzby ale groupa ne -------

elseif ((($czf_oblast!="") and ($czf_id!="")) and ($czf_group=="")) {
   show_big($sorted["$czf_oblast"]);
   echo "<div class=\"sizer\"></div></div>\n<div class=\"detail\"><div class=\"nomargin title\"><strong>Detaily:</strong></div><div class=\"contents\">\n";
   if ($czf_id<=$polozka) {
     show_details($items[$czf_id]);
   } else {
    echo "<br>Polo&#382;ka neexistuje<br>";
   }
   echo "</div></div>\n";
}

// ------- pokud je uvedena oblast i id sluzby i groupa -------

elseif ((($czf_oblast!="") and ($czf_id!="")) and ($czf_group=="1")) {
   show_groups($sorted["$czf_oblast"]);
   echo "<div class=\"sizer\"></div></div>\n<div class=\"detail\"><div class=\"nomargin title\"><strong>Detaily:</strong></div><div class=\"contents\">\n";
   if ($czf_id<=$polozka) {
     show_details($items[$czf_id]);
   } else {
    echo "<br>Polo&#382;ka neexistuje<br>";
   }
   echo "</div></div>\n";
}


// ------- pokud neni uvedena oblast ale id a groupa ne -------

elseif ((($czf_oblast=="") and ($czf_id!="")) and ($czf_group=="")) {
  if ($czf_id<=$polozka) {
    if(($items[$czf_id]["OBLAST"])=="") {
      $sorted4 = $sorted["10.0.0.0/8"];
    } else {
      $sorted4 = $sorted[$items[$czf_id]['OBLAST']];
    }
    show_big($sorted4);
  } else {
    $sorted0 = arfsort($items, 1);
    show_big($sorted0);
  }

   echo "<div class=\"sizer\"></div></div>\n<div class=\"detail\"><div class=\"nomargin title\"><strong>Detaily:</strong></div><div class=\"contents\">\n";
   if ($czf_id<=$polozka) {
     show_details($items[$czf_id]);
   } else {
     echo "<br>Polo&#382;ka neexistuje<br>";
   }
   echo "</div></div>\n";
}

// ------- pokud neni uvedena oblast ale id a groupa ano -------

elseif ((($czf_oblast=="") and ($czf_id!="")) and ($czf_group=="1")) {
  if ($czf_id<=$polozka) {
    if(($items[$czf_id]["OBLAST"])=="") {
      $sorted4 = $sorted["10.0.0.0/8"];
    } else {
      $sorted4 = $sorted[$items[$czf_id]['OBLAST']];
    }
    show_groups($sorted4);
  } else {
    $sorted0 = arfsort($items, 1);
    show_groups($sorted0);
  }

   echo "<div class=\"sizer\"></div></div>\n<div class=\"detail\"><div class=\"nomargin title\"><strong>Detaily:</strong></div><div class=\"contents\">\n";
   if ($czf_id<=$polozka) {
     show_details($items[$czf_id]);
   } else {
    echo "<br>Polo&#382;ka neexistuje<br>";
   }
   echo "</div></div>\n";
}

// ------- pokud je uvedena oblast ale ne id ani groupa -------

elseif ((($czf_oblast!="") and ($czf_id=="")) and ($czf_group=="")){
   show_big($sorted["$czf_oblast"]);
   echo "<div class=\"sizer\"></div></div>\n";
}

// ------- pokud je uvedena oblast a groupa ale ne id -------

elseif ((($czf_oblast!="") and ($czf_id=="")) and ($czf_group=="1")){
   show_groups($sorted["$czf_oblast"]);
   echo "<div class=\"sizer\"></div></div>\n";
} else { break; }

unset($items);
unset($oblast);
} // end seznam

?>

<div id="copy">czf4bfu v1.5 - made <a href="http://www.jklir.net/">Unreal][</a>&nbsp;</div>
</body>
</html>

Powered by WebSVN 2.2.1