thomascube
2008-02-27 b3f9dfb54e46e63d14e605ea88605b6bc1ffa17d
Allow to skip the config step if config files already exist

6 files modified
51 ■■■■■ changed files
installer/check.php 5 ●●●●● patch | view | raw | blame | history
installer/config.php 18 ●●●●● patch | view | raw | blame | history
installer/index.php 5 ●●●●● patch | view | raw | blame | history
installer/rcube_install.php 3 ●●●●● patch | view | raw | blame | history
installer/styles.css 17 ●●●●● patch | view | raw | blame | history
installer/test.php 3 ●●●●● patch | view | raw | blame | history
installer/check.php
@@ -1,3 +1,4 @@
<form action="index.php" method="get">
<?php
$required_php_exts = array('PCRE' => 'pcre', 'Session' => 'session', 'Sockets' => 'sockets');
@@ -28,10 +29,8 @@
    'Mail_mime' => 'http://pear.php.net/package/Mail_mime'
);
echo '<input type="hidden" name="_step" value="' . ($RCI->configured ? 2 : 3) . '" />';
?>
<form action="index.php" method="get">
<input type="hidden" name="_step" value="2" />
<h3>Checking PHP version</h3>
<?php
installer/config.php
@@ -5,7 +5,7 @@
ini_set('display_errors', 1);
require_once 'include/rcube_html.inc';
$RCI->load_config();
// also load the default config to fill in the fields
$RCI->load_defaults();
if (!empty($_POST['submit'])) {
@@ -235,12 +235,16 @@
<div id="defaulthostlist">
<?php
$default_hosts = array_unique((array)$RCI->getprop('default_host'));
$default_hosts = (array)$RCI->getprop('default_host');
$text_imaphost = new textfield(array('name' => '_default_host[]', 'size' => 30));
for ($i=0; $i < count($default_hosts); $i++) {
  echo '<div id="defaulthostentry'.$i.'">' . $text_imaphost->show($default_hosts[$i]);
  if ($i > 0)
$i = 0;
foreach ($default_hosts as $key => $name) {
  if (empty($name))
    continue;
  $host = is_numeric($key) ? $name : $key;
  echo '<div id="defaulthostentry'.$i.'">' . $text_imaphost->show($host);
  if ($i++ > 0)
    echo '<a href="#" onclick="removehostfield(this.parentNode);return false" class="removelink" title="Remove this entry">remove</a>';
  echo '</div>';
}
@@ -249,7 +253,7 @@
</div>
<div><a href="javascript:addhostfield()" class="addlink" title="Add another field">add</a></div>
<p class="hint">Leave blank to show a textbox at login</p>
<p class="hint">Leave blank to show a textbox at login. To use SSL/IMAPS connection, type ssl://hostname</p>
</dd>
<dt class="propname">default_port</dt>
@@ -431,7 +435,7 @@
<?php
echo '<p><input type="submit" name="submit" value="UPDATE" ' . ($RCI->failures ? 'disabled' : '') . ' /></p>';
echo '<p><input type="submit" name="submit" value="' . ($RCI->configured ? 'UPDATE' : 'CREATE') . ' CONFIG" ' . ($RCI->failures ? 'disabled' : '') . ' /></p>';
?>
</form>
installer/index.php
@@ -34,7 +34,8 @@
  require_once 'rcube_install.php';
  $RCI = rcube_install::get_instance();
  $RCI->load_config();
?>
<ol id="progress">
@@ -42,7 +43,7 @@
  
  foreach (array('Check environment', 'Create config', 'Test config') as $i => $item) {
    $j = $i + 1;
    $link = $RCI->step > $j ? '<a href="./index.php?_step='.$j.'">' . Q($item) . '</a>' : Q($item);
    $link = ($RCI->step >= $j || $RCI->configured) ? '<a href="./index.php?_step='.$j.'">' . Q($item) . '</a>' : Q($item);
    printf('<li class="step%d%s">%s</li>', $j+1, $RCI->step > $j ? ' passed' : ($RCI->step == $j ? ' current' : ''), $link);
  }
?>
installer/rcube_install.php
@@ -26,6 +26,7 @@
  var $step;
  var $failures = 0;
  var $config = array();
  var $configured = false;
  var $last_error = null;
  var $email_pattern = '([a-z0-9][a-z0-9\-\.\+\_]*@[a-z0-9]([a-z0-9\-][.]?)*[a-z0-9])';
  
@@ -64,7 +65,9 @@
   */
  function load_config()
  {
    $this->config = array();
    $this->_load_config('.php');
    $this->configured = !empty($this->config);
  }
  /**
installer/styles.css
@@ -88,19 +88,24 @@
  padding: 1em 5em 1em 0.2em;
}
#progress li a {
  color: #999;
  text-decoration: none;
}
#progress li a:hover {
  text-decoration: underline;
}
#progress li.current {
  color: #000;
  font-weight: bold;
}
#progress li.passed,
#progress li.passed a {
#progress li.passed a,
#progress li.current a {
  color: #333;
  text-decoration: none;
}
#progress li.passed a:hover {
  text-decoration: underline;
}
fieldset {
installer/test.php
@@ -3,9 +3,6 @@
<h3>Check config files</h3>
<?php
// load local config files
$RCI->load_config();
$read_main = is_readable('../config/main.inc.php');
$read_db = is_readable('../config/db.inc.php');