<?php header('Content-Type: text/html; charset=windows-1251'); 
list($abs1, $s2) = explode("outside",getcwd( ));
//*****************************************************************
function izkor($p)    //  $p - номер места корректирует координаты
//*****************************************************************
{global $abs1,$mti2,$mti3,$mtiz3,$посты_поля100,$посты_сын_поля100,$mpokm2,$mpokk2,$mbce2;
if ($p==1)        // все
{$op=$mbce2;}
else if  ($p==2)  //краноярский прямоугольник
{$op=$mpokk2;}
else if  ($p==3)  //саяно-шушенский прямоугольник
{$op=$mpokm2;}
else
{return;}
for ($i3 = 0; $i3 <= count($mti3)-1; $i3++)                              // по всем постам
{$kob=explode("```",str_replace("\r\n","",$mti3[$i3]));                  // текущий пост   
$indx=$kob[$посты_поля100['индекс']];
if (array_key_exists ($indx, $op))                                       // есть индекс в маасс от карты
{
$ti2="pages/100/contents/02,11,17_002/".$mtiz3[$indx]."/1.txt";           // html постов сын
if  (file_exists($abs1.$ti2))                                             // если есть данные (есть папка)
{$mti2 = file($abs1.$ti2); 	                                              // таблицу в массив
$w = fopen($abs1.$ti2, 'w') or exit;   
for ($i2 = 0; $i2 <= count($mti2)-1; $i2++)                               // для каждой html
{$stol=explode("```",str_replace("\r\n","",$mti2[$i2]));                  // строка сына постов 100

if ($stol[$посты_сын_поля100["место"]]==$p)                                // если 
{$inp="";
$mmm=explode(";",$op[$indx][0]);
for ($i5 = 0; $i5 <= count($mmm)-1; $i5++)                               // для каждой html
{if ($mmm[$i5]!="")
{if ($i5==0)
{$inp=$inp."TOP:".$mmm[$i5].";";
}
if ($i5==1)
{$inp=$inp." LEFT:".$mmm[$i5].";";
}
if ($i5==2)
{$inp=$inp." WIDTH:".$mmm[$i5].";";
}}}
$stol[$посты_сын_поля100["input"]]=$inp;
$inp="";
$mmm=explode(";",$op[$indx][1]);

for ($i5 = 0; $i5 <= count($mmm)-1; $i5++)                               // для каждой html
{if ($mmm[$i5]!="")
{if ($i5==0)
{$inp=$inp."TOP:".$mmm[$i5].";";
}
if ($i5==1)
{$inp=$inp." LEFT:".$mmm[$i5].";";
}
if ($i5==2)
{$inp=$inp." WIDTH:".$mmm[$i5].";";
}}}
$stol[$посты_сын_поля100["a"]]=$inp;
$inp="";
$mmm=explode(";",$op[$indx][2]);
for ($i5 = 0; $i5 <= count($mmm)-1; $i5++)             // для каждой html
{if ($mmm[$i5]!="")
{if ($i5==0)
{if ($mmm[$i5]==0)
{$inp=$inp."TOP:".$mmm[$i5]."; display:none;";
}
else
{$inp=$inp."TOP:".$mmm[$i5].";";
}}
if ($i5==1)
{$inp=$inp." LEFT:".$mmm[$i5].";";
}
if ($i5==2)
{$inp=$inp." WIDTH:".$mmm[$i5].";";
}}}
$stol[$посты_сын_поля100["b"]]=$inp;
$wst= implode("```", $stol)."\r\n";
fwrite($w,$wst);                                     // пишем новый 
}
else                                                 // пишем старый
{fwrite($w,$mti2[$i2]);
}}
fclose($w); 
}}}}
//***************************************************************
$iob=1;               // индекс обозначения в строке заголовков 
$isz=3;               // индекс строки заголовков в файле свойств  
$os="";

