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> |