Автор: FlashBlack
Версии DLE: 8.x
Описание: Все мы знаем, что ссылки регистрации не прячутся под ЧПУ, не зависимо от настройки ЧПУ, так вот данный хак позволяет скрыть все ссылки регистрации под ЧПУ.
Инструкция:
1. В файле .htaccess, после строчки:
RewriteEngine On
Вставить:
#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, ищем строки:
} 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>" );
}
Заменяем на:
} 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'] );
//
Далее ищем строки:
$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>";
Заменяем это чудо на:
//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>";
//
Ну и на последок, ищем строку:
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>" );
Заменяем на:
//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>" );
//
Вот и всё.
Всем спасибо