From 47124c2279382714afd8dbe4a867a867ea179199 Mon Sep 17 00:00:00 2001 From: thomascube Date: Sat, 12 Apr 2008 13:54:45 +0000 Subject: Changed codebase to PHP5 with autoloader + added some new classes from the devel-vnext branch --- installer/check.php | 2 +- installer/config.php | 77 ++++++++++++++++++++++++-------------------------- installer/index.php | 23 +++++++++++---- installer/test.php | 36 ++++++++++------------- installer/welcome.html | 2 +- 5 files changed, 72 insertions(+), 68 deletions(-) (limited to 'installer') diff --git a/installer/check.php b/installer/check.php index 2afa7da29..7ca982f2d 100644 --- a/installer/check.php +++ b/installer/check.php @@ -37,7 +37,7 @@ echo ' load_defaults(); @@ -29,7 +26,7 @@ if (!empty($_POST['submit'])) { echo ' within the config/ directory of your RoundCube installation.
'; echo ' Make sure that there are no characters outside the <?php ?> brackets when saving the files.

'; - $textbox = new textarea(array('rows' => 16, 'cols' => 60, 'class' => "configfile")); + $textbox = new html_textarea(array('rows' => 16, 'cols' => 60, 'class' => "configfile")); echo '
main.inc.php
'; echo $textbox->show($RCI->create_config('main')); @@ -56,7 +53,7 @@ if (!empty($_POST['submit'])) { getprop('debug_level'); -$check_debug = new checkbox(array('name' => '_debug_level[]')); +$check_debug = new html_checkbox(array('name' => '_debug_level[]')); echo $check_debug->show(($value & 1) ? 1 : 0 , array('value' => 1, 'id' => 'cfgdebug1')); echo '
'; @@ -74,7 +71,7 @@ echo '
';
'_product_name', 'size' => 30, 'id' => "cfgprodname")); +$input_prodname = new html_inputfield(array('name' => '_product_name', 'size' => 30, 'id' => "cfgprodname")); echo $input_prodname->show($RCI->getprop('product_name')); ?> @@ -85,7 +82,7 @@ echo $input_prodname->show($RCI->getprop('product_name'));
'_skin_path', 'size' => 30, 'id' => "cfgskinpath")); +$input_skinpath = new html_inputfield(array('name' => '_skin_path', 'size' => 30, 'id' => "cfgskinpath")); echo $input_skinpath->show($RCI->getprop('skin_path')); ?> @@ -96,7 +93,7 @@ echo $input_skinpath->show($RCI->getprop('skin_path'));
'_temp_dir', 'size' => 30, 'id' => "cfgtempdir")); +$input_tempdir = new html_inputfield(array('name' => '_temp_dir', 'size' => 30, 'id' => "cfgtempdir")); echo $input_tempdir->show($RCI->getprop('temp_dir')); ?> @@ -107,7 +104,7 @@ echo $input_tempdir->show($RCI->getprop('temp_dir'));
'_log_dir', 'size' => 30, 'id' => "cfglogdir")); +$input_logdir = new html_inputfield(array('name' => '_log_dir', 'size' => 30, 'id' => "cfglogdir")); echo $input_logdir->show($RCI->getprop('log_dir')); ?> @@ -118,7 +115,7 @@ echo $input_logdir->show($RCI->getprop('log_dir'));
'_ip_check', 'id' => "cfgipcheck")); +$check_ipcheck = new html_checkbox(array('name' => '_ip_check', 'id' => "cfgipcheck")); echo $check_ipcheck->show(intval($RCI->getprop('ip_check')), array('value' => 1)); ?> @@ -131,7 +128,7 @@ echo $check_ipcheck->show(intval($RCI->getprop('ip_check')), array('value' => 1)
'_des_key', 'size' => 30, 'id' => "cfgdeskey")); +$input_deskey = new html_inputfield(array('name' => '_des_key', 'size' => 30, 'id' => "cfgdeskey")); echo $input_deskey->show($RCI->getprop('des_key')); ?> @@ -144,7 +141,7 @@ If you enter it manually please provide a string of exactly 24 chars.

