User:Hvoss

Wiki autonumber hack

Rationale
If you want to create a more 'formal' type of document it would be nice to have the headings autonumber. In most other cases this is unwanted functionality and headings without any numbering would be nice.

So having a per article option to enable autonumbering for the headings would be the way to go. (Perhaps also an option to disable autonumbering for a particular article?).

Implementation
I went looking for the place where the user perference Auto-number headings gets processed and added lines that will check for a new 'Magic Word' __NUMBERHEADINGS__ if the option is not already on.

Details
These hacks are based on the MediaWiki 1.5.0 'final' version.

This required hacking three different source file. The modifications of which will be described in the following paragraphs.

includes/Parser.php
In Parser.php, on line 2456 in the function formatHeadings, just below the line that says: $doNumberHeadings = $this->mOptions->getNumberHeadings;

add the following code: if (! $doNumberHeadings ) {			$doNumberHeadingsObj =& MagicWord::get( MAG_NUMBERHEADINGS ); if ($doNumberHeadingsObj->matchAndRemove ( $text ) ) {				$doNumberHeadings = 1; }		}

includes/MagicWord.php
In the list of defines for the keywords, as the last define (below line 57) add the following code: define('MAG_NUMBERHEADINGS',           44); The number 44 is the next in the sequence. If the MediaWiki coders decide to implement a new MagicWord this number could become invalid and needs to be updated.

languages/Language.php
In Language.php the actual keyword needs to be defined. In the list of magic words definitions (search for to find it. Just below line 196 or there abouts add the following code:	MAG_NUMBERHEADINGS       => array( 0,    '__NUMBERHEADINGS__'     ), __NUMBERHEADINGS__

=Alternative hack for MWv1.15.1= http://www.mediawiki.org/wiki/User:Revansx#Getting_Behavior_Switch_.22Number_Headings.22_in_MW1.15.1_with_simple_hack