Arcane 21 <arcane <at> live.com> writes:
>
> I recommend using the MW 1.22.4 tarball to base this on. The MW 1.22.3
extensions are the wrong branch and
> produce errors, assuming you're using the Cite extension that was bundled
with the 1.22.3 tarball..
I've upgraded my MW installation and the extensions, but the problem
remains. I would guess it's to do with passing references vs values, or
there is some MediaWiki-specific thing that I am not aware of.
Perhaps someone can help me sort out the syntax for writing an event
handler that modifies an existing value.
Here's where the hook is called:
wfRunHooks( 'CiteBeforeStackEntry', array( &$str, &$key, &$call ) );
Here's the hook:
$wgHooks['CiteBeforeStackEntry'][] = 'wfProcessCite';
Here's the function:
function wfProcessCite( $str, $key, $call ){
...
I want to change the value of $str, but leave $key and $call unchanged.
Can someone indicate the correct syntax?
Thank you!
Amelia.
> > From: amelia.ireland <at> gmod.org
> > Date: Thu, 13 Mar 2014 14:18:54 -0700
> > To: mediawiki-l <at> lists.wikimedia.org
> > Subject: [MediaWiki-l] MediaWiki hooks and parameters
> >
> > Hello,
> >
> > I'm having a little trouble getting a custom hook to perform the
actions I
> > want
> > it to after upgrading from PHP 5.3 / MW 1.19.2 to PHP 5.4 / MW 1.22.3.
> >
> > I am hacking an existing extension, ProcessCite, that integrates into
the
> > Cite
> > extension by adding a custom hook to one of Cite's functions:
> >
> > # from Cite_body.php
> > function stack( $str, $key = null, $group, $follow, $call ) {
> > # add the call to the CiteBeforeStackEntry hook
> > wfRunHooks( 'CiteBeforeStackEntry', array( &$str, &$call ) );
> >
> > ProcessCite runs code that creates a value for $str based on the
contents of
> > $call. Here are the relevant parts of ProcessCite:
> >
> > # Declare the hook:
> > $wgHooks['CiteBeforeStackEntry'][] = 'wfProcessCite';
> >
> >
> > # the function itself
> > function wfProcessCite($str, $call){
> >
> > # process $call and $str to create a new version of $str
> > # $call remains unchanged, $str is set to new value
> >
> > $str = "new string";
> >
> > return true;
> > }
> >
> > Debug statements reveal that wfProcessCite is creating the correct
value for
> > $str, but the value is not altered when wfProcessCite finishes. I am not
> > sure
> > if I am calling the hook in the wrong way, given that I want to alter
the
> > value of $str.
> >
> > The MW manual page on hooks (http://www.mediawiki.org/wiki/Manual:Hooks)
is
> > somewhat confusing -- what is the difference between passing $someData
to a
> > function versus passing a set of parameters?!
> >
> > Any help would be appreciated!
> >
> > Thank you,
> > Amelia.
> >
> > --
> > Amelia Ireland
> > GMOD Community Support
> > Generic Model Organism Database project
> > http://gmod.org || <at> gmodproject
> > _______________________________________________
> > MediaWiki-l mailing list
> > MediaWiki-l <at> lists.wikimedia.org
> > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
>
> _______________________________________________
> MediaWiki-l mailing list
> MediaWiki-l <at> lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
>
--
Amelia Ireland
GMOD Community Support
Generic Model Organism Database project
http://gmod.org || @gmodproject
_______________________________________________
MediaWiki-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l