diff --git a/plugins/fipfcard_plugin/php/user_infos.php b/plugins/fipfcard_plugin/php/user_infos.php index 6aa8669..9b23e3a 100644 --- a/plugins/fipfcard_plugin/php/user_infos.php +++ b/plugins/fipfcard_plugin/php/user_infos.php @@ -7,7 +7,55 @@ if (!defined('ABSPATH')) { die('You can not access this file!'); } +function extract_if_array_size_one_CIPF($value) { + if (is_array($value) && count($value) === 1) + return reset($value); + return $value; +} +function merge_two_arrays_CIPF($array1, $array2) { + $new_array = $array1; + foreach ($array2 as $key2 => $value2) { + $value = extract_if_array_size_one_CIPF($value2); + // if key was not in first array, add the new element to it + if (!isset($new_array[$key2])) { + $new_array[$key2] = $value2; + continue; + } + // if key was in first array, add both in an array + $value1 = extract_if_array_size_one_CIPF($new_array[$key2]); + if (empty($value1)) + $new_array[$key2] = $value2; + else if (empty($value2)) + $new_array[$key2] = $value1; + else { + $new_value = array($value1, $value2); + $new_array[$key] = $new_value; + } + } + return $new_array; +} + + +function output_list_front_CIPF($array) { + $output = ''; + return $output; +} /* @@ -28,24 +76,8 @@ function current_user_infos_CIPF($atts) { if (empty($atts)) { $user_properties = (array) get_userdata($current_user->ID)->data; $user_metas = get_user_meta($current_user->ID); - $user_infos = array_merge($user_metas, $user_properties); - $output = ''; - return $output; + $user_infos = merge_two_arrays_CIPF($user_metas, $user_properties); + return output_list_front_CIPF($user_infos); } $query = $atts[0]; $output = $current_user->$query;