Projekt

Obecné

Profil

4 batix
<?

$cely_soubor=file($soubor_dhcp);
//$cely_soubor=file("dhcp/pokus.conf");

for ($i=2,$u=0;$i<sizeof($cely_soubor);$i++,$u++) {
$cely_soubor2[$u]=trim(str_replace(";","",$cely_soubor[$i]));
$cely_soubor2[$u]=str_replace("\"","",$cely_soubor2[$u]);
}
//echo $cely_soubor2[0]." radku:".sizeof($cely_soubor2);

for ($i=0;$i<sizeof($cely_soubor2);$i++) {
if ($cely_soubor2[$i]=="") break;
for ($u=0;$u<sizeof($globalni_parametry);$u++) {
if (strstr($cely_soubor2[$i],$globalni_parametry[$u]." "))
$_SESSION[$globalni_zadane_hodnoty[$u]]=str_replace($globalni_parametry[$u]." ","",$cely_soubor2[$i]);
if ($cely_soubor2[$i]==$globalni_parametry[$u]) $_SESSION[$globalni_zadane_hodnoty[$u]]="check"; //zaskrkavatko
}
}

for ($i=0,$a=0,$b=0,$c=0;$i<sizeof($cely_soubor2);$i++) { // cisla radku na kterych zacinaji subnety a hosti - pro vytazeni presne tech parametru,ktere pro dany subnet/hosta patri.
if (strstr($cely_soubor2[$i],"subnet ") && !strstr($cely_soubor2[$i],"#")) { // + vytahnuti "subnet","netmask","host" do promennych formulare
if(strstr($cely_soubor2[($i-1)],"#"))
$_SESSION["popis_s".$a]=str_replace("# ","",$cely_soubor2[($i-1)]);
$cisla_radku_subnet[$a]=$i+1;
$subnet_pomocna=explode(" ",$cely_soubor2[$i]);
$_SESSION["subnet".$a]=$subnet_pomocna[1];
$_SESSION["netmask".$a]=$subnet_pomocna[3];
$a++;
}
if (strstr($cely_soubor2[$i],"host ") && !strstr($cely_soubor2[$i],"#")) {
if(strstr($cely_soubor2[($i-1)],"#"))
$_SESSION["popis_h".$b]=str_replace("# ","",$cely_soubor2[($i-1)]);
$cisla_radku_host[$b]=$i+1;
$host_pomocna=explode(" ",$cely_soubor2[$i]);
$_SESSION["host".$b]=$host_pomocna[1];
$b++;
}
if (strstr($cely_soubor2[$i],"group ") && !strstr($cely_soubor2[$i],"#")) {
if(strstr($cely_soubor2[($i-1)],"#"))
$_SESSION["popis_g".$c]=str_replace("# ","",$cely_soubor2[($i-1)]);
$cisla_radku_group[$c]=$i+1;
$c++;
}
}
$_SESSION['pocet_subnet']=sizeof($cisla_radku_subnet);
$_SESSION['pocet_host']=sizeof($cisla_radku_host);
$_SESSION['pocet_group']=sizeof($cisla_radku_group);

for ($i=0;$i<$_SESSION['pocet_group'];$i++) {
$q=0;
$begin=1;
$end=0;
$konec_parametru=0; //jestli se rovna 0, tak projizdi parametry skupiny a uklada je do SESSION..Jakmile narazi na hosta, znamena to konec group parametru
for ($u=$cisla_radku_group[$i];$u<sizeof($cely_soubor2);$u++) { // jednotlive groupy vyhledava tam, kde presne zacinaji jejich parametry
if (strstr($cely_soubor2[$u],"{")) $begin++;
if (strstr($cely_soubor2[$u],"}")) $end++;
if (($begin-$end)==0) break; // jakmile dojde na konec groupu, tak ukonci cyklus
if ($konec_parametru==0)
for ($b=0;$b<sizeof($group_parametry);$b++) {
if (strstr($cely_soubor2[$u],$group_parametry[$b]." "))
$_SESSION[$group_zadane_hodnoty[$b].$i]=str_replace($group_parametry[$b]." ","",$cely_soubor2[$u]);
if ($cely_soubor2[$u]==$group_parametry[$b]) $_SESSION[$group_zadane_hodnoty[$b].$i]="check"; //zaskrkavatko
}
if (strstr($cely_soubor2[$u],"host ") && !strstr($cely_soubor2[$i],"#")) {
$jmeno_hosta=explode(" ",$cely_soubor2[$u]);
$host_v_groupu[$i][$q]=$jmeno_hosta[1];
$konec_parametru=1;
$q++;
}
}
}

