]> git.joonet.de Git - adminer.git/commitdiff
Hide edit functions in Editor
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Thu, 23 Jul 2009 11:31:08 +0000 (11:31 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Thu, 23 Jul 2009 11:31:08 +0000 (11:31 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@881 7c3ca157-0c34-0410-bff1-cbf682f78f5c

adminer/include/adminer.inc.php
adminer/include/functions.inc.php
editor/include/adminer.inc.php

index 7575b2a714c20a88fa6f784e6d173213b7ed7310..25965c53c61f1af9e5aaccef763c24c02e582d69 100644 (file)
@@ -119,6 +119,37 @@ function adminer_message_query($query) {
        return call_adminer('message_query', " <a href='#$id' onclick=\"return !toggle('$id');\">" . lang('SQL command') . "</a><div id='$id' class='hidden'><pre class='jush-sql'>" . htmlspecialchars($query) . '</pre><a href="' . htmlspecialchars($SELF . 'sql=&history=' . (count($_SESSION["history"][$_GET["server"]][$_GET["db"]]) - 1)) . '">' . lang('Edit') . '</a></div>', $query);
 }
 
+/** Functions displayed in edit form
+* @param array single field from fields()
+* @return array
+*/
+function adminer_edit_functions($field) {
+       $return = array("");
+       if (!isset($_GET["default"])) {
+               if (ereg('char|date|time', $field["type"])) {
+                       $return = (ereg('char', $field["type"]) ? array("", "md5", "sha1", "password", "uuid") : array("", "now")); //! JavaScript for disabling maxlength
+               }
+               if (!isset($_GET["call"]) && (isset($_GET["select"]) || where($_GET))) {
+                       // relative functions
+                       if (ereg('int|float|double|decimal', $field["type"])) {
+                               $return = array("", "+", "-");
+                       }
+                       if (ereg('date', $field["type"])) {
+                               $return[] = "+ interval";
+                               $return[] = "- interval";
+                       }
+                       if (ereg('time', $field["type"])) {
+                               $return[] = "addtime";
+                               $return[] = "subtime";
+                       }
+               }
+       }
+       if ($field["null"] || isset($_GET["default"])) {
+               array_unshift($return, "NULL");
+       }
+       return call_adminer('edit_functions', $return, $field);
+}
+
 /** Prints navigation after Adminer title
 * @param string can be "auth" if there is no database connection or "db" if there is no database selected
 * @return bool true if default navigation should be printed
index 0d84836b2781073ad90cd7a3468d423b7e5ac3e8..ec2b46e2f2cc67a6418d5dba7822ff78ffa40614 100644 (file)
@@ -286,29 +286,7 @@ function input($name, $field, $value, $function) {
        } else {
                $first = ($field["null"] || isset($_GET["default"])) + isset($_GET["select"]);
                $onchange = ($first ? ' onchange="var f = this.form[\'function[' . addcslashes($name, "\r\n'\\") . ']\']; if (' . $first . ' > f.selectedIndex) f.selectedIndex = ' . $first . ';"' : '');
-               $options = array("");
-               if (!isset($_GET["default"])) {
-                       if (ereg('char|date|time', $field["type"])) {
-                               $options = (ereg('char', $field["type"]) ? array("", "md5", "sha1", "password", "uuid") : array("", "now")); //! JavaScript for disabling maxlength
-                       }
-                       if (!isset($_GET["call"]) && (isset($_GET["select"]) || where($_GET))) {
-                               // relative functions
-                               if (ereg('int|float|double|decimal', $field["type"])) {
-                                       $options = array("", "+", "-");
-                               }
-                               if (ereg('date', $field["type"])) {
-                                       $options[] = "+ interval";
-                                       $options[] = "- interval";
-                               }
-                               if (ereg('time', $field["type"])) {
-                                       $options[] = "addtime";
-                                       $options[] = "subtime";
-                               }
-                       }
-               }
-               if ($field["null"] || isset($_GET["default"])) {
-                       array_unshift($options, "NULL");
-               }
+               $options = adminer_edit_functions($field);
                echo (count($options) > 1 || isset($_GET["select"]) ? '<select name="function[' . $name . ']">' . (isset($_GET["select"]) ? '<option value="orig">' . lang('original') : '') . optionlist($options, $function) . '</select>' : "&nbsp;") . '<td>';
                if ($field["type"] == "set") { //! 64 bits
                        preg_match_all("~'((?:[^']+|'')*)'~", $field["length"], $matches);
index 788adb29093f3e10b452fd0d01f7fc2756cfc862..ca6b1ed17675892117ab725ba41218af7e6d0180 100644 (file)
@@ -111,6 +111,10 @@ function adminer_message_query($query) {
        return call_adminer('message_query', "<!-- " . str_replace("--", "--><!--", $query) . " -->", $query);
 }
 
+function adminer_edit_functions($field) {
+       return call_adminer('edit_functions', array(""), $field);
+}
+
 function adminer_navigation($missing) {
        global $SELF;
        if (call_adminer('navigation', true, $missing) && $missing != "auth") {