Эта страница описывает внутреннее функционирование PmWiki объясняя как работают некоторые функции в pmwiki.php. Большее лаконичный список/обзор полезных функций для создателей рецептов смотри Cookbook:Functions.
FmtPageName($fmt, $pagename)
Возвращает переменную $fmt, с выполнеными подстановками $переменных и $[интернационализаций], предполагая что pagename -- это текущая страница. Список(неполный) доступных переменных, интернационализаций смотри на странице Переменные.
Это одна из важнейших функций PmWiki. Подробнее смотри FmtPageName?.
Markup($name, $when, $pattern, $replace)
Добавляет новое правило разметки в таблицу преобразований. Подробно описана на странице Собственная разметка.
Эта функция используется для встраивания правил преобразования в движок PmWiki. Все аргументы Markup() являются строками, где:
$name
Строка с именем вставляемого правила. Если правило с таким именем уже есть, то новое будет проигнорировано.
$when
Эта строка указывает когда правило будет применено относительно других правил. Спецификация "<xyz" говорит применять это правило прежде правила с именем "xyz", когда как ">xyz" говорит применять его после "xyz". Подробнее о порядке выполнения правил читай на странице Собственная разметка.
$pattern
В этой строке передаётся регулярное выражение используемое движком преобразования для поиска местонахождения этого правила в исходной разметке.
$replace
Этой строкой будет заменён подошедший под правило текст.
Функция mkdirp($dir) создаёт директорию $dir(если она не существует) включая все необходимые родительские директории. У каждой созданой директории проверяет достаточность прав для доступа сценария PmWiki на чтение и запись файлов. Что включает проверку ограничений налагаемых безопасным режимом PHP (safe_mode). Если mkdirp() не может создать директорию для чтения/записи, mkdirp() прерывает выполнение с сообщением говорящим администратору идти, либо создать директорию в ручную, либо дать PmWiki достаточно прав для такой операции.
MakeLink($pagename, $target, $txt, $suffix, $fmt)
Функция MakeLink($pagename, $target, $txt, $suffix, $fmt) возвращает HTML текст ссылки. Её аргументы такие:
$pagename
исходная страница
$target
куда должна указывать ссылка
$txt
текстовое значение ссылки
$suffix
любая строка суффикса добавляемая к $txt
$fmt
строка используемая для форматирования
Если $txt равен NULL или не указан, тогда он автоматически вычислится из $target.
Если $fmt равен NULL или не указан, то MakeLink использует формат по умолчанию определяемый типом ссылки. Это значит, что для ссылок на страницу формат будет взят из переменных $LinkPageExistsFmt и $LinkPageCreateFmt, для межсерверных (InterMap) ссылок -- из массива $IMapLinkFmt или переменной $UrlLinkFmt. В строке форматирования, $LinkUrl будет заменено на URL ссылки, а $LinkText -- на текст ссылки, и $LinkAlt заменится на любую "title" (alt текст) информацию ассоциируемую с ссылкой.