This presents an 'I accept your terms' checkbox in the login block and on the user page (along with the terms if you want). If you insist on the terms being visible on login, omit the login block from the homepage and just add a 'Login' button-link to 'user.php'.
The version I messed with is XOOPS 2.0.13.2. It will probably work for later versions too, but don't rely too much on the line numbers. If anyone spots any errors, or wants to update it for other XOOPS versions, please do.
My usual disclaimer applies... backup the files and if it ruins your day, don't blame me!
![](https://xoops.org/uploads/smil42e7a439bcbb8.gif)
language/english/user.php
(add anywhere)
define('_US_MUSTACCEPTMYTERMS','Sorry. You must accept our terms.');
language/english/global.php
Add (anywhere):
define('_MYTERMS','I agree to your terms ');
user.php
Around line 51, add:
$xoopsTpl->assign('lang_myterms', _MYTERMS);
modules/system/blocks/system_blocks.php
Around line 94, add:
$block['lang_myterms'] = _MYTERMS;
modules/system/templates/system_userform.html
About line 6, add:
<br /><b>Terms of Useb><br />
You must be over 18 to use this site.
<br /><br />
<{$lang_myterms}> <input type="checkbox" name="termsaccepted" />
<br /><br />
modules/system/blocks/system_block_login.html
About line 6, add:
<br />
<input type="checkbox" name="termsaccepted" /> <{$block.lang_myterms}>
<br /><br />
include/checklogin.php
Around line 43, add:
// Peekays Terms Hack ------------------------------------------ //
if(!isset($_POST['termsaccepted'])) {
redirect_header(XOOPS_URL.'/user.php', 1, _US_MUSTACCEPTMYTERMS);
exit();
}
// End pk mod -------------------------------------------------- //
A thread is for life. Not just for Christmas.