'_enable_caching', 'id' => "cfgcache")); +$check_caching = new html_checkbox(array('name' => '_enable_caching', 'id' => "cfgcache")); echo $check_caching->show(intval($RCI->getprop('enable_caching')), array('value' => 1)); ?> @@ -155,7 +152,7 @@ echo $check_caching->show(intval($RCI->getprop('enable_caching')), array('value'
'_enable_spellcheck', 'id' => "cfgspellcheck")); +$check_caching = new html_checkbox(array('name' => '_enable_spellcheck', 'id' => "cfgspellcheck")); echo $check_caching->show(intval($RCI->getprop('enable_spellcheck')), array('value' => 1)); ?> @@ -168,7 +165,7 @@ echo $check_caching->show(intval($RCI->getprop('enable_spellcheck')), array('val
'_mdn_requests', 'id' => "cfgmdnreq")); +$select_mdnreq = new html_select(array('name' => '_mdn_requests', 'id' => "cfgmdnreq")); $select_mdnreq->add(array('ask the user', 'send automatically', 'ignore'), array(0, 1, 2)); echo $select_mdnreq->show(intval($RCI->getprop('mdn_requests'))); @@ -192,17 +189,17 @@ require_once 'DB.php'; $supported_dbs = array('MySQL' => 'mysql', 'MySQLi' => 'mysqli', 'PgSQL' => 'pgsql', 'SQLite' => 'sqlite'); -$select_dbtype = new select(array('name' => '_dbtype', 'id' => "cfgdbtype")); +$select_dbtype = new html_select(array('name' => '_dbtype', 'id' => "cfgdbtype")); foreach ($supported_dbs AS $database => $ext) { if (extension_loaded($ext)) { $select_dbtype->add($database, $ext); } } -$input_dbhost = new textfield(array('name' => '_dbhost', 'size' => 20, 'id' => "cfgdbhost")); -$input_dbname = new textfield(array('name' => '_dbname', 'size' => 20, 'id' => "cfgdbname")); -$input_dbuser = new textfield(array('name' => '_dbuser', 'size' => 20, 'id' => "cfgdbuser")); -$input_dbpass = new textfield(array('name' => '_dbpass', 'size' => 20, 'id' => "cfgdbpass")); +$input_dbhost = new html_inputfield(array('name' => '_dbhost', 'size' => 20, 'id' => "cfgdbhost")); +$input_dbname = new html_inputfield(array('name' => '_dbname', 'size' => 20, 'id' => "cfgdbname")); +$input_dbuser = new html_inputfield(array('name' => '_dbuser', 'size' => 20, 'id' => "cfgdbuser")); +$input_dbpass = new html_inputfield(array('name' => '_dbpass', 'size' => 20, 'id' => "cfgdbpass")); $dsnw = DB::parseDSN($RCI->getprop('db_dsnw')); @@ -228,7 +225,7 @@ echo '
'; @include_once 'DB.php'; @include_once 'MDB2.php'; -$select_dbba = new select(array('name' => '_db_backend', 'id' => "cfgdbba")); +$select_dbba = new html_select(array('name' => '_db_backend', 'id' => "cfgdbba")); if (class_exists('DB')) $select_dbba->add('DB', 'db'); @@ -254,7 +251,7 @@ echo $select_dbba->show($RCI->getprop('db_backend'));
'_default_host[]', 'size' => 30)); +$text_imaphost = new html_inputfield(array('name' => '_default_host[]', 'size' => 30)); $default_hosts = $RCI->get_hostlist(); if (empty($default_hosts)) @@ -279,7 +276,7 @@ foreach ($default_hosts as $host) {
'_default_port', 'size' => 6, 'id' => "cfgimapport")); +$text_imapport = new html_inputfield(array('name' => '_default_port', 'size' => 6, 'id' => "cfgimapport")); echo $text_imapport->show($RCI->getprop('default_port')); ?> @@ -290,7 +287,7 @@ echo $text_imapport->show($RCI->getprop('default_port'));
'_username_domain', 'size' => 30, 'id' => "cfguserdomain")); +$text_userdomain = new html_inputfield(array('name' => '_username_domain', 'size' => 30, 'id' => "cfguserdomain")); echo $text_userdomain->show($RCI->getprop('username_domain')); ?> @@ -303,7 +300,7 @@ echo $text_userdomain->show($RCI->getprop('username_domain'));
'_auto_create_user', 'id' => "cfgautocreate")); +$check_autocreate = new html_checkbox(array('name' => '_auto_create_user', 'id' => "cfgautocreate")); echo $check_autocreate->show(intval($RCI->getprop('auto_create_user')), array('value' => 1)); ?> @@ -320,7 +317,7 @@ what means that you have to create those records manually or disable this option
'_sent_mbox', 'size' => 20, 'id' => "cfgsentmbox")); +$text_sentmbox = new html_inputfield(array('name' => '_sent_mbox', 'size' => 20, 'id' => "cfgsentmbox")); echo $text_sentmbox->show($RCI->getprop('sent_mbox')); ?> @@ -333,7 +330,7 @@ echo $text_sentmbox->show($RCI->getprop('sent_mbox'));
'_trash_mbox', 'size' => 20, 'id' => "cfgtrashmbox")); +$text_trashmbox = new html_inputfield(array('name' => '_trash_mbox', 'size' => 20, 'id' => "cfgtrashmbox")); echo $text_trashmbox->show($RCI->getprop('trash_mbox')); ?> @@ -346,7 +343,7 @@ echo $text_trashmbox->show($RCI->getprop('trash_mbox'));
'_drafts_mbox', 'size' => 20, 'id' => "cfgdraftsmbox")); +$text_draftsmbox = new html_inputfield(array('name' => '_drafts_mbox', 'size' => 20, 'id' => "cfgdraftsmbox")); echo $text_draftsmbox->show($RCI->getprop('drafts_mbox')); ?> @@ -364,7 +361,7 @@ echo $text_draftsmbox->show($RCI->getprop('drafts_mbox'));
'_smtp_server', 'size' => 30, 'id' => "cfgsmtphost")); +$text_smtphost = new html_inputfield(array('name' => '_smtp_server', 'size' => 30, 'id' => "cfgsmtphost")); echo $text_smtphost->show($RCI->getprop('smtp_server')); ?> @@ -377,7 +374,7 @@ echo $text_smtphost->show($RCI->getprop('smtp_server'));
'_smtp_port', 'size' => 6, 'id' => "cfgsmtpport")); +$text_smtpport = new html_inputfield(array('name' => '_smtp_port', 'size' => 6, 'id' => "cfgsmtpport")); echo $text_smtpport->show($RCI->getprop('smtp_port')); ?> @@ -388,8 +385,8 @@ echo $text_smtpport->show($RCI->getprop('smtp_port'));
'_smtp_user', 'size' => 20, 'id' => "cfgsmtpuser")); -$text_smtppass = new textfield(array('name' => '_smtp_pass', 'size' => 20, 'id' => "cfgsmtppass")); +$text_smtpuser = new html_inputfield(array('name' => '_smtp_user', 'size' => 20, 'id' => "cfgsmtpuser")); +$text_smtppass = new html_inputfield(array('name' => '_smtp_pass', 'size' => 20, 'id' => "cfgsmtppass")); echo $text_smtpuser->show($RCI->getprop('smtp_user')); echo $text_smtppass->show($RCI->getprop('smtp_pass')); @@ -398,7 +395,7 @@ echo $text_smtppass->show($RCI->getprop('smtp_pass'));

