has_submodules = true; $parentModule->save(); } // insert module into database $module = Module::create([ 'name' => $name, 'description' => $description, 'handler' => $handler, 'manages_content' => $managesContent, 'support_categories' => $supportCategories, 'alias' => $alias, 'module_settings' => json_encode($settings), 'parent_id' => $parentModuleId, 'enabled' => 1 ]); // install something module-specific if ($handler) { call_user_func([$handler, 'install']); } return $module; } }