Guys,
Let me explain. There are two ways how to manage the permissions for viewing the site content:
1. Hide the menu buttons. In this case only the users which have the permalink, will be able to open hidden pages.
2. Restricting access to the site content for a certain type of users via the User Roles settings.
In case when you want to completely hide a page, you will need to change settings both in the Pages&Menus section and the User Roles section .
For the pages
mysite/forum, mysite/blogs, mysite/events, mysite/video, mysite/users/search, mysite/photo/viewlist/latest etc. there are the settings in the Admin Area>Privacy&Permissions>Roles section which allow to hide or show the page content. These are the
View topic/ View groups / View photo / View video etc. settings. I.e. if you want to hide the Video list page content, you will need to disable action "View video" in the Admin Area>Privacy&Permissions>Roles section. If you want to hide the menu button in the Main menu, then you need to uncheck "Guests" box in Admin Area>Pages&Menus section.
Concerning, the Users' list page we have not added the possibility to hide these lists. Based on our experience, we could say that users are mostly looking for the active sites. And they determine the active sites by the number of existing users. That is why we believe this is an important factor to keep this page be public.
If you don't want to show the most of your site's content and prefer your site has been kept private, this is better to think about blocking any guest access. As I said earlier, this can be done via the Admin Area>Privacy&Permissions section.
If your site concept requires not to show the users' lists for guests, as I said before, this is a custom code modification.
Since, the default settings have no such existing action to hide the content of the users' list, then we can suggest to use already existing action, for example "View profiles".
You need to make changes within two files:
1. Go to ow_system_plugins/base/views/controllers/user_list_index.htm file.
Delete all code within it and paste this code:
{if isset($menu)}
{$menu}
{/if}
{if !empty($listType)}{add_content key="base.content.user_list_top" listType=$listType}{/if}
{if isset($authMessage)}
<div class="ow_anno ow_std_margin ow_nocontent">{$authMessage}</div>
{else}
{$cmp}
{/if}
2. Go to /ow_system_plugins/base/controllers/user_list.php file find the following line:
list($list, $itemCount) = $this->getData($listType, (($page - 1) * $this->usersPerPage), $this->usersPerPage);
and paste below it the following code:
if ( !OW::getUser()->isAuthorized('base', 'view_profile') )
{
$status = BOL_AuthorizationService::getInstance()->getActionStatus('base', 'view_profile');
$this->assign('authMessage', $status['msg']);
return;
}
So the modified code will be:
list($list, $itemCount) = $this->getData($listType, (($page - 1) * $this->usersPerPage), $this->usersPerPage);
if ( !OW::getUser()->isAuthorized('base', 'view_profile') )
{
$status = BOL_AuthorizationService::getInstance()->getActionStatus('base', 'view_profile');
$this->assign('authMessage', $status['msg']);
return;
}
Once all changes are made don't forget to clear the browser cache and the smarty cache (DEV_MOD, use this manual:
https://docs.oxwall.org/plugin-tuts:enable-debug ).