$mpokm2=array();     // сшп
$mpokk2=array();     // кп
$mbce2=array();      // все
$mmr2=array();       // реки
//***********************************************************************************************************
if (isset ($_REQUEST['pokm2']))                   // координаты объектов постов саяно-шушенский прямоугольник 
{$pokm2=$_REQUEST['pokm2'];
$str=explode("#",str_replace("\r\n","",$pokm2));  // на посты
for ($i = 0; $i <= count($str)-2; $i++)  
{$str2=explode("/",$str[$i]);                     // пост на аттрибуты
$mpokm2[$str2[0]][0]=$str2[1];                    // input
$mpokm2[$str2[0]][1]=$str2[2];                    // a
$mpokm2[$str2[0]][2]=$str2[3];                    // b 
}}
else
{$pokm2="";}
//************************************************************************************************
if (isset ($_REQUEST['pokk2']))                   //координаты объектов   краноярский прямоугольник 
{$pokk2=$_REQUEST['pokk2'];
$str=explode("#",str_replace("\r\n","",$pokk2));  // на посты
for ($i = 0; $i <= count($str)-2; $i++)  
{$str2=explode("/",$str[$i]);                     // пост на аттрибуты
$mpokk2[$str2[0]][0]=$str2[1];                    // input
$mpokk2[$str2[0]][1]=$str2[2];                    // a
$mpokk2[$str2[0]][2]=$str2[3];                    // b 
}}
else
{$pokk2="";}
//**********************************************************************************
if (isset ($_REQUEST['bce2']))                    //координаты объектов   вся карта
{$bce2=$_REQUEST['bce2'];
$str=explode("#",str_replace("\r\n","",$bce2));   // на посты
for ($i = 0; $i <= count($str)-2; $i++)  
{$str2=explode("/",$str[$i]);                     // пост на аттрибуты
$mbce2[$str2[0]][0]=$str2[1];                     // input
$mbce2[$str2[0]][1]=$str2[2];                     // a
$mbce2[$str2[0]][2]=$str2[3];                     // b 
}}
else
{$bce2="";}
//**********************************************************************************
if (isset ($_REQUEST['mr2']))                     //  все реки
{$mr2=$_REQUEST['mr2'];
$str=explode("#",str_replace("\r\n","",$mr2));    // на посты
for ($i = 0; $i <= count($str)-2; $i++)  
{$str2=explode("/",$str[$i]);                     // реки на аттрибуты
$mmr2[$str2[0]][0]=$str2[1];                      // top
$mmr2[$str2[0]][1]=$str2[2];                      // left
}}
else
{$mr2="";}
//---------------------
// посты имена столбцов
//---------------------
$names="индекс,пост,объект,судоход,пойма,неблаго,опасно,замер";
$свойства = file($abs1."pages/100/contents/02,11,17_002/1s/0.txt");
$mms=explode("```",str_replace("\r\n","",$свойства[$isz]));
for ($i = 0; $i <= count($mms)-1; $i++)                                  
{$mms2=explode("/",$mms[$i]);
$посты_поля100[$mms2[$iob]]=$i;
}
$mnames=explode(",",$names);                 // проверка наличия необходимых обозначении и т д
for ($i = 0; $i <= count($mnames)-1; $i++)                                  
{if (!array_key_exists ($mnames[$i], $посты_поля100))  
{$os=$os. "В таблице 'Посты' в 100 нет обозначения ".$mnames[$i]."<br>";
}}

//-------------------------------------------------------------------------
// сформируем асс массив ключ=индекс поста, значение=имя папки с уровнями
//-------------------------------------------------------------------------
$ti3="pages/100/contents/02,11,17_002/1.txt";                     // посты
$mti3 = file($abs1.$ti3); 	                                      // таблицу в массив
for ($i3 = 0; $i3 <= count($mti3)-1; $i3++) 
{$tiz3=explode("```",str_replace("\r\n","",$mti3[$i3]));
$mtiz3[$tiz3[$посты_поля100['индекс']]]=$tiz3[0];
}
//--------------------------
// посты сын имена столбцов
//--------------------------
$names="граф,выход,нач,кон,max,min,место,input,a,b"; 
$свойства = file($abs1."pages/100/contents/02,11,17_002/2s/0.txt");
$mms=explode("```",str_replace("\r\n","",$свойства[$isz]));
for ($i = 0; $i <= count($mms)-1; $i++)                                  
{$mms2=explode("/",$mms[$i]);
$посты_сын_поля100[$mms2[$iob]]=$i;
}
$mnames=explode(",",$names);
for ($i = 0; $i <= count($mnames)-1; $i++)                                  
{if (!array_key_exists ($mnames[$i], $посты_сын_поля100))  
{$os=$os. "В таблице 'Посты' сын в 100 нет обозначения ".$mnames[$i]."<br>";
}}

