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); $(".inputDate").datepicker(option);
}); });
})(jQuery); })(jQuery);

View file

@ -486,7 +486,7 @@ class memberAdminView extends member
else if($formInfo->name == 'birthday') else if($formInfo->name == 'birthday')
{ {
$formTag->type = 'date'; $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'], $memberInfo['birthday'],
zdate($memberInfo['birthday'], 'Y-m-d', false), zdate($memberInfo['birthday'], 'Y-m-d', false),
$lang->cmd_delete); $lang->cmd_delete);
@ -627,7 +627,7 @@ class memberAdminView extends member
else if($extendForm->column_type == 'date') else if($extendForm->column_type == 'date')
{ {
$extentionReplace = array('date' => zdate($extendForm->value, 'Y-m-d'), 'cmd_delete' => $lang->cmd_delete); $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); $replace = array_merge($extentionReplace, $replace);

View file

@ -301,7 +301,16 @@ class memberController extends member
$args->{$val} = Context::get($val); $args->{$val} = Context::get($val);
if($val == 'birthday') $args->birthday_ui = Context::get('birthday_ui'); 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('-'=>'', '/'=>'', '.'=>'', ' '=>''))); if(!$args->birthday && $args->birthday_ui) $args->birthday = intval(strtr($args->birthday_ui, array('-'=>'', '/'=>'', '.'=>'', ' '=>'')));
$args->find_account_answer = Context::get('find_account_answer'); $args->find_account_answer = Context::get('find_account_answer');
@ -535,8 +544,18 @@ class memberController extends member
// Login Information // Login Information
$logged_info = Context::get('logged_info'); $logged_info = Context::get('logged_info');
$args->member_srl = $logged_info->member_srl; $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('-'=>'', '/'=>'', '.'=>'', ' '=>''))); if(!$args->birthday && $args->birthday_ui) $args->birthday = intval(strtr($args->birthday_ui, array('-'=>'', '/'=>'', '.'=>'', ' '=>'')));
// Remove some unnecessary variables from all the vars // Remove some unnecessary variables from all the vars
$all_args = Context::getRequestVars(); $all_args = Context::getRequestVars();
unset($all_args->module); unset($all_args->module);
@ -1938,10 +1957,23 @@ class memberController extends member
$output = ModuleHandler::triggerCall('member.insertMember', 'before', $args); $output = ModuleHandler::triggerCall('member.insertMember', 'before', $args);
if(!$output->toBool()) return $output; if(!$output->toBool()) return $output;
// Terms and Conditions portion of the information set up by members reaffirmed // Terms and Conditions portion of the information set up by members reaffirmed
$oModuleModel = getModel('module'); $oMemberModel = getModel('member');
$config = $oModuleModel->getModuleConfig('member'); $config = $oMemberModel->getMemberConfig();
$logged_info = Context::get('logged_info'); $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 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); 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->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; 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 // Create a model object
$oMemberModel = getModel('member'); $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 // When using email authentication mode (when you subscribed members denied a) certified mail sent
if($args->denied == 'Y') if($args->denied == 'Y')
{ {
@ -2146,6 +2220,7 @@ class memberController extends member
if(!$output->toBool()) return $output; if(!$output->toBool()) return $output;
// Create a model object // Create a model object
$oMemberModel = getModel('member'); $oMemberModel = getModel('member');
$config = $oMemberModel->getMemberConfig();
$logged_info = Context::get('logged_info'); $logged_info = Context::get('logged_info');
// Get what you want to modify the original information // 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; if($args->blog && !preg_match("/^[a-z]+:\/\//is",$args->blog)) $args->blog = 'http://'.$args->blog;
// check member identifier form // 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); $output = executeQuery('member.getMemberInfoByMemberSrl', $args);
$orgMemberInfo = $output->data; $orgMemberInfo = $output->data;

View file

@ -66,16 +66,33 @@ jQuery(function($){
}); });
}); });
(function($){ (function($){
$(function(){ $(function(){
var option = { changeMonth: true, changeYear: true, gotoCurrent: false,yearRange:'-100:+10', dateFormat:'yy-mm-dd', onSelect:function(){ // check if the browser support type date.
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))} if ( $(".inputDate").prop('type') != 'date' ) {
}; var option = {
$.extend(option,$.datepicker.regional['{$lang_type}']); changeMonth: true,
$(".inputDate").datepicker(option); 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() { $(".dateRemover").click(function() {
$(this).prevAll('input').val(''); $(this).prevAll('input').val('');
return false;}); return false;});
}); });
})(jQuery); })(jQuery);
</script> </script>
<include target="./common_footer.html" /> <include target="./common_footer.html" />

View file

@ -72,7 +72,7 @@
</div> </div>
</form> </form>
<script> <script>
jQuery(function($){ (function($){
// label for setup // label for setup
$('.control-label[for]').each(function(){ $('.control-label[for]').each(function(){
var $this = $(this); var $this = $(this);
@ -80,19 +80,34 @@ jQuery(function($){
$this.attr('for', $this.next().children(':visible:first').attr('id')); $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,""))} $(function(){
}; // check if the browser support type date.
$.extend(option,$.datepicker.regional['{$lang_type}']); if ( $(".inputDate").prop('type') != 'date' ) {
$(".inputDate").datepicker(option); 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() { $(".dateRemover").click(function() {
$(this).prevAll('input').val(''); $(this).prevAll('input').val('');
return false;}); return false;});
}); });
})(jQuery); })(jQuery);
</script> </script>
<include target="./common_footer.html" /> <include target="./common_footer.html" />

View file

@ -88,7 +88,7 @@
<label class="x_control-label" for="until">{$lang->limit_date}</label> <label class="x_control-label" for="until">{$lang->limit_date}</label>
<div class="x_controls"> <div class="x_controls">
<input type="hidden" name="limit_date" id="date_limit_date" value="{$member_info->limit_date}" /> <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" /> <input type="button" value="{$lang->cmd_delete}" class="x_btn dateRemover" />
<span class="x_help-inline">{$lang->about_limit_date}</span> <span class="x_help-inline">{$lang->about_limit_date}</span>
</div> </div>
@ -124,15 +124,31 @@
<script> <script>
(function($){ (function($){
$(function(){ $(function(){
var option = { changeMonth: true, changeYear: true, gotoCurrent: false,yearRange:'-100:+10', dateFormat:'yy-mm-dd', onSelect:function(){ // check if the browser support type date.
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))} if ( $(".inputDate").prop('type') != 'date' ) {
}; var option = {
$.extend(option,$.datepicker.regional['{$lang_type}']); changeMonth: true,
$(".inputDate").datepicker(option); 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() { $(".dateRemover").click(function() {
$(this).prevAll('input').val(''); $(this).prevAll('input').val('');
return false; return false;});
});
}); });
var refused_reason_division = $('.div_refused_reason'); var refused_reason_division = $('.div_refused_reason');

View file

@ -23,7 +23,7 @@ class pollController extends poll
// mobile input date format can be different // mobile input date format can be different
if($stop_date != Context::get('stop_date')) 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')) if($stop_date < date('Ymd'))
{ {