--- a/install/install.php Sun Mar 28 21:49:26 2010 -0400
+++ b/install/install.php Sun Mar 28 23:10:46 2010 -0400
@@ -19,10 +19,10 @@
// DEFINE THIS BEFORE RELEASE!
$dangerous = true;
if ( !empty($_GET['do']) )
- if ( $_GET['do'] === 'lang_js' )
- $dangerous = false;
+ if ( $_GET['do'] === 'lang_js' )
+ $dangerous = false;
if ( $dangerous )
- define('ENANO_DANGEROUS', 1);
+ define('ENANO_DANGEROUS', 1);
require_once('includes/common.php');
@ini_set('display_errors', 'on');
@@ -32,256 +32,256 @@
if ( isset($_POST['language']) )
{
- // Include language lib and additional PHP5-only JSON functions
- require_once( ENANO_ROOT . '/includes/json2.php' );
- require_once( ENANO_ROOT . '/includes/lang.php' );
-
- // We have a language ID - init language
- $lang_id = $_POST['language'];
- if ( !isset($languages[$lang_id]) )
- {
- die('Invalid language selection - can\'t load metadata');
- }
-
- $language_dir = $languages[$lang_id]['dir'];
-
- // Initialize language support
- $lang = new Language($lang_id);
- $lang->load_file(ENANO_ROOT . '/language/' . $language_dir . '/install.json');
- $lang_uri = 'install.php?do=lang_js&language=%s';
-
- // Init UI
- $ui = new Enano_Installer_UI($lang->get('meta_site_name'), false);
-
- // Add stages
- foreach ( $stages as $stage )
- {
- $stage_ids[$stage] = $ui->add_stage($lang->get("{$stage}_modetitle"), true);
- }
-
- // Determine stage
- if ( isset($_REQUEST['stage']) && isset($stage_ids[$_REQUEST['stage']]) )
- {
- $ui->set_visible_stage($stage_ids[$_REQUEST['stage']]);
- $stage = $_REQUEST['stage'];
- }
- else
- {
- $stage = 'license';
- }
-
- $stage_num = array_search($stage, $stages);
- if ( $stage_num )
- {
- $stage_num++;
- $ui->step = $lang->get('meta_step', array('step' => $stage_num, 'title' => $lang->get("{$stage}_modetitle_long")));
- }
+ // Include language lib and additional PHP5-only JSON functions
+ require_once( ENANO_ROOT . '/includes/json2.php' );
+ require_once( ENANO_ROOT . '/includes/lang.php' );
+
+ // We have a language ID - init language
+ $lang_id = $_POST['language'];
+ if ( !isset($languages[$lang_id]) )
+ {
+ die('Invalid language selection - can\'t load metadata');
+ }
+
+ $language_dir = $languages[$lang_id]['dir'];
+
+ // Initialize language support
+ $lang = new Language($lang_id);
+ $lang->load_file(ENANO_ROOT . '/language/' . $language_dir . '/install.json');
+ $lang_uri = 'install.php?do=lang_js&language=%s';
+
+ // Init UI
+ $ui = new Enano_Installer_UI($lang->get('meta_site_name'), false);
+
+ // Add stages
+ foreach ( $stages as $stage )
+ {
+ $stage_ids[$stage] = $ui->add_stage($lang->get("{$stage}_modetitle"), true);
+ }
+
+ // Determine stage
+ if ( isset($_REQUEST['stage']) && isset($stage_ids[$_REQUEST['stage']]) )
+ {
+ $ui->set_visible_stage($stage_ids[$_REQUEST['stage']]);
+ $stage = $_REQUEST['stage'];
+ }
+ else
+ {
+ $stage = 'license';
+ }
+
+ $stage_num = array_search($stage, $stages);
+ if ( $stage_num )
+ {
+ $stage_num++;
+ $ui->step = $lang->get('meta_step', array('step' => $stage_num, 'title' => $lang->get("{$stage}_modetitle_long")));
+ }
}
else
{
- $ui = new Enano_Installer_UI('Enano installation', false);
-
- if ( version_compare(PHP_VERSION, '5.0.0', '<') )
- {
- $ui->__construct('Enano installation', false);
- }
-
- $ui->step = 'Step 1: Choose language';
-
- $stage = 'language';
- $stage_ids['language'] = $ui->add_stage('Language', true);
- $stage_ids['license'] = $ui->add_stage('License', true);
- $stage_ids['sysreqs'] = $ui->add_stage('Requirements', true);
- $stage_ids['database'] = $ui->add_stage('Database', true);
- $stage_ids['website'] = $ui->add_stage('Site info', true);
- $stage_ids['login'] = $ui->add_stage('Admin login', true);
- $stage_ids['confirm'] = $ui->add_stage('Review', true);
- $stage_ids['install'] = $ui->add_stage('Install', true);
- $stage_ids['finish'] = $ui->add_stage('Finish', true);
+ $ui = new Enano_Installer_UI('Enano installation', false);
+
+ if ( version_compare(PHP_VERSION, '5.0.0', '<') )
+ {
+ $ui->__construct('Enano installation', false);
+ }
+
+ $ui->step = 'Step 1: Choose language';
+
+ $stage = 'language';
+ $stage_ids['language'] = $ui->add_stage('Language', true);
+ $stage_ids['license'] = $ui->add_stage('License', true);
+ $stage_ids['sysreqs'] = $ui->add_stage('Requirements', true);
+ $stage_ids['database'] = $ui->add_stage('Database', true);
+ $stage_ids['website'] = $ui->add_stage('Site info', true);
+ $stage_ids['login'] = $ui->add_stage('Admin login', true);
+ $stage_ids['confirm'] = $ui->add_stage('Review', true);
+ $stage_ids['install'] = $ui->add_stage('Install', true);
+ $stage_ids['finish'] = $ui->add_stage('Finish', true);
}
// If we don't have PHP 5, show a friendly error message and bail out
if ( version_compare(PHP_VERSION, '5.0.0', '<') || isset($_GET['debug_warn_php4']) )
{
- $ui->set_visible_stage(
- $ui->add_stage('PHP compatibility notice', false)
- );
- $ui->step = '';
- $ui->show_header();
+ $ui->set_visible_stage(
+ $ui->add_stage('PHP compatibility notice', false)
+ );
+ $ui->step = '';
+ $ui->show_header();
- // This isn't localized because all localization code is dependent on
- // PHP 5 (loading lang.php will throw a parser error under PHP4). This
- // one message probably doesn't need to be localized anyway.
-
- ?>
- <h2 class="heading-error">
- Your server doesn't have support for PHP 5.
- </h2>
- <p>
- PHP 5 is the latest version of the language on which Enano was built. Its many new features have been available since early 2004, yet
- many web hosts have not migrated to it because of the work involved. In 2007, Zend Corporation announced that support for the aging
- PHP 4.x would be discontinued at the end of the year. An initiative called <a href="http://gophp5.org/">GoPHP5</a> was started to
- encourage web hosts to migrate to PHP 5.
- </p>
- <p>
- Because of the industry's decision to not support PHP 4 any longer, the Enano team decided that it was time to begin using the powerful
- features of PHP 5 at the expense of PHP 4 compatibility. Therefore, this version of Enano cannot be installed on your server until it
- is upgraded to at least PHP 5.0.0, and preferably the latest available version.
- <!-- No, not even removing the check in this installer script will help. As soon as the PHP4 check is passed, the installer shows the
- language selection page, after which the language code is loaded. The language code and libjson2 will trigger parse errors under
- PHP <5.0.0. -->
- </p>
- <p>
- If you need to use Enano but can't upgrade your PHP because you're on a shared or reseller hosting service, you can use the
- <a href="http://enanocms.org/download?series=1.0">1.0.x series of Enano</a> on your site. While the Enano team attempts to make this
- older series work on PHP 4, official support is not provided for installations of Enano on PHP 4.
- </p>
- <?php
-
- $ui->show_footer();
- exit();
+ // This isn't localized because all localization code is dependent on
+ // PHP 5 (loading lang.php will throw a parser error under PHP4). This
+ // one message probably doesn't need to be localized anyway.
+
+ ?>
+ <h2 class="heading-error">
+ Your server doesn't have support for PHP 5.
+ </h2>
+ <p>
+ PHP 5 is the latest version of the language on which Enano was built. Its many new features have been available since early 2004, yet
+ many web hosts have not migrated to it because of the work involved. In 2007, Zend Corporation announced that support for the aging
+ PHP 4.x would be discontinued at the end of the year. An initiative called <a href="http://gophp5.org/">GoPHP5</a> was started to
+ encourage web hosts to migrate to PHP 5.
+ </p>
+ <p>
+ Because of the industry's decision to not support PHP 4 any longer, the Enano team decided that it was time to begin using the powerful
+ features of PHP 5 at the expense of PHP 4 compatibility. Therefore, this version of Enano cannot be installed on your server until it
+ is upgraded to at least PHP 5.0.0, and preferably the latest available version.
+ <!-- No, not even removing the check in this installer script will help. As soon as the PHP4 check is passed, the installer shows the
+ language selection page, after which the language code is loaded. The language code and libjson2 will trigger parse errors under
+ PHP <5.0.0. -->
+ </p>
+ <p>
+ If you need to use Enano but can't upgrade your PHP because you're on a shared or reseller hosting service, you can use the
+ <a href="http://enanocms.org/download?series=1.0">1.0.x series of Enano</a> on your site. While the Enano team attempts to make this
+ older series work on PHP 4, official support is not provided for installations of Enano on PHP 4.
+ </p>
+ <?php
+
+ $ui->show_footer();
+ exit();
}
if ( isset($_SERVER['PATH_INFO']) && !isset($_GET['str']) && isset($_GET['do']) )
{
- $_GET['str'] = substr($_SERVER['PATH_INFO'], 1);
+ $_GET['str'] = substr($_SERVER['PATH_INFO'], 1);
}
if ( isset($_GET['do']) )
{
- switch ( $_GET['do'] )
- {
- case 'lang_js':
- if ( !isset($_GET['language']) )
- die();
- $lang_id = $_GET['language'];
- header('Content-type: text/javascript');
- if ( !isset($languages[$lang_id]) )
- {
- die('// Bad language ID');
- }
- $language_dir = $languages[$lang_id]['dir'];
-
- // Include language lib and additional PHP5-only JSON functions
- require_once( ENANO_ROOT . '/includes/json2.php' );
- require_once( ENANO_ROOT . '/includes/lang.php' );
-
- // Initialize language support
- $lang = new Language($lang_id);
- $lang->load_file(ENANO_ROOT . '/language/' . $language_dir . '/install.json');
- $lang->load_file(ENANO_ROOT . '/language/' . $language_dir . '/core.json');
- $lang->load_file(ENANO_ROOT . '/language/' . $language_dir . '/user.json');
-
- $time_now = microtime_float();
- $test = "if ( typeof(enano_lang) != 'object' )
+ switch ( $_GET['do'] )
+ {
+ case 'lang_js':
+ if ( !isset($_GET['language']) )
+ die();
+ $lang_id = $_GET['language'];
+ header('Content-type: text/javascript');
+ if ( !isset($languages[$lang_id]) )
+ {
+ die('// Bad language ID');
+ }
+ $language_dir = $languages[$lang_id]['dir'];
+
+ // Include language lib and additional PHP5-only JSON functions
+ require_once( ENANO_ROOT . '/includes/json2.php' );
+ require_once( ENANO_ROOT . '/includes/lang.php' );
+
+ // Initialize language support
+ $lang = new Language($lang_id);
+ $lang->load_file(ENANO_ROOT . '/language/' . $language_dir . '/install.json');
+ $lang->load_file(ENANO_ROOT . '/language/' . $language_dir . '/core.json');
+ $lang->load_file(ENANO_ROOT . '/language/' . $language_dir . '/user.json');
+
+ $time_now = microtime_float();
+ $test = "if ( typeof(enano_lang) != 'object' )
{
- var enano_lang = new Object();
- var enano_lang_code = new Object();
+ var enano_lang = new Object();
+ var enano_lang_code = new Object();
}
enano_lang[{$lang->lang_id}] = " . enano_json_encode($lang->strings) . ";
enano_lang_code[{$lang->lang_id}] = '{$lang->lang_code}';";
- $time_total = round(microtime_float() - $time_now, 4);
- echo "// Generated in $time_total seconds\n";
- echo $test;
+ $time_total = round(microtime_float() - $time_now, 4);
+ echo "// Generated in $time_total seconds\n";
+ echo $test;
- exit();
- case 'modrewrite_test':
- // Include language lib and additional PHP5-only JSON functions
- require_once( ENANO_ROOT . '/includes/json2.php' );
-
- if ( isset($_GET['str']) && in_array($_GET['str'], array('standard', 'shortened', 'rewrite')) )
- {
- echo 'good_' . $_GET['str'];
- }
- else if ( $_SERVER['QUERY_STRING'] == '/tiny&do=modrewrite_test' )
- {
- echo 'good_tiny';
- }
- else
- {
- echo 'bad';
- }
- exit();
- }
+ exit();
+ case 'modrewrite_test':
+ // Include language lib and additional PHP5-only JSON functions
+ require_once( ENANO_ROOT . '/includes/json2.php' );
+
+ if ( isset($_GET['str']) && in_array($_GET['str'], array('standard', 'shortened', 'rewrite')) )
+ {
+ echo 'good_' . $_GET['str'];
+ }
+ else if ( $_SERVER['QUERY_STRING'] == '/tiny&do=modrewrite_test' )
+ {
+ echo 'good_tiny';
+ }
+ else
+ {
+ echo 'bad';
+ }
+ exit();
+ }
}
switch ( $stage )
{
- default:
- $ui->show_header();
- echo '<p>Invalid stage.</p>';
- break;
- case 'language':
- $ui->show_header();
- ?>
- <h2>Welcome to Enano.</h2>
- <h3>Bienvenido a Enano /
- Wilkommen in Enano /
- Bienvenue à Enano /
- Benvenuti a Enano /
- 欢迎 Enano /
- Enano へようこそ。
- </h3>
- <p>
- <b>Please select a language:</b> /
- Por favor, seleccione un idioma: /
- Bitte wählen Sie eine Sprache: /
- S’il vous plaît choisir une langue: /
- Selezionare una lingua: /
- 请选择一种语言: /
- 言語を選択してください:</p>
- <form action="install.php?stage=license" method="post">
- <select name="language" style="width: 200px;" tabindex="1">
- <?php
- foreach ( $languages as $code => $meta )
- {
- $sel = ( $code == 'eng' ) ? ' selected="selected"' : '';
- echo '<option value="' . $code . '"' . $sel . '>' . $meta['name'] . '</option>';
- }
- ?>
- </select>
- <input tabindex="2" type="submit" value=">>" />
- </form>
- <?php
- break;
- case 'license':
- $ui->show_header();
- require( ENANO_ROOT . '/install/includes/stages/license.php' );
- break;
- case 'sysreqs':
- $ui->show_header();
- require( ENANO_ROOT . '/install/includes/stages/sysreqs.php' );
- break;
- case 'database':
- if ( isset($_POST['driver']) && in_array($_POST['driver'], $supported_drivers) )
- {
- // This is SAFE! It's validated against the array in in_array() above.
- $driver = $_POST['driver'];
- require( ENANO_ROOT . "/install/includes/stages/database_{$driver}.php" );
- }
- else
- {
- $ui->show_header();
- // No driver selected - give the DB drive selection page
- require( ENANO_ROOT . '/install/includes/stages/database.php' );
- }
- break;
- case 'website':
- require( ENANO_ROOT . '/install/includes/stages/website.php' );
- break;
- case 'login':
- require( ENANO_ROOT . '/install/includes/stages/login.php' );
- break;
- case 'confirm':
- require( ENANO_ROOT . '/install/includes/stages/confirm.php' );
- break;
- case 'install':
- require( ENANO_ROOT . '/install/includes/stages/install.php' );
- break;
- case 'finish':
- require( ENANO_ROOT . '/install/includes/stages/finish.php' );
- break;
+ default:
+ $ui->show_header();
+ echo '<p>Invalid stage.</p>';
+ break;
+ case 'language':
+ $ui->show_header();
+ ?>
+ <h2>Welcome to Enano.</h2>
+ <h3>Bienvenido a Enano /
+ Wilkommen in Enano /
+ Bienvenue à Enano /
+ Benvenuti a Enano /
+ 欢迎 Enano /
+ Enano へようこそ。
+ </h3>
+ <p>
+ <b>Please select a language:</b> /
+ Por favor, seleccione un idioma: /
+ Bitte wählen Sie eine Sprache: /
+ S’il vous plaît choisir une langue: /
+ Selezionare una lingua: /
+ 请选择一种语言: /
+ 言語を選択してください:</p>
+ <form action="install.php?stage=license" method="post">
+ <select name="language" style="width: 200px;" tabindex="1">
+ <?php
+ foreach ( $languages as $code => $meta )
+ {
+ $sel = ( $code == 'eng' ) ? ' selected="selected"' : '';
+ echo '<option value="' . $code . '"' . $sel . '>' . $meta['name'] . '</option>';
+ }
+ ?>
+ </select>
+ <input tabindex="2" type="submit" value=">>" />
+ </form>
+ <?php
+ break;
+ case 'license':
+ $ui->show_header();
+ require( ENANO_ROOT . '/install/includes/stages/license.php' );
+ break;
+ case 'sysreqs':
+ $ui->show_header();
+ require( ENANO_ROOT . '/install/includes/stages/sysreqs.php' );
+ break;
+ case 'database':
+ if ( isset($_POST['driver']) && in_array($_POST['driver'], $supported_drivers) )
+ {
+ // This is SAFE! It's validated against the array in in_array() above.
+ $driver = $_POST['driver'];
+ require( ENANO_ROOT . "/install/includes/stages/database_{$driver}.php" );
+ }
+ else
+ {
+ $ui->show_header();
+ // No driver selected - give the DB drive selection page
+ require( ENANO_ROOT . '/install/includes/stages/database.php' );
+ }
+ break;
+ case 'website':
+ require( ENANO_ROOT . '/install/includes/stages/website.php' );
+ break;
+ case 'login':
+ require( ENANO_ROOT . '/install/includes/stages/login.php' );
+ break;
+ case 'confirm':
+ require( ENANO_ROOT . '/install/includes/stages/confirm.php' );
+ break;
+ case 'install':
+ require( ENANO_ROOT . '/install/includes/stages/install.php' );
+ break;
+ case 'finish':
+ require( ENANO_ROOT . '/install/includes/stages/finish.php' );
+ break;
}
$ui->show_footer();