<?php header('Content-Type: text/html; charset=windows-1251'); ?>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Список внутренних страниц</title>
<style>
td {color:#316290;font-family:tahoma;font-size:12px;font-weight:normal;}
th {color:#316290;font-family:tahoma;font-size:12px;font-weight:bold;}
b {color:#316290;font-family:tahoma;font-size:12px;font-weight:bold;}
a {color:#254A6C;font-family:tahoma;font-size:12px;font-weight:normal;}
.redlink {color:#B92327;font-family:tahoma;font-size:11px;font-weight:normal;}
.bluelink {color:#254A6C;font-family:tahoma;font-size:11px;font-weight:normal;}
a:hover {color:white;font-family:tahoma;font-size:12px;font-weight:normal;background:black}
</style>
</head>
<body  onclick=va(event)  background="../d~e~f/bkg4.gif" leftMargin=0 id=bod topMargin=0 
style="overflow:hidden;visibility:hidden;" width=100% height=100% >
<table id=h style="z-index:2;opacity:0.3;visibility:hidden;height:110%;width:110%;position:absolute;top:0;left:0;background:black;filter:alpha(opacity=30)"><tr><td>&nbsp;&nbsp;&nbsp;</td><tr></table> 
<b style="display:none" id=eg_td1 title=""></b>
<?php
//--------------
include "../f.php";   //  вставим функции перекодировки  имен файлов и удаления папки
//--------------
if (isset ($_REQUEST['nam']))       // имя субъекта
{$nam=trim($_REQUEST['nam']);}
else
{$nam=trim($_GET['nam']);}
if (isset ($_REQUEST['pag']))       // порядковый номер субъекта
{$pag=trim($_REQUEST['pag']);}
else
{$pag=trim($_GET['pag']);}

if (isset ($_REQUEST['utf8']))      // признак ссылки
{$utf8=trim($_REQUEST['utf8']);}
else
{$utf8=trim($_GET['utf8']);}

if (isset ($_REQUEST['pas']))       // пароль администратора
{$pa=trim($_REQUEST['pas']);}
else
{$pa=trim($_GET['pas']);}


if (isset ($_REQUEST['gpas']))      // пароль субъекта
{$gpas=trim($_REQUEST['gpas']);}
else
{$gpas=trim($_GET['gpas']);}

if (isset ($_REQUEST['spv']))      // список через ; страниц на архивацию ЗАМЕНА
{$spv=trim($_REQUEST['spv']);}
else
{$spv=trim($_GET['spv']);}

if (isset ($_REQUEST['cop']))      // копирование
{$cop=trim($_REQUEST['cop']);}
else
{$cop="";}

if ($cop!="")                                  // если задано копирование 
{list($s1, $s2) = explode("///",$cop);	       // откуда и куда
list($s3, $s4) = explode("&&",$s1);	           // откуда имя и папка   
list($s5, $s6) = explode("&&",$s2);	           // куда имя и папка   
$from3=str_replace("otd","pages/",getcwd()).$s4."/contents/";
$to3=str_replace("otd","pages/",getcwd()).$s6."/contents/";

//echo $from3."/".$from3."/".$from3.".htm"."<hr>";
//echo $from3."/".$from3.".php";

if (file_exists($to3))
{$s =scandir($to3);
if  (false)     //(count($s)>2)
{$soob=$s5." НЕПУСТО ! Копирование невозможно !";	
}
else
{dircpy('',$from3,$to3,false);
$from331=str_replace("otd","pages/",getcwd()).$s4."/".$s4."/".$s4.".htm";
//echo $from331;
$from331c=file_get_contents($from331);  
$from331c=str_replace($s4,$s6,$from331c);
$to331=str_replace("otd","pages/",getcwd()).$s6."/".$s6."/".$s6.".htm";
//echo  htmlspecialchars($from331c, ENT_QUOTES); 
$hw = fopen($to331, 'w') or exit; 
fwrite($hw,$from331c);
fclose($hw);

$from332=str_replace("otd","pages/",getcwd()).$s4."/".$s4.".php";
$to332=str_replace("otd","pages/",getcwd()).$s6."/".$s6.".php";
$from332c=file_get_contents($from332);  
$from332c=str_replace($s4,$s6,$from332c);
$hw = fopen($to332, 'w') or exit; 
fwrite($hw,$from332c);
fclose($hw);
$soob="Скопировано: ".$s3."->".$s5;	
}
}	
}
if (isset ($_REQUEST['add']))      // список через ; страниц на архивацию ДОБАВЛЕНИЕ
{$add=trim($_REQUEST['add']);}
else
{$add=trim($_GET['add']);}
$kat=getcwd ( );		 		// рабочий каталог 
//*************************************************************************************************
if (isset ($_REQUEST['pr']) and $cop=="")  // если нажал принять изменение пароля с доступных страниц
//*************************************************************************************************
{$l = file($kat."/page.txt");
// Просмотрим все переданные данные из формы и выберем только имена  файлов по контексту _HTM
$t=";";
foreach ($_REQUEST as $i => $z)
 { $poz=strpos($i,";");
 if ($poz>0)                                    // если файл 
  {$t=$t.$i;}
  }
if ($t==";")                                    // нет списка файлов доступа для администратора это будет первая
{}
$filename = $kat.'/otd.txt';	              	// файл субъектов
$filenamew = $kat.'/otdw.txt';	            	//
$ll = file($filename);	                        // прочитали  файл субъектов
$h=array();                                     // массив субъектов и их свойств
$i=0;
foreach ($ll as $li => $linn)
{if (strlen($linn)>2) {$h[$i++]=c($linn,0);}}
$hw = fopen($filenamew, 'w') or exit;             // файл для записи
foreach ($h as $li => $lin)
{if (substr_count($lin,$nam)>0)
 {$stt=explode("/", $lin);                        // получим столбцы
  if (isset ($_REQUEST['pasn'])) 
  {$pasn=$_REQUEST['pasn'];
  if ($pasn=="") {$pasn=$stt[2];} 
  } 
  else
  {$pasn="qwerty";}
  $w=$stt[0].'/'.$stt[1].'/'.$pasn.'/'.$t;
  fwrite($hw,trim(c($w,1))."\r\n");
 }
 else
 {fwrite($hw,trim(c($lin,1))."\r\n");
 }
}
fclose($hw);
if (!copy($filenamew, $filename)) {echo "не удалось скопировать $file...\n";}
if  ($gpas==$pa)                             // если администратор зададим стартовую страницу (пароль субъекта равен паролю админа)
{$ll= file($kat."/otd.txt");                  // субъекты
foreach ($ll as $li => $linn)
{if ($li==1)                                  // если строка администратора  выберем последнюю страницу  и сделаем ее стартовой
{$str=explode(";",$linn);                     // объект
$str1=c($str[1],0);
//echo $str1;
$hw = fopen("../start_page.txt", 'w') or exit;    //файл  стартовой страницы для расширения HTM
fwrite($hw,$str1.".php");
fclose($hw);
}
}
}
$soob="Пароль и доступ приняты ! ".$cop;
}
//*********************************************************************************************
$ll= file($kat."/otd.txt");            //  таблицу выводим
//**********************************************************************************************
$stro=array();  
$i=0;
foreach ($ll as $li => $linn)
{if (strlen($linn)>2) {$stro[$i++]=c($linn,0);}}
$str=explode("/",$stro[$pag]);        // объект
$spi=$str[3];                         // доступ
$l = file($kat."/page.txt");
echo '<b style=color:red>САЙТ:&nbsp;&nbsp;&nbsp;</b><b id=sname2>';
include "../plan/name.txt";
echo '</b>';
echo '<table border="0" width=100% HEIGHT=100%><tbody><TR><td valign=top width=75%>'."\n";
echo '<table border="0" HEIGHT=100% width=100%><tbody>
<tr><td colspan=4 align=center valign=top>
<b><big>ОБЪЕКТЫ</big> 
&nbsp;по возрастанию</b>&nbsp;<img id=ksort onclick=izs(this) src="../d~e~f/yes.gif" 
title="СОРТИРОВАТЬ: ПО ВОЗРАСТАНИЮ: Отметь меня, щелкни заголовок в шапке;
ПО УБЫВАНИЮ: Сбрось меня, щелкни заголовок в шапке;
ДЛЯ ОТМЕНЫ: щелкни повторно">
&nbsp;&nbsp;&nbsp;<button title="В начало" onclick=tnd(event,0) style="background:white">&nbsp;&#8593;&nbsp;</button>&nbsp;&nbsp;
<button style="background:white" onclick=tnd(event,9999999) title="В конец">&nbsp;&#8595;&nbsp;</button>
&nbsp;&nbsp;&nbsp;<button  title="В отдельное окно для печати" onclick=ptab()>&nbsp;P&nbsp;</button>&nbsp;&nbsp;&nbsp;';
 echo '&nbsp;&nbsp;Копировать&nbsp;<TEXTAREA onclick=to_me() readonly name="" rows=1 style="overflow:hidden;color:red;width:40" id=from></textarea>&nbsp;&nbsp;<button onclick=copy_to()  style=width:30 title="Копировать содержимое страницы в пустую страницу
 Введи откуда (поле слева) и куда (поле справа) и щелкни меня">-></button>&nbsp;&nbsp;';
 echo '<TEXTAREA onclick=to_me() readonly name="" rows=1 style="overflow:hidden;color:red;width:40" id=to></textarea>';


echo '<br>
<b>фильтр в <b id=zs>?</b> и по </b>
<input type="text" id=goto size="30" title="Один, или несколько контекстов, с разделителем 
символом /, для фильтрации по выделенному столбцу. Столбец выделяется щелчком мимо текста.">
<button form="" onclick=got(0) 
title="Показать только те строки, которые содержат контекст в любой части текста, щелкнутого по номеру столбца.">
select</button>
<button form="" onclick=got(2) 
title="Отменить выбор">cancel</button><br><button title="Для задания страницы
 выбра таблицы данных 
 выдели страницу и щелкни меня" onclick=for_da()>&nbsp;->&nbsp;</button>&nbsp;&nbsp;&nbsp;Для выбора таблицы данных:&nbsp;&nbsp;<b style=color:green id=for_data title="100">100</b>';
 
 
echo '<center><b id=soob style=color:brown>';
echo "&nbsp;".$soob;
echo'</center>
</td></tr>
<TR><td valign=top>';
$stt=explode("/", $l[0]);                  //  Ввыведем шапку
echo '<table id=zag border="1" width=100% onclick=clz(this,event) style="background:#eee8aa">
<THEAD><TR id=sort>'."\n";
echo '<TH width=1% title="Для просмотра страницы в соответствующей строке щелкни меня" lang=0>&nbsp;&nbsp;N&nbsp;&nbsp;&nbsp;&nbsp;
</TH>'."\n"; 
foreach ($stt as $lli => $llin)
{if ($lli==0)                              //  столбец наименование из файлf page.txt
{ echo '<TH width=48% title="Для создания самостоятельной страницы или загрузки на страницу документов 
выбери строку и щелкни ее" lang=1>'.$llin.'&nbsp;(загрузка докуменов)</</TH>'."\n";
}
else                                       // столбец файл  из файлf page.txt
{echo '<TH width=48% title="Для редактирования внутренней страниwы, созданной администратором, 
щелкни нужную строку" lang=2>'.$llin.'&nbsp;(редактирование страницы)</TH>'."\n";
}}                                          // далее столбец выбора  сформируем
echo '<TH width=1% title="Для установления стартовой страницы или 
предоставления доступа к редактированию страниц установи или сборось меня" lang=3>Доступ</TH>'."\n"; 
echo "</TR><TR id=sel title='Для фильтрации щелкни меня'><TH>1</TH><TH>2</TH><TH>3</TH><TH>4</TH></TR>
</THEAD></TBODY></table>\n";    // канец шапкм
// контейнер таблицы
echo '<DIV id=k onclick=v(event) style="OVERFLOW: scroll; HEIGHT: 90%;" align=left>'."\n";
if ($utf8!="")
{echo '
<form id=f method="POST" enctype="multipart/form-data" action="otd1.php?pag='.$pag.'">';
$da=false;
if  ($gpas==$pa)
{$da=true;}
// Осуществим проход массива (page.txt) и выведем номера строк и их содержимое
foreach ($l as $li => $lin)
{ if ($li==0)                                  // первая строка из файла это заголовки столбцов пропустим их
 {echo '<table border="1px" id=tab2 width=100%>'."\n";
  echo "<TBODY>\n";
  }
 else                                          // сами строки таблицы
 {if($da)                                      // если администратор  
   {echo '<tr>'."\n";
     $stt=explode("/", $lin);                  // строку на столбцы  в первом столбце ссылка на страницу
     $ops=str_repeat("", 4-strlen($li)).$li;
      echo '<td width=2% >&nbsp;<a  target=_blank href="../pages/'.str_replace(".htm",".php",trim($stt[1])).$td.'">'.$ops.'</a>&nbsp;&nbsp;</td>'."\n";    
     foreach ($stt as $lli => $llin)            // саму строку разобъем на столбцы
      {$ss=trim($stt[1]);
       $cont=str_replace(".htm","",trim($stt[1]));	
	   if ($lli==0)                            // 2 столбец установим ссылку фому создание внешних страниц
       {echo '<td width=48%><a onclick=a2_click() target=_blank href="../reddoc.php?&utf8='.$utf8.'&im='.$cont.'&tip=new'.'&fol='.$cont.'">'.str_replace("_"," ",trim($llin))."</a></td>\n";
       } 
       else                                     // 3 столбец ссылка на конструктор 
       {$ss=trim($llin); 
	   echo '<td width=48%><a target=_blank href="../zsite.php?site='.trim($llin).'&utf8='.$utf8.'&nam='.tr(trim($stt[0])).'&fol='.$cont.'">'.str_replace("_"," ",trim($llin))."</a></td>\n";
	   }
      }
	  $name=trim($stt[1]);                      // 3 столбец доступ  
	  $poz=strpos($name,'.htm');
	  if ($poz>0) {$name=substr($name,0,$poz).";";}
      if (substr_count($spi, ";".$name)>0)       // если есть доступ к странице
     {echo '<td width=2% bgcolor="green" align="center" width=10><input type="checkbox"   name="'.$name.'" checked></td>'."\n"; } 
     else                                       // доступа к странице нет
    {echo '<td  width=2% align="center"><input width=10  type="checkbox" name="'.$name.'" value="OFF"></td>'."\n";  } 
     $ky= "fu('".str_replace(" ","_", trim($stt[0]))."/".trim($stt[1])."')";
   } 
//****************************************************************************************** 
 else                                         // не администратор выводим стоки которые в списке
 {$stt=explode("/", $lin);                    // получим их
 $ops= str_repeat("&nbsp;", 5-strlen($li)).$li;
	  $name=trim($stt[1]);
	  $poz=strpos($name,'.htm');
	  if ($poz>0) {$name=substr($name,0,$poz).";";}
  if (substr_count($spi, ";".$name)>0)        // если есть доступ к странице
    {
	echo '<tr>'."\n";
     echo '<td width=40px><a  target=_blank href="../pages/'.str_replace(".htm",".php",trim($stt[1])).$td.'">'.$ops.'</a></td>'."\n";    
     foreach ($stt as $lli => $llin)          // саму строку
      {$ss=trim($stt[1]);
       $cont=str_replace(".htm","",trim($stt[1]));	
	   if ($lli==0)                          // для первого столбца установим ссылку
       {  echo '<td width=50%><a target=_blank href="../reddoc.php?&utf8='.$utf8.'&im='.$cont.'&tip=new'.'&fol='.$cont.'">'.trim($llin)."</a></td>\n";
  } 
       else 
       {$ss=trim($llin); 
	   echo '<td width=50%><a target=_blank href="../zsite.php?site='.trim($llin).'&utf8='.$utf8.'&nam='.tr(trim($stt[0])).'&fol='.$cont.'">'.str_replace("_"," ",trim($llin))."</a></td>\n";
	   }
      }
	  $name=trim($stt[1]);
	  $poz=strpos($name,'.htm');
	  if ($poz>0) {$name=substr($name,0,$poz).";";}
    if (substr_count($spi, ";".$name)>0)         // если есть доступ к странице
  {echo '<td  width=20px bgcolor="green" align="center"><input type="checkbox" disabled  name="'.$name.'" checked></td>'."\n"; } 
  else                                           // доступа к странице нет
  { echo '<td width=20px align="center"><input  type="checkbox" name="'.$name.'" value="OFF"></td>'."\n";  } 
   $ky= "fu('".str_replace(" ","_", trim($stt[0]))."/".trim($stt[1])."')";
    }
}}}
}
else
{echo '<font color=red size="4">Неверный запуск ! Доступа возможен только через главную форму администратора !</font>';}
echo '
</tbody></table></div>';
?>
</td>
</tr>
</tbody></table>
</td><td  width=400px>
<nobr>
<b>САЙТ:</b>&nbsp;&nbsp;&nbsp;<button form="" style="background:white" onclick=pokaz() title="Открыть сайт для выбора страницы для редактирования открытием этой страницы.
Щелкни меня, на сайте перейди на страницу, которую надо редактировать, щелкни «Список венутренних страниц» щелкни «Edit»">Open</button>&nbsp;&nbsp;
<button form="" id=sE style="background:white;display:none" onclick=pokaz2(0) title="Открыть форму КОНСТРУКТОР ВНУТРЕННЕЙ СТРАНИЦЫ для страницы на сайте"  >Edit</button>&nbsp;&nbsp;
<button form="" id=sL style="background:white;display:none" onclick=pokaz2(2) title="Открыть форму ДОКУМЕНТЫ СТРАНИЦЫ для страницы на сайте"  >Load</button>
</nobr>

<input id=pr style="display:none" title="Принять введеные и/или измененные данные" name=pr type="submit" value="Принять" >

<?php
if ($utf8!="")
{
echo '<hr><center><b style=color:brown>Права субъекта "'. $nam. '"</b></center>'."\n";
if  ($gpas==$pa)
{
echo '<li>Для изменения пароля и/или доступа введи новый пароль, и/или щелчком в строке установи или сбрось доступ,  щелкни "Принять"';
echo '<li>Для определения страницы, как стартовой, в режиме администратора установи доступ в нужной строке, и  щелкни "Принять"';
echo '<br><br><nobr>Пароль&nbsp&nbsp<input id=pasn type="text" name="pasn" value="" size=8>';
echo '&nbsp;<input style="background:white" title="Сбросить введенные данные" type="reset" value="Сброс" name="B2">'."\n";
?>
<button onclick=pr2(event)  form=""  
title="Принять введеные и/или измененные данные">&nbsp;Принять&nbsp;&nbsp;</button>
<?php
echo '&nbsp;<input type="hidden" value="'.$nam.'" name="nam"></nobr>'."\n";
if ($pag==1 and file_exists(getcwd ( )."/2.txt")) 
{

echo '<hr>Архивация:&nbsp;<button style="background:green;color:white" onclick=save(event,0) style="background:white" title="Создать архив выбранных страниц. Пометь в столбце Доступ тех, которые в архив и щелкни меня !">Save</button>';
echo '&nbsp;&nbsp;&nbsp;<button style="background:green;color:white" onclick=save(event,2) style="background:white" title="Добавить или заместить в архив выбранных страниц отмеченные страницы. Пометь в столбце Доступ тех, которые в архив и щелкни меня !">Add</button>';
echo '<a style=visibility:hidden id=save2 target=_blank href=saveall.php?add=0&spv=1;2;3>Save</a>';
//echo '<a id=add2 target=_blank href=saveall.php?add=2&spv=1;2;3>Add</a>';
}}}
?>
<input type="hidden" id=nam value="<?php echo $nam;?>" name="nam">
<input type="hidden"  value="<?php echo $pag;?>" name="pag">
<input type="hidden"  value="<?php echo $pa;?>" name="pas">
<input type="hidden"  value="<?php echo $gpas;?>" name="gpas">
<input type="hidden"  value="<?php echo $utf8;?>" name="utf8">
<input type="hidden" id=cop  value="" name="cop">
</form>
<form id=f2 method="POST" enctype="multipart/form-data" target=_blank action="saveall.php">
<input id=pr3 type="submit" name=pr3 style=display:none>
<input type="hidden"  value="" id=spv name="spv">
<input type="hidden"  value="" id=add name="add">
</form>
<b>
<br><ol><b>Примечания:</b><br><br>
<DIV style="OVERFLOW: scroll;height:250;width:340">
<li><a  href="../help/4.htm#47" target=_blank>&nbsp;Справка&nbsp;</a>
<li>Для просмотра страницы выбери в столбце «N» нужную страницу и щелкни ссылку.<br>
<li>Для загрузки на страницу файлов или создания на странице самостоятельных страниц  выбери в столбце «Наименование страницы» нужную страницу и щелкни ссылку.<br>
<li>Для изменения с помощью конструктора внутренних страниц щелкни в столбце «Файл страницы».<br>
<li>Для создания внутренних страниц в режиме администратора щелкни «структура»<br>
<li>После изменения структуры для обновления щелкни F5
<li>Рекомендуем  перед обновление структуры закрыть все окна кроме окна с паролем
<li>Если таблица страниц пуста - нет доступа к страницам. Обратитесь к администратору для получения доступа.
<li>Для создания выборочного архива закрой доступ к сайту, пометь в столбце
 «Доступ» нужные страницы отмени стартовую и щелкни «Save».
<li><b style=color:red>Не выполняется контроль на ввод уже существующего пароля. Для контроля в режиме администратора щелкни «Субъекты» и стандартнми средствами найди повторения  пароля и измени один из повторяющихся паролей</b>
</ol>
</div>
</td></tr>
</b>


<SCRIPT type="text/javascript">
//*********************************************************
window.onload=function () // уточним размеры
//********************************************************
{
obj= document.getElementById("k")
obj.style.height=document.getElementById("h").offsetHeight-220
obj.scrollLeft=0
document.getElementById("bod").style.visibility="visible"
}

//************************************************************
function pr2(event)     // кнопка принять
//***********************************************************
{ev = event || window.event
ev.cancelBubble = true
ev.returnValue = false
try 
{ev.preventDefault()} 
catch (err) {}

kol=0
kold=0
mas=document.getElementById("k").getElementsByTagName("INPUT")
for(var j = 0; j <mas.length ; j++)
{if (mas[j].checked)
{kold++
 break	
}	
  kol++
}
if (kold==0 )
{ alert("Нет стартовой страницы или страниц доступа !")
return
}
if (document.getElementById("pasn").value=="" )
{ alert("Не введен пароль ! Будет сохранен старый пароль")
}
document.getElementById("pr").click()
}
obj2=""   // выделенный столбец
//************************************************************
function v(event)  // выделение столбца
//***********************************************************
{event = event || window.event
var t = event.target || event.srcElement
if (t.outerHTML.indexOf('checkbox')>0)
{return}	
if (t.tagName!="TD" )                                   // только если щелкнул не ячейку
{t=t.parentNode} 
if (t.tagName=="TD" )                                   // только если щелкнул ячейку
{if (obj2!="")
{obj2.style.background=""
}
t.style.background="yellow"                  // отменим выделение если оно было
obj2=t
}


}//*******************************************************
function tnd(event,p)  // переход в начало или конец
//******************************************************
{ev = event || window.event
ev.cancelBubble = true
ev.returnValue = false
try 
{ev.preventDefault()} 
catch (err) {}
document.getElementById('k').scrollTop=p
}
//*******************************************************
function izs(p)  //  признак сортировка по столбцам
//******************************************************
{if (p.src.indexOf('no.gif')>0) 
{p.src='../d~e~f/yes.gif'}
else
{p.src='../d~e~f/no.gif' }}
objsort=""
objselect=""
isort="нет"
//********************************************************************************************************
function clz(p,event)  //  выделение столбца и запуск  сортировки по клкнутому наименованию столбца
//********************************************************************************************************
{ev = event || window.event
var t = ev.target || ev.srcElement
if (t.tagName!="TH") return
if (t.parentNode.id=="sort")                       // строка шапки текстовая
{if (objsort!="")                                  // отмена предидущего выделеничя
{if (t.style.background.indexOf("yellow")>=0)      // сортировка была - отменим ее
{sort2(3)
return
}
objsort.style.background=""
objsort.style.color=""
}
isort=t.lang
t.style.background="yellow"
t.style.color="brown"
objsort=t
if (document.getElementById("ksort").src.indexOf('no.gif')>0)
{sort2(2)}
else
{sort2(1)}
objsort=t
}
else if (t.parentNode.id=="sel")            // строка  шапки нумерованная - выбор  столбца для фильтра
{
if  (t.innerHTML==4) return                // по доступу нет  фильтра 
if (objselect!="")                         // отмена предидущего выделеничя
{objselect.style.background=""
objselect.style.color=""}
t.style.background="yellow"
t.style.color="brown"
document.getElementById("zs").innerHTML=t.innerHTML
objselect=t
document.getElementById("soob").innerHTML="Столбец "+t.innerHTML+" для фильтра выбран"
}
else
{return}
}
//********************************************************
function sort2(p)  // сортировка в таблице 
//********************************************************
{if (p==1 || p==2 || p==3)
{if (obj2!="")                // если есть выделение ячейки отменим ее
{obj2.style.background=""
}
// сформируем массив сортировки
var mss = new Array();                // создали массив массивов (строки)
is=parseInt(isort,10)                 // столбец по которому сортируем  mas.length
mas=document.getElementById("tab2").getElementsByTagName("TR")

if (p==3)
{p=1
is=0
objsort.style.background=""
objsort.style.color=""
document.getElementById("soob").innerHTML="Сортировка отменена"
}
else if (p==1)
{
document.getElementById("soob").innerHTML="Сортировка по  возрастанию, столбец "+(is+1)+" !"
}
else if (p==2)
{
document.getElementById("soob").innerHTML="Сортировка по убыванию, столбец "+(is+1)+" !"
}


if (is==3)   // если доступ 
{for(var j = 0; j <mas.length ; j++)
{mas2=mas[j].getElementsByTagName("INPUT")
if (mas2[0].checked)
{mss[j]="0#"+(j)}
else
{mss[j]="1#"+(j)}
}}
else         // остальные столбцы это ссылки  
{for(var j = 0; j <mas.length ; j++)
{mas2=mas[j].getElementsByTagName("A")
oper= mas2[is].innerHTML
oper2=oper.length
if (oper2==10)
{}
else if (oper2>10)
{oper=oper.substr(0,10)}
else if (oper2<10)
{if (is!=0)
{for(var jj = 1; jj <10-oper2 ; jj++)
{oper=oper+"0"}
}
else
{for(var jj = 1; jj <10-oper2 ; jj++)
{oper="0"+oper}
}}
mss[j]=oper+"#"+(j)
}}


mss=mss.sort()
mtr="<table border=1 id=tab2 width=100%>"
if (p==1)
{
for(var j = 0; j < mas.length; j++)
{sss=mss[j].split("#")
iii=parseInt(sss[1])
mtr=mtr+mas[iii].outerHTML
}}
else
{for(var j = mas.length-1; j>=0; j--)
{sss=mss[j].split("#")
iii=parseInt(sss[1])
mtr=mtr+mas[iii].outerHTML
}}
document.getElementById("tab2").outerHTML=mtr+"</table>"
}
}
objwin=""
//***********************************************************
function pokaz()   // откроем сайт для редактирования
//***********************************************************
{mas=document.getElementById("tab2").getElementsByTagName("A")
if  (mas.length==0) return
mas2=mas[0].href.split("pages")
sss="../pages"+mas2[1]
if  (objwin=="")
{objwin=window.open(sss,"objwin")
document.getElementById("sE").style.display=""
document.getElementById("sL").style.display=""
return
}
if (objwin.closed )
{objwin=window.open(sss,"objwin")
return
}
alert("Сайт уже открыт ! Щелкни его !")
return
if (document.getElementById("ifr").style.visibility=="visible")
{mloc5=" "+document.getElementById("ifr").contentWindow.document.location
mloc2=mloc5.split("/pages/")
mmloc=mloc2[1].split(".php")
imaf=mmloc[0]+".htm"
imaf=imaf.replace(/%5E/,'^')
mas=document.getElementById("tab2").getElementsByTagName("TR")
kkk=-1                                   // номер строки mas.length
for(var j = 0; j <mas.length ; j++)
{mas2=mas[j].getElementsByTagName("A")
imaf2=mas2[2].innerHTML
imaf2=imaf2.replace(/ /g,"_")
if (imaf2==imaf)
{kkk=j
break
}}
if (kkk>=0)
{alert("Найден "+kkk)
}
else
{alert("Вам запрещено редактировать эту страницу !")
}}
else
{document.getElementById("ifr").style.visibility="visible"
}}
//***************************************************************
function pokaz2(p)                 // редактируем сайт
//***************************************************************
{if (objwin.closed )
{alert("Сайт был закрыт ! Открой его щелском Open")
return
}
mloc5=" "+objwin.location
mloc2=mloc5.split("/pages/")
mmloc=mloc2[1].split(".php")
imaf=mmloc[0]+".htm"
imaf=imaf.replace(/%5E/,'^')
mas=document.getElementById("tab2").getElementsByTagName("TR")
kkk=-1   // номер строки mas.length
for(var j = 0; j <mas.length ; j++)
{mas2=mas[j].getElementsByTagName("A")
imaf2=mas2[2].innerHTML
imaf2=imaf2.replace(/ /g,"_")
if (imaf2==imaf)
{kkk=j;break}
}
if (kkk>=0)
{}
else
{alert("Вам запрещено редактировать эту страницу !")
return
}
document.getElementById("k").scrollTop=mas2[2].parentNode.offsetTop
if (p==0)    // редактируем
{mas2[2].click()
}
if (p==2)    // грузим
{mas2[1].click()}
}
//*******************************************************************
function save(event,p) // создание архива отмеченных страниц
//*******************************************************************
{ev = event || window.event
ev.cancelBubble = true
ev.returnValue = false
try 
{ev.preventDefault()} 
catch (err) {}
spv=""
mas=document.getElementById("tab2").getElementsByTagName("TR")
for(var j = 0; j <mas.length ; j++)
{mas2=mas[j].getElementsByTagName("INPUT")
if (mas2[0].checked)
{spv=spv+mas2[0].name
}}
document.getElementById("save2").href="saveall.php?add="+p+"&spv="+spv
document.getElementById("save2").click()
}
fi2=false     // фильтр не установлен
//****************************************************************************************
function got(p)   //  фильтрация  строк  в выделенном столбце  по введенныму контексту
//****************************************************************************************
{if (p==2 &&  !fi2)
{return	}	
mtr2=document.getElementById("k").getElementsByTagName("TR")  // строки в массив
if (p==2)
{for(var j = 0; j <= mtr2.length-1; j++)                        // в массиве найдем  макс суффикс c 0 в начале
{mmtr2=mtr2[j].getElementsByTagName("TD")
mtr2[j].style.display=""
document.getElementById("soob").innerHTML="Фильтр отменен"
}
fi2=false	
return
}
if (document.getElementById("goto").value=="" && p==0)
{alert("Введи контекст фильтра !")	
return}
if (document.getElementById("zs").innerHTML=="?")
{alert("Нет выделения столбца ! Щелкни нужный столбец в таблице!")
return}
kont=document.getElementById("goto").value
mkont=kont.split("/")
for(var jj = 0; jj <= mkont.length-1; jj++)
{if (mkont[jj]=="")
{alert("Пустой контекст в списке фильтра !")
return
}}
                         
// определим индекс выделенного столбца
fi=parseInt(document.getElementById("zs").innerHTML,10)-1
// отменим предидущее выделение
if (obj2!="")
{obj2.style.background=""
obj2=""
}

for(var j = 0; j <= mtr2.length-1; j++)
{mmtr2=mtr2[j].getElementsByTagName("A")
text2=mmtr2[fi].innerHTML	
fi2=true
for(var jj = 0; jj <= mkont.length-1; jj++)
{
if (fi!=0)
{
if (text2.indexOf(mkont[jj])>=0)
{mtr2[j].style.display="";break}
else
{mtr2[j].style.display="none"
}
}
else
{
if (text2.replace(/&nbsp;/g,"")==mkont[jj])
{mtr2[j].style.display="";break}
else
{mtr2[j].style.display="none"
}


}



}}
document.getElementById("soob").innerHTML="Фильтрация !"
}

//********************************************************************
function ptab() // таблицу в отдельное окно для печати
//********************************************************************
{
newstr2="<b>Сайт: </b>"+document.getElementById("sname2").innerHTML
newstr2=newstr2+"<h2 style='text-align:center'>"+document.getElementById("nam").value+"<br>Список внутренних страниц сайта</h2>"
is=""
if (isort!="нет")
{if (document.getElementById("ksort").src.indexOf("yes.gif")>0)
{is="  сортировка по столбцу N "+(parseInt(isort,10)+1)+ " по  возрастанию "
}
else
{is=" сортировка по столбцу N "+(parseInt(isort,10)+1)+" по  убыванию"
}}
if (fi2)
{newstr2=newstr2+ "Фильтрация по '"+
document.getElementById("goto").value+"' в "+document.getElementById("zs").innerHTML+ is 
}
else
{newstr2=newstr2+is
}
newstr2=newstr2+ '<table border="1" width=100% ><THEAD><TR>'+"\n";
newstr2=newstr2+ '<TH><b title=0>&nbsp;&nbsp;N&nbsp;&nbsp;&nbsp;&nbsp;</b></TH>'+"\n"; 
newstr2=newstr2+'<TH><b title=1>Наименование страницы </b></TH>'+"\n";
newstr2=newstr2+'<TH>Файл страницы</TH>'+"\n";
newstr2=newstr2+'<TH>Доступ</TH><TR><TR><TH>1</TH><TH>2</TH><TH>3</TH><TH>4</TH></TR></thead>'+"\n"; 
//newstr=""
mstr=document.getElementById("k").getElementsByTagName("TR")
for(var j = 0; j <mstr.length; j++)  
{if (mstr[j].style.display!="none")
{
mstrtd=mstr[j].getElementsByTagName("TD")
mstrtd2=mstr[j].getElementsByTagName("A")
newstr="<tr><td>"+mstrtd2[0].innerHTML+"</td>"
newstr=newstr+"<td>"+mstrtd2[1].innerHTML+"</td>"
newstr=newstr+"<td>"+mstrtd2[2].innerHTML+"</td>"
newstr=newstr+"<td>"+mstrtd[3].innerHTML+"</td></tr>"
newstr2=newstr2+newstr
}}
newstr2=newstr2+"</table>"
dop=window.open("","","");
tnap="<HTML><HEAD><META http-equiv=Content-Type content='text/html; charset=windows-1251'><title>Печать</title></head>"
tnap=tnap+newstr2+"</html>"
dop.document.write(tnap)
}

//***********************************************************************
function va(event)   // отметим ячейку если щелчок по  <a
//**********************************************************************
{
return
ev = event || window.event
var t = ev.target || ev.srcElement
if (t.tagName!="A" || t.href.indexOf("help")>=0) return
if (obj2!="")
{obj2.style.background=""
}
t.parentNode.style.background="yellow"                  // отменим выделение если оно было
obj2=t.parentNode
}
//*******************************************************************************************************************
function a2_click()  //             переход на форму объекты страницы с добавлением ссылки на выбор таблицы значений
//*******************************************************************************************************************
{

ev = event || window.event                       
var t = ev.target || ev.srcElement	
ev.cancelBubble = true                                     //  запретим переход по а 
ev.returnValue = false

if (obj2!="")
{obj2.style.background=""
}
t.parentNode.style.background="yellow"                  // отменим выделение если оно было
obj2=t.parentNode



document.getElementById("to_docum").href=t.href+"&for="+document.getElementById("for_data").title
document.getElementById("to_docum").click()
}
//***********************************************************
function for_da()   //  
//***********************************************************
{
if (obj2=="")
{return	
}
if (obj2.style.background.indexOf("yellow")>=0)    /// если строка
{v_oper=obj2.parentNode.getElementsByTagName("A")[1].href
document.getElementById("for_data").innerHTML=obj2.parentNode.getElementsByTagName("A")[1].innerHTML
v_oper_arr=v_oper.split("im=")
v_oper_arr=v_oper_arr[1].split("&")
im=v_oper_arr[0]
document.getElementById("for_data").title=im
return	
}
}
//*******************************************
function to_me()  // выбор для копирования
//*******************************************
{ev = event || window.event                       
var t = ev.target || ev.srcElement	
ev.cancelBubble = true                                     //  запретим переход по а 
ev.returnValue = false
if (obj2=="")
{return	
}
if (obj2.style.background.indexOf("yellow")>=0)    /// если строка
{v_oper=obj2.parentNode.getElementsByTagName("A")[0].innerHTML
obj2.parentNode.getElementsByTagName("A")[1]
t.title=obj2.parentNode.getElementsByTagName("A")[1].innerHTML+"&&"+obj2.parentNode.getElementsByTagName("A")[1].href.split("im=")[1].split("&")[0]
t.value=v_oper
}
}
//***************************************************************************
function copy_to() // копиование страниц
//***************************************************************************
{
from2=document.getElementById("from").value
to2=document.getElementById("to").value

if (from2=="" || to2=="")
{alert("Введи номера строк!")
return	
}	
if (from2==to2)
{alert("Сам в себя не копироем !")
return	
}	

if (confirm("Все объекты страницы \r\n'"+document.getElementById("from").title.split("&&")[0]+"',\r\n будут скопированы в страницу \r\n '"+
document.getElementById("to").title.split("&&")[0]+"' . \r\n Для отмены щелкни Cancel"))
{document.getElementById("cop").value=document.getElementById("from").title+"///"+document.getElementById("to").title
document.getElementById("h").style.visibility="visible"

document.getElementById("pr").click()
}
else
{
return
}
}



</script>
</body>
<a id=to_docum href="" target=_blank style=display:none>+++</a>
</html>
