Current File : /home/pacjaorg/public_html/copwordpres/wp-content/plugins/betterdocs/includes/Core/Roles.php
<?php

namespace WPDeveloper\BetterDocs\Core;

use WPDeveloper\BetterDocs\Utils\Base;
use WPDeveloper\BetterDocs\Utils\Database;

class Roles extends Base {
    /**
     * Summary of Database
     * @var Database
     */
    public $database;

    public function __construct( Database $database ) {
        $this->database = $database;
    }

    /**
     * Default Roles Capabilities
     *
     * @var array
     */
    public function defaults_capabilities() {
        $default_capabilities = [
            'administrator' => [
                // post type related caps
                'edit_docs',
                'edit_others_docs',
                'edit_private_docs',
                'edit_published_docs',
                'read_private_docs',
                'publish_docs',
                'delete_docs',
                'delete_private_docs',
                'delete_published_docs',
                'delete_others_docs',

                // doc_terms related caps
                'manage_doc_terms',
                'edit_doc_terms',
                'delete_doc_terms',

                // kb terms related caps
                'manage_knowledge_base_terms',
                'edit_knowledge_base_terms',
                'delete_knowledge_base_terms',

                // Settings and Analytics Related caps
                'edit_docs_settings',
                'read_docs_analytics'
            ],
            'editor'        => [
                // post type related caps
                'edit_docs',
                'edit_others_docs',
                'edit_private_docs',
                'edit_published_docs',
                'read_private_docs',
                'publish_docs',
                'delete_docs',
                'delete_private_docs',
                'delete_published_docs',
                'delete_others_docs',

                // doc_terms related caps
                'manage_doc_terms',
                'edit_doc_terms',
                'delete_doc_terms',

                // kb terms related caps
                'manage_knowledge_base_terms',
                'edit_knowledge_base_terms',
                'delete_knowledge_base_terms'
            ],
            'author'        => [
                'edit_docs',
                'edit_published_docs',
                'publish_docs',
                'delete_docs',
                'delete_published_docs'
            ],
            'contributor'   => [
                'edit_docs',
                'delete_docs'
            ],
            'other'         => [
                // post type related caps
                'edit_docs',
                'delete_docs'
            ]
        ];

        return apply_filters( 'betterdocs_default_caps', $default_capabilities );
    }

    public function setup( $remove = false ) {
        if ( $this->database->get( '_betterdocs_caps_initialized', false ) && ! $remove ) {
            return;
        }

        global $wp_roles;

        $capabilities = $this->defaults_capabilities();

        if ( $remove ) {
            unset( $capabilities['administrator'] );
        }

        foreach ( $capabilities as $role => $caps ) {
            foreach ( $caps as $cap ) {
                if ( $remove ) {
                    $wp_roles->remove_cap( $role, $cap );
                    continue;
                }

                $wp_roles->add_cap( $role, $cap );
            }
        }

        $this->database->get( '_betterdocs_caps_initialized', ! $remove );
    }
}
Site is undergoing maintenance

PACJA Events

Maintenance mode is on

Site will be available soon. Thank you for your patience!