From: Reini U. <ru...@us...> - 2002-09-15 16:17:42
|
Update of /cvsroot/phpwiki/phpwiki In directory usw-pr-cvs1:/tmp/cvs-serv27297 Modified Files: configurator.php Log Message: fixed some minor bugs. preliminary new javascript code from Martin Geisler to validate input and to fold/unfold parts. But before we have to get rid of the tables. Index: configurator.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/configurator.php,v retrieving revision 1.6 retrieving revision 1.7 diff -u -2 -b -p -d -r1.6 -r1.7 --- configurator.php 8 Sep 2002 21:22:11 -0000 1.6 +++ configurator.php 15 Sep 2002 16:17:37 -0000 1.7 @@ -1,4 +1,6 @@ <?php $tdwidth = 700; +$config_file = 'index-user.php'; +$fs_config_file = dirname(__FILE__) . (substr(PHP_OS,0,3) == 'WIN' ? '\\' : "/") . $config_file; if ($HTTP_POST_VARS['create']) header('Location: configurator.php?create=1#create'); printf("<?xml version=\"1.0\" encoding=\"%s\"?>\n", 'iso-8859-1'); @@ -11,9 +13,11 @@ printf("<?xml version=\"1.0\" encoding=\ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Configuration tool for PhpWiki 1.3.x</title> -<STYLE TYPE="text/css" MEDIA="screen"> +<style type="text/css" media="screen"> <!-- /* TABLE { border: thin solid black } */ -TD { border: thin solid black } -TR { border: none } +body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 80%; } +pre { font-size: 120%; } +td { border: thin solid black } +tr { border: none } td.part { background-color: #eeaaaa; } td.full_instructions { background-color: #eeeeee; } @@ -24,4 +28,48 @@ td.unchangeable_variable_left { top-bot --> </style> +<script language="JavaScript" type="text/javascript"> +<!-- +function update(accepted, error, value, output) { + if (accepted) { + document.getElementById(output).innerHTML = "<font color=\"green\">Input accepted.</font>"; + } else { + while ((index = error.indexOf("%s")) > -1) { + error = error.substring(0, index) + value + error.substring(index+2); + } + document.getElementById(output).innerHTML = "<font color=\"red\">" + error + "</font>"; + } +} + +function validate(error, value, output, field) { + update(field.value == value, error, field.value, output); +} + +function validate_ereg(error, ereg, output, field) { + regex = new RegExp(ereg); + update(regex.test(field.value), error, field.value, output); +} + +function validate_range(error, low, high, empty_ok, output, field) { + update((empty_ok == 1 && field.value == "") || + (field.value >= low && field.value <= high), + error, field.value, output); +} + +function toggle_group(id) { + group = document.getElementById(id); + text = document.getElementById(id + "_text"); + input = document.getElementById(id + "_input"); + if (group.style.display == "none") { + text.innerHTML = "Hide options."; + group.style.display = "block"; + input.value = 1; + } else { + text.innerHTML = "Show options."; + group.style.display = "none"; + input.value = 0; + } +} +--> +</script> </head> <body> @@ -413,5 +461,5 @@ $dsn_sqldbname = $properties["SQL Databa $properties["SQL dsn"] = new unchangeable_variable("DBParams['dsn']", - "\$DBParams['dsn'] = \"\$dsn_sqltype://$dsn_sqluser:$dsn_sqlpass@$dsn_sqlhostorsock/$dsn_sqldbname\";", ""); + "\$DBParams['dsn'] = \"\$_dsn_sqltype://{$dsn_sqluser}:{$dsn_sqlpass}@{$dsn_sqlhostorsock}/{$dsn_sqldbname}\";", ""); $properties["dba directory"] = @@ -988,8 +1036,8 @@ class _variable { if (strchr($this->config_item_name,'|')) { list($var,$param) = explode('|',$this->config_item_name); - return "<b>" . $this->prefix . $var . "['" . $param . "']</b><br/ >"; + return "<b>" . $this->prefix . $var . "['" . $param . "']</b><br />"; } elseif ($this->config_item_name[0] != '_') - return "<b>" . $this->prefix . $this->config_item_name . "</b><br/ >"; + return "<b>" . $this->prefix . $this->config_item_name . "</b><br />"; else return ''; @@ -1011,4 +1059,5 @@ class _variable { function get_instructions($title) { + global $tdwidth; $i = "<p><b><h3>" . $title . "</h3></b></p>\n " . nl2p($this->_get_description()) . "\n"; return "<tr>\n<td width=\"$tdwidth\" class=\"instructions\">\n" . $i . "</td>\n"; @@ -1017,5 +1066,5 @@ class _variable { function get_html() { return $this->get_config_item_header() . - "<input type=\"text\" size=\"50\" name=\"" . $this->get_config_item_name() . "\" value=\"" . $this->default_value . "\">"; + "<input type=\"text\" size=\"50\" name=\"" . $this->get_config_item_name() . "\" value=\"" . $this->default_value . "\" />"; } } @@ -1099,5 +1148,5 @@ extends _variable { function get_html() { return $this->get_config_item_header() . - "<input type=\"text\" size=\"50\" name=\"" . $this->get_config_item_name() . "\" value=\"" . $this->default_value . "\">"; + "<input type=\"text\" size=\"50\" name=\"" . $this->get_config_item_name() . "\" value=\"" . $this->default_value . "\" />"; } } @@ -1149,6 +1198,6 @@ extends _variable { class numeric_define_commented extends _define { - function _config_format($value) { - return sprintf("define('%s', %s);", $this->get_config_item_name(), $value); + function get_html() { + return numeric_define::get_html(); } function _get_config_line($posted_value) { @@ -1250,6 +1299,6 @@ extends _variable { global $HTTP_POST_VARS, $HTTP_GET_VARS; $s = $this->get_config_item_header(); - $s .= "<input type=\"password\" name=\"" . $this->get_config_item_name() . "\" value=\"" . $this->default_value . "\">" . -" <input type=\"submit\" name=\"create\" value=\"Create Password\">"; + $s .= "<input type=\"password\" name=\"" . $this->get_config_item_name() . "\" value=\"" . $this->default_value . "\" />" . +" <input type=\"submit\" name=\"create\" value=\"Create Password\" />"; if ($HTTP_POST_VARS['create'] or $HTTP_GET_VARS['create']) { $new_password = random_good_password(); @@ -1266,4 +1315,8 @@ extends _define { return sprintf("define('%s', %s);", $this->get_config_item_name(), $value); } + function get_html() { + $ori = _define::get_html(); + return substr($ori,0,-2) . " onchange=\"validate_ereg('Sorry, \'%s\' is not an integer.', '^[-+]?[0-9]+$', '" . $this->get_config_item_name() . "', this);" . '" />'; + } function _get_config_line($posted_value) { if ($this->description) @@ -1404,6 +1457,11 @@ extends _variable { } function get_instructions($title) { - $i = "<p><b><h2>" . $title . "</h2></b></p>\n " . nl2p($this->_get_description()) ."\n"; - return "<tr>\n<td class=\"part\" width=\"100%\" colspan=\"2\" bgcolor=\"#eeaaaa\">\n" .$i ."</td></tr>\n"; + $group_name = preg_replace("/\W/","",$title); + $i = "<tr>\n<td class=\"part\" width=\"100%\" colspan=\"2\" bgcolor=\"#eeaaaa\">\n"; + if ($group_name == 'PartZero') $i = "</dl>" . $i; + $i .= "<p><b><h2>" . $title . "</h2></b></p>\n " . nl2p($this->_get_description()) ."\n"; + $i .= "<input id=\"{$group_name}_input\" type=\"hidden\" name=\"$group_name\" value=\"0\" />"; + $i .= "<p><a href=\"javascript:toggle_group('$group_name')\" id=\"{$group_name}_text\">Show options.</a></p>"; + return $i ."</td></tr>\n" . "<dl id=\"$group_name\" style=\"display: none\">"; } function get_html() { @@ -1515,5 +1573,5 @@ function printArray($a) { // begin auto generation code -if ($action == 'make_config') { +if ($HTTP_POST_VARS['action'] == 'make_config') { $timestamp = date ('dS of F, Y H:i:s'); @@ -1549,12 +1607,13 @@ You can't use this file with your PhpWik /* We first check if the config-file exists. */ - if (file_exists('settings.php')) { + if (file_exists($fs_config_file)) { /* We make a backup copy of the file */ - $new_filename = 'settings.' . time() . '.php'; - if (@copy('settings.php', $new_filename)) { - $fp = @fopen('settings.php', 'w'); + // $config_file = 'index-user.php'; + $new_filename = preg_replace('/\.php$/', time() . '.php', $fs_config_file); + if (@copy($fs_config_file, $new_filename)) { + $fp = @fopen($fs_config_file, 'w'); } } else { - $fp = @fopen('settings.php', 'w'); + $fp = @fopen($fs_config_file, 'w'); } @@ -1562,9 +1621,9 @@ You can't use this file with your PhpWik fputs($fp, $config); fclose($fp); - echo "<p>The configuration was written to <code><b>settings.php</b></code>.</p>\n"; + echo "<p>The configuration was written to <code><b>$config_file</b></code>.</p>\n"; if ($new_filename) { echo "<p>A backup was made to <code><b>$new_filename</b></code>.</p>\n"; } - echo "<p><strong>You must rename or copy this</strong> <code><b>settings.php</b></code> <strong>file to</strong> <code><b>index.php</b></code>.</p>\n"; + echo "<p><strong>You must rename or copy this</strong> <code><b>$config_file</b></code> <strong>file to</strong> <code><b>index.php</b></code>.</p>\n"; } else { echo "<p>A configuration file could <b>not</b> be written. You should copy the above configuration to a file, and manually save it as <code><b>index.php</b></code>.</p>\n"; @@ -1582,5 +1641,5 @@ You can't use this file with your PhpWik echo ' -<form action="configurator.php" method="post"> +<form action="configurator.php" method="POST"> <table cellpadding="4" cellspacing="0"> <input type="hidden" name="action" value="make_config"> @@ -1597,6 +1656,6 @@ You can't use this file with your PhpWik echo ' -</table> -<p><input type="submit" value="Save settings.php"> <input type="reset" value="Clear"></p> +</dl></table> +<p><input type="submit" value="Save ',$config_file,'"> <input type="reset" value="Clear"></p> </form> '; |