Create configurable administrator extensions.
modules/addons/example/example.php
<?php
function example_config(): array { return [
'name'=>'Example Addon','description'=>'A safe example.','version'=>'1.0.0','author'=>'You',
'fields'=>['enabled'=>['FriendlyName'=>'Enabled','Type'=>'yesno','Default'=>'on']]
]; }
function example_activate(): array { return ['status'=>'success','description'=>'Activated']; }
function example_deactivate(): array { return ['status'=>'success','description'=>'Deactivated']; }
function example_output(array $vars): string {
return '<div class="alert alert-info">Example</div>';
}
Saved fields plus module and modulelink are passed to output. Require CSRF-verified POST for mutations and permissions for sensitive operations.