mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-17 13:43:38 +09:00
Date Field Complete
This commit is contained in:
+1
-1
@@ -548,7 +548,7 @@ class UM_Builtin {
|
||||
'pretty_format' => 1,
|
||||
'years' => 115,
|
||||
'years_x' => 'past',
|
||||
'icon' => 'um-icon-calendar-7'
|
||||
'icon' => 'um-icon-calendar-2'
|
||||
),
|
||||
|
||||
'gender' => array(
|
||||
|
||||
@@ -13,6 +13,22 @@ class UM_DateTime {
|
||||
return current_time( $format );
|
||||
}
|
||||
|
||||
/***
|
||||
*** @Get age
|
||||
***/
|
||||
function get_age($then) {
|
||||
$then_ts = strtotime($then);
|
||||
$then_year = date('Y', $then_ts);
|
||||
$age = date('Y') - $then_year;
|
||||
if(strtotime('+' . $age . ' years', $then_ts) > time()) $age--;
|
||||
if ( $age == 1 )
|
||||
return sprintf(__('%s year old','ultimatemember'), $age );
|
||||
if ( $age > 1 )
|
||||
return sprintf(__('%s years old','ultimatemember'), $age );
|
||||
if ( $age == 0 )
|
||||
return __('Less than 1 year old','ultimatemember');
|
||||
}
|
||||
|
||||
/***
|
||||
*** @Reformat dates
|
||||
***/
|
||||
|
||||
+44
-2
@@ -245,7 +245,13 @@ class UM_Fields {
|
||||
if ( isset($data['icon']) && $data['icon'] != '' && isset( $this->field_icons ) && ( $this->field_icons == 'label' || $this->viewing == true ) ) {
|
||||
$output .= '<div class="um-field-label-icon"><i class="'.$data['icon'].'"></i></div>';
|
||||
}
|
||||
|
||||
|
||||
if ( $this->viewing == true ) {
|
||||
$label = apply_filters("um_view_label_{$key}", $label );
|
||||
} else {
|
||||
$label = apply_filters("um_edit_label_{$key}", $label );
|
||||
}
|
||||
|
||||
$output .= '<label for="'.$key.$ultimatemember->form->form_suffix.'">'.$label.'</label>';
|
||||
|
||||
if ( isset( $data['help'] ) && !empty( $data['help'] ) && $this->viewing == false ) {
|
||||
@@ -545,6 +551,42 @@ class UM_Fields {
|
||||
|
||||
$array['input'] = 'text';
|
||||
|
||||
if ( !isset( $array['format'] ) ) $array['format'] = 'j M Y';
|
||||
|
||||
switch( $array['format'] ) {
|
||||
case 'j M Y':
|
||||
$js_format = 'd mmm yyyy';
|
||||
break;
|
||||
case 'j F Y':
|
||||
$js_format = 'd mmmm yyyy';
|
||||
break;
|
||||
case 'M j Y':
|
||||
$js_format = 'mmm d yyyy';
|
||||
break;
|
||||
case 'F j Y':
|
||||
$js_format = 'mmmm d yyyy';
|
||||
break;
|
||||
}
|
||||
|
||||
$array['js_format'] = $js_format;
|
||||
|
||||
if ( !isset( $array['range'] ) ) $array['range'] = 'years';
|
||||
if ( !isset( $array['years'] ) ) $array['years'] = 100;
|
||||
if ( !isset( $array['years_x'] ) ) $array['years_x'] = 'past';
|
||||
if ( !isset( $array['disabled_weekdays'] ) ) $array['disabled_weekdays'] = '';
|
||||
|
||||
if ( !empty( $array['disabled_weekdays'] ) ) {
|
||||
$array['disabled_weekdays'] = '[' . implode(',',$array['disabled_weekdays']) . ']';
|
||||
}
|
||||
|
||||
if ( $array['range'] == 'date_range' ) {
|
||||
$array['date_min'] = str_replace('/',',',$array['range_start']);
|
||||
$array['date_max'] = str_replace('/',',',$array['range_end']);
|
||||
}
|
||||
|
||||
if ( !isset( $array['date_min'] ) ) $array['date_min'] = '';
|
||||
if ( !isset( $array['date_max'] ) ) $array['date_max'] = '';
|
||||
|
||||
if (!isset($array['autocomplete'])) $array['autocomplete'] = 'on';
|
||||
|
||||
break;
|
||||
@@ -908,7 +950,7 @@ class UM_Fields {
|
||||
|
||||
}
|
||||
|
||||
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" autocomplete="'.$autocomplete.'" />
|
||||
$output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" autocomplete="'.$autocomplete.'" data-range="'.$range.'" data-years="'.$years.'" data-years_x="'.$years_x.'" data-disabled_weekdays="'.$disabled_weekdays.'" data-date_min="'.$date_min.'" data-date_max="'.$date_max.'" data-format="'.$js_format.'" data-value="'. $this->field_value( $key, $default, $data ) .'" />
|
||||
|
||||
</div>';
|
||||
|
||||
|
||||
@@ -1,5 +1,30 @@
|
||||
<?php
|
||||
|
||||
/***
|
||||
*** @Dates
|
||||
***/
|
||||
add_filter('um_view_label_birth_date', 'um_view_label_birth_date');
|
||||
function um_view_label_birth_date( $label ) {
|
||||
$label = __('Age','ultimatemember');
|
||||
return $label;
|
||||
}
|
||||
|
||||
/***
|
||||
*** @Dates
|
||||
***/
|
||||
add_filter('um_profile_field_filter_hook__date', 'um_profile_field_filter_hook__date', 99, 2);
|
||||
function um_profile_field_filter_hook__date( $value, $data ) {
|
||||
global $ultimatemember;
|
||||
|
||||
if ( $data['pretty_format'] == 1 ) {
|
||||
$value = $ultimatemember->datetime->get_age( $value );
|
||||
} else {
|
||||
$value = $ultimatemember->datetime->format( $value, $data['format'] );
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
/***
|
||||
*** @Images
|
||||
***/
|
||||
@@ -45,7 +70,7 @@
|
||||
}
|
||||
|
||||
/***
|
||||
*** @some required changes before value is shown
|
||||
*** @Global
|
||||
***/
|
||||
add_filter('um_profile_field_filter_hook__', 'um_profile_field_filter_hook__', 99, 2);
|
||||
function um_profile_field_filter_hook__( $value, $data ) {
|
||||
|
||||
@@ -492,18 +492,25 @@
|
||||
function um_get_avatar_uri( $image, $attrs ) {
|
||||
global $ultimatemember;
|
||||
$uri = false;
|
||||
$find = false;
|
||||
|
||||
if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/profile_photo-' . $attrs. '.jpg' ) ) {
|
||||
|
||||
$uri = um_user_uploads_uri() . 'profile_photo-'.$attrs.'.jpg?' . time();
|
||||
|
||||
} else {
|
||||
|
||||
$sizes = um_get_option('photo_thumb_sizes');
|
||||
$find = um_closest_num( $sizes, $attrs );
|
||||
if ( is_array( $sizes ) ) $find = um_closest_num( $sizes, $attrs );
|
||||
|
||||
if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/profile_photo-' . $find. '.jpg' ) ) {
|
||||
|
||||
$uri = um_user_uploads_uri() . 'profile_photo-'.$find.'.jpg?' . time();
|
||||
|
||||
} else if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/profile_photo.jpg' ) ) {
|
||||
|
||||
$uri = um_user_uploads_uri() . 'profile_photo.jpg?' . time();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -152,8 +152,8 @@ class UM_Validation {
|
||||
/***
|
||||
*** @To validate given date input
|
||||
***/
|
||||
function validate_date( $date, $format='YYYY/MM/DD' ) {
|
||||
if ( strlen( $date ) != strlen($format) ) return false;
|
||||
function validate_date( $date, $format='YYYY/MM/D' ) {
|
||||
if ( strlen( $date ) < strlen($format) ) return false;
|
||||
if ( $date[4] != '/' ) return false;
|
||||
if ( $date[7] != '/' ) return false;
|
||||
if ( false === strtotime($date) ) return false;
|
||||
|
||||
Reference in New Issue
Block a user