Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Final v.0.2 updates.

git-svn-id: http://svn.locallylost.com/plugins/members/trunk@761 dba0f204-706d-4bc1-bc29-8b92e0485636
  • Loading branch information...
commit dc32dbd0ec0cdc3ad17fd74d26a89106e8864650 1 parent 32a381f
authored June 13, 2011
2  admin/admin.php
@@ -173,7 +173,7 @@ function members_admin_contextual_help( $text, $screen ) {
173 173
 	}
174 174
 
175 175
 	/* Text to show on the "Add New Role" screen in the admin. */
176  
-	elseif ( 'users_page_role-new' == $screen ) {
  176
+	elseif ( 'users_page_role-new' == $screen || 'users_page_role' == $screen ) {
177 177
 		$text = '';
178 178
 
179 179
 		$text .= '<p>' . __( 'This screen allows you to create a new user role for your site. You must input a unique role name and role label. You can also grant capabilities (permissions) to the new role. Capabilities are both powerful and dangerous tools. You should not add a capability to a role unless you understand what permission you are granting.', 'members' ) . '</p>';
5  css/admin.css
@@ -21,10 +21,7 @@
21 21
 	width: 99.5%;
22 22
 	}
23 23
 .settings_page_members-settings .postbox .inside p, 
24  
-.settings_page_members-settings .postbox .inside label, 
25  
-.settings_page_members-settings .postbox .inside li, 
26  
-.settings_page_members-settings .postbox .inside a,
27  
-.settings_page_members-settings .postbox .inside label {
  24
+.settings_page_members-settings .postbox .inside li {
28 25
 	font-size: 11px;
29 26
 	line-height: 175%;
30 27
 	}
216  docs/readme.html
@@ -13,7 +13,7 @@
13 13
 
14 14
 <p class="first">The <em>Members</em> plugin is meant to be a complete user, role, and content management plugin for WordPress. Its purpose is to give you fine-grained control over who has access to what.</p>
15 15
 
16  
-<p class="second">Right now, it's in the early stages of development.  It's my hope that this provides that true <acronym title="Content Management System">CMS</acronym> experience that many users long for in WordPress. There's a long road ahead, and I hope you join me for the ride.</p>
  16
+<p class="second">Right now, it's only in its second generation of development.  It's my hope that this plugin provides that true <acronym title="Content Management System">CMS</acronym> experience that many users long for in WordPress. There's a long road ahead, and I hope you join me for the ride.</p>
17 17
 
18 18
 <h2>The plugin documentation</h2>
19 19
 
@@ -23,41 +23,34 @@
23 23
 	<li><a href="#users-roles-caps">The relationship of users, roles, and capabilities</a></li>
24 24
 	<li><a href="#install">How to install the plugin</a></li>
25 25
 	<li><a href="#how-to">How to use the plugin</a></li>
26  
-	<li>Components
  26
+	<li>Plugin features
27 27
 		<ul>
28  
-			<li><a href="#edit-roles">Edit Roles component</a></li>
29  
-			<li><a href="#new-roles">New Roles component</a></li>
30  
-			<li><a href="#content-permissions">Content Permissions component</a></li>
  28
+			<li><a href="#role-manager">Role management</a>
  29
+				<ul>
  30
+					<li><a href="#edit-roles">Editing roles</a></li>
  31
+					<li><a href="#new-roles">Adding new roles</a></li>
  32
+				</ul>
  33
+			</li>
  34
+			<li><a href="#content-permissions">Content permissions</a></li>
31 35
 			<li><a href="#shortcodes">Shortcodes component</a>
32 36
 				<ul>
33 37
 					<li><a href="#access">[access]</a></li>
34  
-					<li><a href="#get-avatar">[get_avatar]</a></li>
35 38
 					<li><a href="#is-user-logged-in">[is_user_logged_in]</a></li>
36 39
 					<li><a href="#feed">[feed]</a></li>
37  
-					<li><a href="#login-form">[login-form]</a></li>
38  
-				</ul>
39  
-			</li>
40  
-			<li><a href="#template-tags">Template Tags component</a>
41  
-				<ul>
42  
-					<li><a href="#current_user_has_role">current_user_has_role()</a></li>
43  
-					<li><a href="#has_role">has_role()</a></li>
44  
-					<li><a href="#members_list_users">members_list_users()</a></li>
45  
-					<li><a href="#members_author_profile">members_author_profile()</a></li>
46 40
 				</ul>
47 41
 			</li>
48  
-			<li><a href="#widgets">Widgets component</a>
  42
+			<li><a href="#widgets">Widgets</a>
49 43
 				<ul>
50 44
 					<li><a href="#login-widget">Login Form widget</a></li>
51 45
 					<li><a href="#users-widget">Users widget</a></li>
52 46
 				</ul>
53 47
 			</li>
54  
-			<li><a href="#private-blog">Private Blog component</a></li>
  48
+			<li><a href="#private-blog">Private site</a></li>
55 49
 		</ul>
56 50
 	</li>
57  
-	<li><a href="#capability-check">Checking if the current user has a capability</a></li>
  51
+	<li><a href="#capability-check">Checking if the current user has a capability/role</a></li>
58 52
 	<li>Plugin/theme integration for developers
59 53
 		<ul>
60  
-			<li><a href="#components-api">Creating custom components</a></li>
61 54
 			<li><a href="#filter-caps">Adding new capabilities</a></li>
62 55
 			<li><a href="#cap-check">Checking for capabilities</a></li>
63 56
 		</ul>
@@ -90,45 +83,45 @@ <h2 id="install">How to install the plugin</h2>
90 83
 
91 84
 <h2 id="how-to">How to use the plugin</h2>
92 85
 
93  
-<p>This plugin is set up to have a components-based system.  The reason for this is that I don't want to stick everyone with a bunch of features they don't need.  There's no point in using the <em>Edit Roles</em> component if all you need is just a login widget and some shortcodes.  So, it's a <em>use-only-what-you-want</em> system.</p>
  86
+<p>This plugin is set up to have a components-based system.  The reason for this is that I don't want to stick everyone with a bunch of features they don't need.  There's no point in using the Role Manger feature if all you need is just a login widget and some shortcodes.  So, it's a <em>use-only-what-you-want</em> system.</p>
94 87
 
95  
-<p>To add components, look for the <em>Members Components</em> link under your <em>Settings</em> menu while in your WordPress admin.  When on the new page, you'll be able to select the components you want to use.</p>
  88
+<p>To activate certain features, look for the <em>Members</em> link under your <em>Settings</em> menu while in your WordPress admin.  When on the new page, you'll be able to select the features you want to use.</p>
96 89
 
97  
-<p>I recommend at least activating <em>Edit Roles</em> component.  It is at the heart of this plugin, and many other components will likely require its use in some form.</p>
  90
+<p>I recommend at least activating Role Manager feature.  It is at the heart of this plugin, and many other features will likely require its use in some form.</p>
98 91
 
99  
-<h2 id="edit-roles">Edit Roles Component</h2>
  92
+<h2 id="role-manager">Role management</h2>
100 93
 
101  
-<p>This component can be both a blessing and a curse, so I'm going to ask that you use it wisely.  Use extreme caution when assigning new capabilities to roles. You wouldn't want to give Average Joe the <code>edit_plugins</code> capability, for example.</p>
  94
+<p>The Role Manager feature allows you to edit and add new roles as well as add and remove both default capabilities and custom capabilities from roles.  It is an extremely powerful system.</p>
102 95
 
103  
-<p><em>Edit Roles</em> is the big daddy of all the components.  It allows you to edit and assign new capabilities to existing roles.</p>
  96
+<p class="alert">Any changes you make to users and roles using this feature are permanent changes.  What I mean by this is that if you deactivate or uninstall this plugin, the changes won't revert to their previous state.  This plugin merely provides a user interface for you to make changes directly to your WordPress database.  Please use this feature wisely.</p>
104 97
 
105  
-<p>You can find the settings page for this component under the <em>Users</em> menu.  It will be labeled <em>Roles</em>.  When clicking on the menu item, you'll get a list of all the available roles.  From there, you can select a role to edit.</p>
  98
+<h3 id="edit-roles">Editing existing roles</h3>
106 99
 
107  
-<p>To delete a role, you must have the <code>delete_roles</code> capability.  If you don't have that, you won't see a delete option on the <em>Roles</em> page.</p>
  100
+<p>This feature can be both a blessing and a curse, so I'm going to ask that you use it wisely.  Use extreme caution when assigning new capabilities to roles. You wouldn't want to give Average Joe the <code>edit_plugins</code> capability, for example.</p>
108 101
 
109  
-<p class="alert">It is important that you assign the capability of <code>edit_roles</code> to a role (the administrator role would be a good one).  That way, only users with that particular capability can edit roles.</p>
  102
+<p>You can find the settings page for this feature under the <em>Users</em> menu.  It will be labeled <em>Roles</em>.  When clicking on the menu item, you'll get a list of all the available roles.  From there, you can select a role to edit.</p>
110 103
 
111  
-<h2 id="new-roles">New Roles Component</h2>
  104
+<p>When selecting a role to edit, you will be taken to a new screen that lists all of the available capabilities you can add to a role.  You simply have to tick the checkbox next to the capability you want to add/remove for a particular role and save.</p>
112 105
 
113  
-<p>The <em>New Roles</em> component allows you to create new roles.  The menu item for this is located under the <em>Users</em> menu and is labeled <em>New Roles</em>.</p>
  106
+<h3 id="new-roles">Adding new roles</h3>
114 107
 
115  
-<p>You can only use this component (create new roles) if you have the <code>create_roles</code> capability.  So, if you don't have that, you need to use the <em>Manage Roles</em> component to add that capability to the role you currently have.</p>
  108
+<p>The menu item for adding new roles is located under the <em>Users</em> menu and is labeled <em>Add New Role</em>.</p>
116 109
 
117  
-<p>Adding new roles is pretty straightforward.  You need to input a <em>Role</em> (only use letters, numbers, and underscores), <em>Role Name</em>, and select which capabilities the new role should have.  You can later manage this role using the <em>Edit Roles</em> component.</p>
  110
+<p>Adding new roles is pretty straightforward.  You need to input a <em>Role Name</em> (only use letters, numbers, and underscores), <em>Role Label</em>, and select which capabilities the new role should have.  You can later edit this role.</p>
118 111
 
119  
-<p>You can assign new roles to users from the <em>Authors &amp; Users</em> screen in WordPress.  This is nothing particular to the plugin and is a default part of WordPress.  I believe you need the <code>edit_users</code> capability to do this (I'll have to check).</p>
  112
+<p>You can assign new roles to users from the <em>Users</em> screen in WordPress.  This is nothing particular to the plugin and is a default part of WordPress.  I believe you need the <code>edit_users</code> capability to do this.</p>
120 113
 
121  
-<h2 id="content-permissions">Content Permissions Component</h2>
  114
+<h2 id="content-permissions">Content permissions feature</h2>
122 115
 
123  
-<p>The <em>Content Permissions</em> component will be the heart and soul of this plugin in the future.  Right now, it only adds an additional meta box on the post/page edit screen.  This meta box allows you to select which roles can view the content of the post/page.  If no roles are selected, anyone can view the content.</p>
  116
+<p>The <em>Content Permissions</em> feature will be the heart and soul of this plugin in the future.  Right now, it only adds an additional meta box on the post editing screen.</p>
124 117
 
125  
-<p>You need the <code>restrict_content</code> capability to use this component.  So, you'll need to add this capability to your role using the <em>Edit Roles</em> component.</p>
  118
+<p>For any public post type (posts, pages, etc.), you'll see a "Content Permissions" meta box on the post editing screen.  This meta box allows you to select which roles can view the content of the post/page.  If no roles are selected, anyone can view the content.  The post author, users that can edit the post, and any users of roles with the <code>restrict_content</code> capability can <strong>always</strong> view the post, regardless of their role.</p>
126 119
 
127  
-<p class="alert">Note that you'll see a <em>Role</em> custom field key and values when testing this component. This is for my personal testing only right now.</p>
  120
+<p>You can add a custom error message for individual posts.  Otherwise, the error message will default to whatever you have set under the <em>Members</em> plugin settings.</p>
128 121
 
129  
-<h2 id="shortcodes">Shortcodes Component</h2>
  122
+<h2 id="shortcodes">Shortcodes</h2>
130 123
 
131  
-<p>There are several shortcodes that you can use in your post/page editor.  These need some major testing right now, so please offer any feedback you can.</p>
  124
+<p>There are several shortcodes that you can use in your post editor or any shortcode-ready area..</p>
132 125
 
133 126
 <h3 id="access">[access]</h3>
134 127
 
@@ -146,21 +139,9 @@ <h3 id="access">[access]</h3>
146 139
 
147 140
 <p>Note that <code>capability</code> and <code>role</code> parameters aren't used in conjunction.  The code first checks for the capability (if input) then checks for the role (if input).</p>
148 141
 
149  
-<h3 id="get-avatar">[get_avatar]</h3>
  142
+<p>To check for multiple capabilities or multiple roles, simply add a comma between each capability/role.  For example, the following code checks for an editor or administrator:</p>
150 143
 
151  
-<p>This shortcode is for showing a user's avatar through <a href="http://gravatar.com" title="Gravatar">Gravatar</a>.  It should be used like so within your post/page editor:</p>
152  
-
153  
-<pre><code>[get_avatar id="30"]</code></pre>
154  
-
155  
-<p><strong>Parameters:</strong></p>
156  
-
157  
-<ul>
158  
-	<li><code>id</code>: The ID of the user's avatar you'd like to show.</li>
159  
-	<li><code>email</code>: The email of the user's avatar you'd like to show (you can use either <code>id</code> or <code>email</code></li>
160  
-	<li><code>size</code>:  The width and height in pixels of the avatar.</li>
161  
-	<li><code>alt</code>: The <code>alt="Text"</code> that should appear for the image.</li>
162  
-	<li><code>default</code>:  A default image for users without a gravatar.</li>
163  
-</ul>
  144
+<pre><code>[access role="administrator,editor"]Hide this content from everyone but administrators and editors.[/access]</code></pre>
164 145
 
165 146
 <h3 id="is-user-logged-in">[is_user_logged_in]</h3>
166 147
 
@@ -178,65 +159,7 @@ <h3 id="feed">[feed]</h3>
178 159
 
179 160
 <p>This shortcode has no parameters.</p>
180 161
 
181  
-<h3 id="login-form">[login-form]</h3>
182  
-
183  
-<p>The <code>[login-form]</code>shortcode produces a form for users to log into your site.  More than likely, you'll want to use the <em>Login Form</em> widget for something like this.  The shortcode should be used like so:</p>
184  
-
185  
-<pre><code>[login-form]</code></pre>
186  
-
187  
-<p>This shortcode has no parameters.</p>
188  
-
189  
-<h2 id="template-tags">Template Tags Component</h2>
190  
-
191  
-<p>The <em>Template Tags</em> component gives you additional functions (i.e., template tags) to use within your WordPress theme.</p>
192  
-
193  
-<h3 id="current_user_has_role">current_user_has_role()</h3>
194  
-
195  
-<p>This template tag checks if the currently logged-in user has a specific role.</p>
196  
-
197  
-<pre><code>&lt;?php if ( function_exists( 'current_user_has_role' ) && current_user_has_role( 'editor' ) ) { ?>
198  
-	Only users with the editor role can see this content.
199  
-&lt;?php } ?></code></pre>
200  
-
201  
-<h3 id="has_role">has_role()</h3>
202  
-
203  
-<p>This function will check if a specific user (by ID) has the given role.</p>
204  
-
205  
-<pre><code>&lt;?php if ( function_exists( 'has_role' ) && has_role( 'editor', 30 ) ) { ?>
206  
-	If the user with the ID or 30 has the editor role, this will be shown.
207  
-&lt;?php } ?></code></pre>
208  
-
209  
-<h3 id="members_list_users">members_list_users()</h3>
210  
-
211  
-<p>The <code>members_list_users()</code> template tag works much like <code>wp_list_authors()</code>.  This is also a widget called <em>Users</em> if you're using the <em>Widgets</em> component.</p>
212  
-
213  
-<pre><code>&lt;?php if ( function_exists( 'members_list_users' ) ) { ?>
214  
-
215  
-	&lt;ul>
216  
-		&lt;?php members_list_users( array( 'order' => 'ASC', 'orderby' => 'display_name' ) ); ?>
217  
-	&lt;/ul>
218  
-
219  
-&lt;?php } ?></code></pre>
220  
-
221  
-<p>This function currently only takes in a few parameters, but I hope to work more in sometime in the future.</p>
222  
-
223  
-<ul>
224  
-	<li><code>order</code>: Takes in <code>ASC</code> (ascending) or <code>DESC</code> (descending).  The default is <code>ASC</code>.</li>
225  
-	<li><code>orderby</code>:  What to order your users by.  The possible values are <code>display_name</code>, <code>ID</code>, and <code>user_login</code>.  The default is <code>display_name</code>.</li>
226  
-	<li><code>include</code>:  Comma-separated list of user IDs to include in the list.</li>
227  
-	<li><code>exclude</code>:  Comma-separated list of user IDs to exclude from the list.</li>
228  
-	<li><code>limit</code>:  The number of users to show.  Note that large lists can really hit the database.</li>
229  
-	<li><code>show_fullname</code>  This is set to <code>true</code> by default.  If set to <code>false</code>, the users' display names will be shown.</li>
230  
-	<li><code>echo</code>:  Set to <code>false</code> to return the list of users rather than displaying them on screen.</li>
231  
-</ul>
232  
-
233  
-<h3 id="members_author_profile">members_author_profile()</h3>
234  
-
235  
-<p>A template tag to be used within The Loop for showing the current author's avatar, name (linked to author archive), and bio.  A good place to use this is in your <code>single.php</code> template after the post.</p>
236  
-
237  
-<pre><code>&lt;?php if ( function_exists( 'members_author_profile' ) ) members_author_profile(); ?></code></pre>
238  
-
239  
-<h2 id="widgets">Widgets Component</h2>
  162
+<h2 id="widgets">Widgets</h2>
240 163
 
241 164
 <p>The widgets component provides easy-to-use widgets for your site.  They can be used in any WordPress widget area (provided by your theme).  Currently, there's the <em>Login Form</em> and <em>Users</em> widgets.</p>
242 165
 
@@ -248,15 +171,15 @@ <h3 id="login-widget">Login Form widget</h3>
248 171
 
249 172
 <h3 id="users-widget">Users widget</h3>
250 173
 
251  
-<p>The <em>Users</em> widget allows you to list users in any widget area.  It's based off the <code>members_list_users()</code> function, so all of the <a href="#members_list_users" title="members_list_users() template tag">parameters are the same</a>.</p>
  174
+<p>The <em>Users</em> widget allows you to list users in any widget area.  It's based off the <code>get_users()</code> function, so all of the <a href="http://codex.wordpress.org/Function_Reference/get_users" title="WordPress Codex: get_users()">parameters are the same</a>.</p>
252 175
 
253  
-<h2 id="private-blog">Private Blog Component</h2>
  176
+<h2 id="private-blog">Private site</h2>
254 177
 
255  
-<p>The <em>Private Blog</em> component makes sure that only logged-in users can see anything on your site.  If a user visits your site and is not logged in, they are immediately redirected to your <code>wp-login.php</code> (WordPress login) page.</p>
  178
+<p>The Private Site features makes sure that only logged-in users can see anything on your site.  If a user visits your site and is not logged in, they are immediately redirected to your <code>wp-login.php</code> (WordPress login) page.</p>
256 179
 
257  
-<p class="alert">Note that feeds are not currently blocked with this component, but it's likely they will be later with an introduction of a feeds component.</p>
  180
+<p>You also have the option of disabling the viewing of feed content and setting an error message for feed items.</p>
258 181
 
259  
-<h2 id="capability-check">Checking if the current user has a capability</h2>
  182
+<h2 id="capability-check">Checking if the current user has a capability/role</h2>
260 183
 
261 184
 <p>In plugins and your theme template files, you might sometimes need to check if the currently logged in user has permission to do something.  We do this by using the WordPress function <code>current_user_can()</code>.  The basic format looks like this:</p>
262 185
 
@@ -270,56 +193,7 @@ <h2 id="capability-check">Checking if the current user has a capability</h2>
270 193
 
271 194
 <p>Only users with a role that has the <code>read_pages</code> capability will be able to see the content.</p>
272 195
 
273  
-<h2 id="components-api">Components API</h2>
274  
-
275  
-<p>The components API is for developing new components to use within the Members plugin. This API is meant to be used so that users can select which components they want to run.  While it is possible to build something on top of the <em>Members</em> plugin without using the components API, this provides a way to jump start development and keep code clean and organized.</p>
276  
-
277  
-<h3>Creating a custom component</h3>
278  
-
279  
-<p>To create a custom component, you need to use the <code>register_members_component()</code> function in your plugin.  You should wrap it within its own function.</p>
280  
-
281  
-<pre><code>function register_my_components() {
282  
-
283  
-	register_members_component( array( 
284  
-		'name' => 'component_name', 
285  
-		'label' => __('Component Label', 'members'), 
286  
-		'callback' => 'component_callback_function', 
287  
-		'hook' => false,
288  
-		'description' => __('Add a description of your component.', 'members') 
289  
-	) );
290  
-}</code></pre>
291  
-
292  
-<ul>
293  
-	<li><strong><em>Required</em></strong> <code>name</code>: A unique name for your component (do not localize this, use spaces, or hyphens).</li>
294  
-	<li><strong><em>Required</em></strong> <code>label</code>:  The name of the component that users will see (should be localized).</li>
295  
-	<li><strong><em>Required</em></strong> <code>description</code>: The description of your plugin (should be localized).</li>
296  
-	<li><strong><em>Optional</em></strong> <code>callback</code>: The function to call for your component.</li>
297  
-	<li><strong><em>Optional</em></strong> <code>hook</code>: The action hook used to fire your callback function.</li>
298  
-</ul>
299  
-
300  
-<p>Once you've done the above, you need to add your function to the <code>members_register_components</code> hook.</p>
301  
-
302  
-<pre><code>add_action( 'members_register_components', 'register_my_components' );</code></pre>
303  
-
304  
-<h3>Checking if a component is active</h3>
305  
-
306  
-<p>If you want to check if a component is active (nice way to only load code if needed), you can use the <code>is_active_members_component()</code> function.</p>
307  
-
308  
-<pre><code>if ( is_active_members_component( $component_name ) ) {
309  
-	/* Load files or do something else. */
310  
-}</code></pre>
311  
-
312  
-<h3>Getting a component</h3>
313  
-
314  
-<p>If you need to grab a component object, you can do so with the <code>get_members_component()</code> function.</p>
315  
-
316  
-<pre><code>$component = get_members_component( $component_name );
317  
-
318  
-echo $component->name;
319  
-echo $component->label;
320  
-echo $component->description;
321  
-echo $component->callback;
322  
-echo $component->hook;</code></pre>
  196
+<p>You can check for a specific role by inputting the role name instead of the capability name.  It works the same way.</p>
323 197
 
324 198
 <h2 id="filter-caps">Adding new default capabilities</h2>
325 199
 
@@ -344,7 +218,7 @@ <h2 id="cap-check">Checking for capabilities</h2>
344 218
 
345 219
 <p>The <code>members_check_for_cap()</code> function (only use in admin) checks if any role has a particular capability.  This can be useful in setting up something like admin menus.  For example, you can set up a theme settings menu for users that have the <code>edit_themes</code> capability.  But, if this plugin is installed and a user has the <code>edit_my_theme</code> capability, that'll be used instead.</p>
346 220
 
347  
-<pre><code>if ( function_exists( 'members_check_for_cap' ) && members_check_for_cap( 'some_cap' ) ) {
  221
+<pre><code>if ( function_exists( 'members_check_for_cap' ) &amp;&amp; members_check_for_cap( 'some_cap' ) ) {
348 222
 	/* Do something if any role has the 'some_cap' capability. */
349 223
 else {
350 224
 	/* Do something for people without the plugin. */
@@ -352,9 +226,9 @@ <h2 id="cap-check">Checking for capabilities</h2>
352 226
 
353 227
 <h2 id="old-levels">Need the old user levels system?</h2>
354 228
 
355  
-<p>Some plugins and themes might rely on the old user level system in WordPress.  WordPress still has legacy support for these, but I'm hoping to continue phasing out the use of them.</p>
  229
+<p>Some plugins and themes might rely on the old user level system in WordPress.  These were deprecated in WordPress version 2.1 and should not be used at all.  WordPress still has minimal legacy support for these, but I highly suggest contacting your theme/plugin author if user levels are being used.</p>
356 230
 
357  
-<p>By default, the levels aren't shown.  They still exist, but are tucked away behind the scenes.  If you need to control who has what level (levels are just capabilities), add this to your plugin or your theme's <code>functions.php</code>:</p>
  231
+<p>By default, the levels aren't shown.  They still exist, but are tucked away behind the scenes.  While not recommended, if you need to control who has what level (levels are just capabilities), add this to your plugin or your theme's <code>functions.php</code>:</p>
358 232
 
359 233
 <pre><code>remove_filter( 'members_get_capabilities', 'members_remove_old_levels' );</code></pre>
360 234
 
@@ -370,7 +244,7 @@ <h2 id="copyright">Copyright &amp; license</h2>
370 244
 
371 245
 <p>This plugin is copyrighted to <a href="http://justintadlock.com" title="Justin Tadlock">Justin Tadlock</a>.</p>
372 246
 
373  
-<p>2009 &copy; Justin Tadlock</p>
  247
+<p>2009&thinsp;&ndash;&thinsp;2011 &copy; Justin Tadlock</p>
374 248
 
375 249
 </body>
376 250
 </html>
21  readme.txt
@@ -22,6 +22,10 @@ The foundation of the plugin is its extensive role and capability management sys
22 22
 * Widgets:  A login form widget and users widget to show in your theme's sidebars.
23 23
 * Private Site: You can make your site and its feed completely private if you want.
24 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
+
25 29
 == Installation ==
26 30
 
27 31
 1. Upload `members` to the `/wp-content/plugins/` directory.
@@ -56,11 +60,20 @@ If, for some reason, you do have the administrator role and the role manager is
56 60
 
57 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.
58 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
+
59 71
 == Changelog ==
60 72
 
61 73
 **Version 0.2**
62 74
 
63 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.
64 77
 
65 78
 **Version 0.1.1**
66 79
 
@@ -72,4 +85,10 @@ Well, that's why you really need to read the documentation for the plugin before
72 85
 
73 86
 **Version 0.1**
74 87
 
75  
-* Plugin launch.  Everything's new!
  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.

0 notes on commit dc32dbd

Please sign in to comment.
Something went wrong with that request. Please try again.