>Perhaps you can try something analogous to what's suggested here:
>https://www.mediawiki.org/wiki/Manual_talk:Hooks/ParserBeforeStrip#Sanity_Check
Interesting enough, this trick does not prevent the problem of the callback
running
twice on save. If I put as the first lines of the callback:
static $hasRun = false;
if ($hasRun) {
error_log("already ran");
return '';
}
$hasRun = true;
error_log('first time');
and put my tag on a page and save it, I get two "first time" messages in the
error log.
DanB
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Nathan Larson
Sent: Thursday, December 05, 2013 2:51 PM
To: MediaWiki announcements and site admin list
Subject: Re: [MediaWiki-l] Preventing a tag extension from rendering twice on
save?
On Thu, Dec 5, 2013 at 2:32 PM, Daniel Barrett <[email protected]> wrote:
> I've noticed that parser tag extensions render twice when an article
> is saved from the edit page.
> All I did was write a parser tag <foo> that runs error_log('foo').
> It prints once when I hit <foo/> on a page, but twice when saving the
> page from the wiki editor.
>
> Is there a way to prevent this double-running on save?
> Even way for the extension itself to detect it's on the first (or
> second) run and suppress itself?
>
> I have an extension that is heavyweight, making a SQL query to an
> external database, and I don't want to run twice.
>
> Thanks for any insights!
> DanB
_______________________________________________
MediaWiki-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
_______________________________________________
MediaWiki-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l