WkiCoreFiles ~ Baeffink* J ~Поиск ~ I Добавить комментарий] Γ Редактировать этот флюгер 1
II Лыжный тест СтраницаZ
III Страница с большим количеством текста, слишком много, чтобы действительно хотеть привести все
S^ запутался в редактировании только для того, чтобы сделать короткий комментарий в конце.
„
1%
если
:
| ^ Поэтому вместо этого используйте Добавить комментарий для ввода в пустую форму, которая
ξ % добавляется внизу после сгенерированного правила.
футов 5
II
а
Еще один комментарий добавлен после Erst.
„
Еще один комментарий от кого-то другого. И так далее...
1
—
—
·
—
s Ιξ [Добавить комментарий] {Редактировать эту страницу] (Последнее редактирование, вторник, 9 мая 2000 г., «t 17:59, Bo)
LeufNet ~ WtkiComFiles
РИСУНОК 6-10.
Пример того, как добавляются комментарии, на этот раз
взято из вики-анализа запросов, где добавить или
edit - это отдельные ссылки на шаблоны
ВЗЛОМ ВАШЕГО ИСТОЧНИКА WIKI
187
Что касается изменения функциональности, то сначала нам нужно добавить еще одну строку ProcessRequest:
$CookedInput{append} && &HandleEdit;
HandleEdit позаботится об определении режима следующим образом:
$title = $CookedInput{править}
|| $CookedInput{добавление};
мой режим $ = 'редактировать'; моя $ заметка = '';
если ($CookedInput{добавление}) {
$режим = 'добавить';
$note = 'комментарий к'; # вставляется в заголовок "Редактировать заголовок"
}
В режиме добавления, чтобы не отображать весь текст страницы, измените раздел чтения с помощью
условно:
$_ = $page{text} если ( $mode =~/edit/ ) ;
# пустая форма, если добавить
Форма теперь также требует скрытого типа ввода для передачи значения режима редактирования:
<input type="hidden" name="editmode" value="$mode">
Окончательное изменение, как и ожидалось, находится в разделе HandlePost, где значение режима
определяет способ сохранения введенного текста.
Во-первых, существующий текст на странице должен быть сохранен в локальной переменной (старый
версия также необходима для других скрытых полей, используемых на этом этапе, таких как предыдущее
номер версии):
моя %страница =
fcRetrievePage($название);
# получить существующую версию
мой $lastText = $page{текст};
# сохранить содержимое для добавления
После вызова для обработки расширенных кодов замены и непосредственно перед вызовом