Give environnments vars to the navlink hook
authorJehan-Guillaume (ioguix) de Rorthais <ioguix@free.fr>
Fri, 17 Aug 2012 16:17:02 +0000 (18:17 +0200)
committerJehan-Guillaume (ioguix) de Rorthais <ioguix@free.fr>
Wed, 22 Aug 2012 10:39:41 +0000 (12:39 +0200)
Helpful to decide when to add a navlink or not depending on the context

25 files changed:
aggregates.php
all_db.php
classes/Misc.php
colproperties.php
constraints.php
display.php
fulltext.php
functions.php
groups.php
history.php
indexes.php
privileges.php
roles.php
rules.php
schemas.php
sequences.php
sql.php
tables.php
tablespaces.php
tblproperties.php
triggers.php
types.php
users.php
viewproperties.php
views.php

index de61e72829f31a7f5579c4143cfc2bfbc51c38d6..5356e02cb29239ba62dde1502d434ad31c5e674b 100644 (file)
                        'content' => $lang['strdrop']
                );
 
-               $misc->printNavLinks($navlinks, 'aggregates-properties');
+               $misc->printNavLinks($navlinks, 'aggregates-properties', get_defined_vars());
        }
 
 
                                'content' => $lang['strcreateaggregate']
                        )
                );
-               $misc->printNavLinks($navlinks, 'aggregates-aggregates');
+               $misc->printNavLinks($navlinks, 'aggregates-aggregates', get_defined_vars());
        }
 
        /**
index 350ac9bbd36c54dce66dab261bd58698e9f9432d..181263ec5af86aad9dc7ec5f3edca227ec92b6ac 100644 (file)
                        'content' => $lang['strcreatedatabase']
                    )
                );
-               $misc->printNavLinks($navlinks, 'all_db-databases');
+               $misc->printNavLinks($navlinks, 'all_db-databases', get_defined_vars());
        }
 
        function doTree() {
index 504e7f26ed8f578d35907142c78f5f730bf0545e..af77676ec777dd9c4713b8f455f4df29b6dbf4bd 100644 (file)
@@ -50,7 +50,6 @@
                }
 
                function getSubjectParams($subject) {
-
                        $vars = array();
 
                        switch($subject) {
                                                        'column' => $_REQUEST['column']
                                                ));
                                        break;
-                               // case 'plugin':
-                               //      $vars = array('params' => array(
-                               //              'server' => $_REQUEST['server'],
-                               //              'subject' => 'plugin',
-                               //              'plugin' => $_REQUEST['plugin'],
-                               //              'database' => $_REQUEST['database'],
-                               //              'schema' => $_REQUEST['schema'],
-                               //              'action' => $_REQUEST['action']
-                               //      ));
-                               //      break;
+                               // case 'plugin':
+                               //      $vars = array('params' => array(
+                               //              'server' => $_REQUEST['server'],
+                               //              'subject' => 'plugin',
+                               //              'plugin' => $_REQUEST['plugin'],
+                               //              'database' => $_REQUEST['database'],
+                               //              'schema' => $_REQUEST['schema'],
+                               //              'action' => $_REQUEST['action']
+                               //      ));
+                               //      break;
                                default:
                                        return false;
                        }
                *
                * @param $navlinks - An array with the the attributes and values that will be shown. See printLinksList for array format.
                * @param $place - Place where the $navlinks are displayed. Like 'display-browse', where 'display' is the file (display.php)
+               * @param $env - Associative array of defined variables in the scope of the caller.
+               *               Allows to give some environnement details to plugins.
                * and 'browse' is the place inside that code (doBrowse).
                */
-               function printNavLinks($navlinks=array(), $place) {
+               function printNavLinks($navlinks, $place, $env = array()) {
                        global $plugin_manager;
 
                        // Navlinks hook's place
                        $plugin_functions_parameters = array(
                                'navlinks' => &$navlinks,
-                               'place' => $place
+                               'place' => $place,
+                               'env' => $env
                        );
                        $plugin_manager->do_hook('navlinks', $plugin_functions_parameters);
 
index a0927d7d447945d6a9408edfe88c85fa467b7fd7..2bf137b88685186dc04e730ae365a6f144259042 100644 (file)
                                );
                        }
 
-                       $misc->printNavLinks($navlinks, 'colproperties-colproperties');
+                       $misc->printNavLinks($navlinks, 'colproperties-colproperties', get_defined_vars());
                }
        }
 
index 307601d183968ddcec2dec81c1349b7b4ea694dc..cc1591c90a4177239c7e19ac11b51e160a704d3a 100644 (file)
                                'content' => $lang['straddfk']
                        )
                );
-               $misc->printNavLinks($navlinks, 'constraints-constraints');
+               $misc->printNavLinks($navlinks, 'constraints-constraints', get_defined_vars());
        }
 
        function doTree() {
index a3e9b49885a1101b90a79f65fa3ce9f879ecfe61..74efb6e11a878a8c6b666f60b04955e7cc04d85c 100644 (file)
                        'content' => $lang['strrefresh']
                );
 
