| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Безымянный 22.01.2007 00:58
К опроснику делаю админку.@edit[params][params;poll_id;id;update_hash]
^check_params[$params;edit]
^if(def $params.request && $params.request is hash && def $params.request.exist_answer && $params.request.exist_answer is table){
$update_hash[^hash::create[]]
$update_hash.poll_id[$params.request.poll_id.field]
$update_hash.answers[^hash::create[]]
^if($params.request.answer is table && $params.request.exist_answer is table){
^if($params.request.answer > $params.request.exist_answer){
^params.request.answer.menu{
^if(^params.request.answer.line[] > $params.request.exist_answer){
$id[new_^params.request.answer.line[]]
}{
^params.request.exist_answer.offset[set](^params.request.answer.offset[])
$id[$params.request.exist_answer.field]
}
^params.request.vote_count.offset[set](^params.request.answer.offset[])
$update_hash.answers.$id[
$.answer[$params.request.answer.field]
$.vote_count[$params.request.vote_count.field]
$.ind[$params.request.ind.field]
]
}
}{
^params.request.exist_answer.menu{
^if(^params.request.exist_answer.line[] > $params.request.answer){
$id[delete_^params.request.exist_answer.line[]]
$answer[$params.request.exist_answer.field]
}{
^params.request.answer.offset[set](^params.request.exist_answer.offset[])
$id[$params.request.exist_answer.field]
$answer[$params.request.answer.field]
}
^params.request.vote_count.offset[set](^params.request.exist_answer.offset[])
$update_hash.answers.$id[
$.answer[$answer]
$.vote_count[$params.request.vote_count.field]
$.ind[$params.request.ind.field]
]
}
}
}
^update[$update_hash]
}