Mercurial > hg > rc2
comparison installer/index.php @ 0:4681f974d28b
vanilla 1.3.3 distro, I hope
| author | Charlie Root |
|---|---|
| date | Thu, 04 Jan 2018 15:52:31 -0500 |
| parents | |
| children | bf99236cc5cd |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:4681f974d28b |
|---|---|
| 1 <?php | |
| 2 | |
| 3 /* | |
| 4 +-------------------------------------------------------------------------+ | |
| 5 | Roundcube Webmail setup tool | | |
| 6 | Version 1.1.5 | | |
| 7 | | | |
| 8 | Copyright (C) 2009-2015, The Roundcube Dev Team | | |
| 9 | | | |
| 10 | This program is free software: you can redistribute it and/or modify | | |
| 11 | it under the terms of the GNU General Public License (with exceptions | | |
| 12 | for skins & plugins) as published by the Free Software Foundation, | | |
| 13 | either version 3 of the License, or (at your option) any later version. | | |
| 14 | | | |
| 15 | This file forms part of the Roundcube Webmail Software for which the | | |
| 16 | following exception is added: Plugins and Skins which merely make | | |
| 17 | function calls to the Roundcube Webmail Software, and for that purpose | | |
| 18 | include it by reference shall not be considered modifications of | | |
| 19 | the software. | | |
| 20 | | | |
| 21 | If you wish to use this file in another project or create a modified | | |
| 22 | version that will not be part of the Roundcube Webmail Software, you | | |
| 23 | may remove the exception above and use this source code under the | | |
| 24 | original version of the license. | | |
| 25 | | | |
| 26 | This program is distributed in the hope that it will be useful, | | |
| 27 | but WITHOUT ANY WARRANTY; without even the implied warranty of | | |
| 28 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | |
| 29 | GNU General Public License for more details. | | |
| 30 | | | |
| 31 | You should have received a copy of the GNU General Public License | | |
| 32 | along with this program. If not, see http://www.gnu.org/licenses/. | | |
| 33 | | | |
| 34 +-------------------------------------------------------------------------+ | |
| 35 | Author: Thomas Bruederli <roundcube@gmail.com> | | |
| 36 +-------------------------------------------------------------------------+ | |
| 37 */ | |
| 38 | |
| 39 ini_set('error_reporting', E_ALL &~ (E_NOTICE | E_STRICT)); | |
| 40 ini_set('display_errors', 1); | |
| 41 | |
| 42 define('INSTALL_PATH', realpath(__DIR__ . '/../').'/'); | |
| 43 define('RCUBE_INSTALL_PATH', INSTALL_PATH); | |
| 44 define('RCUBE_CONFIG_DIR', INSTALL_PATH . 'config/'); | |
| 45 | |
| 46 $include_path = INSTALL_PATH . 'program/lib' . PATH_SEPARATOR; | |
| 47 $include_path .= INSTALL_PATH . 'program/include' . PATH_SEPARATOR; | |
| 48 $include_path .= ini_get('include_path'); | |
| 49 | |
| 50 set_include_path($include_path); | |
| 51 | |
| 52 // include composer autoloader (if available) | |
| 53 if (@file_exists(INSTALL_PATH . 'vendor/autoload.php')) { | |
| 54 require INSTALL_PATH . 'vendor/autoload.php'; | |
| 55 } | |
| 56 | |
| 57 require_once 'Roundcube/bootstrap.php'; | |
| 58 // deprecated aliases (to be removed) | |
| 59 require_once 'bc.php'; | |
| 60 | |
| 61 if (function_exists('session_start')) | |
| 62 session_start(); | |
| 63 | |
| 64 $RCI = rcmail_install::get_instance(); | |
| 65 $RCI->load_config(); | |
| 66 | |
| 67 if (isset($_GET['_getconfig'])) { | |
| 68 $filename = 'config.inc.php'; | |
| 69 if (!empty($_SESSION['config'])) { | |
| 70 header('Content-type: text/plain'); | |
| 71 header('Content-Disposition: attachment; filename="'.$filename.'"'); | |
| 72 echo $_SESSION['config']; | |
| 73 exit; | |
| 74 } | |
| 75 else { | |
| 76 header('HTTP/1.0 404 Not found'); | |
| 77 die("The requested configuration was not found. Please run the installer from the beginning."); | |
| 78 } | |
| 79 } | |
| 80 | |
| 81 if ($RCI->configured && ($RCI->getprop('enable_installer') || $_SESSION['allowinstaller']) && | |
| 82 !empty($_GET['_mergeconfig'])) { | |
| 83 $filename = 'config.inc.php'; | |
| 84 | |
| 85 header('Content-type: text/plain'); | |
| 86 header('Content-Disposition: attachment; filename="'.$filename.'"'); | |
| 87 | |
| 88 $RCI->merge_config(); | |
| 89 echo $RCI->create_config(); | |
| 90 exit; | |
| 91 } | |
| 92 | |
| 93 // go to 'check env' step if we have a local configuration | |
| 94 if ($RCI->configured && empty($_REQUEST['_step'])) { | |
| 95 header("Location: ./?_step=1"); | |
| 96 exit; | |
| 97 } | |
| 98 | |
| 99 ?> | |
| 100 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | |
| 101 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
| 102 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | |
| 103 <head> | |
| 104 <title>Roundcube Webmail Installer</title> | |
| 105 <meta name="Robots" content="noindex,nofollow" /> | |
| 106 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
| 107 <link rel="stylesheet" type="text/css" href="styles.css" /> | |
| 108 <script type="text/javascript" src="client.js"></script> | |
| 109 </head> | |
| 110 | |
| 111 <body> | |
| 112 | |
| 113 <div id="banner"> | |
| 114 <div class="banner-bg"></div> | |
| 115 <div class="banner-logo"><a href="http://roundcube.net"><img src="images/roundcube_logo.png" width="210" height="55" border="0" alt="Roundcube - open source webmail software" /></a></div> | |
| 116 </div> | |
| 117 | |
| 118 <div id="topnav"> | |
| 119 <a href="http://trac.roundcube.net/wiki/Howto_Install">How-to Wiki</a> | |
| 120 </div> | |
| 121 | |
| 122 <div id="content"> | |
| 123 | |
| 124 <?php | |
| 125 | |
| 126 // exit if installation is complete | |
| 127 if ($RCI->configured && !$RCI->getprop('enable_installer') && !$_SESSION['allowinstaller']) { | |
| 128 // header("HTTP/1.0 404 Not Found"); | |
| 129 if ($RCI->configured && $RCI->legacy_config) { | |
| 130 echo '<h2 class="error">Your configuration needs to be migrated!</h2>'; | |
| 131 echo '<p>We changed the configuration files structure and your installation needs to be updated accordingly.</p>'; | |
| 132 echo '<p>Please run the <tt>bin/update.sh</tt> script from the command line or set <p> <tt>$rcube_config[\'enable_installer\'] = true;</tt></p>'; | |
| 133 echo ' in your RCUBE_CONFIG_DIR/main.inc.php to let the installer help you migrating it.</p>'; | |
| 134 } | |
| 135 else { | |
| 136 echo '<h2 class="error">The installer is disabled!</h2>'; | |
| 137 echo '<p>To enable it again, set <tt>$config[\'enable_installer\'] = true;</tt> in RCUBE_CONFIG_DIR/config.inc.php</p>'; | |
| 138 } | |
| 139 echo '</div></body></html>'; | |
| 140 exit; | |
| 141 } | |
| 142 | |
| 143 ?> | |
| 144 | |
| 145 <h1>Roundcube Webmail Installer</h1> | |
| 146 | |
| 147 <ol id="progress"> | |
| 148 <?php | |
| 149 $include_steps = array( | |
| 150 1 => './check.php', | |
| 151 2 => './config.php', | |
| 152 3 => './test.php', | |
| 153 ); | |
| 154 | |
| 155 if (!in_array($RCI->step, array_keys($include_steps))) { | |
| 156 $RCI->step = 1; | |
| 157 } | |
| 158 | |
| 159 foreach (array('Check environment', 'Create config', 'Test config') as $i => $item) { | |
| 160 $j = $i + 1; | |
| 161 $link = ($RCI->step >= $j || $RCI->configured) ? '<a href="./index.php?_step='.$j.'">' . Q($item) . '</a>' : Q($item); | |
| 162 printf('<li class="step%d%s">%s</li>', $j+1, $RCI->step > $j ? ' passed' : ($RCI->step == $j ? ' current' : ''), $link); | |
| 163 } | |
| 164 ?> | |
| 165 </ol> | |
| 166 | |
| 167 <?php | |
| 168 | |
| 169 include $include_steps[$RCI->step]; | |
| 170 | |
| 171 ?> | |
| 172 </div> | |
| 173 | |
| 174 <div id="footer"> | |
| 175 Installer by the Roundcube Dev Team. Copyright © 2008-2012 – Published under the GNU Public License; | |
| 176 Icons by <a href="http://famfamfam.com">famfamfam</a> | |
| 177 </div> | |
| 178 </body> | |
| 179 </html> |
