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

Share :
  • Reddit
  • del.icio.us
  • Digg
  • StumbleUpon
  • DZone
  • Ping.fm
  • Sphinn
  • Twitter
Related posts :

503 Responses to “Single Click Plugin Updater WordPress Plugin”

Pages: « 14 5 6 7 8 [9] 10 11 12 13 1417 » Show All

  1. 234
    billyduc says:

    I ‘ve already use the latest version !

  2. 235
    White Shadow says:

    Well, I don’t know. You could hack the plugin to use unzip instead of PclZip if you want – edit the line 831 :

    function extractFile( $zipfile, $type='autodetect', $target = '', $use_pclzip=true

    Change "true" to "false" :

    function extractFile($zipfile, $type='autodetect', $target = '', $use_pclzip=false

    Might help.

  3. 236
    Grant Barrett says:

    There’s a cosmetic issue caused by a conflict between WP Super Cache 0.6.5 and One Click Plugin Updater 2.2.8.

    Any time there is a plugin that needs to be updated, OCPU always says that the name of the plugin is WP Super Cache, even though it places the little alert underneath the correct plugin and even though the updates work just fine. If there’s more than one plugin needing to be updated, then the alerts all say WP Super Cache Here’s a screen grab:

    http://www.waywordradio.org/wp-supercache-conflict.jpg

  4. 237
    White Shadow says:

    @Grant Barrett – Thanks for letting me know. Fixed.

  5. 238
    efe says:

    pls l have this errror when l want to use this plugin. pls what do l do? pls give me step by step how to correct it from scratch. lam using version 2.2.9

    Will save the new version archive (zip) to a temporary file ‘/tmp/PLGWpTIYb’.
    About to extract ‘/tmp/PLGWpTIYb’.
    Extracting files from /tmp/PLGWpTIYb…
    So far, the type is set to ‘theme’.
    Need to load PclZip.
    gzopen() found, will use PclZip.
    PclZip failed!
    PclZip says : ‘PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature’

  6. 239
    White Shadow says:

    @efe – actually I have no idea why some people seem to have problems with PclZip (which is the case in your example). I’d be happy to help but I don’t know how.

  7. 240
    Jeremy says:

    Hi, I’ve recently installed this plugin and I must say it’s great! Previously I was using the “Global Plugin Update Notice” plugin from http://wordpress.org/extend/plugins/global-plugin-update-notice/ which would show me when a plugin had a new version available, but didn’t have its own method of updating the plugin like your one does. Yours is better coz it actually works when I click the update button (well, most of the time anyway).

    One thing that I think is missing from your plugin though, which the GPUN plugin did: when more than one plugin is available for updating, it would be great if your plugin would provide a separate “update” button for each plugin, rather than an “update all” button. Because I might want to just update one of the plugins (using your plugin’s built-in update method) but not update all of them. Currently I can’t selectively do that using your plugin – it’s basically all or nothing.

    I don’t want to rely on WordPress’s own update method, coz for some reason that doesn’t work on my server.

    What do you think about adding this feature sometime? You can check out the GPUN plugin if you want an idea of what I mean.

    In any case, your plugin still rocks, so thanks for that!

    Cheers,
    Jeremy

  8. 241
    White Shadow says:

    @Jeremy – You can update plugins selectively if you go to the “Plugins” page and use the individual “upgrade automatically” links below each plugin. When my plugin is activated those links will use my update algorithm by default, not the WP built-in one. So they should work on your server :)

  9. [...] One Click Plugin Updater [...]

  10. 243
    Jeremy says:

    @White Shadow – thanks for the explanation! I had no idea the individual “upgrade automatically” links used your plugin’s algorithm – that’s good to know! :)

    One other question: every single one of my plugins is hosted on http://wordpress.org/extend/plugins/, yet with your plugin installed, only some of the other plugins show the gold bar to indicate they have Update Notifications enabled. The rest have the grey bar. Why is that? I thought every plugin hosted on the Extend site had Update Notifications enabled?

    In fact sometimes a plugin with a grey bar beside it will still have a new version notification displayed on the Plugins page, and your plugin will show “There is a new version of XYZ available” etc. This has happened to me just today actually. So clearly your plugin is doing the check for all these other plugins, to see which ones are available for updating, but it only shows the gold bar for a few of them. Any idea why that is? Is it a bug perhaps?

    Cheers,
    Jeremy

  11. 244
    White Shadow says:

    @Jeremy – I’m aware of this problem. It happens because there is no “official” way to find out if a plugin can get update notifications. So I use a hack, which is unreliable. It will remain this way until wordpress.org implement it in their API.

  12. 245
    Jeremy says:

    @White Shadow – would it not be correct to say that any plugin hosted at http://wordpress.org/extend/plugins/ supports Update Notifications, and any plugin not hosted there does not? Is your plugin able to tell if a plugin is hosted there or not?

    Another question: is it possible to completely turn off the gold/grey bars from the Plugins page, if I don’t want to see them at all? I can’t see anything on the options page about that. Perhaps a future version of your plugin can allow this?

    Thanks again,
    Jeremy

  13. 246
    White Shadow says:

    @Jeremy – Yes, plugins hosted on wordpress.org will have update notifications. However, verifying this for each plugin separately would be very inefficient, so I’m not using that method.

    You can’t turn the bars off in the current version, but you can always delete the image files from the plugin folder if you don’t want to see them… Maybe I’ll add the option in a new version.

  14. [...] One Click Plugin Updater är ett WordPress-tillägg som låter dej installera, uppdatera och radera tillägg och teman innan du hinner säga “Detta tillägget uppdaterar mina inlägg supersnabbt”… Jag använder det själv! [...]

  15. 248
    Jeremy says:

    Hi White Shadow,
    Are there any release notes for this plugin that I can read? I’m always curious to know what’s changed from version to version with WP plugins! But I can’t find any for yours here or on the WordPress Extend page.

    Cheers,
    Jeremy

  16. 249
    Troy Dean says:

    Whenever I attempt to update a plugin using WP 2.5 and PHP 5 I get the following error message:

    Any clues?

    If I can get this to work I’ll save myself a heap of time. Any assistance much appreciated.

    TWarning: file_put_contents(/home/aclass/public_html/wp-content/plugins/akismet/akismet.gif) [function.file-put-contents]: failed to open stream: Permission denied in /home/aclass/public_html/wp-content/plugins/one-click-plugin-updater/oneclick-plugin-updater.php on line 1047
    Can’t create file akismet/akismet.gif in /home/aclass/public_html/wp-content/plugins/!
    Main loop finished.

    Can’t create file ‘akismet/akismet.gif’ in ‘/home/aclass/public_html/wp-content/plugins/’

    The full installation log is below :
    Error reporting set to E_ALL.
    Plugin directory is ‘/home/aclass/public_html/wp-content/plugins/’
    Checking to see if /home/aclass/public_html/wp-content/plugins/ is writable.
    Okay.
    Nonce verification passed.
    About to upgrade 1 plugins.
    Upgrading ‘akismet/akismet.php’, download URL is ‘http://downloads.wordpress.org/plugin/akismet.zip’.
    The plugin that needs to be upgraded is not active. Good.
    Downloading ‘http://downloads.wordpress.org/plugin/akismet.zip’…
    Downloaded 12606 bytes.
    Will save the new version archive (zip) to a temporary file ‘/tmp/PLGh1IfAw’.
    About to extract ‘/tmp/PLGh1IfAw’.
    Extracting files from /tmp/PLGh1IfAw…
    So far, the type is set to ‘plugin’.
    Need to load PclZip.
    gzopen() found, will use PclZip.
    Starting extraction to folder ‘/home/aclass/public_html/wp-content/plugins/’.
    Extracting akismet/akismet.gif
    Can’t create file akismet/akismet.gif in /home/aclass/public_html/wp-content/plugins/!
    Main loop finished.

  17. 250
    White Shadow says:

    @Jeremy – You can find something similar in the WordPress Repository – the revision log and this page have some of my comments.

  18. 251
    White Shadow says:

    @Troy Dean – This most likely means the plugin doesn’t have write access to your “wp-content/plugins” folder. Depending on your server configuration you may need to chmod it to 755 or 777 (does that make sense? :) ).

  19. 252
    Donal says:

    I am having the same problem as Efe (comment 238) and had to deactivate the plugin. It only started happening when One Click Installer was upgraded and changed to One Click Plugin Updater.

  20. 253
    White Shadow says:

    @Donal – I think this is caused by the change in the zip library… both plugins use essentially the same library, but OneClick Installer uses an older version, and my plugin uses the newer version that comes with WordPress itself.

    You can check if this is really the cause by replacing pclzip.lib.php in the plugins folder with the one from this archive. If it starts working OK after that then we’ll know it’s the ZIP library.

  21. 254
    Donal says:

    @White Shadow

    I replaced that file and got the same result I’m afraid.

  22. 255
    White Shadow says:

    @Donal – In that case I’m out of ideas.

  23. 256
    Mirco says:

    I get an Error 500 from my server, when trying to update plugins after installing the new one click version. I checked the permissions in my plugin folder and its set to 755, so it should work according to the manual. After that i check for the libcurl library and it’s also running on the server.

  24. 257
    White Shadow says:

    @Mirco – Unfortunately this “error 500″ is a very generic, non-descriptive and fairly rare error. It’s nigh impossible to tell why it happens unless you do some heavy research.

    From what I’ve found after googling wordpress plugins & error 500, it appears that this error is usually caused either by an incorrect .htaccess file or by file permissions.

    Take a look at what permissions the actual one-click-plugin-updater files have. I can’t say what, exactly, they need to be, but they should have the same permissions as other plugin’s files. For example, if you have Akismet working and akismet.php is 755, then all .php files in the one-click-plugin-updater directory should also have 755 permissions.

    If that doesn’t help then .htacess would be the next thing to look at.

  25. 258
    Ben says:

    I seem to keep getting the same message:

    Can’t create a temporary file ‘/var/tmp/PLGVUPqpR’.

    The full installation log is below :
    Plugin directory is ‘/f1/content/tictechtoe/public/wp-content/plugins/’
    Checking to see if /f1/content/tictechtoe/public/wp-content/plugins/ is writable.
    Okay.
    Nonce verification passed.
    About to upgrade 1 plugins.
    Upgrading ’stats/stats.php’, download URL is ‘http://downloads.wordpress.org/plugin/stats.1.3.2.zip’.
    The plugin that needs to be upgraded is not active. Good.
    Downloading ‘http://downloads.wordpress.org/plugin/stats.1.3.2.zip’…
    Downloaded 229591 bytes.
    Will save the new version archive (zip) to a temporary file ”.
    Warning: couldn’t create a temporary file at ”.
    Using alternate temporary file ‘/var/tmp/PLGVUPqpR’.
    Error: couldn’t create a temporary file ‘/var/tmp/PLGVUPqpR’.
    Main loop finished.

    That temp directory just doesn’t exist on the server, maybe I’m just missing a setting or something? Please help, and sorry for sounding like a noob.

  26. 259
    White Shadow says:

    @Ben – From the log I can tell what’s going on, but I don’t know why.

    First the plugin tries to create the temp. file in “/tmp”, but apparently that directory doesn’t exist and tempnam() returns an emty string. This is not exactly what it (PHP) should do – it should instead create the file in the system’s default temp. folder.

    So the the plugin tries again (because it’s persistent and tries to be reasonably failsafe), attempting to create the temporary file in it’s own directory which definitely must exist. But this time, for some inexplicable reason, the tempnam() function reports that it has created the temp. file in “/var/tmp”, which, according to your comment, doesn’t exist.

    As far as I can tell it’s a PHP/server/configuration bug.

    [Oh, the humanity. I should probably go get some sleep.]

  27. 260
    Troy says:

    @White Shadow – I have checked the chmod of the plugins and themes directory to 777 and snoopy says it’s okay on the upgrade settings page. Any other ideas?

    Much appreciated.

  28. 261
    White Shadow says:

    @Troy – I still think the log in your previous comment clearly indicates a permission issue. Check the permissions on akismet/akismet.php; also check which user owns those files. Is safemode on?

  29. [...] habe nämlich das Plugin One click Plugin Updater installiert, ihr könnt damit eure Plugins selber über ein Menü [...]

  30. [...] One Click Plugin Updater Upgrade plugins with a single click, install new plugins or themes from an URL or by uploading a file, see which plugins have update notifications enabled, control how often WordPress checks for updates, and more. By Janis Elsts. [...]

Pages: « 14 5 6 7 8 [9] 10 11 12 13 1417 » Show All

Leave a Reply