HEX
Server: LiteSpeed
System: Linux melbournecleaninggroup 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: www-data (33)
PHP: 7.3.33-1+focal
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: /var/www/html/wp-content/plugins/acf-extended/includes/fields-settings/permissions.php
<?php

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

if(!class_exists('acfe_permissions')):

class acfe_permissions{
    
    function __construct(){
    
        add_action('acf/render_field_settings',     array($this, 'render_field_settings'));
        add_filter('acf/prepare_field',             array($this, 'prepare_field'));
        
    }
    
    function render_field_settings($field){
        
        if(acf_is_filter_enabled('acfe/field_group/advanced') || acf_maybe_get($field, 'acfe_permissions')){
            
            acf_render_field_setting($field, array(
                'label'         => __('Permissions'),
                'name'          => 'acfe_permissions',
                'key'           => 'acfe_permissions',
                'instructions'  => __('Restrict user roles that are allowed to view and edit this field'),
                'type'          => 'checkbox',
                'required'      => false,
                'default_value' => false,
                'choices'       => acfe_get_roles(),
                'layout'        => 'horizontal',
                'wrapper'       => array(
                    'data-after' => 'instructions'
                )
            ), true);
            
        }
        
    }
    
    function prepare_field($field){
        
        if(!acf_maybe_get($field, 'acfe_permissions'))
            return $field;
        
        $user_roles = acfe_get_current_user_roles();
        $render = false;
        
        foreach($user_roles as $user_role){
            
            foreach($field['acfe_permissions'] as $field_role){
                
                if($user_role !== $field_role)
                    continue;
    
                $render = true;
                break 2;
                
            }
            
        }
        
        if(!$render)
            return false;
        
        return $field;
        
    }
    
}

new acfe_permissions();

endif;