123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- <?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>
|