Single Click Plugin Updater WordPress Plugin

This plugin extends the plugin update notification feature introduced in WordPress 2.3 by adding an “update automatically” link to update notifications. When you click the link, the new version of the corresponding plugin is downloaded and installed automatically. It also lets you know which plugins have update notifications enabled.
Update 06.04.2008 : Version 2.0.1 with much more features is out. More info here.

Download it now! (37 Kb)

How It Works (In Detail)

To be able to display the new link this plugin will hide the original update notification and display a slightly modified one. Here’s what happens when you click the “update automatically” link :

  1. If the plugin that needs to be updated is active, it is deactivated.
  2. The Plugin Updater retrieves the plugin’s page from WordPress.org and finds the download link.
  3. The new version is downloaded and extracted to the wp-content/plugins directory (this directory must be writable by the Updater plugin).
  4. If necessary, the updated plugin is re-activated.

All this happens in the background, so if everything works OK you’ll end up back at the “Plugins” tab. If there are any errors the plugin will display an error message and abort the upgrade.

Requirements

  • WordPress 2.3 or newer.
  • CURL library installed or allow_url_fopen enabled in php.ini. If you don’t know what that means, don’t worry – at least one of these is available on most webservers by default.
  • The /plugins directory must be writable by WordPress. The exact file permissions depend on the server configuration. Read more about file permissions. 666 or 755 may be sufficient, and 777 will always work, though this is not recommended due to security risks.

The plugin has been tested and works under Firefox 2.x, Opera 9.x and, as of version 1.0.5, Internet Explorer.

Installation

To install the plugin, please follow these steps:

  • Download the one-click-plugin-updater.zip file (below) to your computer.
  • Unzip the file.
  • Upload “one-click-plugin-updater” folder to the “/wp-content/plugins/” directory.
  • Activate the plugin through the ‘Plugins’ menu in WordPress.

That’s it.

Download

one-click-plugin-updater.zip (40 Kb)
CC-GNU GPL

Related posts :

535 Responses to “Single Click Plugin Updater WordPress Plugin”

  1. Sure, I’ll try anything ๐Ÿ™‚

  2. White Shadow says:

    Great, I’ll send you an email.

  3. MacVids says:

    Hiho! seems to be a VERY useful little piece of code – thanks a lot!

    for some reason it refuses to work on one of my servers – gives me a 406
    “An appropriate representation of the requested resource /wp-content/plugins/one-click-plugin-updater/do_update.php could not be found on this server.”

    The file is there, permissions are ok. Any idea what could cause this?

  4. White Shadow says:

    That’s a weird error. And I don’t think it’s caused by the plugin… Might be something with your browser or server configuration. Try it in a different browser perhaps? Or maybe the plugin didn’t upload properly to the server, you could try uploading it again.

  5. MacVids says:

    hmmm… I have a bunch of other plugins running (thats why I need yours… ๐Ÿ˜‰ ) and no problems. Your plug can be installed/activated, but whenever I try to autoupdate a plugin, this 406 error shows up… Standard Firefox 2.x on Mac, standard Linux hosting at Hostnine… nothing special.

    Will try some more things tomorrow and report back!
    Thanks for your lightning-fast answer!

  6. White Shadow says:

    This might also help you – HTTP 406 Error
    There’s also a less radical solution.

  7. LGDA says:

    Hi White Shadow, I that I’m not the only one. If you need mo testerz holla at me (dont worry I’m french, my english come from songs I heard, lol). I’m really interested on the special debug version too! I’ll be back…(from movies too)

  8. White Shadow says:

    @MacVids : Here’s something to try –
    Create a .htaccess file in your “one-click-plugin-updater” directory and put these lines in it :

    
    SecFilterInheritance Off
    

    @LGDA : Try this debug version. I’ve also made a few changes that might make it work… maybe.

  9. MacVids says:

    Shadow, you are da hero!

    I killed this mod_wannabesecure-thingy, and your plug now works on the shared hosting as smoothly as it did on my own vserver before!

    Thanks a bunch, mate!

  10. White Shadow says:

    Great, congratulations and such ๐Ÿ™‚

  11. LGDA says:

    Ok, so, it works better, I updated the all in one seo pack but I had an error report, I uploaded it here for you:

    http://www.legrenierdalice.com/_blabla/blogpix/errorrepot.txt

    I just had to activate the plug and everything seems to be ok, i cheked my plugin folder with filezilla, it looks ok.

    I dont really understand the error report, if you have the time to give me a solution to have it working 100% it would be cool, if you can.

    Thank you!

  12. White Shadow says:

    The updated plugin wasn’t activated automatically because you’re running the debug version. Everything else seems more-or-less okay in that report (at least it works, apparently). To disable debug mode just open one-click-plugin-updater.php and change the line that says “var debug = true;” to “var debug = false;”.

  13. LGDA says:

    Works fine, thank you very much!

  14. ukasiu says:

    It’s super. Now I don’t waste time on updating plugins. Thanks a lot!

  15. I get this error after I fixed the permissions and cannot figure out what temp file this reffers to. Seems like a great plugin if we can get it working. Any suggestions?

    Error : couldn’t create a temporary file.

  16. White Shadow says:

    The plugin needs to create a temporary file to store the new version (a zip file) before it can extract it. It uses a built-in PHP function to determine where to store the file (tempnam()).

    Do you have enough diskspace left on the partition that holds the temporary files? And what OS does your server have?

  17. White Shadow says:

    Actually, scratch that – just try the version I uploaded now. I suspect it might work better.

  18. Christopher says:

    The updater doesn’t update for me the plugin page just reloads its self without any error messages.

    I already set the permissions to the plugin directory. What line do I need to add to my php.ini?

  19. White Shadow says:

    Have you got the latest version? Some other people have reported the same problem before, but it should be mostly fixed in the current version.

    If you have the latest version, you can open the one-click-plugin-updater.php file and change the line that says “var debug = false;” to “var debug = true;” to get a detailed report of what the plugin tries to do.

    As for the php.ini lines, I don’t know what you’re talking about ๐Ÿ˜›

  20. Christopher says:

    version 1.1.6 .. I set debug true and got a long list of text. The following looks interesting:

    gzopen() found, will use PclZip.
    Error: PclZip reports failure. ‘PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature’
    gzopen() not found or PclZip error. Running unzip instead.
    unzip returned value ‘0’. unzip log :

    Array
    (
    [0] => Archive: /tmp/PLGXhAsVH
    [1] => peters-custom-anti-spam-image packaged: Mon, 03 Dec 2007 03:40:03 +0000
    )

    extractPlugin() succeeded.
    Plugin extracted, deleting temporary file ‘/tmp/PLGXhAsVH’
    Upgraded plugin was not active. Will redirect back to plugin list.

Leave a Reply