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. JHS says:

    Doesn’t work. I have been using the one click installer for some time, but this one does not work at all. It displays the same message every time: “Error : couldn’t unzip the new version of the plugin.”

  2. White Shadow says:

    File permissions are probably to blame; though if the Oneclick installer works, I’ll have to see how it does that.

  3. Danny says:

    Hi. Also like the idea of this, but it does seem to require the zlib extensions to php be enabled. I have enabled them (off by default on my host, and yet it still claims they are not available. Does this all ring true? I’m uncommenting the line `extension=zlib.so` in my php.ini file for php5.

    Thanks.

  4. White Shadow says:

    Hey,

    Looks like the zlib extension is required by the PclZip library which this plugin uses to unzip files. I didn’t write that library, so I don’t know much about troubleshooting it…

    A Google search tells me you need to restart the webserver for the new php.ini to take effect. You could also try phpinfo() to see if the zlib extension is actually being loaded.

    Meanwhile, I have uploaded a slightly modified version of the plugin that will now correctly fall back to using exec() to run unzip (the unix binary) when zlib is not available.

  5. Luke Howell says:

    The plugin does not seem to be updating the others. It seems to run fine but the plugins don’t get updated.

  6. White Shadow says:

    This is probably a file permission issue again. Try temporarily setting your plugins directory to 777 (writable by anyone) and see if it works them. I’ll also upload a minor update of the plugin shortly that should be able to report the problem more accurately.

  7. Danny says:

    Hello again,

    It was working very well, even with permissions at 755, which is great. But I just auto updated to the latest version 1.0.3, then an hour later tried to update Broken Link Checker to 2.2.1, and clicking on the update automatically link results in a blank page (like a php error or something).

    They may not be related. Sorry.

  8. White Shadow says:

    In the version 1.0.3 I made slight changes to how this plugin determines whether it can write to the plugins directory. However, if this was the cause for your problem, there should be an explicit error message displayed. All I changed in broken link checker was that it would display an error message if CURL wasn’t available. Have you tried updating it manually? What about automatically updating other plugins?

    I’ll need to do more testing before I can suggest anything.

  9. I just get the error,

    Fatal error: Call to undefined function: is__writable() in /home/pagani/public_html/wp-content/plugins/one-click-plugin-updater/oneclick-plugin-updater.php on line 134

    It doesn’t appear to be a permissions error. No change in permissions gets rid of this undefined call error.

  10. White Shadow says:

    It’s a bug. I got it fixed, but I forgot to upload the newest version, sorry!
    This should work.

    I keep forgetting one needs to be very careful when releasing something that “works for me” to the public :/

  11. Danny says:

    FWIW, this new version fixed my problem. Thanks!

  12. Daniel says:

    I found a bug! 🙂

    This does not work in internet explorer 6. ( there is no auto update link when using internet explorer.

    Please, can you fix that?

  13. Daniel says:

    and BTW, it works great in FF. Thanks a lot for your time!

  14. White Shadow says:

    It didn’t work in IE because Internet Exploder doesn’t support CSS2 very well. I’ve rewritten the CSS and it now works in IE (as in “it worked the one time I tried it” 😉 ).

  15. Swift says:

    Why is it that once I automatically update the plugins, I get duplicates. An old one and the new one. Is it possible that the old one be removed automatically or is it just me?

    Anyways nice plugin, great for lazy people (or shall we say busy =) ) like me.

    Swift

  16. White Shadow says:

    This hasn’t happened to me, but it might be possible when the old & new versions have different directory/file structure. This should be pretty rare.

    I could make it delete the old plugin before/after downloading the new one, but that would be dangerous, e.g. there might be some config or cache files in the old plugin’s directory which would get deleted, too. So I won’t be doing that.

  17. Krishna says:

    Not working for me probably due to my not-so-good knowledge of things. It would be great if it could be like the “Automatic WordPress Upgrade” where I can enter the details of the ftp, etc and let the program do the rest.
    I have so many plugins in the /plugins directory that changing their file attrib takes such a long time that I want to just give it up.

  18. White Shadow says:

    Hey, Krishna, you don’t need to set the permissions for each file/folder in the /plugins directory! Just set the permissions for the /plugins directory itself.

  19. Danny says:

    Hey, I just thought I’d point out how much I love this plugin. Love it!

    Might I offer an idea for a future version, or for a separate plugin? I’d like some visual indicator, on the plugins page, of which plugins are not being checked (i.e., if they are not in the wordpress.org/extend site), so I know to continue checking them manually every so often.

    Thank you!

Leave a Reply