diff options
| author | Tristan Zur <tzur@web.web.ccwn.org> | 2014-03-27 22:27:47 +0100 |
|---|---|---|
| committer | Tristan Zur <tzur@web.web.ccwn.org> | 2014-03-27 22:27:47 +0100 |
| commit | b62676ca5d3d6f6ba3f019ea3f99722e165a98d8 (patch) | |
| tree | 86722cb80f07d4569f90088eeaea2fc2f6e2ef94 /hugo/server_plugins.php | |
Diffstat (limited to 'hugo/server_plugins.php')
| -rw-r--r-- | hugo/server_plugins.php | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/hugo/server_plugins.php b/hugo/server_plugins.php new file mode 100644 index 0000000..ffaf6ab --- /dev/null +++ b/hugo/server_plugins.php @@ -0,0 +1,184 @@ +<?php +/* vim: set expandtab sw=4 ts=4 sts=4: */ +/** + * + * @package PhpMyAdmin + */ + +/** + * requirements + */ +require_once 'libraries/common.inc.php'; + +/** + * JS includes + */ +$response = PMA_Response::getInstance(); +$header = $response->getHeader(); +$scripts = $header->getScripts(); +$scripts->addFile('jquery/jquery.tablesorter.js'); +$scripts->addFile('server_plugins.js'); + +/** + * Does the common work + */ +require 'libraries/server_common.inc.php'; + +/** + * Displays the sub-page heading + */ +echo '<h2>' . "\n" + . PMA_Util::getImage('b_engine.png') + . "\n" . __('Plugins') . "\n" + . '</h2>' . "\n"; + +/** + * Prepare plugin list + */ +$sql = "SELECT p.plugin_name, p.plugin_type, p.is_active, m.module_name, m.module_library, + m.module_version, m.module_author, m.module_description, m.module_license + FROM data_dictionary.plugins p + 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 + */ +?> +<script type="text/javascript"> +pma_theme_image = '<?php echo $GLOBALS['pmaThemeImage']; ?>'; +</script> +<div id="pluginsTabs"> + <ul> + <li><a href="#plugins_plugins"><?php echo __('Plugins'); ?></a></li> + <li><a href="#plugins_modules"><?php echo __('Modules'); ?></a></li> + </ul> + + <div id="plugins_plugins"> + <div id="sectionlinks"> + <?php + foreach ($plugins as $plugin_type => $plugin_list) { + $key = 'plugins-' . preg_replace('/[^a-z]/', '', strtolower($plugin_type)); + echo '<a href="#' . $key . '">' . htmlspecialchars($plugin_type) . '</a>' . "\n"; + } + ?> + </div> + <br /> + <?php + foreach ($plugins as $plugin_type => $plugin_list) { + $key = 'plugins-' . preg_replace('/[^a-z]/', '', strtolower($plugin_type)); + sort($plugin_list); + ?> + <table class="data_full_width" id="<?php echo $key; ?>"> + <caption class="tblHeaders"> + <a class="top" href="#serverinfo"><?php + echo __('Begin'); + echo PMA_Util::getImage('s_asc.png'); + ?></a> + <?php echo htmlspecialchars($plugin_type); ?> + </caption> + <thead> + <tr> + <th><?php echo __('Plugin'); ?></th> + <th><?php echo __('Module'); ?></th> + <th><?php echo __('Library'); ?></th> + <th><?php echo __('Version'); ?></th> + <th><?php echo __('Author'); ?></th> + <th><?php echo __('License'); ?></th> + </tr> + </thead> + <tbody> + <?php + $odd_row = false; + foreach ($plugin_list as $plugin) { + $odd_row = !$odd_row; + ?> + <tr class="noclick <?php echo $odd_row ? 'odd' : 'even'; ?>"> + <th><?php echo htmlspecialchars($plugin['plugin_name']); ?></th> + <td><?php echo htmlspecialchars($plugin['module_name']); ?></td> + <td><?php echo htmlspecialchars($plugin['module_library']); ?></td> + <td><?php echo htmlspecialchars($plugin['module_version']); ?></td> + <td><?php echo htmlspecialchars($plugin['module_author']); ?></td> + <td><?php echo htmlspecialchars($plugin['module_license']); ?></td> + </tr> + <?php + } + ?> + </tbody> + </table> + <?php + } + ?> + </div> + <div id="plugins_modules"> + <table class="data_full_width"> + <thead> + <tr> + <th><?php echo __('Module'); ?></th> + <th><?php echo __('Description'); ?></th> + <th><?php echo __('Library'); ?></th> + <th><?php echo __('Version'); ?></th> + <th><?php echo __('Author'); ?></th> + <th><?php echo __('License'); ?></th> + </tr> + </thead> + <tbody> + <?php + $odd_row = false; + foreach ($modules as $module_name => $module) { + $odd_row = !$odd_row; + ?> + <tr class="noclick <?php echo $odd_row ? 'odd' : 'even'; ?>"> + <th rowspan="2"><?php echo htmlspecialchars($module_name); ?></th> + <td><?php echo htmlspecialchars($module['info']['module_description']); ?></td> + <td><?php echo htmlspecialchars($module['info']['module_library']); ?></td> + <td><?php echo htmlspecialchars($module['info']['module_version']); ?></td> + <td><?php echo htmlspecialchars($module['info']['module_author']); ?></td> + <td><?php echo htmlspecialchars($module['info']['module_license']); ?></td> + </tr> + <tr class="noclick <?php echo $odd_row ? 'odd' : 'even'; ?>"> + <td colspan="5"> + <table> + <tbody> + <?php + foreach ($module['plugins'] as $plugin_type => $plugin_list) { + ?> + <tr class="noclick"> + <td><b class="plugin-type"><?php echo htmlspecialchars($plugin_type); ?></b></td> + <td> + <?php + for ($i = 0; $i < count($plugin_list); $i++) { + echo ($i != 0 ? '<br />' : '') . htmlspecialchars($plugin_list[$i]['plugin_name']); + if (!$plugin_list[$i]['is_active']) { + echo ' <small class="attention">' . __('disabled') . '</small>'; + } + } + ?> + </td> + </tr> + <?php + } + ?> + </tbody> + </table> + </td> + </tr> + <?php + } + ?> + </tbody> + </table> + </div> +</div> |
