]> git.joonet.de Git - adminer.git/commitdiff
PostgreSQL supports only functions
authorJakub Vrana <jakub@vrana.cz>
Sat, 4 Jun 2011 02:19:14 +0000 (04:19 +0200)
committerJakub Vrana <jakub@vrana.cz>
Sat, 4 Jun 2011 02:19:14 +0000 (04:19 +0200)
adminer/db.inc.php
adminer/drivers/mysql.inc.php
compile.php

index 38621cdfc2dfae0f48017094f71f178fa9e7d8d0..1f5c0db5d6ae187681517fa157772d8f62d2beb5 100644 (file)
@@ -101,14 +101,14 @@ if ($adminer->homepage()) {
                                odd('');
                                foreach ($routines as $row) {
                                        echo '<tr' . odd() . '>';
-                                       echo '<th><a href="' . h(ME) . ($row["ROUTINE_TYPE"] == "FUNCTION" ? 'callf=' : 'call=') . urlencode($row["ROUTINE_NAME"]) . '">' . h($row["ROUTINE_NAME"]) . '</a>';
+                                       echo '<th><a href="' . h(ME) . ($row["ROUTINE_TYPE"] != "PROCEDURE" ? 'callf=' : 'call=') . urlencode($row["ROUTINE_NAME"]) . '">' . h($row["ROUTINE_NAME"]) . '</a>';
                                        echo '<td>' . h($row["ROUTINE_TYPE"]);
                                        echo '<td>' . h($row["DTD_IDENTIFIER"]);
-                                       echo '<td><a href="' . h(ME) . ($row["ROUTINE_TYPE"] == "FUNCTION" ? 'function=' : 'procedure=') . urlencode($row["ROUTINE_NAME"]) . '">' . lang('Alter') . "</a>";
+                                       echo '<td><a href="' . h(ME) . ($row["ROUTINE_TYPE"] != "PROCEDURE" ? 'function=' : 'procedure=') . urlencode($row["ROUTINE_NAME"]) . '">' . lang('Alter') . "</a>";
                                }
                                echo "</table>\n";
                        }
-                       echo '<p><a href="' . h(ME) . 'procedure=">' . lang('Create procedure') . '</a> <a href="' . h(ME) . 'function=">' . lang('Create function') . "</a>\n";
+                       echo '<p>' . (support("procedure") ? '<a href="' . h(ME) . 'procedure=">' . lang('Create procedure') . '</a> ' : '') . '<a href="' . h(ME) . 'function=">' . lang('Create function') . "</a>\n";
                }
                
                if (support("sequence")) {
index b457ef7b3242b0f7ec2087f0fb0d864ed2872939..75f62c517e4ac94bcfba375f3ed0e0fe2ea94b63 100644 (file)
@@ -906,7 +906,7 @@ if (!defined("DRIVER")) {
        }
        
        /** Check whether a feature is supported
-       * @param string "comment", "copy", "drop_col", "dump", "event", "partitioning", "privileges", "processlist", "routine", "scheme", "sequence", "status", "trigger", "type", "variables", "view"
+       * @param string "comment", "copy", "drop_col", "dump", "event", "partitioning", "privileges", "procedure", "processlist", "routine", "scheme", "sequence", "status", "trigger", "type", "variables", "view"
        * @return bool
        */
        function support($feature) {
index 9a20f7fc2b58b611cf779958948188fbba40af6a..ee97be3c8c672c1f348594146dfe9afbe2a6e172 100644 (file)
@@ -217,7 +217,7 @@ foreach (glob(dirname(__FILE__) . "/adminer/drivers/" . ($driver ? $driver : "*"
 }
 
 include dirname(__FILE__) . "/adminer/include/pdo.inc.php";
-$features = array("view", "event", "privileges", "user", "processlist", "variables", "trigger", "scheme", "sequence", "dump");
+$features = array("call" => "routine", "dump", "event", "privileges", "procedure" => "routine", "processlist", "routine", "scheme", "sequence", "status", "trigger", "type", "user" => "privileges", "variables", "view");
 foreach (array("adminer", "editor") as $project) {
        $lang_ids = array(); // global variable simplifies usage in a callback function
        $file = file_get_contents(dirname(__FILE__) . "/$project/index.php");
@@ -225,14 +225,15 @@ foreach (array("adminer", "editor") as $project) {
                $connection = (object) array("server_info" => 5.1); // MySQL support is version specific
                $_GET[$driver] = true; // to load the driver
                include_once dirname(__FILE__) . "/adminer/drivers/$driver.inc.php";
-               foreach ($features as $feature) {
+               foreach ($features as $key => $feature) {
                        if (!support($feature)) {
+                               if (!is_int($key)) {
+                                       $feature = $key;
+                               }
                                $file = str_replace("} elseif (isset(\$_GET[\"$feature\"])) {\n\tinclude \"./$feature.inc.php\";\n", "", $file);
                        }
                }
                if (!support("routine")) {
-                       $file = str_replace("} elseif (isset(\$_GET[\"procedure\"])) {\n\tinclude \"./procedure.inc.php\";\n", "", $file);
-                       $file = str_replace("} elseif (isset(\$_GET[\"call\"])) {\n\tinclude \"./call.inc.php\";\n", "", $file);
                        $file = str_replace("if (isset(\$_GET[\"callf\"])) {\n\t\$_GET[\"call\"] = \$_GET[\"callf\"];\n}\nif (isset(\$_GET[\"function\"])) {\n\t\$_GET[\"procedure\"] = \$_GET[\"function\"];\n}\n", "", $file);
                }
        }