Description edit

Among other things this file contains:

  • Function run, called from index.php. Run the current MediaWiki instance, calling checkMaxLag, main, triggerJobs and restInPeace.
  • Function checkMaxLag: check if the maximum lag of database slaves is higher than maxlag parameter, and if it's the case, output an error message. It's primarily used in requests to api.php , explicitly called by ApiMain.php before 1.19, although since 1.19 it works for index.php requests too.
  • Function main which creates a Title object depending on the title parameter passed to index.php. If the curid parameter is passed, it will override the title. If the curid parameter isn't passed and the oldid parameter is passed, it will override the title if it's not a special page.
  • Function performRequest (before version 1.18 it was called performRequestForTitle, and before version 1.16 it was called initialize) which does the most of the work. It:
    • Checks for invalid titles, or read permission errors
    • Performs interwiki redirects and canonical redirects
    • If it's a special page, calls the special page code
    • Calls initializeArticle, and
    • Calls performAction if initializeArticle returned an article, or
    • Calls redirect if initializeArticle returned a string.
  • Function initializeArticle, which creates an Article object from the Title given. Then it checks if it is a redirect and if it's the case, recreate another Article from the target of the redirect and changes $wgTitle . It can return either:
    • An article object, which will be passed performAction to execute the requested action
    • A string if it's an interwiki redirect or a redirect to a special page
  • Function performAction (called by performRequest) which performs most actions, including creating the HTML. For example, in the case of viewing a page, function "view" in Article.php is called.
  • Function restInPeace (called by run) which does the following:
    • Perform deferred updates
    • Commit any database transactions
  • Function triggerJobs (doJobs before 1.23), which runs zero, one or more jobs from the Job queue, depending on $wgJobRunRate . Called from run (it was called from restInPeace before 1.23).

Hooks edit

See also edit