YeeModule Functions

There are 2 methods to install a new module, either by manually upload it or thru marketplace. For method 1, backend provides an interface to upload the module. Method 2 is not implemented yet.

Uploaded module will be automatically extracted and place into protected/modules folder. Then, Super Admin will needs to initialize it from the backend under 'New Modules' tab. Initialization will create protected/modules/xyz/config/main.php and protected/modules/xyz/config/console.php from the distribute version, then auto call install function in the module to setup database such as table, setting, meta structure and etc.

If a module already exists (it is just a version upgrade), Super Admin will needs to upgrade it from the backend. The system will then loop thru all the possible upgrade scripts of this module base on semantic versioning and call the correct one.

All installed/upgraded module has a carbon copy in the database under module table. This table keeps track of the installed version of the module, and is it enable/disabled.

Yii will automatically include all modules found in the folder protected/modules as long as module config files are found. Developer will need to explicitly check if the module enabled/disabled and not having a version mismatch issue by calling the database.

getCoreModules

getCoreModules()

This return the list of core module keys in flat array form: 'yee', 'gii', 'egg', 'sys', 'i18n', 'language', 'inspinia'

getNewModules

getNewModules()

find all modules that are new and do not have config files initialized so is uncovered by getAllModules()

getAllModules

getAllModules()

getActiveModuleKeys

getActiveModuleKeys($forceRefresh = false)

getActiveParsableModules

getActiveParsableModules()

getParsableModules

getParsableModules()

hasParsableModules

hasParsableModules($moduleKey)

getModuleAbout

getModuleAbout($moduleKey)

This will parse the about.yaml file in module's config folder and return as an array.

getModuleDb

getModuleDb($moduleKey)

This will return the module corresponding record in the database as a Module model object.

canModuleBeInstall

canModuleBeInstall($moduleKey)

canModuleBeConfigure

canModuleBeConfigure($moduleKey)

countModuleCanUpgrade

countModuleCanUpgrade()

canModuleUpgrade

canModuleUpgrade($moduleKey)

updateModule

updateModule($moduleKey)

composeNavItems

composeNavItems($navId, $controller, $original)

hasActiveModule

hasActiveModule($moduleKey)

getControllers

getControllers($moduleKey, $withPostfixController = true)

Last updated

Was this helpful?