//*****************************************
//   функционал
//*****************************************
$ti3="pages/100/contents/02,11,17_002/1.txt";                 // посты 100
$mti3 = file($abs1.$ti3); 	                                  // таблицу в массив
izkor(3);     // сохраним изменение координат объектов на саяно-шушкенский прямоугольник
izkor(2);     // сохраним изменение координат объектов на красноярский прямоугольник
izkor(1);     // сохраним изменение координат объектов на всей карте
//*******************************************
// запомним изменения координат рек
//*******************************************
// посты имена столбцов таблицы 100 объекты
$names="индекс,объект,top,left";
$свойства = file($abs1."pages/100/contents/02,10,17_001/1s/0.txt");
$mms=explode("```",str_replace("\r\n","",$свойства[$isz]));
for ($i = 0; $i <= count($mms)-1; $i++)                                  
{$mms2=explode("/",$mms[$i]);
$реки_поля100[$mms2[$iob]]=$i;
}
$mnames=explode(",",$names);                 // проверка наличия необходимых обозначении и т д
for ($i = 0; $i <= count($mnames)-1; $i++)                                  
{if (!array_key_exists ($mnames[$i], $реки_поля100))  
{$os=$os. "В таблице 'Объекты' в 100 нет обозначения ".$mnames[$i]."<br>";
}}
// сформируем асс массив ключ=индекс объекта, значение=имя папки с уровнями
$ti3="pages/100/contents/02,10,17_001/1.txt";                     // объекты
$mti3 = file($abs1.$ti3); 	                                      // таблицу в массив
$w = fopen($abs1.$ti3, 'w') or exit;   
for ($i3 = 0; $i3 <= count($mti3)-1; $i3++) 
{$tiz3=explode("```",str_replace("\r\n","",$mti3[$i3]));
$mtiz3[$tiz3[$реки_поля100['индекс']]]=$tiz3[0];
}
for ($i3 = 0; $i3 <= count($mti3)-1; $i3++)                              // по всем объектам
{$kob=explode("```",str_replace("\r\n","",$mti3[$i3]));                  // текущий объект  
$indx=$kob[$реки_поля100['индекс']];
if (array_key_exists ($indx, $mmr2))                                    // есть индекс в маасс от карты
{
$kob[$реки_поля100['top']]=$mmr2[$indx][0];
$kob[$реки_поля100['left']]=$mmr2[$indx][1];
}
$wst= implode("```", $kob)."\r\n";
fwrite($w,$wst);  
}
fclose($w); 

//*************************************************************************
// запомним изменения координат ГЭС
//*************************************************************************
//---------------------
// ГЭС имена столбцов
//---------------------
$names="индвб";
$свойства = file($abs1."pages/100/contents/12,07,18_003/1s/0.txt");
$mms=explode("```",str_replace("\r\n","",$свойства[$isz]));
for ($i = 0; $i <= count($mms)-1; $i++)                                  
{$mms2=explode("/",$mms[$i]);
$гэс_поля100[$mms2[$iob]]=$i;
}
$mnames=explode(",",$names);                 // проверка наличия необходимых обозначении и т д
for ($i = 0; $i <= count($mnames)-1; $i++)                                  
{if (!array_key_exists ($mnames[$i], $гэс_поля100))  
{$os=$os. "В таблице 'гэс' в 100 нет обозначения ".$mnames[$i]."<br>";
}}

//--------------------------
// ГЭС сын имена столбцов
//--------------------------
$names="место,input,a,b"; 
$свойства = file($abs1."pages/100/contents/12,07,18_003/2s/0.txt");
$mms=explode("```",str_replace("\r\n","",$свойства[$isz]));
for ($i = 0; $i <= count($mms)-1; $i++)                                  
{$mms2=explode("/",$mms[$i]);
$гэс_сын_поля100[$mms2[$iob]]=$i;
}
$mnames=explode(",",$names);
for ($i = 0; $i <= count($mnames)-1; $i++)                                  
{if (!array_key_exists ($mnames[$i], $гэс_сын_поля100))  
{$os=$os. "В таблице 'гэс' сын в 100 нет обозначения ".$mnames[$i]."<br>";
}}



