Core objects used by dotAdmin are described below.
Database connection / query management object. operates as a singleton collection, so an instance of a connection to a given database can be invoked from anywhere in the dotAdmin codebase.
The default database connection $this->obj_db exists in all controllers, and the majority of supporting objects.
Standard object type for a dotAdmin page. Inherits from InvFile
The InvFile object is the standard object wrapper for all database records. The InvFile class is extended by other file types (such as InvDocument for example) to add the necessary database tables and field descriptions, and to optionally add new methods or properties where required. As such, the majority of dotAdmin database interactions and accompanying template code will be implemented though a child of the InvFile class.
The InvList object is the standard object wrapper for all pginated lists database records. The InvList class is extended by other list types (such as InvDocument for example) to add the necessary database tables and field descriptions, and to optionally add new methods or properties where required. As such, the majority of dotAdmin table list interactions and accompanying template code will be implemented through a child of the InvList class.
A collection of links which has been created via the dotAdmin nav management interface.
Describes an item in a collection of links within a nav. Extends InvDocument
Object describing the website node hierarchy with methods for traversing and describing the hierarchy.
The node object describes a specific Node on the tree. Extends InvFile.
An object describing the contents of a node, allowing the creation of various different collections of links from that node downwards, and thereby creating navigational components of a given node on the website hierarchy.
InvPublicController is controller used by all dotAdmin documents. When writing code in templates, $this refers to the InvPublicController object. The methods and properties can be accessed therein.
The InvSession object is instantiated early on in any dotAdmin request. It can be accessed from any controller as $this->obj_session
This carries information about the user, session properties, and any login information associated with a logged in user.
The SiteSettings object accesses the settings properties for the current site. These are organised into settings groups, with methods for loading both a group of settings, or an individual setting. Settings are lazy-loaded from the database and cached for best performance