diff --git a/js/server_plugins.js b/js/server_plugins.js
new file mode 100644
index 0000000000..8c155d3302
--- /dev/null
+++ b/js/server_plugins.js
@@ -0,0 +1,13 @@
+/**
+ * Functions used in server plugins pages
+ */
+
+$(function() {
+ // Add tabs
+ $('#pluginsTabs').tabs({
+ // Tab persistence
+ cookie: { name: 'pma_serverStatusTabs', expires: 1 },
+ // Fixes line break in the menu bar when the page overflows and scrollbar appears
+ show: function() { menuResize(); }
+ });
+});
\ No newline at end of file
diff --git a/server_plugins.php b/server_plugins.php
index d85701c04c..3738583793 100644
--- a/server_plugins.php
+++ b/server_plugins.php
@@ -18,6 +18,13 @@ if (! defined('PMA_NO_VARIABLES_IMPORT')) {
*/
require_once './libraries/common.inc.php';
+/**
+ * JS includes
+ */
+$GLOBALS['js_include'][] = 'jquery/jquery-ui-1.8.custom.js';
+$GLOBALS['js_include'][] = 'jquery/jquery.cookie.js';
+$GLOBALS['js_include'][] = 'server_plugins.js';
+
/**
* Does the common work
*/
@@ -29,7 +36,6 @@ require './libraries/server_common.inc.php';
*/
require './libraries/server_links.inc.php';
-
/**
* Displays the sub-page heading
*/
@@ -40,7 +46,6 @@ echo '
' . "\n"
. "\n" . __('Plugins') . "\n"
. '
' . "\n";
-
/**
* Prepare plugin list
*/
@@ -50,74 +55,146 @@ $sql = "SELECT p.plugin_name, p.plugin_type, p.is_active, m.module_name, m.modul
JOIN data_dictionary.modules m USING (module_name)
ORDER BY m.module_name, p.plugin_type, p.plugin_name";
$res = PMA_DBI_query($sql);
+$plugins = array();
$modules = array();
while ($row = PMA_DBI_fetch_assoc($res)) {
+ $plugins[$row['plugin_type']][] = $row;
$modules[$row['module_name']]['info'] = $row;
$modules[$row['module_name']]['plugins'][$row['plugin_type']][] = $row;
}
PMA_DBI_free_result($res);
+// sort plugin list (modules are already sorted)
+ksort($plugins);
+
/**
* Displays the page
*/
?>
-
-
-
- |
- |
- |
- |
- |
- |
-
-
-
- $module) {
- $odd_row = !$odd_row;
-?>
-
- |
- |
- |
- |
- |
- |
-
-
-
-
-
- $plugin_list) {
- ?>
-
- |
-
- ' : '') . htmlspecialchars($plugin_list[$i]['plugin_name']);
- if (!$plugin_list[$i]['is_active']) {
- echo ' ' . __('disabled') . '';
+
+
+
+
+
+
+ $plugin_list) {
+ $key = preg_replace('/[^a-z]/i', '', $plugin_type);
+ sort($plugin_list);
+ ?>
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ $module) {
+ $odd_row = !$odd_row;
+ ?>
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+ $plugin_list) {
+ ?>
+
+ |
+
+ ' : '') . htmlspecialchars($plugin_list[$i]['plugin_name']);
+ if (!$plugin_list[$i]['is_active']) {
+ echo ' ' . __('disabled') . '';
+ }
}
- }
- ?>
- |
-
-
-
-
- |
-
-
-
-
+ ?>
+ |
+
+
+
+
+ |
+
+
+
+
+
+
getImgPath(); ?>col_hide.png);
color: #CCC;
diff --git a/themes/pmahomme/css/theme_right.css.php b/themes/pmahomme/css/theme_right.css.php
index a6ce99fbe6..079af9b367 100644
--- a/themes/pmahomme/css/theme_right.css.php
+++ b/themes/pmahomme/css/theme_right.css.php
@@ -63,11 +63,16 @@ h2 img{display:none;}
h2 a img{display:inline;}
-.data{
+.data,
+.data_full_width {
margin: 0 0 12px 0;
position: relative;
}
+.data_full_width {
+ width: 100%;
+}
+
h3 {
font-weight: bold;
}