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 :
- If the plugin that needs to be updated is active, it is deactivated.
- The Plugin Updater retrieves the plugin’s page from WordPress.org and finds the download link.
- The new version is downloaded and extracted to the wp-content/plugins directory (this directory must be writable by the Updater plugin).
- 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)
hi. Thanks for plugin
perfect.
Regards
since a couple of version this plugin does not work anymore for me. have you changed anything regarding the detection if a fodler is writable or not?
here is how my folders are treated: I do a chown -R myuser:www-data on the plugins folder followed by a chmod -R 775 so basically the group: www-data which is the group apache2 and php run as are allowed to read/write/execute so everything should be fine, still when I try a direct upgrade of a plugin, I get somethign like this:
Warning: file_put_contents(/var/www/web6/web/wordpress/wp-content/plugins/one-click-plugin-updater/do_update.php) [function.file-put-contents]: failed to open stream: Permission denied in /var/www/web6/web/wordpress/wp-content/plugins/one-click-plugin-updater/oneclick-plugin-updater.php on line 979
Can’t create file ‘one-click-plugin-updater/do_update.php’ in ‘/var/www/web6/web/wordpress/wp-content/plugins/’
The full installation log is below :
Checking to see if /var/www/web6/web/wordpress/wp-content/plugins is writable.
Okay.
Nonce verification passed.
About to upgrade 1 plugins.
Upgrading ‘one-click-plugin-updater/oneclick-plugin-updater.php’, download URL is ‘http://downloads.wordpress.org/plugin/one-click-plugin-updater.2.2.4.zip’.
The plugin that needs to be upgraded is active. Deactivating.
Downloading ‘http://downloads.wordpress.org/plugin/one-click-plugin-updater.2.2.4.zip’…
Downloaded 58916 bytes.
Will save the new version archive (zip) to a temporary file ‘/tmp/PLGopkHWL’.
About to extract ‘/tmp/PLGopkHWL’.
Extracting files from /tmp/PLGopkHWL…
So far, the type is set to ‘plugin’.
gzopen() found, will use PclZip.
Starting extraction to folder ‘/var/www/web6/web/wordpress/wp-content/plugins/’.
Extracting one-click-plugin-updater/do_update.php
Can’t create file one-click-plugin-updater/do_update.php in /var/www/web6/web/wordpress/wp-content/plugins/!
Main loop finished.
oh, and I have one more idea: sometimes when I had problems with your plugin, I used the built in update, via FTP, so that might have reset the rights on the folders?
@ovidiu – I don’t think this is a bug in the plugin’s access-detection routine. As you can see from the log, the plugin actually can’t write the file in question.
However, it thinks it can write to the folder. You could check if this is correct by trying to install a new plugin using the installer at Plugins/Install Plugin. If that works the problem is most likely with the specific file(s) that the plugin can’t overwrite.
It might have something to do with the fact that since recently the plugin will try to chmod 755 any files it extracts (configured on the settings page), but it seems unlikely.
thx for the answer. I changed the option to 775 on the plugins settings, but maybe it was too late. I’ll change the permissions again, and as soon as a new update is available I’ll try it out again.
After installing the plugins, all my plugins dissappeared and I do not have access to them. Any help would be appreciated.
I had the same exact problem.
Help! Please!
Can you elaborate on this “disappearance”? Does that mean that you no longer see the “Plugins” item in the dashboard menu, or that you can’t access it (how?), or that the “Plugins” tab is empty (if so, does it show at least something)? Or something else entirely?
P.S.
Sorry for not answering earlier – I’m having problems with my ISP.
[…] 插件主页 […]
Hi
since a few days if this plugin is active I can’t access to the administration of WP …. I have only a totally blank page (also the sources are blank) O_o
The only way to access is delete the plugin throught FTP …. Why does this appens and how can I solve?
Tnx a lot
@Engelium – so this only started happening recently? I haven’t made any changes to the plugin in the last few days, so the source of the problem is likely some other software. Have you upgraded or installed a new plugin right before the problem appeared? Also, changes in server configuration might cause strange bugs to appear.
Uhmm… I don’t remember if this appens after an update… I can try on another installation (but in the same server) and test it…
Well… I found the problem…. I don’t know why but if ocpu and wp-super cache are both active there is the problem… however I don’t really need wp super cache so this is not a problem for me 🙂
Hmm. I have wp-super-cache active on this blog, too, and it doesn’t seem to cause any problems.
Congrats to you for the latest improvement in this plugin. The bugs have disappeared, and all is working like a charm. Very useful.
Thanks,
Chris
I still use some plugins that doesn’t work with this plugin in the sense that the plugin can’t detect if there is an update available. It’s not because of this plugin, mind you, but the other plugins.
From a developers point of view, is it hard to implement support for update plugins? Is there a faq or information about how to do it? It would be nice to try to convince the developer of the plugins that doesn’t support updating to implement it. The quest for update support, so to speak. 🙂
@Fizzgigg – Updates are supported for plugins that are hosted on WordPress.org. WordPress.org has an API that my plugin (and WordPress itself) use to find out if a particular plugin has updates available.
Hosting a plugin on wordpress.org is free; details here.
Minor annoyance: Warning: mb_stristr() [function.mb-stristr]: Empty delimiter. in /var/www/…/wordpress/wp-content/plugins/one-click-plugin-updater/oneclick-plugin-updater.php on line 253
I should probably just hide warnings, but thought I’d let you know.
@nurikabe – Thanks, that is actually a minor, stealthy bug. I’ll fix it right away.
Problem with the latest 2 versions …
“Error reporting set to E_ALL.
.
.
.
(Debug version = redirection will not happen. Script execution finished.)”
Why is it in a debug version?