datepicker 가 내장된 브라우저에서는 내장 기능 사용

This commit is contained in:
MinSoo Kim 2016-02-23 04:13:14 +09:00
parent 81b1fd5752
commit c9ed1f08e9
7 changed files with 213 additions and 35 deletions

View file

@ -47,7 +47,7 @@
}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$.extend($.datepicker.regional['{$lang_type}'],option);
$(".inputDate").datepicker(option);
});
})(jQuery);

View file

@ -486,7 +486,7 @@ class memberAdminView extends member
else if($formInfo->name == 'birthday')
{
$formTag->type = 'date';
$inputTag = sprintf('<input type="hidden" name="birthday" id="date_birthday" value="%s" /><input type="text" placeholder="YYYY-MM-DD" name="birthday_ui" class="inputDate" id="birthday" value="%s" readonly="readonly" /> <input type="button" value="%s" class="btn dateRemover" />',
$inputTag = sprintf('<input type="hidden" name="birthday" id="date_birthday" value="%s" /><input type="date" placeholder="YYYY-MM-DD" name="birthday_ui" class="inputDate" id="birthday" value="%s" min="' . date('Y-m-d',strtotime('-200 years')) . '" max="' . date('Y-m-d',strtotime('+10 years')) . '" onchange="jQuery(\'#date_birthday\').val(this.value.replace(/-/g,\'\'));" readonly="readonly" /> <input type="button" value="%s" class="btn dateRemover" />',
$memberInfo['birthday'],
zdate($memberInfo['birthday'], 'Y-m-d', false),
$lang->cmd_delete);
@ -627,7 +627,7 @@ class memberAdminView extends member
else if($extendForm->column_type == 'date')
{
$extentionReplace = array('date' => zdate($extendForm->value, 'Y-m-d'), 'cmd_delete' => $lang->cmd_delete);
$template = '<input type="hidden" name="%column_name%" id="date_%column_name%" value="%value%" /><input type="text" placeholder="YYYY-MM-DD" class="inputDate" value="%date%" readonly="readonly" /> <input type="button" value="%cmd_delete%" class="btn dateRemover" />';
$template = '<input type="hidden" name="%column_name%" id="date_%column_name%" value="%value%" /><input type="date" placeholder="YYYY-MM-DD" class="inputDate" value="%date%" onchange="jQuery(\'#date_%column_name%\').val(this.value.replace(/-/g,\'\'));" readonly="readonly" /> <input type="button" value="%cmd_delete%" class="btn dateRemover" />';
}
$replace = array_merge($extentionReplace, $replace);

View file

@ -301,7 +301,16 @@ class memberController extends member
$args->{$val} = Context::get($val);
if($val == 'birthday') $args->birthday_ui = Context::get('birthday_ui');
}
$args->birthday = intval(strtr($args->birthday, array('-'=>'', '/'=>'', '.'=>'', ' '=>'')));
// mobile input date format can be different
if($args->birthday !== intval($args->birthday))
{
$args->birthday = date('Ymd', strtotime($args->birthday));
}
else
{
$args->birthday = intval($args->birthday);
}
if(!$args->birthday && $args->birthday_ui) $args->birthday = intval(strtr($args->birthday_ui, array('-'=>'', '/'=>'', '.'=>'', ' '=>'')));
$args->find_account_answer = Context::get('find_account_answer');
@ -535,8 +544,18 @@ class memberController extends member
// Login Information
$logged_info = Context::get('logged_info');
$args->member_srl = $logged_info->member_srl;
$args->birthday = intval(strtr($args->birthday, array('-'=>'', '/'=>'', '.'=>'', ' '=>'')));
// mobile input date format can be different
if($args->birthday !== intval($args->birthday))
{
$args->birthday = date('Ymd', strtotime($args->birthday));
}
else
{
$args->birthday = intval($args->birthday);
}
if(!$args->birthday && $args->birthday_ui) $args->birthday = intval(strtr($args->birthday_ui, array('-'=>'', '/'=>'', '.'=>'', ' '=>'')));
// Remove some unnecessary variables from all the vars
$all_args = Context::getRequestVars();
unset($all_args->module);
@ -1938,10 +1957,23 @@ class memberController extends member
$output = ModuleHandler::triggerCall('member.insertMember', 'before', $args);
if(!$output->toBool()) return $output;
// Terms and Conditions portion of the information set up by members reaffirmed
$oModuleModel = getModel('module');
$config = $oModuleModel->getModuleConfig('member');
$oMemberModel = getModel('member');
$config = $oMemberModel->getMemberConfig();
$logged_info = Context::get('logged_info');
// limit_date format is YYYYMMDD
if($args->limit_date)
{
// mobile input date format can be different
if($args->limit_date !== intval($args->limit_date))
{
$args->limit_date = date('Ymd', strtotime($args->limit_date));
}
else
{
$args->limit_date = intval($args->limit_date);
}
}
// If the date of the temporary restrictions limit further information on the date of
if($config->limit_day) $args->limit_date = date("YmdHis", $_SERVER['REQUEST_TIME']+$config->limit_day*60*60*24);
@ -1980,6 +2012,49 @@ class memberController extends member
if($args->homepage && !preg_match("/^[a-z]+:\/\//i",$args->homepage)) $args->homepage = 'http://'.$args->homepage;
if($args->blog && !preg_match("/^[a-z]+:\/\//i",$args->blog)) $args->blog = 'http://'.$args->blog;
$extend_form_list = $oMemberModel->getCombineJoinForm($memberInfo);
$security = new Security($extend_form_list);
$security->encodeHTML('..column_title', '..description', '..default_value.');
if($config->signupForm) {
foreach($config->signupForm as $no => $formInfo)
{
if(!$formInfo->isUse) continue;
if($formInfo->isDefaultForm)
{
// birthday format is YYYYMMDD
if($formInfo->name === 'birthday' && $args->{$formInfo->name})
{
// mobile input date format can be different
if($args->{$formInfo->name} !== intval($args->{$formInfo->name}))
{
$args->{$formInfo->name} = date('Ymd', strtotime($args->{$formInfo->name}));
}
else
{
$args->{$formInfo->name} = intval($args->{$formInfo->name});
}
}
}
else
{
$extendForm = $extend_form_list[$formInfo->member_join_form_srl];
// date format is YYYYMMDD
if($extendForm->column_type == 'date' && $args->{$formInfo->name})
{
if($args->{$formInfo->name} !== intval($args->{$formInfo->name}))
{
$args->{$formInfo->name} = date('Ymd', strtotime($args->{$formInfo->name}));
}
else
{
$args->{$formInfo->name} = intval($args->{$formInfo->name});
}
}
}
}
}
// Create a model object
$oMemberModel = getModel('member');
@ -2096,7 +2171,6 @@ class memberController extends member
}
}
$member_config = $oModuleModel->getModuleConfig('member');
// When using email authentication mode (when you subscribed members denied a) certified mail sent
if($args->denied == 'Y')
{
@ -2146,6 +2220,7 @@ class memberController extends member
if(!$output->toBool()) return $output;
// Create a model object
$oMemberModel = getModel('member');
$config = $oMemberModel->getMemberConfig();
$logged_info = Context::get('logged_info');
// Get what you want to modify the original information
@ -2180,7 +2255,62 @@ class memberController extends member
if($args->blog && !preg_match("/^[a-z]+:\/\//is",$args->blog)) $args->blog = 'http://'.$args->blog;
// check member identifier form
$config = $oMemberModel->getMemberConfig();
// limit_date format is YYYYMMDD
if($args->limit_date)
{
// mobile input date format can be different
if($args->limit_date !== intval($args->limit_date))
{
$args->limit_date = date('Ymd', strtotime($args->limit_date));
}
else
{
$args->limit_date = intval($args->limit_date);
}
}
$extend_form_list = $oMemberModel->getCombineJoinForm($memberInfo);
$security = new Security($extend_form_list);
$security->encodeHTML('..column_title', '..description', '..default_value.');
if($config->signupForm){
foreach($config->signupForm as $no => $formInfo)
{
if(!$formInfo->isUse) continue;
if($formInfo->isDefaultForm)
{
// birthday format is YYYYMMDD
if($formInfo->name === 'birthday' && $args->{$formInfo->name})
{
if($args->{$formInfo->name} !== intval($args->{$formInfo->name}))
{
$args->{$formInfo->name} = date('Ymd', strtotime($args->{$formInfo->name}));
}
else
{
$args->{$formInfo->name} = intval($args->{$formInfo->name});
}
}
}
else
{
$extendForm = $extend_form_list[$formInfo->member_join_form_srl];
// date format is YYYYMMDD
if($extendForm->column_type == 'date' && $args->{$formInfo->name})
{
if($args->{$formInfo->name} !== intval($args->{$formInfo->name}))
{
$args->{$formInfo->name} = date('Ymd', strtotime($args->{$formInfo->name}));
}
else
{
$args->{$formInfo->name} = intval($args->{$formInfo->name});
}
}
}
}
}
$output = executeQuery('member.getMemberInfoByMemberSrl', $args);
$orgMemberInfo = $output->data;

View file

@ -66,16 +66,33 @@ jQuery(function($){
});
});
(function($){
$(function(){
var option = { changeMonth: true, changeYear: true, gotoCurrent: false,yearRange:'-100:+10', dateFormat:'yy-mm-dd', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
$(function(){
// check if the browser support type date.
if ( $(".inputDate").prop('type') != 'date' ) {
var option = {
changeMonth: true,
changeYear: true,
gotoCurrent: false,
yearRange:'-200:+10',
dateFormat:'yy-mm-dd',
defaultDate: new Date("{date('Y-m-d',time())}"),
minDate: new Date("{date('Y-m-d',strtotime('-200 years'))}"),
onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))
}
};
$.extend($.datepicker.regional['{$lang_type}'],option);
//if the browser does not support type date input, start datepicker. If it does, brower's UI will show their datepicker.
$(".inputDate").datepicker(option);
} else {
$(".inputDate").prop('readonly', false);
}
$(".dateRemover").click(function() {
$(this).prevAll('input').val('');
return false;});
});
});
})(jQuery);
</script>
<include target="./common_footer.html" />

