Изменения

Модуль editgeneric (Sway)

23 байта добавлено, 20:51, 20 августа 2009
Алгоритм
Порядок действий:
# Если умеем, проверить доступ (выполнить '''check_access''', если функция существует)
#: Если она что-то вывела в \%rv (данные шаблона), вернуть \%rv
#: Иначе просто отдать статус HTTP ''403 Forbidden''
# Если умеем, выполнить '''check_data''', и получить $data (вероятно хешреф)# Если задан параметр <code>'''do'''</code>, перейти к выполнению действия:
## Если функция check_data задана, но вернула ЛОЖЬ, вернуть ошибку
## Если функция save задана, выполнить её, если она вернёт ЛОЖЬ, вернуть ошибку
## Если функция save не задана или вернула ИСТИНУ, отдать перенаправление на URL '''edit_from_uri ''' из параметров запроса (URL, по которому была форма редактирования)# Если умеем, выполнить '''fetch ''' и получить от него $olddata# Если умеем, выполнить '''merge ''' и получить от него $data объединённый с $olddata
#: Если не умеем, просто дописать в хеш %$data значения из %$olddata, не заданные в %$data
#:: Если $data — не хешреф, то не делать этого :-)
# Если умеем, выполнить '''template''', он выведет $data и $olddata в \%rv
#: Если не умеем, просто записать data в $rv по ключу data, а $olddata по ключу olddata.
[[Категория:Sway]]