WordPress.org

Plugin Directory

Changeset 231317


Ignore:
Timestamp:
04/20/10 21:38:16 (4 years ago)
Author:
MrWiblog
Message:

0.3

  • Made registration manual
  • Added date range graphs
Location:
plugin-register/trunk
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • plugin-register/trunk/plugin-register.php

    r225917 r231317  
    33 * @package Plugin Register 
    44 * @author Chris Taylor 
    5  * @version 0.2 
     5 * @version 0.3 
    66 */ 
    77/* 
    88Plugin Name: Plugin Register 
    99Plugin URI: http://www.stillbreathing.co.uk/projects/plugin-register/ 
    10 Description: This is a plugin for plugin developers only. Plugin Register allows you to keep track of what version of your plugins are being installed. By registering a function to be run on activation of your plugin, a call is made to this plugin which stores details the site which is installing your plugin, which plugin is being installed, and the plugin version. Some reports are available so you can see what versions are installed. Please note: On activation this plugin will send a message to the developer with your site name and URL. This information will be kept private. If you are not happy with the developer knowing you are using their plugin, please do not use it. 
     10Description: This is a plugin for plugin developers only. Plugin Register allows you to keep track of what version of your plugins are being installed. By registering a function to be run on activation of your plugin, a call is made to this plugin which stores details the site which is installing your plugin, which plugin is being installed, and the plugin version. Some reports are available so you can see what versions are installed. 
    1111Author: Chris Taylor 
    12 Version: 0.2 
     12Version: 0.3 
    1313Author URI: http://www.stillbreathing.co.uk/ 
    1414*/ 
     
    1616// set the current version 
    1717function pluginregister_current_version() { 
    18     return "0.2"; 
    19 } 
     18    return "0.3"; 
     19} 
     20 
     21// ========================================================================================== 
     22// hooks 
     23 
     24// set activation hooks 
     25register_activation_hook( __FILE__, pluginregister_activate ); 
     26 
     27// initialise the plugin 
     28pluginregister_init(); 
    2029 
    2130// ========================================================================================== 
    2231// service calling function 
    2332 
    24 register_activation_hook( __FILE__, pluginregister_plugin_register ); 
    25 function pluginregister_plugin_register() { 
    26     $plugin = "Plugin Register"; 
    27     $version = "0.2"; 
    28     $site = get_option( "blogname" ); 
    29     $url = get_option( "siteurl" ); 
    30     $register_url = "http://www.stillbreathing.co.uk/?plugin=" . urlencode( $plugin ) . "&version=" . urlencode( $version ) . "&site=" . urlencode( $site ) . "&url=" . urlencode( $url ); 
    31     wp_remote_fopen( $register_url ); 
    32 } 
    33  
    34 // ========================================================================================== 
    35 // hooks 
    36  
    37 // set activation hooks 
    38 register_activation_hook( __FILE__, pluginregister_activate ); 
    39  
    40 // initialise the plugin 
    41 pluginregister_init(); 
     33require_once( "plugin-register.class.php" ); 
     34 
     35$register = new Plugin_Register(); 
     36$register->file = __FILE__; 
     37$register->slug = "pluginregister"; 
     38$register->name = "Plugin Register"; 
     39$register->version = pluginregister_current_version(); 
     40$register->developer = "Chris Taylor"; 
     41$register->homepage = "http://www.stillbreathing.co.uk"; 
     42$register->register_message = 'Hey! Thanks! <a href="%1">Register the plugin here</a>.'; 
     43$register->thanks_message = "That's great, thanks a million."; 
     44$register->Plugin_Register(); 
    4245 
    4346// ========================================================================================== 
     
    4851        add_action( "template_redirect", "pluginregister_service" ); 
    4952        add_action( "admin_menu", "pluginregister_admin_menu" ); 
     53        add_action( "admin_head", "pluginregister_admin_head" ); 
     54        add_action( "admin_menu", "pluginregister_download_class" ); 
    5055    } 
    5156} 
     
    9297} 
    9398 
     99function pluginregister_download_class() { 
     100    if ( @$_GET["page"] == "pluginregister_reports" && @$_GET["download"] == "class" ) { 
     101        header( "Content-type:application/octet-stream" ); 
     102        header( "Content-Disposition: attachment; filename=plugin-register.class.php" ); 
     103        $file = file_get_contents( str_replace( ".php", ".class.php", __FILE__ ) ); 
     104        print $file; 
     105        exit(); 
     106    } 
     107} 
     108 
    94109/// show the reports 
    95110function pluginregister_reports() { 
     
    100115 
    101116    echo ' 
    102     <div class="wrap"> 
     117    <div class="wrap" id="pluginregister"> 
    103118    <div id="icon-plugins" class="icon32"><br /></div> 
    104119    '; 
     
    134149    '; 
    135150 
     151} 
     152 
     153// add the CSS and JavaScript for the reports 
     154function pluginregister_admin_head() 
     155{ 
     156    if (isset($_GET["page"]) && $_GET["page"] == "pluginregister_reports") 
     157    {    
     158    echo ' 
     159<style type="text/css"> 
     160#pluginregister td { 
     161vertical-align: bottom; 
     162} 
     163#pluginregister ul.inline li { 
     164display: inline; 
     165margin-right: 2em; 
     166} 
     167</style>'; 
     168    } 
    136169} 
    137170 
     
    149182        <input type="submit" class="button" value="' . __( "Search plugin register", "pluginregister" ) . '" /> 
    150183        <input type="hidden" name="page" value="pluginregister_reports" /></p> 
    151     </form> 
    152      
    153      
     184    </form>'; 
     185     
     186    // show date range reports 
     187    echo ' 
     188    <h3>' . __("Date range reports") . '</h3> 
     189     
     190    <ul class="inline"> 
     191        <li><a href="plugins.php?page=pluginregister_reports#range24hours">' . __("Last 24 hours") . '</a></li> 
     192        <li><a href="plugins.php?page=pluginregister_reports&amp;range=14days#range14days">' . __("Last 14 days") . '</a></li> 
     193        <li><a href="plugins.php?page=pluginregister_reports&amp;range=12weeks#range12weeks">' . __("Last 12 weeks") . '</a></li> 
     194    </ul> 
     195 
     196    '; 
     197     
     198    // show 24 hour report 
     199    if (!isset($_GET["range"])) 
     200    { 
     201         
     202        pluginregister_24hour_report(); 
     203         
     204    } 
     205     
     206    // show 14 day report 
     207    if (isset($_GET["range"]) && $_GET["range"] =="14days") 
     208    { 
     209         
     210        pluginregister_14day_report(); 
     211         
     212    } 
     213     
     214    // show 12 week report 
     215    if (isset($_GET["range"]) && $_GET["range"] =="12weeks") 
     216    { 
     217     
     218        pluginregister_12week_report(); 
     219         
     220    } 
     221     
     222    echo ' 
    154223    <h3 style="padding-top:2em">' . __( "Registered plugins", "pluginregister" ) . '</h3> 
    155224    '; 
     
    225294            where (select min(time) from " . $wpdb->prefix . "plugin_register where url = s.url) > " . (time()-604800) . " 
    226295            group by s.url  
    227             order by s.url 
     296            order by firstregistration desc 
    228297            limit %d, %d;", 
    229298            $start, 
     
    303372    } 
    304373     
    305     echo ' 
    306     <h3 style="padding-top:2em">' . __( "Using Plugin Register in your plugins", "pluginregister" ) . '</h3> 
    307     <p>' . __( "To use Plugin Register in your plugins ensure you include this code, replacing the [PLACEHOLDER TEXT] with the details of your plugin:", "pluginregister" ) . '</p> 
    308      
    309     <textarea rows="11" cols="50" style="width:95%;font-family:monospace">register_activation_hook( __FILE__, "[YOUR UNIQUE PLUGIN SLUG]_plugin_register" ); 
    310 function [YOUR UNIQUE PLUGIN SLUG]_plugin_register() { 
    311     $plugin = "[YOUR PLUGIN NAME]"; 
    312     $version = "[YOUR PLUGIN VERSION]"; 
    313     $site = get_option( "blogname" ); 
    314     $url = get_option( "siteurl" ); 
    315     $register_url = "' . get_option( "siteurl" ) . '/?plugin=" . urlencode( $plugin ) . "&version=" . urlencode( $version ) . "&site=" . urlencode( $site ) . "&url=" . urlencode( $url ); 
    316     wp_remote_fopen( $register_url ); 
    317 }</textarea> 
    318 '; 
    319  
     374    ?> 
     375    <h3 style="padding-top:2em"><?php echo __( "Using Plugin Register in your plugins", "pluginregister" ); ?></h3> 
     376    <p><?php echo __( 'To use Plugin Register in your plugins you must include the <a href="plugins.php?page=pluginregister_reports&amp;download=class">plugin_register.class.php</a> file, then create a new instance of the Plugin_Register class. The code below gives an example.', 'pluginregister' ); ?></p> 
     377     
     378    <textarea rows="11" cols="50" style="width:95%;font-family:monospace">// include the Plugin_Register class 
     379require_once( &quot;plugin_register.class.php&quot; ); // leave this as it is 
     380 
     381// create a new instance of the Plugin_Register class 
     382$register->file = __FILE__; // leave this as it is 
     383$register->slug = &quot;pluginregister&quot;; // create a unique slug for your plugin (normally the plugin name in lowercase, with no spaces or special characters works fine) 
     384$register->name = &quot;Plugin Register&quot;; // the full name of your plugin (this will be displayed in your statistics) 
     385$register->version = &quot;1.0&quot;; // the version of your plugin (this will be displayed in your statistics) 
     386$register->developer = &quot;Chris Taylor&quot;; // your name 
     387$register->homepage = &quot;http://www.stillbreathing.co.uk&quot;; // your Wordpress website where Plugin Register is installed (no trailing slash) 
     388 
     389// the next two lines are optional 
     390// 'register_plugin' is the message you want to be displayed when someone has activated this plugin. The %1 is replaced by the correct URL to register the plugin (the %1 MUST be the HREF attribute of an &lt;a&gt; element) 
     391$register->register_message = 'Hey! Thanks! &lt;a href=&quot;%1&quot;&gt;Register the plugin here&lt;/a&gt;.'; 
     392// 'thanks_message' is the message you want to display after someone has registered your plugin 
     393$register->thanks_message = &quot;That's great, thanks a million.&quot;; 
     394 
     395$register->Plugin_Register(); // leave this as it is</textarea> 
     396 
     397    <p><?php echo __( "<strong>Important:</strong> If you are using the 'register_activation_hook' function in your plugin please ensure you call the Plugin_Register class AFTER your last 'register_activation_hook' call. If in doubt put your Plugin_Register code at the very end of your plugin file.", "pluginregister" ); ?></p> 
     398 
     399<? 
     400 
     401} 
     402 
     403// show 24 hour report 
     404function pluginregister_24hour_report($plugin = "", $version = "") 
     405{ 
     406 
     407    global $wpdb; 
     408     
     409    $plugin = $wpdb->escape($plugin); 
     410    $version = $wpdb->escape($version); 
     411     
     412    $begin = time() - (60 * 60 * 23); 
     413    $start = $begin; 
     414     
     415    for($i = 0; $i < 24; $i++) 
     416    { 
     417        $hours[] = $start; 
     418     
     419        $sql = "select count(id) as num 
     420            from " . $wpdb->prefix . "plugin_register 
     421            where hour(FROM_UNIXTIME(time)) = hour(FROM_UNIXTIME(" . $start . ")) 
     422            and day(FROM_UNIXTIME(time)) = day(FROM_UNIXTIME(" . $start . ")) 
     423            and month(FROM_UNIXTIME(time)) = month(FROM_UNIXTIME(" . $start . ")) 
     424            and year(FROM_UNIXTIME(time)) = year(FROM_UNIXTIME(" . $start . ")) 
     425            and  
     426            ('" . $plugin . "' = '' or plugin = '" . $plugin . "') 
     427            and 
     428            ('" . $version . "' = '' or plugin = '" . $version . "');"; 
     429 
     430        $registrationsnum[] = $wpdb->get_var($sql); 
     431         
     432        $start = $start + (60 * 60);             
     433    } 
     434     
     435    $registrationsmax = 0; 
     436     
     437    for($i = 0; $i < 24; $i++) 
     438    { 
     439        if ($registrationsnum[$i] > $registrationsmax) { $registrationsmax = $registrationsnum[$i]; } 
     440    } 
     441     
     442    echo ' 
     443    <h4 id="range24hours">' . __("Plugin registrations in the last 24 hours" . $desc) . '</h4> 
     444    <table class="widefat post fixed"> 
     445        <thead> 
     446        <tr> 
     447            <th style="width:100px"></th> 
     448        '; 
     449    for($i = 0; $i < 24; $i++) 
     450    { 
     451        echo ' 
     452            <th>' . date("H", $hours[$i]) . '</th> 
     453        '; 
     454    } 
     455    echo ' 
     456        </tr> 
     457        </thead> 
     458        <tbody> 
     459        <tr> 
     460        <th style="width:100px">' . __("Registrations") . '</th> 
     461        '; 
     462         
     463    for($i = 0; $i < 24; $i++) 
     464    { 
     465        echo ' 
     466            <td>'; 
     467        if ($registrationsnum[$i] != "0" && $registrationsmax != "0") 
     468        { 
     469        echo ' 
     470            <div style="background:#6F6F6F;width:10px;height:' . (round(($registrationsnum[$i]/$registrationsmax)*100)) . 'px"></div>'; 
     471            } 
     472        echo ' 
     473            ' . $registrationsnum[$i] . '</td> 
     474        '; 
     475    } 
     476    echo ' 
     477        </tr> 
     478        </tbody> 
     479    </table> 
     480    '; 
     481} 
     482 
     483// show 14 day report 
     484function pluginregister_14day_report($plugin = "", $version = "") 
     485{ 
     486 
     487    global $wpdb; 
     488     
     489    $plugin = $wpdb->escape($plugin); 
     490    $version = $wpdb->escape($version); 
     491 
     492    $begin = time() - (60 * 60 * 24 * 13); 
     493    $start = $begin; 
     494     
     495    for($i = 0; $i < 14; $i++) 
     496    { 
     497        $days[] = date("jS M", $start); 
     498     
     499        $sql = "select count(id) as num 
     500            from " . $wpdb->prefix . "plugin_register 
     501            where day(FROM_UNIXTIME(time)) = day(FROM_UNIXTIME(" . $start . ")) 
     502            and month(FROM_UNIXTIME(time)) = month(FROM_UNIXTIME(" . $start . ")) 
     503            and year(FROM_UNIXTIME(time)) = year(FROM_UNIXTIME(" . $start . ")) 
     504            and  
     505            ('" . $plugin . "' = '' or plugin = '" . $plugin . "') 
     506            and 
     507            ('" . $version . "' = '' or plugin = '" . $version . "');"; 
     508 
     509        $registrationsnum[] = $wpdb->get_var($sql); 
     510         
     511        $start = $start + (60 * 60 * 24);            
     512    } 
     513     
     514    $registrationsmax = 0; 
     515     
     516    for($i = 0; $i < 14; $i++) 
     517    { 
     518        if ($registrationsnum[$i] > $registrationsmax) { $registrationsmax = $registrationsnum[$i]; } 
     519    } 
     520     
     521    echo ' 
     522    <h4 id="range14days">' . __("Plugin registrations in the last 14 days" . $desc) . '</h4> 
     523    <table class="widefat post fixed"> 
     524        <thead> 
     525        <tr> 
     526            <th style="width:100px"></th> 
     527        '; 
     528    for($i = 0; $i < 14; $i++) 
     529    { 
     530        echo ' 
     531            <th>' . $days[$i] . '</th> 
     532        '; 
     533    } 
     534    echo ' 
     535        </tr> 
     536        </thead> 
     537        <tbody> 
     538        <tr> 
     539        <th style="width:100px">' . __("Registrations") . '</th> 
     540        '; 
     541         
     542    for($i = 0; $i < 14; $i++) 
     543    { 
     544        echo ' 
     545            <td>'; 
     546        if ($registrationsnum[$i] != "0" && $registrationsmax != "0") 
     547        { 
     548        echo ' 
     549            <div style="background:#6F6F6F;width:10px;height:' . (round(($registrationsnum[$i]/$registrationsmax)*100)) . 'px"></div>'; 
     550            } 
     551        echo ' 
     552            ' . $registrationsnum[$i] . '</td> 
     553        '; 
     554    } 
     555    echo ' 
     556        </tr> 
     557        </tbody> 
     558    </table> 
     559    '; 
     560} 
     561 
     562// show 12 week report 
     563function pluginregister_12week_report($plugin = "", $version = "") 
     564{ 
     565 
     566    global $wpdb; 
     567     
     568    $plugin = $wpdb->escape($plugin); 
     569    $version = $wpdb->escape($version); 
     570 
     571    // show 12 week report 
     572    $begin = time() - (60 * 60 * 24 * 7 * 11); 
     573    $start = $begin; 
     574     
     575    for($i = 0; $i < 12; $i++) 
     576    { 
     577        $weeks[] = date("jS M", $start); 
     578     
     579        $sql = "select count(id) as num 
     580            from " . $wpdb->prefix . "plugin_register 
     581            where week(FROM_UNIXTIME(time)) = week(FROM_UNIXTIME(" . $start . ")) 
     582            and year(FROM_UNIXTIME(time)) = year(FROM_UNIXTIME(" . $start . ")) 
     583            and  
     584            ('" . $plugin . "' = '' or plugin = '" . $plugin . "') 
     585            and 
     586            ('" . $version . "' = '' or plugin = '" . $version . "');"; 
     587 
     588        $registrationsnum[] = $wpdb->get_var($sql); 
     589         
     590        $start = $start + (60 * 60 * 24 * 7);            
     591    } 
     592     
     593    $registrationsmax = 0; 
     594     
     595    for($i = 0; $i < 12; $i++) 
     596    { 
     597        if ($registrationsnum[$i] > $registrationsmax) { $registrationsmax = $registrationsnum[$i]; } 
     598    } 
     599     
     600    echo ' 
     601    <h4 id="range12weeks">' . __("Plugin registrations in the last 12 weeks" . $desc) . '</h4> 
     602    <table class="widefat post fixed"> 
     603        <thead> 
     604        <tr> 
     605            <th style="width:100px"></th> 
     606        '; 
     607    for($i = 0; $i < 12; $i++) 
     608    { 
     609        echo ' 
     610            <th>' . $weeks[$i] . '</th> 
     611        '; 
     612    } 
     613    echo ' 
     614        </tr> 
     615        </thead> 
     616        <tbody> 
     617        <tr> 
     618        <th style="width:100px">' . __("Registrations") . '</th> 
     619        '; 
     620         
     621    for($i = 0; $i < 12; $i++) 
     622    { 
     623        echo ' 
     624            <td>'; 
     625        if ($registrationsnum[$i] != "0" && $registrationsmax != "0") 
     626        { 
     627        echo ' 
     628            <div style="background:#6F6F6F;width:10px;height:' . (round(($registrationsnum[$i]/$registrationsmax)*100)) . 'px"></div>'; 
     629            } 
     630        echo ' 
     631            ' . $registrationsnum[$i] . '</td> 
     632        '; 
     633    } 
     634    echo ' 
     635        </tr> 
     636        </tbody> 
     637    </table> 
     638    '; 
    320639} 
    321640 
     
    484803    $siteq = @$_GET["siteq"]; 
    485804    $pluginq = @$_GET["pluginq"]; 
    486     $versionq = @$_GET["pluginq"]; 
     805    $versionq = @$_GET["versionq"]; 
    487806     
    488807    echo ' 
     
    504823     
    505824    // search plugin registrations 
    506     $sql = $wpdb->prepare( "select SQL_CALC_FOUND_ROWS plugin, pluginversion as version, sitename, url, time 
     825    $sql = "select SQL_CALC_FOUND_ROWS plugin, pluginversion as version, sitename, url, time 
    507826            from " . $wpdb->prefix . "plugin_register 
    508827            where ('" . mysql_real_escape_string( $pluginq ) . "' = '' or plugin like '%" . mysql_real_escape_string( $pluginq ) . "%') 
    509             or ('" . mysql_real_escape_string( $versionq ) . "' = '' or pluginversion like '%" . mysql_real_escape_string( $versionq ) . "%') 
    510             or ('" . mysql_real_escape_string( $siteq ) . "' = '' or sitename like '%" . mysql_real_escape_string( $siteq ) . "%') 
    511             or ('" . mysql_real_escape_string( $siteq ) . "' = '' or url like '%" . mysql_real_escape_string( $siteq ) . "%') 
     828            and ('" . mysql_real_escape_string( $versionq ) . "' = '' or pluginversion like '%" . mysql_real_escape_string( $versionq ) . "%') 
     829            and ('" . mysql_real_escape_string( $siteq ) . "' = '' or sitename like '%" . mysql_real_escape_string( $siteq ) . "%') 
     830            and ('" . mysql_real_escape_string( $siteq ) . "' = '' or url like '%" . mysql_real_escape_string( $siteq ) . "%') 
    512831            order by time desc 
    513             limit %d, %d;", 
    514             $start, 
    515             $limit ); 
    516      
     832            limit " . mysql_real_escape_string( $start ) . ", " . mysql_real_escape_string( $limit ) . ";"; 
     833 
    517834    // get the results 
    518835    $results = $wpdb->get_results( $sql ); 
  • plugin-register/trunk/readme.txt

    r225917 r231317  
    55Requires at least: 2.8 
    66Tested up to: 2.9.2 
    7 Stable tag: 0.2 
     7Stable tag: 0.3 
    88 
    99For Wordpress plugin developers: keep a register of when and where your plugins are activated. 
     
    1111== Description == 
    1212 
    13 Please note: On activation this plugin will send a message to the developer with your site name and URL. This information will be kept private. If you are not happy with the developer knowing you are using their plugin, please do not use it. 
    14  
    1513If you are a Wordpress plugin developer the chances are your plugins are available for download from the Wordpress plugin repository. As part of that service the nice guys at Wordpress show you how many downloads of your plugin you get per day. Very useful, and if you're like me you check your downloads numbers too often. 
    1614 
    17 However what these stats don't show you is where your plugin is in use - which sites it is actually being activated on. Seeing that would allow you to see exactly which sites are using your plugin, when they installed it, and what version the site is running. That is exactly what Plugin Register does. 
     15However what these stats don't show you is where your plugin is in use - which sites it is actually being activated on. Seeing that information would allow you to see exactly which sites are using your plugin, when they installed it, and what version the site is running. That is exactly what Plugin Register does. 
    1816 
    19 By including a small function in your plugin which is registered to be run on activation with the `register_activation_hook()` method, your Plugin Register will be updated with the name and version of your plugin, the site name and URL. A simple call is made to your website to save these details in the Plugin Register table, and you get some great statistics on who is installing your plugins and where. 
     17By including the Plugin_Register class and calling it with some simple code in your plugin which is registered to be run on activation with the `register_activation_hook()` method, your Plugin Register will be updated with the name and version of your plugin, the site name and URL. A simple call is made to your website to save these details in the Plugin Register table, and you get some great statistics on who is installing your plugins and where. 
    2018 
    21 So, what do you need to put in your plugin? This (remember to change the [PLACEHOLDER TEXT]): 
     19So, what do you need to put in your plugin? This example code hows you everything you need: 
    2220 
    23 `register_activation_hook( __FILE__, "[YOUR UNIQUE PLUGIN SLUG]_plugin_register" ); 
    24 function [YOUR UNIQUE PLUGIN SLUG]_plugin_register() { 
    25     $plugin = "[YOUR PLUGIN NAME]"; 
    26     $version = "[YOUR PLUGIN VERSION]"; 
    27     $site = get_option( "blogname" ); 
    28     $url = get_option( "siteurl" ); 
    29     $register_url = "[YOUR WEBSITE ADDRESS]/?plugin=" . urlencode( $plugin ) . "&version=" . urlencode( $version ) . "&site=" . urlencode( $site ) . "&url=" . urlencode( $url ); 
    30     wp_remote_fopen( $register_url ); 
    31 }` 
     21`// include the Plugin_Register class 
     22require_once( "plugin-register.class.php" ); 
     23 
     24// create a new instance of the Plugin_Register class 
     25$register = new Plugin_Register(); // leave this as it is 
     26$register->file = __FILE__; // leave this as it is 
     27$register->slug = "pluginregister"; // create a unique slug for your plugin (normally the plugin name in lowercase, with no spaces or special characters works fine) 
     28$register->name = "Plugin Register"; // the full name of your plugin (this will be displayed in your statistics) 
     29$register->version = "1.0"; // the version of your plugin (this will be displayed in your statistics) 
     30$register->developer = "Chris Taylor"; // your name 
     31$register->homepage = "http://www.stillbreathing.co.uk"; // your Wordpress website where Plugin Register is installed (no trailing slash)` 
    3232 
    3333The reports you get include: 
    3434 
     35* Graphs showing how many registrations have been made for the last 24 hours, 14 days and 12 weeks 
    3536* A list of all plugins registered, with how many unique versions and unique sites 
    3637* A list of all version of a particular plugin, with the number of unique sites 
     
    5354== Installation == 
    5455 
    55 1. Upload `plugin-name.php` to the `/wp-content/plugins/` directory 
    56 1. Activate the plugin through the 'Plugins' menu in WordPress 
    57 1. Place `<?php do_action('plugin_name_hook'); ?>` in your templates 
     561. Install from the Wordpress plugin repository 
     572. Activate the plugin through the 'Plugins' menu in WordPress 
    5858 
    5959== Screenshots == 
     
    6969= Is any personally-identifiable information saved? = 
    7070 
    71 No. The only information saved by Plugin Register is the name and version of the plugin, and the name and URL of the Wordpress site it is installed on. I do not intend to ever get any persons personal information using this plugin. 
     71No. The only information saved by Plugin Register is the name and version of the plugin, and the name and URL of the Wordpress site it is installed on. I do not intend to ever get any persons personal information using this plugin. Registration is also manually-triggered, so no details are stored without the permission of the person who activated the plugin. 
    7272 
    7373== Changelog == 
     74 
     75= 0.3 = 
     76* Made registration manual 
     77* Added date range graphs 
    7478 
    7579= 0.2 = 
     
    8185== Upgrade Notice == 
    8286 
    83 = 1.0 = 
    84 Upgrade notices describe the reason a user should upgrade.  No more than 300 characters. 
    85  
    86 = 0.5 = 
    87 This version fixes a security related bug.  Upgrade immediately. 
     87= 0.3 = 
     88This version makes the registration process manual, rather than automatic. Several people were unhappy that this plugin automatically gathered information about their sites, so I changed it to be an explicit user action to register a plugin. 
Note: See TracChangeset for help on using the changeset viewer.