Version Description
- Initial release
Download this release
Release Info
Developer | WhiteFirDesign |
Plugin | Automatic Plugin Updates |
Version | 1.0 |
Comparing to | |
See all releases |
Version 1.0
- automatic-plugin-updates.php +154 -0
- languages/automatic-plugin-updates.pot +32 -0
- readme.txt +30 -0
- screenshot-1.png +0 -0
- uninstall.php +5 -0
automatic-plugin-updates.php
ADDED
@@ -0,0 +1,154 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
Plugin Name: Automatic Plugin Updates
|
4 |
+
Plugin URI: http://www.whitefirdesign.com/automatic-plugin-updates
|
5 |
+
Description: Enables automatic background updates of plugins. Supports excluding selected plugins from being automatically updated.
|
6 |
+
Version: 1.0
|
7 |
+
Author: White Fir Design
|
8 |
+
Author URI: http://www.whitefirdesign.com/
|
9 |
+
License: GPLv2
|
10 |
+
Text Domain: automatic-plugin-updates
|
11 |
+
Domain Path: /languages
|
12 |
+
|
13 |
+
Copyright 2014 White Fir Design
|
14 |
+
|
15 |
+
This program is free software; you can redistribute it and/or
|
16 |
+
modify it under the terms of the GNU General Public License
|
17 |
+
as published by the Free Software Foundation; only version 2 of the License is applicable.
|
18 |
+
|
19 |
+
This program is distributed in the hope that it will be useful,
|
20 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
21 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
22 |
+
GNU General Public License for more details.
|
23 |
+
|
24 |
+
You should have received a copy of the GNU General Public License
|
25 |
+
along with this program; if not, write to the Free Software
|
26 |
+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
27 |
+
*/
|
28 |
+
|
29 |
+
//Block direct access to the file
|
30 |
+
if ( !function_exists( 'add_action' ) ) {
|
31 |
+
exit;
|
32 |
+
}
|
33 |
+
|
34 |
+
|
35 |
+
//Initiate localization
|
36 |
+
function automatic_plugin_updates_init() {
|
37 |
+
load_plugin_textdomain( 'automatic-plugin-updates', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
|
38 |
+
}
|
39 |
+
add_action('init', 'automatic_plugin_updates_init');
|
40 |
+
|
41 |
+
|
42 |
+
//Check if plugin to be automatically updated is set to be excluded from automatic updates
|
43 |
+
function check_if_excluded_plugin ($update,$item) {
|
44 |
+
|
45 |
+
if (get_option('automatic_plugin_updates_excluded_plugins'))
|
46 |
+
$excluded_plugins = get_option('automatic_plugin_updates_excluded_plugins');
|
47 |
+
else
|
48 |
+
return true;
|
49 |
+
|
50 |
+
//WordPress 3.9 includes all plugin data in $item
|
51 |
+
if (version_compare(get_bloginfo('version'),'3.9','>='))
|
52 |
+
$plugin_to_check = $item->plugin;
|
53 |
+
else
|
54 |
+
$plugin_to_check = $item;
|
55 |
+
|
56 |
+
if (in_array($plugin_to_check,$excluded_plugins))
|
57 |
+
return false;
|
58 |
+
else
|
59 |
+
return true;
|
60 |
+
}
|
61 |
+
|
62 |
+
//Enable automatic plugin updates while checking for execlude plugin
|
63 |
+
add_filter( 'auto_update_plugin', 'check_if_excluded_plugin', 10, 2 );
|
64 |
+
|
65 |
+
//Send email on plugin update
|
66 |
+
if ( (!get_option('automatic_plugin_updates_send_emails')) || ( get_option('automatic_plugin_updates_send_emails') && (get_option('automatic_plugin_updates_send_emails')=='enabled') ) )
|
67 |
+
add_filter( 'automatic_updates_send_debug_email', '__return_true' );
|
68 |
+
|
69 |
+
//Adds settings link to menu
|
70 |
+
function automatic_plugin_updates_add_pages() {
|
71 |
+
add_options_page( 'Automatic Plugin Updates', 'Automatic Plugin Updates', 10, 'automatic-plugin-updates', 'automatic_plugin_updates_page' );
|
72 |
+
}
|
73 |
+
add_action( 'admin_menu', 'automatic_plugin_updates_add_pages' );
|
74 |
+
|
75 |
+
|
76 |
+
//Setting page
|
77 |
+
function automatic_plugin_updates_page() {
|
78 |
+
|
79 |
+
//Store submitted data
|
80 |
+
if ( ($_SERVER['REQUEST_METHOD'] === 'POST') && wp_verify_nonce($_POST['automatic_plugin_updates'],'automatic_plugin_updates') ) {
|
81 |
+
|
82 |
+
//Store excluded plugins
|
83 |
+
$excluded_plugins = array();
|
84 |
+
foreach ($_POST as $key => $val) {
|
85 |
+
if (strpos($key,'_php'))
|
86 |
+
$excluded_plugins[] = str_replace ('_php','.php',$key);
|
87 |
+
}
|
88 |
+
update_option( 'automatic_plugin_updates_excluded_plugins', $excluded_plugins, '', 'yes' );
|
89 |
+
|
90 |
+
//Store email preference
|
91 |
+
update_option( 'automatic_plugin_updates_send_emails', $_POST['send-email'], '', 'yes' );
|
92 |
+
}
|
93 |
+
else if (get_option('automatic_plugin_updates_excluded_plugins')) {
|
94 |
+
$excluded_plugins = get_option('automatic_plugin_updates_excluded_plugins');
|
95 |
+
}
|
96 |
+
|
97 |
+
$current_plugins = get_plugins( $plugin_folder);
|
98 |
+
|
99 |
+
echo '<div class="wrap">';
|
100 |
+
echo '<h2>Automatic Plugin Updates</h2><p>';
|
101 |
+
|
102 |
+
echo '<table class="form-table">';
|
103 |
+
echo '<tr valign="top">';
|
104 |
+
echo '<th scope="row">'.__('Disable Automatic Plugin Updates For', 'automatic-plugin-updates').'</th>';
|
105 |
+
echo '<td><fieldset>';
|
106 |
+
echo '<form action="options-general.php?page=automatic-plugin-updates" method="post">';
|
107 |
+
foreach ($current_plugins as $key => $val) {
|
108 |
+
echo '<input type="checkbox" name="';
|
109 |
+
echo $key;
|
110 |
+
echo '"';
|
111 |
+
if (isset($excluded_plugins) && in_array ($key, $excluded_plugins))
|
112 |
+
echo 'checked ';
|
113 |
+
echo '><label for="';
|
114 |
+
echo $key;
|
115 |
+
echo '">';
|
116 |
+
echo $val[Name];
|
117 |
+
echo '</label><br><br>';
|
118 |
+
}
|
119 |
+
echo '</fieldset></td>';
|
120 |
+
echo '</tr>';
|
121 |
+
echo '</table>';
|
122 |
+
|
123 |
+
echo '<table class="form-table">';
|
124 |
+
echo '<tr valign="top">';
|
125 |
+
echo '<th scope="row"><label for="send-email">'.__('Send Email for Automatic Updates', 'automatic-plugin-updates' ).'</label></th>';
|
126 |
+
echo '<td><fieldset>';
|
127 |
+
echo '<select name="send-email"><option value="enabled">';
|
128 |
+
echo __('Enabled', 'automatic-plugin-updates' );
|
129 |
+
echo '</option><option value="disabled"';
|
130 |
+
if ( get_option('automatic_plugin_updates_send_emails') && (get_option('automatic_plugin_updates_send_emails')=='disabled') )
|
131 |
+
echo 'selected';
|
132 |
+
echo '>';
|
133 |
+
echo __('Disabled', 'automatic-plugin-updates' );
|
134 |
+
echo '</option></select>';
|
135 |
+
echo '</fieldset></td>';
|
136 |
+
echo '</tr>';
|
137 |
+
echo '</table>';
|
138 |
+
|
139 |
+
|
140 |
+
wp_nonce_field('automatic_plugin_updates','automatic_plugin_updates');
|
141 |
+
echo '<p class="submit"><input type="submit" name="submit" id="submit" class="button button-primary" value="Save Changes" /></p>';
|
142 |
+
echo '</form> ';
|
143 |
+
|
144 |
+
}
|
145 |
+
|
146 |
+
//Adds settings link on Installed Plugins page
|
147 |
+
function automatic_plugin_updates_settings_link($links) {
|
148 |
+
$diagnostic_test = '<a href="options-general.php?page=automatic-plugin-updates">'.__( 'Settings', 'automatic-plugin-updates' ).'</a>';
|
149 |
+
array_unshift( $links, $diagnostic_test );
|
150 |
+
return $links;
|
151 |
+
}
|
152 |
+
|
153 |
+
$plugin = plugin_basename(__FILE__);
|
154 |
+
add_filter( "plugin_action_links_$plugin", 'automatic_plugin_updates_settings_link' );
|
languages/automatic-plugin-updates.pot
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Automatic Plugin Updates\n"
|
4 |
+
"Report-Msgid-Bugs-To: http://www.whitefirdesign.com/automatic-plugin-updates\n"
|
5 |
+
"POT-Creation-Date: 2014-04-07 13:30-0700\n"
|
6 |
+
"PO-Revision-Date: 2014-04-07 15:43-0300\n"
|
7 |
+
"Last-Translator: White Fir Design <contact@whitefirdesign.com>\n"
|
8 |
+
"Language-Team: White Fir Design <contact@whitefirdesign.com>\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
|
13 |
+
#. Description of the plugin/theme
|
14 |
+
msgid "Enables automatic background updates of plugins. Supports excluding selected plugins from being automatically updated."
|
15 |
+
msgstr ""
|
16 |
+
|
17 |
+
#: automatic-plugin-updates.php:104
|
18 |
+
msgid "Disable Automatic Plugin Updates For"
|
19 |
+
msgstr ""
|
20 |
+
|
21 |
+
#: automatic-plugin-updates.php:125
|
22 |
+
msgid "Send Email for Automatic Updates"
|
23 |
+
msgstr ""
|
24 |
+
|
25 |
+
#: automatic-plugin-updates.php:128
|
26 |
+
msgid "Enabled"
|
27 |
+
msgstr ""
|
28 |
+
|
29 |
+
#: automatic-plugin-updates.php:133
|
30 |
+
msgid "Disabled"
|
31 |
+
msgstr ""
|
32 |
+
|
readme.txt
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== Automatic Plugin Updates ===
|
2 |
+
Contributors: WhiteFirDesign
|
3 |
+
Tags: plugins, updates, automatic updates
|
4 |
+
Requires at least: 3.8
|
5 |
+
Tested up to: 3.9
|
6 |
+
Stable tag: trunk
|
7 |
+
License: GPLv2
|
8 |
+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
+
|
10 |
+
Enables automatic background updates of plugins. Supports excluding selected plugins from being automatically updated.
|
11 |
+
|
12 |
+
== Description ==
|
13 |
+
This plugin turns on automatic background updates for plugins.
|
14 |
+
|
15 |
+
If you have plugins that you don't want automatically updated those can be excluded from being automatically updated on the settings page for this plugin. The plugin also enables email alerts being sent for automatic plugin updates.
|
16 |
+
|
17 |
+
== Installation ==
|
18 |
+
|
19 |
+
1. Copy plugin files to the plugins folder.
|
20 |
+
|
21 |
+
2. Activate the plugin.
|
22 |
+
|
23 |
+
== Screenshots ==
|
24 |
+
|
25 |
+
1. Settings Page
|
26 |
+
|
27 |
+
== Changelog ==
|
28 |
+
|
29 |
+
= 1.0 =
|
30 |
+
* Initial release
|
screenshot-1.png
ADDED
Binary file
|
uninstall.php
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if( !defined('ABSPATH') && !defined('WP_UNINSTALL_PLUGIN') )
|
3 |
+
exit;
|
4 |
+
delete_option('automatic_plugin_updates_excluded_plugins');
|
5 |
+
delete_option('automatic_plugin_updates_send_emails');
|