Paul M
11-04-2005, 10:00 PM
This modification is no longer available or supported.
Having upgraded to vb 3.5.1 and now having over 60 plugins across 15 products I finally got fed up of the current way they are displayed so I simply switched the Products/Hooks around in the display to group plugins [for a product] together. Much easier to see what's related this way.
Simply find this section of code in the admincp/plugin.php file ;
if ($_REQUEST['do'] == 'modify')
{
$products = fetch_product_list(true);
print_form_header('plugin', 'updateactive');
print_table_header($vbphrase['plugin_system'], 4);
print_cells_row(array($vbphrase['title'], $vbphrase['product'], $vbphrase['active'], $vbphrase['controls']), 1);
$plugins = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "plugin ORDER BY hookname, title");
$prevhook = '';
while ($plugin = $db->fetch_array($plugins))
{
if ($plugin['hookname'] != $prevhook)
{
$prevhook = $plugin['hookname'];
print_description_row("$vbphrase[hook_location] : " . $plugin['hookname'], 0, 4, 'tfoot');
}
$product = $products[($plugin['product'] ? $plugin['product'] : 'vbulletin')];
if (!$product)
{
$product = array('title' => "<em>$plugin[product]</em>", 'active' => 1);
}
if (!$product['active'])
{
$product['title'] = "<strike>$product[title]</strike>";
}
$title = htmlspecialchars_uni($plugin['title']);
$title = ($plugin['active'] AND $product['active']) ? $title : "<strike>$title</strike>";
print_cells_row(array(
"<a href=\"plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=edit&pluginid=$plugin[pluginid]\">$title</a>",
$product['title'],
"<input type=\"checkbox\" name=\"active[$plugin[pluginid]]\" value=\"1\"" . ($plugin['active'] ? ' checked="checked"' : '') . " />",
construct_link_code($vbphrase['edit'], "plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=edit&pluginid=$plugin[pluginid]") .
construct_link_code($vbphrase['delete'], "plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=delete&pluginid=$plugin[pluginid]")
));
}
print_submit_row($vbphrase['save_active_status'], false, 4);
echo '<p align="center">' . construct_link_code($vbphrase['add_new_plugin'], "plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=add") . '</p>';
}
and replace it with this ;
if ($_REQUEST['do'] == 'modify')
{
$products = fetch_product_list(true);
print_form_header('plugin', 'updateactive');
print_table_header($vbphrase['plugin_system'], 4);
print_cells_row(array($vbphrase['title'], $vbphrase['hook_location'], $vbphrase['active'], $vbphrase['controls']), 1);
$plugins = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "plugin ORDER BY product, hookname, title");
$prevhook = '';
while ($plugin = $db->fetch_array($plugins))
{
$product = $products[($plugin['product'] ? $plugin['product'] : 'vbulletin')];
if ($plugin['product'] != $prevhook)
{
$prevhook = $plugin['product'];
print_description_row("(" . $plugin['product'] . ") : " . $product['title'], 0, 4, 'tfoot');
}
if (!$product)
{
$product = array('title' => "<em>$plugin[product]</em>", 'active' => 1);
}
if (!$product['active'])
{
$product['title'] = "<strike>$product[title]</strike>";
}
$title = htmlspecialchars_uni($plugin['title']);
$title = ($plugin['active'] AND $product['active']) ? $title : "<strike>$title</strike>";
print_cells_row(array(
"<a href=\"plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=edit&pluginid=$plugin[pluginid]\">$title</a>",
$plugin['hookname'],
"<input type=\"checkbox\" name=\"active[$plugin[pluginid]]\" value=\"1\"" . ($plugin['active'] ? ' checked="checked"' : '') . " />",
construct_link_code($vbphrase['edit'], "plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=edit&pluginid=$plugin[pluginid]") .
construct_link_code($vbphrase['delete'], "plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=delete&pluginid=$plugin[pluginid]")
));
}
print_submit_row($vbphrase['save_active_status'], false, 4);
echo '<p align="center">' . construct_link_code($vbphrase['add_new_plugin'], "plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=add") . '</p>';
}
That's it, job done. :)
History:
v1.01 : First Release.
Having upgraded to vb 3.5.1 and now having over 60 plugins across 15 products I finally got fed up of the current way they are displayed so I simply switched the Products/Hooks around in the display to group plugins [for a product] together. Much easier to see what's related this way.
Simply find this section of code in the admincp/plugin.php file ;
if ($_REQUEST['do'] == 'modify')
{
$products = fetch_product_list(true);
print_form_header('plugin', 'updateactive');
print_table_header($vbphrase['plugin_system'], 4);
print_cells_row(array($vbphrase['title'], $vbphrase['product'], $vbphrase['active'], $vbphrase['controls']), 1);
$plugins = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "plugin ORDER BY hookname, title");
$prevhook = '';
while ($plugin = $db->fetch_array($plugins))
{
if ($plugin['hookname'] != $prevhook)
{
$prevhook = $plugin['hookname'];
print_description_row("$vbphrase[hook_location] : " . $plugin['hookname'], 0, 4, 'tfoot');
}
$product = $products[($plugin['product'] ? $plugin['product'] : 'vbulletin')];
if (!$product)
{
$product = array('title' => "<em>$plugin[product]</em>", 'active' => 1);
}
if (!$product['active'])
{
$product['title'] = "<strike>$product[title]</strike>";
}
$title = htmlspecialchars_uni($plugin['title']);
$title = ($plugin['active'] AND $product['active']) ? $title : "<strike>$title</strike>";
print_cells_row(array(
"<a href=\"plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=edit&pluginid=$plugin[pluginid]\">$title</a>",
$product['title'],
"<input type=\"checkbox\" name=\"active[$plugin[pluginid]]\" value=\"1\"" . ($plugin['active'] ? ' checked="checked"' : '') . " />",
construct_link_code($vbphrase['edit'], "plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=edit&pluginid=$plugin[pluginid]") .
construct_link_code($vbphrase['delete'], "plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=delete&pluginid=$plugin[pluginid]")
));
}
print_submit_row($vbphrase['save_active_status'], false, 4);
echo '<p align="center">' . construct_link_code($vbphrase['add_new_plugin'], "plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=add") . '</p>';
}
and replace it with this ;
if ($_REQUEST['do'] == 'modify')
{
$products = fetch_product_list(true);
print_form_header('plugin', 'updateactive');
print_table_header($vbphrase['plugin_system'], 4);
print_cells_row(array($vbphrase['title'], $vbphrase['hook_location'], $vbphrase['active'], $vbphrase['controls']), 1);
$plugins = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "plugin ORDER BY product, hookname, title");
$prevhook = '';
while ($plugin = $db->fetch_array($plugins))
{
$product = $products[($plugin['product'] ? $plugin['product'] : 'vbulletin')];
if ($plugin['product'] != $prevhook)
{
$prevhook = $plugin['product'];
print_description_row("(" . $plugin['product'] . ") : " . $product['title'], 0, 4, 'tfoot');
}
if (!$product)
{
$product = array('title' => "<em>$plugin[product]</em>", 'active' => 1);
}
if (!$product['active'])
{
$product['title'] = "<strike>$product[title]</strike>";
}
$title = htmlspecialchars_uni($plugin['title']);
$title = ($plugin['active'] AND $product['active']) ? $title : "<strike>$title</strike>";
print_cells_row(array(
"<a href=\"plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=edit&pluginid=$plugin[pluginid]\">$title</a>",
$plugin['hookname'],
"<input type=\"checkbox\" name=\"active[$plugin[pluginid]]\" value=\"1\"" . ($plugin['active'] ? ' checked="checked"' : '') . " />",
construct_link_code($vbphrase['edit'], "plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=edit&pluginid=$plugin[pluginid]") .
construct_link_code($vbphrase['delete'], "plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=delete&pluginid=$plugin[pluginid]")
));
}
print_submit_row($vbphrase['save_active_status'], false, 4);
echo '<p align="center">' . construct_link_code($vbphrase['add_new_plugin'], "plugin.php?" . $vbulletin->session->vars['sessionurl'] . "do=add") . '</p>';
}
That's it, job done. :)
History:
v1.01 : First Release.