2017-07-26 14:57:52 +03:00
< ? php
namespace um\core ;
// Exit if accessed directly
if ( ! defined ( 'ABSPATH' ) ) exit ;
2018-03-26 01:27:46 +03:00
if ( ! class_exists ( 'um\core\Builtin' ) ) {
2017-07-26 14:57:52 +03:00
2018-03-20 13:24:38 +02:00
/**
* Class Builtin
* @package um\core
*/
class Builtin {
/**
* @var array
*/
public $predefined_fields = array ();
/**
* @var array
*/
var $all_user_fields = array ();
/**
* @var array
*/
var $core_fields = array ();
/**
* Builtin constructor.
*/
function __construct () {
add_action ( 'init' , array ( & $this , 'set_core_fields' ), 1 );
add_action ( 'init' , array ( & $this , 'set_predefined_fields' ), 1 );
add_action ( 'init' , array ( & $this , 'set_custom_fields' ), 1 );
$this -> saved_fields = get_option ( 'um_fields' );
}
/**
* Regular or multi-select/options
*
* @param $field
* @param $attrs
*
* @return bool
*/
function is_dropdown_field ( $field , $attrs ) {
if ( isset ( $attrs [ 'options' ] ) )
return true ;
$fields = $this -> all_user_fields ;
if ( isset ( $fields [ $field ][ 'options' ] ) || ! empty ( $fields [ $field ][ 'custom_dropdown_options_source' ] ) )
return true ;
return false ;
}
/**
* Get a field
*
* @param $field
*
* @return mixed|string
*/
function get_a_field ( $field ) {
$fields = $this -> all_user_fields ;
if ( isset ( $fields [ $field ] ) ) {
return $fields [ $field ];
}
return '' ;
}
/**
* Get specific fields
*
* @param $fields
*
* @return array
*/
function get_specific_fields ( $fields ) {
$fields = explode ( ',' , $fields );
$array = array ();
foreach ( $fields as $field ) {
if ( isset ( $this -> predefined_fields [ $field ] ) ) {
$array [ $field ] = $this -> predefined_fields [ $field ];
}
}
return $array ;
}
/**
* Get specific field
*
* @param $fields
*
* @return array|mixed
*/
function get_specific_field ( $fields ) {
$fields = explode ( ',' , $fields );
$array = array ();
foreach ( $fields as $field ) {
if ( isset ( $this -> predefined_fields [ $field ] ) ) {
$array = $this -> predefined_fields [ $field ];
} elseif ( isset ( $this -> saved_fields [ $field ] ) ) {
$array = $this -> saved_fields [ $field ];
}
}
return $array ;
}
/**
* Checks for a unique field error
*
* @param $key
*
* @return int|string|void
*/
function unique_field_err ( $key ) {
if ( empty ( $key ) ) return __ ( 'Please provide a meta key' , 'ultimate-member' );
if ( isset ( $this -> core_fields [ $key ] ) ) return __ ( 'Your meta key is a reserved core field and cannot be used' , 'ultimate-member' );
if ( isset ( $this -> predefined_fields [ $key ] ) ) return __ ( 'Your meta key is a predefined reserved key and cannot be used' , 'ultimate-member' );
if ( isset ( $this -> saved_fields [ $key ] ) ) return __ ( 'Your meta key already exists in your fields list' , 'ultimate-member' );
if ( ! UM () -> validation () -> safe_string ( $key ) ) return __ ( 'Your meta key contains illegal characters. Please correct it.' , 'ultimate-member' );
return 0 ;
}
/**
* Check date range errors (start date)
*
* @param $date
*
* @return int|string|void
*/
function date_range_start_err ( $date ) {
if ( empty ( $date ) ) return __ ( 'Please provide a date range beginning' , 'ultimate-member' );
if ( ! UM () -> validation () -> validate_date ( $date ) ) return __ ( 'Please enter a valid start date in the date range' , 'ultimate-member' );
return 0 ;
}
/**
* Check date range errors (end date)
*
* @param $date
* @param $start_date
*
* @return int|string|void
*/
function date_range_end_err ( $date , $start_date ) {
if ( empty ( $date ) ) return __ ( 'Please provide a date range end' , 'ultimate-member' );
if ( ! UM () -> validation () -> validate_date ( $date ) ) return __ ( 'Please enter a valid end date in the date range' , 'ultimate-member' );
if ( strtotime ( $date ) <= strtotime ( $start_date ) ) return __ ( 'The end of date range must be greater than the start of date range' , 'ultimate-member' );
return 0 ;
}
/**
* Get a core field attrs
*
* @param $type
*
* @return array|mixed
*/
function get_core_field_attrs ( $type ) {
return ( isset ( $this -> core_fields [ $type ] ) ) ? $this -> core_fields [ $type ] : array ( '' );
}
/**
* Core Fields
*/
function set_core_fields () {
$this -> core_fields = array (
'row' => array (
'name' => 'Row' ,
'in_fields' => false ,
'form_only' => true ,
'conditional_support' => 0 ,
'icon' => 'um-faicon-pencil' ,
'col1' => array ( '_id' , '_background' , '_text_color' , '_padding' , '_margin' , '_border' , '_borderradius' , '_borderstyle' , '_bordercolor' ),
'col2' => array ( '_heading' , '_heading_text' , '_heading_background_color' , '_heading_text_color' , '_icon' , '_icon_color' , '_css_class' ),
),
'text' => array (
'name' => 'Text Box' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_default' , '_min_chars' , '_visibility' ),
'col2' => array ( '_label' , '_placeholder' , '_public' , '_roles' , '_validate' , '_custom_validate' , '_max_chars' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
)
),
'number' => array (
'name' => __ ( 'Number' , 'ultimate-member' ),
'col1' => array ( '_title' , '_metakey' , '_help' , '_default' , '_min' , '_visibility' ),
'col2' => array ( '_label' , '_placeholder' , '_public' , '_roles' , '_validate' , '_custom_validate' , '_max' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
)
),
'textarea' => array (
'name' => 'Textarea' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_height' , '_max_chars' , '_max_words' , '_visibility' ),
'col2' => array ( '_label' , '_placeholder' , '_public' , '_roles' , '_default' , '_html' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
)
),
'select' => array (
'name' => 'Dropdown' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_default' , '_options' , '_visibility' ),
'col2' => array ( '_label' , '_placeholder' , '_public' , '_roles' , '_custom_dropdown_options_source' , '_parent_dropdown_relationship' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
'_options' => array (
'mode' => 'required' ,
'error' => __ ( 'You have not added any choices yet.' , 'ultimate-member' )
),
)
),
'multiselect' => array (
'name' => 'Multi-Select' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_default' , '_options' , '_visibility' ),
'col2' => array ( '_label' , '_placeholder' , '_public' , '_roles' , '_min_selections' , '_max_selections' , '_custom_dropdown_options_source' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
'_options' => array (
'mode' => 'required' ,
'error' => __ ( 'You have not added any choices yet.' , 'ultimate-member' )
),
)
),
'radio' => array (
'name' => 'Radio' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_default' , '_options' , '_visibility' ),
'col2' => array ( '_label' , '_public' , '_roles' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
'_options' => array (
'mode' => 'required' ,
'error' => __ ( 'You have not added any choices yet.' , 'ultimate-member' )
),
)
),
'checkbox' => array (
'name' => 'Checkbox' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_default' , '_options' , '_visibility' ),
'col2' => array ( '_label' , '_public' , '_roles' , '_max_selections' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
'_options' => array (
'mode' => 'required' ,
'error' => __ ( 'You have not added any choices yet.' , 'ultimate-member' )
),
)
),
'url' => array (
'name' => 'URL' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_default' , '_url_text' , '_visibility' ),
'col2' => array ( '_label' , '_placeholder' , '_url_target' , '_url_rel' , '_public' , '_roles' , '_validate' , '_custom_validate' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
)
),
'password' => array (
'name' => 'Password' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_min_chars' , '_max_chars' , '_visibility' ),
'col2' => array ( '_label' , '_placeholder' , '_public' , '_roles' , '_force_good_pass' , '_force_confirm_pass' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
)
),
'image' => array (
'name' => 'Image Upload' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_allowed_types' , '_max_size' , '_crop' , '_visibility' ),
'col2' => array ( '_label' , '_public' , '_roles' , '_upload_text' , '_upload_help_text' , '_button_text' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
'_max_size' => array (
'mode' => 'numeric' ,
'error' => __ ( 'Please enter a valid size' , 'ultimate-member' )
),
)
),
'file' => array (
'name' => 'File Upload' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_allowed_types' , '_max_size' , '_visibility' ),
'col2' => array ( '_label' , '_public' , '_roles' , '_upload_text' , '_upload_help_text' , '_button_text' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
'_max_size' => array (
'mode' => 'numeric' ,
'error' => __ ( 'Please enter a valid size' , 'ultimate-member' )
),
)
),
'date' => array (
'name' => 'Date Picker' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_range' , '_years' , '_years_x' , '_range_start' , '_range_end' , '_visibility' ),
'col2' => array ( '_label' , '_placeholder' , '_public' , '_roles' , '_format' , '_pretty_format' , '_disabled_weekdays' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
'_years' => array (
'mode' => 'numeric' ,
'error' => __ ( 'Number of years is not valid' , 'ultimate-member' )
),
'_range_start' => array (
'mode' => 'range-start' ,
),
'_range_end' => array (
'mode' => 'range-end' ,
),
)
),
'time' => array (
'name' => 'Time Picker' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_format' , '_visibility' ),
'col2' => array ( '_label' , '_placeholder' , '_public' , '_roles' , '_intervals' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
)
),
'rating' => array (
'name' => 'Rating' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_visibility' ),
'col2' => array ( '_label' , '_public' , '_roles' , '_number' , '_default' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
)
),
'block' => array (
'name' => 'Content Block' ,
'col1' => array ( '_title' , '_visibility' ),
'col2' => array ( '_public' , '_roles' ),
'col_full' => array ( '_content' ),
'mce_content' => true ,
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
)
),
'shortcode' => array (
'name' => 'Shortcode' ,
'col1' => array ( '_title' , '_visibility' ),
'col2' => array ( '_public' , '_roles' ),
'col_full' => array ( '_content' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_content' => array (
'mode' => 'required' ,
'error' => __ ( 'You must add a shortcode to the content area' , 'ultimate-member' )
),
)
),
'spacing' => array (
'name' => 'Spacing' ,
'col1' => array ( '_title' , '_visibility' ),
'col2' => array ( '_spacing' ),
'form_only' => true ,
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
)
),
'divider' => array (
'name' => 'Divider' ,
'col1' => array ( '_title' , '_width' , '_divider_text' , '_visibility' ),
'col2' => array ( '_style' , '_color' ),
'form_only' => true ,
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
)
),
'googlemap' => array (
'name' => 'Google Map' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_visibility' ),
'col2' => array ( '_label' , '_placeholder' , '_public' , '_roles' , '_validate' , '_custom_validate' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
)
),
'youtube_video' => array (
'name' => 'YouTube Video' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_visibility' ),
'col2' => array ( '_label' , '_placeholder' , '_public' , '_roles' , '_validate' , '_custom_validate' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
)
),
'vimeo_video' => array (
'name' => 'Vimeo Video' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_visibility' ),
'col2' => array ( '_label' , '_placeholder' , '_public' , '_roles' , '_validate' , '_custom_validate' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
)
),
'soundcloud_track' => array (
'name' => 'SoundCloud Track' ,
'col1' => array ( '_title' , '_metakey' , '_help' , '_visibility' ),
'col2' => array ( '_label' , '_placeholder' , '_public' , '_roles' , '_validate' , '_custom_validate' ),
'col3' => array ( '_required' , '_editable' , '_icon' ),
'validate' => array (
'_title' => array (
'mode' => 'required' ,
'error' => __ ( 'You must provide a title' , 'ultimate-member' )
),
'_metakey' => array (
'mode' => 'unique' ,
),
)
),
/*'group' => array(
2017-07-26 14:57:52 +03:00
'name' => 'Field Group',
'col1' => array('_title','_max_entries'),
'col2' => array('_label','_public','_roles'),
'form_only' => true,
'validate' => array(
'_title' => array(
'mode' => 'required',
'error' => 'You must provide a title'
),
'_label' => array(
'mode' => 'required',
'error' => 'You must provide a label'
),
)
),*/
2018-03-20 13:24:38 +02:00
);
/**
* UM hook
*
* @type filter
* @title um_core_fields_hook
* @description UM Core Fields
* @input_vars
* [{"var":"$core_fields","type":"array","desc":"Core Fields"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_core_fields_hook', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_core_fields_hook', 'my_core_fields', 10, 1 );
* function my_core_fields( $core_fields ) {
* // your code here
* return $core_fields;
* }
* ?>
*/
$this -> core_fields = apply_filters ( 'um_core_fields_hook' , $this -> core_fields );
}
/**
* Predefined Fields
*/
function set_predefined_fields () {
global $wp_roles ;
$role_keys = get_option ( 'um_roles' );
if ( ! empty ( $role_keys ) && is_array ( $role_keys ) ) {
$role_keys = array_map ( function ( $item ) {
return 'um_' . $item ;
}, $role_keys );
} else {
$role_keys = array ();
}
2017-11-10 12:10:59 +02:00
2017-11-06 15:28:07 +02:00
$exclude_roles = array_diff ( array_keys ( $wp_roles -> roles ), array_merge ( $role_keys , array ( 'subscriber' ) ) );
2018-03-20 13:24:38 +02:00
$um_roles = UM () -> roles () -> get_roles ( false , $exclude_roles );
/**
* UM hook
*
* @type filter
* @title um_profile_privacy_options
* @description Profile Privacy Options
* @input_vars
* [{"var":"$privacy_options","type":"array","desc":"Privacy Options"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_profile_privacy_options', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_profile_privacy_options', 'my_profile_privacy_options', 10, 1 );
* function my_profile_privacy_options( $privacy_options ) {
* // your code here
* return $privacy_options;
* }
* ?>
*/
$profile_privacy = apply_filters ( 'um_profile_privacy_options' , array (
__ ( 'Everyone' , 'ultimate-member' ),
__ ( 'Only me' , 'ultimate-member' )
) );
$this -> predefined_fields = array (
'user_login' => array (
'title' => __ ( 'Username' , 'ultimate-member' ),
'metakey' => 'user_login' ,
'type' => 'text' ,
'label' => __ ( 'Username' , 'ultimate-member' ),
'required' => 1 ,
'public' => 1 ,
'editable' => 0 ,
'validate' => 'unique_username' ,
'min_chars' => 3 ,
'max_chars' => 24
),
'username' => array (
'title' => __ ( 'Username or E-mail' , 'ultimate-member' ),
'metakey' => 'username' ,
'type' => 'text' ,
'label' => __ ( 'Username or E-mail' , 'ultimate-member' ),
'required' => 1 ,
'public' => 1 ,
'editable' => 0 ,
'validate' => 'unique_username_or_email' ,
),
'user_password' => array (
'title' => __ ( 'Password' , 'ultimate-member' ),
'metakey' => 'user_password' ,
'type' => 'password' ,
'label' => __ ( 'Password' , 'ultimate-member' ),
'required' => 1 ,
'public' => 1 ,
'editable' => 1 ,
'min_chars' => 8 ,
'max_chars' => 30 ,
'force_good_pass' => 1 ,
'force_confirm_pass' => 1 ,
),
'first_name' => array (
'title' => __ ( 'First Name' , 'ultimate-member' ),
'metakey' => 'first_name' ,
'type' => 'text' ,
'label' => __ ( 'First Name' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
),
'last_name' => array (
'title' => __ ( 'Last Name' , 'ultimate-member' ),
'metakey' => 'last_name' ,
'type' => 'text' ,
'label' => __ ( 'Last Name' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
),
'nickname' => array (
'title' => __ ( 'Nickname' , 'ultimate-member' ),
'metakey' => 'nickname' ,
'type' => 'text' ,
'label' => __ ( 'Nickname' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
),
2018-03-21 21:12:57 +08:00
'user_url' => array (
'title' => __ ( 'Website URL' , 'ultimate-member' ),
'metakey' => 'user_url' ,
'type' => 'url' ,
'label' => __ ( 'Website URL' , 'ultimate-member' ),
'required' => 1 ,
'public' => 1 ,
'editable' => 1 ,
'validate' => 'url'
),
2018-03-20 13:24:38 +02:00
'user_registered' => array (
'title' => __ ( 'Registration Date' , 'ultimate-member' ),
'metakey' => 'user_registered' ,
'type' => 'text' ,
'label' => __ ( 'Registration Date' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'edit_forbidden' => 1 ,
),
'last_login' => array (
'title' => __ ( 'Last Login' , 'ultimate-member' ),
'metakey' => '_um_last_login' ,
'type' => 'text' ,
'label' => __ ( 'Last Login' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'edit_forbidden' => 1 ,
),
'user_email' => array (
'title' => __ ( 'E-mail Address' , 'ultimate-member' ),
'metakey' => 'user_email' ,
'type' => 'text' ,
'label' => __ ( 'E-mail Address' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'validate' => 'unique_email' ,
'autocomplete' => 'off'
),
'secondary_user_email' => array (
'title' => __ ( 'Secondary E-mail Address' , 'ultimate-member' ),
'metakey' => 'secondary_user_email' ,
'type' => 'text' ,
'label' => __ ( 'Secondary E-mail Address' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'validate' => 'unique_email' ,
'autocomplete' => 'off'
),
'description' => array (
'title' => __ ( 'Biography' , 'ultimate-member' ),
'metakey' => 'description' ,
'type' => 'textarea' ,
'label' => __ ( 'Biography' , 'ultimate-member' ),
'html' => 0 ,
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'max_words' => 40 ,
'placeholder' => __ ( 'Enter a bit about yourself...' , 'ultimate-member' ),
),
'birth_date' => array (
'title' => __ ( 'Birth Date' , 'ultimate-member' ),
'metakey' => 'birth_date' ,
'type' => 'date' ,
'label' => __ ( 'Birth Date' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'pretty_format' => 1 ,
'years' => 115 ,
'years_x' => 'past' ,
'icon' => 'um-faicon-calendar'
),
'gender' => array (
'title' => __ ( 'Gender' , 'ultimate-member' ),
'metakey' => 'gender' ,
'type' => 'radio' ,
'label' => __ ( 'Gender' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'options' => array ( __ ( 'Male' , 'ultimate-member' ), __ ( 'Female' , 'ultimate-member' ) )
),
'country' => array (
'title' => __ ( 'Country' , 'ultimate-member' ),
'metakey' => 'country' ,
'type' => 'select' ,
'label' => __ ( 'Country' , 'ultimate-member' ),
'placeholder' => __ ( 'Choose a Country' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'options' => $this -> get ( 'countries' )
),
'facebook' => array (
'title' => __ ( 'Facebook' , 'ultimate-member' ),
'metakey' => 'facebook' ,
'type' => 'url' ,
'label' => __ ( 'Facebook' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'url_target' => '_blank' ,
'url_rel' => 'nofollow' ,
'icon' => 'um-faicon-facebook' ,
'validate' => 'facebook_url' ,
'url_text' => 'Facebook' ,
'advanced' => 'social' ,
'color' => '#3B5999' ,
'match' => 'https://facebook.com/' ,
),
'twitter' => array (
'title' => __ ( 'Twitter' , 'ultimate-member' ),
'metakey' => 'twitter' ,
'type' => 'url' ,
'label' => __ ( 'Twitter' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'url_target' => '_blank' ,
'url_rel' => 'nofollow' ,
'icon' => 'um-faicon-twitter' ,
'validate' => 'twitter_url' ,
'url_text' => 'Twitter' ,
'advanced' => 'social' ,
'color' => '#4099FF' ,
'match' => 'https://twitter.com/' ,
),
'linkedin' => array (
'title' => __ ( 'LinkedIn' , 'ultimate-member' ),
'metakey' => 'linkedin' ,
'type' => 'url' ,
'label' => __ ( 'LinkedIn' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'url_target' => '_blank' ,
'url_rel' => 'nofollow' ,
'icon' => 'um-faicon-linkedin' ,
'validate' => 'linkedin_url' ,
'url_text' => 'LinkedIn' ,
'advanced' => 'social' ,
'color' => '#0976b4' ,
'match' => 'https://linkedin.com/in/' ,
),
'googleplus' => array (
'title' => __ ( 'Google+' , 'ultimate-member' ),
'metakey' => 'googleplus' ,
'type' => 'url' ,
'label' => __ ( 'Google+' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'url_target' => '_blank' ,
'url_rel' => 'nofollow' ,
'icon' => 'um-faicon-google-plus' ,
'validate' => 'google_url' ,
'url_text' => 'Google+' ,
'advanced' => 'social' ,
'color' => '#dd4b39' ,
'match' => 'https://google.com/+' ,
),
'instagram' => array (
'title' => __ ( 'Instagram' , 'ultimate-member' ),
'metakey' => 'instagram' ,
'type' => 'url' ,
'label' => __ ( 'Instagram' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'url_target' => '_blank' ,
'url_rel' => 'nofollow' ,
'icon' => 'um-faicon-instagram' ,
'validate' => 'instagram_url' ,
'url_text' => 'Instagram' ,
'advanced' => 'social' ,
'color' => '#3f729b' ,
'match' => 'https://instagram.com/' ,
),
'skype' => array (
'title' => __ ( 'Skype ID' , 'ultimate-member' ),
'metakey' => 'skype' ,
'type' => 'url' ,
'label' => __ ( 'Skype ID' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'url_target' => '_blank' ,
'url_rel' => 'nofollow' ,
'icon' => 'um-faicon-skype' ,
'validate' => 'skype' ,
'url_text' => 'Skype' ,
),
'youtube' => array (
'title' => __ ( 'YouTube' , 'ultimate-member' ),
'metakey' => 'youtube' ,
'type' => 'url' ,
'label' => __ ( 'YouTube' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'url_target' => '_blank' ,
'url_rel' => 'nofollow' ,
'icon' => 'um-faicon-youtube' ,
'validate' => 'youtube_url' ,
'url_text' => 'YouTube' ,
'advanced' => 'social' ,
'color' => '#e52d27' ,
'match' => 'https://youtube.com/' ,
),
'soundcloud' => array (
'title' => __ ( 'SoundCloud' , 'ultimate-member' ),
'metakey' => 'soundcloud' ,
'type' => 'url' ,
'label' => __ ( 'SoundCloud' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'url_target' => '_blank' ,
'url_rel' => 'nofollow' ,
'icon' => 'um-faicon-soundcloud' ,
'validate' => 'soundcloud_url' ,
'url_text' => 'SoundCloud' ,
'advanced' => 'social' ,
'color' => '#f50' ,
'match' => 'https://soundcloud.com/' ,
),
'vk' => array (
'title' => __ ( 'VKontakte' , 'ultimate-member' ),
'metakey' => 'vkontakte' ,
'type' => 'url' ,
'label' => __ ( 'VKontakte' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'url_target' => '_blank' ,
'url_rel' => 'nofollow' ,
'icon' => 'um-faicon-vk' ,
'validate' => 'vk_url' ,
'url_text' => 'VKontakte' ,
'advanced' => 'social' ,
'color' => '#2B587A' ,
'match' => 'https://vk.com/' ,
),
'role_select' => array (
'title' => __ ( 'Roles (Dropdown)' , 'ultimate-member' ),
'metakey' => 'role_select' ,
'type' => 'select' ,
'label' => __ ( 'Account Type' , 'ultimate-member' ),
'placeholder' => 'Choose account type' ,
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'options' => $um_roles ,
),
'role_radio' => array (
'title' => __ ( 'Roles (Radio)' , 'ultimate-member' ),
'metakey' => 'role_radio' ,
'type' => 'radio' ,
'label' => __ ( 'Account Type' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'options' => $um_roles ,
),
'languages' => array (
'title' => __ ( 'Languages' , 'ultimate-member' ),
'metakey' => 'languages' ,
'type' => 'multiselect' ,
'label' => __ ( 'Languages Spoken' , 'ultimate-member' ),
'placeholder' => __ ( 'Select languages' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'options' => $this -> get ( 'languages' ),
),
'phone_number' => array (
'title' => __ ( 'Phone Number' , 'ultimate-member' ),
'metakey' => 'phone_number' ,
'type' => 'text' ,
'label' => __ ( 'Phone Number' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'validate' => 'phone_number' ,
'icon' => 'um-faicon-phone' ,
),
'mobile_number' => array (
'title' => __ ( 'Mobile Number' , 'ultimate-member' ),
'metakey' => 'mobile_number' ,
'type' => 'text' ,
'label' => __ ( 'Mobile Number' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'validate' => 'phone_number' ,
'icon' => 'um-faicon-mobile' ,
),
// private use ( not public list )
'profile_photo' => array (
'title' => __ ( 'Profile Photo' , 'ultimate-member' ),
'metakey' => 'profile_photo' ,
'type' => 'image' ,
'label' => __ ( 'Change your profile photo' , 'ultimate-member' ),
'upload_text' => __ ( 'Upload your photo here' , 'ultimate-member' ),
'icon' => 'um-faicon-camera' ,
'crop' => 1 ,
'max_size' => ( UM () -> options () -> get ( 'profile_photo_max_size' ) ) ? UM () -> options () -> get ( 'profile_photo_max_size' ) : 999999999 ,
'min_width' => str_replace ( 'px' , '' , UM () -> options () -> get ( 'profile_photosize' )),
'min_height' => str_replace ( 'px' , '' , UM () -> options () -> get ( 'profile_photosize' )),
'private_use' => true ,
),
'cover_photo' => array (
'title' => __ ( 'Cover Photo' , 'ultimate-member' ),
'metakey' => 'cover_photo' ,
'type' => 'image' ,
'label' => __ ( 'Change your cover photo' , 'ultimate-member' ),
'upload_text' => __ ( 'Upload profile cover here' , 'ultimate-member' ),
'icon' => 'um-faicon-picture-o' ,
'crop' => 2 ,
'max_size' => ( UM () -> options () -> get ( 'cover_photo_max_size' ) ) ? UM () -> options () -> get ( 'cover_photo_max_size' ) : 999999999 ,
'modal_size' => 'large' ,
'ratio' => str_replace ( ':1' , '' , UM () -> options () -> get ( 'profile_cover_ratio' )),
'min_width' => UM () -> options () -> get ( 'cover_min_width' ),
'private_use' => true ,
),
'password_reset_text' => array (
'title' => __ ( 'Password Reset' , 'ultimate-member' ),
'type' => 'block' ,
'content' => '<div style="text-align:center">' . __ ( 'To reset your password, please enter your email address or username below' , 'ultimate-member' ) . '</div>' ,
'private_use' => true ,
),
'username_b' => array (
'title' => __ ( 'Username or E-mail' , 'ultimate-member' ),
'metakey' => 'username_b' ,
'type' => 'text' ,
'placeholder' => __ ( 'Enter your username or email' , 'ultimate-member' ),
'required' => 1 ,
'public' => 1 ,
'editable' => 0 ,
'private_use' => true ,
),
// account page use ( not public )
'profile_privacy' => array (
'title' => __ ( 'Profile Privacy' , 'ultimate-member' ),
'metakey' => 'profile_privacy' ,
'type' => 'select' ,
'label' => __ ( 'Profile Privacy' , 'ultimate-member' ),
'help' => __ ( 'Who can see your public profile?' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'default' => __ ( 'Everyone' , 'ultimate-member' ),
'options' => $profile_privacy ,
'allowclear' => 0 ,
'account_only' => true ,
'required_perm' => 'can_make_private_profile' ,
),
'hide_in_members' => array (
'title' => __ ( 'Hide my profile from directory' , 'ultimate-member' ),
'metakey' => 'hide_in_members' ,
'type' => 'radio' ,
'label' => __ ( 'Hide my profile from directory' , 'ultimate-member' ),
'help' => __ ( 'Here you can hide yourself from appearing in public directory' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'default' => 'No' ,
'options' => array ( 'No' => __ ( 'No' , 'ultimate-member' ), 'Yes' => __ ( 'Yes' , 'ultimate-member' ) ),
'account_only' => true ,
'required_opt' => array ( 'members_page' , 1 ),
),
'delete_account' => array (
'title' => __ ( 'Delete Account' , 'ultimate-member' ),
'metakey' => 'delete_account' ,
'type' => 'radio' ,
'label' => __ ( 'Delete Account' , 'ultimate-member' ),
'help' => __ ( 'If you confirm, everything related to your profile will be deleted permanently from the site' , 'ultimate-member' ),
'required' => 0 ,
'public' => 1 ,
'editable' => 1 ,
'default' => __ ( 'No' , 'ultimate-member' ),
'options' => array ( __ ( 'Yes' , 'ultimate-member' ) , __ ( 'No' , 'ultimate-member' ) ),
'account_only' => true ,
),
'single_user_password' => array (
'title' => __ ( 'Password' , 'ultimate-member' ),
'metakey' => 'single_user_password' ,
'type' => 'password' ,
'label' => __ ( 'Password' , 'ultimate-member' ),
'required' => 1 ,
'public' => 1 ,
'editable' => 1 ,
'account_only' => true ,
),
);
/**
* UM hook
*
* @type filter
* @title um_predefined_fields_hook
* @description Extend Predefined Fields
* @input_vars
* [{"var":"$predefined_fields","type":"array","desc":"Predefined Fields"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_predefined_fields_hook', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_predefined_fields_hook', 'my_predefined_fields', 10, 1 );
* function my_predefined_fields( $predefined_fields ) {
* // your code here
* return $predefined_fields;
* }
* ?>
*/
$this -> predefined_fields = apply_filters ( 'um_predefined_fields_hook' , $this -> predefined_fields );
}
/**
* Custom Fields
*/
function set_custom_fields () {
if ( is_array ( $this -> saved_fields ) ) {
$this -> custom_fields = $this -> saved_fields ;
} else {
$this -> custom_fields = '' ;
}
$custom = $this -> custom_fields ;
$predefined = $this -> predefined_fields ;
if ( is_array ( $custom ) ){
$this -> all_user_fields = array_merge ( $predefined , $custom );
} else {
$this -> all_user_fields = $predefined ;
}
}
/**
* May be used to show a dropdown, or source for user meta
*
* @param null $exclude_types
* @param bool $show_all
*
* @return array
*/
function all_user_fields ( $exclude_types = null , $show_all = false ) {
$fields_without_metakey = array ( 'block' , 'shortcode' , 'spacing' , 'divider' , 'group' );
remove_filter ( 'um_fields_without_metakey' , 'um_user_tags_requires_no_metakey' );
/**
* UM hook
*
* @type filter
* @title um_fields_without_metakey
* @description Extend Fields without metakey
* @input_vars
* [{"var":"$fields","type":"array","desc":"Fields without metakey"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_fields_without_metakey', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_fields_without_metakey', 'my_fields_without_metakey', 10, 1 );
* function my_fields_without_metakey( $fields ) {
* // your code here
* return $fields;
* }
* ?>
*/
$fields_without_metakey = apply_filters ( 'um_fields_without_metakey' , $fields_without_metakey );
if ( ! $show_all ) {
$this -> fields_dropdown = array ( 'image' , 'file' , 'password' , 'rating' );
$this -> fields_dropdown = array_merge ( $this -> fields_dropdown , $fields_without_metakey );
} else {
$this -> fields_dropdown = $fields_without_metakey ;
}
$custom = $this -> custom_fields ;
$predefined = $this -> predefined_fields ;
if ( $exclude_types ) {
$exclude_types = explode ( ',' , $exclude_types );
}
$all = array ( 0 => '' );
if ( is_array ( $custom ) ){
$all = $all + array_merge ( $predefined , $custom );
} else {
$all = $all + $predefined ;
}
foreach ( $all as $k => $arr ) {
if ( $k == 0 ) {
unset ( $all [ $k ]);
}
if ( isset ( $arr [ 'title' ] ) ){
$all [ $k ][ 'title' ] = stripslashes ( $arr [ 'title' ] );
}
if ( $exclude_types && isset ( $arr [ 'type' ] ) && in_array ( $arr [ 'type' ], $exclude_types ) ) {
unset ( $all [ $k ] );
}
if ( isset ( $arr [ 'account_only' ] ) || isset ( $arr [ 'private_use' ] ) ) {
if ( ! $show_all ) {
unset ( $all [ $k ] );
}
}
if ( isset ( $arr [ 'type' ] ) && in_array ( $arr [ 'type' ], $this -> fields_dropdown ) ) {
unset ( $all [ $k ] );
}
}
$all = UM () -> fields () -> array_sort_by_column ( $all , 'title' );
$all = array ( 0 => '' ) + $all ;
return $all ;
}
/**
* Possible validation types for fields
*
* @return mixed
*/
function validation_types () {
$array [ 0 ] = __ ( 'None' , 'ultimate-member' );
$array [ 'alphabetic' ] = __ ( 'Alphabetic value only' , 'ultimate-member' );
$array [ 'alpha_numeric' ] = __ ( 'Alpha-numeric value' , 'ultimate-member' );
$array [ 'english' ] = __ ( 'English letters only' , 'ultimate-member' );
$array [ 'facebook_url' ] = __ ( 'Facebook URL' , 'ultimate-member' );
$array [ 'google_url' ] = __ ( 'Google+ URL' , 'ultimate-member' );
$array [ 'instagram_url' ] = __ ( 'Instagram URL' , 'ultimate-member' );
$array [ 'linkedin_url' ] = __ ( 'LinkedIn URL' , 'ultimate-member' );
$array [ 'vk_url' ] = __ ( 'VKontakte URL' , 'ultimate-member' );
$array [ 'lowercase' ] = __ ( 'Lowercase only' , 'ultimate-member' );
$array [ 'numeric' ] = __ ( 'Numeric value only' , 'ultimate-member' );
$array [ 'phone_number' ] = __ ( 'Phone Number' , 'ultimate-member' );
$array [ 'skype' ] = __ ( 'Skype ID' , 'ultimate-member' );
$array [ 'soundcloud' ] = __ ( 'SoundCloud Profile' , 'ultimate-member' );
$array [ 'twitter_url' ] = __ ( 'Twitter URL' , 'ultimate-member' );
$array [ 'unique_email' ] = __ ( 'Unique E-mail' , 'ultimate-member' );
$array [ 'unique_value' ] = __ ( 'Unique Metakey value' , 'ultimate-member' );
$array [ 'unique_username' ] = __ ( 'Unique Username' , 'ultimate-member' );
$array [ 'unique_username_or_email' ] = __ ( 'Unique Username/E-mail' , 'ultimate-member' );
$array [ 'url' ] = __ ( 'Website URL' , 'ultimate-member' );
$array [ 'youtube_url' ] = __ ( 'YouTube Profile' , 'ultimate-member' );
$array [ 'custom' ] = __ ( 'Custom Validation' , 'ultimate-member' );
/**
* UM hook
*
* @type filter
* @title um_admin_field_validation_hook
* @description Extend validation types
* @input_vars
* [{"var":"$types","type":"array","desc":"Validation Types"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_admin_field_validation_hook', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_admin_field_validation_hook', 'my_admin_field_validation', 10, 1 );
* function my_admin_field_validation( $types ) {
* // your code here
* return $types;
* }
* ?>
*/
$array = apply_filters ( 'um_admin_field_validation_hook' , $array );
return $array ;
}
/**
* Get predefined options
*
* @param $data
*
* @return array|mixed|void
*/
function get ( $data ) {
switch ( $data ) {
case 'languages' :
$array = array (
" aa " => __ ( " Afar " , 'ultimate-member' ),
" ab " => __ ( " Abkhazian " , 'ultimate-member' ),
" ae " => __ ( " Avestan " , 'ultimate-member' ),
" af " => __ ( " Afrikaans " , 'ultimate-member' ),
" ak " => __ ( " Akan " , 'ultimate-member' ),
" am " => __ ( " Amharic " , 'ultimate-member' ),
" an " => __ ( " Aragonese " , 'ultimate-member' ),
" ar " => __ ( " Arabic " , 'ultimate-member' ),
" as " => __ ( " Assamese " , 'ultimate-member' ),
" av " => __ ( " Avaric " , 'ultimate-member' ),
" ay " => __ ( " Aymara " , 'ultimate-member' ),
" az " => __ ( " Azerbaijani " , 'ultimate-member' ),
" ba " => __ ( " Bashkir " , 'ultimate-member' ),
" be " => __ ( " Belarusian " , 'ultimate-member' ),
" bg " => __ ( " Bulgarian " , 'ultimate-member' ),
" bh " => __ ( " Bihari " , 'ultimate-member' ),
" bi " => __ ( " Bislama " , 'ultimate-member' ),
" bm " => __ ( " Bambara " , 'ultimate-member' ),
" bn " => __ ( " Bengali " , 'ultimate-member' ),
" bo " => __ ( " Tibetan " , 'ultimate-member' ),
" br " => __ ( " Breton " , 'ultimate-member' ),
" bs " => __ ( " Bosnian " , 'ultimate-member' ),
" ca " => __ ( " Catalan " , 'ultimate-member' ),
" ce " => __ ( " Chechen " , 'ultimate-member' ),
" ch " => __ ( " Chamorro " , 'ultimate-member' ),
" co " => __ ( " Corsican " , 'ultimate-member' ),
" cr " => __ ( " Cree " , 'ultimate-member' ),
" cs " => __ ( " Czech " , 'ultimate-member' ),
" cu " => __ ( " Church Slavic " , 'ultimate-member' ),
" cv " => __ ( " Chuvash " , 'ultimate-member' ),
" cy " => __ ( " Welsh " , 'ultimate-member' ),
" da " => __ ( " Danish " , 'ultimate-member' ),
" de " => __ ( " German " , 'ultimate-member' ),
" dv " => __ ( " Divehi " , 'ultimate-member' ),
" dz " => __ ( " Dzongkha " , 'ultimate-member' ),
" ee " => __ ( " Ewe " , 'ultimate-member' ),
" el " => __ ( " Greek " , 'ultimate-member' ),
" en " => __ ( " English " , 'ultimate-member' ),
" eo " => __ ( " Esperanto " , 'ultimate-member' ),
" es " => __ ( " Spanish " , 'ultimate-member' ),
" et " => __ ( " Estonian " , 'ultimate-member' ),
" eu " => __ ( " Basque " , 'ultimate-member' ),
" fa " => __ ( " Persian " , 'ultimate-member' ),
" ff " => __ ( " Fulah " , 'ultimate-member' ),
" fi " => __ ( " Finnish " , 'ultimate-member' ),
" fj " => __ ( " Fijian " , 'ultimate-member' ),
" fo " => __ ( " Faroese " , 'ultimate-member' ),
" fr " => __ ( " French " , 'ultimate-member' ),
" fy " => __ ( " Western Frisian " , 'ultimate-member' ),
" ga " => __ ( " Irish " , 'ultimate-member' ),
" gd " => __ ( " Scottish Gaelic " , 'ultimate-member' ),
" gl " => __ ( " Galician " , 'ultimate-member' ),
" gn " => __ ( " Guarani " , 'ultimate-member' ),
" gu " => __ ( " Gujarati " , 'ultimate-member' ),
" gv " => __ ( " Manx " , 'ultimate-member' ),
" ha " => __ ( " Hausa " , 'ultimate-member' ),
" he " => __ ( " Hebrew " , 'ultimate-member' ),
" hi " => __ ( " Hindi " , 'ultimate-member' ),
" ho " => __ ( " Hiri Motu " , 'ultimate-member' ),
" hr " => __ ( " Croatian " , 'ultimate-member' ),
" ht " => __ ( " Haitian " , 'ultimate-member' ),
" hu " => __ ( " Hungarian " , 'ultimate-member' ),
" hy " => __ ( " Armenian " , 'ultimate-member' ),
" hz " => __ ( " Herero " , 'ultimate-member' ),
" ia " => __ ( " Interlingua (International Auxiliary Language Association) " , 'ultimate-member' ),
" id " => __ ( " Indonesian " , 'ultimate-member' ),
" ie " => __ ( " Interlingue " , 'ultimate-member' ),
" ig " => __ ( " Igbo " , 'ultimate-member' ),
" ii " => __ ( " Sichuan Yi " , 'ultimate-member' ),
" ik " => __ ( " Inupiaq " , 'ultimate-member' ),
" io " => __ ( " Ido " , 'ultimate-member' ),
" is " => __ ( " Icelandic " , 'ultimate-member' ),
" it " => __ ( " Italian " , 'ultimate-member' ),
" iu " => __ ( " Inuktitut " , 'ultimate-member' ),
" ja " => __ ( " Japanese " , 'ultimate-member' ),
" jv " => __ ( " Javanese " , 'ultimate-member' ),
" ka " => __ ( " Georgian " , 'ultimate-member' ),
" kg " => __ ( " Kongo " , 'ultimate-member' ),
" ki " => __ ( " Kikuyu " , 'ultimate-member' ),
" kj " => __ ( " Kwanyama " , 'ultimate-member' ),
" kk " => __ ( " Kazakh " , 'ultimate-member' ),
" kl " => __ ( " Kalaallisut " , 'ultimate-member' ),
" km " => __ ( " Khmer " , 'ultimate-member' ),
" kn " => __ ( " Kannada " , 'ultimate-member' ),
" ko " => __ ( " Korean " , 'ultimate-member' ),
" kr " => __ ( " Kanuri " , 'ultimate-member' ),
" ks " => __ ( " Kashmiri " , 'ultimate-member' ),
" ku " => __ ( " Kurdish " , 'ultimate-member' ),
" kv " => __ ( " Komi " , 'ultimate-member' ),
" kw " => __ ( " Cornish " , 'ultimate-member' ),
" ky " => __ ( " Kirghiz " , 'ultimate-member' ),
" la " => __ ( " Latin " , 'ultimate-member' ),
" lb " => __ ( " Luxembourgish " , 'ultimate-member' ),
" lg " => __ ( " Ganda " , 'ultimate-member' ),
" li " => __ ( " Limburgish " , 'ultimate-member' ),
" ln " => __ ( " Lingala " , 'ultimate-member' ),
" lo " => __ ( " Lao " , 'ultimate-member' ),
" lt " => __ ( " Lithuanian " , 'ultimate-member' ),
" lu " => __ ( " Luba-Katanga " , 'ultimate-member' ),
" lv " => __ ( " Latvian " , 'ultimate-member' ),
" mg " => __ ( " Malagasy " , 'ultimate-member' ),
" mh " => __ ( " Marshallese " , 'ultimate-member' ),
" mi " => __ ( " Maori " , 'ultimate-member' ),
" mk " => __ ( " Macedonian " , 'ultimate-member' ),
" ml " => __ ( " Malayalam " , 'ultimate-member' ),
" mn " => __ ( " Mongolian " , 'ultimate-member' ),
" mr " => __ ( " Marathi " , 'ultimate-member' ),
" ms " => __ ( " Malay " , 'ultimate-member' ),
" mt " => __ ( " Maltese " , 'ultimate-member' ),
" my " => __ ( " Burmese " , 'ultimate-member' ),
" na " => __ ( " Nauru " , 'ultimate-member' ),
" nb " => __ ( " Norwegian Bokmal " , 'ultimate-member' ),
" nd " => __ ( " North Ndebele " , 'ultimate-member' ),
" ne " => __ ( " Nepali " , 'ultimate-member' ),
" ng " => __ ( " Ndonga " , 'ultimate-member' ),
" nl " => __ ( " Dutch " , 'ultimate-member' ),
" nn " => __ ( " Norwegian Nynorsk " , 'ultimate-member' ),
" no " => __ ( " Norwegian " , 'ultimate-member' ),
" nr " => __ ( " South Ndebele " , 'ultimate-member' ),
" nv " => __ ( " Navajo " , 'ultimate-member' ),
" ny " => __ ( " Chichewa " , 'ultimate-member' ),
" oc " => __ ( " Occitan " , 'ultimate-member' ),
" oj " => __ ( " Ojibwa " , 'ultimate-member' ),
" om " => __ ( " Oromo " , 'ultimate-member' ),
" or " => __ ( " Oriya " , 'ultimate-member' ),
" os " => __ ( " Ossetian " , 'ultimate-member' ),
" pa " => __ ( " Panjabi " , 'ultimate-member' ),
" pi " => __ ( " Pali " , 'ultimate-member' ),
" pl " => __ ( " Polish " , 'ultimate-member' ),
" ps " => __ ( " Pashto " , 'ultimate-member' ),
" pt " => __ ( " Portuguese " , 'ultimate-member' ),
" qu " => __ ( " Quechua " , 'ultimate-member' ),
" rm " => __ ( " Raeto-Romance " , 'ultimate-member' ),
" rn " => __ ( " Kirundi " , 'ultimate-member' ),
" ro " => __ ( " Romanian " , 'ultimate-member' ),
" ru " => __ ( " Russian " , 'ultimate-member' ),
" rw " => __ ( " Kinyarwanda " , 'ultimate-member' ),
" sa " => __ ( " Sanskrit " , 'ultimate-member' ),
" sc " => __ ( " Sardinian " , 'ultimate-member' ),
" sd " => __ ( " Sindhi " , 'ultimate-member' ),
" se " => __ ( " Northern Sami " , 'ultimate-member' ),
" sg " => __ ( " Sango " , 'ultimate-member' ),
" si " => __ ( " Sinhala " , 'ultimate-member' ),
" sk " => __ ( " Slovak " , 'ultimate-member' ),
" sl " => __ ( " Slovenian " , 'ultimate-member' ),
" sm " => __ ( " Samoan " , 'ultimate-member' ),
" sn " => __ ( " Shona " , 'ultimate-member' ),
" so " => __ ( " Somali " , 'ultimate-member' ),
" sq " => __ ( " Albanian " , 'ultimate-member' ),
" sr " => __ ( " Serbian " , 'ultimate-member' ),
" ss " => __ ( " Swati " , 'ultimate-member' ),
" st " => __ ( " Southern Sotho " , 'ultimate-member' ),
" su " => __ ( " Sundanese " , 'ultimate-member' ),
" sv " => __ ( " Swedish " , 'ultimate-member' ),
" sw " => __ ( " Swahili " , 'ultimate-member' ),
" ta " => __ ( " Tamil " , 'ultimate-member' ),
" te " => __ ( " Telugu " , 'ultimate-member' ),
" tg " => __ ( " Tajik " , 'ultimate-member' ),
" th " => __ ( " Thai " , 'ultimate-member' ),
" ti " => __ ( " Tigrinya " , 'ultimate-member' ),
" tk " => __ ( " Turkmen " , 'ultimate-member' ),
" tl " => __ ( " Tagalog " , 'ultimate-member' ),
" tn " => __ ( " Tswana " , 'ultimate-member' ),
" to " => __ ( " Tonga " , 'ultimate-member' ),
" tr " => __ ( " Turkish " , 'ultimate-member' ),
" ts " => __ ( " Tsonga " , 'ultimate-member' ),
" tt " => __ ( " Tatar " , 'ultimate-member' ),
" tw " => __ ( " Twi " , 'ultimate-member' ),
" ty " => __ ( " Tahitian " , 'ultimate-member' ),
" ug " => __ ( " Uighur " , 'ultimate-member' ),
" uk " => __ ( " Ukrainian " , 'ultimate-member' ),
" ur " => __ ( " Urdu " , 'ultimate-member' ),
" uz " => __ ( " Uzbek " , 'ultimate-member' ),
" ve " => __ ( " Venda " , 'ultimate-member' ),
" vi " => __ ( " Vietnamese " , 'ultimate-member' ),
" vo " => __ ( " Volapuk " , 'ultimate-member' ),
" wa " => __ ( " Walloon " , 'ultimate-member' ),
" wo " => __ ( " Wolof " , 'ultimate-member' ),
" xh " => __ ( " Xhosa " , 'ultimate-member' ),
" yi " => __ ( " Yiddish " , 'ultimate-member' ),
" yo " => __ ( " Yoruba " , 'ultimate-member' ),
" za " => __ ( " Zhuang " , 'ultimate-member' ),
" zh " => __ ( " Chinese " , 'ultimate-member' ),
" zu " => __ ( " Zulu " , 'ultimate-member' )
);
break ;
case 'countries' :
$array = array (
'AF' => __ ( 'Afghanistan' , 'ultimate-member' ),
'AX' => __ ( 'Åland Islands' , 'ultimate-member' ),
'AL' => __ ( 'Albania' , 'ultimate-member' ),
'DZ' => __ ( 'Algeria' , 'ultimate-member' ),
'AS' => __ ( 'American Samoa' , 'ultimate-member' ),
'AD' => __ ( 'Andorra' , 'ultimate-member' ),
'AO' => __ ( 'Angola' , 'ultimate-member' ),
'AI' => __ ( 'Anguilla' , 'ultimate-member' ),
'AQ' => __ ( 'Antarctica' , 'ultimate-member' ),
'AG' => __ ( 'Antigua and Barbuda' , 'ultimate-member' ),
'AR' => __ ( 'Argentina' , 'ultimate-member' ),
'AM' => __ ( 'Armenia' , 'ultimate-member' ),
'AW' => __ ( 'Aruba' , 'ultimate-member' ),
'AU' => __ ( 'Australia' , 'ultimate-member' ),
'AT' => __ ( 'Austria' , 'ultimate-member' ),
'AZ' => __ ( 'Azerbaijan' , 'ultimate-member' ),
'BS' => __ ( 'Bahamas' , 'ultimate-member' ),
'BH' => __ ( 'Bahrain' , 'ultimate-member' ),
'BD' => __ ( 'Bangladesh' , 'ultimate-member' ),
'BB' => __ ( 'Barbados' , 'ultimate-member' ),
'BY' => __ ( 'Belarus' , 'ultimate-member' ),
'BE' => __ ( 'Belgium' , 'ultimate-member' ),
'BZ' => __ ( 'Belize' , 'ultimate-member' ),
'BJ' => __ ( 'Benin' , 'ultimate-member' ),
'BM' => __ ( 'Bermuda' , 'ultimate-member' ),
'BT' => __ ( 'Bhutan' , 'ultimate-member' ),
'BO' => __ ( 'Bolivia, Plurinational State of' , 'ultimate-member' ),
'BA' => __ ( 'Bosnia and Herzegovina' , 'ultimate-member' ),
'BW' => __ ( 'Botswana' , 'ultimate-member' ),
'BV' => __ ( 'Bouvet Island' , 'ultimate-member' ),
'BR' => __ ( 'Brazil' , 'ultimate-member' ),
'IO' => __ ( 'British Indian Ocean Territory' , 'ultimate-member' ),
'BN' => __ ( 'Brunei Darussalam' , 'ultimate-member' ),
'BG' => __ ( 'Bulgaria' , 'ultimate-member' ),
'BF' => __ ( 'Burkina Faso' , 'ultimate-member' ),
'BI' => __ ( 'Burundi' , 'ultimate-member' ),
'KH' => __ ( 'Cambodia' , 'ultimate-member' ),
'CM' => __ ( 'Cameroon' , 'ultimate-member' ),
'CA' => __ ( 'Canada' , 'ultimate-member' ),
'CV' => __ ( 'Cape Verde' , 'ultimate-member' ),
'KY' => __ ( 'Cayman Islands' , 'ultimate-member' ),
'CF' => __ ( 'Central African Republic' , 'ultimate-member' ),
'TD' => __ ( 'Chad' , 'ultimate-member' ),
'CL' => __ ( 'Chile' , 'ultimate-member' ),
'CN' => __ ( 'China' , 'ultimate-member' ),
'CX' => __ ( 'Christmas Island' , 'ultimate-member' ),
'CC' => __ ( 'Cocos (Keeling) Islands' , 'ultimate-member' ),
'CO' => __ ( 'Colombia' , 'ultimate-member' ),
'KM' => __ ( 'Comoros' , 'ultimate-member' ),
'CG' => __ ( 'Congo' , 'ultimate-member' ),
'CD' => __ ( 'Congo, the Democratic Republic of the' , 'ultimate-member' ),
'CK' => __ ( 'Cook Islands' , 'ultimate-member' ),
'CR' => __ ( 'Costa Rica' , 'ultimate-member' ),
'CI' => __ ( " Côte d'Ivoire " , 'ultimate-member' ),
'HR' => __ ( 'Croatia' , 'ultimate-member' ),
'CU' => __ ( 'Cuba' , 'ultimate-member' ),
'CY' => __ ( 'Cyprus' , 'ultimate-member' ),
'CZ' => __ ( 'Czech Republic' , 'ultimate-member' ),
'DK' => __ ( 'Denmark' , 'ultimate-member' ),
'DJ' => __ ( 'Djibouti' , 'ultimate-member' ),
'DM' => __ ( 'Dominica' , 'ultimate-member' ),
'DO' => __ ( 'Dominican Republic' , 'ultimate-member' ),
'EC' => __ ( 'Ecuador' , 'ultimate-member' ),
'EG' => __ ( 'Egypt' , 'ultimate-member' ),
'SV' => __ ( 'El Salvador' , 'ultimate-member' ),
'GQ' => __ ( 'Equatorial Guinea' , 'ultimate-member' ),
'ER' => __ ( 'Eritrea' , 'ultimate-member' ),
'EE' => __ ( 'Estonia' , 'ultimate-member' ),
'ET' => __ ( 'Ethiopia' , 'ultimate-member' ),
'FK' => __ ( 'Falkland Islands (Malvinas)' , 'ultimate-member' ),
'FO' => __ ( 'Faroe Islands' , 'ultimate-member' ),
'FJ' => __ ( 'Fiji' , 'ultimate-member' ),
'FI' => __ ( 'Finland' , 'ultimate-member' ),
'FR' => __ ( 'France' , 'ultimate-member' ),
'GF' => __ ( 'French Guiana' , 'ultimate-member' ),
'PF' => __ ( 'French Polynesia' , 'ultimate-member' ),
'TF' => __ ( 'French Southern Territories' , 'ultimate-member' ),
'GA' => __ ( 'Gabon' , 'ultimate-member' ),
'GM' => __ ( 'Gambia' , 'ultimate-member' ),
'GE' => __ ( 'Georgia' , 'ultimate-member' ),
'DE' => __ ( 'Germany' , 'ultimate-member' ),
'GH' => __ ( 'Ghana' , 'ultimate-member' ),
'GI' => __ ( 'Gibraltar' , 'ultimate-member' ),
'GR' => __ ( 'Greece' , 'ultimate-member' ),
'GL' => __ ( 'Greenland' , 'ultimate-member' ),
'GD' => __ ( 'Grenada' , 'ultimate-member' ),
'GP' => __ ( 'Guadeloupe' , 'ultimate-member' ),
'GU' => __ ( 'Guam' , 'ultimate-member' ),
'GT' => __ ( 'Guatemala' , 'ultimate-member' ),
'GG' => __ ( 'Guernsey' , 'ultimate-member' ),
'GN' => __ ( 'Guinea' , 'ultimate-member' ),
'GW' => __ ( 'Guinea-Bissau' , 'ultimate-member' ),
'GY' => __ ( 'Guyana' , 'ultimate-member' ),
'HT' => __ ( 'Haiti' , 'ultimate-member' ),
'HM' => __ ( 'Heard Island and McDonald Islands' , 'ultimate-member' ),
'VA' => __ ( 'Holy See (Vatican City State)' , 'ultimate-member' ),
'HN' => __ ( 'Honduras' , 'ultimate-member' ),
'HK' => __ ( 'Hong Kong' , 'ultimate-member' ),
'HU' => __ ( 'Hungary' , 'ultimate-member' ),
'IS' => __ ( 'Iceland' , 'ultimate-member' ),
'IN' => __ ( 'India' , 'ultimate-member' ),
'ID' => __ ( 'Indonesia' , 'ultimate-member' ),
'IR' => __ ( 'Iran, Islamic Republic of' , 'ultimate-member' ),
'IQ' => __ ( 'Iraq' , 'ultimate-member' ),
'IE' => __ ( 'Ireland' , 'ultimate-member' ),
'IM' => __ ( 'Isle of Man' , 'ultimate-member' ),
'IL' => __ ( 'Israel' , 'ultimate-member' ),
'IT' => __ ( 'Italy' , 'ultimate-member' ),
'JM' => __ ( 'Jamaica' , 'ultimate-member' ),
'JP' => __ ( 'Japan' , 'ultimate-member' ),
'JE' => __ ( 'Jersey' , 'ultimate-member' ),
'JO' => __ ( 'Jordan' , 'ultimate-member' ),
'KZ' => __ ( 'Kazakhstan' , 'ultimate-member' ),
'KE' => __ ( 'Kenya' , 'ultimate-member' ),
'KI' => __ ( 'Kiribati' , 'ultimate-member' ),
'KP' => __ ( " Korea, Democratic People's Republic of " , 'ultimate-member' ),
'KR' => __ ( 'Korea, Republic of' , 'ultimate-member' ),
'KW' => __ ( 'Kuwait' , 'ultimate-member' ),
'KG' => __ ( 'Kyrgyzstan' , 'ultimate-member' ),
'LA' => __ ( " Lao People's Democratic Republic " , 'ultimate-member' ),
'LV' => __ ( 'Latvia' , 'ultimate-member' ),
'LB' => __ ( 'Lebanon' , 'ultimate-member' ),
'LS' => __ ( 'Lesotho' , 'ultimate-member' ),
'LR' => __ ( 'Liberia' , 'ultimate-member' ),
'LY' => __ ( 'Libyan Arab Jamahiriya' , 'ultimate-member' ),
'LI' => __ ( 'Liechtenstein' , 'ultimate-member' ),
'LT' => __ ( 'Lithuania' , 'ultimate-member' ),
'LU' => __ ( 'Luxembourg' , 'ultimate-member' ),
'MO' => __ ( 'Macao' , 'ultimate-member' ),
'MK' => __ ( 'Macedonia, the former Yugoslav Republic of' , 'ultimate-member' ),
'MG' => __ ( 'Madagascar' , 'ultimate-member' ),
'MW' => __ ( 'Malawi' , 'ultimate-member' ),
'MY' => __ ( 'Malaysia' , 'ultimate-member' ),
'MV' => __ ( 'Maldives' , 'ultimate-member' ),
'ML' => __ ( 'Mali' , 'ultimate-member' ),
'MT' => __ ( 'Malta' , 'ultimate-member' ),
'MH' => __ ( 'Marshall Islands' , 'ultimate-member' ),
'MQ' => __ ( 'Martinique' , 'ultimate-member' ),
'MR' => __ ( 'Mauritania' , 'ultimate-member' ),
'MU' => __ ( 'Mauritius' , 'ultimate-member' ),
'YT' => __ ( 'Mayotte' , 'ultimate-member' ),
'MX' => __ ( 'Mexico' , 'ultimate-member' ),
'FM' => __ ( 'Micronesia, Federated States of' , 'ultimate-member' ),
'MD' => __ ( 'Moldova, Republic of' , 'ultimate-member' ),
'MC' => __ ( 'Monaco' , 'ultimate-member' ),
'MN' => __ ( 'Mongolia' , 'ultimate-member' ),
'ME' => __ ( 'Montenegro' , 'ultimate-member' ),
'MS' => __ ( 'Montserrat' , 'ultimate-member' ),
'MA' => __ ( 'Morocco' , 'ultimate-member' ),
'MZ' => __ ( 'Mozambique' , 'ultimate-member' ),
'MM' => __ ( 'Myanmar' , 'ultimate-member' ),
'NA' => __ ( 'Namibia' , 'ultimate-member' ),
'NR' => __ ( 'Nauru' , 'ultimate-member' ),
'NP' => __ ( 'Nepal' , 'ultimate-member' ),
'NL' => __ ( 'Netherlands' , 'ultimate-member' ),
'AN' => __ ( 'Netherlands Antilles' , 'ultimate-member' ),
'NC' => __ ( 'New Caledonia' , 'ultimate-member' ),
'NZ' => __ ( 'New Zealand' , 'ultimate-member' ),
'NI' => __ ( 'Nicaragua' , 'ultimate-member' ),
'NE' => __ ( 'Niger' , 'ultimate-member' ),
'NG' => __ ( 'Nigeria' , 'ultimate-member' ),
'NU' => __ ( 'Niue' , 'ultimate-member' ),
'NF' => __ ( 'Norfolk Island' , 'ultimate-member' ),
'MP' => __ ( 'Northern Mariana Islands' , 'ultimate-member' ),
'NO' => __ ( 'Norway' , 'ultimate-member' ),
'OM' => __ ( 'Oman' , 'ultimate-member' ),
'PK' => __ ( 'Pakistan' , 'ultimate-member' ),
'PW' => __ ( 'Palau' , 'ultimate-member' ),
'PS' => __ ( 'Palestine' , 'ultimate-member' ),
'PA' => __ ( 'Panama' , 'ultimate-member' ),
'PG' => __ ( 'Papua New Guinea' , 'ultimate-member' ),
'PY' => __ ( 'Paraguay' , 'ultimate-member' ),
'PE' => __ ( 'Peru' , 'ultimate-member' ),
'PH' => __ ( 'Philippines' , 'ultimate-member' ),
'PN' => __ ( 'Pitcairn' , 'ultimate-member' ),
'PL' => __ ( 'Poland' , 'ultimate-member' ),
'PT' => __ ( 'Portugal' , 'ultimate-member' ),
'PR' => __ ( 'Puerto Rico' , 'ultimate-member' ),
'QA' => __ ( 'Qatar' , 'ultimate-member' ),
'RE' => __ ( 'Réunion' , 'ultimate-member' ),
'RO' => __ ( 'Romania' , 'ultimate-member' ),
'RU' => __ ( 'Russian Federation' , 'ultimate-member' ),
'RW' => __ ( 'Rwanda' , 'ultimate-member' ),
'BL' => __ ( 'Saint Barthélemy' , 'ultimate-member' ),
'SH' => __ ( 'Saint Helena' , 'ultimate-member' ),
'KN' => __ ( 'Saint Kitts and Nevis' , 'ultimate-member' ),
'LC' => __ ( 'Saint Lucia' , 'ultimate-member' ),
'MF' => __ ( 'Saint Martin (French part)' , 'ultimate-member' ),
'PM' => __ ( 'Saint Pierre and Miquelon' , 'ultimate-member' ),
'VC' => __ ( 'Saint Vincent and the Grenadines' , 'ultimate-member' ),
'WS' => __ ( 'Samoa' , 'ultimate-member' ),
'SM' => __ ( 'San Marino' , 'ultimate-member' ),
'ST' => __ ( 'Sao Tome and Principe' , 'ultimate-member' ),
'SA' => __ ( 'Saudi Arabia' , 'ultimate-member' ),
'SN' => __ ( 'Senegal' , 'ultimate-member' ),
'RS' => __ ( 'Serbia' , 'ultimate-member' ),
'SC' => __ ( 'Seychelles' , 'ultimate-member' ),
'SL' => __ ( 'Sierra Leone' , 'ultimate-member' ),
'SG' => __ ( 'Singapore' , 'ultimate-member' ),
'SK' => __ ( 'Slovakia' , 'ultimate-member' ),
'SI' => __ ( 'Slovenia' , 'ultimate-member' ),
'SB' => __ ( 'Solomon Islands' , 'ultimate-member' ),
'SO' => __ ( 'Somalia' , 'ultimate-member' ),
'ZA' => __ ( 'South Africa' , 'ultimate-member' ),
'GS' => __ ( 'South Georgia and the South Sandwich Islands' , 'ultimate-member' ),
'SS' => __ ( 'South Sudan' , 'ultimate-member' ),
'ES' => __ ( 'Spain' , 'ultimate-member' ),
'LK' => __ ( 'Sri Lanka' , 'ultimate-member' ),
'SD' => __ ( 'Sudan' , 'ultimate-member' ),
'SR' => __ ( 'Suriname' , 'ultimate-member' ),
'SJ' => __ ( 'Svalbard and Jan Mayen' , 'ultimate-member' ),
'SZ' => __ ( 'Swaziland' , 'ultimate-member' ),
'SE' => __ ( 'Sweden' , 'ultimate-member' ),
'CH' => __ ( 'Switzerland' , 'ultimate-member' ),
'SY' => __ ( 'Syrian Arab Republic' , 'ultimate-member' ),
'TW' => __ ( 'Taiwan, Province of China' , 'ultimate-member' ),
'TJ' => __ ( 'Tajikistan' , 'ultimate-member' ),
'TZ' => __ ( 'Tanzania, United Republic of' , 'ultimate-member' ),
'TH' => __ ( 'Thailand' , 'ultimate-member' ),
'TL' => __ ( 'Timor-Leste' , 'ultimate-member' ),
'TG' => __ ( 'Togo' , 'ultimate-member' ),
'TK' => __ ( 'Tokelau' , 'ultimate-member' ),
'TO' => __ ( 'Tonga' , 'ultimate-member' ),
'TT' => __ ( 'Trinidad and Tobago' , 'ultimate-member' ),
'TN' => __ ( 'Tunisia' , 'ultimate-member' ),
'TR' => __ ( 'Turkey' , 'ultimate-member' ),
'TM' => __ ( 'Turkmenistan' , 'ultimate-member' ),
'TC' => __ ( 'Turks and Caicos Islands' , 'ultimate-member' ),
'TV' => __ ( 'Tuvalu' , 'ultimate-member' ),
'UG' => __ ( 'Uganda' , 'ultimate-member' ),
'UA' => __ ( 'Ukraine' , 'ultimate-member' ),
'AE' => __ ( 'United Arab Emirates' , 'ultimate-member' ),
'GB' => __ ( 'United Kingdom' , 'ultimate-member' ),
'US' => __ ( 'United States' , 'ultimate-member' ),
'UM' => __ ( 'United States Minor Outlying Islands' , 'ultimate-member' ),
'UY' => __ ( 'Uruguay' , 'ultimate-member' ),
'UZ' => __ ( 'Uzbekistan' , 'ultimate-member' ),
'VU' => __ ( 'Vanuatu' , 'ultimate-member' ),
'VE' => __ ( 'Venezuela, Bolivarian Republic of' , 'ultimate-member' ),
'VN' => __ ( 'Viet Nam' , 'ultimate-member' ),
'VG' => __ ( 'Virgin Islands, British' , 'ultimate-member' ),
'VI' => __ ( 'Virgin Islands, U.S.' , 'ultimate-member' ),
'WF' => __ ( 'Wallis and Futuna' , 'ultimate-member' ),
'EH' => __ ( 'Western Sahara' , 'ultimate-member' ),
'YE' => __ ( 'Yemen' , 'ultimate-member' ),
'ZM' => __ ( 'Zambia' , 'ultimate-member' ),
'ZW' => __ ( 'Zimbabwe' , 'ultimate-member' ),
);
break ;
}
/**
* UM hook
*
* @type filter
* @title um_{$data}_predefined_field_options
* @description Extend Predefined Fields options. Where $data - field key.
* @input_vars
* [{"var":"$options","type":"array","desc":"Field's Options"}]
* @change_log
* ["Since: 2.0"]
* @usage add_filter( 'um_{$data}_predefined_field_options', 'function_name', 10, 1 );
* @example
* <?php
* add_filter( 'um_{$data}_predefined_field_options', 'my_predefined_field', 10, 1 );
* function my_predefined_field( $options ) {
* // your code here
* return $options;
* }
* ?>
*/
$array = apply_filters ( " um_ { $data } _predefined_field_options " , $array );
return $array ;
}
}
2017-07-26 14:57:52 +03:00
}