This page will attempt to explain the process flow of the Aneuch script. It might be useful to both contributors to the mainline Aneuch source, as well as plugin developers.
- Init
This is the very first subroutine called. It calls the following:
- InitScript
Determines $Url, $ShortUrl, $ScriptName and $ShortScriptName
- InitConfig
Executes $ConfFile (default 'config.pl'), which sets user-configured variables
- InitVars
Initializes default variables. If a variable was set in the previous step (InitConfig) it will not be over-written. This is also where several "special" things get declared via: RegCommand, RegAdminPage, RegPostAction, RegSpecialPage
- InitDirs
Initializes directories (if this is the first time Aneuch is ran)
- LoadPlugins
This is where all plugins get loaded. Plugins should end in the extensions '.pl' or '.pm', and be in the $PluginDir directory.
- DoPostInit
Calls any sub that has been registered using RegPostInitSub.
- DoRequest
Handles the current request. The following are called as part of this:
- IsBlocked
Checks if the current user is blocked.
- ErrorPage
If the user is blocked, call ErrorPage with a 403 error.
- DoSurgeProtection
If this returns true, call:
- ErrorPage
Called with 503 error.
- ReadIn
Checks if the script is getting POST data.
- DoPosting
If ReadIn return true (1), call DoPosting.
- If the 'doing' element of the submitted data exists in %PostingActions, then execute it.
- CanView
Checks if the user can view ($SiteMode < 3, or authenticated). If not, redirect to login page.
- Checks if the "do" parameter is "random", and if so, execute $Comands{'random'}.
- Check if page requested (or if a command, if the command is defined), and if not, set $HTTPStatus to 404 error.
- If the command is 'revision', check if the requested page revision exists, and if not, set $HTTPStatus to 404 error.
- DoHeader
This prints out everything that belongs to the theme's header.
- If a command is being called (GetParam('do')), and it is defined, execute the command.
- OR if the page does not exist, send out the contents of $NewPage (default 'It appears that there is nothing here.')
- OR if the page does exist, and Markup() exists:
- Markup
Send the text from $Page to Markup(), which should return properly formatted HTML.
- MarkupBuildLink
Takes any text between two ['s and two ]'s and returns an HTML anchor element (<a>).
- IF Markup does not exist:
- Send the text from $Page out to the browser
- DoSpecialPage
If the current $Page matches something defined via RegSpecialPage, execute its associated subroutine.
- DoFooter
This prints out everything that belongs to the theme's footer.
- DoVisit
Records the details of the current browse request to $VisitorLog
- DoMaint
Calls any subroutines defined to %MaintActions, which are used to clean up temp files, $VisitorLog, etc.
CategoryDocumentation