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)
Jumping to the conclusion that the ‘one-click’ plugin referred to in this post is ‘One Click Plugin Updater’ (sorry if I’m totally wrong here >_<) but was just wondering if this plugin does affect the post/page management section at all?
(http://wordpress.org/support/topic/199058?replies=5)
Thanks! π
@Mosey – I don’t know if this is the plugin referred to in that thread (there is one other plugin with a similar name). In any case, the plugin shouldn’t affect the pages under “Manage” at all.
However, it may be possible for a failed upgrade to cause some problems. It could leave some previously active plugins deactivated. Also, if PHP is in safemode and something causes the updater to time out and be terminated by the server when upgrading (wouldn’t happen in non-safemode), in very rare cases it could theoretically leave a plugin in “half-updated”, inconsistent state, that could cause unexpected problems. In that case I’d recommend deactivating all plugins and reactivating them one by one to see which (if any) is the problematic one.
@White Shadow – Thank you very much for your prompt and helpful reply π I’ll link the asker to your answer and if it does happen to be this plugin (probably not as it does seem unlikely) then he has some way of fixing it.
Thanks again! π
@Mosey – Just a quick update to say it’s all resolved now. Thanks again, White Shadow! π Really much appreciated!
Hello friends,
I’m using the One Click Plugin Updater but I have actualized to the new version. Now, when I whant to automatic update any plugin (others) I get a 404 error page.
What can I do to the plugin back to work?
Thank you!
thanks for your help before, but i’m still getting errors. any help? sorry for ugly error paste, but:
Error reporting set to E_ALL.
Plugin directory is ‘/homepages/15/d206252512/htdocs/watson/wp-content/plugins/’
Checking to see if /homepages/15/d206252512/htdocs/watson/wp-content/plugins/ is writable.
Okay.
Nonce verification passed.
About to upgrade 1 plugins.
Upgrading ‘broken-link-checker/broken-link-checker.php’, download URL is ‘http://downloads.wordpress.org/plugin/broken-link-checker.0.4.8.zip’.
The plugin that needs to be upgraded is active. Deactivating.
Downloading ‘http://downloads.wordpress.org/plugin/broken-link-checker.0.4.8.zip’…
Downloaded 14780 bytes.
Will save the new version archive (zip) to a temporary file ‘/homepages/15/d206252512/htdocs/watson/wp-content/plugins/one-click-plugin-updater/plg3204cc0f4ada02ee5aba581e01cbb3f4.zip’.
About to extract ‘/homepages/15/d206252512/htdocs/watson/wp-content/plugins/one-click-plugin-updater/plg3204cc0f4ada02ee5aba581e01cbb3f4.zip’.
Extracting files from /homepages/15/d206252512/htdocs/watson/wp-content/plugins/one-click-plugin-updater/plg3204cc0f4ada02ee5aba581e01cbb3f4.zip…
So far, the type is set to ‘plugin’.
Need to load PclZip.
gzopen() found, will use PclZip.
Starting extraction to folder ‘/homepages/15/d206252512/htdocs/watson/wp-content/plugins/’.
Extracting broken-link-checker/broken-link-checker.php
Found a plugin header! The plugin is : Broken Link Checker
Extracting broken-link-checker/readme.txt
Extracting broken-link-checker/wsblc_ajax.php
Extraction succeeded.
Upgraded plugin was active. It will be reactivated.
Main loop finished.
Should redirect to http://watson.christolles.com/wp-admin/plugins.php?action=activate&plugin=broken-link-checker%2Fbroken-link-checker.php&_wpnonce=087e6af456
(Debug version = redirection will not happen. Script execution finished.)
@Chris Tolles – I don’t see any errors in that log. In fact, it seems the update went perfectly well π You just need to disable debug mode if you don’t want to see those detailed installation messages anymore (see Plugins -> Upgrade Settings).
@White Shadow –
what a dope! thanks. but still, why are the new plugins not activated?
@Chris Tolles – The upgraded plugin doesn’t get activated when in debug mode – this is by design. Plugins should get reactivated when debug mode is off… are you saying that doesn’t happen?
First off,
Just want to say that I love your plugin, and thanks for developing it!
But, like others here, I’m having an issue with the one-click update. Had to switch over to “WordPress Core” in settings, because with the default i was getting “Plugin Activated” but no updates. It still doesn’t update all at the same time; have to update the plugins one at a time (works flawlessly that way). Not a big deal, though, just wanted to let you know.
Thanks again for a wonderful plugin, and keep up the good work!
Hello,
first of all, thanks for the plugins!
Unfortunately, I’m having an issue with the plugin updates. Here are the log:
…
Starting extraction to folder ‘/var/www/vhosts/myhostname/httpdocs/wp-content/plugins/’.
Extracting clean-archives-reloaded/clean-archives-reloaded.php
Found a plugin header! The plugin is : Clean Archives Reloaded
Can’t create file clean-archives-reloaded/clean-archives-reloaded.php in /var/www/vhosts/myhostname/httpdocs/wp-content/plugins/!
I tried both mode with no success. I’ve also tried to modify the permission for plugins directory, the to-be-updated plugin directory, and the old plugin files to 777 with no effects. Is there anything I need to set up (probably permission-wise) before using this plugin?
Thanks!
@bimz – Well, the only thing that springs to mind (after much thinking) is that the the updater plugin file and the plugin-to-be-updated might have different owners. Or, possibly, the server might be configured to prevent PHP from writing to files regardless of permissions.
Great plugin – except I can’t edit the files in a theme directory that oneclick created (I think it was your plugin). I get the 550 permissions error. How to fix this?
@Tim G. – I think this could have been caused by a change in your server’s configuration. The plugin uses normal file access functions (the same WP would use), so WordPress should always be able to access files that the plugin can access.
However, I can imagine some scenarios – quite contrived ones – when certain changes (not necessarily recent ones) in configuration could cause a problem like this.
Here’s something you could try : check that the theme directory in question (and files within it) have the same owner as WP core files. Depending on your server conf. you might also need to set the permissions to 755, or whatever permissions are currently set for other themes/plugins.
@White Shadow –
Hi,
the user for your theme install is 99, for the rest of my server files, 32xxx.
Also, I sent you some $ for your plugin.
Is your plugin going to be included in 2.7 core?
@Tim G. – So it’s as I thought – the theme files are owned by user 99 (A.K.A “nobody”), the user that the webserver often runs as, and the other files are owned by another user (probably your own user account). You need to get all the files to have the same owner – your account. You can usually do this by typing “chown username filename” in the console, but the specifics will depend on your host.
As far as I know 2.7 will include the main features of my plugin but probably not all the little tweaks and the Firefox extension. I really haven’t looked into it yet.
@White Shadow –
So is there any fix to this? I guess the easiest way is to install the theme manually. Does that console command work for the whole directory? Where to I go on the host control panel to type that?
@Tim G. – It should work on the whole directory (maybe you’d need to add some additional options). However, it’s not something you can use from your control panel. To enter console commands you would need to connect to your server using a SSH/telnet client like PuTTY. This is called “shell access” and I don’t know if your host allows it. And it requires a bit of Linux skills π
The simplest solution might be to delete the theme and try again, or install it manually as you suggested.
@White Shadow –
chown won’t let me change the user – it tells me operation fails…guess I’ll have to email the host to get them to del the directory.
How do I get my plugin to automatically update?