Данный хак дает возможность спрятать ссылки регистрации под чпу, как всем известно стандартным функционалом движка ссылки для регистрации на сайте под ЧПУ не прячутся.
Для чего это надо? В первую очередь конечно для защиты от спам ботов автоматической регистрации, ну и я думаю у многих найдутся другие причины поставить данный хак к себе на сайт.
Итак начнем :
1. В файле .htaccess, после строчки:
Вставить:
Code
#register
RewriteRule ^register(/?)+$ index.php?do=register [L]
RewriteRule ^register/validating/(.*)(/?)+$ index.php?do=register&doaction=validating&id=$1 [L]
RewriteRule ^register/validating/(.*)/nextstep(/?)+$ index.php?do=register&doaction=validating&step=2&id=$1 [L]
2. В файле engine/modules/static.php, ищем строки:
Code
} else {
$tpl->set( '{ACCEPT-DECLINE}', "<form method="post" name="registration" id="registration" action="" . $config['http_home_url'] . "index.php?do=register"><input type="submit" class="bbcodes" value="{$lang['rules_accept']}" /> <input type="button" class="bbcodes" value="{$lang['rules_decline']}" onclick="history.go(-1); return false;" /><input name="dle_rules_accept" type="hidden" id="dle_rules_accept" value="yes" /></form>" );
}
Заменяем на:
Code
} else {
//edit by FB
if( $config['allow_alt_url'] == "yes" )
$url = $config['http_home_url'].'register/';
else
$url = $config['http_home_url'].'index.php?do=register';
$tpl->set( '{ACCEPT-DECLINE}', "<form method="post" name="registration" id="registration" action="{$url}"><input type="submit" class="bbcodes" value="{$lang['rules_accept']}" /> <input type="button" class="bbcodes" value="{$lang['rules_decline']}" onclick="history.go(-1); return false;" /><input name="dle_rules_accept" type="hidden" id="dle_rules_accept" value="yes" /></form>" );
//
}
3. В файле engine/modules/register.php, ищем строчку:
$row['template'] = str_replace( "{%validationlink%}", $config['http_home_url'] . "index.php?do=register&doaction=validating&id=" . $idlink, $row['template'] );
Заменяем на:
//edit by FB
if( $config['allow_alt_url'] == "yes" )
$url = $config['http_home_url'].'register/validating/{$idlink}/';
else
$url = $config['http_home_url'].'index.php?do=register&doaction=validating&id='.$idlink;
$row['template'] = str_replace( "{%validationlink%}", $url, $row['template'] );
//
<
ищем строки:
Code
$tpl->copy_template = "<form method="post" name="registration" onsubmit="if (!check_reg_daten()) {return false;};" id="registration" action="" . $config['http_home_url'] . "index.php?do=register">n" . $tpl->copy_template . "
<input name="submit_reg" type="hidden" id="submit_reg" value="submit_reg" />
</form>";
Заменяем это на:
Code
//edit by FB
if( $config['allow_alt_url'] == "yes" )
$url = $config['http_home_url'].'register/';
else
$url = $config['http_home_url'].'index.php?do=register';
$tpl->copy_template = "<form method="post" name="registration" onsubmit="if (!check_reg_daten()) {return false;};" id="registration" action="{$url}">n" . $tpl->copy_template . "
<input name="submit_reg" type="hidden" id="submit_reg" value="submit_reg" />
</form>";
//
Ну и на последок, ищем строку:
Code
msgbox( $lang['all_info'], $lang['confirm_ok'] . "<br /><br /><a href="" . $config['http_home_url'] . "index.php?do=register&doaction=validating&step=2&id=" . rawurlencode( $_REQUEST['id'] ) . "">" . $lang['reg_next'] . "</a>" );
Заменяем на:
Code
//edit by FB
if( $config['allow_alt_url'] == "yes" )
$url = $config['http_home_url'].'register/validating/'.rawurlencode($_REQUEST['id']).'/nextstep/';
else
$url = $config['http_home_url'].'index.php?do=register&doaction=validating&step=2&id='.rawurlencode($_REQUEST['id']);
msgbox( $lang['all_info'], $lang['confirm_ok'] . "<br /><br /><a href="{$url}">" . $lang['reg_next'] . "</a>" );
//