You are on page 1of 1

Mambo 4.5.2 Site index.php flow diagram Start Does configuration.php exist?

Yes
Old PHP Compatibility

Support Libraries
compat.php42x.php

Load web installer

No

globals.php configuration.php
compat.php41x.php

version.php database.php gacl.class.php

Show offline template

Yes

Is site offline

mambo.php legacy.php sef.php frontend.php

gacl_api.class.php
class.phpmailer.php

mamboxml.php frontend.html.php

Determine 'option' and 'Itemid' from URI or first link in Main Menu

Summary of Purpose of Included Files (note, directory prefix is omitted for clarity) globals.php Emulates register_globals = off configuration.php Global configuration settings for Mambo compat.41x.php & compat.42x.php Compatibility functions for older version of PHP. mambo.php & mamboxml.php Many support classes and function. Creates database, acl and mambot global handlers legacy.php A collection of code that supports legacy operations. Code in this file is likely to be removed in future versions as the need for legacy support increases. sef.php Support code for Search Engine Friendly URL's

Change some values of 'option' to support legacy versions

Create $mainframe Initialise the user session

Load language Process and redirect actions (eg save) Process and redirect Are we doing 'login' or 'logout
component.php

frontend.php Support functions for frontend template processing frontend.html.php Presentation (html) support functions for template processing version.php The current version of the Mambo application database.php Support classes for database abstraction gacl.class.php & gacl_api.class.php Support classes for user access control

Yes

'task'

Presentation

class.phpmailer.php Support classes for mailing Components The Components Collection is located in the /components directory. Each component has it's own folder where the name of the folder is prefixed with 'com_'. component.php Processes 'task's passed via the URI. For tasks such as 'save' there is no html output and the script redirects the URL to a different location. This prevents, for example, 'double' saves if you refresh the browser immediately after the event. component.html.php The presentation layer handler for the component. Modules Modules positions are loaded dynamically based on database settings. Support functions and classes for module processing are found in frontend.php and frontend.html.php.

Buffer 'component' output

component.html.php

Buffer
Store in $_MOS_OPTION['buffer']

Load 'template'

Load dynamic module positions

Flush buffered content

End

You might also like