'_smtp_user_u', 'id' => "cfgsmtpuseru")); +$check_smtpuser = new html_checkbox(array('name' => '_smtp_user_u', 'id' => "cfgsmtpuseru")); echo $check_smtpuser->show($RCI->getprop('smtp_user') == '%u' || $_POST['_smtp_user_u'] ? 1 : 0, array('value' => 1)); ?> @@ -410,7 +407,7 @@ echo $check_smtpuser->show($RCI->getprop('smtp_user') == '%u' || $_POST['_smtp_u

'_smtp_auth_type', 'id' => "cfgsmtpauth")); +$select_smtpauth = new html_select(array('name' => '_smtp_auth_type', 'id' => "cfgsmtpauth")); $select_smtpauth->add(array('(auto)', 'PLAIN', 'DIGEST-MD5', 'CRAM-MD5', 'LOGIN'), array('0', 'PLAIN', 'DIGEST-MD5', 'CRAM-MD5', 'LOGIN')); echo $select_smtpauth->show(intval($RCI->getprop('smtp_auth_type'))); */ @@ -422,7 +419,7 @@ echo $select_smtpauth->show(intval($RCI->getprop('smtp_auth_type')));
'_smtp_log', 'id' => "cfgsmtplog")); +$check_smtplog = new html_checkbox(array('name' => '_smtp_log', 'id' => "cfgsmtplog")); echo $check_smtplog->show(intval($RCI->getprop('smtp_log')), array('value' => 1)); ?> @@ -441,7 +438,7 @@ echo $check_smtplog->show(intval($RCI->getprop('smtp_log')), array('value' => 1)
'_locale_string', 'size' => 6, 'id' => "cfglocale")); +$input_locale = new html_inputfield(array('name' => '_locale_string', 'size' => 6, 'id' => "cfglocale")); echo $input_locale->show($RCI->getprop('locale_string')); ?> @@ -453,7 +450,7 @@ echo $input_locale->show($RCI->getprop('locale_string'));
'_pagesize', 'size' => 6, 'id' => "cfgpagesize")); +$input_pagesize = new html_inputfield(array('name' => '_pagesize', 'size' => 6, 'id' => "cfgpagesize")); echo $input_pagesize->show($RCI->getprop('pagesize')); ?> @@ -464,7 +461,7 @@ echo $input_pagesize->show($RCI->getprop('pagesize'));
'_prefer_html', 'id' => "cfghtmlview", 'value' => 1)); +$check_htmlview = new html_checkbox(array('name' => '_prefer_html', 'id' => "cfghtmlview", 'value' => 1)); echo $check_htmlview->show(intval($RCI->getprop('prefer_html'))); ?> @@ -475,7 +472,7 @@ echo $check_htmlview->show(intval($RCI->getprop('prefer_html')));
'_preview_pane', 'id' => "cfgprevpane", 'value' => 1)); +$check_prevpane = new html_checkbox(array('name' => '_preview_pane', 'id' => "cfgprevpane", 'value' => 1)); echo $check_prevpane->show(intval($RCI->getprop('preview_pane'))); ?> @@ -486,7 +483,7 @@ echo $check_prevpane->show(intval($RCI->getprop('preview_pane')));
'_htmleditor', 'id' => "cfghtmlcompose", 'value' => 1)); +$check_htmlcomp = new html_checkbox(array('name' => '_htmleditor', 'id' => "cfghtmlcompose", 'value' => 1)); echo $check_htmlcomp->show(intval($RCI->getprop('htmleditor'))); ?> @@ -498,7 +495,7 @@ echo $check_htmlcomp->show(intval($RCI->getprop('htmleditor'))); '_draft_autosave', 'id' => 'cfgautosave')); +$select_autosave = new html_select(array('name' => '_draft_autosave', 'id' => 'cfgautosave')); $select_autosave->add('never', 0); foreach (array(3, 5, 10) as $i => $min) $select_autosave->add("$min min", $min*60); diff --git a/installer/index.php b/installer/index.php index cb5f3febd..f6fa47975 100644 --- a/installer/index.php +++ b/installer/index.php @@ -3,8 +3,26 @@ ini_set('error_reporting', E_ALL&~E_NOTICE); ini_set('display_errors', 1); +define('INSTALL_PATH', realpath(dirname(__FILE__) . '/../').'/'); +$include_path = INSTALL_PATH . 'program/lib' . PATH_SEPARATOR . INSTALL_PATH . 'program' . PATH_SEPARATOR . INSTALL_PATH . 'program/include' . PATH_SEPARATOR . ini_get('include_path'); +set_include_path($include_path); + session_start(); +/** + * Use PHP5 autoload for dynamic class loading + * (copy from program/incllude/iniset.php) + */ +function __autoload($classname) +{ + $filename = preg_replace( + array('/MDB2_(.+)/', '/Mail_(.+)/', '/^html_.+/', '/^utf8$/'), + array('MDB2/\\1', 'Mail/\\1', 'html', 'utf8.class'), + $classname + ); + include_once $filename. '.php'; +} + ?> @@ -32,11 +50,6 @@ session_start(); load_config(); diff --git a/installer/test.php b/installer/test.php index 5be343a31..bdaf3ee52 100644 --- a/installer/test.php +++ b/installer/test.php @@ -3,10 +3,8 @@

