Capabilities_Handler implements Registerable, Standard_Service
Manages document editing capabilities for WordPress users and roles.
Tags
Interfaces, Classes and Traits
- Registerable
- Standard_Service
Table of Contents
- CAPABILITIES = [ // Post type capabilities 'edit_dlp_document', 'read_dlp_document', 'delete_dlp_document', 'edit_dlp_documents', 'edit_others_dlp_documents', 'delete_dlp_documents', 'publish_dlp_documents', 'read_private_dlp_documents', 'delete_private_dlp_documents', 'delete_published_dlp_documents', 'delete_others_dlp_documents', 'edit_private_dlp_documents', 'edit_published_dlp_documents', 'create_dlp_documents', // Taxonomy capabilities 'manage_doc_categories', 'edit_doc_categories', 'delete_doc_categories', 'assign_doc_categories', 'manage_doc_tags', 'edit_doc_tags', 'delete_doc_tags', 'assign_doc_tags', 'manage_doc_authors', 'edit_doc_authors', 'delete_doc_authors', 'assign_doc_authors', ]
- All capabilities for document management.
- EDITING_CAPABILITIES = [ 'edit_dlp_document', 'read_dlp_document', 'delete_dlp_document', 'edit_dlp_documents', 'delete_dlp_documents', 'publish_dlp_documents', 'delete_published_dlp_documents', 'edit_published_dlp_documents', 'read', // assign taxonomy terms 'assign_doc_tags', 'assign_doc_categories', 'assign_doc_authors', ]
- Capabilities for a document owner.
- add_document_owner_caps() : array<string|int, mixed>
- Filter user capabilities for document owners.
- filter_document_owner_views() : array<string|int, mixed>
- Filter document owner views to show only their own documents.
- filter_post_type_args() : array<string|int, mixed>
- Filter post type arguments to add custom capabilities.
- on_settings_updated() : mixed
- Handle settings update to refresh capabilities.
- register() : mixed
- {@inheritdoc}
- remove_menu_page() : mixed
- Remove the document library menu for users who can't edit documents.
- restrict_document_owner_document_list() : void
- Restrict document owner document list to their own documents.
- update_role_capabilities() : mixed
- Update role capabilities based on settings.
- is_post_id_capability_check() : int|null
- Check if the current request is for a document post ID.
- user_has_authored_documents() : bool
- Check if a user has authored any documents.
Constants
CAPABILITIES
All capabilities for document management.
public
mixed
CAPABILITIES
= [
// Post type capabilities
'edit_dlp_document',
'read_dlp_document',
'delete_dlp_document',
'edit_dlp_documents',
'edit_others_dlp_documents',
'delete_dlp_documents',
'publish_dlp_documents',
'read_private_dlp_documents',
'delete_private_dlp_documents',
'delete_published_dlp_documents',
'delete_others_dlp_documents',
'edit_private_dlp_documents',
'edit_published_dlp_documents',
'create_dlp_documents',
// Taxonomy capabilities
'manage_doc_categories',
'edit_doc_categories',
'delete_doc_categories',
'assign_doc_categories',
'manage_doc_tags',
'edit_doc_tags',
'delete_doc_tags',
'assign_doc_tags',
'manage_doc_authors',
'edit_doc_authors',
'delete_doc_authors',
'assign_doc_authors',
]
Tags
EDITING_CAPABILITIES
Capabilities for a document owner.
public
mixed
EDITING_CAPABILITIES
= [
'edit_dlp_document',
'read_dlp_document',
'delete_dlp_document',
'edit_dlp_documents',
'delete_dlp_documents',
'publish_dlp_documents',
'delete_published_dlp_documents',
'edit_published_dlp_documents',
'read',
// assign taxonomy terms
'assign_doc_tags',
'assign_doc_categories',
'assign_doc_authors',
]
Tags
Methods
add_document_owner_caps()
Filter user capabilities for document owners.
public
add_document_owner_caps(array<string|int, mixed> $allcaps, array<string|int, mixed> $caps, array<string|int, mixed> $args, WP_User $user) : array<string|int, mixed>
Parameters
- $allcaps : array<string|int, mixed>
-
All capabilities for the user.
- $caps : array<string|int, mixed>
-
Required capabilities.
- $args : array<string|int, mixed>
-
Arguments passed to current_user_can().
- $user : WP_User
-
The user object.
Tags
Return values
array<string|int, mixed> —Modified capabilities.
filter_document_owner_views()
Filter document owner views to show only their own documents.
public
filter_document_owner_views(array<string|int, mixed> $views) : array<string|int, mixed>
Parameters
- $views : array<string|int, mixed>
-
The available views.
Tags
Return values
array<string|int, mixed> —Modified views.
filter_post_type_args()
Filter post type arguments to add custom capabilities.
public
filter_post_type_args(array<string|int, mixed> $args, string $post_type) : array<string|int, mixed>
Parameters
- $args : array<string|int, mixed>
-
Post type arguments.
- $post_type : string
-
Post type slug.
Tags
Return values
array<string|int, mixed> —Modified post type arguments.
on_settings_updated()
Handle settings update to refresh capabilities.
public
on_settings_updated(mixed $old_value, mixed $new_value) : mixed
Parameters
- $old_value : mixed
-
The old option value.
- $new_value : mixed
-
The new option value.
Tags
Return values
mixed —register()
{@inheritdoc}
public
register() : mixed
Tags
Return values
mixed —remove_menu_page()
Remove the document library menu for users who can't edit documents.
public
remove_menu_page() : mixed
Tags
Return values
mixed —restrict_document_owner_document_list()
Restrict document owner document list to their own documents.
public
restrict_document_owner_document_list(WP_Query $query) : void
Parameters
- $query : WP_Query
-
The query object.
Tags
Return values
void —update_role_capabilities()
Update role capabilities based on settings.
public
update_role_capabilities() : mixed
Tags
Return values
mixed —is_post_id_capability_check()
Check if the current request is for a document post ID.
private
is_post_id_capability_check(array<string|int, mixed> $args) : int|null
Parameters
- $args : array<string|int, mixed>
-
Arguments passed to current_user_can().
Tags
Return values
int|null —Post ID if it's a document post, null otherwise.
user_has_authored_documents()
Check if a user has authored any documents.
private
user_has_authored_documents(WP_User $user) : bool
Parameters
- $user : WP_User
-
The user object.
Tags
Return values
bool —True if user has authored documents, false otherwise.