Новости | 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[]Хотелось бы увидеть мнения по этим методам. Возможно вы подскажете лучшие способы...