Members - Version 0.2.1

Version Description

Download this release

Release Info

Developer greenshady
Plugin Icon 128x128 Members
Version 0.2.1
Comparing to
See all releases

Code changes from version 0.2 to 0.2.1

Files changed (2) hide show
  1. members.php +213 -209
  2. readme.txt +97 -93
members.php CHANGED
@@ -1,210 +1,214 @@
1
- <?php
2
- /**
3
- * Plugin Name: Members
4
- * Plugin URI: http://justintadlock.com/archives/2009/09/17/members-wordpress-plugin
5
- * Description: A user, role, and content management plugin for controlling permissions and access. A plugin for making WordPress a more powerful <acronym title="Content Management System">CMS</acronym>.
6
- * Version: 0.2
7
- * Author: Justin Tadlock
8
- * Author URI: http://justintadlock.com
9
- *
10
- * The members plugin was created because the WordPress community is lacking a solid permissions
11
- * plugin that is both open source and works completely within the confines of the APIs in WordPress.
12
- * But, the plugin is so much more than just a plugin to control permissions. It is meant to extend
13
- * WordPress by making user, role, and content management as simple as using WordPress itself.
14
- *
15
- * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
16
- * General Public License version 2, as published by the Free Software Foundation. You may NOT assume
17
- * that you can use any other version of the GPL.
18
- *
19
- * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
20
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21
- *
22
- * @package Members
23
- * @version 0.2.0
24
- * @author Justin Tadlock <justin@justintadlock.com>
25
- * @copyright Copyright (c) 2009 - 2011, Justin Tadlock
26
- * @link http://justintadlock.com/archives/2009/09/17/members-wordpress-plugin
27
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
28
- */
29
-
30
- /**
31
- * @since 0.2.0
32
- */
33
- class Members_Load {
34
-
35
- /**
36
- * PHP4 constructor method. This will be removed once the plugin only supports WordPress 3.2,
37
- * which is the version that drops PHP4 support.
38
- *
39
- * @since 0.2.0
40
- */
41
- function Members_Load() {
42
- $this->__construct();
43
- }
44
-
45
- /**
46
- * PHP5 constructor method.
47
- *
48
- * @since 0.2.0
49
- */
50
- function __construct() {
51
-
52
- /* Set the constants needed by the plugin. */
53
- add_action( 'plugins_loaded', array( &$this, 'constants' ), 1 );
54
-
55
- /* Internationalize the text strings used. */
56
- add_action( 'plugins_loaded', array( &$this, 'i18n' ), 2 );
57
-
58
- /* Load the functions files. */
59
- add_action( 'plugins_loaded', array( &$this, 'includes' ), 3 );
60
-
61
- /* Load the admin files. */
62
- add_action( 'plugins_loaded', array( &$this, 'admin' ), 4 );
63
-
64
- /* Register activation hook. */
65
- register_activation_hook( __FILE__, array( &$this, 'activation' ) );
66
- }
67
-
68
- /**
69
- * Defines constants used by the plugin.
70
- *
71
- * @since 0.2.0
72
- */
73
- function constants() {
74
-
75
- /* Set the version number of the plugin. */
76
- define( 'MEMBERS_VERSION', '0.2.0' );
77
-
78
- /* Set the database version number of the plugin. */
79
- define( 'MEMBERS_DB_VERSION', 2 );
80
-
81
- /* Set constant path to the members plugin directory. */
82
- define( 'MEMBERS_DIR', trailingslashit( plugin_dir_path( __FILE__ ) ) );
83
-
84
- /* Set constant path to the members plugin URL. */
85
- define( 'MEMBERS_URI', trailingslashit( plugin_dir_url( __FILE__ ) ) );
86
-
87
- /* Set the constant path to the members includes directory. */
88
- define( 'MEMBERS_INCLUDES', MEMBERS_DIR . trailingslashit( 'includes' ) );
89
-
90
- /* Set the constant path to the members admin directory. */
91
- define( 'MEMBERS_ADMIN', MEMBERS_DIR . trailingslashit( 'admin' ) );
92
- }
93
-
94
- /**
95
- * Loads the initial files needed by the plugin.
96
- *
97
- * @since 0.2.0
98
- */
99
- function includes() {
100
-
101
- /* Load the plugin functions file. */
102
- require_once( MEMBERS_INCLUDES . 'functions.php' );
103
-
104
- /* Load the update functionality. */
105
- require_once( MEMBERS_INCLUDES . 'update.php' );
106
-
107
- /* Load the deprecated functions file. */
108
- require_once( MEMBERS_INCLUDES . 'deprecated.php' );
109
-
110
- /* Load the admin bar functions. */
111
- require_once( MEMBERS_INCLUDES . 'admin-bar.php' );
112
-
113
- /* Load the functions related to capabilities. */
114
- require_once( MEMBERS_INCLUDES . 'capabilities.php' );
115
-
116
- /* Load the content permissions functions. */
117
- require_once( MEMBERS_INCLUDES . 'content-permissions.php' );
118
-
119
- /* Load the private site functions. */
120
- require_once( MEMBERS_INCLUDES . 'private-site.php' );
121
-
122
- /* Load the shortcodes functions file. */
123
- require_once( MEMBERS_INCLUDES . 'shortcodes.php' );
124
-
125
- /* Load the template functions. */
126
- require_once( MEMBERS_INCLUDES . 'template.php' );
127
-
128
- /* Load the widgets functions file. */
129
- require_once( MEMBERS_INCLUDES . 'widgets.php' );
130
- }
131
-
132
- /**
133
- * Loads the translation files.
134
- *
135
- * @since 0.2.0
136
- */
137
- function i18n() {
138
-
139
- /* Load the translation of the plugin. */
140
- load_plugin_textdomain( 'members', false, 'members/languages' );
141
- }
142
-
143
- /**
144
- * Loads the admin functions and files.
145
- *
146
- * @since 0.2.0
147
- */
148
- function admin() {
149
-
150
- /* Only load files if in the WordPress admin. */
151
- if ( is_admin() ) {
152
-
153
- /* Load the main admin file. */
154
- require_once( MEMBERS_ADMIN . 'admin.php' );
155
-
156
- /* Load the plugin settings. */
157
- require_once( MEMBERS_ADMIN . 'settings.php' );
158
- }
159
- }
160
-
161
- /**
162
- * Method that runs only when the plugin is activated.
163
- *
164
- * @since 0.2.0
165
- */
166
- function activation() {
167
-
168
- /* Get the administrator role. */
169
- $role =& get_role( 'administrator' );
170
-
171
- /* If the administrator role exists, add required capabilities for the plugin. */
172
- if ( !empty( $role ) ) {
173
-
174
- /* Role management capabilities. */
175
- $role->add_cap( 'list_roles' );
176
- $role->add_cap( 'create_roles' );
177
- $role->add_cap( 'delete_roles' );
178
- $role->add_cap( 'edit_roles' );
179
-
180
- /* Content permissions capabilities. */
181
- $role->add_cap( 'restrict_content' );
182
- }
183
-
184
- /**
185
- * If the administrator role does not exist for some reason, we have a bit of a problem
186
- * because this is a role management plugin and requires that someone actually be able to
187
- * manage roles. So, we're going to create a custom role here. The site administrator can
188
- * assign this custom role to any user they wish to work around this problem. We're only
189
- * doing this for single-site installs of WordPress. The 'super admin' has permission to do
190
- * pretty much anything on a multisite install.
191
- */
192
- elseif ( empty( $role ) && !is_multisite() ) {
193
-
194
- /* Add the 'members_role_manager' role with limited capabilities. */
195
- add_role(
196
- 'members_role_manager',
197
- _x( 'Role Manager', 'role', 'members' ),
198
- array(
199
- 'read' => true,
200
- 'list_roles' => true,
201
- 'edit_roles' => true
202
- )
203
- );
204
- }
205
- }
206
- }
207
-
208
- $members_load = new Members_Load();
209
-
 
 
 
 
210
  ?>