for ($i=0;$i<$_SESSION['pocet_subnet'];$i++) { // vytahnuti subnet parametru
$a=0;
$p=0;
$q=0;
$begin=1;
$end=0;
$konec_parametru=0;
for ($u=$cisla_radku_subnet[$i];$u<sizeof($cely_soubor2);$u++) { // jednotlive subnety vyhledava tam, kde presne zacinaji jejich parametry
if (strstr($cely_soubor2[$u],"{")) $begin++;
if (strstr($cely_soubor2[$u],"}")) $end++;
if (($begin-$end)==0) break; // jakmile dojde na konec subnetu, tak ukonci cyklus
if ($konec_parametru==0)
for ($b=2;$b<sizeof($subnet_parametry);$b++) {
if (strstr($cely_soubor2[$u],$subnet_parametry[$b]." ")) {
$_SESSION[$subnet_zadane_hodnoty[$b].$i]=str_replace($subnet_parametry[$b]." ","",$cely_soubor2[$u]);
if ($subnet_parametry[$b]=="range") { // vytahnuti range
$pomocna_range=explode(" ",$cely_soubor2[$u]);
$_SESSION["range_od".$i."_".$a]=$pomocna_range[1];
$_SESSION["range_po".$i."_".$a]=$pomocna_range[2];
$a++;
$_SESSION["pocet_range".$i]=$a;
}
}
if ($cely_soubor2[$u]==$subnet_parametry[$b]) $_SESSION[$subnet_zadane_hodnoty[$b].$i]="check"; //zaskrkavatko
}
if (strstr($cely_soubor2[$u],"group ") && !strstr($cely_soubor2[$u],"#")) {
$group_v_subnetu[$i][$p]=str_replace("# ","",$cely_soubor2[($u-1)]);
$konec_parametru=1;
$p++;
}
if (strstr($cely_soubor2[$u],"host ") && !strstr($cely_soubor2[$i],"#")) {
$jmeno_hosta=explode(" ",$cely_soubor2[$u]);
$host_v_subnetu[$i][$q]=$jmeno_hosta[1];
$konec_parametru=1;
$q++;
}
}
}

for ($i=0;$i<$_SESSION['pocet_host'];$i++) { // vytahnuti host parametru
$begin=1;
$end=0;
for ($u=$cisla_radku_host[$i];$u<sizeof($cely_soubor2);$u++) { // jednotlive hosty vyhledava tam, kde presne zacinaji jejich parametry
if (strstr($cely_soubor2[$u],"{")) $begin++;
if (strstr($cely_soubor2[$u],"}")) $end++;
if (($begin-$end)==0) break; // jakmile dojde na konec subnetu, tak ukonci cyklus
for ($b=1;$b<sizeof($host_parametry);$b++) {
if (strstr($cely_soubor2[$u],$host_parametry[$b]." "))
$_SESSION[$host_zadane_hodnoty[$b].$i]=str_replace($host_parametry[$b]." ","",$cely_soubor2[$u]);
if ($cely_soubor2[$u]==$host_parametry[$b]) $_SESSION[$host_zadane_hodnoty[$b].$i]="check";
}
}
}

/*
for ($a=0;$a<$_SESSION['pocet_group'];$a++) {
if ("group".$a==$group_v_subnetu[$i][$a])
$_SESSION["pridelit_group".$a]="subnet".$i;
*/
for ($i=0;$i<$_SESSION['pocet_subnet'];$i++)
for ($u=0;$u<$_SESSION['pocet_group'];$u++)
for ($qq=0;$qq<sizeof($group_v_subnetu[$i]);$qq++)
if ($_SESSION["popis_g".$u]==$group_v_subnetu[$i][$qq])
$_SESSION["pridelit_group".$u]="subnet".$i;


for ($i=0;$i<$_SESSION['pocet_subnet'];$i++) // prideleni hosta do patricneho subnetu,pokud do nej patri
for ($u=0;$u<$_SESSION['pocet_host'];$u++)
for ($qq=0;$qq<sizeof($host_v_subnetu[$i]);$qq++)
if ($_SESSION["host".$u]==$host_v_subnetu[$i][$qq])
$_SESSION["pridelit_hosta".$u]="subnet".$i;


for ($i=0;$i<$_SESSION['pocet_group'];$i++) // prideleni hosta do patricneho skupiny,pokud do ni patri
for ($u=0;$u<$_SESSION['pocet_host'];$u++) // - jestli jo,tak se predchozi promenna $_SESSION["pridelit_hosta".$u] prepise na group,a tim se prideli do skupiny
for ($qq=0;$qq<sizeof($host_v_groupu[$i]);$qq++)
if ($_SESSION["host".$u]==$host_v_groupu[$i][$qq])
$_SESSION["pridelit_hosta".$u]="group".$i;

for ($i=0;$i<$_SESSION['pocet_group'];$i++)
if ($_SESSION["pridelit_group".$i]=="") $_SESSION["pridelit_group".$i]="toplevel";

for ($i=0;$i<$_SESSION['pocet_host'];$i++)
if ($_SESSION["pridelit_hosta".$i]=="") $_SESSION["pridelit_hosta".$i]="toplevel";
/*
foreach($_SESSION as $ind => $val) {
if (strstr($ind,"pridelit_group") && $val=="") $_SESSION[$ind]="toplevel";
}
*/
?>