The main entry point is index.php
The index page includes api.pho which includes all code pages and the configuration page
The index page gets the arguments which are
- name: Name of the requested page
- action: Action to perform on the page
- editing arguments: id, revision, content
- user arguments: email, pass
It then creates the user, based on
- current session
- cookie (username, passwordtoken)
and the data in the
- user pages
- configuration (power user)
It then gets the current revision of a page.
- If a revision is specified, it gets the revision.
- If a name is specified, it gets the file in the current folder, if it is available. If not, it falls back to the current revision for this name.
It then performs any action on a page.
The actions can be: edit, save, history, diff, revert, protect, unprotect, delete, undelete, newuser, newusersubmit, lostpassword, lostpasswordsubmit, view
For pages in the Special namespace the action is special, because no editing is possible. These pages are handled by scripts in the special folder.
It then parses the content of the page. All parsers are in the Parsers folder. A special parser is the template parser which then may expand the wikitext with text from other pages, from template pages and from functions using Transclusion
It then applies the skin. All skins are in the Skins folder.