1
+ <?php
2
+ /**
3
+ * Plugin Name: Members
4
+ * Plugin URI: http://justintadlock.com/archives/2009/09/17/members-wordpress-plugin
5
+ * Description: A user, role, and content management plugin for controlling permissions and access. A plugin for making WordPress a more powerful <acronym title="Content Management System">CMS</acronym>.
6
+ * Version: 0.2.1
7
+ * Author: Justin Tadlock
8
+ * Author URI: http://justintadlock.com
9
+ *
10
+ * The members plugin was created because the WordPress community is lacking a solid permissions
11
+ * plugin that is both open source and works completely within the confines of the APIs in WordPress.
12
+ * But, the plugin is so much more than just a plugin to control permissions. It is meant to extend
13
+ * WordPress by making user, role, and content management as simple as using WordPress itself.
14
+ *
15
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
16
+ * General Public License version 2, as published by the Free Software Foundation. You may NOT assume
17
+ * that you can use any other version of the GPL.
18
+ *
19
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
20
+ * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21
+ *
22
+ * @package Members
23
+ * @version 0.2.1
24
+ * @author Justin Tadlock <justin@justintadlock.com>
25
+ * @copyright Copyright (c) 2009 - 2012, Justin Tadlock
26
+ * @link http://justintadlock.com/archives/2009/09/17/members-wordpress-plugin
27
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
28
+ */
29
+
30
+ /**
31
+ * @since 0.2.0
32
+ */
33
+ class Members_Load {
34
+
35
+ /**
36
+ * PHP4 constructor method. This will be removed once the plugin only supports WordPress 3.2,
37
+ * which is the version that drops PHP4 support.
38
+ *
39
+ * @since 0.2.0
40
+ */
41
+ function Members_Load() {
42
+ $this->__construct();
43
+ }
44
+
45
+ /**
46
+ * PHP5 constructor method.
47
+ *
48
+ * @since 0.2.0
49
+ */
50
+ function __construct() {
51
+ global $members;
52
+
53
+ /* Set up an empty class for the global $members object. */
54
+ $members = new stdClass;
55
+
56
+ /* Set the constants needed by the plugin. */
57
+ add_action( 'plugins_loaded', array( &$this, 'constants' ), 1 );
58
+
59
+ /* Internationalize the text strings used. */
60
+ add_action( 'plugins_loaded', array( &$this, 'i18n' ), 2 );
61
+
62
+ /* Load the functions files. */
63
+ add_action( 'plugins_loaded', array( &$this, 'includes' ), 3 );
64
+
65
+ /* Load the admin files. */
66
+ add_action( 'plugins_loaded', array( &$this, 'admin' ), 4 );
67
+
68
+ /* Register activation hook. */
69
+ register_activation_hook( __FILE__, array( &$this, 'activation' ) );
70
+ }
71
+
72
+ /**
73
+ * Defines constants used by the plugin.
74
+ *
75
+ * @since 0.2.0
76
+ */
77
+ function constants() {
78
+
79
+ /* Set the version number of the plugin. */
80
+ define( 'MEMBERS_VERSION', '0.2.0' );
81
+
82
+ /* Set the database version number of the plugin. */
83
+ define( 'MEMBERS_DB_VERSION', 2 );
84
+
85
+ /* Set constant path to the members plugin directory. */
86
+ define( 'MEMBERS_DIR', trailingslashit( plugin_dir_path( __FILE__ ) ) );
87
+
88
+ /* Set constant path to the members plugin URL. */
89
+ define( 'MEMBERS_URI', trailingslashit( plugin_dir_url( __FILE__ ) ) );
90
+
91
+ /* Set the constant path to the members includes directory. */
92
+ define( 'MEMBERS_INCLUDES', MEMBERS_DIR . trailingslashit( 'includes' ) );
93
+
94
+ /* Set the constant path to the members admin directory. */
95
+ define( 'MEMBERS_ADMIN', MEMBERS_DIR . trailingslashit( 'admin' ) );
96
+ }
97
+
98
+ /**
99
+ * Loads the initial files needed by the plugin.
100
+ *
101
+ * @since 0.2.0
102
+ */
103
+ function includes() {
104
+
105
+ /* Load the plugin functions file. */
106
+ require_once( MEMBERS_INCLUDES . 'functions.php' );
107
+
108
+ /* Load the update functionality. */
109
+ require_once( MEMBERS_INCLUDES . 'update.php' );
110
+
111
+ /* Load the deprecated functions file. */
112
+ require_once( MEMBERS_INCLUDES . 'deprecated.php' );
113
+
114
+ /* Load the admin bar functions. */
115
+ require_once( MEMBERS_INCLUDES . 'admin-bar.php' );
116
+
117
+ /* Load the functions related to capabilities. */
118
+ require_once( MEMBERS_INCLUDES . 'capabilities.php' );
119
+
120
+ /* Load the content permissions functions. */
121
+ require_once( MEMBERS_INCLUDES . 'content-permissions.php' );
122
+
123
+ /* Load the private site functions. */
124
+ require_once( MEMBERS_INCLUDES . 'private-site.php' );
125
+
126
+ /* Load the shortcodes functions file. */
127
+ require_once( MEMBERS_INCLUDES . 'shortcodes.php' );
128
+
129
+ /* Load the template functions. */
130
+ require_once( MEMBERS_INCLUDES . 'template.php' );
131
+
132
+ /* Load the widgets functions file. */
133
+ require_once( MEMBERS_INCLUDES . 'widgets.php' );
134
+ }
135
+
136
+ /**
137
+ * Loads the translation files.
138
+ *
139
+ * @since 0.2.0
140
+ */
141
+ function i18n() {
142
+
143
+ /* Load the translation of the plugin. */
144
+ load_plugin_textdomain( 'members', false, 'members/languages' );
145
+ }
146
+
147
+ /**
148
+ * Loads the admin functions and files.
149
+ *
150
+ * @since 0.2.0
151
+ */
152
+ function admin() {
153
+
154
+ /* Only load files if in the WordPress admin. */
155
+ if ( is_admin() ) {
156
+
157
+ /* Load the main admin file. */
158
+ require_once( MEMBERS_ADMIN . 'admin.php' );
159
+
160
+ /* Load the plugin settings. */
161
+ require_once( MEMBERS_ADMIN . 'settings.php' );
162
+ }
163
+ }
164
+
165
+ /**
166
+ * Method that runs only when the plugin is activated.
167
+ *
168
+ * @since 0.2.0
169
+ */
170
+ function activation() {
171
+
172
+ /* Get the administrator role. */
173
+ $role =& get_role( 'administrator' );
174
+
175
+ /* If the administrator role exists, add required capabilities for the plugin. */
176
+ if ( !empty( $role ) ) {
177
+
178
+ /* Role management capabilities. */
179
+ $role->add_cap( 'list_roles' );
180
+ $role->add_cap( 'create_roles' );
181
+ $role->add_cap( 'delete_roles' );
182
+ $role->add_cap( 'edit_roles' );
183
+
184
+ /* Content permissions capabilities. */
185
+ $role->add_cap( 'restrict_content' );
186
+ }
187
+
188
+ /**
189
+ * If the administrator role does not exist for some reason, we have a bit of a problem
190
+ * because this is a role management plugin and requires that someone actually be able to
191
+ * manage roles. So, we're going to create a custom role here. The site administrator can
192
+ * assign this custom role to any user they wish to work around this problem. We're only
193
+ * doing this for single-site installs of WordPress. The 'super admin' has permission to do
194
+ * pretty much anything on a multisite install.
195
+ */
196
+ elseif ( empty( $role ) && !is_multisite() ) {
197
+
198
+ /* Add the 'members_role_manager' role with limited capabilities. */
199
+ add_role(
200
+ 'members_role_manager',
201
+ _x( 'Role Manager', 'role', 'members' ),
202
+ array(
203
+ 'read' => true,
204
+ 'list_roles' => true,
205
+ 'edit_roles' => true
206
+ )
207
+ );
208
+ }
209
+ }
210
+ }
211
+
212
+ $members_load = new Members_Load();
213
+
214
  ?>
