The top-level class for models, installers and top-level files An instance of this class is used by the admin & portal object to invoke common database based methods.

Change with care!


class Root {
  • // constants
  • const STR_MODULE_ANNOTATION = "@module";
  • const STR_MODULEID_ANNOTATION = "@moduleId";
  • const STR_SORTMANAGER_ANNOTATION = "@sortManager";


Line Task
+ migrate to long-timestamp
+ migrate to long-timestamp
639+ move to OrmObjectupdate completely
913+ find ussages and make private
1056+ find usages and make private
1542+ : remove first params, is always the current systemid. maybe mark as protected, currently only called by the test-classes


Name Value



  • $arrInitRow
  • $bitDatesChanges
  • $intLmTime — int
    Timestamp of the last modification ATTENTION: time() based, so 32 bit integer
  • $intLockTime — int
    Time the current locking was triggered ATTENTION: time() based, so 32 bit integer
  • $intModuleNr — int
    The records module-number
  • $intOldRecordStatus — int
    The records previous status, used to trigger status changed events
  • $intRecordDeleted — int
    Indicates whether the object is deleted, or not
  • $intRecordStatus — int
    The records status
  • $intSort — int
    The records sort-position relative to the parent record
  • $longCreateDate — int
    Long-based representation of the timestamp the record was created initially
  • $objEndDateKajona\System\System\Date
    The end date of the date-table
  • $objLangKajona\System\System\Lang
  • $objSortManagerKajona\System\System\SortmanagerInterface
  • $objSpecialDateKajona\System\System\Date
    The special-date of the date-table
  • $objStartDateKajona\System\System\Date
    The start-date of the date-table
  • $strAction
  • $strLmUser — string
    The id of the user last who did the last changes to the current record
  • $strLockId — string
    The id of the user locking the current record, empty otherwise
  • $strOldPrevId — string
    The old prev-id, used to track hierarchical changes -> requires a rebuild of the rights-table
  • $strOwner — string
    The id of the user who created the record initially
  • $strPrevId — string
    The records internal parent-id
  • $strRecordClass — string
    Holds the current objects' class
  • $strRecordComment — string
    Human readable comment describing the current record
  • $strSystemid — string
    The records current systemid




  • createSystemRecord() — Generates a new SystemRecord and, if needed, the corresponding record in the rights-table (here inheritance is default) Returns the systemID used for this record
  • getNextSortValue() — Internal helper to fetch the next sort-id
  • internalInit() — Init the current record with the system-fields
  • isSystemidChildNode() — Internal helper, checks if a child-node is the descendant of a given base-node
  • processDateChanges() — Process date changes handles the insert and update of date-objects.


  • getObjLang() — Returns the current Text-Object Instance
  • initObjectInternal() — InitObjectInternal is called during an objects instantiation.
  • onInsertToDb() — Overwrite this method if you want to trigger additional commands during the insert of an object, e.g. to create additional objects / relations
  • updateStateToDb() — Called whenever a update-request was fired.
  • updateSystemrecord() — Updates the current record to the database and saves all relevant fields.