]> git.joonet.de Git - adminer.git/commitdiff
IE fixes
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 11 Sep 2009 17:08:18 +0000 (17:08 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 11 Sep 2009 17:08:18 +0000 (17:08 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1092 7c3ca157-0c34-0410-bff1-cbf682f78f5c

adminer/create.inc.php
adminer/dump.inc.php
adminer/editing.js
adminer/foreign.inc.php
adminer/include/adminer.inc.php
adminer/sql.inc.php
adminer/trigger.inc.php
adminer/user.inc.php

index 22aa5b3cda7b151e23139654fa8f38dcafa5a36a..c829475c93c0153d7388ea097a3862b40757ac22 100644 (file)
@@ -146,6 +146,7 @@ if ($suhosin && count($row["fields"]) > $suhosin) {
 <select name="Engine"><option value="">(<?php echo lang('engine'); ?>)<?php echo optionlist($engines, $row["Engine"]); ?></select>
 <select name="Collation"><option value="">(<?php echo lang('collation'); ?>)<?php echo optionlist($collations, $row["Collation"]); ?></select>
 <input type="submit" value="<?php echo lang('Save'); ?>">
+</p>
 <table cellspacing="0" id="edit-fields">
 <?php $column_comments = edit_fields($row["fields"], $collations, "TABLE", $suhosin, $foreign_keys); ?>
 </table>
index 89eca2c9634ab5a75a39d6fdf288f9db81d31a27..02cdcd87c9a73fdf3e59751d80620ff375bffe9e 100644 (file)
@@ -149,7 +149,7 @@ echo "<tr><th>" . lang('Tables') . "<td><select name='table_style'>" . optionlis
 echo "<tr><th>" . lang('Data') . "<td><select name='data_style'>" . optionlist($data_style, 'INSERT') . "</select>\n";
 ?>
 </table>
-<p><input type="submit" value="<?php echo lang('Export'); ?>">
+<p><input type="submit" value="<?php echo lang('Export'); ?>"></p>
 
 <table cellspacing="0">
 <?php
index 209af28c2c7d8d6525267891b7c9334723daf867..d2bceed3ab25d98e5d2901655084a86f0c95cd3a 100644 (file)
@@ -19,6 +19,27 @@ function body_load() {
 
 
 
+function select_value(select) {
+       return select.options[select.selectedIndex].text;
+}
+
+function form_field(form, name) {
+       for (var i=0; i < form.length; i++) {
+               if (form[i].name == name) {
+                       return form[i];
+               }
+       }
+}
+
+function type_password(el, disable) {
+       try {
+               el.type = (disable ? 'text' : 'password');
+       } catch (e) {
+       }
+}
+
+
+
 var added = '.', row_count;
 
 function re_escape(s) {
@@ -31,7 +52,7 @@ function idf_escape(s) {
 
 function editing_name_change(field) {
        var name = field.name.substr(0, field.name.length - 7);
-       var type = field.form[name + '[type]'];
+       var type = form_field(field.form, name + '[type]');
        var opts = type.options;
        var table = re_escape(field.value);
        var column = '';
@@ -63,7 +84,7 @@ function editing_name_change(field) {
                }
        }
        if (candidate) {
-               opts.selectedIndex = candidate;
+               type.selectedIndex = candidate;
                type.onchange();
        }
 }
@@ -108,7 +129,7 @@ function editing_add_row(button, allowed) {
 }
 
 function editing_remove_row(button) {
-       var field = button.form[button.name.replace(/drop_col(.+)/, 'fields$1[field]')];
+       var field = form_field(button.form, button.name.replace(/drop_col(.+)/, 'fields$1[field]'));
        field.parentNode.removeChild(field);
        button.parentNode.parentNode.style.display = 'none';
        return true;
@@ -116,7 +137,7 @@ function editing_remove_row(button) {
 
 function editing_type_change(type) {
        var name = type.name.substr(0, type.name.length - 6);
-       var text = type.options[type.selectedIndex].text;
+       var text = select_value(type);
        for (var i=0; i < type.form.elements.length; i++) {
                var el = type.form.elements[i];
                if (el.name == name + '[collation]') {
@@ -136,7 +157,7 @@ function column_show(checked, column) {
 }
 
 function partition_by_change(el) {
-       var partition_table = /RANGE|LIST/.test(el.options[el.selectedIndex].text);
+       var partition_table = /RANGE|LIST/.test(select_value(el));
        el.form['partitions'].className = (partition_table || !el.selectedIndex ? 'hidden' : '');
        document.getElementById('partition-table').className = (partition_table ? '' : 'hidden');
 }
@@ -166,7 +187,9 @@ function foreign_add_row(field) {
 function indexes_add_row(field) {
        var row = field.parentNode.parentNode.cloneNode(true);
        var spans = row.getElementsByTagName('span');
-       row.getElementsByTagName('td')[1].innerHTML = '<span>' + spans[spans.length - 1].innerHTML + '</span>';
+       for (var i=0; i < spans.length - 1; i++) {
+               row.removeChild(spans[i]);
+       }
        var selects = row.getElementsByTagName('select');
        for (var i=0; i < selects.length; i++) {
                selects[i].name = selects[i].name.replace(/indexes\[[0-9]+/, '$&1');
index 2c4009c71ac3bfa7ed6702a13e8adb72c5bc08ab..a0b54ea6ded2699988c102caa697d31c11a2e38d 100644 (file)
@@ -46,6 +46,7 @@ $target = ($TABLE === $row["table"] ? $source : get_vals("SHOW COLUMNS FROM " .
 <?php echo lang('Target table'); ?>:
 <select name="table" onchange="this.form['change-js'].value = '1'; this.form.submit();"><?php echo optionlist(array_keys(table_status_referencable()), $row["table"]); ?></select>
 <input type="hidden" name="change-js" value="">
+</p>
 <noscript><p><input type="submit" name="change" value="<?php echo lang('Change'); ?>"></noscript>
 <table cellspacing="0">
 <thead><tr><th><?php echo lang('Source'); ?><th><?php echo lang('Target'); ?></thead>
index 9efc7a5e89b2e02a2feb7918bbfee14a40467ac1..ac32380328d4e08e91be1d5aeb829392ef21e898 100644 (file)
@@ -87,7 +87,6 @@ class Adminer {
        * @return string
        */
        function selectQuery($query) {
-               // it would be nice if $query can be passed by reference and printed value would be returned but call_user() doesn't allow reference parameters
                return "<p><code class='jush-sql'>" . h($query) . "</code> <a href='" . h(ME) . "sql=" . urlencode($query) . "'>" . lang('Edit') . "</a></p>\n";
        }
        
index 062e9e9f4d9ad8c07182477e1d945c6ee0bf31d9..ceb4f1ff2c647bebe3bc6a60cd6390ee2022763e 100644 (file)
@@ -69,7 +69,7 @@ if (!$error && $_POST) {
                                                        do {
                                                                $result = $dbh->store_result();
                                                                if (!$i) {
-                                                                       echo "<p class='time'>" . (is_object($result) ? lang('%d row(s)', $result->num_rows) . ", ": "") . lang('%.3f s', max(0, $end[0] - $start[0] + $end[1] - $start[1])) . "</p>\n"; // </p> required by IE
+                                                                       echo "<p class='time'>" . (is_object($result) ? lang('%d row(s)', $result->num_rows) . ", ": "") . lang('%.3f s', max(0, $end[0] - $start[0] + $end[1] - $start[1])) . "</p>\n";
                                                                        $i++;
                                                                }
                                                                if (is_object($result)) {
index 9f7def0c57019739fb700f6f026fab8bfa070c8c..4cb1374795bdd55604a1b14a8225954a1a61ca86 100644 (file)
@@ -28,7 +28,7 @@ if ($_POST) {
 
 <form action="" method="post" id="form">
 <table cellspacing="0">
-<tr><th><?php echo lang('Time'); ?><td><select name="Timing" onchange="if (/^<?php echo h(preg_quote($TABLE, "/")); ?>_[ba][iud]$/.test(this.form['Trigger'].value)) this.form['Trigger'].value = '<?php echo h(addcslashes($TABLE, "\r\n'\\")); ?>_' + this.value.charAt(0).toLowerCase() + this.form['Event'].value.charAt(0).toLowerCase();"><?php echo optionlist($trigger_time, $row["Timing"]); ?></select>
+<tr><th><?php echo lang('Time'); ?><td><select name="Timing" onchange="if (/^<?php echo h(preg_quote($TABLE, "/")); ?>_[ba][iud]$/.test(this.form['Trigger'].value)) this.form['Trigger'].value = '<?php echo h(addcslashes($TABLE, "\r\n'\\")); ?>_' + select_value(this).charAt(0).toLowerCase() + select_value(this.form['Event']).charAt(0).toLowerCase();"><?php echo optionlist($trigger_time, $row["Timing"]); ?></select>
 <tr><th><?php echo lang('Event'); ?><td><select name="Event" onchange="this.form['Timing'].onchange();"><?php echo optionlist($trigger_event, $row["Event"]); ?></select>
 <tr><th><?php echo lang('Name'); ?><td><input name="Trigger" value="<?php echo h($row["Trigger"]); ?>" maxlength="64">
 </table>
index 4a17848feef14b3b1c2d58eb7a7a2b7cdc1fed3c..d7e4ed76f51e4e92244684f2665cbd94bb67faee 100644 (file)
@@ -118,7 +118,7 @@ if ($_POST) {
 <table cellspacing="0">
 <tr><th><?php echo lang('Username'); ?><td><input name="user" maxlength="16" value="<?php echo h($row["user"]); ?>">
 <tr><th><?php echo lang('Server'); ?><td><input name="host" maxlength="60" value="<?php echo h($row["host"]); ?>">
-<tr><th><?php echo lang('Password'); ?><td><input id="pass" name="pass" value="<?php echo h($row["pass"]); ?>"><?php if (!$row["hashed"]) { ?><script type="text/javascript">document.getElementById('pass').type = 'password';</script><?php } ?> <label><input type="checkbox" name="hashed" value="1"<?php if ($row["hashed"]) { ?> checked<?php } ?> onclick="this.form['pass'].type = (this.checked ? 'text' : 'password');"><?php echo lang('Hashed'); ?></label>
+<tr><th><?php echo lang('Password'); ?><td><input id="pass" name="pass" value="<?php echo h($row["pass"]); ?>"><?php if (!$row["hashed"]) { ?><script type="text/javascript">type_password(document.getElementById('pass'));</script><?php } ?> <label><input type="checkbox" name="hashed" value="1"<?php if ($row["hashed"]) { ?> checked<?php } ?> onclick="type_password(this.form['pass'], this.checked);"><?php echo lang('Hashed'); ?></label>
 </table>
 
 <?php