in web/wp-content/plugins/acf-extended/includes/modules/form/module-form-upgrades.php [579:1045]
function upgrade_v2_item_to_v3($item, $args = array()){
// form attributes
$form_attributes = acf_maybe_get($args, 'acfe_form_attributes');
$fields_attributes = acf_maybe_get($args, 'acfe_form_fields_attributes');
// new item
$item = array(
'ID' => $item['ID'],
'name' => $item['name'],
'label' => $item['label'],
'title' => $item['title'],
'active' => acf_maybe_get($args, 'acfe_form_active', true),
'field_groups' => acf_maybe_get($args, 'acfe_form_field_groups'),
'settings' => array(
'location' => acf_maybe_get($args, 'acfe_form_field_groups_rules'),
'honeypot' => acf_maybe_get($args, 'acfe_form_honeypot'),
'kses' => acf_maybe_get($args, 'acfe_form_kses'),
'uploader' => acf_maybe_get($args, 'acfe_form_uploader'),
),
'attributes' => array(
'form' => array(
'element' => acf_maybe_get($args, 'acfe_form_form_element') ? 'form' : 'div',
'class' => acf_maybe_get($form_attributes, 'field_acfe_form_attributes_class'),
'id' => acf_maybe_get($form_attributes, 'field_acfe_form_attributes_id'),
),
'fields' => array(
'element' => acf_maybe_get($args, 'acfe_form_form_field_el'),
'wrapper_class' => acf_maybe_get($fields_attributes, 'field_acfe_form_fields_wrapper_class'),
'class' => acf_maybe_get($fields_attributes, 'field_acfe_form_fields_class'),
'label' => acf_maybe_get($args, 'acfe_form_label_placement'),
'instruction' => acf_maybe_get($args, 'acfe_form_instruction_placement'),
),
'submit' => array(
'value' => acf_maybe_get($args, 'acfe_form_submit_value'),
'button' => acf_maybe_get($args, 'acfe_form_html_submit_button'),
'spinner' => acf_maybe_get($args, 'acfe_form_html_submit_spinner'),
)
),
'validation' => array(
'hide_error' => acf_maybe_get($args, 'acfe_form_hide_error'),
'hide_revalidation' => acf_maybe_get($args, 'acfe_form_hide_revalidation'),
'hide_unload' => acf_maybe_get($args, 'acfe_form_hide_unload'),
'errors_position' => acf_maybe_get($args, 'acfe_form_errors_position'),
'errors_class' => acf_maybe_get($args, 'acfe_form_errors_class'),
),
'success' => array(
'hide_form' => acf_maybe_get($args, 'acfe_form_updated_hide_form'),
'message' => acf_maybe_get($args, 'acfe_form_updated_message'),
'wrapper' => acf_maybe_get($args, 'acfe_form_html_updated_message'),
),
'actions' => array(),
'render' => '',
);
// submit disabled
if(!acf_maybe_get($args, 'acfe_form_form_submit')){
$item['attributes']['submit'] = false;
}
// render
$render = '';
$old_render = acf_maybe_get($args, 'acfe_form_custom_html');
$old_render_enabled = acf_maybe_get($args, 'acfe_form_custom_html_enable');
$before_render = acf_maybe_get($args, 'acfe_form_html_before_fields');
$after_render = acf_maybe_get($args, 'acfe_form_html_after_fields');
// old render
if($old_render_enabled && $old_render){
$render = $old_render;
}
// generate render
if(!empty($before_render) || !empty($after_render)){
// empty render
// use {render:fields}
if(empty($render)){
$render = '{render:fields}';
}
// prepend before render
if(!empty($before_render)){
$render = $before_render . "\n\n" . $render;
}
// append before render
if(!empty($after_render)){
$render = $render . "\n\n" . $after_render;
}
}
// deprecated {field:field_625e53aa1a791}
// deprecated {field_group:group_61642cb824d8a}
$render = str_replace('{field:', '{render:', $render);
$render = str_replace('{field_group:', '{render:', $render);
// assign form render
$item['render'] = $render;
// loop actions
foreach(acf_get_array($args['acfe_form_actions']) as $row){
switch($row['acf_fc_layout']){
/**
* custom
*/
case 'custom':{
$action = array(
'action' => 'custom',
'name' => acf_maybe_get($row, 'field_acfe_form_custom_action'),
);
// append action
$item['actions'][] = $action;
break;
}
/**
* email
*/
case 'email':{
$action = array(
'action' => 'email',
'name' => acf_maybe_get($row, 'field_acfe_form_email_custom_alias'),
'email' => array(
'from' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_email_from')),
'to' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_email_to')),
'reply_to' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_email_reply_to')),
'cc' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_email_cc')),
'bcc' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_email_bcc')),
'subject' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_email_subject')),
'content' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_email_content')),
),
'attachments' => array(),
);
// files dynamic
foreach(acf_get_array($row['field_acfe_form_email_files']) as $file){
$action['attachments'][] = array(
'file' => $this->handle_field_tags(acf_maybe_get($file, 'field_acfe_form_email_file')),
'delete' => acf_maybe_get($file, 'field_acfe_form_email_file_delete'),
);
}
// files static
foreach(acf_get_array($row['field_acfe_form_email_files_static']) as $file){
$action['attachments'][] = acf_maybe_get($file, 'field_acfe_form_email_file_static');
}
// append action
$item['actions'][] = $action;
break;
}
/**
* option
*/
case 'option':{
$action = array(
'action' => 'option',
'name' => acf_maybe_get($row, 'field_acfe_form_option_custom_alias'),
'save' => array(
'target' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_option_save_target')),
'acf_fields' => $this->handle_acf_fields(acf_maybe_get($row, 'field_acfe_form_option_save_meta')),
),
'load' => array(
'source' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_option_load_source')),
'acf_fields' => $this->handle_acf_fields(acf_maybe_get($row, 'field_acfe_form_option_load_meta')),
),
);
// load
$load_values = acf_maybe_get($row, 'field_acfe_form_option_load_values');
// reset load if disabled
if(!$load_values){
unset($action['load']);
}
// append action
$item['actions'][] = $action;
break;
}
/**
* post
*/
case 'post':{
$action = array(
'action' => 'post',
'type' => acf_maybe_get($row, 'field_acfe_form_post_action'), // insert_post | update_post
'name' => acf_maybe_get($row, 'field_acfe_form_post_custom_alias'),
'save' => array(
'target' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_post_save_target')),
'post_type' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_post_save_post_type')),
'post_status' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_post_save_post_status')),
'post_title' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_post_save_post_title')),
'post_name' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_post_save_post_name')),
'post_content' => '',
'post_excerpt' => '',
'post_author' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_post_save_post_author')),
'post_parent' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_post_save_post_parent')),
'post_date' => '',
'post_thumbnail' => '',
'post_terms' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_post_save_post_terms')),
'append_terms' => '',
'acf_fields' => $this->handle_acf_fields(acf_maybe_get($row, 'field_acfe_form_post_save_meta')),
),
'load' => array(
'source' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_post_load_source')),
'post_type' => acf_maybe_get($row, 'field_acfe_form_post_map_post_type'),
'post_status' => acf_maybe_get($row, 'field_acfe_form_post_map_post_status'),
'post_title' => acf_maybe_get($row, 'field_acfe_form_post_map_post_title'),
'post_name' => acf_maybe_get($row, 'field_acfe_form_post_map_post_name'),
'post_content' => acf_maybe_get($row, 'field_acfe_form_post_map_post_content'),
'post_excerpt' => acf_maybe_get($row, 'field_acfe_form_post_map_post_excerpt'),
'post_author' => acf_maybe_get($row, 'field_acfe_form_post_map_post_author'),
'post_parent' => acf_maybe_get($row, 'field_acfe_form_post_map_post_parent'),
'post_date' => '',
'post_thumbnail' => '',
'post_terms' => acf_maybe_get($row, 'field_acfe_form_post_map_post_terms'),
'acf_fields' => $this->handle_acf_fields(acf_maybe_get($row, 'field_acfe_form_post_load_meta')),
),
);
// post content
$group = acf_maybe_get($row, 'field_acfe_form_post_save_post_content_group');
$post_content = $group['field_acfe_form_post_save_post_content'];
$post_content_custom = $group['field_acfe_form_post_save_post_content_custom'];
if($post_content === 'custom'){
$post_content = $post_content_custom;
}
// post excerpt
$group = acf_maybe_get($row, 'field_acfe_form_post_save_post_excerpt_group');
$post_excerpt = $group['field_acfe_form_post_save_post_excerpt'];
$post_excerpt_custom = $group['field_acfe_form_post_save_post_excerpt_custom'];
if($post_excerpt === 'custom'){
$post_excerpt = $post_excerpt_custom;
}
// assign
$action['save']['post_content'] = $this->handle_field_tags($post_content);
$action['save']['post_excerpt'] = $this->handle_field_tags($post_excerpt);
// load
$load_values = acf_maybe_get($row, 'field_acfe_form_post_load_values');
// reset load if disabled
if(!$load_values){
unset($action['load']);
}else{
// load loop
foreach(array_keys($action['load']) as $key){
$value = $action['load'][ $key ];
// assign save key with {field:field_abcdef123456}
if(isset($action['save'][ $key ]) && !empty($value) && is_string($value) && acf_is_field_key($value)){
$action['save'][ $key ] = "{field:$value}";
}
}
}
// append action
$item['actions'][] = $action;
break;
}
/**
* redirect
*/
case 'redirect':{
$action = array(
'action' => 'redirect',
'name' => acf_maybe_get($row, 'field_acfe_form_redirect_custom_alias'),
'url' => acf_maybe_get($row, 'field_acfe_form_redirect_url'),
);
// append action
$item['actions'][] = $action;
break;
}
/**
* term
*/
case 'term':{
$action = array(
'action' => 'term',
'type' => acf_maybe_get($row, 'field_acfe_form_term_action'), // insert_term | update_term
'name' => acf_maybe_get($row, 'field_acfe_form_term_custom_alias'),
'save' => array(
'target' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_term_save_target')),
'name' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_term_save_name')),
'slug' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_term_save_slug')),
'taxonomy' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_term_save_taxonomy')),
'parent' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_term_save_parent')),
'description' => '',
'acf_fields' => $this->handle_acf_fields(acf_maybe_get($row, 'field_acfe_form_term_save_meta')),
),
'load' => array(
'source' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_term_load_source')),
'name' => acf_maybe_get($row, 'field_acfe_form_term_map_name'),
'slug' => acf_maybe_get($row, 'field_acfe_form_term_map_slug'),
'taxonomy' => acf_maybe_get($row, 'field_acfe_form_term_map_taxonomy'),
'parent' => acf_maybe_get($row, 'field_acfe_form_term_map_parent'),
'description' => acf_maybe_get($row, 'field_acfe_form_term_map_description'),
'acf_fields' => $this->handle_acf_fields(acf_maybe_get($row, 'field_acfe_form_term_load_meta')),
),
);
// description
$group = acf_maybe_get($row, 'field_acfe_form_term_save_description_group');
$description = $group['field_acfe_form_term_save_description'];
$description_custom = $group['field_acfe_form_term_save_description_custom'];
if($description === 'custom'){
$description = $description_custom;
}
// assign
$action['save']['description'] = $this->handle_field_tags($description);
// load
$load_values = acf_maybe_get($row, 'field_acfe_form_term_load_values');
// reset load if disabled
if(!$load_values){
unset($action['load']);
}else{
// load loop
foreach(array_keys($action['load']) as $key){
$value = $action['load'][ $key ];
// assign save key with {field:field_abcdef123456}
if(isset($action['save'][ $key ]) && !empty($value) && is_string($value) && acf_is_field_key($value)){
$action['save'][ $key ] = "{field:$value}";
}
}
}
// append action
$item['actions'][] = $action;
break;
}
/**
* user
*/
case 'user':{
$action = array(
'action' => 'user',
'type' => acf_maybe_get($row, 'field_acfe_form_user_action'), // insert_user | update_user | log_user
'name' => acf_maybe_get($row, 'field_acfe_form_user_custom_alias'),
'login' => array(
'type' => acf_maybe_get($row, 'field_acfe_form_user_log_type'),
'user' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_save_login_user')),
'pass' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_save_login_pass')),
'remember' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_save_login_remember')),
),
'save' => array(
'target' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_save_target')),
'user_email' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_save_email')),
'user_login' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_save_username')),
'user_pass' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_save_password')),
'first_name' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_save_first_name')),
'last_name' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_save_last_name')),
'nickname' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_save_nickname')),
'display_name' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_save_display_name')),
'user_url' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_save_website')),
'description' => '',
'role' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_save_role')),
'log_user' => false,
'acf_fields' => $this->handle_acf_fields(acf_maybe_get($row, 'field_acfe_form_user_save_meta')),
),
'load' => array(
'source' => $this->handle_field_tags(acf_maybe_get($row, 'field_acfe_form_user_load_source')),
'user_email' => acf_maybe_get($row, 'field_acfe_form_user_map_email'),
'user_login' => acf_maybe_get($row, 'field_acfe_form_user_map_username'),
'user_pass' => acf_maybe_get($row, 'field_acfe_form_user_map_password'),
'first_name' => acf_maybe_get($row, 'field_acfe_form_user_map_first_name'),
'last_name' => acf_maybe_get($row, 'field_acfe_form_user_map_last_name'),
'nickname' => acf_maybe_get($row, 'field_acfe_form_user_map_nickname'),
'display_name' => acf_maybe_get($row, 'field_acfe_form_user_map_display_name'),
'user_url' => acf_maybe_get($row, 'field_acfe_form_user_map_website'),
'description' => acf_maybe_get($row, 'field_acfe_form_user_map_description'),
'role' => acf_maybe_get($row, 'field_acfe_form_user_map_role'),
'acf_fields' => $this->handle_acf_fields(acf_maybe_get($row, 'field_acfe_form_user_load_meta')),
),
);
// description
$group = acf_maybe_get($row, 'field_acfe_form_user_save_description_group');
$description = $group['field_acfe_form_user_save_description'];
$description_custom = $group['field_acfe_form_user_save_description_custom'];
if($description === 'custom'){
$description = $description_custom;
}
// assign
$action['save']['description'] = $this->handle_field_tags($description);
// load
$load_values = acf_maybe_get($row, 'field_acfe_form_user_load_values');
// reset load if disabled
if(!$load_values){
unset($action['load']);
}else{
// load loop
foreach(array_keys($action['load']) as $key){
$value = $action['load'][ $key ];
// assign save key with {field:field_abcdef123456}
if(isset($action['save'][ $key ]) && !empty($value) && is_string($value) && acf_is_field_key($value)){
$action['save'][ $key ] = "{field:$value}";
}
}
}
// append action
$item['actions'][] = $action;
break;
}
}
}
return $item;
}