//-------------------------------------------------------------------------
// сформируем асс массив ключ=индекс ГЭС, значение=имя папки с уровнями
//-------------------------------------------------------------------------
$ti3="pages/100/contents/12,07,18_003/1.txt";                     // ГЭС
$mti3 = file($abs1.$ti3); 	                                      // таблицу в массив
for ($i3 = 0; $i3 <= count($mti3)-1; $i3++) 
{$tiz3=explode("```",str_replace("\r\n","",$mti3[$i3]));
$mtiz3[$tiz3[$гэс_поля100['индвб']]]=$tiz3[0];
}
for ($i = 1; $i <= 3; $i++) 
{if ($i==1)        // все
{$op=$mbce2;}
else if  ($i==2)  //краноярский прямоугольник
{$op=$mpokk2;}
else if  ($i==3)  //саяно-шушенский прямоугольник
{$op=$mpokm2;}
else
{return;}
for ($i3 = 0; $i3 <= count($mti3)-1; $i3++)                              // по всем ГЭС
{$kob=explode("```",str_replace("\r\n","",$mti3[$i3]));                  // текущий ГЭС   
$indx=$kob[$гэс_поля100['индвб']];
if (array_key_exists ($indx, $op))                                       // есть индекс в маасс от карты
{$ti2="pages/100/contents/12,07,18_003/".$mtiz3[$indx]."/1.txt";           // html ГЭС сын
if  (file_exists($abs1.$ti2))                                             // если есть данные (есть папка)
{$mti2 = file($abs1.$ti2); 	                                              // таблицу в массив
$w = fopen($abs1.$ti2, 'w') or exit;   
for ($i2 = 0; $i2 <= count($mti2)-1; $i2++)                               // для каждой html
{$stol=explode("```",str_replace("\r\n","",$mti2[$i2]));                  // строка сына ГЭС 100
if ($stol[$гэс_сын_поля100["место"]]==$i)                                // если 
{$inp="";
$mmm=explode(";",$op[$indx][0]);
for ($i5 = 0; $i5 <= count($mmm)-1; $i5++)                               // для каждой html
{if ($mmm[$i5]!="")
{if ($i5==0)
{$inp=$inp."TOP:".$mmm[$i5].";";
}
if ($i5==1)
{$inp=$inp." LEFT:".$mmm[$i5].";";
}
if ($i5==2)
{$inp=$inp." WIDTH:".$mmm[$i5].";";
}}}
$stol[$гэс_сын_поля100["input"]]=$inp;
$inp="";
$mmm=explode(";",$op[$indx][1]);

for ($i5 = 0; $i5 <= count($mmm)-1; $i5++)                               // для каждой html
{if ($mmm[$i5]!="")
{if ($i5==0)
{$inp=$inp."TOP:".$mmm[$i5].";";
}
if ($i5==1)
{$inp=$inp." LEFT:".$mmm[$i5].";";
}
if ($i5==2)
{$inp=$inp." WIDTH:".$mmm[$i5].";";
}}}
$stol[$гэс_сын_поля100["a"]]=$inp;
$inp="";
$mmm=explode(";",$op[$indx][2]);
for ($i5 = 0; $i5 <= count($mmm)-1; $i5++)             // для каждой html
{if ($mmm[$i5]!="")
{if ($i5==0)
{
if ($mmm[$i5]==0)
{
$inp=$inp."TOP:".$mmm[$i5]."; display:none;";

}
else
{
$inp=$inp."TOP:".$mmm[$i5].";";
}
}
if ($i5==1)
{$inp=$inp." LEFT:".$mmm[$i5].";";
}
if ($i5==2)
{$inp=$inp." WIDTH:".$mmm[$i5].";";
}}}
$stol[$гэс_сын_поля100["b"]]=$inp;
$wst= implode("```", $stol)."\r\n";
fwrite($w,$wst);                                     // пишем новый 
}
else                                                 // пишем старый
{fwrite($w,$mti2[$i2]);
}}
fclose($w); 
}}}}
?>
<body>
<table border=0 height=100% width=100%>
<tr>
<td valign=center height=100% >
<h1 style="text-align:center">Корректировка координат объектов завершена !</h1>
<h2 style="text-align:center">Закрой это окно.<br> Обнови карту для активации изменений и открой ее для просмотра изменений. </h2>
</td>
</tr></table>
</body>
</HTML>