readme.txt CHANGED
@@ -1,94 +1,98 @@
1
- === Members ===
2
- Contributors: greenshady
3
- Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3687060
4
- Tags: admin, role, roles, member, members, profile, shortcode, user, users, widget, widgets
5
- Requires at least: 3.1
6
- Tested up to: 3.2
7
- Stable tag: 0.2
8
-
9
- A user, role, and content management plugin that makes WordPress a more powerful CMS.
10
-
11
- == Description ==
12
-
13
- *Members* is a plugin that extends your control over your blog. It's a user, role, and content management plugin that was created to make WordPress a more powerful CMS.
14
-
15
- The foundation of the plugin is its extensive role and capability management system. This is the backbone of all the current features and planned future features.
16
-
17
- **Plugin Features:**
18
-
19
- * Role Manager: Allows you to edit, create, and delete roles as well as capabilities for these roles.
20
- * Content Permissions: Gives you control over which users (by role) have access to post content.
21
- * Shortcodes: Shortcodes to control who has access to content.
22
- * Widgets: A login form widget and users widget to show in your theme's sidebars.
23
- * Private Site: You can make your site and its feed completely private if you want.
24
-
25
- **If updating from a previous version:**
26
-
27
- If you've used a previous version of the Members plugin, please check your settings under Settings > Members and reset your Users and Login Form widgets (if you were using them).
28
-
29
- == Installation ==
30
-
31
- 1. Upload `members` to the `/wp-content/plugins/` directory.
32
- 1. Activate the plugin through the 'Plugins' menu in WordPress.
33
- 1. Go to <em>Settings > Members Components</em> to select which components you'd like to use.
34
-
35
- More detailed instructions are included in the plugin's `readme.html` file.
36
-
37
- == Frequently Asked Questions ==
38
-
39
- = Why was this plugin created? =
40
-
41
- I wasn't satisfied with the current user, role, and permissions plugins available. Yes, some of them are good, but nothing fit what I had in mind perfectly. Some offered few features. Some worked completely outside of the WordPress APIs. Others lacked the GPL license.
42
-
43
- This plugin is still a long way away from my goals, but it'll get there eventually.
44
-
45
- = How do I use it? =
46
-
47
- Most things should be fairly straightforward, but I've included an in-depth guide in the plugin download. It's a file called `readme.html` in the `/docs` folder.
48
-
49
- You'll want to look over that. It's probably the most in-depth plugin documentation you'll ever read. ;)
50
-
51
- Now, open up the `/docs/readme.html` file included in the plugin download and read the documentation.
52
-
53
- = I can't access the "Role Manager" features. =
54
-
55
- When the plugin is first activated, it runs a script that sets specific capabilities to the "Administrator" role on your site that grants you access to this feature. So, you must be logged in with the administrator account to access the role manager.
56
-
57
- If, for some reason, you do have the administrator role and the role manager is still inaccesible to you, deactivate the plugin. Then, reactivate it.
58
-
59
- = Help! I've locked myself out of my site! =
60
-
61
- Well, that's why you really need to read the documentation for the plugin before actually using it, especially a plugin that controls permissions for your site.
62
-
63
- == Screenshots ==
64
-
65
- 1. Members plugin settings
66
- 2. Role management screen
67
- 3. Edit role screen
68
- 4. Members settings help tab
69
- 5. Content permissions on the edit post screen
70
-
71
- == Changelog ==
72
-
73
- **Version 0.2**
74
-
75
- * Updated everything. Nearly all the code was rewritten from the ground up to make for a better user experience.
76
- * Plugin users should check their plugin settings.
77
-
78
- **Version 0.1.1**
79
-
80
- * Fixed a bug with the Content Permissions component that restricted access to everyone.
81
- * Added missing internationalization function call: `load_plugin_textdomain()`.
82
- * Added new `/languages` folder for holding translations.
83
- * Added `members-en_EN.po`, `members-en_EN.mo`, and `members.pot` to the `/languages` folder.
84
- * Updated some non-internationalized strings.
85
-
86
- **Version 0.1**
87
-
88
- * Plugin launch. Everything's new!
89
-
90
- == Upgrade Notice ==
91
-
92
- = Version 0.2 =
93
-
 
 
 
 
94
  Version 0.2 is a complete overhaul of the plugin. It includes security fixes, bug fixes, and a few new features. Please check your plugin settings and widget settings.
