In your module's _init():
jrCore_register_module_feature('jrCore', 'tool_view', 'xxFoo', 'cleanup', array('Clean Up', 'Remove entries older than 30 days'));The module's Tools tab now has a Clean Up entry with that description. It links to yoursite.com/(module url)/cleanup.
The third value can also be a full URL, as Developer Tools does for its database tool.
Create views/cleanup.php:
<?php
defined('APP_DIR') or exit();
function view_xxFoo_cleanup($_post, $_user, $_conf)
{
jrUser_master_only();
jrCore_page_include_admin_menu();
jrCore_page_admin_tabs('xxFoo', 'tools');
jrCore_page_banner('Clean Up');
// ... a form, or the result ...
return jrCore_page_display(true);
}Until the view exists, the entry leads to a "not found" page.
The view name is the URL part after the module's URL: view_(module)_(name). The module's URL is set in _meta(), and admins can change it, so always build links with jrCore_get_module_url('xxFoo').