Capabilities_Handler implements Registerable, Standard_Service

Manages document editing capabilities for WordPress users and roles.

Tags
author

Barn2 Plugins support@barn2.com

license

GPL-3.0

copyright

Barn2 Media Ltd

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

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.

Search results