1
+ === Members ===
2
+ Contributors: greenshady
3
+ Donate link: http://themehybrid.com/donate
4
+ Tags: admin, role, roles, member, members, profile, shortcode, user, users, widget, widgets
5
+ Requires at least: 3.4
6
+ Tested up to: 3.5
7
+ Stable tag: 0.2.1
8
+
9
+ A user, role, and content management plugin that makes WordPress a more powerful CMS.
10
+
11
+ == Description ==
12
+
13
+ *Members* is a plugin that extends your control over your blog. It's a user, role, and content management plugin that was created to make WordPress a more powerful CMS.
14
+
15
+ The foundation of the plugin is its extensive role and capability management system. This is the backbone of all the current features and planned future features.
16
+
17
+ **Plugin Features:**
18
+
19
+ * Role Manager: Allows you to edit, create, and delete roles as well as capabilities for these roles.
20
+ * Content Permissions: Gives you control over which users (by role) have access to post content.
21
+ * Shortcodes: Shortcodes to control who has access to content.
22
+ * Widgets: A login form widget and users widget to show in your theme's sidebars.
23
+ * Private Site: You can make your site and its feed completely private if you want.
24
+
25
+ **If updating from a previous version:**
26
+
27
+ If you've used a previous version of the Members plugin, please check your settings under Settings > Members and reset your Users and Login Form widgets (if you were using them).
28
+
29
+ == Installation ==
30
+
31
+ 1. Upload `members` to the `/wp-content/plugins/` directory.
32
+ 1. Activate the plugin through the 'Plugins' menu in WordPress.
33
+ 1. Go to <em>Settings > Members Components</em> to select which components you'd like to use.
34
+
35
+ More detailed instructions are included in the plugin's `readme.html` file.
36
+
37
+ == Frequently Asked Questions ==
38
+
39
+ = Why was this plugin created? =
40
+
41
+ I wasn't satisfied with the current user, role, and permissions plugins available. Yes, some of them are good, but nothing fit what I had in mind perfectly. Some offered few features. Some worked completely outside of the WordPress APIs. Others lacked the GPL license.
42
+
43
+ This plugin is still a long way away from my goals, but it'll get there eventually.
44
+
45
+ = How do I use it? =
46
+
47
+ Most things should be fairly straightforward, but I've included an in-depth guide in the plugin download. It's a file called `readme.html` in the `/docs` folder.
48
+
49
+ You'll want to look over that. It's probably the most in-depth plugin documentation you'll ever read. ;)
50
+
51
+ Now, open up the `/docs/readme.html` file included in the plugin download and read the documentation.
52
+
53
+ = I can't access the "Role Manager" features. =
54
+
55
+ When the plugin is first activated, it runs a script that sets specific capabilities to the "Administrator" role on your site that grants you access to this feature. So, you must be logged in with the administrator account to access the role manager.
56
+
57
+ If, for some reason, you do have the administrator role and the role manager is still inaccesible to you, deactivate the plugin. Then, reactivate it.
58
+
59
+ = Help! I've locked myself out of my site! =
60
+
61
+ Well, that's why you really need to read the documentation for the plugin before actually using it, especially a plugin that controls permissions for your site.
62
+
63
+ == Screenshots ==
64
+
65
+ 1. Members plugin settings
66
+ 2. Role management screen
67
+ 3. Edit role screen
68
+ 4. Members settings help tab
69
+ 5. Content permissions on the edit post screen
70
+
71
+ == Changelog ==
72
+
73
+ **Version 0.2.1**
74
+
75
+ * Fixes the " Creating default object from empty value" error.
76
+
77
+ **Version 0.2**
78
+
79
+ * Updated everything. Nearly all the code was rewritten from the ground up to make for a better user experience.
80
+ * Plugin users should check their plugin settings.
81
+
82
+ **Version 0.1.1**
83
+
84
+ * Fixed a bug with the Content Permissions component that restricted access to everyone.
85
+ * Added missing internationalization function call: `load_plugin_textdomain()`.
86
+ * Added new `/languages` folder for holding translations.
87
+ * Added `members-en_EN.po`, `members-en_EN.mo`, and `members.pot` to the `/languages` folder.
88
+ * Updated some non-internationalized strings.
89
+
90
+ **Version 0.1**
91
+
92
+ * Plugin launch. Everything's new!
93
+
94
+ == Upgrade Notice ==
95
+
96
+ = Version 0.2 =
97
+
98
  Version 0.2 is a complete overhaul of the plugin. It includes security fixes, bug fixes, and a few new features. Please check your plugin settings and widget settings.