What if we do something like this to get rid of search results access denied and to get rid of clicking on a private profile on the persons app homepage leading to access denied, etc?
For the search results
1. Make a template for the search to act as a filter layer on top of the "searchKeyword.php" pages.
2. Then lock the searchKeyword.php page so only this new template has access to it.
3. In this new template, hide the content that is not available to the user by using the filter approach.
4. The user will interact with this template instead of the actual php file.
5. Keep it simple so it won't cost to much to make.
For private profiles, groups pages, drop down real-time search, etc.
1. Use the same approach as above and you can make it so people don't know even notice its there.
Also, site admins need privacy settings control on an app per app basis
Allow the site admin to be able to choose which privacy settings are available to the user in each individual app. For example, we can make it so the person can choose "Me only" or "Friends" for "who can post to my profile", but in groups we want the "Me only" option to be unavailable, so they can only choose either "secret" or "public".
This is because we want to remove the me only setting, but not sitewide. We can't just disable it or hide it in the database. This will give us more control over the site while we are dealing with these access denied error messages. The access denied is the one thing that is holding some people back because it doesn't work as expected from the end-user's perspective.