| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
BeaVe 10.02.2006 10:34 / 10.02.2006 10:41
1. Первый метод возвращает строку доменного имени с учётом порта.@domain[]
$result[${env:SERVER_NAME}^if(!($env:SERVER_PORT == 80)){:${env:SERVER_PORT}}]
#end @domain[]2. Второй метод делает refresh сам на себя и подставляет $request:uri, можно указать дополнительную строку. @refresh[additional_string;protocol]
^if(def $additional_string){
$_string[^if(^request:uri.pos[?]>=0){&}{?}$additional_string]
}
$_protocol[^if(def $protocol){$protocol}{http}]
^location[${_protocol}://^taint[as-is][^domain[]$request:uri]^if(def $_string){$_string}]
#end @refresh[]Мне кажется возможно необходимо убрать $protocol, т.к. слышал, что Parser не работает с https.@test_cookie[]
^if(!def $form:sid){
$sid[^math:uid64[]]
$cookie:$sid[$sid]
^refresh[sid=$sid]
}{
$formname[$form:sid]
^if(def $cookie:$formname){
$cookie_sid[$cookie:$formname]
$cookie:sid[$cookie_sid]
$cookie:$formname[]
$result(1)
}{
$result(0)
}
}
#end @test_cookie[]Мне кажется так удобнее, посколько потом можно использовать $cookie:sid, либо $form:sid.@getSID[]
^if(^cookie:sid.length[] == 16){
^if(!(def $form:sid)){
^refresh[sid=$cookie:sid]
}
$result[$cookie:sid]
}{
^test_cookie[]
$result[$form:sid]
}
#end @getSID[]Хотелось бы увидеть мнения по этим методам. Возможно вы подскажете лучшие способы...