Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Janek 14.04.2008 16:32
########################################################################### @query_to_hash[sQuery][tQuery;oneParam] ^if(!def $sQuery){$sQuery[$request:query]} $sQuery[^sQuery.match[&^;][g]{&}] $tQuery[^sQuery.split[&]] $result[^hash::create[]] ^tQuery.menu{ $oneParam[^tQuery.piece.split[=;lh]] ^result.add[ $.[$oneParam.0][$oneParam.1] ] } ########################################################################### @hash_to_query[hQuery][sQuery] $sQuery[^hQuery.foreach[key;value]{$key=$value&^;}] $result[^sQuery.trim[end;&^;]] ########################################################################### @buildQuery[sFilter;AppendQuery;bFilterEliminator][hOldQuery;hAppendQuery;tFilter;hNewQuery] $hOldQuery[^query_to_hash[]] ^if($AppendQuery is "string"){ $hAppendQuery[^query_to_hash[$AppendQuery]] } ^if($AppendQuery is "hash"){ $hAppendQuery[$AppendQuery] } $hNewQuery[^hash::create[]] ^if(def $sFilter){ $tFilter[^sFilter.split[,]] ^hOldQuery.foreach[key;value]{ ^if(^tFilter.locate[piece;$key] && !$bFilterEliminator){ ^hNewQuery.add[$.[$key][$value]] } ^if(!^tFilter.locate[piece;$key] && $bFilterEliminator){ ^hNewQuery.add[$.[$key][$value]] } } }{ $hNewQuery[$hOldQuery] } ^if($hAppendQuery is "hash"){^hNewQuery.add[$hAppendQuery]} $result[^hash_to_query[$hNewQuery]]