Сайт только для администратора

Здравствуйте,
хотелось бы на время забивания сайта контентом отключить его от посторонних глаз.
Чтоб только администраторы могли заходить и набивать его. Как такое совершить?
благодарю.

5 комментариев

avatar
avatar
Хотя знаете, я видимо не так понял идею. Вам не нужно что бы только админы могли создавать топики, что можно сделать плагином выше, вам нужно что бы только админы были на сайте пока он заполняется контентом.

Идея: Всех неавторизованных должно кидать на страницу логина.
Авторизованные проходят проверку на права и при отсутствии прав админа разлогиниваются и снова перебрасываются на страницу логина

Реализация: Добавить файл \classes\hooks\HookOnlyAdmin.class.php

<?php
//==============================
class HookOnlyAdmin extends Hook{
//==============================
	public function RegisterHook(){
		$this->AddHook('init_action','InitAction',__CLASS__);
	}
//==============================
	public function InitAction() {
		$oEngine=Engine::getInstance();
		if(!$oEngine->User_IsAuthorization()){
			if(Router::GetAction()!='login') Router::Location(Router::GetPath('login'));
		}else{
			$oUserCurrent=$oEngine->User_GetUserCurrent();
			if(!$oUserCurrent->isAdministrator()){
				$oEngine->User_Logout();
				Router::Location(Router::GetPath('login'));
			}
		}
	}
//==============================
}
?>

Код не тестировался, так что пользуйтесь на свой страх и риск.
avatar
Лучше так — всем гостям и не админам показывается сообщение «Идут технические работы». При этом страница /login доступна.
avatar
«Закрытый режим работы сайта»
avatar
Не совсем ясно суть вопроса.
Как вариант можно закрыть доступ всем кроме себя (по ip) через .htaccess/nginx.
Или вам нужно чтобы на сайт в это время заходили юзеры и ПСы?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.