mirror of
https://github.com/cytopia/devilbox.git
synced 2024-12-23 14:42:25 +00:00
185 lines
6.4 KiB
PHP
185 lines
6.4 KiB
PHP
|
<?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>
|