function show_remote_response_error()
 {
     // only run once
     if (acf_has_done('show_remote_response_error')) {
         return false;
     }
     // vars
     $error = acf_get_setting('remote_response_error');
     $notice = __('<b>Error</b>. Could not connect to update server', 'acf');
     // append error
     if ($error) {
         $notice .= ' <span class="description">(' . $error . ')</span>';
     }
     // add notice
     acf_add_admin_notice($notice, 'error');
     // return
     return false;
 }
Beispiel #2
0
function acf_enqueue_uploader()
{
    // bail early if doing ajax
    if (defined('DOING_AJAX') && DOING_AJAX) {
        return;
    }
    // bail ealry if already run
    if (acf_has_done('enqueue_uploader')) {
        return;
    }
    // enqueue media if user can upload
    if (current_user_can('upload_files')) {
        wp_enqueue_media();
    }
    // create dummy editor
    ?>
<div class="acf-hidden"><?php 
    wp_editor('', 'acf_content');
    ?>
</div><?php 
}
Beispiel #3
0
function acf_pro_is_license_active()
{
    // vars
    $license = acf_pro_get_license();
    $url = home_url();
    // bail early if empty
    if (!$license) {
        return false;
    }
    // bail early if no key
    if (!$license['key']) {
        return false;
    }
    // bail early if url does not match
    if ($license['url'] !== $url) {
        // add notice (only once)
        if (!acf_has_done('acf_pro_is_license_active_notice')) {
            acf_add_admin_notice(__('Error validating ACF PRO license URL (website does not match). Please re-activate your license', 'acf'), 'error');
        }
        return false;
    }
    // return
    return true;
}
function acf_update_500_field_group($ofg)
{
    // global
    global $wpdb;
    // create new field group
    $nfg = array('ID' => 0, 'title' => $ofg->post_title, 'menu_order' => $ofg->menu_order);
    // location rules
    $groups = array();
    // get all rules
    $rules = get_post_meta($ofg->ID, 'rule', false);
    if (is_array($rules)) {
        $group_no = 0;
        foreach ($rules as $rule) {
            // if field group was duplicated, it may now be a serialized string!
            $rule = maybe_unserialize($rule);
            // does this rule have a group?
            // + groups were added in 4.0.4
            if (!isset($rule['group_no'])) {
                $rule['group_no'] = $group_no;
                // sperate groups?
                if (get_post_meta($ofg->ID, 'allorany', true) == 'any') {
                    $group_no++;
                }
            }
            // extract vars
            $group = acf_extract_var($rule, 'group_no');
            $order = acf_extract_var($rule, 'order_no');
            // add to group
            $groups[$group][$order] = $rule;
            // sort rules
            ksort($groups[$group]);
        }
        // sort groups
        ksort($groups);
    }
    $nfg['location'] = $groups;
    // settings
    if ($position = get_post_meta($ofg->ID, 'position', true)) {
        $nfg['position'] = $position;
    }
    if ($layout = get_post_meta($ofg->ID, 'layout', true)) {
        $nfg['layout'] = $layout;
    }
    if ($hide_on_screen = get_post_meta($ofg->ID, 'hide_on_screen', true)) {
        $nfg['hide_on_screen'] = maybe_unserialize($hide_on_screen);
    }
    // Note: acf_update_field_group will call the acf_get_valid_field_group function and apply 'compatibility' changes
    // save field group
    $nfg = acf_update_field_group($nfg);
    // action for 3rd party
    do_action('acf/update_500_field_group', $nfg, $ofg);
    // trash?
    if ($ofg->post_status == 'trash') {
        acf_trash_field_group($nfg['ID']);
    }
    // global
    global $wpdb;
    // get field from postmeta
    $rows = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key LIKE %s", $ofg->ID, 'field_%'), ARRAY_A);
    // check
    if ($rows) {
        // loop
        foreach ($rows as $row) {
            // bail early if key already migrated (potential duplicates in DB)
            if (acf_has_done('update_500_field_group_' . $ofg->ID . '_' . $row['meta_key'])) {
                continue;
            }
            // vars
            $field = $row['meta_value'];
            $field = maybe_unserialize($field);
            $field = maybe_unserialize($field);
            // run again for WPML
            // add parent
            $field['parent'] = $nfg['ID'];
            // migrate field
            $field = acf_update_500_field($field);
        }
    }
    // return
    return $nfg;
}