View file application/backstage/Admin.php

File size: 2.58Kb
<?PHP
	require(__DIR__ . '/../start.php');
	
	/*
		Проверка валидности
	*/
	IsValidActions();
	
	/*
		Проверка на авторизацию
	*/
	if(empty($_SESSION['id'])) {
		AlertError(getLang('backstage_auth'));
	}
	
	/*
		Проверка доступа к Админ-Центру
	*/
	if(!isRights('a')) {
		AlertError(getLang('error_rights'));
	}
	
	$ClassAdmin = new Admin;
	
	/*
		Изменение основных настроек
	*/
	if(isset($_POST['AdminChangePrimary'])) {
		if(!isRights('b')) {
			AlertError(getLang('error_rights'));
		}
		
		unset($_POST['phpaction']);
		unset($_POST['csrf_token']);
		unset($_POST['AdminChangePrimary']);
		
		$_POST['cache'] = conf()->cache;
		$_POST['appearance'] = conf()->appearance;
		
		if(@file_put_contents('../configs/system.json', json_encode($_POST)) === false) {
			AddLogs('system.log', print_r(error_get_last(), true));
			AlertWarning(getLang('error_logs'));
		}
		
		AlertSuccess(getLang('settings_info'));
	}
	
	/*
		Изменение учётной записи
	*/
	if(isset($_POST['AdminChangePeople'])) {
		if(!isRights('c')) {
			AlertError(getLang('error_rights'));
		}
		
		try {
			$ClassAdmin->editPeople($_POST);
			AlertSuccess(getLang('settings_info'));
		}
		catch(Exception $e) {
			AddLogs('system.log', print_r($e, true));
			AlertWarning(getLang('error_logs'));
		}
	}
	
	/*
		Изменение пароля
	*/
	if(isset($_POST['resetPassword'])) {
		if(!isRights('c')) {
			AlertError(getLang('error_rights'));
		}
		
		try {
			$ClassAdmin->changePassword($_POST);
			AlertSuccess(getLang('settings_info'));
		}
		catch(Exception $e) {
			AddLogs('system.log', print_r($e, true));
			AlertWarning(getLang('error_logs'));
		}
	}
	
	/*
		Подтверждение профиля
	*/
	if(isset($_POST['confirmProfile'])) {
		if(!isRights('c')) {
			AlertError(getLang('error_rights'));
		}
		
		try {
			$ClassAdmin->confirmProfile($_POST);
			AlertSuccess(getLang('admin_message_confirm_message'));
		}
		catch(Exception $e) {
			AddLogs('system.log', print_r($e, true));
			AlertWarning(getLang('error_logs'));
		}
	}
	
	/*
		Удаление учётной записи
	*/
	if(isset($_POST['removeProfile'])) {
		if(!isRights('c')) {
			AlertError(getLang('error_rights'));
		}
		
		try {
			$ClassAdmin->removeProfile($_POST['userid']);
			AlertSuccess(getLang('admin_remove_message'));
		}
		catch(Exception $e) {
			AddLogs('system.log', print_r($e, true));
			AlertWarning(getLang('error_logs'));
		}
	}