<?php
/**
 * Created by PhpStorm.
 * User: adiardana
 * Date: 20/02/19
 * Time: 23.59
 */

// save
add_filter('acf/settings/save_json', 'zamrud_json_save_point');
function zamrud_json_save_point( $path ) {
    $path = get_stylesheet_directory() . '/json';
    return $path;
}

// load
add_filter('acf/settings/load_json', 'zamrud_json_load_point');
function zamrud_json_load_point( $paths ) {
    unset($paths[0]);
    $paths[] = get_stylesheet_directory() . '/json';
    return $paths;
}

// options
if( function_exists('acf_add_options_page') ) {

    acf_add_options_page(array(
        'page_title' 	=> 'Website Settings',
        'menu_title'	=> 'Website Settings',
        'menu_slug' 	=> 'website-settings',
        'capability'	=> 'edit_posts',
        'redirect'		=> false
    ));

    acf_add_options_sub_page(array(
        'page_title' 	=> 'Lawyer Settings',
        'menu_title'	=> 'Lawyer Settings',
        'parent_slug'	=> 'edit.php?post_type=staff',
    ));

//    acf_add_options_sub_page(array(
//        'page_title' 	=> 'Theme Footer Settings',
//        'menu_title'	=> 'Footer',
//        'parent_slug'	=> 'theme-general-settings',
//    ));

}

function acf_load_post_types_field_choices( $field ) {
    // reset choices
    $field['choices'] = array();

    $pt = get_post_types();
    $unset_pt = array(
        'attachment',
        'revision',
        'nav_menu_item',
        'custom_css',
        'customize_changeset',
        'oembed_cache',
        'user_request',
        'wp_block',
        'wp-types-group',
        'wp-types-user-group',
        'wp-types-term-group',
        'acf-field-group',
        'acf-field',
        'wpcf7_contact_form'
    );
    foreach ($unset_pt as $key) {
        unset($pt[$key]);
    }

    if( is_array($pt) ) {
        foreach( $pt as $choice ) {
            $field['choices'][ $choice ] = $choice;
        }
    }
    // return the field
    return $field;
}

add_filter('acf/load_field/name=post_types', 'acf_load_post_types_field_choices');

function acf_load_menu_field_choices( $field ) {
    // reset choices
    $field['choices'] = array(
        '' => 'Select'
    );

    $menus = get_terms( 'nav_menu', array( 'hide_empty' => true ) );
    if(is_array($menus)){
        foreach ($menus as $menu) {
            $field['choices'][$menu->slug] = $menu->name;
        }
    }
    // return the field
    return $field;
}

add_filter('acf/load_field/name=nav_menu', 'acf_load_menu_field_choices');

function acf_load_gf_field_choices( $field ) {
    global $wpdb;
    $results = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}gf_form", OBJECT );

    if(!$results) return $field;

    // reset choices
    $field['choices'] = array(
        '' => 'Select'
    );
    foreach ($results as $result) {
        $field['choices'][$result->id] = $result->title;
    }
    // return the field
    return $field;
}

add_filter('acf/load_field/name=gravity_form', 'acf_load_gf_field_choices');

function acf_load_sidebar_field_choices( $field ) {

    // reset choices
    $field['choices'] = array(
        '' => 'Select'
    );
    foreach ($GLOBALS['wp_registered_sidebars'] as $sidebar) {
        $field['choices'][$sidebar['id']] = $sidebar['name'];
    }
    // return the field
    return $field;
}

add_filter('acf/load_field/name=z_sidebar', 'acf_load_sidebar_field_choices');
