Tooling plugins (MCP abilities, admin screens) call the provider methods rather than the tables, so they get the same data and permission rules as phones. The providers only ever act for the signed-in user, on that userās home site.
Service methods
LH_Calendars::return_home_site_id( $user_id ),is_home_site( $user_id ),return_storage_site_id().- Both providers: the
LH_DAV_Collection_Providermethodsget_collections(),get_resource_index(),get_resources(),put_resource()anddelete_resource(). The organisation provider refuses writes with 403. LH_Calendars_Personal_Provideralso implementsLH_DAV_Collection_Manager:can_create_collections(),create_collection(),update_collection(),delete_collection().LH_Calendars_Organisations_Provider::return_organisation_site_ids( $user_id )anduser_can_view_status( $status, $user_id )(call on the organisationās site).LH_Calendars_Profile::get_export( $calendar ): one of the current userās calendars as a single .ics file.LH_Calendars_Ical::read_resource(),build_event()andmerge().
Filters and actions
lh_calendars_init_plugin: return false to stop the plugin booting.lh_calendars_return_home_site_id( $site_id, $user_id ): the site a userās calendars are served on.lh_calendars_return_default_calendar_id( āpersonalā ) andlh_calendars_return_max_calendars( 50 ).lh_calendars_organisation_site_ids( $site_ids, $user_id ): the organisations a user gets calendars for.lh_calendars_return_gatherpress_plugin( āgatherpress/gatherpress.phpā ).lh_calendars_user_can_view_status( $can, $status, $user_id, $site_id ) andlh_calendars_user_can_see_event( true, $post, $user_id ): who sees which events.lh_calendars_return_organisation_days_back( 90 ) andlh_calendars_organisation_event_query_args( $args, $site_id, $user_id ): which events are included.lh_calendars_return_organisation_color( $color, $site_id ).lh_calendars_return_description_length( 2000 ) and the actionlh_calendars_build_event( $vevent, $post ), run on the eventās site to add or change event properties.lh_calendars_return_tracked_event_meta_keys: GatherPress meta whose change is logged for sync.