Внизу счетчик 0 сигнализирует о «потерянных страницах». Страница по умолчанию может безопасно

быть там, так как он связан с шаблоном, но другие настоящие сироты, которые

отсутствуют какие-либо ссылки на них.

Предупреждения выдаются для страниц, на которые есть ссылки только из недавних изменений.

Открыть ссылку

РИСУНОК 9-1 2 .

Страница "Инструменты администратора" с кнопкой refcount и ссылкой на

соответствующая страница для списка открытых ссылок

На рис. 9-12 показан результат редактирования шаблона [Refcount] в специальном

страница «Инструменты администратора». Наличие обычной вики-страницы для функции позволяет вам сохранять

напоминания и комментарии о его использовании. Кнопка отправляет скрытое имя и значение

данные на сервер, где входящие запросы идентифицируются в ParseRequest. Два

функции используют одну и ту же подпрограмму, но закодированы с разными значениями, поэтому нам нужно

чтобы вставить две строки отправки:

$CookedInput{счетчик ссылок}

$CookedInput{openref}

&& &HandleRefcount;

&& &HandleRefcount;

К подпрограмме. По сути, это то же самое, что и версия QuickiWiki,

допускает различные настройки. Это становится немного грязным в середине, где режим

значение определяет обработку вариантов, но, надеюсь, дополнительные комментарии позволят вам следовать

концепция, если не все детали кода.


АДМИНИСТРИРОВАНИЕ БАЗЫ ДАННЫХ

299

sub HandleRefcount {

мой $mode = $CookedInput{refcount} || $CookedInput{openref} ;

opendir(КАТАЛОГ, $DataBase)

|| &AbortScript("Не удается открыть каталог $DataBase: $!");

мои ©pages = sort grep { /$LinkPattern$/

ScSc -f "$DataBase/$_" } readdir (DIR) ;

закрытый DIR;

Имея список имен файлов подкачки, цикл поиска готов к запуску.

мой ($n, $key, $pr, %pf, %ref, %pref, %oref);

foreach $key (©pages) {

$n++; %pf = & Получить страницу ($ ключ);

# -v- искать ссылки на каждой странице

%преф = 0;

в то время как ($pf{text} =~ /($LinkPattern)/g) {

$pref{$1} = $key, если только ($1 эквивалентно $key)

}

foreach $pr ( ключи %pref ) {

нажать ©{$ref{$pr}}, $key;

}

}

# -- конец foreach $key

Цикл собирает список ссылок с ключом по названию страницы, на которой они находятся, с каждой

ссылка используется только один раз на странице и тщательно избегает ссылок на самих себя.