mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
Date Field Complete
This commit is contained in:
@@ -27,6 +27,7 @@
|
||||
|
||||
$save = '';
|
||||
$save[ $_metakey ]['roles'] = '';
|
||||
$save[ $_metakey ]['disabled_weekdays'] = '';
|
||||
$save[ $_metakey ]['icon'] = '';
|
||||
foreach( $array['post'] as $key => $val){
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
/***
|
||||
*** @Un-install UM completely
|
||||
***/
|
||||
add_action('um_admin_do_action__uninstall_ultimatemember', 'um_admin_do_action__uninstall_ultimatemember');
|
||||
function um_admin_do_action__uninstall_ultimatemember( $action ){
|
||||
global $ultimatemember;
|
||||
if ( !is_admin() || !current_user_can('manage_options') ) die();
|
||||
|
||||
$ultimatemember->uninstall->remove_um();
|
||||
|
||||
}
|
||||
@@ -826,7 +826,12 @@ class UM_Admin_Metabox {
|
||||
?>
|
||||
|
||||
<p><label for="_format">Date User-Friendly Format <?php $this->tooltip('The display format of the date which is visible to user.'); ?></label>
|
||||
<input type="text" name="_format" id="_format" value="<?php echo ( $this->edit_mode_value ) ? $this->edit_mode_value : 'd mmmm, yyyy'; ?>" placeholder="e.g. d mmmm, yyyy" />
|
||||
<select name="_format" id="_format" class="umaf-selectjs" style="width: 100%">
|
||||
<option value="j M Y" <?php selected( 'j M Y', $this->edit_mode_value ); ?>><?php echo $ultimatemember->datetime->get_time('j M Y'); ?></option>
|
||||
<option value="M j Y" <?php selected( 'M j Y', $this->edit_mode_value ); ?>><?php echo $ultimatemember->datetime->get_time('M j Y'); ?></option>
|
||||
<option value="j F Y" <?php selected( 'j F Y', $this->edit_mode_value ); ?>><?php echo $ultimatemember->datetime->get_time('j F Y'); ?></option>
|
||||
<option value="F j Y" <?php selected( 'F j Y', $this->edit_mode_value ); ?>><?php echo $ultimatemember->datetime->get_time('F j Y'); ?></option>
|
||||
</select>
|
||||
</p>
|
||||
|
||||
<?php } else { ?>
|
||||
|
||||
@@ -39,6 +39,7 @@ class UM_Admin_API {
|
||||
require_once um_path . 'admin/core/um-admin-actions-modal.php';
|
||||
require_once um_path . 'admin/core/um-admin-actions-fields.php';
|
||||
require_once um_path . 'admin/core/um-admin-actions-ajax.php';
|
||||
require_once um_path . 'admin/core/um-admin-actions.php';
|
||||
|
||||
require_once um_path . 'admin/core/um-admin-filters-fields.php';
|
||||
|
||||
@@ -56,11 +57,12 @@ class UM_Admin_API {
|
||||
|
||||
if ( is_admin() &&
|
||||
current_user_can('manage_options') &&
|
||||
isset($_REQUEST['um_action']) &&
|
||||
$_REQUEST['um_action'] == 'uninstall_ultimatemember'
|
||||
)
|
||||
isset($_REQUEST['um_adm_action']) &&
|
||||
$_REQUEST['um_adm_action'] != ''
|
||||
)
|
||||
{
|
||||
$ultimatemember->uninstall->remove_um();
|
||||
do_action("um_admin_do_action__", $_REQUEST['um_adm_action'] );
|
||||
do_action("um_admin_do_action__{$_REQUEST['um_adm_action']}", $_REQUEST['um_adm_action'] );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+27
-6
@@ -80,12 +80,33 @@ jQuery(document).ready(function() {
|
||||
});
|
||||
|
||||
/* datepicker */
|
||||
jQuery('.um-datepicker').pickadate({
|
||||
min: [1900,1,1],
|
||||
max: true,
|
||||
selectYears: 100,
|
||||
formatSubmit: 'yyyy/mm/dd',
|
||||
hiddenSuffix: '__true'
|
||||
jQuery('.um-datepicker').each(function(){
|
||||
elem = jQuery(this);
|
||||
|
||||
if ( elem.attr('data-years_x') == 'past' ) {var max = true;}
|
||||
if ( elem.attr('data-years_x') == 'equal' ) {var max = false;}
|
||||
if ( elem.attr('data-years_x') == 'future' ) {var min = true;var max = '';}
|
||||
|
||||
if ( elem.attr('data-disabled_weekdays') != '' ) {
|
||||
var disable = JSON.parse( elem.attr('data-disabled_weekdays') );
|
||||
} else {
|
||||
var disable = false;
|
||||
}
|
||||
|
||||
if ( elem.attr('data-range') == 'date_range' ) {
|
||||
var min = new Date( elem.attr('data-date_min') );
|
||||
var max = new Date( elem.attr('data-date_max') );
|
||||
}
|
||||
|
||||
elem.pickadate({
|
||||
selectYears: elem.attr('data-years'),
|
||||
min: min,
|
||||
max: max,
|
||||
disable: disable,
|
||||
format: elem.attr('data-format'),
|
||||
formatSubmit: 'yyyy/mm/dd',
|
||||
hiddenName: true,
|
||||
});
|
||||
});
|
||||
|
||||
/* timepicker */
|
||||
|
||||
+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;
|
||||
|
||||
@@ -55,7 +55,7 @@ Author URI: http://ultimatemember.com/
|
||||
|
||||
$links = $more_links + $links;
|
||||
|
||||
$links[] = '<a href="'.admin_url().'?um_action=uninstall_ultimatemember" class="delete" title="'.__('Remove this plugin','ultimatemember').'">' . __( 'Uninstall','ultimatemember' ) . '</a>';
|
||||
$links[] = '<a href="'.admin_url().'?um_adm_action=uninstall_ultimatemember" class="delete" title="'.__('Remove this plugin','ultimatemember').'">' . __( 'Uninstall','ultimatemember' ) . '</a>';
|
||||
|
||||
return $links;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user