name = $mi->namespace = substr(static::class, 0, strrpos(static::class, '\\')); $mi->features = static::$features; $mi->isTemplate = true; $mi->singleInstanceOnly = ! static::$allowAlias; $mi->authRequired = static::$authRequred; $mi->ACLRules = static::$ACLRules; $mi->menuItem = static::$menuItem; $mi->globalAccessKey = static::$globalAccessKey; $mi->languages = static::$languages; $mi->configKeys=static::$configKeys; $mi->themes=static::$themes; return $mi; } public static function doMigration() { if (static::$allowAlias) { throw new \Exception("Embedded migration not allowed for multi-instance modules"); } $modInfo = static::getModInfo(); $instances = $modInfo->getInstances(); foreach ($instances as $module) { \fox\sql::doMigration($module); } } }