Почему этот код авторизации не работает с Joomla 3.4.4
У меня есть скрипт, который проверяет, является ли пользователь (супер) администратором, а затем предоставляет доступ к этой странице.
Он работал пару лет, но теперь перестал работать. Я получаю сообщение об ошибке с неверным текстом. Когда я комментирую сценарий, все работает отлично.
Вот код:
<?php
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__));
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
/* Create the Application */
$mainframe =& JFactory::getApplication('site');
$user = JFactory::getUser();
$userGroups = $user->getAuthorisedGroups();
if(in_array(7,$userGroups) or in_array(8,$userGroups)){
}else{
header( 'Location: /beheer-niet-toegestaan.html' ) ;
}
?>
Я в недоумении. Надеюсь, кто-нибудь может мне помочь.
// РЕДАКТИРОВАТЬ //
Хм, извините за неполный вопрос. После часа, пробуя различные примеры кода онлайн, я решил, отредактировав его:
<?php
define( '_JEXEC', 1 );
define( '_VALID_MOS', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__)));
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
$user = JFactory::getUser();
$isAdmin = $user->get('isRoot');
if ($isAdmin == false) {
header( 'Location: /beheer-niet-toegestaan.html' ) ;
}
?>