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)
Hey hey.
1. This is the expected behaviour. In debug mode, the plugin outputs various messages and doesn’t automatically redirect to the activation URL (or you wouldn’t see the messages).
2. Theres a typo in the name of that form field. I’ll fix that shortly. The “Mini-Guide” is for people who’ve been using the OneClick plugin (the one by Anirudh). It basically describes the main features of my plugin, and the differences between this and the OneClick plugin.
1. I don’t get why it does not re-activate the plugins, though. And it would be fine to have a way to go back to the WP plugins page.
2. OK. But why can’t I select that option?
Thanks,
Chris Masse
Am I blind, stupid or both? How do I Delete plugins?! I can find the delete-button (or delete link) for themes but not for plugins.
@Fizzgigg – The delete link only shows up for inactive plugins. You can’t dlete active plugins this way.
@Chris Masse – reactivating plugins is a dangerous task (a faulty plugin can crash the script). That’s why all plugins are updated first, and then the script redirects to itself and activates the plugins one by one… Okay, it’s actually more complex than that. Anyway, you gave me an idea how to improve this part of the algorithm, thanks ๐
Do you mean you actually can’t select the option in your browser? That would be weird. The bug I mentioned would make you unable to save that option – it would always stay off after the page reloads. It’s fixed in 2.2.1, already on WordPress.org
Then I am blind because I can’t see it even with inactive plugins.
@Fizzgigg – Maybe you have JavaScript disabled? The “Delete” links are added by JS after the page is loaded. Also, you need to be logged in as someone with the “edit_plugins” security privilege to see them (blog admins typically have that capability).
@White Shadow – I am the admin (and logged in as one) and javascipt is enabled. Can’t see any reason why it shouldn’t work. Btw, I can’t find the dashboard widget either.
I’m using WP 2.5.1 if that can have something to do with it.
I’m running WP 2.5.1 as well, and it works on my two blogs.
View the source of the Plugins page and see if you can find lines like
//Add a status msg.
and
//Add the “Delete” links to inactive plugins
If you find them both, it’s a JS problem of some kind. If only the first one, it’s probably a permission problem. If neither, then there are some serious issues with that situation – the footer hook isn’t running properly.
And what is this “dashboard widget” you speak of?
Sorry about that dashboard thing, I must have mixed up this plugin with some other. I don’t miss it either since I don’t use the dashboard. ๐
I tried updating the java engine to update 6 and that didn’t help.
I’m not sure I follow (I’m not very good at programming). If I go to http://www.mydomain.com/wp-admin/plugins.php, right click and choose View Source I can see both
//Add a status msg.
and
//Add the “Delete” links to inactive plugins
It doesn’t work on neither of my computers and nether IE7 or Firefox.
@Fizzgigg -Yes, you did the right thing. Hmm… Okay, check the source again and see if you can find any mention jquery.js. It’s probably not there. If that’s the case, then I’ve found the bug and will fix it soon.
@White Shadow –
I found it on row 18:
Another strange thing is that when I click “Save changes” in “Plugins/Upgrade Settings” I get the message “Settings saved” but they aren’t saved.
BTW, I found the dashboard thing. It’s on the page “Plugins/Upgrade Settings” way down and says “Show the Miniguide submenu on Dashboard”.
@Fizzgigg – That was unexpected, I thought it would be missing (this would explain the missing Delete link, and more).
…I’m afraid I can’t offer any more suggestions at the moment. Sorry, out of ideas.
@White Shadow –
Dang, I really want this plugin to work.
*Thinking* Four out of four of my computers has the same problem, no matter OS and browser. That makes me think there’s something with the server and not with my computers. All the attributes on the directories on the server are correct as far as I know.
@Fizzgigg – It’s weird. Since jQuery is loaded and the script present, I don’t see why the delete links wouldn’t show up.
Does at least something work (of the plugin)? E.g. do you see yellow/gray bars for every plugin in the plugin list? And you said the options don’t get saved; do you mean all of the options, or just some specific ones?
@White Shadow –
I can see the grey and yellow bars, I can install plugins from URL, I can delete themes.
I can se the page “Upgrade settings” but It doesn’t save changes despite the fact it says it does and I can’t delete plugins.
I haven’t tried to update anything yet because there hasn’t been any updates to any the plugins I use yet.
As I said, it’s very unusual. The bars are added pretty much the same way that the “Delete” link should be added – using a bit of jQuery/JavaScrip. If one shows up, why not the other? Ah, I don’t know.
@White Shadow –
This is really weird.
I’ve updated the plugin from v2.2 to v2.2.2 without any change. And I discovered that settings are in fact saved but not all of them. “Show the miniguide…” for example is not saved but most of the others are.
Could it be different version of php? My servers are using PHP 5.2.5.
“Show miniguide” should be fixed in 2.2.2. Still no idea about the rest of the problems.
@White Shadow –
Wow, with the new v2.2.3 delete works! ๐ Sort of. I think I actually found a bug? When it tried to delete I get the error message that it can’t find and delete “…wp-content/pluginsmydashboard”. Shouldn’t there be a slash betweenplugins and mydashboard?
Yes, there should be a slash there. Can you give me the exact error message?