summaryrefslogtreecommitdiff
path: root/hugo/server_plugins.php
diff options
context:
space:
mode:
authorTristan Zur <tzur@web.web.ccwn.org>2014-03-27 22:27:47 +0100
committerTristan Zur <tzur@web.web.ccwn.org>2014-03-27 22:27:47 +0100
commitb62676ca5d3d6f6ba3f019ea3f99722e165a98d8 (patch)
tree86722cb80f07d4569f90088eeaea2fc2f6e2ef94 /hugo/server_plugins.php
Initial commit of intern.ccwn.org contentsHEADmaster
Diffstat (limited to 'hugo/server_plugins.php')
-rw-r--r--hugo/server_plugins.php184
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>