ERROR: You must log in first.','dregister'); endif; // !! Non amministratore ---// if (!current_user_can('manage_options')): $error = __('ERROR: You don\'t have administrator rights to modify registration options.','dregister'); endif; // -- Cancella opzioni ---// if(empty($_POST['fields']) ): delete_option('dr_fields'); elseif (!$error): $old_fields = get_option('dr_fields'); // -- Aggiorna opzioni ---// foreach ($_POST['fields'] as $k=>$v){ # Opzione monca if (empty($v['type'])): unset ($_POST['fields'][$k]); continue; endif; # Opzione vuota if (empty($v['name'])): $error = __('ERROR: You cannot leave any blank field name.','dregister'); endif; $field_name = 'dr_'.ereg_replace("[^a-z0-9_]", "", strtolower($v['name'])); # Controlla se è presente il flag di update. Se sì, mantiene il meta_key if ($v['update']!=1 or empty($old_fields[$k]['field_name'])): $_POST['fields'][$k]['field_name'] = $field_name; else: $_POST['fields'][$k]['field_name'] = $old_fields[$k]['field_name']; endif; $field_names[$k] = $field_name; $field_nicenames[$field_name] = $v['name']; # Controlla la presenza di subs, rimuove quelli vuoti e li riordina numericamente if (is_array($_POST['fields'][$k]['subs'])): $s=0; foreach($_POST['fields'][$k]['subs'] as $k2=>$v2){ $v2 = trim($v2); unset ($_POST['fields'][$k]['subs'][$k2]); if (!empty($v2)): $s++; $_POST['fields'][$k]['subs'][$s]=ltrim($v2); endif; } endif; # Rimuove il flag di update unset ($_POST['fields'][$k]['update']); } foreach ( array_count_values($field_names) as $k=>$v){ # Opzione doppione if ($v>1): $error = __('ERROR: Field "', 'dregister'); $error.=$field_nicenames[$k]; $error.=__('" is already present. Try changing the name.','dregister'); endif; } update_option('dr_fields', $_POST['fields']); update_option('dr_force_first_name',$_POST['dr_force_first_name']); update_option('dr_force_last_name',$_POST['dr_force_last_name']); endif; $content = dr_compile(ABSPATH_PLUGINDIR.'/inc/options_list.php'); $json_output = json_encode( array('error'=>$error,'content'=>$content)); echo $json_output; ?>