Почему этот код авторизации не работает с 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' ) ;
}
?>

0 ответов

Другие вопросы по тегам