Внизу счетчик 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
Цикл собирает список ссылок с ключом по названию страницы, на которой они находятся, с каждой
ссылка используется только один раз на странице и тщательно избегает ссылок на самих себя.