Check config files

config)) { $RCI->pass('main.inc.php'); @@ -38,7 +36,7 @@ else if (!$read_db) { if ($RCI->configured) { $pass = false; foreach (array($RCI->config['temp_dir'],$RCI->config['log_dir']) as $dir) { - $dirpath = $dir{0} == '/' ? $dir : $docroot . '/' . $dir; + $dirpath = $dir{0} == '/' ? $dir : INSTALL_PATH . $dir; if (is_writable(realpath($dirpath))) { $RCI->pass($dir); $pass = true; @@ -68,10 +66,9 @@ if ($RCI->configured) { echo 'Backend: '; echo 'PEAR::' . strtoupper($RCI->config['db_backend']) . '
'; - $_class = 'rcube_' . strtolower($RCI->config['db_backend']); - require_once 'include/' . $_class . '.inc'; + $dbclass = 'rcube_' . strtolower($RCI->config['db_backend']); - $DB = new $_class($RCI->config['db_dsnw'], '', false); + $DB = new $dbclass($RCI->config['db_dsnw'], '', false); $DB->db_connect('w'); if (!($db_error_msg = $DB->is_error())) { $RCI->pass('DSN (write)'); @@ -164,11 +161,11 @@ if ($RCI->getprop('smtp_server')) { $pass = $RCI->getprop('smtp_pass', '(none)'); if ($user == '%u') { - $user_field = new textfield(array('name' => '_smtp_user')); + $user_field = new html_inputfield(array('name' => '_smtp_user')); $user = $user_field->show($_POST['_smtp_user']); } if ($pass == '%p') { - $pass_field = new passwordfield(array('name' => '_smtp_pass')); + $pass_field = new html_passwordfield(array('name' => '_smtp_pass')); $pass = $pass_field->show(); } @@ -176,8 +173,8 @@ if ($RCI->getprop('smtp_server')) { echo "Password: $pass
"; } -$from_field = new textfield(array('name' => '_from', 'id' => 'sendmailfrom')); -$to_field = new textfield(array('name' => '_to', 'id' => 'sendmailto')); +$from_field = new html_inputfield(array('name' => '_from', 'id' => 'sendmailfrom')); +$to_field = new html_inputfield(array('name' => '_to', 'id' => 'sendmailto')); ?>

@@ -186,8 +183,7 @@ $to_field = new textfield(array('name' => '_to', 'id' => 'sendmailto')); if (isset($_POST['sendmail']) && !empty($_POST['_from']) && !empty($_POST['_to'])) { - require_once 'lib/rc_mail_mime.inc'; - require_once 'include/rcube_smtp.inc'; + require_once 'rcube_smtp.inc'; echo '

Trying to send email...
'; @@ -214,7 +210,7 @@ if (isset($_POST['sendmail']) && !empty($_POST['_from']) && !empty($_POST['_to'] $CONFIG['smtp_pass'] = $_POST['_smtp_pass']; } - $mail_object = new rc_mail_mime(); + $mail_object = new rcube_mail_mime(); $send_headers = $mail_object->headers($headers); $status = smtp_mail($headers['From'], $headers['To'], @@ -271,15 +267,15 @@ echo '

'; $default_hosts = $RCI->get_hostlist(); if (!empty($default_hosts)) { - $host_field = new select(array('name' => '_host', 'id' => 'imaphost')); + $host_field = new html_select(array('name' => '_host', 'id' => 'imaphost')); $host_field->add($default_hosts); } else { - $host_field = new textfield(array('name' => '_host', 'id' => 'imaphost')); + $host_field = new html_inputfield(array('name' => '_host', 'id' => 'imaphost')); } -$user_field = new textfield(array('name' => '_user', 'id' => 'imapuser')); -$pass_field = new passwordfield(array('name' => '_pass', 'id' => 'imappass')); +$user_field = new html_inputfield(array('name' => '_user', 'id' => 'imapuser')); +$pass_field = new html_passwordfield(array('name' => '_pass', 'id' => 'imappass')); ?> @@ -308,8 +304,6 @@ $pass_field = new passwordfield(array('name' => '_pass', 'id' => 'imappass')); if (isset($_POST['imaptest']) && !empty($_POST['_host']) && !empty($_POST['_user'])) { - require_once 'include/rcube_imap.inc'; - echo '

Connecting to ' . Q($_POST['_host']) . '...
'; $a_host = parse_url($_POST['_host']); diff --git a/installer/welcome.html b/installer/welcome.html index 200f680f3..bfec23337 100644 --- a/installer/welcome.html +++ b/installer/welcome.html @@ -6,7 +6,7 @@

The basic requirements are: