Plugin Directory

Changeset 562602


Ignore:
Timestamp:
06/22/2012 06:42:24 PM (14 years ago)
Author:
ljg3
Message:

Added functionality for listing sites using a plugin. Closes #1

Location:
multisite-plugin-stats/trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • multisite-plugin-stats/trunk/multisite-plugin-stats.php

    r562599 r562602  
    3232        add_action( 'network_admin_menu', array( &$this, 'add_menu' ) );
    3333        add_action( 'admin_head', array( &$this, 'custom_css') );
     34        add_action( 'admin_enqueue_scripts', array( &$this, 'register_admin_scripts' ) );
    3435        add_action( 'plugins_loaded', array( &$this, 'localization' ) );
    3536       
     
    6364        $network_plugins = get_site_option( 'active_sitewide_plugins');
    6465
     66        // Initialize the name array
     67        $site_names = array();
     68
    6569        // Scan the sites for activation
    6670        $blogs = $wpdb->get_col("SELECT blog_id FROM {$wpdb->blogs} WHERE site_id = {$wpdb->siteid} AND spam = 0 AND deleted = 0");
     71
    6772        if ($blogs) {
    6873            foreach($blogs as $blog_id) {
    6974                switch_to_blog($blog_id);
     75
     76                // Get the name and add it to the list
     77                $site_names[$blog_id] = get_option('blogname');
    7078               
    7179                // Get active plugins
     
    102110       
    103111        <h3><?php _e('Active Plugins', 'multisite_plugin_stats'); ?> (<?php echo count($active_plugins); ?>)</h3>
     112        <p><em>Click the count to display the blogs using a given plugin.</em></p>
    104113        <ul class="plugin_list">
    105114        <?php
     115            $counter = 0;
    106116            foreach ($active_plugins as $plugin => $blog_array) {
    107                 echo '<li>' . $plugin_info[$plugin]["Name"] . ' ('.count($blog_array).' activations)</li>';
     117
     118                echo '<li>' . $plugin_info[$plugin]["Name"] . ' ';
     119                echo '<a href="#" class="plugin_count" id="plugin_count_'.$counter.'">';
     120                echo '('.count($blog_array).' activations)</a>';
     121                echo '</li>';
     122
     123                // List the sites
     124                echo '<ul class="plugin_site_list" style="display:none;" id="site_list_'.$counter.'">';
     125                foreach ($blog_array as $blog_id) {
     126                    echo '<li>' . htmlspecialchars($site_names[$blog_id]) . '</li>';
     127                }
     128                echo '</ul>';
     129               
    108130                // Remove it from the list
    109131                unset($plugin_info[$plugin]);
     132                $counter++;
    110133            }
    111134        ?>
     
    127150    // Add a little style
    128151    function custom_css() {
    129          echo '<style type="text/css">
     152        echo '<style type="text/css">
    130153                         .plugin_list li { margin-left: 2em; }
     154                         .plugin_site_list li { margin-left: 4em; }
    131155                     </style>';
    132156    }
     157
     158    /**
     159     * Registers and enqueues admin-specific JavaScript.
     160     */
     161    public function register_admin_scripts() {
    133162   
     163        wp_register_script( 'multisite-plugin-stats-admin-script', plugins_url( 'multisite-plugin-stats/js/admin.js' ) );
     164        wp_enqueue_script( 'multisite-plugin-stats-admin-script' );
     165   
     166    } // end register_admin_scripts
     167
    134168}
    135169
  • multisite-plugin-stats/trunk/readme.txt

    r562601 r562602  
    44Tags: multisite, plugins
    55Requires at least: 3.1
    6 Tested up to: 3.3.1
    7 Stable tag: 1.0
     6Tested up to: 3.4
     7Stable tag: 1.1
    88
    99A multisite plugin to show plugin activations across all your sites.
     
    3535* Initial Public Release. Enjoy!
    3636
     37= 1.1 =
     38* Added ability to list blogs with plugin activated
     39
Note: See TracChangeset for help on using the changeset viewer.