-               $misc->printNavLinks($navlinks, 'display-browse');
+               $misc->printNavLinks($navlinks, 'display-browse', get_defined_vars());
        }
 
 
index 00e6e9c530b6e1f53489bddea1dbeea0e8c54e69..da8b92b04c4c63e600a10c583f799825a201aac7 100644 (file)
@@ -89,7 +89,7 @@
                        )
                );
                        
-               $misc->printNavLinks($navlinks, 'fulltext-fulltext');
+               $misc->printNavLinks($navlinks, 'fulltext-fulltext', get_defined_vars());
        }
 
        function doDropConfig($confirm) {
                        )
                );
 
-               $misc->printNavLinks($navlinks, 'fulltext-viewdicts');
+               $misc->printNavLinks($navlinks, 'fulltext-viewdicts', get_defined_vars());
        }
 
 
                        )
                );
 
-               $misc->printNavLinks($navlinks, 'fulltext-viewconfig');
+               $misc->printNavLinks($navlinks, 'fulltext-viewconfig', get_defined_vars());
        }
 
        /**
index 67e7b6600df3af90eeb5782ce4fe64e52f7e05b5..5aa853c7177339c9b2b32d6ddbf4a6f2d86bbf79 100644 (file)
                        )
                );
 
-               $misc->printNavLinks($navlinks, 'functions-properties');
+               $misc->printNavLinks($navlinks, 'functions-properties', get_defined_vars());
        }
 
        /**
                        )
                );
 
-               $misc->printNavLinks($navlinks, 'functions-functions');
+               $misc->printNavLinks($navlinks, 'functions-functions', get_defined_vars());
        }
 
        /**
index 4351fc59e45ec74a3995e714cd1c1e99ba3d1647..b6e65249e78c11033861df65d84f3bbd3c2bc7d3 100644 (file)
                                        )
                                ),
                                'content' => $lang['strshowallgroups']
-                       )), 'groups-properties');
+                       )), 'groups-properties', get_defined_vars());
        }
        
        /**
                                        )
                                ),
                                'content' => $lang['strcreategroup']
-                       )), 'groups-groups');
+                       )), 'groups-groups', get_defined_vars());
 
        }
 
index 3f5407973ef6fa6c113106b1aa6c4d12a9354fed..1dab1db8e38c5aadc011e98f4f3bb9a0f183ce88 100644 (file)
                        );
                }
 
-               $misc->printNavLinks($navlinks, 'history-history');
+               $misc->printNavLinks($navlinks, 'history-history', get_defined_vars());
        }
 
        function doDelHistory($qid, $confirm) {
index ce9a79555d2af52359b3195f2b026fec678a5c0f..5c6ebdbf8a0ab840321bff7d4ecba5ee218c5cfe 100644 (file)
                                ),
                                'content' => $lang['strcreateindex']
                        )
-               ), 'indexes-indexes');
+               ), 'indexes-indexes', get_defined_vars());
        }
 
        function doTree() {
index 72ef37160cb9818d61a9feefd44b350ebbe448e2..23fb4d967189a9fbbb72207e6074e27a3c1e30f9 100644 (file)
                        );
                }
 
-               $misc->printNavLinks($navlinks, 'privileges-privileges');
+               $misc->printNavLinks($navlinks, 'privileges-privileges', get_defined_vars());
        }
 
        $misc->printHeader($lang['strprivileges']);
index 80a91939a516a713d34d7c18a57c21e527654a2a..b4444cfa103ef53a660fbeaf57089088f3a7a86e 100644 (file)
--- a/roles.php
+++ b/roles.php
                        )
                );
 
-               $misc->printNavLinks($navlinks, 'roles-properties');
+               $misc->printNavLinks($navlinks, 'roles-properties', get_defined_vars());
        }
 
        /**
                                        )
                                ),
                                'content' => $lang['strchangepassword']
-                       )), 'roles-account');
+                       )), 'roles-account', get_defined_vars());
        }
        
        /**
                                'content' => $lang['strcreaterole']
                        )
                );
-               $misc->printNavLinks($navlinks, 'roles-roles');
+               $misc->printNavLinks($navlinks, 'roles-roles', get_defined_vars());
        }
 
        $misc->printHeader($lang['strroles']);
index 89a8100ba788c5b6bc07bfc967d1d9c76113fa40..3ea50c90d4beae8061477aefc91c513a98313f06 100644 (file)
--- a/rules.php
+++ b/rules.php
                                        )
                                ),
                                'content' => $lang['strcreaterule']
-                       )), 'rules-rules');
+                       )), 'rules-rules', get_defined_vars());
        }
 
        function doTree() {
index ecb569cbc961f8ad6e906a964d99e2f5eac075bc..ad733747aa69a5670559ef894b31a4e5282fca80 100755 (executable)
                                        )
                                ),
                                'content' => $lang['strcreateschema']
-                       )), 'schemas-schemas');
+                       )), 'schemas-schemas', get_defined_vars());
        }
 
        /**
index 57893e8a28c28274fce1aeea9a2c06937448c664..454b9d97fe0ccff8c722f6b22b7b58c36eb9524a 100644 (file)
                                        )
                                ),
                                'content' => $lang['strcreatesequence']
-                       )), 'sequences-sequences');
+                       )), 'sequences-sequences', get_defined_vars());
        }
 
        /**
                        if (! $data->hasAlterSequenceStart())
                                unset($navlinks['restart']);
 
-                       $misc->printNavLinks($navlinks, 'sequences-properties');
+                       $misc->printNavLinks($navlinks, 'sequences-properties', get_defined_vars());
                }
                else echo "<p>{$lang['strnodata']}</p>\n";
        }
diff --git a/sql.php b/sql.php
index d2364fba85c1f6c9efa1c0a225bcb28ff48f6404..5a01d6cf2b76c8cbd2c0af4fcb41d75316fd0b04 100644 (file)
--- a/sql.php
+++ b/sql.php
                );
        }
 
-       $misc->printNavLinks($navlinks, 'sql-form');
+       $misc->printNavLinks($navlinks, 'sql-form', get_defined_vars());
        
        $misc->printFooter();
 ?>
index 43cb5b9d2d268210e6c6f11a16d513806627defe..c3aedfb190fb59666c82377f18852e46f52136cd 100644 (file)
                        );
                }
 
-               $misc->printNavLinks($navlinks, 'tables-tables');
+               $misc->printNavLinks($navlinks, 'tables-tables', get_defined_vars());
        }
        
        require('./admin.php');
index 2ac84ed26130996f4aeab6ded19dbbccc5988f15..3c6f8beba5d985bfa1d966bfdbad5311381c3345 100755 (executable)
                                        )
                                ),
                                'content' => $lang['strcreatetablespace']
-                       )), 'tablespaces-tablespaces');
+                       )), 'tablespaces-tablespaces', get_defined_vars());
        }
 
        $misc->printHeader($lang['strtablespaces']);
index e229e8903028e87ce744f4c3ecbcb825bd6bba83..e2a5d2e2a3c4e7a64784fb3f3ee171824b27e3d3 100644 (file)
                                'content' => $lang['stralter']
                        )
                );
-               $misc->printNavLinks($navlinks, 'tblproperties-tblproperties');
+               $misc->printNavLinks($navlinks,
+                       'tblproperties-tblproperties'
+                       , get_defined_vars()
+               );
 
        }
 
index 64c665ec5eaedfe25d517f204e7bbfd60c4d8639..339e4ae48bac4677a743e54264bbc84dae57fa9e 100644 (file)
                                        )
                                ),
                                'content' => $lang['strcreatetrigger']
-                       )), 'triggers-triggers');
+                       )), 'triggers-triggers', get_defined_vars());
        }
 
        function doTree() {
index e3e9d2ed908448faf3b93d141d88bdae780f2b14..a3ca1a34ecb0712b0fb1f541343670d4ef9235b6 100644 (file)
--- a/types.php
+++ b/types.php
@@ -97,7 +97,7 @@
                                                )
                                        ),
                                        'content' => $lang['strshowalltypes']
-                               )), 'types-properties');
+                               )), 'types-properties', get_defined_vars());
                } else
                        doDefault($lang['strinvalidparam']);
        }
                        unset($navlinks['enum']);
                }
 
-               $misc->printNavLinks($navlinks, 'types-types');
+               $misc->printNavLinks($navlinks, 'types-types', get_defined_vars());
        }
        
        /**
index dcd117008705123c331895ba174dc74162cddd5c..11775ea5bf45efeddd2adaf0429171fcf96c3bdb 100644 (file)
--- a/users.php
+++ b/users.php
@@ -58,7 +58,7 @@
                                        )
                                ),
                                'content' => $lang['strchangepassword']
-                       )), 'users-account');
+                       )), 'users-account', get_defined_vars());
        }
        
        /**
                                        )
                                ),
                                'content' => $lang['strcreateuser']
-                       )), 'users-users');
+                       )), 'users-users', get_defined_vars());
 
        }
 
index 4000b491eecab05fe04d7ca29ef51d106a2ae1ec..950789b57dc74d8faaa803aa72ecb880242886b8 100755 (executable)
                                        )
                                ),
                                'content' => $lang['stralter']
-                       )), 'viewproperties-definition');
+                       )), 'viewproperties-definition', get_defined_vars());
        }
 
        /**
                        )
                );
 
-               $misc->printNavLinks($navlinks, 'viewproperties-viewproperties');
+               $misc->printNavLinks($navlinks, 'viewproperties-viewproperties', get_defined_vars());
        }
 
        $misc->printHeader($lang['strviews'] . ' - ' . $_REQUEST['view']);
index f81331eba9410869e07fbb1049b75bd5dc970673..bde355862a1d2f1b836b5970213205ad3fc3bff9 100644 (file)
--- a/views.php
+++ b/views.php
                                'content' => $lang['strcreateviewwiz']
                        )
                );
-               $misc->printNavLinks($navlinks, 'views-views');
+               $misc->printNavLinks($navlinks, 'views-views', get_defined_vars());
 
        }