HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/naniguide.com/wp-content/plugins/golo-framework/includes/class-golo-capability.php
<?php

if (!defined('ABSPATH')) {
	exit;
}

if (!class_exists('Golo_Capability')) {
	/**
	 * Class Golo_Capability
	 */
	class Golo_Capability
	{
		public function __construct()
		{
			$this->create_roles();
		}

		public static function create_roles()
		{
			global $wp_roles;

			if (!class_exists('WP_Roles')) {
				return;
			}

			if (!isset($wp_roles)) {
				$wp_roles = new WP_Roles();
			}

			$capabilities = self::get_core_capabilities();

			foreach ($capabilities as $cap_group) {
				foreach ($cap_group as $cap) {
					$wp_roles->add_cap('administrator', $cap);
				}
			}
		}

		private static function get_core_capabilities()
		{
			$capabilities = array();

			$capabilities['core'] = array(
				'manage_golo_framework'
			);

			$capability_types = array('place', 'booking', 'package', 'invoice');

			foreach ($capability_types as $capability_type) {

				$capabilities[$capability_type] = array(
					// Post type
					"edit_{$capability_type}",
					"read_{$capability_type}",
					"delete_{$capability_type}",
					"edit_{$capability_type}s",
					"edit_others_{$capability_type}s",
					"publish_{$capability_type}s",
					"read_private_{$capability_type}s",
					"delete_{$capability_type}s",
					"delete_private_{$capability_type}s",
					"delete_published_{$capability_type}s",
					"delete_others_{$capability_type}s",
					"edit_private_{$capability_type}s",
					"edit_published_{$capability_type}s",

					// Terms
					"manage_{$capability_type}_terms",
					"edit_{$capability_type}_terms",
					"delete_{$capability_type}_terms",
					"assign_{$capability_type}_terms"
				);
			}

			return $capabilities;
		}
	}
	new Golo_Capability();
}