When setting up your Oxwall site, you may find that you want to have an invite only site, for spam prevention or privacy, or to disable general signup so you can set up the site without having other users on it yet. This tutorial will show you how to do that. Note that for development, you can set the site to Offline mode and we’ll do a tutorial for that as well.
Invite Only
We’ve found that this works well for disabling general sign up so a site can be set up without having users other than test users on it. It is also a good anti-spam method if you want a closed community or invite only community.
Log into your AdminCP and go to Settings >> User Settings:
On the right you will see the settings you have available. Scroll down to Privacy settings and for Who can join, select By Invitation Only.
Be sure to click Save when done. You’ll see it in our image in the lower right corner.
Hiding the Join Menu
To also hide the Join menu tab, click Pages and choose Manage Pages:
On the right, you will see various menu options. Click Join and choose Edit:
Where it shows Visible for, uncheck the Guests box and save it:
Removing the Sign Up Button
Warning! This is a source edit. Make a copy of the file on the server before making any changes. We always keep a .bu copy of a file we are editing,on the server. Also, note that your changes will be deleted any time you upgrade so always keep a copy of your changes. We keep a full copy of any changes on our computer, with the full path (folder names and subfolders) intact so we can easily find any files edited before upgrading.
Find the following file:
ow_system_plugins/base/classes/console_event_handler.php
Once you have your backup copy, you’ll need to open it in a text editor. We use Netbeans, Notepadd++ or Brackets. You can use any code editor you would like.
Around line 80, find the following code:
1 |
$item = new BASE_CMP_ConsoleButton($language->text('base', 'console_item_sign_up_label'), OW::getRouter()->urlForRoute('base_join')); $event->addItem($item, 1); |
You’ll need to comment that out. It should look like this after you add the PHP comment tag /* and end tag */
1 2 |
/*$item = new BASE_CMP_ConsoleButton($language->text('base', 'console_item_sign_up_label'), OW::getRouter()->urlForRoute('base_join')); $event->addItem($item, 1);*/ |
Upload this file back to the server, double checking before you load it that you made a backup of the original first.