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/core/hooks.php
<?php

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

if(!class_exists('acfe_hooks')):

class acfe_hooks{
    
    public $field_group;
    
    function __construct(){
        
        // Field Groups
        add_filter('acf/load_field_groups',                         array($this, 'load_field_groups'), 100);
        add_filter('acf/pre_render_fields',                         array($this, 'pre_render_fields'), 10, 2);
        add_action('acf/render_fields',                             array($this, 'render_fields'), 10, 2);
        
        acf_add_filter_variations('acfe/prepare_field_group',       array('ID', 'key'), 0);
        acf_add_action_variations('acfe/pre_render_field_group',    array('ID', 'key'), 0);
        acf_add_action_variations('acfe/render_field_group',        array('ID', 'key'), 0);
        
        // Fields
        add_filter('acf/field_wrapper_attributes',                  array($this, 'field_wrapper_attributes'), 10, 2);
        add_filter('acf/load_fields',                               array($this, 'load_fields'), 10, 2);
        add_filter('acf/load_field',                                array($this, 'load_field'));
        
        acf_add_filter_variations('acfe/field_wrapper_attributes',  array('type', 'name', 'key'), 1);
        acf_add_filter_variations('acfe/load_fields',               array('type', 'name', 'key'), 1);
        acf_add_filter_variations('acfe/load_field',                array('type', 'name', 'key'), 0);
        acf_add_filter_variations('acfe/load_field_front',          array('type', 'name', 'key'), 0);
        acf_add_filter_variations('acfe/load_field_admin',          array('type', 'name', 'key'), 0);
        
    }
    
    /*
     * Load Field Groups
     */
    function load_field_groups($field_groups){
    
        if(acfe_is_admin_screen())
            return $field_groups;
        
        foreach($field_groups as $i => &$field_group){
    
            $field_group = apply_filters('acfe/prepare_field_group', $field_group);
            
            // Do not render if false
            if($field_group === false){
                
                unset($field_groups[$i]);
                
            }
        
        }
    
        return $field_groups;
        
    }
    
    /*
     * Pre Render Fields
     */
    function pre_render_fields($fields, $post_id){
        
        $this->field_group = array();
        
        if(!isset($fields[0]))
            return $fields;
        
        if(!acf_maybe_get($fields[0], 'parent'))
            return $fields;
        
        $field_group = acf_get_field_group($fields[0]['parent']);
        
        if(!$field_group)
            return $fields;
        
        $this->field_group = $field_group;
        
        do_action('acfe/pre_render_field_group', $field_group, $fields, $post_id);
        
        return $fields;
        
    }
    
    /*
     * Pre Render Fields
     */
    function render_fields($fields, $post_id){
        
        if(empty($this->field_group))
            return;
        
        do_action('acfe/render_field_group', $this->field_group, $fields, $post_id);
        
    }
    
    /*
     *  Field Wrapper Attributes
     */
    function field_wrapper_attributes($wrapper, $field){
        
        $wrapper = apply_filters('acfe/field_wrapper_attributes', $wrapper, $field);
        
        return $wrapper;
        
    }
    
    /*
     *  Load Fields
     */
    function load_fields($fields, $parent){
        
        // check if field (fitler is also called on field groups)
        if(!acf_maybe_get($parent, 'type'))
            return $fields;
        
        $fields = apply_filters('acfe/load_fields', $fields, $parent);
        
        return $fields;
        
    }
    
    /*
     *  Load Field
     */
    function load_field($field){
        
        if(acfe_is_admin_screen())
            return $field;
        
        // Everywhere
        $field = apply_filters('acfe/load_field', $field);
        
        // Admin
        if(acfe_form_is_admin()){
            
            $field = apply_filters('acfe/load_field_admin', $field);
            
        }
        
        // Front
        elseif(acfe_form_is_front()){
            
            $field = apply_filters('acfe/load_field_front', $field);
            
        }
        
        return $field;
        
    }
    
}

new acfe_hooks();

endif;