@Brendino,
Looking to accomplish the same thing! I haven’t been able to find any good solutions either. If you come up with something please post!
Jimmy
Ok so I managed to find a backwards way of doing it because I needed to be able to do the same thing. Your going to need two plugins.
1. Your Preferred Role Management Plugin. I like Capacity Manager Enhanced
2. Buddypress xProfiles ACL
STEPS
1. Use your role manager to create some new roles. Name them what ever you want.
2. Go into the Users -> Profile Fields
3. Create a Field Group for your Restricted Items (not the primary one).
4. Go to the Settings -> xProfile ACL
5. Put your Field Group that you only want the Admin to be able to edit for the admin only.
6. Now this is important you need to modify the xProfile ACL php file (yes I know this makes it a hack, if xProfile ACL is updated you will lose this setting.)
6a. Go to line 240 of the buddypress-xprofiles-acl.php file. Comment out lines 240 – 249, the code you are commenting out is:
`
function filter_xprofile_groups_with_acl() {
global $bp, $profile_template, $current_user;
get_currentuserinfo();
foreach($profile_template->groups as $key => $profile_group) {
if( ! in_array($profile_group->id, $this->user_allowed_xprofile_groups) ) {
unset($profile_template->groups[$key]);
}
}
}
`
6b. Below the code you just commented out add:
` function filter_xprofile_groups_with_acl() {}`
7. Save your changes to the buddypress-xprofiles-acl.php file.
8. Now when ever you need to modify the fields log in with your admin account navigate to the user profile in buddy press and select Edit Member Profile from the tool bar. You will see the fields from the private group. Users will see the fields but when they select edit they will not be displayed.
Hope this helps.
azchipka, would you happen to have a copy maybe of the file you edited?
Maybe they changed the scripts in the last three months, but following directions exactly and it keeps giving me a fatal error.
<?php
}
/*EDIT*/
function filter_xprofile_groups_with_acl() {
global $bp, $profile_template, $current_user;
get_currentuserinfo();
foreach($profile_template->groups as $key => $profile_group) {
if( ! in_array($profile_group->id, $this->user_allowed_xprofile_groups) ) {
unset($profile_template->groups[$key]);
}
}
}
/*EDIT*/
function filter_xprofile_groups_with_acl() {}
function block_screen_edit_profile() {