Back to Modification Graveyard

Group Plugins by Product in the ACP Plugin Manager
Mod Version: 1.01, by Paul M

This thread is in the Modification Graveyard.
vB Version: 3.5.x Rating: (1 vote - 5.00 average) Installs: 15
Released: 05 Nov 2005 Last Update: Never Downloads: 19
Not Supported  

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 ;

PHP Code:
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'], 04'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&amp;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&amp;pluginid=$plugin[pluginid]") .
            
construct_link_code($vbphrase['delete'], "plugin.php?" $vbulletin->session->vars['sessionurl'] . "do=delete&amp;pluginid=$plugin[pluginid]")
        ));
    }

    
print_submit_row($vbphrase['save_active_status'], false4);

    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 ;

PHP Code:
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'], 04'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&amp;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&amp;pluginid=$plugin[pluginid]") .
            
construct_link_code($vbphrase['delete'], "plugin.php?" $vbulletin->session->vars['sessionurl'] . "do=delete&amp;pluginid=$plugin[pluginid]")
        ));
    }

    
print_submit_row($vbphrase['save_active_status'], false4);

    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.

Download

This modification cannot be downloaded.

Screenshots

 


vblts.ru supports vBulletin®, 2022-2024