Показать сообщение отдельно
Старый 02.06.2010, 14:00   #8
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

на данный момент это выглядит так

Код:
  $TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = 'USER_FUNCTION:fileadmin/404.php:user_pageNotFound->pageNotFound';
и сам файл 404.php

Код:
  define(LOGIN_URL, "http://astroelite.de/login.html");
  define(NOTFOUND_URL, "http://astroelite.de");
  
  
  class user_pageNotFound {
    function pageNotFound($param, $ref) {
      if (count($param["pageAccessFailureReasons"]["fe_group"])) {
        header("HTTP/1.0 403 Forbidden");
        $GLOBALS['TSFE']->fe_user->setKey('ses', 'redirect', $_SERVER['REQUEST_URI']);
        $GLOBALS['TSFE']->storeSessionData();
        $url = LOGIN_URL;
      } else
        $url = NOTFOUND_URL;
      print file_get_contents($url);
    }
  }
но дабы не вводить всех в заблуждение - вариант не конечный так как в некоторых случаях (в частности в примере с ":/") он не определяет причину и считает что страница запрещена, но решение этому я уверен есть, просто не на все хватает время - проектов много, а клиента пока так устраивает

забыл пояснить

$GLOBALS['TSFE']->fe_user->setKey('ses', 'redirect', $_SERVER['REQUEST_URI']);
$GLOBALS['TSFE']->storeSessionData();

для того чтоб после авторизации принять эти данные и переадресовать авторизированного пользователя на запрошенную страницу
логин у меня свой - берет авторизацию и данные пользователя по wsdl с центрального сервера, так что для вашего случая всего придется переделывать стандартный логин
3ton вне форума   Ответить с цитированием