inlineACL Content Plugin 

Version
1.1 (last update on Dec 5, 2008)
Rating
Compatibility
Votes
24
Favoured
26
License
GPL
Non-Commercial
Type
Views
17892
Date Added
11 August 2008
The usage of the plugin is very easy:
* {iACL type=userid 1,62,84}Your text{/iACL} - the content between the tags is visible only for the user with the specified IDs. The ID of the unregistered users is 0!
* {iACL type=!userid 1,62,84}Your text{/iACL} - the content between the tags is invisible for the users with the specified IDs. The ID of the unregistered users is 0!
* {iACL type=username admin,username}Your text{/iACL} - the content between the tags is visible for the users with the specified usernames.
* {iACL type=!username admin,username}Your text{/iACL} - the content between the tags is invisible for the users with the specified usernames.
* {iACL type=group author,guest}Your text{/iACL} - the content between the tags is visible for the specified groups only. Possible values are: guest, registered, author, editor, publisher, manager, administrator, super administrator, special
* {iACL type=!group author,guest}Your text{/iACL} - the content between the tags is invisible for the specified groups. Possible values are: guest, registered, author, editor, publisher, manager, administrator, super administrator, special
* {iACL type=cbfield value1,value2}Your text{/iACL} - please specify a real Community Builder field name in the parameters of this plugin. The content between the tags is visible if the value of the user is available in the list. This way you can create any number of user groups
* {iACL type=!cbfield value1,value2}Your text{/iACL} - the content between the tags is invisible for the groups specified in the above option
byNickOg on October 24, 2009
A really useful plug in. It really fills a niche.
Icing on the cake/cream on the top would be an IF THEN ELSE option.
One has to ask :)
Regards
Nick
Icing on the cake/cream on the top would be an IF THEN ELSE option.
One has to ask :)
Regards
Nick
bycafenoir on September 29, 2009
Great extension! It hides/shows article content in the smarter way I could find on the web.
No frills or useless features: PHP files are well written and really easy to modify to customize the extension. This is when open source rules! thanks...
No frills or useless features: PHP files are well written and really easy to modify to customize the extension. This is when open source rules! thanks...
Good idea of plugin, but 100% security is not implemented: when you protect content like:
{...}
protected words for admin
{...}
and then if you try to find the word "admin" in search tool - you see all the phrase:
protected words for admin
I think It's better to include content restriction in publishing tabs when editing an article. Is there anybody knows plugin like this?
Top level of security - if all the navigation and search interfaces does nothing to show protected content!
thanks for developer for great work, but i want more!!! :)
{...}
protected words for admin
{...}
and then if you try to find the word "admin" in search tool - you see all the phrase:
protected words for admin
I think It's better to include content restriction in publishing tabs when editing an article. Is there anybody knows plugin like this?
Top level of security - if all the navigation and search interfaces does nothing to show protected content!
thanks for developer for great work, but i want more!!! :)
bywintercorn on May 15, 2009
Really easy to install, use and explain to clients. Gets around overly complex ACL when all you need a simple plugin. Integrates with CB perfectly as well.
bymikkelbreum on May 6, 2009
The plugin works fine in Joomla v.1.5.10 nd does what the author says. However it can only recognize the standard joomla groups, and I needed it to understand custom groups that I have created with noixACL.
So I created a solution where iACL and noixACL work together to get the job done. Don't know if this is neccessary or all could be done in noixACL alone but the lack of documentation makes it difficult to know..
Here is what I've done:
1) Installed and enabled NoixACL [v 2.0.5] (plus the plugins for usermanagement etc..)
.. added some new groups with noix having Registered as parent, created users and assigned them to some groups..
2) installed and enabled iACL [v 1.1]
.. and modified the file iACL.php (plugins/content/iACL.php)
Did following modifications:
A) changed line 23:
$regex = "#{iACL.*type=(userid|!userid|username|!username|cbfield|!cbfield|group|!group)(.*)}(.*){/iACL}#sU";
into:
$regex = "#{iACL.*type=(userid|!userid|username|!username|cbfield|!cbfield|group|!group|noixgroup|!noixgroup)(.*)}(.*){/iACL}#sU";
B) added two more try cases to the switch statement:
case "noixgroup":
//geting usertype from user
$arrMultiGroups[] = $my->usertype;
//get multigroup names if user have it
$sqlGetMultigroups = "SELECT grp.name FROM #__core_acl_aro_groups as grp, #__noixacl_multigroups multigrp WHERE grp.id = multigrp.id_group AND multigrp.id_user = {$my->id}";
$db->setQuery( $sqlGetMultigroups );
$multiGroups = $db->loadObjectList();
if( !empty($multiGroups) ){
foreach($multiGroups as $mgrp){
$arrMultiGroups[] = $mgrp->name;
}
}
// $arrMultiGroups : array of groups current user belongs to
// $ids : array of the groups specified in the iACL statement
$allowed = array_intersect($ids, $arrMultiGroups); // check if there any of the allowed groups are found in users groups
if(!empty($allowed)) { $text = $matches[3]; }
break;
case "!noixgroup":
//geting usertype from user
$arrMultiGroups[] = $my->usertype;
//get multigroup names if user have it
$sqlGetMultigroups = "SELECT grp.name FROM #__core_acl_aro_groups as grp, #__noixacl_multigroups multigrp WHERE grp.id = multigrp.id_group AND multigrp.id_user = {$my->id}";
$db->setQuery( $sqlGetMultigroups );
$multiGroups = $db->loadObjectList();
if( !empty($multiGroups) ){
foreach($multiGroups as $mgrp){
$arrMultiGroups[] = $mgrp->name;
}
}
// $arrMultiGroups : array of groups current user belongs to
// $ids : array of the groups specified in the iACL statement
$allowed = array_intersect($ids, $arrMultiGroups); // check if there any of the allowed groups are found in users groups
if(empty($allowed)) { $text = $matches[3]; }
break;
..And that's it.
Then you can create articles with the code:
{iACL type=noixgroup skater,runner}Hi all skaters and Runners{/iACL}
And it will be showed to the users logged in and beloging to one or more of these noix groups..
So I created a solution where iACL and noixACL work together to get the job done. Don't know if this is neccessary or all could be done in noixACL alone but the lack of documentation makes it difficult to know..
Here is what I've done:
1) Installed and enabled NoixACL [v 2.0.5] (plus the plugins for usermanagement etc..)
.. added some new groups with noix having Registered as parent, created users and assigned them to some groups..
2) installed and enabled iACL [v 1.1]
.. and modified the file iACL.php (plugins/content/iACL.php)
Did following modifications:
A) changed line 23:
$regex = "#{iACL.*type=(userid|!userid|username|!username|cbfield|!cbfield|group|!group)(.*)}(.*){/iACL}#sU";
into:
$regex = "#{iACL.*type=(userid|!userid|username|!username|cbfield|!cbfield|group|!group|noixgroup|!noixgroup)(.*)}(.*){/iACL}#sU";
B) added two more try cases to the switch statement:
case "noixgroup":
//geting usertype from user
$arrMultiGroups[] = $my->usertype;
//get multigroup names if user have it
$sqlGetMultigroups = "SELECT grp.name FROM #__core_acl_aro_groups as grp, #__noixacl_multigroups multigrp WHERE grp.id = multigrp.id_group AND multigrp.id_user = {$my->id}";
$db->setQuery( $sqlGetMultigroups );
$multiGroups = $db->loadObjectList();
if( !empty($multiGroups) ){
foreach($multiGroups as $mgrp){
$arrMultiGroups[] = $mgrp->name;
}
}
// $arrMultiGroups : array of groups current user belongs to
// $ids : array of the groups specified in the iACL statement
$allowed = array_intersect($ids, $arrMultiGroups); // check if there any of the allowed groups are found in users groups
if(!empty($allowed)) { $text = $matches[3]; }
break;
case "!noixgroup":
//geting usertype from user
$arrMultiGroups[] = $my->usertype;
//get multigroup names if user have it
$sqlGetMultigroups = "SELECT grp.name FROM #__core_acl_aro_groups as grp, #__noixacl_multigroups multigrp WHERE grp.id = multigrp.id_group AND multigrp.id_user = {$my->id}";
$db->setQuery( $sqlGetMultigroups );
$multiGroups = $db->loadObjectList();
if( !empty($multiGroups) ){
foreach($multiGroups as $mgrp){
$arrMultiGroups[] = $mgrp->name;
}
}
// $arrMultiGroups : array of groups current user belongs to
// $ids : array of the groups specified in the iACL statement
$allowed = array_intersect($ids, $arrMultiGroups); // check if there any of the allowed groups are found in users groups
if(empty($allowed)) { $text = $matches[3]; }
break;
..And that's it.
Then you can create articles with the code:
{iACL type=noixgroup skater,runner}Hi all skaters and Runners{/iACL}
And it will be showed to the users logged in and beloging to one or more of these noix groups..
bycgoebels on April 25, 2009
... the problem seems to be that the plugin does not recognize if someone belongs to the "guest" group. I simply wanted to display some text for guests and a different text after a user has logged in. I haven't tried the other features, perhaps it works well for particular user ids, but with the guest group, I couldn't get it to work.
The parameters type=!group guest or type=group guest unfortunately don't do anything at all.
The parameters type=!group guest or type=group guest unfortunately don't do anything at all.
byckyeu on April 1, 2009
Using it on Joomla 1.5.10. The previous guy says you need to set it to registered but that messes it up and actually shows the content.
Basically it does what it says. Credit where its due!
Basically it does what it says. Credit where its due!
bytravis_182 on April 1, 2009
Works great. I needed 10 of my student to log in and see only their personal report. I just wrote 1 article including the information of all 10, showing the right pieces to the right students!
This was just what I was looking for. Thank!
This was just what I was looking for. Thank!
byDearMyrah on February 27, 2009
This plugin is just what I was looking for... and even a Joomla newbie could get it to work! I found this plugin to do just what it claimed, with very few bumps in the road.
A few tips:
1. Make sure after "type=" you don't forget to detail the type (group, userid, etc.) before listing the specifics (registered, 57, etc.)
2. A previous reviewer mentioned changing the access level in the plugin to "Registered" -- I found this to be true as well.
These were my only troubles. And they were MY mistakes, not something wrong with the plugin. I'd highly recommend this one!
A few tips:
1. Make sure after "type=" you don't forget to detail the type (group, userid, etc.) before listing the specifics (registered, 57, etc.)
2. A previous reviewer mentioned changing the access level in the plugin to "Registered" -- I found this to be true as well.
These were my only troubles. And they were MY mistakes, not something wrong with the plugin. I'd highly recommend this one!
bybutchjax on January 10, 2009
I've had the most bizarre problems with what should be a simple piece of software. I tried going to the website but google couldn't translate it and nothing looked like anything resembling support.
In theory this is a good idea while we wait for the right program to control usergroups, but instead it's turned into a program with problems that make no sense and waste my time.
In theory this is a good idea while we wait for the right program to control usergroups, but instead it's turned into a program with problems that make no sense and waste my time.
bydarrell9026 on November 7, 2008
I was looking for a simple mechanism to password protect article pages. After trying external php programs that were called with countless modules that wrapped php tags (some worked but were clunky), I found this.
The plug-in worked as soon as you enable it in the plug-in management area but you also have to make sure the Access Level in the Configuration Detail of the plug-in is set to "Registered" or the plug-in will only disable content and not allow the intended user(s) to see the content. This is undocumented but seems to work...
Again, great plug-in... Exactly what I was looking for...
The plug-in worked as soon as you enable it in the plug-in management area but you also have to make sure the Access Level in the Configuration Detail of the plug-in is set to "Registered" or the plug-in will only disable content and not allow the intended user(s) to see the content. This is undocumented but seems to work...
Again, great plug-in... Exactly what I was looking for...
bycraude on October 26, 2008
Great idea for a plugin, unfortunately on a clean 1.5.7 installation the text gets hidden but does not appear when the related user is logged in. The developer does not respond to emails. Looks like that plugin is dead already, that's a pity!
byDirkums on September 3, 2008
Good install, activate and it goes. Tried a few others. this is really one of the best. Requires tags in the content, but allows part of a page to be behind a log in which is much better than getting a 403 or similar. Thanks for the extension. Using it on 1.5.4




