Summary: SpecialPage::SpecialPage() no longer works (call to
                    undefined method)
           Product: MediaWiki
           Version: 1.17-svn
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: General/Unknown

I am raising this, as it is a change between 1.16 and trunk, which has broken
my WikiDB extension.  

In my extension, I sub-class the IncludableSpecialPage class to create my own
WikiDB_SpecialPage class, which my extension's special pages use.  This class
provides a load of common functionality, used by all my pages.

It also provides a static RegisterSpecialPage() function, which just takes the
special page name, and calls SpecialPage::SpecialPage() with all the necessary
arguments as, aside from the name, these are the same for all pages.

In trunk, this now raises a 'Call to undefined method' error.

This happened in r71961, where demon removed the old PHP4 style constructors,
and replaced them with the PHP5 __construct() method.

In terms of fixing my own extension, I know I can just replace the call to
Special::SpecialPage() with parent::__construct(), but my concern is that mine
is not the only extension that will be broken by this change.

I'm happy for this to be marked as WONTFIX if there is a fair degree of
confidence that not many existing extensions will be broken (i.e. that my
use-case is unusual, or that most extensions already use the new style). 
However I would strongly urge that bw-compatibility be maintained somehow if
there are more than a handful of extensions that may be broken by this.

Configure bugmail:
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

Wikibugs-l mailing list

Reply via email to