Restricted Area Documentation
Requirements
Restricted Area requires ExpressionEngine 1.6.8 or newer and the jQuery for the Control Panel extension installed and enabled. This extension was introduced with ExpressionEngine 1.6.5 and if you carefully followed the update instructions you should have it. If you don’t you can install it like outlined in the aforementioned instructions.
Please enter links to recent jQuery releases. At the time of writing this jQuery 1.3.2 and jQueryUI 1.7.2 are the latest stable versions.
Installation
- Unzip the file.
- Upload the folder restricted and the contained files to the modules-folder inside your EE system directory.
- In your Control Panel navigate to CP Home › Modules, find the Restricted Area module and click Install.
- Now you can click on Restricted Area in the modules list to access the settings.
Control Panel
The module’s control panel is split up in two sections: Area Management and Member Management.
The ‘Manage Areas’ Tab

Here you can create, edit or delete your content areas.
Note: Only ‘Super Admins’ are allowed to create, edit or delete areas.
• To add a new area just fill out the two fields at the bottom of the list and hit Submit.
• To delete an area click the delete-link on the right hand side.
• Click on an area label to edit its access permissions. This will take you to
Individual area settings

Short Name
You have the option to change the short name of the area if you don’t like what you entered on creation.
The short name is used to reference areas in your templates. So if you already used that name in some of your templates make sure to update them as well.
Access type names
This is an optional field to enable even more fine grained access control inside your restricted areas.
Let’s say you want to define three levels of access to an area: limited, intermediate and full. You can do this by entering shortnames for these areas into this field. Only single words consisting of alpha-numeric characters are allowed as shortnames. Multiple names may be separated by commas.
If you enter shortnames into this field they will be added as select lists to group- and member-level access settings, the first word from the list being the default value. So any group or member will be assigned to one of these levels.
Inside the {exp:restricted}-tagpair for that area these shortnames will become available as short conditionals which allows you to return content specific to the access-level.
{exp:restricted area="soccer"}
<p>Welcome {screen_name}!</p>
<p>You have been granted
{if limited} limited {/if}
{if intermediate} intermediate {/if}
{if full} full {/if}
access.</p>
{no_access}<p>Go away, foohoon!</p>{/no_access}
{/exp:restricted}
Note: For users belonging to the ‘Super Admins’ group all acccess type conditionals will evaluate as true, so super admins will see all content regardless of access level.
Group-level access to this area
You can allow whole member groups access to an area by checking the appropriate boxes. This can come in handy for example if you want to quickly allow all your editors access without having to define permissions for every single one of them.
If you have set up access types for this area, there will also be a select list which sets this group’s acccess type.
Please note that group level access takes precedence over member level settings. If a member is part of an allowed group he can access the area even if he has an expired access permissions setup on member level.
Also note that the Superadmin group has access to all areas by default. Banned, Pending and Guests groups have no accces by default.
Member-level access to this area
At the bottom you see a list of all members that are currently setup for acccess to this area. Expired accounts are shown in red for quick identification.
To edit a member’s permissions click on his username.
To add a member use the green button in the top-right corner of the screen.
The ‘Manage Members’ Tab

This screen lists all members for whom individual access permissions are currently defined.
Click on any username to edit his settings.
To add a member use the green button in the top-right corner of the screen.
Add / edit member

The ‘Add / edit member’ button will take you to a search form. Enter some search criteria to find the desired user and click on his usename once you found him.
Member level permissions

On the member edit screen you can grant area access permissions for an individual member by checking the the appropriate boxes.
You can optionally set an expiration date for each area. When the date is reached access will be denied. Leave it blank for indefinite access.
If you have set up access types for this area, there will also be a select list which sets this member’s acccess type.
Template usage
Restricting access to content in your templates is really easy. There is only one tag and one parameter.
{exp:restricted area="hockey"}
Some great hockey content which is only shown if the member or
his group has been granted access to the area 'hockey'.
{no_access}
<p>This will be displayed if the current user has no access.</p>
{/no_access}
{/exp:restricted}
Just put any restricted content inside an {exp:restricted}-tagpair.
area="foo"
This parameter in mandatory and must contain the short name of the designated area.
{no_access}{/no_access}
This variable-pair may be used to output some content enclosed in case the user has no access to the area.
{if premium} {/if}
If you have created access types for an area, short conditionals will be availlable corresponding to the access type shortnames.
Changelog
- Version 0.9.2:
- added access types
- limited area management to super admins
Version 0.9.1:
- added MSM-awareness
- Version 0.9: Beta release
Questions / bug reports
For general comments, brickbats & bouquets please use the form over here.User Talk
2009-12-09 12:47
Hey guys,
Great module, it’s almost there for a solution we are trying to come up with for a client - I think it’s just missing a little bit of functionality to make it more flexible.
Essentially, we want to use the Restricted Area module dynamically so that instead of hard-coding the area into the module template tag, we would want to allow a client to select the area an entry belongs to, and then have the tag filled in dynamically according to that selection.
As far as we can tell, all it would need to make this possible is a new dropdown list custom field type that is automatically filled with the areas setup in the module. Then, when a client edited a weblog entry, they could select from that drop-down list one of the areas they have setup in the module. The selection would be stored as a field for that weblog entry, which could then be pulled out in the template code and placed into the module tag therefore making it dynamic.
Does that make sense? How do-able do you think this is, and is it something you would be interested to add to the module?
Let me know your thoughts,
Jonathan.
2009-11-28 05:23
Can this module work for show and hide base on Access level on the front end. I want to hide content for different members in a single member group. For example, in a template, i want to show little content to a member but if the member upgrade his account, he will see all the content. Can it do this?
2009-11-24 14:48
Am I right in assuming that that in the edit and publish pages there is a tab where you allocate your entry to one or more areas?
2009-11-12 14:37
Hi Oliver,
Why group level access takes precedence over member level settings? It seems that it should be vice versa.
2009-10-16 18:03
How accessible is this from the frontend? For example, does it integrate well with stand-alone entry forms?
For instance, I’d love to be able to let users create and manage their own areas from the frontend of the site. I’ve been able to replicate a lot of this functionality using SolSpace’s User module and its ability to assign members to specific categories, but this seems a lot more robust.