|
 +-------------------------------------------------------------------------+
*/
ini_set('error_reporting', E_ALL &~ (E_NOTICE | E_STRICT));
ini_set('display_errors', 1);
define('INSTALL_PATH', realpath(__DIR__ . '/../').'/');
define('RCUBE_INSTALL_PATH', INSTALL_PATH);
define('RCUBE_CONFIG_DIR', INSTALL_PATH . 'config/');
$include_path  = INSTALL_PATH . 'program/lib' . PATH_SEPARATOR;
$include_path .= INSTALL_PATH . 'program/include' . PATH_SEPARATOR;
$include_path .= ini_get('include_path');
set_include_path($include_path);
// include composer autoloader (if available)
if (@file_exists(INSTALL_PATH . 'vendor/autoload.php')) {
    require INSTALL_PATH . 'vendor/autoload.php';
}
require_once 'Roundcube/bootstrap.php';
// deprecated aliases (to be removed)
require_once 'bc.php';
if (function_exists('session_start'))
  session_start();
$RCI = rcmail_install::get_instance();
$RCI->load_config();
if (isset($_GET['_getconfig'])) {
  $filename = 'config.inc.php';
  if (!empty($_SESSION['config']) && $_GET['_getconfig'] == 2) {
    $path = sys_get_temp_dir() . DIRECTORY_SEPARATOR . $filename;
    @unlink($path);
    file_put_contents($path, $_SESSION['config']);
    exit;
  }
  else if (!empty($_SESSION['config'])) {
    header('Content-type: text/plain');
    header('Content-Disposition: attachment; filename="'.$filename.'"');
    echo $_SESSION['config'];
    exit;
  }
  else {
    header('HTTP/1.0 404 Not found');
    die("The requested configuration was not found. Please run the installer from the beginning.");
  }
}
if ($RCI->configured && ($RCI->getprop('enable_installer') || $_SESSION['allowinstaller']) &&
    !empty($_GET['_mergeconfig'])) {
  $filename = 'config.inc.php';
  header('Content-type: text/plain');
  header('Content-Disposition: attachment; filename="'.$filename.'"');
  $RCI->merge_config();
  echo $RCI->create_config();
  exit;
}
// go to 'check env' step if we have a local configuration
if ($RCI->configured && empty($_REQUEST['_step'])) {
  header("Location: ./?_step=1");
  exit;
}
?>
configured && !$RCI->getprop('enable_installer') && !$_SESSION['allowinstaller']) {
    // header("HTTP/1.0 404 Not Found");
    if ($RCI->configured && $RCI->legacy_config) {
      echo '
Your configuration needs to be migrated!
';
      echo '
We changed the configuration files structure and your installation needs to be updated accordingly.
';
      echo '
Please run the bin/update.sh script from the command line or set 
  $rcube_config[\'enable_installer\'] = true;
';
      echo ' in your RCUBE_CONFIG_DIR/main.inc.php to let the installer help you migrating it.';
    }
    else {
      echo '
The installer is disabled!
';
      echo '
To enable it again, set $config[\'enable_installer\'] = true; in RCUBE_CONFIG_DIR/config.inc.php
';
    }
    echo '