View file

@ -72,7 +72,7 @@
</div>
</form>
<script>
jQuery(function($){
(function($){
// label for setup
$('.control-label[for]').each(function(){
var $this = $(this);
@ -80,15 +80,30 @@ jQuery(function($){
$this.attr('for', $this.next().children(':visible:first').attr('id'));
}
});
});
(function($){
$(function(){
var option = { changeMonth: true, changeYear: true, gotoCurrent: false,yearRange:'-100:+10', dateFormat:'yy-mm-dd', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
$(function(){
// check if the browser support type date.
if ( $(".inputDate").prop('type') != 'date' ) {
var option = {
changeMonth: true,
changeYear: true,
gotoCurrent: false,
yearRange:'-200:+10',
dateFormat:'yy-mm-dd',
defaultDate: new Date("{date('Y-m-d',time())}"),
minDate: new Date("{date('Y-m-d',strtotime('-200 years'))}"),
onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))
}
};
$.extend($.datepicker.regional['{$lang_type}'],option);
//if the browser does not support type date input, start datepicker. If it does, brower's UI will show their datepicker.
$(".inputDate").datepicker(option);
} else {
$(".inputDate").prop('readonly', false);
}
$(".dateRemover").click(function() {
$(this).prevAll('input').val('');
return false;});

View file

@ -88,7 +88,7 @@
<label class="x_control-label" for="until">{$lang->limit_date}</label>
<div class="x_controls">
<input type="hidden" name="limit_date" id="date_limit_date" value="{$member_info->limit_date}" />
<input type="text" readonly placeholder="YYYY-MM-DD" class="inputDate" id="until" value="{zdate($member_info->limit_date,'Y-m-d',false)}" />
<input type="date" readonly placeholder="YYYY-MM-DD" class="inputDate" id="until" min="' . date('Y-m-d',strtotime('-10 years')) . '" max="' . date('Y-m-d',strtotime('+100 years')) . '" onchange="jQuery('#date_limit_date').val(this.value.replace(/-/g,''));" value="{zdate($member_info->limit_date,'Y-m-d',false)}" />
<input type="button" value="{$lang->cmd_delete}" class="x_btn dateRemover" />
<span class="x_help-inline">{$lang->about_limit_date}</span>
</div>
@ -124,15 +124,31 @@
<script>
(function($){
$(function(){
var option = { changeMonth: true, changeYear: true, gotoCurrent: false,yearRange:'-100:+10', dateFormat:'yy-mm-dd', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
// check if the browser support type date.
if ( $(".inputDate").prop('type') != 'date' ) {
var option = {
changeMonth: true,
changeYear: true,
gotoCurrent: false,
yearRange:'-200:+10',
dateFormat:'yy-mm-dd',
defaultDate: new Date("{date('Y-m-d',time())}"),
minDate: new Date("{date('Y-m-d',strtotime('-200 years'))}"),
onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))
}
};
$.extend($.datepicker.regional['{$lang_type}'],option);
//if the browser does not support type date input, start datepicker. If it does, brower's UI will show their datepicker.
$(".inputDate").datepicker(option);
} else {
$(".inputDate").prop('readonly', false);
}
$(".dateRemover").click(function() {
$(this).prevAll('input').val('');
return false;
});
return false;});
});
var refused_reason_division = $('.div_refused_reason');

View file

@ -23,7 +23,7 @@ class pollController extends poll
// mobile input date format can be different
if($stop_date != Context::get('stop_date'))
{
$stop_date = date('Ymd', strtodate(Context::get('stop_date')));
$stop_date = date('Ymd', strtotime(Context::get('stop_date')));
}
if($stop_date < date('Ymd'))
{