index.php 4.99 KiB
<?php
/*
  This code is part of FusionDirectory (http://www.fusiondirectory.org/)
  Copyright (C) 2003-2010  Cajus Pollmeier
  Copyright (C) 2011-2016  FusionDirectory
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
/* Load required includes */
require_once("../include/php_setup.inc");
require_once("functions.inc");
require_once("variables.inc");
require_once("class_logging.inc");
/* Set headers */
header('Content-type: text/html; charset=UTF-8');
header('X-XSS-Protection: 1; mode=block');
header('X-Content-Type-Options: nosniff');
header('X-Frame-Options: deny');
/**
 * @var Smarty $smarty    Defined in php_setup.inc
 * @var string $BASE_DIR  Defined in php_setup.inc
 * @var string $ssl       Defined in php_setup.inc
/*****************************************************************************
 *                               M   A   I   N                               *
 *****************************************************************************/
/* Set error handler to own one, initialize time calculation
   and start session. */
session::start();
if (isset($_REQUEST['signout']) && $_REQUEST['signout']) {
  $reason = '';
  if (session::is_set('connected')) {
    $config = session::get('config');
    if (
      ($config->get_cfg_value('casActivated') == 'TRUE') ||
      ($config->get_cfg_value('LoginMethod') === 'LoginCAS')
    ) {
      LoginCAS::initCAS();
      phpCAS::logout();
    $reason = 'Sign out';
    if (isset($_REQUEST['message'])) {
      switch ($_REQUEST['message']) {
        case 'expired':
          $reason = 'Session expired';
          break;
        case 'invalidparameter':
          $reason = sprintf('Invalid plugin parameter "%s"!', $_REQUEST['plug']);
          break;
        case 'nosession':
          $reason = 'No session found';
          break;