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{текст};

# сохранить содержимое для добавления

После вызова для обработки расширенных кодов замены и непосредственно перед вызовом