Plugin Directory

Changeset 3337961


Ignore:
Timestamp:
08/01/2025 06:03:43 PM (8 months ago)
Author:
Sarah_Dev
Message:

2.3

  • Released 8/1/25
  • Successfully tested against WordPress 6.8.2
  • Fixed: Eliminated PHP warning messages by updating deprecated PHP code to ensure compatibilty with PHP 8.1
  • Fixed: Corrected display problem when formatting multiple checkboxes
  • Enhancement: Added several new date format options. You can now configure a date field to show just the numeric year (e.g. 2025),

the month and day (e.g. August 1) or the day and month (1 August).

  • Enhancement: Added a country code format option. You can now configure a text field containing a 2 or 3 char country code to show the full country name.
Location:
dynamic-user-directory/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • dynamic-user-directory/trunk/dynamic-user-directory.php

    r3225611 r3337961  
    33* Plugin URI: http://sgcustomwebsolutions.com
    44* Description: Creates an alphabetically sorted user directory that will format and display specified user meta data such as name, address, and email.
    5 * Version: 2.2
     5* Version: 2.3
    66* Author: Sarah Giles
    77* Author URI: http://sgcustomwebsolutions.com
  • dynamic-user-directory/trunk/includes/admin.php

    r3225611 r3337961  
    119119        'user_directory_zip' => '',
    120120        'user_directory_country' => '',
     121        'user_directory_meta_srch_type_lname' => '',
    121122        'user_directory_num_meta_srch_flds' => '5',
    122123        'user_directory_meta_srch_field_1' => '',
     
    496497        }
    497498    }
    498     //else if(isset($_POST['delete']) && $_POST['delete'] === 'Delete')
    499499    else if(isset($_POST['dud_delete_dir_instance']))
    500500    {
    501501        $load_instance_name = $_POST['dud_delete_dir_instance'];
    502502        $deleted_instance = false;
    503        
    504         if(strtoupper($load_instance_name) === "ORIGINAL")
    505         {
    506             $dud_multi_instances_err = "The original settings cannot be deleted!";
     503           
     504        for($inc=0; $inc <= 99; $inc++)
     505        {         
     506            if( $dud_tmp_options = get_option( 'dud_plugin_settings_' . ($inc+1) ) )
     507            {
     508                foreach($load_instance_name as $instance=>$name)
     509                {
     510                    if($name === $dud_tmp_options['dud_instance_name'])
     511                    {
     512                        if(strtoupper($name) === "ORIGINAL")
     513                        {
     514                            $dud_multi_instances_err = "The original settings cannot be deleted!";
     515                            break;
     516                        }                           
     517                        else
     518                            delete_option('dud_plugin_settings_' . ($inc+1));
     519                       
     520                        $deleted_instance = true;
     521                        $dud_multi_instances_err = 'The selected directory instances have been deleted.';
     522                        break;
     523                    }
     524                }                   
     525            }
    507526        }
    508         else
    509         {
    510            
    511             for($inc=0; $inc <= 99; $inc++)
    512             {         
    513                 if( $dud_tmp_options = get_option( 'dud_plugin_settings_' . ($inc+1) ) )
    514                 {
    515                     foreach($load_instance_name as $instance=>$name)
    516                     {
    517                         if($name === $dud_tmp_options['dud_instance_name'])
    518                         {
    519                             delete_option('dud_plugin_settings_' . ($inc+1));
    520                             $deleted_instance = true;
    521                             $dud_multi_instances_err = 'The selected directory instances have been deleted.';
    522                             break;
    523                         }
    524                     }                   
    525                 }
    526             }
    527            
    528             if(!$deleted_instance)
    529                 $dud_multi_instances_err = 'Could not delete instance ' . $load_instance_name . ' because it could not be found!';
    530         }
     527       
     528        if(!$deleted_instance)
     529            $dud_multi_instances_err = 'Could not delete instance ' . $load_instance_name . ' because it could not be found!';
     530       
    531531    }
    532532    else if($updated_settings = get_option('dud_updated_settings'))
     
    19721972                            <OPTION value="38" <?php echo (!empty($dud_options['dud_fld_format_' . $inc]) && $dud_options['dud_fld_format_' . $inc] == "38") ? "SELECTED" : ""; ?>>Hide Hyphens (All Lowercase)</OPTION>
    19731973                            <OPTION value="34" <?php echo (!empty($dud_options['dud_fld_format_' . $inc]) && $dud_options['dud_fld_format_' . $inc] == "34") ? "SELECTED" : ""; ?>>Image (Field should be a URL)</OPTION>
     1974                            <OPTION value="58" <?php echo (!empty($dud_options['dud_fld_format_' . $inc]) && $dud_options['dud_fld_format_' . $inc] == "58") ? "SELECTED" : ""; ?>>Country Code => Convert to Country Name</OPTION>
    19741975                            <OPTION value="6" <?php echo (!empty($dud_options['dud_fld_format_' . $inc]) && $dud_options['dud_fld_format_' . $inc] == "6") ? "SELECTED" : ""; ?>>Phone Number</OPTION>
    19751976                            <OPTION value="31" <?php echo (!empty($dud_options['dud_fld_format_' . $inc]) && $dud_options['dud_fld_format_' . $inc] == "31") ? "SELECTED" : ""; ?>>Phone Number (Australian)</OPTION>               
     
    20132014                            <OPTION value="22" <?php echo (!empty($dud_options['dud_fld_format_' . $inc]) && $dud_options['dud_fld_format_' . $inc] == "22") ? "SELECTED" : ""; ?>>Date => mm/dd/yy</OPTION>
    20142015                            <OPTION value="23" <?php echo (!empty($dud_options['dud_fld_format_' . $inc]) && $dud_options['dud_fld_format_' . $inc] == "23") ? "SELECTED" : ""; ?>>Date => mm/dd/yyyy</OPTION>
     2016                            <OPTION value="60" <?php echo (!empty($dud_options['dud_fld_format_' . $inc]) && $dud_options['dud_fld_format_' . $inc] == "60") ? "SELECTED" : ""; ?>>Date => yyyy (e.g. 2025)</OPTION>
     2017                            <OPTION value="61" <?php echo (!empty($dud_options['dud_fld_format_' . $inc]) && $dud_options['dud_fld_format_' . $inc] == "61") ? "SELECTED" : ""; ?>>Date => Month Day (e.g. January 24)</OPTION>
     2018                            <OPTION value="62" <?php echo (!empty($dud_options['dud_fld_format_' . $inc]) && $dud_options['dud_fld_format_' . $inc] == "62") ? "SELECTED" : ""; ?>>Date => Day Month (e.g. 24 January)</OPTION>
     2019                           
    20152020                        </select>
    20162021                    </td>
     
    24582463                    </select>
    24592464                </td>
    2460                 <td>Choose whether to show the user's Last Name / Display Name as a search field. To search on first name, simply enter the standard WordPress "first_name" meta key name below.</td>
     2465                <td>Choose whether to show the user's Last Name/Display Name as a search field. To search on first name, simply enter the standard WordPress "first_name" meta key name below.</td>
     2466                <td></td>
     2467            </tr>
     2468            <tr>
     2469                <td><b>Search Type</b></td>
     2470                <td>
     2471                    <select class="dd-menu-no-chk-box-width" name="<?php echo $dud_option_name;?>[user_directory_meta_srch_type_lname]" id="user_directory_meta_srch_type_lname">
     2472                        <OPTION value="contains" <?php echo (!empty($dud_options['user_directory_meta_srch_type_lname']) && $dud_options['user_directory_meta_srch_type_lname'] == "contains") ? "SELECTED" : ""; ?>>Contains search value</OPTION>
     2473                        <OPTION value="starts" <?php echo (!empty($dud_options['user_directory_meta_srch_type_lname']) && $dud_options['user_directory_meta_srch_type_lname'] == "starts") ? "SELECTED" : ""; ?>>Starts with search value</OPTION>
     2474                        <OPTION value="exact" <?php echo (!empty($dud_options['user_directory_meta_srch_type_lname']) && $dud_options['user_directory_meta_srch_type_lname'] == "exact") ? "SELECTED" : ""; ?>>Matches search value</OPTION>
     2475                    </select>
     2476                </td>
     2477                <td>Choose what type of search to apply to the Last Name or Dispay Name field.</td>
    24612478                <td></td>
    24622479            </tr>
  • dynamic-user-directory/trunk/includes/core.php

    r3158437 r3337961  
    10351035            if($dud_user_srch_name)
    10361036            {                   
    1037                  if ((strpos(strtoupper ($user_last_name), strtoupper ($dud_user_srch_name)) === false))
     1037                 if ((strpos(strtoupper (handle_special_chars($user_last_name)), strtoupper (handle_special_chars($dud_user_srch_name))) === false))
    10381038                 {
    10391039                      continue;
     
    19251925        return "<img class='dud_img' src='" .  $user_meta_fld . "'>";       
    19261926    }
     1927    //*** Country Code ***********************************************
     1928    if(!is_array($user_meta_fld) && $format === "58")
     1929    {
     1930        $countryName = getCountryName($user_meta_fld);
     1931        if(is_null($countryName))
     1932            return "";
     1933        else
     1934            return $countryName;
     1935    }   
    19271936    //*** Phone ************************************************
    19281937    if(!is_array($user_meta_fld) && (($format === "6") || ($format === "31") || ($format === "32") || ($format === "33")))
     
    19451954    //*** Date *************************************************
    19461955    else if(!is_array($user_meta_fld) && ($format === "16" || $format === "17" || $format === "18" || $format === "19"
    1947                                           || $format === "20" || $format === "21" || $format === "22" || $format === "23"))
     1956                                          || $format === "20" || $format === "21" || $format === "22" || $format === "23"
     1957                                          || $format === "60" || $format === "61" || $format === "62"))
    19481958    {
    19491959        if(empty($user_meta_fld)) return "";
     
    20322042                else
    20332043                {
     2044                    if(!is_null($user_meta_fld))
     2045                    {
     2046                        $user_meta_fld = str_replace ( "-", " ", $user_meta_fld);
     2047               
     2048                        if($format === "30") //first letter in caps
     2049                            return ucwords($user_meta_fld);
     2050                        else if ($format === "37") //all caps
     2051                            return strtoupper($user_meta_fld); 
     2052                        else if ($format === "38") //all lower case
     2053                            return strtolower($user_meta_fld);
     2054                    }   
     2055                    else
     2056                        return $user_meta_fld;
     2057                }
     2058            }
     2059            else
     2060            {
     2061               
     2062                if(!is_null($user_meta_fld))
     2063                {
    20342064                    $user_meta_fld = str_replace ( "-", " ", $user_meta_fld);
    2035            
     2065       
    20362066                    if($format === "30") //first letter in caps
    20372067                        return ucwords($user_meta_fld);
     
    20412071                        return strtolower($user_meta_fld); 
    20422072                }
    2043             }
    2044             else
    2045             {
    2046                
    2047                 $user_meta_fld = str_replace ( "-", " ", $user_meta_fld);
    2048        
    2049                 if($format === "30") //first letter in caps
    2050                     return ucwords($user_meta_fld);
    2051                 else if ($format === "37") //all caps
    2052                     return strtoupper($user_meta_fld); 
    2053                 else if ($format === "38") //all lower case
    2054                     return strtolower($user_meta_fld); 
     2073                else
     2074                    return $user_meta_fld;
    20552075               
    20562076            }
     
    20702090        $non_array_numeric_idx = false;
    20712091               
    2072         if(strlen($user_meta_fld) > 2 && substr($user_meta_fld, 0, 2) === "a:")
    2073         {
    2074             $list_items = unserialize(stripslashes($user_meta_fld));
     2092        if(!is_null($user_meta_fld) && strlen($user_meta_fld) > 2 && substr($user_meta_fld, 0, 2) === "a:")
     2093        {
     2094            $list_items = unserialize(stripslashes_deep($user_meta_fld));
    20752095           
    20762096            if(empty($list_items)) return "";
     
    22192239                                        foreach($line->options as $option_key => $option_val) {
    22202240                                           
    2221                                           $no_hyphens = str_replace ( "-", " ", $user_meta_fld[$met]);
     2241                                          $no_hyphens = str_replace ( "-", " ", $value);
    22222242                                           
    22232243                                          //echo "Line Option Val: " . $option_val->option_name . ", Meta Fld Val: " . $no_hyphens . "<BR>";
     
    23192339                    else                               //add the item to the meta fld var
    23202340                    {
    2321                        
    2322                         //echo "Format var is $format...<BR>";
     2341                        $value = $user_meta_fld[$met];
    23232342                       
    23242343                        //MemberPress ONLY: Pull the corresponding fld label for all "Show Label" format options
     
    24192438            $parsed_val = apply_filters('dud_format_key_val_array', $parsed_val, $user_meta_fld, $format);
    24202439       
    2421         return stripslashes($parsed_val);
    2422     }
    2423    
    2424     return stripslashes($user_meta_fld);   
     2440        return stripslashes_deep($parsed_val);
     2441    }
     2442   
     2443    return stripslashes_deep($user_meta_fld);   
    24252444}
    24262445
     
    25782597        else if($format === "23")
    25792598            return date_format($date, 'm/d/Y');
    2580             //output: 03/24/2019           
     2599            //output: 03/24/2019   
     2600        else if($format === "60")
     2601            return date_format($date, 'Y');
     2602            //output: 2019
     2603        else if($format === "61")
     2604        {
     2605            $mth = date_format($date, 'F');
     2606            $day = date_format($date, 'd');
     2607           
     2608            return $mth . " " . $day;
     2609        }
     2610        else if($format === "62")
     2611        {
     2612            $mth = date_format($date, 'F');
     2613            $day = date_format($date, 'd');
     2614           
     2615            return $day . " " . $mth;
     2616        }           
    25812617        else   
    25822618            return $user_meta_fld;
     
    26082644        else if($format === "22")
    26092645            return date_format($dud_datetime, 'm/d/y');
    2610                 //output: 03/24/19
     2646            //output: 03/24/19
    26112647        else if($format === "23")
    26122648            return date_format($dud_datetime, 'm/d/Y');
    26132649            //output: 03/24/2019
     2650        else if($format === "60")
     2651            return date_format($dud_datetime, 'Y');
     2652            //output: 2019
     2653        else if($format === "61")
     2654        {
     2655            $mth = date_format($dud_datetime, 'F');
     2656            $day = date_format($dud_datetime, 'd');
     2657           
     2658            return $mth . " " . $day;
     2659        }
     2660        else if($format === "62")
     2661        {
     2662            $mth = date_format($dud_datetime, 'F');
     2663            $day = date_format($dud_datetime, 'd');
     2664           
     2665            return $day . " " . $mth;
     2666        }           
    26142667        else   
    26152668            return $user_meta_fld;
     
    38033856}
    38043857
     3858function handle_special_chars($string){
     3859    $string = str_replace(array('[\', \']'), '', $string);
     3860    $string = preg_replace('/\[.*\]/U', '', $string);
     3861    $string = preg_replace('/&(amp;)?#?[a-z0-9]+;/i', '-', $string);
     3862    $string = htmlentities($string, ENT_COMPAT, 'utf-8');
     3863    $string = preg_replace('/&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);/i', '\\1', $string );
     3864    $string = preg_replace(array('/[^a-z0-9]/i', '/[-]+/') , '-', $string);
     3865    return strtolower(trim($string, '-'));
     3866}
     3867
    38053868function dud_cnt_last_name_srch_results($uids, $dud_user_srch_name, $user_directory_sort)
    38063869{
     
    38233886        if($dud_user_srch_name)
    38243887        {
    3825              if (!(strpos(strtoupper ($user_last_name), strtoupper ($dud_user_srch_name)) === 0))
     3888             if ((strpos(strtoupper (handle_special_chars($user_last_name)), strtoupper (handle_special_chars($dud_user_srch_name))) === false))
    38263889             {           
    38273890                  continue;
  • dynamic-user-directory/trunk/includes/member_plugins_compatibility.php

    r2787766 r3337961  
    497497    return $user_directory_meta_flds_tmp;
    498498}
     499
     500function getCountryName($code) {
     501   
     502   // Convert input to uppercase to handle case-insensitive codes
     503    if(is_null($code)) return null;
     504   
     505    $code = strtoupper(trim($code));
     506   
     507    // Array mapping ISO 3166-1 alpha-2 and alpha-3 codes to country names
     508    $countries = [
     509        'AD' => ['name' => 'Andorra', 'alpha3' => 'AND'],
     510        'AE' => ['name' => 'United Arab Emirates', 'alpha3' => 'ARE'],
     511        'AF' => ['name' => 'Afghanistan', 'alpha3' => 'AFG'],
     512        'AG' => ['name' => 'Antigua and Barbuda', 'alpha3' => 'ATG'],
     513        'AI' => ['name' => 'Anguilla', 'alpha3' => 'AIA'],
     514        'AL' => ['name' => 'Albania', 'alpha3' => 'ALB'],
     515        'AM' => ['name' => 'Armenia', 'alpha3' => 'ARM'],
     516        'AO' => ['name' => 'Angola', 'alpha3' => 'AGO'],
     517        'AQ' => ['name' => 'Antarctica', 'alpha3' => 'ATA'],
     518        'AR' => ['name' => 'Argentina', 'alpha3' => 'ARG'],
     519        'AS' => ['name' => 'American Samoa', 'alpha3' => 'ASM'],
     520        'AT' => ['name' => 'Austria', 'alpha3' => 'AUT'],
     521        'AU' => ['name' => 'Australia', 'alpha3' => 'AUS'],
     522        'AW' => ['name' => 'Aruba', 'alpha3' => 'ABW'],
     523        'AX' => ['name' => 'Åland Islands', 'alpha3' => 'ALA'],
     524        'AZ' => ['name' => 'Azerbaijan', 'alpha3' => 'AZE'],
     525        'BA' => ['name' => 'Bosnia and Herzegovina', 'alpha3' => 'BIH'],
     526        'BB' => ['name' => 'Barbados', 'alpha3' => 'BRB'],
     527        'BD' => ['name' => 'Bangladesh', 'alpha3' => 'BGD'],
     528        'BE' => ['name' => 'Belgium', 'alpha3' => 'BEL'],
     529        'BF' => ['name' => 'Burkina Faso', 'alpha3' => 'BFA'],
     530        'BG' => ['name' => 'Bulgaria', 'alpha3' => 'BGR'],
     531        'BH' => ['name' => 'Bahrain', 'alpha3' => 'BHR'],
     532        'BI' => ['name' => 'Burundi', 'alpha3' => 'BDI'],
     533        'BJ' => ['name' => 'Benin', 'alpha3' => 'BEN'],
     534        'BL' => ['name' => 'Saint Barthélemy', 'alpha3' => 'BLM'],
     535        'BM' => ['name' => 'Bermuda', 'alpha3' => 'BMU'],
     536        'BN' => ['name' => 'Brunei Darussalam', 'alpha3' => 'BRN'],
     537        'BO' => ['name' => 'Bolivia', 'alpha3' => 'BOL'],
     538        'BQ' => ['name' => 'Bonaire, Sint Eustatius and Saba', 'alpha3' => 'BES'],
     539        'BR' => ['name' => 'Brazil', 'alpha3' => 'BRA'],
     540        'BS' => ['name' => 'Bahamas', 'alpha3' => 'BHS'],
     541        'BT' => ['name' => 'Bhutan', 'alpha3' => 'BTN'],
     542        'BV' => ['name' => 'Bouvet Island', 'alpha3' => 'BVT'],
     543        'BW' => ['name' => 'Botswana', 'alpha3' => 'BWA'],
     544        'BY' => ['name' => 'Belarus', 'alpha3' => 'BLR'],
     545        'BZ' => ['name' => 'Belize', 'alpha3' => 'BLZ'],
     546        'CA' => ['name' => 'Canada', 'alpha3' => 'CAN'],
     547        'CC' => ['name' => 'Cocos (Keeling) Islands', 'alpha3' => 'CCK'],
     548        'CD' => ['name' => 'Congo, Democratic Republic of the', 'alpha3' => 'COD'],
     549        'CF' => ['name' => 'Central African Republic', 'alpha3' => 'CAF'],
     550        'CG' => ['name' => 'Congo', 'alpha3' => 'COG'],
     551        'CH' => ['name' => 'Switzerland', 'alpha3' => 'CHE'],
     552        'CI' => ['name' => 'Côte d\'Ivoire', 'alpha3' => 'CIV'],
     553        'CK' => ['name' => 'Cook Islands', 'alpha3' => 'COK'],
     554        'CL' => ['name' => 'Chile', 'alpha3' => 'CHL'],
     555        'CM' => ['name' => 'Cameroon', 'alpha3' => 'CMR'],
     556        'CN' => ['name' => 'China', 'alpha3' => 'CHN'],
     557        'CO' => ['name' => 'Colombia', 'alpha3' => 'COL'],
     558        'CR' => ['name' => 'Costa Rica', 'alpha3' => 'CRI'],
     559        'CU' => ['name' => 'Cuba', 'alpha3' => 'CUB'],
     560        'CV' => ['name' => 'Cabo Verde', 'alpha3' => 'CPV'],
     561        'CW' => ['name' => 'Curaçao', 'alpha3' => 'CUW'],
     562        'CX' => ['name' => 'Christmas Island', 'alpha3' => 'CXR'],
     563        'CY' => ['name' => 'Cyprus', 'alpha3' => 'CYP'],
     564        'CZ' => ['name' => 'Czechia', 'alpha3' => 'CZE'],
     565        'DE' => ['name' => 'Germany', 'alpha3' => 'DEU'],
     566        'DJ' => ['name' => 'Djibouti', 'alpha3' => 'DJI'],
     567        'DK' => ['name' => 'Denmark', 'alpha3' => 'DNK'],
     568        'DM' => ['name' => 'Dominica', 'alpha3' => 'DMA'],
     569        'DO' => ['name' => 'Dominican Republic', 'alpha3' => 'DOM'],
     570        'DZ' => ['name' => 'Algeria', 'alpha3' => 'DZA'],
     571        'EC' => ['name' => 'Ecuador', 'alpha3' => 'ECU'],
     572        'EE' => ['name' => 'Estonia', 'alpha3' => 'EST'],
     573        'EG' => ['name' => 'Egypt', 'alpha3' => 'EGY'],
     574        'EH' => ['name' => 'Western Sahara', 'alpha3' => 'ESH'],
     575        'ER' => ['name' => 'Eritrea', 'alpha3' => 'ERI'],
     576        'ES' => ['name' => 'Spain', 'alpha3' => 'ESP'],
     577        'ET' => ['name' => 'Ethiopia', 'alpha3' => 'ETH'],
     578        'FI' => ['name' => 'Finland', 'alpha3' => 'FIN'],
     579        'FJ' => ['name' => 'Fiji', 'alpha3' => 'FJI'],
     580        'FK' => ['name' => 'Falkland Islands (Malvinas)', 'alpha3' => 'FLK'],
     581        'FM' => ['name' => 'Micronesia (Federated States of)', 'alpha3' => 'FSM'],
     582        'FO' => ['name' => 'Faroe Islands', 'alpha3' => 'FRO'],
     583        'FR' => ['name' => 'France', 'alpha3' => 'FRA'],
     584        'GA' => ['name' => 'Gabon', 'alpha3' => 'GAB'],
     585        'GB' => ['name' => 'United Kingdom', 'alpha3' => 'GBR'],
     586        'GD' => ['name' => 'Grenada', 'alpha3' => 'GRD'],
     587        'GE' => ['name' => 'Georgia', 'alpha3' => 'GEO'],
     588        'GF' => ['name' => 'French Guiana', 'alpha3' => 'GUF'],
     589        'GG' => ['name' => 'Guernsey', 'alpha3' => 'GGY'],
     590        'GH' => ['name' => 'Ghana', 'alpha3' => 'GHA'],
     591        'GI' => ['name' => 'Gibraltar', 'alpha3' => 'GIB'],
     592        'GL' => ['name' => 'Greenland', 'alpha3' => 'GRL'],
     593        'GM' => ['name' => 'Gambia', 'alpha3' => 'GMB'],
     594        'GN' => ['name' => 'Guinea', 'alpha3' => 'GIN'],
     595        'GP' => ['name' => 'Guadeloupe', 'alpha3' => 'GLP'],
     596        'GQ' => ['name' => 'Equatorial Guinea', 'alpha3' => 'GNQ'],
     597        'GR' => ['name' => 'Greece', 'alpha3' => 'GRC'],
     598        'GS' => ['name' => 'South Georgia and the South Sandwich Islands', 'alpha3' => 'SGS'],
     599        'GT' => ['name' => 'Guatemala', 'alpha3' => 'GTM'],
     600        'GU' => ['name' => 'Guam', 'alpha3' => 'GUM'],
     601        'GW' => ['name' => 'Guinea-Bissau', 'alpha3' => 'GNB'],
     602        'GY' => ['name' => 'Guyana', 'alpha3' => 'GUY'],
     603        'HK' => ['name' => 'Hong Kong', 'alpha3' => 'HKG'],
     604        'HM' => ['name' => 'Heard Island and McDonald Islands', 'alpha3' => 'HMD'],
     605        'HN' => ['name' => 'Honduras', 'alpha3' => 'HND'],
     606        'HR' => ['name' => 'Croatia', 'alpha3' => 'HRV'],
     607        'HT' => ['name' => 'Haiti', 'alpha3' => 'HTI'],
     608        'HU' => ['name' => 'Hungary', 'alpha3' => 'HUN'],
     609        'ID' => ['name' => 'Indonesia', 'alpha3' => 'IDN'],
     610        'IE' => ['name' => 'Ireland', 'alpha3' => 'IRL'],
     611        'IL' => ['name' => 'Israel', 'alpha3' => 'ISR'],
     612        'IM' => ['name' => 'Isle of Man', 'alpha3' => 'IMN'],
     613        'IN' => ['name' => 'India', 'alpha3' => 'IND'],
     614        'IO' => ['name' => 'British Indian Ocean Territory', 'alpha3' => 'IOT'],
     615        'IQ' => ['name' => 'Iraq', 'alpha3' => 'IRQ'],
     616        'IR' => ['name' => 'Iran', 'alpha3' => 'IRN'],
     617        'IS' => ['name' => 'Iceland', 'alpha3' => 'ISL'],
     618        'IT' => ['name' => 'Italy', 'alpha3' => 'ITA'],
     619        'JE' => ['name' => 'Jersey', 'alpha3' => 'JEY'],
     620        'JM' => ['name' => 'Jamaica', 'alpha3' => 'JAM'],
     621        'JO' => ['name' => 'Jordan', 'alpha3' => 'JOR'],
     622        'JP' => ['name' => 'Japan', 'alpha3' => 'JPN'],
     623        'KE' => ['name' => 'Kenya', 'alpha3' => 'KEN'],
     624        'KG' => ['name' => 'Kyrgyzstan', 'alpha3' => 'KGZ'],
     625        'KH' => ['name' => 'Cambodia', 'alpha3' => 'KHM'],
     626        'KI' => ['name' => 'Kiribati', 'alpha3' => 'KIR'],
     627        'KM' => ['name' => 'Comoros', 'alpha3' => 'COM'],
     628        'KN' => ['name' => 'Saint Kitts and Nevis', 'alpha3' => 'KNA'],
     629        'KP' => ['name' => 'North Korea', 'alpha3' => 'PRK'],
     630        'KR' => ['name' => 'South Korea', 'alpha3' => 'KOR'],
     631        'KW' => ['name' => 'Kuwait', 'alpha3' => 'KWT'],
     632        'KY' => ['name' => 'Cayman Islands', 'alpha3' => 'CYM'],
     633        'KZ' => ['name' => 'Kazakhstan', 'alpha3' => 'KAZ'],
     634        'LA' => ['name' => 'Laos', 'alpha3' => 'LAO'],
     635        'LB' => ['name' => 'Lebanon', 'alpha3' => 'LBN'],
     636        'LC' => ['name' => 'Saint Lucia', 'alpha3' => 'LCA'],
     637        'LI' => ['name' => 'Liechtenstein', 'alpha3' => 'LIE'],
     638        'LK' => ['name' => 'Sri Lanka', 'alpha3' => 'LKA'],
     639        'LR' => ['name' => 'Liberia', 'alpha3' => 'LBR'],
     640        'LX' => ['name' => 'Luxembourg', 'alpha3' => 'LUX'],
     641        'LT' => ['name' => 'Lithuania', 'alpha3' => 'LTU'],
     642        'LU' => ['name' => 'Luxembourg', 'alpha3' => 'LUX'],
     643        'LV' => ['name' => 'Latvia', 'alpha3' => 'LVA'],
     644        'LY' => ['name' => 'Libya', 'alpha3' => 'LBY'],
     645        'MA' => ['name' => 'Morocco', 'alpha3' => 'MAR'],
     646        'MC' => ['name' => 'Monaco', 'alpha3' => 'MCO'],
     647        'MD' => ['name' => 'Moldova', 'alpha3' => 'MDA'],
     648        'ME' => ['name' => 'Montenegro', 'alpha3' => 'MNE'],
     649        'MF' => ['name' => 'Saint Martin (French part)', 'alpha3' => 'MAF'],
     650        'MG' => ['name' => 'Madagascar', 'alpha3' => 'MDG'],
     651        'MH' => ['name' => 'Marshall Islands', 'alpha3' => 'MHL'],
     652        'MK' => ['name' => 'North Macedonia', 'alpha3' => 'MKD'],
     653        'ML' => ['name' => 'Mali', 'alpha3' => 'MLI'],
     654        'MM' => ['name' => 'Myanmar', 'alpha3' => 'MMR'],
     655        'MN' => ['name' => 'Mongolia', 'alpha3' => 'MNG'],
     656        'MO' => ['name' => 'Macao', 'alpha3' => 'MAC'],
     657        'MP' => ['name' => 'Northern Mariana Islands', 'alpha3' => 'MNP'],
     658        'MQ' => ['name' => 'Martinique', 'alpha3' => 'MTQ'],
     659        'MR' => ['name' => 'Mauritania', 'alpha3' => 'MRT'],
     660        'MS' => ['name' => 'Montserrat', 'alpha3' => 'MSR'],
     661        'MT' => ['name' => 'Malta', 'alpha3' => 'MLT'],
     662        'MU' => ['name' => 'Mauritius', 'alpha3' => 'MUS'],
     663        'MV' => ['name' => 'Maldives', 'alpha3' => 'MDV'],
     664        'MW' => ['name' => 'Malawi', 'alpha3' => 'MWI'],
     665        'MX' => ['name' => 'Mexico', 'alpha3' => 'MEX'],
     666        'MY' => ['name' => 'Malaysia', 'alpha3' => 'MYS'],
     667        'MZ' => ['name' => 'Mozambique', 'alpha3' => 'MOZ'],
     668        'NA' => ['name' => 'Namibia', 'alpha3' => 'NAM'],
     669        'NC' => ['name' => 'New Caledonia', 'alpha3' => 'NCL'],
     670        'NE' => ['name' => 'Niger', 'alpha3' => 'NER'],
     671        'NF' => ['name' => 'Norfolk Island', 'alpha3' => 'NFK'],
     672        'NG' => ['name' => 'Nigeria', 'alpha3' => 'NGA'],
     673        'NI' => ['name' => 'Nicaragua', 'alpha3' => 'NIC'],
     674        'NL' => ['name' => 'Netherlands', 'alpha3' => 'NLD'],
     675        'NO' => ['name' => 'Norway', 'alpha3' => 'NOR'],
     676        'NP' => ['name' => 'Nepal', 'alpha3' => 'NPL'],
     677        'NR' => ['name' => 'Nauru', 'alpha3' => 'NRU'],
     678        'NU' => ['name' => 'Niue', 'alpha3' => 'NIU'],
     679        'NZ' => ['name' => 'New Zealand', 'alpha3' => 'NZL'],
     680        'OM' => ['name' => 'Oman', 'alpha3' => 'OMN'],
     681        'PA' => ['name' => 'Panama', 'alpha3' => 'PAN'],
     682        'PE' => ['name' => 'Peru', 'alpha3' => 'PER'],
     683        'PF' => ['name' => 'French Polynesia', 'alpha3' => 'PYF'],
     684        'PG' => ['name' => 'Papua New Guinea', 'alpha3' => 'PNG'],
     685        'PH' => ['name' => 'Philippines', 'alpha3' => 'PHL'],
     686        'PK' => ['name' => 'Pakistan', 'alpha3' => 'PAK'],
     687        'PL' => ['name' => 'Poland', 'alpha3' => 'POL'],
     688        'PM' => ['name' => 'Saint Pierre and Miquelon', 'alpha3' => 'SPM'],
     689        'PN' => ['name' => 'Pitcairn', 'alpha3' => 'PCN'],
     690        'PR' => ['name' => 'Puerto Rico', 'alpha3' => 'PRI'],
     691        'PS' => ['name' => 'Palestine, State of', 'alpha3' => 'PSE'],
     692        'PT' => ['name' => 'Portugal', 'alpha3' => 'PRT'],
     693        'PW' => ['name' => 'Palau', 'alpha3' => 'PLW'],
     694        'PY' => ['name' => 'Paraguay', 'alpha3' => 'PRY'],
     695        'QA' => ['name' => 'Qatar', 'alpha3' => 'QAT'],
     696        'RE' => ['name' => 'Réunion', 'alpha3' => 'REU'],
     697        'RO' => ['name' => 'Romania', 'alpha3' => 'ROU'],
     698        'RS' => ['name' => 'Serbia', 'alpha3' => 'SRB'],
     699        'RU' => ['name' => 'Russia', 'alpha3' => 'RUS'],
     700        'RW' => ['name' => 'Rwanda', 'alpha3' => 'RWA'],
     701        'SA' => ['name' => 'Saudi Arabia', 'alpha3' => 'SAU'],
     702        'SB' => ['name' => 'Solomon Islands', 'alpha3' => 'SLB'],
     703        'SC' => ['name' => 'Seychelles', 'alpha3' => 'SYC'],
     704        'SD' => ['name' => 'Sudan', 'alpha3' => 'SDN'],
     705        'SE' => ['name' => 'Sweden', 'alpha3' => 'SWE'],
     706        'SG' => ['name' => 'Singapore', 'alpha3' => 'SGP'],
     707        'SH' => ['name' => 'Saint Helena, Ascension and Tristan da Cunha', 'alpha3' => 'SHN'],
     708        'SI' => ['name' => 'Slovenia', 'alpha3' => 'SVN'],
     709        'SJ' => ['name' => 'Svalbard and Jan Mayen', 'alpha3' => 'SJM'],
     710        'SK' => ['name' => 'Slovakia', 'alpha3' => 'SVK'],
     711        'SL' => ['name' => 'Sierra Leone', 'alpha3' => 'SLE'],
     712        'SM' => ['name' => 'San Marino', 'alpha3' => 'SMR'],
     713        'SN' => ['name' => 'Senegal', 'alpha3' => 'SEN'],
     714        'SO' => ['name' => 'Somalia', 'alpha3' => 'SOM'],
     715        'SR' => ['name' => 'Suriname', 'alpha3' => 'SUR'],
     716        'SS' => ['name' => 'South Sudan', 'alpha3' => 'SSD'],
     717        'ST' => ['name' => 'Sao Tome and Principe', 'alpha3' => 'STP'],
     718        'SV' => ['name' => 'El Salvador', 'alpha3' => 'SLV'],
     719        'SX' => ['name' => 'Sint Maarten (Dutch part)', 'alpha3' => 'SXM'],
     720        'SY' => ['name' => 'Syria', 'alpha3' => 'SYR'],
     721        'SZ' => ['name' => 'Eswatini', 'alpha3' => 'SWZ'],
     722        'TC' => ['name' => 'Turks and Caicos Islands', 'alpha3' => 'TCA'],
     723        'TD' => ['name' => 'Chad', 'alpha3' => 'TCD'],
     724        'TF' => ['name' => 'French Southern Territories', 'alpha3' => 'ATF'],
     725        'TG' => ['name' => 'Togo', 'alpha3' => 'TGO'],
     726        'TH' => ['name' => 'Thailand', 'alpha3' => 'THA'],
     727        'TJ' => ['name' => 'Tajikistan', 'alpha3' => 'TJK'],
     728        'TK' => ['name' => 'Tokelau', 'alpha3' => 'TKL'],
     729        'TL' => ['name' => 'Timor-Leste', 'alpha3' => 'TLS'],
     730        'TM' => ['name' => 'Turkmenistan', 'alpha3' => 'TKM'],
     731        'TN' => ['name' => 'Tunisia', 'alpha3' => 'TUN'],
     732        'TO' => ['name' => 'Tonga', 'alpha3' => 'TON'],
     733        'TR' => ['name' => 'Turkey', 'alpha3' => 'TUR'],
     734        'TT' => ['name' => 'Trinidad and Tobago', 'alpha3' => 'TTO'],
     735        'TV' => ['name' => 'Tuvalu', 'alpha3' => 'TUV'],
     736        'TW' => ['name' => 'Taiwan', 'alpha3' => 'TWN'],
     737        'TZ' => ['name' => 'Tanzania', 'alpha3' => 'TZA'],
     738        'UA' => ['name' => 'Ukraine', 'alpha3' => 'UKR'],
     739        'UG' => ['name' => 'Uganda', 'alpha3' => 'UGA'],
     740        'UM' => ['name' => 'United States Minor Outlying Islands', 'alpha3' => 'UMI'],
     741        'US' => ['name' => 'United States', 'alpha3' => 'USA'],
     742        'UY' => ['name' => 'Uruguay', 'alpha3' => 'URY'],
     743        'UZ' => ['name' => 'Uzbekistan', 'alpha3' => 'UZB'],
     744        'VA' => ['name' => 'Holy See', 'alpha3' => 'VAT'],
     745        'VC' => ['name' => 'Saint Vincent and the Grenadines', 'alpha3' => 'VCT'],
     746        'VE' => ['name' => 'Venezuela', 'alpha3' => 'VEN'],
     747        'VG' => ['name' => 'Virgin Islands (British)', 'alpha3' => 'VGB'],
     748        'VI' => ['name' => 'Virgin Islands (U.S.)', 'alpha3' => 'VIR'],
     749        'VN' => ['name' => 'Vietnam', 'alpha3' => 'VNM'],
     750        'VU' => ['name' => 'Vanuatu', 'alpha3' => 'VUT'],
     751        'WF' => ['name' => 'Wallis and Futuna', 'alpha3' => 'WLF'],
     752        'WS' => ['name' => 'Samoa', 'alpha3' => 'WSM'],
     753        'YE' => ['name' => 'Yemen', 'alpha3' => 'YEM'],
     754        'YT' => ['name' => 'Mayotte', 'alpha3' => 'MYT'],
     755        'ZA' => ['name' => 'South Africa', 'alpha3' => 'ZAF'],
     756        'ZM' => ['name' => 'Zambia', 'alpha3' => 'ZMB'],
     757        'ZW' => ['name' => 'Zimbabwe', 'alpha3' => 'ZWE'],
     758    ];
     759
     760    // Check if the code is a 2-character code
     761    if (strlen($code) == 2 && isset($countries[$code])) {
     762        return $countries[$code]['name'];
     763    }
     764
     765    // Check if the code is a 3-character code
     766    if (strlen($code) == 3) {
     767        foreach ($countries as $country) {
     768            if ($country['alpha3'] === $code) {
     769                return $country['name'];
     770            }
     771        }
     772    }
     773
     774    // Return null if the code is invalid
     775    return null;
     776}
     777
  • dynamic-user-directory/trunk/readme.txt

    r3225611 r3337961  
    55Tags: user directory, MemberPress, BuddyPress, member directory, user registration, user meta fields, profile fields, member directory, website directory, directory, user listing, users, members, user profile, user profiles
    66Requires at least: 3.0.1
    7 Tested up to: 6.7.1
    8 Stable tag: 2.2
     7Tested up to: 6.8.2
     8Stable tag: 2.3
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    9898== Changelog ==
    9999
     100= 2.3 =
     101- Released 8/1/25
     102- Successfully tested against WordPress 6.8.2
     103- Fixed: Eliminated PHP warning messages by updating deprecated PHP code to ensure compatibilty with PHP 8.1
     104- Fixed: Corrected display problem when formatting multiple checkboxes
     105- Enhancement: Added several new date format options. You can now configure a date field to show just the numeric year (e.g. 2025),
     106the month and day (e.g. August 1) or the day and month (1 August).
     107- Enhancement: Added a country code format option. You can now configure a text field containing a 2 or 3 char country code to show the full country name.
     108
    100109= 2.2 =
    101110- Released 1/20/25
Note: See TracChangeset for help on using the changeset viewer.