<?php
$t = "Политика сайта";
include_once '../core/core.php';
include_once '../core/_navbar_policy.php';
if (!$user->auth()){
	$core->GoToPage("/login.lm");
	die();
}

if ($act == "general"){
	$navbar["general"]["active"] = true;
	$t = "Политика сайта - Основное";
	$getListZone = DateTimeZone::listIdentifiers();
	if (isset($_POST["save"])){
		$q = isset($_POST["qq"]) && !empty($_POST["qq"])?1:0;
		$ctz = isset($_POST["timezone"]) && !empty($_POST["timezone"])?$core->FilterString($_POST["timezone"]):$user->getData()->timezone;
		$csn = isset($_POST["name"]) && !empty($_POST["name"])?$core->FilterString($_POST["name"]):$user->getData()->name;
		$dms = isset($_POST["deskmsg"]) && !empty($_POST["deskmsg"])?$core->FilterString($_POST["deskmsg"]):$user->getData()->deskmsg;
		$cst = isset($_POST["title"]) && !empty($_POST["title"])?$core->FilterString($_POST["title"]):$user->getData()->title;
		$cd1 = isset($_POST["day1"]) && !empty($_POST["day1"]) && is_numeric($_POST["day1"])?intval($_POST["day1"]):$user->getData()->day1;
		$cd2 = isset($_POST["day2"]) && !empty($_POST["day2"]) && is_numeric($_POST["day2"])?intval($_POST["day2"]):$user->getData()->day2;
		$csn = substr($csn,0,250);
		$cst = substr($cst,0,250);
		$dms = substr($dms,0,250);
		if (!in_array($ctz,$getListZone)){
			$core->regError("","Временая зона не обнаружена",1,"Policy");
		} elseif ($cd1 == $cd2){
			$core->regError("","Разница между \"Началом дня\" и его концом должны быть как минимум один час",2,"Policy");
		} else {
			$db->Query("UPDATE `sites` SET `forceSSL` = '".$q."',`name`='".$csn."',`deskmsg`='".$dms."',`title`='".$cst."',`timezone`='".$ctz."',`day1`='".$cd1."',`day2`='".$cd2."' WHERE `id` = '".$user->uid."'");
			include_once '../core/head.php';
			echo '<div class="alert alert-success">Настройки сохранены</div>';
		}
	}
	include_once '../core/head.php';
	if ($core->isBooleanError()){
		foreach ($core->showError() as $csE){
			echo '<div class="alert alert-danger">#Err'.$csE["code"].'</b> | '.$csE["utxt"].'</div>';
		}	
	}
	echo '<div class="panel panel-default"><div class="panel-body"><form method="POST">
	Название сайта:<br>
	<input type="text" class="form-control" name="name" value="'.$user->getData()->name.'"><br>
	Заголовок сайта:<br>
	<input type="text" class="form-control" name="title" value="'.$user->getData()->title.'"><br>
	Описание сайта:<br>
	<input type="text" class="form-control" name="deskmsg" value="'.$user->getData()->deskmsg.'"><br>
	Временная зона:<br>
	<select name="timezone" class="form-control">';
	foreach ($getListZone as $key =>$value){
		if (preg_match('/^(Europe|America|Asia|Antartica|Arctic|Atlantic|Indian|Pacific)\//',$value)){
			echo '<option value="'.$value.'" '.($value==$user->getData()->timezone?'selected':null).'>'.$value.'</option>';
		}
	}
	echo '</select><br>
	Начало дня:<br>
	<select name="day1" class="form-control">';
	for($i=0;$i<24;$i++){echo '<option value="'.$i.'" '.($user->getData()->day1==$i?'selected':null).'>'.$i.':00</option>';}
	echo '</select><br>
	Конец дня:<br>
	<select name="day2" class="form-control">';
	for($i=0;$i<24;$i++){echo '<option value="'.$i.'" '.($user->getData()->day2==$i?'selected':null).'>'.$i.':00</option>';}
	echo '</select><br>
	<input type="checkbox" name="qq" '.($user->getData()->forceSSL?'checked':"").'> Сайт доступен только по SSL<br>
	<input type="submit" name="save" class="btn btn-primary" value="Сохранить изменения">
	</form></div></div>';
	include_once '../core/foot.php';
	die();
} elseif ($act == "captcha"){
	$navbar["captcha"]["active"] = true;
	$t = "Политика сайта - Код с картинки";
	$c = json_decode($user->getData()->captcha,true);
	if (isset($_POST["save"])){
		$param = "w";
		$w = isset($_POST[$param]) && is_numeric($_POST[$param]) && intval($_POST[$param]) >= 1?intval($_POST[$param]):$c[$param];
		
		$param = "h";
		$h = isset($_POST[$param]) && is_numeric($_POST[$param]) && intval($_POST[$param]) >= 1?intval($_POST[$param]):$c[$param];
		
		$param = "size";
		$size = isset($_POST[$param]) && is_numeric($_POST[$param]) && intval($_POST[$param]) >= 1?intval($_POST[$param]):$c[$param];
		
		$param = "minAngle";
		$minAngle = isset($_POST[$param]) && is_numeric($_POST[$param])?intval($_POST[$param]):$c[$param];
		
		$param = "maxAngle";
		$maxAngle = isset($_POST[$param]) && is_numeric($_POST[$param])?intval($_POST[$param]):$c[$param];
		
		$param = "minR";
		$minR = isset($_POST[$param]) && is_numeric($_POST[$param]) && intval($_POST[$param]) >= 0 && intval($_POST[$param]) <= 255?intval($_POST[$param]):$c[$param];
		
		$param = "minG";
		$minG = isset($_POST[$param]) && is_numeric($_POST[$param]) && intval($_POST[$param]) >= 0 && intval($_POST[$param]) <= 255?intval($_POST[$param]):$c[$param];
		
		$param = "minB";
		$minB = isset($_POST[$param]) && is_numeric($_POST[$param]) && intval($_POST[$param]) >= 0 && intval($_POST[$param]) <= 255?intval($_POST[$param]):$c[$param];
		
		$param = "maxR";
		$maxR = isset($_POST[$param]) && is_numeric($_POST[$param]) && intval($_POST[$param]) >= 0 && intval($_POST[$param]) <= 255?intval($_POST[$param]):$c[$param];
		
		$param = "maxG";
		$maxG = isset($_POST[$param]) && is_numeric($_POST[$param]) && intval($_POST[$param]) >= 0 && intval($_POST[$param]) <= 255?intval($_POST[$param]):$c[$param];
		
		$param = "maxB";
		$maxB = isset($_POST[$param]) && is_numeric($_POST[$param]) && intval($_POST[$param]) >= 0 && intval($_POST[$param]) <= 255?intval($_POST[$param]):$c[$param];
		
		$param = "count";
		$count = isset($_POST[$param]) && is_numeric($_POST[$param]) && intval($_POST[$param]) >= 0?intval($_POST[$param]):$c[$param];
		
		$def_cfg_captcha = [
			'letters'		=>	'1234567890',
			'count'			=>	$count,
			'path'			=>	'/media/fonts/Comfortaa-Light.ttf',
			'size'			=>	$size,
			'minAngle'		=>	$minAngle,
			'maxAngle'		=>	$maxAngle,
			'minR'			=>	$minR,
			'maxR'			=>	$maxR,
			'minG'			=>	$minR,
			'maxG'			=>	$maxG,
			'minB'			=>	$minB,
			'maxB'			=>	$maxB,
			'w'				=>	$w,
			'h'				=>	$h,
		];
		$j = json_encode($def_cfg_captcha);
		//echo $j;
		$db->Query("UPDATE `sites` SET `captcha`='".$j."' WHERE `id` = '".$user->getData()->id."'");
		include_once '../core/head.php';
		echo '<div class="alert alert-success">Настройки сохранены</div>';
	}
	include_once '../core/head.php';
	if ($core->isBooleanError()){
		foreach ($core->showError() as $csE){
			echo '<div class="alert alert-danger">#Err'.$csE["code"].'</b> | '.$csE["utxt"].'</div>';
		}	
	}
	echo '<div class="panel panel-default"><div class="panel-body"><form method="POST">
	Длина:<br>
	<input type="number" class="form-control" name="w" min="1" value="'.$c["w"].'" placeholder="120"><br>
	Высота:<br>
	<input type="number" class="form-control" name="h" min="1" value="'.$c["h"].'" placeholder="40"><br>
	Размер:<br>
	<input type="number" class="form-control" name="size" min="1" value="'.$c["size"].'" placeholder="14"><br>
	Количество символов:<br>
	<input type="number" class="form-control" name="count" min="1" value="'.$c["count"].'" placeholder="4"><br>
	Мин.угл поворота:<br>
	<input type="number" class="form-control" name="minAngle" value="'.$c["minAngle"].'" placeholder="-25"><br>
	Мак.угл поворота:<br>
	<input type="number" class="form-control" name="maxAngle" value="'.$c["maxAngle"].'" placeholder="25"><br>
	<span style="font-size: large;">RGB</span><br>
	Мин
	<input type="number" name="minR" min="0" max="255" value="'.$c["minR"].'" placeholder="R" style="min-width: 10%;">
	<input type="number" name="minG" min="0" max="255" value="'.$c["minG"].'" placeholder="G" style="min-width: 10%;">
	<input type="number" name="minB" min="0" max="255" value="'.$c["minB"].'" placeholder="B" style="min-width: 10%;">
	<br>
	Мак
	<input type="number" name="maxR" min="0" max="255" value="'.$c["maxR"].'" placeholder="R" style="min-width: 10%;">
	<input type="number" name="maxG" min="0" max="255" value="'.$c["maxG"].'" placeholder="G" style="min-width: 10%;">
	<input type="number" name="maxB" min="0" max="255" value="'.$c["maxB"].'" placeholder="B" style="min-width: 10%;">
	<br>
	<input type="submit" name="save" class="btn btn-primary" value="Сохранить изменения">
	</form></div></div>';
	include_once '../core/foot.php';
	die();

} elseif ($act == "modules"){
	$navbar["modules"]["active"] = true;
	if (isset($_POST["save"])){
		$q = isset($_POST["gb"]) && !empty($_POST["gb"])?1:0;
		$w = isset($_POST["chat"]) && !empty($_POST["chat"])?1:0;
		$e = isset($_POST["mail"]) && !empty($_POST["mail"])?1:0;
		$r = isset($_POST["forum"]) && !empty($_POST["forum"])?1:0;
		$c = isset($_POST["comm"]) && !empty($_POST["comm"])?0:1;
		$a = isset($_POST["ava"]) && !empty($_POST["ava"])?1:0;
		$db->Query("UPDATE `sites` SET `changePhoto` = '".$a."', `disabledcomm` = '".$c."',`module_gb_enable`='".$q."',`module_chat_enable`='".$w."',`module_mail_enable`='".$e."',`module_forum_enable`='".$r."' WHERE `id` = '".$user->getData()->id."'");
		include_once '../core/head.php';
		echo '<div class="alert alert-success">Настройки сохранены</div>';
	}
	$t = "Управление модулями";
	include_once '../core/head.php';
	echo '<div class="panel panel-default"><div class="panel-body"><form method="POST">
	<input type="checkbox" name="gb" '.($user->getData()->module_gb_enable?'checked':"").'> [/gb.lm] Гостевая книга<br>
	<input type="checkbox" name="chat" '.($user->getData()->module_chat_enable?'checked':"").'> [/uchat.lm] Чат<br>
	<input type="checkbox" name="mail" '.($user->getData()->module_mail_enable?'checked':"").'> [/mail.lm] Почта<br>
	<input type="checkbox" name="forum" '.($user->getData()->module_forum_enable?'checked':"").'> [/forum.lm] Форум<br>
	<input type="checkbox" name="comm" '.(!$user->getData()->disabledcomm?'checked':"").'> [/comm.lm] Комментарии<br>
	<input type="checkbox" name="ava" '.($user->getData()->changePhoto?'checked':"").'> [/avatar.lm] Смена аватарки<br>
	<input type="submit" name="save" class="btn btn-primary" value="Сохранить изменения">
	</form></div></div>';
	include_once '../core/foot.php';
	die();
} elseif ($act == "forum"){
	$navbar["forum"]["active"] = true;
	if (isset($_POST["save"])){
		$cu = isset($_POST["cu"]) && !empty($_POST["cu"])?1:0;
		$mu = isset($_POST["mu"]) && !empty($_POST["mu"])?1:0;
		$du = isset($_POST["du"]) && !empty($_POST["du"])?1:0;
		
		$cm = isset($_POST["cm"]) && !empty($_POST["cm"])?1:0;
		$mm = isset($_POST["mm"]) && !empty($_POST["mm"])?1:0;
		$dm = isset($_POST["dm"]) && !empty($_POST["dm"])?1:0;
		
		$ca = isset($_POST["ca"]) && !empty($_POST["ca"])?1:0;
		$ma = isset($_POST["ma"]) && !empty($_POST["ma"])?1:0;
		$da = isset($_POST["da"]) && !empty($_POST["da"])?1:0;
		
		$f = isset($_POST["forum"]) && !empty($_POST["forum"])?1:0;
		$b = isset($_POST["bbcode"]) && !empty($_POST["bbcode"])?1:0;
		$db->Query("UPDATE `sites` SET 
		
		`forum_close_u` = '".$cu."',
		`forum_move_u` = '".$mu."',
		`forum_del_u` = '".$du."',
		
		`forum_close_m` = '".$cm."',
		`forum_move_m` = '".$mm."',
		`forum_del_m` = '".$dm."',
		
		`forum_close_a` = '".$cm."',
		`forum_move_a` = '".$mm."',
		`forum_del_a` = '".$dm."',
		
		
		`module_forum_enable` = '".$f."',
		`forum_bbcodes` = '".$b."'

		WHERE `id` = '".$user->getData()->id."'");
		include_once '../core/head.php';
		echo '<div class="alert alert-success">Настройки сохранены</div>';
	}
	$t = "Управление форумом";
	include_once '../core/head.php';
	echo '<div class="panel panel-default"><div class="panel-body"><form method="POST">
	<input type="checkbox" name="forum" '.($user->getData()->module_forum_enable?'checked':"").'> Включен ли форум?<br>
	<input type="checkbox" name="bbcode" '.($user->getData()->forum_bbcodes?'checked':"").'> Включен ли бб-коды?<br>
		
	<h3>Права доступа</h3>
	<table style="text-align: center;">
	<tr>
		<td></td><td>Закрытие</td><td>Перемещение</td><td>Удаление</td>
	</tr>
	<tr>
		<td>Пользователи</td>
		<td><input type="checkbox" name="cu" '.($user->getData()->forum_close_u?'checked':"").'></td>
		<td><input type="checkbox" name="mu" '.($user->getData()->forum_move_u?'checked':"").'></td>
		<td><input type="checkbox" name="du" '.($user->getData()->forum_del_u?'checked':"").'></td>
	</tr>
	<tr>
		<td>Модераторы</td>
		<td><input type="checkbox" name="cm" '.($user->getData()->forum_close_m?'checked':"").'></td>
		<td><input type="checkbox" name="mm" '.($user->getData()->forum_move_m?'checked':"").'></td>
		<td><input type="checkbox" name="dm" '.($user->getData()->forum_del_m?'checked':"").'></td>
	</tr>
	<tr>
		<td>Администраторы</td>
		<td><input type="checkbox" name="ca" '.($user->getData()->forum_close_a?'checked':"").'></td>
		<td><input type="checkbox" name="ma" '.($user->getData()->forum_move_a?'checked':"").'></td>
		<td><input type="checkbox" name="da" '.($user->getData()->forum_del_a?'checked':"").'></td>
	</tr>
	</table>

	<input type="submit" name="save" class="btn btn-primary" value="Сохранить изменения">
	</form></div></div>';
	include_once '../core/foot.php';
	die();
} elseif ($act == "users"){
	$navbar["users"]["active"] = true;
	if (isset($_POST["save"])){
		$q = isset($_POST["qq"]) && !empty($_POST["qq"])?1:0;
		$w = isset($_POST["ww"]) && !empty($_POST["ww"])?1:0;
		$a = isset($_POST["ava"]) && !empty($_POST["ava"])?1:0;
		// manualreg
		$db->Query("UPDATE `sites` SET `changePhoto` = '".$a."', `disabledreg` = '".$q."',`onlyreg`='".$w."' WHERE `id` = '".$user->getData()->id."'");
		include_once '../core/head.php';
		echo '<div class="alert alert-success">Настройки сохранены</div>';
	}
	$t = "Управление Пользователями";
	include_once '../core/head.php';
	echo '<div class="panel panel-default"><div class="panel-body"><form method="POST">
	<input type="checkbox" name="qq" '.($user->getData()->disabledreg?'checked':"").'> Отключить регистрацию<br>
	<input type="checkbox" name="ww" '.($user->getData()->onlyreg?'checked':"").'> Закрыть сайт от гостей<br>
	<input type="checkbox" name="ava" '.($user->getData()->changePhoto?'checked':"").'> Разрешить смену аватарки<br>
	<input type="submit" name="save" class="btn btn-primary" value="Сохранить изменения">
	</form></div></div>';
	include_once '../core/foot.php';
	die();
} elseif ($act == "load"){
	$navbar["load"]["active"] = true;
	if (isset($_POST["save"])){
		$q = isset($_POST["qq"]) && !empty($_POST["qq"])?1:0;
		$w = isset($_POST["ww"]) && !empty($_POST["ww"])?intval($_POST["ww"]):0;
		$z = isset($_POST["zz"]) && !empty($_POST["zz"])?intval($_POST["zz"]):0;
		$a = isset($_POST["ava"]) && !empty($_POST["ava"])?1:0;
		$uO = isset($_POST["upLoad"]) && !empty($_POST["upLoad"]) && $_POST["upLoad"] == 3?3:4;
		
		// manualreg
		$db->Query("UPDATE `sites` SET `changePhotoSize` = '".$z."',`changePhoto` = '".$a."', `down_SilentServer` = '".$q."',`maxFileLoad` = '".$w."',`downloads_load`='".$uO."' WHERE `id` = '".$user->getData()->id."'");
		include_once '../core/head.php';
		echo '<div class="alert alert-success">Настройки сохранены</div>';
		
	}
	$t = "Управление загрузками";
	include_once '../core/head.php';
	echo '<div class="panel panel-default"><div class="panel-body"><form method="POST">
	<input type="checkbox" name="ava" '.($user->getData()->changePhoto?'checked':"").'> Разрешить смену аватарки<br>
	<input type="checkbox" name="qq" '.($user->getData()->down_SilentServer?'checked':"").'> [ЗЦ] Отключить оповещение о другом сервере<br>
	[ЗЦ] Кто может загружать файлы?<br><select name="upLoad" class="form-control">
	<option value="3" '.($user->getData()->downloads_load == 3?'selected':"").'>Модератор</option>
	<option value="4" '.($user->getData()->downloads_load == 4?'selected':"").'>Администратор</option>
	</select><br>
	[ЗЦ] Максимальный вес файла: (в байтах) => <span id="b">'.$Quota->RealSize($user->getData()->maxFileLoad).'</span><br>
	<input type="number" class="form-control" id="idata" name="ww" value="'.($user->getData()->maxFileLoad).'"><br>
	
	[Ава] Максимальный вес файла: (в байтах) => <span id="b2">'.$Quota->RealSize($user->getData()->changePhotoSize).'</span><br>
	<input type="number" class="form-control" id="idata2" name="zz" value="'.($user->getData()->changePhotoSize).'"><br>
	<input type="submit" name="save" value="Сохранить изменения">
	</form></div></div>';
	echo '<script>function formatBytes(bytes) {
		if(bytes) {
            if(bytes < 1024 ) {
                return bytes + " б";
			} else if(bytes < 1048576) {
				return parseFloat(( bytes / 1024 ).toFixed(2)) + " кб";
			} else if(bytes < 1073741824) {            
				return parseFloat((bytes/1048576 ).toFixed(2)) + " мб";
			} else {    
				return parseFloat((bytes/1073741824).toFixed(2)) + " гб";
			}
        }
		return "0 б";
	}
	var input = document.getElementById("idata");
	input.oninput = function() {
		document.getElementById("b").innerHTML = formatBytes(input.value);
	};
	
	var input2 = document.getElementById("idata2");
	input2.oninput = function() {
		document.getElementById("b2").innerHTML = formatBytes(input2.value);
	};
	</script>';
	include_once '../core/foot.php';
	die();
}
include_once '../core/head.php';
echo '<div class="row cm-fix-height">';
echo l("/policy.lm?act=general","Основное","cog",false,false,"Настройка заголовков сайта");
echo l("/policy.lm?act=captcha","Код с картинки","flower",false,false,"Настройка цвета, количества символов, угла поворота");
echo l("/policy.lm?act=modules","Модули","layers",false,false,"Вкл/Выкл модулей сайта");
echo l("/policy.lm?act=users","Пользователи ","user-male",false,false,"Настройка пользователей сайта");
echo l("/policy.lm?act=forum","Форум","bubble",false,false,"Настройка форума");
echo l("/policy.lm?act=load","Файлы","file-text",false,false,"Настройка правил загрузки файлов на сайт");
echo l("/config_filemgr.lm","Настройка менеджера файлов","folder-house",false,false,"Позволяет настроить менеджер файлов и его редактор.");
echo l("/rss.lm","Настройка новостной ленты","rss",false,false,"Позволяет настроить такие параметры как название и описание канала, его URL.");
echo l("/reset.lm","Сбросить сайт","skull",false,false,"Полное обнуление или восстановление в случаи если сайт полностью перестал открываться");
echo '</div>';
include_once '../core/foot.php';
?>