Я пытаюсь передать $ old из getOldText для повторного редактирования с глобальными переменными, но это не работает.Я не могу вызвать getOldText изнутри reEdit, потому что к тому времени, когда происходит, старый текст будет перезаписан редактированием.
$old = "INITIAL";
function reEdit() {
global $old;
//removed code creating article object to simplify
$new = $article->getRawText();
$article->doEdit( "$new <-new old -> $old"); //PROBLEM HERE, returns as INITIAL
return true;
}
function getOldText() {
global $old;
//removed code creating article object to simplify
$old = $article->getRawText();
return true;
}
$wgHooks['EditFormInitialText'][] = array('getOldText');
$wgHooks['ArticleSaveComplete'][] = array('reEdit');
Проблема в указанной строке - $ old не передается внесмотря на то, что он глобален.
$ wgHooks - это код MediaWiki, который вызывает мои функции, когда статья начинает редактироваться и сохраняться соответственно.Для тех, кто знаком с кодом MediaWiki, я просто пытаюсь получить текст до того, как редактирование было выполнено.