author | Dan |
Fri, 07 Dec 2007 18:47:37 -0500 | |
changeset 314 | 474f8be55943 |
parent 304 | e2cb5f1432c8 |
child 326 | ab66d6d1f1f4 |
permissions | -rw-r--r-- |
256 | 1 |
<?php |
2 |
||
3 |
/* |
|
4 |
* Enano - an open-source CMS capable of wiki functions, Drupal-like sidebar blocks, and everything in between |
|
204
473cc747022a
You know what folks, a lot of Mercurial merges failed, and I just now figured out why. So now all changes from stable are permanently synced in.
Dan
diff
changeset
|
5 |
* Version 1.1.1 |
256 | 6 |
* Copyright (C) 2006-2007 Dan Fuhry |
7 |
* install.php - handles everything related to installation and initial configuration |
|
8 |
* |
|
9 |
* This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License |
|
10 |
* as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. |
|
11 |
* |
|
12 |
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied |
|
13 |
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. |
|
14 |
*/ |
|
15 |
||
16 |
@include('config.php'); |
|
276
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
17 |
if( ( defined('ENANO_INSTALLED') || defined('MIDGET_INSTALLED') ) && ((isset($_GET['mode']) && ($_GET['mode']!='finish' && $_GET['mode']!='css') && $_GET['mode']!='showlicense') || !isset($_GET['mode']))) |
256 | 18 |
{ |
19 |
$_GET['title'] = 'Enano:Installation_locked'; |
|
20 |
require('includes/common.php'); |
|
21 |
die_friendly('Installation locked', '<p>The Enano installer has found a Enano installation in this directory. You MUST delete config.php if you want to re-install Enano.</p><p>If you wish to upgrade an older Enano installation to this version, please use the <a href="upgrade.php">upgrade script</a>.</p>'); |
|
22 |
exit; |
|
23 |
} |
|
24 |
||
25 |
define('IN_ENANO_INSTALL', 'true'); |
|
26 |
||
204
473cc747022a
You know what folks, a lot of Mercurial merges failed, and I just now figured out why. So now all changes from stable are permanently synced in.
Dan
diff
changeset
|
27 |
define('ENANO_VERSION', '1.1.1'); |
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
28 |
define('ENANO_CODE_NAME', 'Germination'); |
256 | 29 |
// In beta versions, define ENANO_BETA_VERSION here |
30 |
||
240
f0149a27df5f
Localized default sidebar; installer should work now including the lang import; l10n in installer to follow
Dan
parents:
239
diff
changeset
|
31 |
// This is required to make installation work right |
f0149a27df5f
Localized default sidebar; installer should work now including the lang import; l10n in installer to follow
Dan
parents:
239
diff
changeset
|
32 |
define("ENANO_ALLOW_LOAD_NOLANG", 1); |
f0149a27df5f
Localized default sidebar; installer should work now including the lang import; l10n in installer to follow
Dan
parents:
239
diff
changeset
|
33 |
|
256 | 34 |
if(!defined('scriptPath')) { |
35 |
$sp = dirname($_SERVER['REQUEST_URI']); |
|
36 |
if($sp == '/' || $sp == '\\') $sp = ''; |
|
37 |
define('scriptPath', $sp); |
|
38 |
} |
|
39 |
||
40 |
if(!defined('contentPath')) { |
|
41 |
$sp = dirname($_SERVER['REQUEST_URI']); |
|
42 |
if($sp == '/' || $sp == '\\') $sp = ''; |
|
43 |
define('contentPath', $sp); |
|
44 |
} |
|
45 |
global $_starttime, $this_page, $sideinfo; |
|
46 |
$_starttime = microtime(true); |
|
47 |
||
48 |
// Determine directory (special case for development servers) |
|
49 |
if ( strpos(__FILE__, '/repo/') && file_exists('.enanodev') ) |
|
50 |
{ |
|
51 |
$filename = str_replace('/repo/', '/', __FILE__); |
|
52 |
} |
|
53 |
else |
|
54 |
{ |
|
55 |
$filename = __FILE__; |
|
56 |
} |
|
57 |
||
58 |
define('ENANO_ROOT', dirname($filename)); |
|
59 |
||
60 |
function is_page($p) |
|
61 |
{ |
|
62 |
return true; |
|
63 |
} |
|
64 |
||
65 |
require('includes/wikiformat.php'); |
|
66 |
require('includes/constants.php'); |
|
67 |
require('includes/rijndael.php'); |
|
68 |
require('includes/functions.php'); |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
69 |
require('includes/dbal.php'); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
70 |
require('includes/lang.php'); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
71 |
require('includes/json.php'); |
256 | 72 |
|
73 |
strip_magic_quotes_gpc(); |
|
74 |
||
75 |
// |
|
76 |
// INSTALLER LIBRARY |
|
77 |
// |
|
78 |
||
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
79 |
$neutral_color = 'C'; |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
80 |
|
256 | 81 |
function run_installer_stage($stage_id, $stage_name, $function, $failure_explanation, $allow_skip = true) |
82 |
{ |
|
83 |
static $resumed = false; |
|
84 |
static $resume_stack = array(); |
|
85 |
||
86 |
if ( empty($resume_stack) && isset($_POST['resume_stack']) && preg_match('/[a-z_]+((\|[a-z_]+)+)/', $_POST['resume_stack']) ) |
|
87 |
{ |
|
88 |
$resume_stack = explode('|', $_POST['resume_stack']); |
|
89 |
} |
|
90 |
||
91 |
$already_run = false; |
|
92 |
if ( in_array($stage_id, $resume_stack) ) |
|
93 |
{ |
|
94 |
$already_run = true; |
|
95 |
} |
|
96 |
||
97 |
if ( !$resumed ) |
|
98 |
{ |
|
99 |
if ( !isset($_GET['stage']) ) |
|
100 |
$resumed = true; |
|
101 |
if ( isset($_GET['stage']) && $_GET['stage'] == $stage_id ) |
|
102 |
{ |
|
103 |
$resumed = true; |
|
104 |
} |
|
105 |
} |
|
106 |
if ( !$resumed && $allow_skip ) |
|
107 |
{ |
|
267 | 108 |
echo_stage_success($stage_id, $stage_name); |
256 | 109 |
return false; |
110 |
} |
|
111 |
if ( !function_exists($function) ) |
|
112 |
die('libenanoinstall: CRITICAL: function "' . $function . '" for ' . $stage_id . ' doesn\'t exist'); |
|
113 |
$result = @call_user_func($function, false, $already_run); |
|
114 |
if ( $result ) |
|
115 |
{ |
|
116 |
echo_stage_success($stage_id, $stage_name); |
|
117 |
$resume_stack[] = $stage_id; |
|
118 |
return true; |
|
119 |
} |
|
120 |
else |
|
121 |
{ |
|
122 |
echo_stage_failure($stage_id, $stage_name, $failure_explanation, $resume_stack); |
|
123 |
return false; |
|
124 |
} |
|
125 |
} |
|
126 |
||
127 |
function start_install_table() |
|
128 |
{ |
|
254 | 129 |
echo '<table border="0" cellspacing="0" cellpadding="0" style="margin-top: 10px;">' . "\n"; |
270
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
130 |
ob_start(); |
256 | 131 |
} |
132 |
||
133 |
function close_install_table() |
|
134 |
{ |
|
135 |
echo '</table>' . "\n\n"; |
|
270
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
136 |
ob_end_flush(); |
256 | 137 |
} |
138 |
||
139 |
function echo_stage_success($stage_id, $stage_name) |
|
140 |
{ |
|
141 |
global $neutral_color; |
|
142 |
$neutral_color = ( $neutral_color == 'A' ) ? 'C' : 'A'; |
|
143 |
echo '<tr><td style="width: 500px; background-color: #' . "{$neutral_color}{$neutral_color}FF{$neutral_color}{$neutral_color}" . '; padding: 0 5px;">' . htmlspecialchars($stage_name) . '</td><td style="padding: 0 5px;"><img alt="Done" src="images/good.gif" /></td></tr>' . "\n"; |
|
270
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
144 |
ob_flush(); |
256 | 145 |
} |
146 |
||
147 |
function echo_stage_failure($stage_id, $stage_name, $failure_explanation, $resume_stack) |
|
148 |
{ |
|
149 |
global $neutral_color; |
|
254 | 150 |
global $lang; |
256 | 151 |
|
152 |
$neutral_color = ( $neutral_color == 'A' ) ? 'C' : 'A'; |
|
153 |
echo '<tr><td style="width: 500px; background-color: #' . "FF{$neutral_color}{$neutral_color}{$neutral_color}{$neutral_color}" . '; padding: 0 5px;">' . htmlspecialchars($stage_name) . '</td><td style="padding: 0 5px;"><img alt="Failed" src="images/bad.gif" /></td></tr>' . "\n"; |
|
270
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
154 |
ob_flush(); |
256 | 155 |
close_install_table(); |
156 |
$post_data = ''; |
|
157 |
$mysql_error = mysql_error(); |
|
158 |
foreach ( $_POST as $key => $value ) |
|
159 |
{ |
|
269 | 160 |
// FIXME: These should really also be sanitized for double quotes |
256 | 161 |
$value = htmlspecialchars($value); |
162 |
$key = htmlspecialchars($key); |
|
163 |
$post_data .= " <input type=\"hidden\" name=\"$key\" value=\"$value\" />\n"; |
|
164 |
} |
|
165 |
echo '<form action="install.php?mode=install&stage=' . $stage_id . '" method="post"> |
|
166 |
' . $post_data . ' |
|
167 |
<input type="hidden" name="resume_stack" value="' . htmlspecialchars(implode('|', $resume_stack)) . '" /> |
|
254 | 168 |
<h3>' . $lang->get('meta_msg_err_stagefailed_title') . '</h3> |
256 | 169 |
<p>' . $failure_explanation . '</p> |
254 | 170 |
' . ( !empty($mysql_error) ? "<p>" . $lang->get('meta_msg_err_stagefailed_mysqlerror') . " $mysql_error</p>" : '' ) . ' |
171 |
<p>' . $lang->get('meta_msg_err_stagefailed_body') . '</p> |
|
172 |
<p style="text-align: center;"><input type="submit" value="' . $lang->get('meta_btn_retry_installation') . '" /></p> |
|
256 | 173 |
</form>'; |
174 |
global $template, $template_bak; |
|
175 |
if ( is_object($template_bak) ) |
|
176 |
$template_bak->footer(); |
|
177 |
else |
|
178 |
$template->footer(); |
|
179 |
exit; |
|
180 |
} |
|
181 |
||
182 |
// |
|
183 |
// INSTALLER STAGES |
|
184 |
// |
|
185 |
||
186 |
function stg_mysql_connect($act_get = false) |
|
187 |
{ |
|
188 |
static $conn = false; |
|
189 |
if ( $act_get ) |
|
190 |
return $conn; |
|
191 |
||
258 | 192 |
$db_user =& $_POST['db_user']; |
193 |
$db_pass =& $_POST['db_pass']; |
|
194 |
$db_name =& $_POST['db_name']; |
|
256 | 195 |
|
258 | 196 |
if ( !preg_match('/^[a-z0-9_-]+$/', $db_name) ) |
197 |
{ |
|
198 |
$db_name = htmlspecialchars($db_name); |
|
199 |
die("<p>SECURITY: malformed database name \"$db_name\"</p>"); |
|
200 |
} |
|
256 | 201 |
|
202 |
// First, try to connect using the normal credentials |
|
203 |
$conn = @mysql_connect($_POST['db_host'], $_POST['db_user'], $_POST['db_pass']); |
|
204 |
if ( !$conn ) |
|
205 |
{ |
|
206 |
// Connection failed. Do we have the root username and password? |
|
207 |
if ( !empty($_POST['db_root_user']) && !empty($_POST['db_root_pass']) ) |
|
208 |
{ |
|
209 |
$conn_root = @mysql_connect($_POST['db_host'], $_POST['db_root_user'], $_POST['db_root_pass']); |
|
210 |
if ( !$conn_root ) |
|
211 |
{ |
|
212 |
// Couldn't connect using either set of credentials. Bail out. |
|
213 |
return false; |
|
214 |
} |
|
258 | 215 |
unset($db_user, $db_pass); |
216 |
$db_user = mysql_real_escape_string($_POST['db_user']); |
|
217 |
$db_pass = mysql_real_escape_string($_POST['db_pass']); |
|
256 | 218 |
// Create the user account |
219 |
$q = @mysql_query("GRANT ALL PRIVILEGES ON test.* TO '{$db_user}'@'localhost' IDENTIFIED BY '$db_pass' WITH GRANT OPTION;", $conn_root); |
|
220 |
if ( !$q ) |
|
221 |
{ |
|
222 |
return false; |
|
223 |
} |
|
224 |
// Revoke privileges from test, we don't need them |
|
225 |
$q = @mysql_query("REVOKE ALL PRIVILEGES ON test.* FROM '{$db_user}'@'localhost';", $conn_root); |
|
226 |
if ( !$q ) |
|
227 |
{ |
|
228 |
return false; |
|
229 |
} |
|
230 |
if ( $_POST['db_host'] != 'localhost' && $_POST['db_host'] != '127.0.0.1' && $_POST['db_host'] != '::1' ) |
|
231 |
{ |
|
232 |
// If not connecting to a server running on localhost, allow from any host |
|
233 |
// this is safer than trying to detect the hostname of the webserver, but less secure |
|
234 |
$q = @mysql_query("GRANT ALL PRIVILEGES ON test.* TO '{$db_user}'@'%' IDENTIFIED BY '$db_pass' WITH GRANT OPTION;", $conn_root); |
|
235 |
if ( !$q ) |
|
236 |
{ |
|
237 |
return false; |
|
238 |
} |
|
239 |
// Revoke privileges from test, we don't need them |
|
240 |
$q = @mysql_query("REVOKE ALL PRIVILEGES ON test.* FROM '{$db_user}'@'%';", $conn_root); |
|
241 |
if ( !$q ) |
|
242 |
{ |
|
243 |
return false; |
|
244 |
} |
|
245 |
} |
|
258 | 246 |
mysql_close($conn_root); |
247 |
$conn = @mysql_connect($_POST['db_host'], $_POST['db_user'], $_POST['db_pass']); |
|
248 |
if ( !$conn ) |
|
249 |
{ |
|
250 |
// This should honestly never happen. |
|
251 |
return false; |
|
252 |
} |
|
256 | 253 |
} |
254 |
} |
|
258 | 255 |
$q = @mysql_query("USE `$db_name`;", $conn); |
256 | 256 |
if ( !$q ) |
257 |
{ |
|
258 |
// access denied to the database; try the whole root schenanegan again |
|
259 |
if ( !empty($_POST['db_root_user']) && !empty($_POST['db_root_pass']) ) |
|
260 |
{ |
|
261 |
$conn_root = @mysql_connect($_POST['db_host'], $_POST['db_root_user'], $_POST['db_root_pass']); |
|
262 |
if ( !$conn_root ) |
|
263 |
{ |
|
264 |
// Couldn't connect as root; bail out |
|
265 |
return false; |
|
266 |
} |
|
267 |
// create the database, if it doesn't exist |
|
258 | 268 |
$q = @mysql_query("CREATE DATABASE IF NOT EXISTS `$db_name`;", $conn_root); |
256 | 269 |
if ( !$q ) |
270 |
{ |
|
271 |
// this really should never fail, so don't give any tolerance to it |
|
272 |
return false; |
|
273 |
} |
|
258 | 274 |
unset($db_user, $db_pass); |
275 |
$db_user = mysql_real_escape_string($_POST['db_user']); |
|
276 |
$db_pass = mysql_real_escape_string($_POST['db_pass']); |
|
256 | 277 |
// we're in with root rights; grant access to the database |
258 | 278 |
$q = @mysql_query("GRANT ALL PRIVILEGES ON `$db_name`.* TO '{$db_user}'@'localhost';", $conn_root); |
256 | 279 |
if ( !$q ) |
280 |
{ |
|
281 |
return false; |
|
282 |
} |
|
283 |
if ( $_POST['db_host'] != 'localhost' && $_POST['db_host'] != '127.0.0.1' && $_POST['db_host'] != '::1' ) |
|
284 |
{ |
|
258 | 285 |
$q = @mysql_query("GRANT ALL PRIVILEGES ON `$db_name`.* TO '{$db_user}'@'%';", $conn_root); |
256 | 286 |
if ( !$q ) |
287 |
{ |
|
288 |
return false; |
|
289 |
} |
|
290 |
} |
|
258 | 291 |
mysql_close($conn_root); |
292 |
// grant tables have hopefully been flushed, kill and reconnect our regular user connection |
|
293 |
mysql_close($conn); |
|
294 |
$conn = @mysql_connect($_POST['db_host'], $_POST['db_user'], $_POST['db_pass']); |
|
295 |
if ( !$conn ) |
|
296 |
{ |
|
297 |
return false; |
|
298 |
} |
|
256 | 299 |
} |
300 |
else |
|
301 |
{ |
|
302 |
return false; |
|
303 |
} |
|
304 |
// try again |
|
258 | 305 |
$q = @mysql_query("USE `$db_name`;", $conn); |
256 | 306 |
if ( !$q ) |
307 |
{ |
|
308 |
// really failed this time; bail out |
|
309 |
return false; |
|
310 |
} |
|
311 |
} |
|
312 |
// connected and database exists |
|
313 |
return true; |
|
314 |
} |
|
315 |
||
316 |
function stg_drop_tables() |
|
317 |
{ |
|
318 |
$conn = stg_mysql_connect(true); |
|
319 |
if ( !$conn ) |
|
320 |
return false; |
|
321 |
// Our list of tables included in Enano |
|
272
e0ec986c0af3
Searching sucks, and Enano's search algorithm was complete bullcrap. So I rewrote it. No, it does not use Google search technology. Like they have a patent for using the Arial font on search result pages anyway.
Dan
parents:
270
diff
changeset
|
322 |
$tables = Array( 'categories', 'comments', 'config', 'logs', 'page_text', 'session_keys', 'pages', 'users', 'users_extra', 'themes', 'buddies', 'banlist', 'files', 'privmsgs', 'sidebar', 'hits', 'search_index', 'groups', 'group_members', 'acl', 'tags', 'page_groups', 'page_group_members' ); |
256 | 323 |
|
324 |
// Drop each table individually; if it fails, it probably means we're trying to drop a |
|
325 |
// table that didn't exist in the Enano version we're deleting the database for. |
|
326 |
foreach ( $tables as $table ) |
|
327 |
{ |
|
328 |
// Remember that table_prefix is sanitized. |
|
329 |
$table = "{$_POST['table_prefix']}$table"; |
|
330 |
@mysql_query("DROP TABLE $table;", $conn); |
|
331 |
} |
|
332 |
return true; |
|
333 |
} |
|
334 |
||
335 |
function stg_decrypt_admin_pass($act_get = false) |
|
336 |
{ |
|
337 |
static $decrypted_pass = false; |
|
338 |
if ( $act_get ) |
|
339 |
return $decrypted_pass; |
|
340 |
||
286
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
284
diff
changeset
|
341 |
$aes = AESCrypt::singleton(AES_BITS, AES_BLOCKSIZE); |
256 | 342 |
|
343 |
if ( !empty($_POST['crypt_data']) ) |
|
344 |
{ |
|
345 |
require('config.new.php'); |
|
346 |
if ( !isset($cryptkey) ) |
|
347 |
{ |
|
348 |
return false; |
|
349 |
} |
|
350 |
define('_INSTRESUME_AES_KEYBACKUP', $key); |
|
351 |
$key = hexdecode($cryptkey); |
|
352 |
||
353 |
$decrypted_pass = $aes->decrypt($_POST['crypt_data'], $key, ENC_HEX); |
|
354 |
||
355 |
} |
|
356 |
else |
|
357 |
{ |
|
358 |
$decrypted_pass = $_POST['admin_pass']; |
|
359 |
} |
|
360 |
if ( empty($decrypted_pass) ) |
|
361 |
return false; |
|
362 |
return true; |
|
363 |
} |
|
364 |
||
365 |
function stg_generate_aes_key($act_get = false) |
|
366 |
{ |
|
367 |
static $key = false; |
|
368 |
if ( $act_get ) |
|
369 |
return $key; |
|
370 |
||
286
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
284
diff
changeset
|
371 |
$aes = AESCrypt::singleton(AES_BITS, AES_BLOCKSIZE); |
256 | 372 |
$key = $aes->gen_readymade_key(); |
373 |
return true; |
|
374 |
} |
|
375 |
||
376 |
function stg_parse_schema($act_get = false) |
|
377 |
{ |
|
378 |
static $schema; |
|
379 |
if ( $act_get ) |
|
380 |
return $schema; |
|
381 |
||
382 |
$admin_pass = stg_decrypt_admin_pass(true); |
|
383 |
$key = stg_generate_aes_key(true); |
|
286
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
284
diff
changeset
|
384 |
$aes = AESCrypt::singleton(AES_BITS, AES_BLOCKSIZE); |
256 | 385 |
$key = $aes->hextostring($key); |
386 |
$admin_pass = $aes->encrypt($admin_pass, $key, ENC_HEX); |
|
387 |
||
388 |
$cacheonoff = is_writable(ENANO_ROOT.'/cache/') ? '1' : '0'; |
|
389 |
||
270
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
390 |
$admin_user = $_POST['admin_user']; |
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
391 |
$admin_user = str_replace('_', ' ', $admin_user); |
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
392 |
$admin_user = mysql_real_escape_string($admin_user); |
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
393 |
|
256 | 394 |
$schema = file_get_contents('schema.sql'); |
395 |
$schema = str_replace('{{SITE_NAME}}', mysql_real_escape_string($_POST['sitename'] ), $schema); |
|
396 |
$schema = str_replace('{{SITE_DESC}}', mysql_real_escape_string($_POST['sitedesc'] ), $schema); |
|
397 |
$schema = str_replace('{{COPYRIGHT}}', mysql_real_escape_string($_POST['copyright'] ), $schema); |
|
270
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
398 |
$schema = str_replace('{{ADMIN_USER}}', $admin_user , $schema); |
256 | 399 |
$schema = str_replace('{{ADMIN_PASS}}', mysql_real_escape_string($admin_pass ), $schema); |
400 |
$schema = str_replace('{{ADMIN_EMAIL}}', mysql_real_escape_string($_POST['admin_email']), $schema); |
|
401 |
$schema = str_replace('{{ENABLE_CACHE}}', mysql_real_escape_string($cacheonoff ), $schema); |
|
402 |
$schema = str_replace('{{REAL_NAME}}', '', $schema); |
|
403 |
$schema = str_replace('{{TABLE_PREFIX}}', $_POST['table_prefix'], $schema); |
|
404 |
$schema = str_replace('{{VERSION}}', ENANO_VERSION, $schema); |
|
405 |
$schema = str_replace('{{ADMIN_EMBED_PHP}}', $_POST['admin_embed_php'], $schema); |
|
406 |
// Not anymore!! :-D |
|
407 |
// $schema = str_replace('{{BETA_VERSION}}', ENANO_BETA_VERSION, $schema); |
|
408 |
||
409 |
if(isset($_POST['wiki_mode'])) |
|
410 |
{ |
|
411 |
$schema = str_replace('{{WIKI_MODE}}', '1', $schema); |
|
412 |
} |
|
413 |
else |
|
414 |
{ |
|
415 |
$schema = str_replace('{{WIKI_MODE}}', '0', $schema); |
|
416 |
} |
|
417 |
||
418 |
// Build an array of queries |
|
419 |
$schema = explode("\n", $schema); |
|
420 |
||
421 |
foreach ( $schema as $i => $sql ) |
|
422 |
{ |
|
423 |
$query =& $schema[$i]; |
|
424 |
$t = trim($query); |
|
425 |
if ( empty($t) || preg_match('/^(\#|--)/i', $t) ) |
|
426 |
{ |
|
427 |
unset($schema[$i]); |
|
428 |
unset($query); |
|
429 |
} |
|
430 |
} |
|
431 |
||
432 |
$schema = array_values($schema); |
|
433 |
$schema = implode("\n", $schema); |
|
434 |
$schema = explode(";\n", $schema); |
|
435 |
||
436 |
foreach ( $schema as $i => $sql ) |
|
437 |
{ |
|
438 |
$query =& $schema[$i]; |
|
439 |
if ( substr($query, ( strlen($query) - 1 ), 1 ) != ';' ) |
|
440 |
{ |
|
441 |
$query .= ';'; |
|
442 |
} |
|
443 |
} |
|
444 |
||
445 |
return true; |
|
446 |
} |
|
447 |
||
448 |
function stg_install($_unused, $already_run) |
|
449 |
{ |
|
450 |
// This one's pretty easy. |
|
451 |
$conn = stg_mysql_connect(true); |
|
452 |
if ( !is_resource($conn) ) |
|
453 |
return false; |
|
454 |
$schema = stg_parse_schema(true); |
|
455 |
if ( !is_array($schema) ) |
|
456 |
return false; |
|
457 |
||
458 |
// If we're resuming installation, the encryption key was regenerated. |
|
459 |
// This means we'll have to update the encrypted password in the database. |
|
460 |
if ( $already_run ) |
|
461 |
{ |
|
462 |
$admin_pass = stg_decrypt_admin_pass(true); |
|
463 |
$key = stg_generate_aes_key(true); |
|
286
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
284
diff
changeset
|
464 |
$aes = AESCrypt::singleton(AES_BITS, AES_BLOCKSIZE); |
256 | 465 |
$key = $aes->hextostring($key); |
466 |
$admin_pass = $aes->encrypt($admin_pass, $key, ENC_HEX); |
|
467 |
$admin_user = mysql_real_escape_string($_POST['admin_user']); |
|
270
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
468 |
$admin_user = str_replace('_', ' ', $admin_user); |
256 | 469 |
|
470 |
$q = @mysql_query("UPDATE {$_POST['table_prefix']}users SET password='$admin_pass' WHERE username='$admin_user';"); |
|
471 |
if ( !$q ) |
|
472 |
{ |
|
473 |
echo '<p><tt>MySQL return: ' . mysql_error() . '</tt></p>'; |
|
474 |
return false; |
|
475 |
} |
|
476 |
||
477 |
return true; |
|
478 |
} |
|
479 |
||
480 |
// OK, do the loop, baby!!! |
|
481 |
foreach($schema as $q) |
|
482 |
{ |
|
483 |
$r = mysql_query($q, $conn); |
|
484 |
if ( !$r ) |
|
485 |
{ |
|
486 |
echo '<p><tt>MySQL return: ' . mysql_error() . '</tt></p>'; |
|
487 |
return false; |
|
488 |
} |
|
489 |
} |
|
490 |
||
491 |
return true; |
|
492 |
} |
|
493 |
||
494 |
function stg_write_config() |
|
495 |
{ |
|
496 |
$privkey = stg_generate_aes_key(true); |
|
497 |
||
498 |
switch($_POST['urlscheme']) |
|
499 |
{ |
|
500 |
case "ugly": |
|
501 |
default: |
|
502 |
$cp = scriptPath.'/index.php?title='; |
|
503 |
break; |
|
504 |
case "short": |
|
505 |
$cp = scriptPath.'/index.php/'; |
|
506 |
break; |
|
507 |
case "tiny": |
|
508 |
$cp = scriptPath.'/'; |
|
509 |
break; |
|
510 |
} |
|
511 |
||
512 |
if ( $_POST['urlscheme'] == 'tiny' ) |
|
513 |
{ |
|
514 |
$contents = '# Begin Enano rules |
|
515 |
RewriteEngine on |
|
516 |
RewriteCond %{REQUEST_FILENAME} !-d |
|
517 |
RewriteCond %{REQUEST_FILENAME} !-f |
|
518 |
RewriteRule ^(.+) '.scriptPath.'/index.php?title=$1 [L,QSA] |
|
519 |
RewriteRule \.(php|html|gif|jpg|png|css|js)$ - [L] |
|
520 |
# End Enano rules |
|
521 |
'; |
|
522 |
if ( file_exists('./.htaccess') ) |
|
523 |
$ht = fopen(ENANO_ROOT.'/.htaccess', 'a+'); |
|
524 |
else |
|
525 |
$ht = fopen(ENANO_ROOT.'/.htaccess.new', 'w'); |
|
526 |
if ( !$ht ) |
|
527 |
return false; |
|
528 |
fwrite($ht, $contents); |
|
529 |
fclose($ht); |
|
530 |
} |
|
531 |
||
532 |
$config_file = '<?php |
|
533 |
/* Enano auto-generated configuration file - editing not recommended! */ |
|
534 |
$dbhost = \''.addslashes($_POST['db_host']).'\'; |
|
535 |
$dbname = \''.addslashes($_POST['db_name']).'\'; |
|
536 |
$dbuser = \''.addslashes($_POST['db_user']).'\'; |
|
537 |
$dbpasswd = \''.addslashes($_POST['db_pass']).'\'; |
|
538 |
if ( !defined(\'ENANO_CONSTANTS\') ) |
|
539 |
{ |
|
540 |
define(\'ENANO_CONSTANTS\', \'\'); |
|
541 |
define(\'table_prefix\', \''.addslashes($_POST['table_prefix']).'\'); |
|
542 |
define(\'scriptPath\', \''.scriptPath.'\'); |
|
543 |
define(\'contentPath\', \''.$cp.'\'); |
|
544 |
define(\'ENANO_INSTALLED\', \'true\'); |
|
545 |
} |
|
546 |
$crypto_key = \''.$privkey.'\'; |
|
547 |
?>'; |
|
548 |
||
549 |
$cf_handle = fopen(ENANO_ROOT.'/config.new.php', 'w'); |
|
550 |
if ( !$cf_handle ) |
|
551 |
return false; |
|
552 |
fwrite($cf_handle, $config_file); |
|
553 |
||
554 |
fclose($cf_handle); |
|
555 |
||
556 |
return true; |
|
557 |
} |
|
558 |
||
559 |
function _stg_rename_config_revert() |
|
560 |
{ |
|
561 |
if ( file_exists('./config.php') ) |
|
562 |
{ |
|
563 |
@rename('./config.php', './config.new.php'); |
|
564 |
} |
|
565 |
||
566 |
$handle = @fopen('./config.php.new', 'w'); |
|
567 |
if ( !$handle ) |
|
568 |
return false; |
|
569 |
$contents = '<?php $cryptkey = \'' . _INSTRESUME_AES_KEYBACKUP . '\'; ?>'; |
|
570 |
fwrite($handle, $contents); |
|
571 |
fclose($handle); |
|
572 |
return true; |
|
573 |
} |
|
574 |
||
272
e0ec986c0af3
Searching sucks, and Enano's search algorithm was complete bullcrap. So I rewrote it. No, it does not use Google search technology. Like they have a patent for using the Arial font on search result pages anyway.
Dan
parents:
270
diff
changeset
|
575 |
function stg_build_index() |
e0ec986c0af3
Searching sucks, and Enano's search algorithm was complete bullcrap. So I rewrote it. No, it does not use Google search technology. Like they have a patent for using the Arial font on search result pages anyway.
Dan
parents:
270
diff
changeset
|
576 |
{ |
e0ec986c0af3
Searching sucks, and Enano's search algorithm was complete bullcrap. So I rewrote it. No, it does not use Google search technology. Like they have a patent for using the Arial font on search result pages anyway.
Dan
parents:
270
diff
changeset
|
577 |
global $db, $session, $paths, $template, $plugins; // Common objects; |
e0ec986c0af3
Searching sucks, and Enano's search algorithm was complete bullcrap. So I rewrote it. No, it does not use Google search technology. Like they have a patent for using the Arial font on search result pages anyway.
Dan
parents:
270
diff
changeset
|
578 |
if ( $paths->rebuild_search_index() ) |
e0ec986c0af3
Searching sucks, and Enano's search algorithm was complete bullcrap. So I rewrote it. No, it does not use Google search technology. Like they have a patent for using the Arial font on search result pages anyway.
Dan
parents:
270
diff
changeset
|
579 |
return true; |
e0ec986c0af3
Searching sucks, and Enano's search algorithm was complete bullcrap. So I rewrote it. No, it does not use Google search technology. Like they have a patent for using the Arial font on search result pages anyway.
Dan
parents:
270
diff
changeset
|
580 |
return false; |
e0ec986c0af3
Searching sucks, and Enano's search algorithm was complete bullcrap. So I rewrote it. No, it does not use Google search technology. Like they have a patent for using the Arial font on search result pages anyway.
Dan
parents:
270
diff
changeset
|
581 |
} |
e0ec986c0af3
Searching sucks, and Enano's search algorithm was complete bullcrap. So I rewrote it. No, it does not use Google search technology. Like they have a patent for using the Arial font on search result pages anyway.
Dan
parents:
270
diff
changeset
|
582 |
|
256 | 583 |
function stg_rename_config() |
584 |
{ |
|
585 |
if ( !@rename('./config.new.php', './config.php') ) |
|
586 |
{ |
|
587 |
echo '<p>Can\'t rename config.php</p>'; |
|
588 |
_stg_rename_config_revert(); |
|
589 |
return false; |
|
590 |
} |
|
591 |
||
592 |
if ( $_POST['urlscheme'] == 'tiny' && !file_exists('./.htaccess') ) |
|
593 |
{ |
|
594 |
if ( !@rename('./.htaccess.new', './.htaccess') ) |
|
595 |
{ |
|
596 |
echo '<p>Can\'t rename .htaccess</p>'; |
|
597 |
_stg_rename_config_revert(); |
|
598 |
return false; |
|
599 |
} |
|
600 |
} |
|
601 |
return true; |
|
602 |
} |
|
603 |
||
604 |
function stg_start_api_success() |
|
605 |
{ |
|
606 |
return true; |
|
607 |
} |
|
608 |
||
609 |
function stg_start_api_failure() |
|
610 |
{ |
|
611 |
return false; |
|
612 |
} |
|
613 |
||
240
f0149a27df5f
Localized default sidebar; installer should work now including the lang import; l10n in installer to follow
Dan
parents:
239
diff
changeset
|
614 |
function stg_import_language() |
f0149a27df5f
Localized default sidebar; installer should work now including the lang import; l10n in installer to follow
Dan
parents:
239
diff
changeset
|
615 |
{ |
f0149a27df5f
Localized default sidebar; installer should work now including the lang import; l10n in installer to follow
Dan
parents:
239
diff
changeset
|
616 |
global $db, $session, $paths, $template, $plugins; // Common objects |
f0149a27df5f
Localized default sidebar; installer should work now including the lang import; l10n in installer to follow
Dan
parents:
239
diff
changeset
|
617 |
|
f0149a27df5f
Localized default sidebar; installer should work now including the lang import; l10n in installer to follow
Dan
parents:
239
diff
changeset
|
618 |
$lang_file = ENANO_ROOT . "/language/english/enano.json"; |
f0149a27df5f
Localized default sidebar; installer should work now including the lang import; l10n in installer to follow
Dan
parents:
239
diff
changeset
|
619 |
install_language("eng", "English", "English", $lang_file); |
f0149a27df5f
Localized default sidebar; installer should work now including the lang import; l10n in installer to follow
Dan
parents:
239
diff
changeset
|
620 |
|
f0149a27df5f
Localized default sidebar; installer should work now including the lang import; l10n in installer to follow
Dan
parents:
239
diff
changeset
|
621 |
return true; |
f0149a27df5f
Localized default sidebar; installer should work now including the lang import; l10n in installer to follow
Dan
parents:
239
diff
changeset
|
622 |
} |
f0149a27df5f
Localized default sidebar; installer should work now including the lang import; l10n in installer to follow
Dan
parents:
239
diff
changeset
|
623 |
|
256 | 624 |
function stg_init_logs() |
625 |
{ |
|
626 |
global $db, $session, $paths, $template, $plugins; // Common objects |
|
627 |
||
628 |
$q = $db->sql_query('INSERT INTO ' . table_prefix . 'logs(log_type,action,time_id,date_string,author,page_text,edit_summary) VALUES(\'security\', \'install_enano\', ' . time() . ', \'' . date('d M Y h:i a') . '\', \'' . mysql_real_escape_string($_POST['admin_user']) . '\', \'' . mysql_real_escape_string(ENANO_VERSION) . '\', \'' . mysql_real_escape_string($_SERVER['REMOTE_ADDR']) . '\');'); |
|
629 |
if ( !$q ) |
|
630 |
{ |
|
631 |
echo '<p><tt>MySQL return: ' . mysql_error() . '</tt></p>'; |
|
632 |
return false; |
|
633 |
} |
|
634 |
||
635 |
if ( !$session->get_permissions('clear_logs') ) |
|
636 |
{ |
|
637 |
echo '<p><tt>$session: denied clear_logs</tt></p>'; |
|
638 |
return false; |
|
639 |
} |
|
640 |
||
641 |
PageUtils::flushlogs('Main_Page', 'Article'); |
|
642 |
||
643 |
return true; |
|
644 |
} |
|
645 |
||
646 |
//die('Key size: ' . AES_BITS . '<br />Block size: ' . AES_BLOCKSIZE); |
|
647 |
||
648 |
if(!function_exists('wikiFormat')) |
|
649 |
{ |
|
650 |
function wikiFormat($message, $filter_links = true) |
|
651 |
{ |
|
652 |
$wiki = & Text_Wiki::singleton('Mediawiki'); |
|
653 |
$wiki->setRenderConf('Xhtml', 'code', 'css_filename', 'codefilename'); |
|
654 |
$wiki->setRenderConf('Xhtml', 'wikilink', 'view_url', contentPath); |
|
655 |
$result = $wiki->transform($message, 'Xhtml'); |
|
656 |
||
657 |
// HTML fixes |
|
658 |
$result = preg_replace('#<tr>([\s]*?)<\/tr>#is', '', $result); |
|
659 |
$result = preg_replace('#<p>([\s]*?)<\/p>#is', '', $result); |
|
660 |
$result = preg_replace('#<br />([\s]*?)<table#is', '<table', $result); |
|
661 |
||
662 |
return $result; |
|
663 |
} |
|
664 |
} |
|
665 |
||
666 |
global $failed, $warned; |
|
667 |
||
668 |
$failed = false; |
|
669 |
$warned = false; |
|
670 |
||
671 |
function not($var) |
|
672 |
{ |
|
673 |
if($var) |
|
674 |
{ |
|
675 |
return false; |
|
676 |
} |
|
677 |
else |
|
678 |
{ |
|
679 |
return true; |
|
680 |
} |
|
681 |
} |
|
682 |
||
683 |
function run_test($code, $desc, $extended_desc, $warn = false) |
|
684 |
{ |
|
685 |
global $failed, $warned; |
|
686 |
static $cv = true; |
|
687 |
$cv = not($cv); |
|
688 |
$val = eval($code); |
|
689 |
if($val) |
|
690 |
{ |
|
691 |
if($cv) $color='CCFFCC'; else $color='AAFFAA'; |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
692 |
echo "<tr><td style='background-color: #$color; width: 500px; padding: 5px;'>$desc</td><td style='padding-left: 10px;'><img alt='Test passed' src='images/good.gif' /></td></tr>"; |
256 | 693 |
} elseif(!$val && $warn) { |
694 |
if($cv) $color='FFFFCC'; else $color='FFFFAA'; |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
695 |
echo "<tr><td style='background-color: #$color; width: 500px; padding: 5px;'>$desc<br /><b>$extended_desc</b></td><td style='padding-left: 10px;'><img alt='Test passed with warning' src='images/unknown.gif' /></td></tr>"; |
256 | 696 |
$warned = true; |
697 |
} else { |
|
698 |
if($cv) $color='FFCCCC'; else $color='FFAAAA'; |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
699 |
echo "<tr><td style='background-color: #$color; width: 500px; padding: 5px;'>$desc<br /><b>$extended_desc</b></td><td style='padding-left: 10px;'><img alt='Test failed' src='images/bad.gif' /></td></tr>"; |
256 | 700 |
$failed = true; |
701 |
} |
|
702 |
} |
|
703 |
function is_apache() { $r = strstr($_SERVER['SERVER_SOFTWARE'], 'Apache') ? true : false; return $r; } |
|
704 |
||
276
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
705 |
function show_license($fb = false) |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
706 |
{ |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
707 |
?> |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
708 |
<div style="height: 500px; clip: rect(0px,auto,500px,auto); overflow: auto; padding: 10px; border: 1px dashed #456798; margin: 1em;"> |
279 | 709 |
<?php |
710 |
if ( !file_exists('./GPL') || !file_exists('./language/english/install/license-deed.html') ) |
|
711 |
{ |
|
712 |
echo 'Cannot find the license files.'; |
|
713 |
} |
|
714 |
echo file_get_contents('./language/english/install/license-deed.html'); |
|
715 |
if ( defined('ENANO_BETA_VERSION') || $branch == 'unstable' ) |
|
716 |
{ |
|
717 |
?> |
|
718 |
<h3><?php echo $lang->get('license_info_unstable_title'); ?></h3> |
|
719 |
<p><?php echo $lang->get('license_info_unstable_body'); ?></p> |
|
720 |
<?php |
|
721 |
} |
|
722 |
?> |
|
723 |
<h3><?php echo $lang->get('license_section_gpl_heading'); ?></h3> |
|
724 |
<?php if ( $lang->lang_code != 'eng' ): ?> |
|
725 |
<p><i><?php echo $lang->get('license_gpl_blurb_inenglish'); ?></i></p> |
|
726 |
<?php endif; ?> |
|
727 |
<?php echo wikiFormat(file_get_contents(ENANO_ROOT . '/GPL')); ?> |
|
276
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
728 |
<?php |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
729 |
global $template; |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
730 |
if ( $fb ) |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
731 |
{ |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
732 |
echo '<p style="text-align: center;">Because I could never find the Create a Page button in PHP-Nuke.</p>'; |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
733 |
echo '<p>' . str_replace('http://enanocms.org/', 'http://www.2robots.com/2003/10/15/web-portals-suck/', $template->fading_button) . '</p>'; |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
734 |
echo '<p style="text-align: center;">It\'s not a portal, my friends.</p>'; |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
735 |
} |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
736 |
?> |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
737 |
</div> |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
738 |
<?php |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
739 |
} |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
740 |
|
256 | 741 |
require_once('includes/template.php'); |
742 |
||
279 | 743 |
if(!isset($_GET['mode'])) |
744 |
{ |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
745 |
$_GET['mode'] = 'welcome'; |
279 | 746 |
} |
256 | 747 |
switch($_GET['mode']) |
748 |
{ |
|
749 |
case 'mysql_test': |
|
750 |
error_reporting(0); |
|
751 |
$dbhost = rawurldecode($_POST['host']); |
|
752 |
$dbname = rawurldecode($_POST['name']); |
|
753 |
$dbuser = rawurldecode($_POST['user']); |
|
754 |
$dbpass = rawurldecode($_POST['pass']); |
|
755 |
$dbrootuser = rawurldecode($_POST['root_user']); |
|
756 |
$dbrootpass = rawurldecode($_POST['root_pass']); |
|
757 |
if($dbrootuser != '') |
|
758 |
{ |
|
759 |
$conn = mysql_connect($dbhost, $dbrootuser, $dbrootpass); |
|
760 |
if(!$conn) |
|
761 |
{ |
|
762 |
$e = mysql_error(); |
|
763 |
if(strstr($e, "Lost connection")) |
|
764 |
die('host'.$e); |
|
765 |
else |
|
766 |
die('root'.$e); |
|
767 |
} |
|
768 |
$rsp = 'good'; |
|
257 | 769 |
$q = mysql_query('USE `' . mysql_real_escape_string($dbname) . '`;', $conn); |
256 | 770 |
if(!$q) |
771 |
{ |
|
772 |
$e = mysql_error(); |
|
773 |
if(strstr($e, 'Unknown database')) |
|
774 |
{ |
|
775 |
$rsp .= '_creating_db'; |
|
776 |
} |
|
777 |
} |
|
778 |
mysql_close($conn); |
|
779 |
$conn = mysql_connect($dbhost, $dbuser, $dbpass); |
|
780 |
if(!$conn) |
|
781 |
{ |
|
782 |
$e = mysql_error(); |
|
783 |
if(strstr($e, "Lost connection")) |
|
784 |
die('host'.$e); |
|
785 |
else |
|
786 |
$rsp .= '_creating_user'; |
|
787 |
} |
|
788 |
mysql_close($conn); |
|
789 |
die($rsp); |
|
790 |
} |
|
791 |
else |
|
792 |
{ |
|
793 |
$conn = mysql_connect($dbhost, $dbuser, $dbpass); |
|
794 |
if(!$conn) |
|
795 |
{ |
|
796 |
$e = mysql_error(); |
|
797 |
if(strstr($e, "Lost connection")) |
|
798 |
die('host'.$e); |
|
799 |
else |
|
800 |
die('auth'.$e); |
|
801 |
} |
|
257 | 802 |
$q = mysql_query('USE `' . mysql_real_escape_string($dbname) . '`;', $conn); |
256 | 803 |
if(!$q) |
804 |
{ |
|
805 |
$e = mysql_error(); |
|
806 |
if(strstr($e, 'Unknown database')) |
|
807 |
{ |
|
808 |
die('name'.$e); |
|
809 |
} |
|
810 |
else |
|
811 |
{ |
|
812 |
die('perm'.$e); |
|
813 |
} |
|
814 |
} |
|
815 |
} |
|
816 |
$v = mysql_get_server_info(); |
|
817 |
if(version_compare($v, '4.1.17', '<')) die('vers'.$v); |
|
818 |
mysql_close($conn); |
|
819 |
die('good'); |
|
820 |
break; |
|
821 |
case 'pophelp': |
|
822 |
$topic = ( isset($_GET['topic']) ) ? $_GET['topic'] : 'invalid'; |
|
823 |
switch($topic) |
|
824 |
{ |
|
825 |
case 'admin_embed_php': |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
826 |
$title = $lang->get('pophelp_admin_embed_php_title'); |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
827 |
$content = $lang->get('pophelp_admin_embed_php_body'); |
256 | 828 |
break; |
300
c9e192a059c1
Add installer pop-help topic for URL scheme, in response to http://forum.enanocms.org/viewtopic.php?f=5&t=19
Dan
parents:
295
diff
changeset
|
829 |
case 'url_schemes': |
304 | 830 |
$title = $lang->get('pophelp_url_schemes_title'); |
831 |
$content = $lang->get('pophelp_url_schemes_body'); |
|
300
c9e192a059c1
Add installer pop-help topic for URL scheme, in response to http://forum.enanocms.org/viewtopic.php?f=5&t=19
Dan
parents:
295
diff
changeset
|
832 |
break; |
256 | 833 |
default: |
834 |
$title = 'Invalid topic'; |
|
835 |
$content = 'Invalid help topic.'; |
|
836 |
break; |
|
837 |
} |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
838 |
$close_window = $lang->get('pophelp_btn_close_window'); |
256 | 839 |
echo <<<EOF |
840 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
|
841 |
<html> |
|
842 |
<head> |
|
843 |
<title>Enano installation quick help • {$title}</title> |
|
844 |
<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> |
|
845 |
<style type="text/css"> |
|
846 |
body { |
|
847 |
font-family: trebuchet ms, verdana, arial, helvetica, sans-serif; |
|
848 |
font-size: 9pt; |
|
849 |
} |
|
850 |
h2 { border-bottom: 1px solid #90B0D0; margin-bottom: 0; } |
|
851 |
h3 { font-size: 11pt; font-weight: bold; } |
|
852 |
li { list-style: url(../images/bullet.gif); } |
|
853 |
p { margin: 1.0em; } |
|
854 |
blockquote { background-color: #F4F4F4; border: 1px dotted #406080; margin: 1em; padding: 10px; max-height: 250px; overflow: auto; } |
|
855 |
a { color: #7090B0; } |
|
856 |
a:hover { color: #90B0D0; } |
|
857 |
</style> |
|
858 |
</head> |
|
859 |
<body> |
|
860 |
<h2>{$title}</h2> |
|
861 |
{$content} |
|
862 |
<p style="text-align: right;"> |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
863 |
<a href="#" onclick="window.close(); return false;">{$close_window}</a> |
256 | 864 |
</p> |
865 |
</body> |
|
866 |
</html> |
|
867 |
EOF; |
|
868 |
exit; |
|
869 |
break; |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
870 |
case 'langjs': |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
871 |
header('Content-type: text/javascript'); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
872 |
$json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
873 |
$lang_js = $json->encode($lang->strings); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
874 |
// use EEOF here because jEdit misinterprets "typ'eof'" |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
875 |
echo <<<EEOF |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
876 |
if ( typeof(enano_lang) != 'object' ) |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
877 |
var enano_lang = new Object(); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
878 |
|
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
879 |
enano_lang[1] = $lang_js; |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
880 |
|
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
881 |
EEOF; |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
882 |
exit; |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
883 |
break; |
256 | 884 |
default: |
885 |
break; |
|
886 |
} |
|
887 |
||
888 |
$template = new template_nodb(); |
|
204
473cc747022a
You know what folks, a lot of Mercurial merges failed, and I just now figured out why. So now all changes from stable are permanently synced in.
Dan
diff
changeset
|
889 |
$template->load_theme('stpatty', 'shamrock', false); |
256 | 890 |
|
891 |
$modestrings = Array( |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
892 |
'welcome' => $lang->get('welcome_modetitle'), |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
893 |
'license' => $lang->get('license_modetitle'), |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
894 |
'sysreqs' => $lang->get('sysreqs_modetitle'), |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
895 |
'database'=> $lang->get('database_modetitle'), |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
896 |
'website' => $lang->get('website_modetitle'), |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
897 |
'login' => $lang->get('login_modetitle'), |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
898 |
'confirm' => $lang->get('confirm_modetitle'), |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
899 |
'install' => $lang->get('install_modetitle'), |
280 | 900 |
'finish' => $lang->get('finish_modetitle'), |
276
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
901 |
'_hiddenstages' => '...', // all stages below this line are hidden |
279 | 902 |
'showlicense' => $lang->get('license_modetitle') |
256 | 903 |
); |
904 |
||
905 |
$sideinfo = ''; |
|
906 |
$vars = $template->extract_vars('elements.tpl'); |
|
907 |
$p = $template->makeParserText($vars['sidebar_button']); |
|
276
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
908 |
$hidden = false; |
256 | 909 |
foreach ( $modestrings as $id => $str ) |
910 |
{ |
|
911 |
if ( $_GET['mode'] == $id ) |
|
912 |
{ |
|
913 |
$flags = 'style="font-weight: bold; text-decoration: underline;"'; |
|
914 |
$this_page = $str; |
|
915 |
} |
|
916 |
else |
|
917 |
{ |
|
918 |
$flags = ''; |
|
919 |
} |
|
276
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
920 |
if ( $id == '_hiddenstages' ) |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
921 |
$hidden = true; |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
922 |
if ( !$hidden ) |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
923 |
{ |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
924 |
$p->assign_vars(Array( |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
925 |
'HREF' => '#', |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
926 |
'FLAGS' => $flags . ' onclick="return false;"', |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
927 |
'TEXT' => $str |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
928 |
)); |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
929 |
$sideinfo .= $p->run(); |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
930 |
} |
256 | 931 |
} |
932 |
||
933 |
$template->init_vars(); |
|
934 |
||
935 |
if(isset($_GET['mode']) && $_GET['mode'] == 'css') |
|
936 |
{ |
|
937 |
header('Content-type: text/css'); |
|
938 |
echo $template->get_css(); |
|
939 |
exit; |
|
940 |
} |
|
941 |
||
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
942 |
if ( defined('ENANO_IS_STABLE') ) |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
943 |
$branch = 'stable'; |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
944 |
else if ( defined('ENANO_IS_UNSTABLE') ) |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
945 |
$branch = 'unstable'; |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
946 |
else |
276
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
947 |
{ |
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
948 |
$version = explode('.', ENANO_VERSION); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
949 |
if ( !isset($version[1]) ) |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
950 |
// unknown branch, really |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
951 |
$branch = 'unstable'; |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
952 |
else |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
953 |
{ |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
954 |
$version[1] = intval($version[1]); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
955 |
if ( $version[1] % 2 == 1 ) |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
956 |
$branch = 'unstable'; |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
957 |
else |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
958 |
$branch = 'stable'; |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
959 |
} |
276
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
960 |
} |
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
961 |
|
256 | 962 |
switch($_GET['mode']) |
963 |
{ |
|
964 |
default: |
|
965 |
case 'welcome': |
|
966 |
?> |
|
967 |
<div style="text-align: center; margin-top: 10px;"> |
|
204
473cc747022a
You know what folks, a lot of Mercurial merges failed, and I just now figured out why. So now all changes from stable are permanently synced in.
Dan
diff
changeset
|
968 |
<img alt="[ Enano CMS Project logo ]" src="images/enano-artwork/installer-greeting-green.png" style="display: block; margin: 0 auto; padding-left: 100px;" /> |
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
969 |
<h2><?php echo $lang->get('welcome_heading'); ?></h2> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
970 |
<h3> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
971 |
<?php |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
972 |
$branch_l = $lang->get("welcome_branch_$branch"); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
973 |
|
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
974 |
$v_string = sprintf('%s %s – %s', $lang->get('welcome_version'), ENANO_VERSION, $branch_l); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
975 |
echo $v_string; |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
976 |
?> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
977 |
</h3> |
256 | 978 |
<?php |
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
979 |
if ( defined('ENANO_CODE_NAME') ) |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
980 |
{ |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
981 |
echo '<p>'; |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
982 |
echo $lang->get('welcome_aka', array( |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
983 |
'codename' => strtolower(ENANO_CODE_NAME) |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
984 |
)); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
985 |
echo '</p>'; |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
986 |
} |
256 | 987 |
?> |
988 |
<form action="install.php?mode=license" method="post"> |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
989 |
<input type="submit" value="<?php echo $lang->get('welcome_btn_start'); ?>" /> |
256 | 990 |
</form> |
991 |
</div> |
|
992 |
<?php |
|
993 |
break; |
|
994 |
case "license": |
|
995 |
?> |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
996 |
<h3><?php echo $lang->get('license_heading'); ?></h3> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
997 |
<p><?php echo $lang->get('license_blurb_thankyou'); ?></p> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
998 |
<p><?php echo $lang->get('license_blurb_pleaseread'); ?></p> |
276
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
999 |
<?php show_license(); ?> |
256 | 1000 |
<div class="pagenav"> |
1001 |
<form action="install.php?mode=sysreqs" method="post"> |
|
1002 |
<table border="0"> |
|
1003 |
<tr> |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1004 |
<td> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1005 |
<input type="submit" value="<?php echo $lang->get('license_btn_i_agree'); ?>" /> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1006 |
</td> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1007 |
<td> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1008 |
<p> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1009 |
<span style="font-weight: bold;"><?php echo $lang->get('meta_lbl_before_continue'); ?></span><br /> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1010 |
• <?php echo $lang->get('license_objective_ensure_agree'); ?><br /> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1011 |
• <?php echo $lang->get('license_objective_have_db_info'); ?> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1012 |
</p> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1013 |
</td> |
256 | 1014 |
</tr> |
1015 |
</table> |
|
1016 |
</form> |
|
1017 |
</div> |
|
1018 |
<?php |
|
1019 |
break; |
|
1020 |
case "sysreqs": |
|
1021 |
error_reporting(E_ALL); |
|
1022 |
?> |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1023 |
<h3><?php echo $lang->get('sysreqs_heading'); ?></h3> |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1024 |
<p><?php echo $lang->get('sysreqs_blurb'); ?></p> |
256 | 1025 |
<table border="0" cellspacing="0" cellpadding="0"> |
1026 |
<?php |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1027 |
run_test('return version_compare(\'4.3.0\', PHP_VERSION, \'<\');', $lang->get('sysreqs_req_php'), $lang->get('sysreqs_req_desc_php') ); |
304 | 1028 |
run_test('return version_compare(\'5.2.0\', PHP_VERSION, \'<\');', $lang->get('sysreqs_req_php5'), $lang->get('sysreqs_req_desc_php5'), true); |
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1029 |
run_test('return function_exists(\'mysql_connect\');', $lang->get('sysreqs_req_mysql'), $lang->get('sysreqs_req_desc_mysql') ); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1030 |
run_test('return @ini_get(\'file_uploads\');', $lang->get('sysreqs_req_uploads'), $lang->get('sysreqs_req_desc_uploads') ); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1031 |
run_test('return is_apache();', $lang->get('sysreqs_req_apache'), $lang->get('sysreqs_req_desc_apache'), true); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1032 |
run_test('return is_writable(ENANO_ROOT.\'/config.new.php\');', $lang->get('sysreqs_req_config'), $lang->get('sysreqs_req_desc_config') ); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1033 |
run_test('return file_exists(\'/usr/bin/convert\');', $lang->get('sysreqs_req_magick'), $lang->get('sysreqs_req_desc_magick'), true); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1034 |
run_test('return is_writable(ENANO_ROOT.\'/cache/\');', $lang->get('sysreqs_req_cachewriteable'), $lang->get('sysreqs_req_desc_cachewriteable'), true); |
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1035 |
run_test('return is_writable(ENANO_ROOT.\'/files/\');', $lang->get('sysreqs_req_fileswriteable'), $lang->get('sysreqs_req_desc_fileswriteable'), true); |
256 | 1036 |
echo '</table>'; |
1037 |
if(!$failed) |
|
1038 |
{ |
|
1039 |
?> |
|
1040 |
||
1041 |
<div class="pagenav"> |
|
1042 |
<?php |
|
1043 |
if($warned) { |
|
1044 |
echo '<table border="0" cellspacing="0" cellpadding="0">'; |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1045 |
run_test('return false;', $lang->get('sysreqs_summary_warn_title'), $lang->get('sysreqs_summary_warn_body'), true); |
256 | 1046 |
echo '</table>'; |
1047 |
} else { |
|
1048 |
echo '<table border="0" cellspacing="0" cellpadding="0">'; |
|
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1049 |
run_test('return true;', '<b>' . $lang->get('sysreqs_summary_success_title') . '</b><br />' . $lang->get('sysreqs_summary_success_body'), 'You should never see this text. Congratulations for being an Enano hacker!'); |
256 | 1050 |
echo '</table>'; |
1051 |
} |
|
1052 |
?> |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1053 |
<form action="install.php?mode=database" method="post"> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1054 |
<table border="0"> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1055 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1056 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1057 |
<input type="submit" value="<?php echo $lang->get('meta_btn_continue'); ?>" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1058 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1059 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1060 |
<p> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1061 |
<span style="font-weight: bold;"><?php echo $lang->get('meta_lbl_before_continue'); ?></span><br /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1062 |
• <?php echo $lang->get('sysreqs_objective_scalebacks'); ?><br /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1063 |
• <?php echo $lang->get('license_objective_have_db_info'); ?> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1064 |
</p> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1065 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1066 |
</tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1067 |
</table> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1068 |
</form> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1069 |
</div> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1070 |
<?php |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1071 |
} |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1072 |
else |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1073 |
{ |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1074 |
if ( $failed ) |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1075 |
{ |
256 | 1076 |
echo '<div class="pagenav"><table border="0" cellspacing="0" cellpadding="0">'; |
243
a7d0f2711df1
Installer localization started. Welcome, License, and SysReqs pages are fully localized.
Dan
parents:
241
diff
changeset
|
1077 |
run_test('return false;', $lang->get('sysreqs_summary_fail_title'), $lang->get('sysreqs_summary_fail_body')); |
256 | 1078 |
echo '</table></div>'; |
1079 |
} |
|
1080 |
} |
|
1081 |
?> |
|
1082 |
<?php |
|
1083 |
break; |
|
1084 |
case "database": |
|
1085 |
?> |
|
1086 |
<script type="text/javascript"> |
|
1087 |
function ajaxGet(uri, f) { |
|
1088 |
if (window.XMLHttpRequest) { |
|
1089 |
ajax = new XMLHttpRequest(); |
|
1090 |
} else { |
|
1091 |
if (window.ActiveXObject) { |
|
1092 |
ajax = new ActiveXObject("Microsoft.XMLHTTP"); |
|
1093 |
} else { |
|
1094 |
alert('Enano client-side runtime error: No AJAX support, unable to continue'); |
|
1095 |
return; |
|
1096 |
} |
|
1097 |
} |
|
1098 |
ajax.onreadystatechange = f; |
|
1099 |
ajax.open('GET', uri, true); |
|
1100 |
ajax.send(null); |
|
1101 |
} |
|
1102 |
||
1103 |
function ajaxPost(uri, parms, f) { |
|
1104 |
if (window.XMLHttpRequest) { |
|
1105 |
ajax = new XMLHttpRequest(); |
|
1106 |
} else { |
|
1107 |
if (window.ActiveXObject) { |
|
1108 |
ajax = new ActiveXObject("Microsoft.XMLHTTP"); |
|
1109 |
} else { |
|
1110 |
alert('Enano client-side runtime error: No AJAX support, unable to continue'); |
|
1111 |
return; |
|
1112 |
} |
|
1113 |
} |
|
1114 |
ajax.onreadystatechange = f; |
|
1115 |
ajax.open('POST', uri, true); |
|
1116 |
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); |
|
1117 |
ajax.setRequestHeader("Content-length", parms.length); |
|
1118 |
ajax.setRequestHeader("Connection", "close"); |
|
1119 |
ajax.send(parms); |
|
1120 |
} |
|
1121 |
function ajaxTestConnection() |
|
1122 |
{ |
|
1123 |
v = verify(); |
|
1124 |
if(!v) |
|
1125 |
{ |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1126 |
alert($lang.get('meta_msg_err_verification')); |
256 | 1127 |
return false; |
1128 |
} |
|
1129 |
var frm = document.forms.dbinfo; |
|
1130 |
db_host = escape(frm.db_host.value.replace('+', '%2B')); |
|
1131 |
db_name = escape(frm.db_name.value.replace('+', '%2B')); |
|
1132 |
db_user = escape(frm.db_user.value.replace('+', '%2B')); |
|
1133 |
db_pass = escape(frm.db_pass.value.replace('+', '%2B')); |
|
1134 |
db_root_user = escape(frm.db_root_user.value.replace('+', '%2B')); |
|
1135 |
db_root_pass = escape(frm.db_root_pass.value.replace('+', '%2B')); |
|
1136 |
||
1137 |
parms = 'host='+db_host+'&name='+db_name+'&user='+db_user+'&pass='+db_pass+'&root_user='+db_root_user+'&root_pass='+db_root_pass; |
|
1138 |
ajaxPost('<?php echo scriptPath; ?>/install.php?mode=mysql_test', parms, function() { |
|
1139 |
if(ajax.readyState==4) |
|
1140 |
{ |
|
1141 |
s = ajax.responseText.substr(0, 4); |
|
1142 |
t = ajax.responseText.substr(4, ajax.responseText.length); |
|
1143 |
if(s.substr(0, 4)=='good') |
|
1144 |
{ |
|
1145 |
document.getElementById('s_db_host').src='images/good.gif'; |
|
1146 |
document.getElementById('s_db_name').src='images/good.gif'; |
|
1147 |
document.getElementById('s_db_auth').src='images/good.gif'; |
|
1148 |
document.getElementById('s_db_root').src='images/good.gif'; |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1149 |
if(t.match(/_creating_db/)) document.getElementById('e_db_name').innerHTML = $lang.get('database_msg_warn_creating_db'); |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1150 |
if(t.match(/_creating_user/)) document.getElementById('e_db_auth').innerHTML = $lang.get('database_msg_warn_creating_user'); |
256 | 1151 |
document.getElementById('s_mysql_version').src='images/good.gif'; |
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1152 |
document.getElementById('e_mysql_version').innerHTML = $lang.get('database_msg_info_mysql_good'); |
256 | 1153 |
} |
1154 |
else |
|
1155 |
{ |
|
1156 |
switch(s) |
|
1157 |
{ |
|
1158 |
case 'host': |
|
1159 |
document.getElementById('s_db_host').src='images/bad.gif'; |
|
1160 |
document.getElementById('s_db_name').src='images/unknown.gif'; |
|
1161 |
document.getElementById('s_db_auth').src='images/unknown.gif'; |
|
1162 |
document.getElementById('s_db_root').src='images/unknown.gif'; |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1163 |
document.getElementById('e_db_host').innerHTML = $lang.get('database_msg_err_mysql_connect', { db_host: document.forms.dbinfo.db_host.value, mysql_error: t }); |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1164 |
document.getElementById('e_mysql_version').innerHTML = $lang.get('database_msg_warn_mysql_version'); |
256 | 1165 |
break; |
1166 |
case 'auth': |
|
1167 |
document.getElementById('s_db_host').src='images/good.gif'; |
|
1168 |
document.getElementById('s_db_name').src='images/unknown.gif'; |
|
1169 |
document.getElementById('s_db_auth').src='images/bad.gif'; |
|
1170 |
document.getElementById('s_db_root').src='images/unknown.gif'; |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1171 |
document.getElementById('e_db_auth').innerHTML = $lang.get('database_msg_err_mysql_auth', { mysql_error: t }); |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1172 |
document.getElementById('e_mysql_version').innerHTML = $lang.get('database_msg_warn_mysql_version'); |
256 | 1173 |
break; |
1174 |
case 'perm': |
|
1175 |
document.getElementById('s_db_host').src='images/good.gif'; |
|
1176 |
document.getElementById('s_db_name').src='images/bad.gif'; |
|
1177 |
document.getElementById('s_db_auth').src='images/good.gif'; |
|
1178 |
document.getElementById('s_db_root').src='images/unknown.gif'; |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1179 |
document.getElementById('e_db_name').innerHTML = $lang.get('database_msg_err_mysql_dbperm', { mysql_error: t }); |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1180 |
document.getElementById('e_mysql_version').innerHTML = $lang.get('database_msg_warn_mysql_version'); |
256 | 1181 |
break; |
1182 |
case 'name': |
|
1183 |
document.getElementById('s_db_host').src='images/good.gif'; |
|
1184 |
document.getElementById('s_db_name').src='images/bad.gif'; |
|
1185 |
document.getElementById('s_db_auth').src='images/good.gif'; |
|
1186 |
document.getElementById('s_db_root').src='images/unknown.gif'; |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1187 |
document.getElementById('e_db_name').innerHTML = $lang.get('database_msg_err_mysql_dbexist', { mysql_error: t }); |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1188 |
document.getElementById('e_mysql_version').innerHTML = $lang.get('database_msg_warn_mysql_version'); |
256 | 1189 |
break; |
1190 |
case 'root': |
|
1191 |
document.getElementById('s_db_host').src='images/good.gif'; |
|
1192 |
document.getElementById('s_db_name').src='images/unknown.gif'; |
|
1193 |
document.getElementById('s_db_auth').src='images/unknown.gif'; |
|
1194 |
document.getElementById('s_db_root').src='images/bad.gif'; |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1195 |
document.getElementById('e_db_root').innerHTML = $lang.get('database_msg_err_mysql_auth', { mysql_error: t }); |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1196 |
document.getElementById('e_mysql_version').innerHTML = $lang.get('database_msg_warn_mysql_version'); |
256 | 1197 |
break; |
1198 |
case 'vers': |
|
1199 |
document.getElementById('s_db_host').src='images/good.gif'; |
|
1200 |
document.getElementById('s_db_name').src='images/good.gif'; |
|
1201 |
document.getElementById('s_db_auth').src='images/good.gif'; |
|
1202 |
document.getElementById('s_db_root').src='images/good.gif'; |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1203 |
if(t.match(/_creating_db/)) document.getElementById('e_db_name').innerHTML = $lang.get('database_msg_warn_creating_db'); |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1204 |
if(t.match(/_creating_user/)) document.getElementById('e_db_auth').innerHTML = $lang.get('database_msg_warn_creating_user'); |
256 | 1205 |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1206 |
document.getElementById('e_mysql_version').innerHTML = $lang.get('database_msg_err_mysql_version', { mysql_version: t }); |
256 | 1207 |
document.getElementById('s_mysql_version').src='images/bad.gif'; |
1208 |
default: |
|
1209 |
alert(t); |
|
1210 |
break; |
|
1211 |
} |
|
1212 |
} |
|
1213 |
} |
|
1214 |
}); |
|
1215 |
} |
|
1216 |
function verify() |
|
1217 |
{ |
|
1218 |
document.getElementById('e_db_host').innerHTML = ''; |
|
1219 |
document.getElementById('e_db_auth').innerHTML = ''; |
|
1220 |
document.getElementById('e_db_name').innerHTML = ''; |
|
1221 |
document.getElementById('e_db_root').innerHTML = ''; |
|
1222 |
var frm = document.forms.dbinfo; |
|
1223 |
ret = true; |
|
1224 |
if(frm.db_host.value != '') |
|
1225 |
{ |
|
1226 |
document.getElementById('s_db_host').src='images/unknown.gif'; |
|
1227 |
} |
|
1228 |
else |
|
1229 |
{ |
|
1230 |
document.getElementById('s_db_host').src='images/bad.gif'; |
|
1231 |
ret = false; |
|
1232 |
} |
|
262
596945fa6e56
Javascript validation for install DB info form didn't allow dashes
Dan
parents:
258
diff
changeset
|
1233 |
if(frm.db_name.value.match(/^([a-z0-9_-]+)$/g)) |
256 | 1234 |
{ |
1235 |
document.getElementById('s_db_name').src='images/unknown.gif'; |
|
1236 |
} |
|
1237 |
else |
|
1238 |
{ |
|
1239 |
document.getElementById('s_db_name').src='images/bad.gif'; |
|
1240 |
ret = false; |
|
1241 |
} |
|
1242 |
if(frm.db_user.value != '') |
|
1243 |
{ |
|
1244 |
document.getElementById('s_db_auth').src='images/unknown.gif'; |
|
1245 |
} |
|
1246 |
else |
|
1247 |
{ |
|
1248 |
document.getElementById('s_db_auth').src='images/bad.gif'; |
|
1249 |
ret = false; |
|
1250 |
} |
|
1251 |
if(frm.table_prefix.value.match(/^([a-z0-9_]*)$/g)) |
|
1252 |
{ |
|
1253 |
document.getElementById('s_table_prefix').src='images/good.gif'; |
|
1254 |
} |
|
1255 |
else |
|
1256 |
{ |
|
1257 |
document.getElementById('s_table_prefix').src='images/bad.gif'; |
|
1258 |
ret = false; |
|
1259 |
} |
|
1260 |
if(frm.db_root_user.value == '') |
|
1261 |
{ |
|
1262 |
document.getElementById('s_db_root').src='images/good.gif'; |
|
1263 |
} |
|
1264 |
else if(frm.db_root_user.value != '' && frm.db_root_pass.value == '') |
|
1265 |
{ |
|
1266 |
document.getElementById('s_db_root').src='images/bad.gif'; |
|
1267 |
ret = false; |
|
1268 |
} |
|
1269 |
else |
|
1270 |
{ |
|
1271 |
document.getElementById('s_db_root').src='images/unknown.gif'; |
|
1272 |
} |
|
1273 |
if(ret) frm._cont.disabled = false; |
|
1274 |
else frm._cont.disabled = true; |
|
1275 |
return ret; |
|
1276 |
} |
|
1277 |
window.onload = verify; |
|
1278 |
</script> |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1279 |
<p><?php echo $lang->get('database_blurb_needdb'); ?></p> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1280 |
<p><?php echo $lang->get('database_blurb_howtomysql'); ?></p> |
256 | 1281 |
<?php |
204
473cc747022a
You know what folks, a lot of Mercurial merges failed, and I just now figured out why. So now all changes from stable are permanently synced in.
Dan
diff
changeset
|
1282 |
if ( file_exists('/etc/enano-is-virt-appliance') ) |
256 | 1283 |
{ |
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1284 |
echo '<p> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1285 |
' . $lang->get('database_vm_login_info', array( 'host' => 'localhost', 'user' => 'enano', 'pass' => 'clurichaun', 'name' => 'enano_www1' )) . ' |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1286 |
</p>'; |
256 | 1287 |
} |
1288 |
?> |
|
1289 |
<form name="dbinfo" action="install.php?mode=website" method="post"> |
|
1290 |
<table border="0"> |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1291 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1292 |
<td colspan="3" style="text-align: center"> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1293 |
<h3><?php echo $lang->get('database_table_title'); ?></h3> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1294 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1295 |
</tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1296 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1297 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1298 |
<b><?php echo $lang->get('database_field_hostname_title'); ?></b> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1299 |
<br /><?php echo $lang->get('database_field_hostname_body'); ?> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1300 |
<br /><span style="color: #993300" id="e_db_host"></span> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1301 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1302 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1303 |
<input onkeyup="verify();" name="db_host" size="30" type="text" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1304 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1305 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1306 |
<img id="s_db_host" alt="Good/bad icon" src="images/bad.gif" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1307 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1308 |
</tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1309 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1310 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1311 |
<b><?php echo $lang->get('database_field_dbname_title'); ?></b><br /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1312 |
<?php echo $lang->get('database_field_dbname_body'); ?><br /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1313 |
<span style="color: #993300" id="e_db_name"></span> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1314 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1315 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1316 |
<input onkeyup="verify();" name="db_name" size="30" type="text" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1317 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1318 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1319 |
<img id="s_db_name" alt="Good/bad icon" src="images/bad.gif" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1320 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1321 |
</tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1322 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1323 |
<td rowspan="2"> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1324 |
<b><?php echo $lang->get('database_field_dbauth_title'); ?></b><br /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1325 |
<?php echo $lang->get('database_field_dbauth_body'); ?><br /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1326 |
<span style="color: #993300" id="e_db_auth"></span> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1327 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1328 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1329 |
<input onkeyup="verify();" name="db_user" size="30" type="text" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1330 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1331 |
<td rowspan="2"> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1332 |
<img id="s_db_auth" alt="Good/bad icon" src="images/bad.gif" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1333 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1334 |
</tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1335 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1336 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1337 |
<input name="db_pass" size="30" type="password" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1338 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1339 |
</tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1340 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1341 |
<td colspan="3" style="text-align: center"> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1342 |
<h3><?php echo $lang->get('database_heading_optionalinfo'); ?></h3> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1343 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1344 |
</tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1345 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1346 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1347 |
<b><?php echo $lang->get('database_field_tableprefix_title'); ?></b><br /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1348 |
<?php echo $lang->get('database_field_tableprefix_body'); ?> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1349 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1350 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1351 |
<input onkeyup="verify();" name="table_prefix" size="30" type="text" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1352 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1353 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1354 |
<img id="s_table_prefix" alt="Good/bad icon" src="images/good.gif" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1355 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1356 |
</tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1357 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1358 |
<td rowspan="2"> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1359 |
<b><?php echo $lang->get('database_field_rootauth_title'); ?></b><br /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1360 |
<?php echo $lang->get('database_field_rootauth_body'); ?><br /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1361 |
<span style="color: #993300" id="e_db_root"></span> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1362 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1363 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1364 |
<input onkeyup="verify();" name="db_root_user" size="30" type="text" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1365 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1366 |
<td rowspan="2"> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1367 |
<img id="s_db_root" alt="Good/bad icon" src="images/good.gif" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1368 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1369 |
</tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1370 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1371 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1372 |
<input onkeyup="verify();" name="db_root_pass" size="30" type="password" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1373 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1374 |
</tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1375 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1376 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1377 |
<b><?php echo $lang->get('database_field_mysqlversion_title'); ?></b> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1378 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1379 |
<td id="e_mysql_version"> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1380 |
<?php echo $lang->get('database_field_mysqlversion_blurb_willbechecked'); ?> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1381 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1382 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1383 |
<img id="s_mysql_version" alt="Good/bad icon" src="images/unknown.gif" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1384 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1385 |
</tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1386 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1387 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1388 |
<b><?php echo $lang->get('database_field_droptables_title'); ?></b><br /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1389 |
<?php echo $lang->get('database_field_droptables_body'); ?> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1390 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1391 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1392 |
<input type="checkbox" name="drop_tables" id="dtcheck" /> <label for="dtcheck"><?php echo $lang->get('database_field_droptables_lbl'); ?></label> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1393 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1394 |
</tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1395 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1396 |
<td colspan="3" style="text-align: center"> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1397 |
<input type="button" value="<?php echo $lang->get('database_btn_testconnection'); ?>" onclick="ajaxTestConnection();" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1398 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1399 |
</tr> |
256 | 1400 |
</table> |
1401 |
<div class="pagenav"> |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1402 |
<table border="0"> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1403 |
<tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1404 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1405 |
<input type="submit" value="<?php echo $lang->get('meta_btn_continue'); ?>" onclick="return verify();" name="_cont" /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1406 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1407 |
<td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1408 |
<p> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1409 |
<span style="font-weight: bold;"><?php echo $lang->get('meta_lbl_before_continue'); ?></span><br /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1410 |
• <?php echo $lang->get('database_objective_test'); ?><br /> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1411 |
• <?php echo $lang->get('database_objective_uncrypt'); ?> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1412 |
</p> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1413 |
</td> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1414 |
</tr> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1415 |
</table> |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1416 |
</div> |
256 | 1417 |
</form> |
1418 |
<?php |
|
1419 |
break; |
|
1420 |
case "website": |
|
244
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1421 |
if ( !isset($_POST['_cont']) ) |
09f8a9a03ccf
Localized installer database info page and finished localizing sysreqs page
Dan
parents:
243
diff
changeset
|
1422 |
{ |
204
473cc747022a
You know what folks, a lot of Mercurial merges failed, and I just now figured out why. So now all changes from stable are permanently synced in.
Dan
diff
changeset
|
1423 |
echo 'No POST data signature found. Please <a href="install.php?mode=license">restart the installation</a>.'; |
256 | 1424 |
$template->footer(); |
1425 |
exit; |
|
1426 |
} |
|
1427 |
unset($_POST['_cont']); |
|
1428 |
?> |
|
1429 |
<script type="text/javascript"> |
|
1430 |
function verify() |
|
1431 |
{ |
|
1432 |
var frm = document.forms.siteinfo; |
|
1433 |
ret = true; |
|
1434 |
if(frm.sitename.value.match(/^(.+)$/g) && frm.sitename.value != 'Enano') |
|
1435 |
{ |
|
1436 |
document.getElementById('s_name').src='images/good.gif'; |
|
1437 |
} |
|
1438 |
else |
|
1439 |
{ |
|
1440 |
document.getElementById('s_name').src='images/bad.gif'; |
|
1441 |
ret = false; |
|
1442 |
} |
|
1443 |
if(frm.sitedesc.value.match(/^(.+)$/g)) |
|
1444 |
{ |
|
1445 |
document.getElementById('s_desc').src='images/good.gif'; |
|
1446 |
} |
|
1447 |
else |
|
1448 |
{ |
|
1449 |
document.getElementById('s_desc').src='images/bad.gif'; |
|
1450 |
ret = false; |
|
1451 |
} |
|
1452 |
if(frm.copyright.value.match(/^(.+)$/g)) |
|
1453 |
{ |
|
1454 |
document.getElementById('s_copyright').src='images/good.gif'; |
|
1455 |
} |
|
1456 |
else |
|
1457 |
{ |
|
1458 |
document.getElementById('s_copyright').src='images/bad.gif'; |
|
1459 |
ret = false; |
|
1460 |
} |
|
1461 |
if(ret) frm._cont.disabled = false; |
|
1462 |
else frm._cont.disabled = true; |
|
1463 |
return ret; |
|
1464 |
} |
|
1465 |
window.onload = verify; |
|
1466 |
</script> |
|
1467 |
<form name="siteinfo" action="install.php?mode=login" method="post"> |
|
1468 |
<?php |
|
1469 |
$k = array_keys($_POST); |
|
1470 |
for($i=0;$i<sizeof($_POST);$i++) { |
|
1471 |
echo '<input type="hidden" name="'.htmlspecialchars($k[$i]).'" value="'.htmlspecialchars($_POST[$k[$i]]).'" />'."\n"; |
|
1472 |
} |
|
1473 |
?> |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1474 |
<p><?php echo $lang->get('website_header_blurb'); ?></p> |
256 | 1475 |
<table border="0"> |
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1476 |
<tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1477 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1478 |
<b><?php echo $lang->get('website_field_name_title'); ?></b><br /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1479 |
<?php echo $lang->get('website_field_name_body'); ?> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1480 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1481 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1482 |
<input onkeyup="verify();" name="sitename" type="text" size="30" /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1483 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1484 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1485 |
<img id="s_name" alt="Good/bad icon" src="images/bad.gif" /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1486 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1487 |
</tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1488 |
<tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1489 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1490 |
<b><?php echo $lang->get('website_field_desc_title'); ?></b><br /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1491 |
<?php echo $lang->get('website_field_desc_body'); ?> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1492 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1493 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1494 |
<input onkeyup="verify();" name="sitedesc" type="text" size="30" /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1495 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1496 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1497 |
<img id="s_desc" alt="Good/bad icon" src="images/bad.gif" /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1498 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1499 |
</tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1500 |
<tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1501 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1502 |
<b><?php echo $lang->get('website_field_copyright_title'); ?></b><br /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1503 |
<?php echo $lang->get('website_field_copyright_body'); ?> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1504 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1505 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1506 |
<input onkeyup="verify();" name="copyright" type="text" size="30" /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1507 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1508 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1509 |
<img id="s_copyright" alt="Good/bad icon" src="images/bad.gif" /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1510 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1511 |
</tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1512 |
<tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1513 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1514 |
<b><?php echo $lang->get('website_field_wikimode_title'); ?></b><br /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1515 |
<?php echo $lang->get('website_field_wikimode_body'); ?> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1516 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1517 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1518 |
<input name="wiki_mode" type="checkbox" id="wmcheck" /> <label for="wmcheck"><?php echo $lang->get('website_field_wikimode_checkbox'); ?></label> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1519 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1520 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1521 |
|
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1522 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1523 |
</tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1524 |
<tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1525 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1526 |
<b><?php echo $lang->get('website_field_urlscheme_title'); ?></b><br /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1527 |
<?php echo $lang->get('website_field_urlscheme_body'); ?> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1528 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1529 |
<td colspan="2"> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1530 |
<input type="radio" <?php if(!is_apache()) echo 'checked="checked" '; ?>name="urlscheme" value="ugly" id="ugly" /> <label for="ugly"><?php echo $lang->get('website_field_urlscheme_ugly'); ?></label><br /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1531 |
<input type="radio" <?php if(is_apache()) echo 'checked="checked" '; ?>name="urlscheme" value="short" id="short" /> <label for="short"><?php echo $lang->get('website_field_urlscheme_short'); ?></label><br /> |
304 | 1532 |
<input type="radio" name="urlscheme" value="tiny" id="petite"> <label for="petite"><?php echo $lang->get('website_field_urlscheme_tiny'); ?></label><br /> |
1533 |
<small><a href="install.php?mode=pophelp&topic=url_schemes" onclick="window.open(this.href, 'pophelpwin', 'width=550,height=400,status=no,toolbars=no,toolbar=no,address=no,scroll=yes'); return false;"><?php echo $lang->get('website_field_urlscheme_helplink'); ?></a></small> |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1534 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1535 |
</tr> |
256 | 1536 |
</table> |
1537 |
<div class="pagenav"> |
|
1538 |
<table border="0"> |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1539 |
<tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1540 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1541 |
<input type="submit" value="<?php echo $lang->get('meta_btn_continue'); ?>" onclick="return verify();" name="_cont" /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1542 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1543 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1544 |
<p> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1545 |
<span style="font-weight: bold;"><?php echo $lang->get('meta_lbl_before_continue'); ?></span><br /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1546 |
• <?php echo $lang->get('website_objective_verify'); ?> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1547 |
</p> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1548 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1549 |
</tr> |
256 | 1550 |
</table> |
1551 |
</div> |
|
1552 |
</form> |
|
1553 |
<?php |
|
1554 |
break; |
|
1555 |
case "login": |
|
1556 |
if(!isset($_POST['_cont'])) { |
|
204
473cc747022a
You know what folks, a lot of Mercurial merges failed, and I just now figured out why. So now all changes from stable are permanently synced in.
Dan
diff
changeset
|
1557 |
echo 'No POST data signature found. Please <a href="install.php?mode=license">restart the installation</a>.'; |
256 | 1558 |
$template->footer(); |
1559 |
exit; |
|
1560 |
} |
|
1561 |
unset($_POST['_cont']); |
|
1562 |
require('config.new.php'); |
|
286
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
284
diff
changeset
|
1563 |
$aes = AESCrypt::singleton(AES_BITS, AES_BLOCKSIZE); |
256 | 1564 |
if ( isset($crypto_key) ) |
1565 |
{ |
|
1566 |
$cryptkey = $crypto_key; |
|
1567 |
} |
|
1568 |
if(!isset($cryptkey) || ( isset($cryptkey) && strlen($cryptkey) != AES_BITS / 4) ) |
|
1569 |
{ |
|
1570 |
$cryptkey = $aes->gen_readymade_key(); |
|
1571 |
$handle = @fopen(ENANO_ROOT.'/config.new.php', 'w'); |
|
1572 |
if(!$handle) |
|
1573 |
{ |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1574 |
echo '<p>ERROR: Despite my repeated attempts to verify that the configuration file can be written, I was indeed prevented from opening it for writing. Maybe you\'re still on <del>crack</del> Windows?</p>'; |
256 | 1575 |
$template->footer(); |
1576 |
exit; |
|
1577 |
} |
|
1578 |
fwrite($handle, '<?php $cryptkey = \''.$cryptkey.'\'; ?>'); |
|
1579 |
fclose($handle); |
|
1580 |
} |
|
1581 |
// Sorry for the ugly hack, but this f***s up jEdit badly. |
|
1582 |
echo ' |
|
1583 |
<script type="text/javascript"> |
|
1584 |
function verify() |
|
1585 |
{ |
|
1586 |
var frm = document.forms.login; |
|
1587 |
ret = true; |
|
284
0f039028f7a5
Made the username validation regexp in install less picky since it was blacklisting two of the letters in my name. >.<
Dan
parents:
282
diff
changeset
|
1588 |
if ( frm.admin_user.value.match(/^([^<>&\?\'"%\/]+)$/) && !frm.admin_user.value.match(/^(?:(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$/) && frm.admin_user.value.toLowerCase() != \'anonymous\' ) |
256 | 1589 |
{ |
1590 |
document.getElementById(\'s_user\').src = \'images/good.gif\'; |
|
1591 |
} |
|
1592 |
else |
|
1593 |
{ |
|
1594 |
document.getElementById(\'s_user\').src = \'images/bad.gif\'; |
|
1595 |
ret = false; |
|
1596 |
} |
|
1597 |
if(frm.admin_pass.value.length >= 6 && frm.admin_pass.value == frm.admin_pass_confirm.value) |
|
1598 |
{ |
|
1599 |
document.getElementById(\'s_password\').src = \'images/good.gif\'; |
|
1600 |
} |
|
1601 |
else |
|
1602 |
{ |
|
1603 |
document.getElementById(\'s_password\').src = \'images/bad.gif\'; |
|
1604 |
ret = false; |
|
1605 |
} |
|
295
f948557af068
Add warning in installer for PHP < 5.2.0; hopefully fix validation of e-mail addresses with dashes
Dan
parents:
286
diff
changeset
|
1606 |
if(frm.admin_email.value.match(/^(?:[\\w\\d_-]+\\.?)+@(?:(?:[\\w\\d-]\\-?)+\\.)+\\w{2,4}$/)) |
256 | 1607 |
{ |
1608 |
document.getElementById(\'s_email\').src = \'images/good.gif\'; |
|
1609 |
} |
|
1610 |
else |
|
1611 |
{ |
|
1612 |
document.getElementById(\'s_email\').src = \'images/bad.gif\'; |
|
1613 |
ret = false; |
|
1614 |
} |
|
1615 |
if(ret) frm._cont.disabled = false; |
|
1616 |
else frm._cont.disabled = true; |
|
1617 |
return ret; |
|
1618 |
} |
|
1619 |
window.onload = verify; |
|
1620 |
||
1621 |
function cryptdata() |
|
1622 |
{ |
|
1623 |
if(!verify()) return false; |
|
1624 |
} |
|
1625 |
</script> |
|
1626 |
'; |
|
1627 |
?> |
|
1628 |
<form name="login" action="install.php?mode=confirm" method="post" onsubmit="runEncryption();"> |
|
1629 |
<?php |
|
1630 |
$k = array_keys($_POST); |
|
1631 |
for($i=0;$i<sizeof($_POST);$i++) { |
|
1632 |
echo '<input type="hidden" name="'.htmlspecialchars($k[$i]).'" value="'.htmlspecialchars($_POST[$k[$i]]).'" />'."\n"; |
|
1633 |
} |
|
1634 |
?> |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1635 |
<p><?php echo $lang->get('login_header_blurb'); ?></p> |
256 | 1636 |
<table border="0"> |
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1637 |
<tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1638 |
<td><b><?php echo $lang->get('login_field_username_title'); ?></b><br /><small><?php echo $lang->get('login_field_username_body'); ?></small></td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1639 |
<td><input onkeyup="verify();" name="admin_user" type="text" size="30" /></td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1640 |
<td><img id="s_user" alt="Good/bad icon" src="images/bad.gif" /></td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1641 |
</tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1642 |
<tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1643 |
<td><?php echo $lang->get('login_field_password_title'); ?></td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1644 |
<td><input onkeyup="verify();" name="admin_pass" type="password" size="30" /></td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1645 |
<td rowspan="2"><img id="s_password" alt="Good/bad icon" src="images/bad.gif" /></td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1646 |
</tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1647 |
<tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1648 |
<td><?php echo $lang->get('login_field_password_confirm'); ?></td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1649 |
<td><input onkeyup="verify();" name="admin_pass_confirm" type="password" size="30" /></td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1650 |
</tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1651 |
<tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1652 |
<td><?php echo $lang->get('login_field_email_title'); ?></td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1653 |
<td><input onkeyup="verify();" name="admin_email" type="text" size="30" /></td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1654 |
<td><img id="s_email" alt="Good/bad icon" src="images/bad.gif" /></td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1655 |
</tr> |
256 | 1656 |
<tr> |
1657 |
<td> |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1658 |
<?php echo $lang->get('login_field_allowphp_title'); ?><br /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1659 |
<small> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1660 |
<span style="color: #D84308"> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1661 |
<?php |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1662 |
echo $lang->get('login_field_allowphp_body', |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1663 |
array( |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1664 |
'important_notes' => '<a href="install.php?mode=pophelp&topic=admin_embed_php" onclick="window.open(this.href, \'pophelpwin\', \'width=550,height=400,status=no,toolbars=no,toolbar=no,address=no,scroll=yes\'); return false;" style="color: #D84308; text-decoration: underline;">' . $lang->get('login_field_allowphp_isi') . '</a>' |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1665 |
) |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1666 |
); |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1667 |
?> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1668 |
</span> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1669 |
</small> |
256 | 1670 |
</td> |
1671 |
<td> |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1672 |
<label><input type="radio" name="admin_embed_php" value="2" checked="checked" /> <?php echo $lang->get('login_field_allowphp_disabled'); ?></label> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1673 |
<label><input type="radio" name="admin_embed_php" value="4" /> <?php echo $lang->get('login_field_allowphp_enabled'); ?></label> |
256 | 1674 |
</td> |
1675 |
<td></td> |
|
1676 |
</tr> |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1677 |
<tr><td colspan="3"><?php echo $lang->get('login_aes_blurb'); ?></td></tr> |
256 | 1678 |
</table> |
1679 |
<div class="pagenav"> |
|
1680 |
<table border="0"> |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1681 |
<tr> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1682 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1683 |
<input type="submit" value="<?php echo $lang->get('meta_btn_continue'); ?>" onclick="return cryptdata();" name="_cont" /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1684 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1685 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1686 |
<p> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1687 |
<span style="font-weight: bold;"><?php echo $lang->get('meta_lbl_before_continue'); ?></span><br /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1688 |
• <?php echo $lang->get('login_objective_remember'); ?> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1689 |
</p> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1690 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1691 |
</tr> |
256 | 1692 |
</table> |
1693 |
</div> |
|
1694 |
<div id="cryptdebug"></div> |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1695 |
<input type="hidden" name="use_crypt" value="no" /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1696 |
<input type="hidden" name="crypt_key" value="<?php echo $cryptkey; ?>" /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1697 |
<input type="hidden" name="crypt_data" value="" /> |
256 | 1698 |
</form> |
1699 |
<script type="text/javascript"> |
|
1700 |
// <![CDATA[ |
|
1701 |
var frm = document.forms.login; |
|
1702 |
frm.admin_user.focus(); |
|
1703 |
function runEncryption() |
|
1704 |
{ |
|
1705 |
str = ''; |
|
1706 |
for(i=0;i<keySizeInBits/4;i++) str+='0'; |
|
1707 |
var key = hexToByteArray(str); |
|
1708 |
var pt = hexToByteArray(str); |
|
1709 |
var ct = rijndaelEncrypt(pt, key, "ECB"); |
|
1710 |
var ect = byteArrayToHex(ct); |
|
1711 |
switch(keySizeInBits) |
|
1712 |
{ |
|
1713 |
case 128: |
|
1714 |
v = '66e94bd4ef8a2c3b884cfa59ca342b2e'; |
|
1715 |
break; |
|
1716 |
case 192: |
|
1717 |
v = 'aae06992acbf52a3e8f4a96ec9300bd7aae06992acbf52a3e8f4a96ec9300bd7'; |
|
1718 |
break; |
|
1719 |
case 256: |
|
1720 |
v = 'dc95c078a2408989ad48a21492842087dc95c078a2408989ad48a21492842087'; |
|
1721 |
break; |
|
1722 |
} |
|
1723 |
var testpassed = ( ect == v && md5_vm_test() ); |
|
1724 |
var frm = document.forms.login; |
|
1725 |
if(testpassed) |
|
1726 |
{ |
|
1727 |
// alert('encryption self-test passed'); |
|
1728 |
frm.use_crypt.value = 'yes'; |
|
1729 |
var cryptkey = frm.crypt_key.value; |
|
1730 |
frm.crypt_key.value = ''; |
|
1731 |
if(cryptkey != byteArrayToHex(hexToByteArray(cryptkey))) |
|
1732 |
{ |
|
1733 |
alert('Byte array conversion SUCKS'); |
|
1734 |
testpassed = false; |
|
1735 |
} |
|
1736 |
cryptkey = hexToByteArray(cryptkey); |
|
1737 |
if(!cryptkey || ( ( typeof cryptkey == 'string' || typeof cryptkey == 'object' ) ) && cryptkey.length != keySizeInBits / 8 ) |
|
1738 |
{ |
|
1739 |
frm._cont.disabled = true; |
|
1740 |
len = ( typeof cryptkey == 'string' || typeof cryptkey == 'object' ) ? '\nLen: '+cryptkey.length : ''; |
|
1741 |
alert('The key is messed up\nType: '+typeof(cryptkey)+len); |
|
1742 |
} |
|
1743 |
} |
|
1744 |
else |
|
1745 |
{ |
|
1746 |
// alert('encryption self-test FAILED'); |
|
1747 |
} |
|
1748 |
if(testpassed) |
|
1749 |
{ |
|
1750 |
pass = frm.admin_pass.value; |
|
1751 |
pass = stringToByteArray(pass); |
|
1752 |
cryptstring = rijndaelEncrypt(pass, cryptkey, 'ECB'); |
|
1753 |
//decrypted = rijndaelDecrypt(cryptstring, cryptkey, 'ECB'); |
|
1754 |
//decrypted = byteArrayToString(decrypted); |
|
1755 |
//return false; |
|
1756 |
if(!cryptstring) |
|
1757 |
{ |
|
1758 |
return false; |
|
1759 |
} |
|
1760 |
cryptstring = byteArrayToHex(cryptstring); |
|
1761 |
// document.getElementById('cryptdebug').innerHTML = '<pre>Data: '+cryptstring+'<br />Key: '+byteArrayToHex(cryptkey)+'</pre>'; |
|
1762 |
frm.crypt_data.value = cryptstring; |
|
1763 |
frm.admin_pass.value = ''; |
|
1764 |
frm.admin_pass_confirm.value = ''; |
|
1765 |
} |
|
1766 |
return false; |
|
1767 |
} |
|
1768 |
// ]]> |
|
1769 |
</script> |
|
1770 |
<?php |
|
1771 |
break; |
|
1772 |
case "confirm": |
|
1773 |
if(!isset($_POST['_cont'])) { |
|
1774 |
echo 'No POST data signature found. Please <a href="install.php?mode=sysreqs">restart the installation</a>.'; |
|
1775 |
$template->footer(); |
|
1776 |
exit; |
|
1777 |
} |
|
1778 |
unset($_POST['_cont']); |
|
1779 |
?> |
|
1780 |
<form name="confirm" action="install.php?mode=install" method="post"> |
|
1781 |
<?php |
|
1782 |
$k = array_keys($_POST); |
|
1783 |
for($i=0;$i<sizeof($_POST);$i++) { |
|
1784 |
echo '<input type="hidden" name="'.htmlspecialchars($k[$i]).'" value="'.htmlspecialchars($_POST[$k[$i]]).'" />'."\n"; |
|
1785 |
} |
|
1786 |
?> |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1787 |
<h3><?php echo $lang->get('confirm_header_blurb_title'); ?></h3> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1788 |
<p><?php echo $lang->get('confirm_header_blurb_body'); ?></p> |
256 | 1789 |
<ul> |
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1790 |
<li><?php echo $lang->get('confirm_lbl_db_host'); ?> <?php echo $_POST['db_host']; ?></li> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1791 |
<li><?php echo $lang->get('confirm_lbl_db_name'); ?> <?php echo $_POST['db_name']; ?></li> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1792 |
<li><?php echo $lang->get('confirm_lbl_db_user'); ?> <?php echo $_POST['db_user']; ?></li> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1793 |
<li><?php echo $lang->get('confirm_lbl_db_pass'); ?></li> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1794 |
<li><?php echo $lang->get('confirm_lbl_sitename'); ?> <?php echo $_POST['sitename']; ?></li> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1795 |
<li><?php echo $lang->get('confirm_lbl_sitedesc'); ?> <?php echo $_POST['sitedesc']; ?></li> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1796 |
<li><?php echo $lang->get('confirm_lbl_adminuser'); ?> <?php echo $_POST['admin_user']; ?></li> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1797 |
<li><?php echo $lang->get('confirm_lbl_aesbits'); ?> <?php echo $lang->get('confirm_lbl_aes_strength', array( 'aes_bits' => AES_BITS )); ?><br /><small><?php echo $lang->get('confirm_lbl_aes_change'); ?></small></li> |
256 | 1798 |
</ul> |
1799 |
<div class="pagenav"> |
|
1800 |
<table border="0"> |
|
1801 |
<tr> |
|
249
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1802 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1803 |
<input type="submit" value="<?php echo $lang->get('confirm_btn_install_enano'); ?>" name="_cont" /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1804 |
</td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1805 |
<td> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1806 |
<p> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1807 |
<span style="font-weight: bold;"><?php echo $lang->get('meta_lbl_before_continue'); ?></span><br /> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1808 |
<!-- Like this even needs to be localized. :-P --> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1809 |
• <?php echo $lang->get('confirm_objective_pray'); ?> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1810 |
</p> |
f4323fa79313
Fully localized all of the installer except the install and finish pages
Dan
parents:
248
diff
changeset
|
1811 |
</td> |
256 | 1812 |
</tr> |
1813 |
</table> |
|
1814 |
</div> |
|
1815 |
</form> |
|
1816 |
<?php |
|
1817 |
break; |
|
1818 |
case "install": |
|
1819 |
if(!isset($_POST['db_host']) || |
|
1820 |
!isset($_POST['db_name']) || |
|
1821 |
!isset($_POST['db_user']) || |
|
1822 |
!isset($_POST['db_pass']) || |
|
1823 |
!isset($_POST['sitename']) || |
|
1824 |
!isset($_POST['sitedesc']) || |
|
1825 |
!isset($_POST['copyright']) || |
|
1826 |
!isset($_POST['admin_user']) || |
|
1827 |
!isset($_POST['admin_pass']) || |
|
1828 |
!isset($_POST['admin_embed_php']) || ( isset($_POST['admin_embed_php']) && !in_array($_POST['admin_embed_php'], array('2', '4')) ) || |
|
1829 |
!isset($_POST['urlscheme']) |
|
1830 |
) |
|
1831 |
{ |
|
204
473cc747022a
You know what folks, a lot of Mercurial merges failed, and I just now figured out why. So now all changes from stable are permanently synced in.
Dan
diff
changeset
|
1832 |
echo 'The installer has detected that one or more required form values is not set. Please <a href="install.php?mode=license">restart the installation</a>.'; |
256 | 1833 |
$template->footer(); |
1834 |
exit; |
|
1835 |
} |
|
1836 |
switch($_POST['urlscheme']) |
|
1837 |
{ |
|
1838 |
case "ugly": |
|
1839 |
default: |
|
1840 |
$cp = scriptPath.'/index.php?title='; |
|
1841 |
break; |
|
1842 |
case "short": |
|
1843 |
$cp = scriptPath.'/index.php/'; |
|
1844 |
break; |
|
1845 |
case "tiny": |
|
1846 |
$cp = scriptPath.'/'; |
|
1847 |
break; |
|
1848 |
} |
|
1849 |
function err($t) { global $template; echo $t; $template->footer(); exit; } |
|
1850 |
||
1851 |
// $stages = array('connect', 'decrypt', 'genkey', 'parse', 'sql', 'writeconfig', 'renameconfig', 'startapi', 'initlogs'); |
|
1852 |
||
252 | 1853 |
if ( !preg_match('/^[a-z0-9_-]*$/', $_POST['table_prefix']) ) |
256 | 1854 |
err('Hacking attempt was detected in table_prefix.'); |
1855 |
||
1856 |
start_install_table(); |
|
269 | 1857 |
|
1858 |
// Are we just trying to auto-rename the config files? If so, skip everything else |
|
270
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1859 |
if ( !isset($_GET['stage']) || ( isset($_GET['stage']) && $_GET['stage'] != 'renameconfig' ) ) |
256 | 1860 |
{ |
1861 |
||
269 | 1862 |
// The stages connect, decrypt, genkey, and parse are preprocessing and don't do any actual data modification. |
1863 |
// Thus, they need to be run on each retry, e.g. never skipped. |
|
271 | 1864 |
run_installer_stage('connect', $lang->get('install_stg_connect_title'), 'stg_mysql_connect', $lang->get('install_stg_connect_body'), false); |
269 | 1865 |
if ( isset($_POST['drop_tables']) ) |
1866 |
{ |
|
1867 |
// Are we supposed to drop any existing tables? If so, do it now |
|
271 | 1868 |
run_installer_stage('drop', $lang->get('install_stg_drop_title'), 'stg_drop_tables', 'This step never returns failure'); |
269 | 1869 |
} |
271 | 1870 |
run_installer_stage('decrypt', $lang->get('install_stg_decrypt_title'), 'stg_decrypt_admin_pass', $lang->get('install_stg_decrypt_body'), false); |
1871 |
run_installer_stage('genkey', $lang->get('install_stg_genkey_title', array( 'aes_bits' => AES_BITS )), 'stg_generate_aes_key', $lang->get('install_stg_genkey_body'), false); |
|
1872 |
run_installer_stage('parse', $lang->get('install_stg_parse_title'), 'stg_parse_schema', $lang->get('install_stg_parse_body'), false); |
|
1873 |
run_installer_stage('sql', $lang->get('install_stg_sql_title'), 'stg_install', $lang->get('install_stg_sql_body'), false); |
|
1874 |
run_installer_stage('writeconfig', $lang->get('install_stg_writeconfig_title'), 'stg_write_config', $lang->get('install_stg_writeconfig_body')); |
|
269 | 1875 |
|
1876 |
// Mainstream installation complete - Enano should be usable now |
|
1877 |
// The stage of starting the API is special because it has to be called out of function context. |
|
1878 |
// To alleviate this, we have two functions, one that returns success and one that returns failure |
|
1879 |
// If the Enano API load is successful, the success function is called to report the action to the user |
|
1880 |
// If unsuccessful, the failure report is sent |
|
1881 |
||
1882 |
$template_bak = $template; |
|
1883 |
||
1884 |
$_GET['title'] = 'Main_Page'; |
|
1885 |
require('includes/common.php'); |
|
1886 |
||
1887 |
if ( is_object($db) && is_object($session) ) |
|
1888 |
{ |
|
271 | 1889 |
run_installer_stage('startapi', $lang->get('install_stg_startapi_title'), 'stg_start_api_success', '...', false); |
269 | 1890 |
} |
1891 |
else |
|
1892 |
{ |
|
271 | 1893 |
run_installer_stage('startapi', $lang->get('install_stg_startapi_title'), 'stg_start_api_failure', $lang->get('install_stg_startapi_body'), false); |
269 | 1894 |
} |
1895 |
||
1896 |
// We need to be logged in (with admin rights) before logs can be flushed |
|
1897 |
$admin_password = stg_decrypt_admin_pass(true); |
|
1898 |
$session->login_without_crypto($_POST['admin_user'], $admin_password, false); |
|
1899 |
||
1900 |
// Now that login cookies are set, initialize the session manager and ACLs |
|
1901 |
$session->start(); |
|
1902 |
$paths->init(); |
|
1903 |
||
271 | 1904 |
run_installer_stage('importlang', $lang->get('install_stg_importlang_title'), 'stg_import_language', $lang->get('install_stg_importlang_body')); |
1905 |
run_installer_stage('initlogs', $lang->get('install_stg_initlogs_title'), 'stg_init_logs', $lang->get('install_stg_initlogs_body')); |
|
269 | 1906 |
|
272
e0ec986c0af3
Searching sucks, and Enano's search algorithm was complete bullcrap. So I rewrote it. No, it does not use Google search technology. Like they have a patent for using the Arial font on search result pages anyway.
Dan
parents:
270
diff
changeset
|
1907 |
run_installer_stage('buildindex', 'Initialize search index', 'stg_build_index', 'Something went wrong while the page manager was attempting to build a search index.'); |
e0ec986c0af3
Searching sucks, and Enano's search algorithm was complete bullcrap. So I rewrote it. No, it does not use Google search technology. Like they have a patent for using the Arial font on search result pages anyway.
Dan
parents:
270
diff
changeset
|
1908 |
|
270
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1909 |
/* |
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1910 |
* HACKERS: |
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1911 |
* If you're making a custom distribution of Enano, put all your custom plugin-related code here. |
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1912 |
* You have access to the full Enano API as well as being logged in with complete admin rights. |
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1913 |
* Don't do anything horrendously fancy here, unless you add a new stage (or more than one) and |
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1914 |
* have the progress printed out properly. |
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1915 |
*/ |
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1916 |
|
269 | 1917 |
} // check for stage == renameconfig |
256 | 1918 |
else |
1919 |
{ |
|
270
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1920 |
// If we did skip the main installer routine, set $template_bak to make the reversal later work properly |
269 | 1921 |
$template_bak = $template; |
256 | 1922 |
} |
268
58477ab3937f
Hopefully managed to put enough hacks in there to make renaming the config file the last step, so if it fails, it can be done manually
Dan
parents:
267
diff
changeset
|
1923 |
|
270
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1924 |
// Final step is to rename the config file |
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1925 |
// In early revisions of 1.0.2, this step was performed prior to the initialization of the Enano API. It was decided to move |
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1926 |
// this stage to the end because it will fail more often than any other stage, thus making alternate routes imperative. If this |
5bcdee999015
Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
Dan
parents:
269
diff
changeset
|
1927 |
// stage fails, then no big deal, we'll just have the user rename the files manually and then let them see the pretty success message. |
252 | 1928 |
run_installer_stage('renameconfig', $lang->get('install_stg_rename_title'), 'stg_rename_config', $lang->get('install_stg_rename_body')); |
268
58477ab3937f
Hopefully managed to put enough hacks in there to make renaming the config file the last step, so if it fails, it can be done manually
Dan
parents:
267
diff
changeset
|
1929 |
|
256 | 1930 |
close_install_table(); |
1931 |
||
1932 |
unset($template); |
|
1933 |
$template =& $template_bak; |
|
1934 |
||
252 | 1935 |
echo '<h3>' . $lang->get('install_msg_complete_title') . '</h3>'; |
1936 |
echo '<p>' . $lang->get('install_msg_complete_body', array('finish_link' => 'install.php?mode=finish')) . '</p>'; |
|
256 | 1937 |
|
1938 |
// echo '<script type="text/javascript">window.location="'.scriptPath.'/install.php?mode=finish";</script>'; |
|
1939 |
||
1940 |
break; |
|
1941 |
case "finish": |
|
252 | 1942 |
echo '<h3>' . $lang->get('finish_msg_congratulations') . '</h3> |
1943 |
' . $lang->get('finish_body') . ' |
|
1944 |
<p>' . $lang->get('finish_link_mainpage', array('mainpage_link' => 'index.php')) . '</p>'; |
|
256 | 1945 |
break; |
276
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
1946 |
// this stage is never shown during the installation, but is provided for legal purposes |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
1947 |
case "showlicense": |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
1948 |
show_license(true); |
acfdccf7a2bf
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Dan
parents:
272
diff
changeset
|
1949 |
break; |
256 | 1950 |
} |
1951 |
$template->footer(); |
|
1952 |
||
1953 |
?> |