/*
* 제작자: LI-NA (hyung778@gmail.com);
* 라이선스: GPL v2;
* 쿠로네코: 다이스키;
*/
$ai = $addon_info;
$allowed_email_list = explode("\r\n", $ai->allowed_email_list);
$allowed_nick_sc_list = explode("\r\n", $ai->allowed_nick_sc_list);
$block_member_extvar_list = explode("\r\n", $ai->block_member_extvar_list);
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y' && $ai->block_admin == 'y') return;
if($called_position=='before_module_init') {
if(Context::get('act')=='procMemberInsert') {
// if($ai->kakao_email_chk == 'y') {
$kakao_email_chk = explode('@',Context::get('email_address'));
$kakao_email_chk = $kakao_email_chk[1];
if($kakao_email_chk =='kakao.com') $error_msg = 'kakao.com 의 이메일은 임시로 저장된 메일입니다.
수신이 가능한 다른 이메일을 입력해 주세요';
// }
if($ai->block_email_incert == 'y') {
$mail_host = explode('@',Context::get('email_address'));
$mail_host = $mail_host[1];
if(!in_array($mail_host,$allowed_email_list)) $error_msg = '허용되지 않는 메일 주소입니다.';
}
if($ai->block_name_incert != 'n') {
$temp_name = iconv(mb_detect_encoding(Context::get('user_name'), 'auto'),'utf-8',Context::get('user_name'));
if($ai->block_name_incert == 'k' && !preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $temp_name)) $error_msg = '이름은 한글 1자 이상 포함되어야 됩니다.';
$temp_name = explode(' ',Context::get('user_name'));
if($ai->block_name_incert == 'e' && !preg_match("/^([a-zA-Z]+)$/u", $temp_name)) $error_msg = 'Only english is allowed for name.';
}
if($ai->block_name_length != 0) {
if($ai->block_name_length_type == '1' && mb_strlen(Context::get('user_name'),'utf-8') > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
if($ai->block_name_length_type == '2' && strlen(Context::get('user_name')) > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
}
if($ai->block_nick_char_incert != 'n') {
if($ai->block_nick_char_incert == 'e' && preg_match('/([a-zA-Z]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 영문은 허용되지 않습니다.';
if($ai->block_nick_char_incert == 'k' && preg_match('/([가-힣]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 한글은 허용되지 않습니다.';
}
if($ai->block_nick_sc_incert == 'y') {
$temp_nick = iconv(mb_detect_encoding(Context::get('nick_name'), 'auto'),'utf-8',Context::get('nick_name'));
$temp_nick = str_replace($allowed_nick_sc_list,'a',$temp_nick);
if(!preg_match('/^([가-힣a-zA-Z]+)$/u',$temp_nick)) $error_msg = '닉네임에 특수문자는 허용되지 않습니다.';
}
if($ai->block_nick_length != 0) {
if($ai->block_nick_length_type == '1' && mb_strlen(Context::get('nick_name'),'utf-8') > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
if($ai->block_nick_length_type == '2' && strlen(Context::get('nick_name')) > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
}
if($ai->block_profile_image_incert == 'y' && Context::get('profile_image')) $error_msg = '프로필 이미지를 등록할 수 없습니다.';
if($ai->block_image_name_incert == 'y' && Context::get('image_name')) $error_msg = '이미지 이름을 등록할 수 없습니다.';
if($ai->block_image_mark_incert == 'y' && Context::get('image_mark')) $error_msg = '이미지 마크를 등록할 수 없습니다.';
}else if(Context::get('act')=='procMemberModifyInfo') {
if($ai->block_email_modifiy == 'y' && $logged_info->email_address != Context::get('email_address')) $error_msg = '메일 주소는 변경하실 수 없습니다.';
if($ai->block_id_modifiy == 'y' && $logged_info->user_id != Context::get('user_id')) $error_msg = '아이디는 변경하실 수 없습니다.';
if($ai->block_name_modifiy == 'y' && $logged_info->user_name != Context::get('user_name')) $error_msg = '이름은 변경하실 수 없습니다.';
if($ai->block_nick_modifiy == 'y' && $logged_info->nick_name != Context::get('nick_name')) $error_msg = '닉네임은 변경하실 수 없습니다.';
// if($ai->kakao_email_chk == 'y') {
$kakao_email_chk = explode('@',Context::get('email_address'));
$kakao_email_chk = $kakao_email_chk[1];
if($kakao_email_chk =='kakao.com') $error_msg = 'kakao.com 의 이메일은 임시로 저장된 메일입니다.
수신이 가능한 다른 이메일을 입력해 주세요';
// }
if($ai->block_email_incert == 'y') {
$mail_host = explode('@',Context::get('email_address'));
$mail_host = $mail_host[1];
if(!in_array($mail_host,$allowed_email_list)) $error_msg = '허용되지 않는 메일 주소입니다.';
}
if($ai->block_name_incert != 'n') {
$temp_name = iconv(mb_detect_encoding(Context::get('user_name'), 'auto'),'utf-8',Context::get('user_name'));
if($ai->block_name_incert == 'k' && !preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $temp_name)) $error_msg = '이름은 한글 1자 이상 포함되어야 됩니다.';
$temp_name = explode(' ',Context::get('user_name'));
if($ai->block_name_incert == 'e' && !preg_match("/^([a-zA-Z]+)$/u", $temp_name)) $error_msg = '이름은 영어만 허용됩니다.';
}
if($ai->block_name_length != 0) {
if($ai->block_name_length_type == '1' && mb_strlen(Context::get('user_name'),'utf-8') > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
if($ai->block_name_length_type == '2' && strlen(Context::get('user_name')) > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
}
if($ai->block_nick_char_incert != 'n') {
if($ai->block_nick_char_incert == 'e' && preg_match('/([a-zA-Z]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 영문은 허용되지 않습니다.';
if($ai->block_nick_char_incert == 'k' && preg_match('/([가-힣]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 한글은 허용되지 않습니다.';
}
if($ai->block_nick_sc_incert == 'y') {
$temp_nick = iconv(mb_detect_encoding(Context::get('nick_name'), 'auto'),'utf-8',Context::get('nick_name'));
$temp_nick = str_replace($allowed_nick_sc_list,'a',$temp_nick);
if(!preg_match('/^([가-힣a-zA-Z]+)$/u',$temp_nick)) $error_msg = '닉네임에 특수문자는 허용되지 않습니다.';
}
if($ai->block_nick_length != 0) {
if($ai->block_nick_length_type == '1' && mb_strlen(Context::get('nick_name'),'utf-8') > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
if($ai->block_nick_length_type == '2' && strlen(Context::get('nick_name')) > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
}
if($ai->block_profile_image_change == 'y' && Context::get('profile_image')) $error_msg = '프로필 이미지는 변경하실 수 없습니다';
if($ai->block_image_name_change == 'y' && Context::get('image_name')) $error_msg = '이미지 이름은 변경하실 수 없습니다';
if($ai->block_image_mark_change == 'y' && Context::get('image_mark')) $error_msg = '이미지 마크는 변경하실 수 없습니다';
if($ai->block_member_extvar == 'y') {
foreach($block_member_extvar_list as $key => $val) {
if($logged_info->$val != Context::get($val)) $error_msg = $val.'은(는) 변경하실 수 없습니다';
}
}
}else if(Context::get('act')=='procMemberModifyEmailAddress' || Context::get('act')=='procMemberResetAuthMail') {
$kakao_email_chk = explode('@',Context::get('email_address'));
$kakao_email_chk = $kakao_email_chk[1];
if($kakao_email_chk =='kakao.com') $error_msg = 'kakao.com 의 이메일은 임시로 저장된 메일입니다.
수신이 가능한 다른 이메일을 입력해 주세요';
if($ai->block_email_incert == 'y') {
$mail_host = explode('@',Context::get('email_address'));
$mail_host = $mail_host[1];
if(!in_array($mail_host,$allowed_email_list)) $error_msg = '허용되지 않는 메일 주소입니다.';
}
}
if($error_msg) {
$error_info = new stdClass;
$error_info->msg = $error_msg;
$error_info->id = Context::get('xe_validator_id');
$_SESSION['addon_error'] = $error_info;
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.Context::get('error_return_url'),true, 301);
Context::close();
exit();
}
}else if($called_position=='after_module_proc' && $_SESSION['addon_error']) {
$error_info = $_SESSION['addon_error'];
unset($_SESSION['addon_error']);
Context::set('XE_VALIDATOR_MESSAGE',$error_info->msg);
Context::set('XE_VALIDATOR_MESSAGE_TYPE','error');
Context::set('XE_VALIDATOR_ID',$error_info->id);
}else if($called_position=='before_display_content' && $ai->block_html_blocked == 'y') {
$block_list = '';
$disabled_list = '';
if(Context::get('act')=='dispMemberSignUpForm') {
if($ai->block_profile_image_incert == 'y') $disabled_list = $disabled_list.'\'profile_image\',';
if($ai->block_image_name_incert == 'y') $disabled_list = $disabled_list.'\'image_name\',';
if($ai->block_image_mark_incert == 'y') $disabled_list = $disabled_list.'\'image_mark\',';
}else if(Context::get('act')=='dispMemberModifyInfo') {
if($ai->kakao_email_chk == 'y') $block_list = $block_list.'\'email_address\',';
if($ai->block_email_modifiy == 'y') $block_list = $block_list.'\'email_address\',';
if($ai->block_id_modifiy == 'y') $block_list = $block_list.'\'user_id\',';
if($ai->block_name_modifiy == 'y') $block_list = $block_list.'\'user_name\',';
if($ai->block_nick_modifiy == 'y') $block_list = $block_list.'\'nick_name\',';
if($ai->block_profile_image_change == 'y') $disabled_list = $disabled_list.'\'profile_image\',';
if($ai->block_image_name_change == 'y') $disabled_list = $disabled_list.'\'image_name\',';
if($ai->block_image_mark_change == 'y') $disabled_list = $disabled_list.'\'image_mark\',';
if($ai->block_member_extvar == 'y') {
foreach($block_member_extvar_list as $key => $val) {
$block_list = $block_list.'\''.$val.'\',';
}
}
}
$block_list = $block_list.'\'tamp\'';
$disabled_list = $disabled_list.'\'tamp\'';
$code = "";
if(Context::get('act')=='dispMemberSignUpForm' || Context::get('act')=='dispMemberModifyInfo') Context::addHtmlHeader($code);
}
?>
/*
* 제작자: LI-NA (hyung778@gmail.com);
* 라이선스: GPL v2;
* 쿠로네코: 다이스키;
*/
$ai = $addon_info;
$allowed_email_list = explode("\r\n", $ai->allowed_email_list);
$allowed_nick_sc_list = explode("\r\n", $ai->allowed_nick_sc_list);
$block_member_extvar_list = explode("\r\n", $ai->block_member_extvar_list);
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y' && $ai->block_admin == 'y') return;
if($called_position=='before_module_init') {
if(Context::get('act')=='procMemberInsert') {
// if($ai->kakao_email_chk == 'y') {
$kakao_email_chk = explode('@',Context::get('email_address'));
$kakao_email_chk = $kakao_email_chk[1];
if($kakao_email_chk =='kakao.com') $error_msg = 'kakao.com 의 이메일은 임시로 저장된 메일입니다.
수신이 가능한 다른 이메일을 입력해 주세요';
// }
if($ai->block_email_incert == 'y') {
$mail_host = explode('@',Context::get('email_address'));
$mail_host = $mail_host[1];
if(!in_array($mail_host,$allowed_email_list)) $error_msg = '허용되지 않는 메일 주소입니다.';
}
if($ai->block_name_incert != 'n') {
$temp_name = iconv(mb_detect_encoding(Context::get('user_name'), 'auto'),'utf-8',Context::get('user_name'));
if($ai->block_name_incert == 'k' && !preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $temp_name)) $error_msg = '이름은 한글 1자 이상 포함되어야 됩니다.';
$temp_name = explode(' ',Context::get('user_name'));
if($ai->block_name_incert == 'e' && !preg_match("/^([a-zA-Z]+)$/u", $temp_name)) $error_msg = 'Only english is allowed for name.';
}
if($ai->block_name_length != 0) {
if($ai->block_name_length_type == '1' && mb_strlen(Context::get('user_name'),'utf-8') > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
if($ai->block_name_length_type == '2' && strlen(Context::get('user_name')) > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
}
if($ai->block_nick_char_incert != 'n') {
if($ai->block_nick_char_incert == 'e' && preg_match('/([a-zA-Z]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 영문은 허용되지 않습니다.';
if($ai->block_nick_char_incert == 'k' && preg_match('/([가-힣]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 한글은 허용되지 않습니다.';
}
if($ai->block_nick_sc_incert == 'y') {
$temp_nick = iconv(mb_detect_encoding(Context::get('nick_name'), 'auto'),'utf-8',Context::get('nick_name'));
$temp_nick = str_replace($allowed_nick_sc_list,'a',$temp_nick);
if(!preg_match('/^([가-힣a-zA-Z]+)$/u',$temp_nick)) $error_msg = '닉네임에 특수문자는 허용되지 않습니다.';
}
if($ai->block_nick_length != 0) {
if($ai->block_nick_length_type == '1' && mb_strlen(Context::get('nick_name'),'utf-8') > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
if($ai->block_nick_length_type == '2' && strlen(Context::get('nick_name')) > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
}
if($ai->block_profile_image_incert == 'y' && Context::get('profile_image')) $error_msg = '프로필 이미지를 등록할 수 없습니다.';
if($ai->block_image_name_incert == 'y' && Context::get('image_name')) $error_msg = '이미지 이름을 등록할 수 없습니다.';
if($ai->block_image_mark_incert == 'y' && Context::get('image_mark')) $error_msg = '이미지 마크를 등록할 수 없습니다.';
}else if(Context::get('act')=='procMemberModifyInfo') {
if($ai->block_email_modifiy == 'y' && $logged_info->email_address != Context::get('email_address')) $error_msg = '메일 주소는 변경하실 수 없습니다.';
if($ai->block_id_modifiy == 'y' && $logged_info->user_id != Context::get('user_id')) $error_msg = '아이디는 변경하실 수 없습니다.';
if($ai->block_name_modifiy == 'y' && $logged_info->user_name != Context::get('user_name')) $error_msg = '이름은 변경하실 수 없습니다.';
if($ai->block_nick_modifiy == 'y' && $logged_info->nick_name != Context::get('nick_name')) $error_msg = '닉네임은 변경하실 수 없습니다.';
// if($ai->kakao_email_chk == 'y') {
$kakao_email_chk = explode('@',Context::get('email_address'));
$kakao_email_chk = $kakao_email_chk[1];
if($kakao_email_chk =='kakao.com') $error_msg = 'kakao.com 의 이메일은 임시로 저장된 메일입니다.
수신이 가능한 다른 이메일을 입력해 주세요';
// }
if($ai->block_email_incert == 'y') {
$mail_host = explode('@',Context::get('email_address'));
$mail_host = $mail_host[1];
if(!in_array($mail_host,$allowed_email_list)) $error_msg = '허용되지 않는 메일 주소입니다.';
}
if($ai->block_name_incert != 'n') {
$temp_name = iconv(mb_detect_encoding(Context::get('user_name'), 'auto'),'utf-8',Context::get('user_name'));
if($ai->block_name_incert == 'k' && !preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $temp_name)) $error_msg = '이름은 한글 1자 이상 포함되어야 됩니다.';
$temp_name = explode(' ',Context::get('user_name'));
if($ai->block_name_incert == 'e' && !preg_match("/^([a-zA-Z]+)$/u", $temp_name)) $error_msg = '이름은 영어만 허용됩니다.';
}
if($ai->block_name_length != 0) {
if($ai->block_name_length_type == '1' && mb_strlen(Context::get('user_name'),'utf-8') > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
if($ai->block_name_length_type == '2' && strlen(Context::get('user_name')) > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
}
if($ai->block_nick_char_incert != 'n') {
if($ai->block_nick_char_incert == 'e' && preg_match('/([a-zA-Z]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 영문은 허용되지 않습니다.';
if($ai->block_nick_char_incert == 'k' && preg_match('/([가-힣]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 한글은 허용되지 않습니다.';
}
if($ai->block_nick_sc_incert == 'y') {
$temp_nick = iconv(mb_detect_encoding(Context::get('nick_name'), 'auto'),'utf-8',Context::get('nick_name'));
$temp_nick = str_replace($allowed_nick_sc_list,'a',$temp_nick);
if(!preg_match('/^([가-힣a-zA-Z]+)$/u',$temp_nick)) $error_msg = '닉네임에 특수문자는 허용되지 않습니다.';
}
if($ai->block_nick_length != 0) {
if($ai->block_nick_length_type == '1' && mb_strlen(Context::get('nick_name'),'utf-8') > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
if($ai->block_nick_length_type == '2' && strlen(Context::get('nick_name')) > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
}
if($ai->block_profile_image_change == 'y' && Context::get('profile_image')) $error_msg = '프로필 이미지는 변경하실 수 없습니다';
if($ai->block_image_name_change == 'y' && Context::get('image_name')) $error_msg = '이미지 이름은 변경하실 수 없습니다';
if($ai->block_image_mark_change == 'y' && Context::get('image_mark')) $error_msg = '이미지 마크는 변경하실 수 없습니다';
if($ai->block_member_extvar == 'y') {
foreach($block_member_extvar_list as $key => $val) {
if($logged_info->$val != Context::get($val)) $error_msg = $val.'은(는) 변경하실 수 없습니다';
}
}
}else if(Context::get('act')=='procMemberModifyEmailAddress' || Context::get('act')=='procMemberResetAuthMail') {
$kakao_email_chk = explode('@',Context::get('email_address'));
$kakao_email_chk = $kakao_email_chk[1];
if($kakao_email_chk =='kakao.com') $error_msg = 'kakao.com 의 이메일은 임시로 저장된 메일입니다.
수신이 가능한 다른 이메일을 입력해 주세요';
if($ai->block_email_incert == 'y') {
$mail_host = explode('@',Context::get('email_address'));
$mail_host = $mail_host[1];
if(!in_array($mail_host,$allowed_email_list)) $error_msg = '허용되지 않는 메일 주소입니다.';
}
}
if($error_msg) {
$error_info = new stdClass;
$error_info->msg = $error_msg;
$error_info->id = Context::get('xe_validator_id');
$_SESSION['addon_error'] = $error_info;
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.Context::get('error_return_url'),true, 301);
Context::close();
exit();
}
}else if($called_position=='after_module_proc' && $_SESSION['addon_error']) {
$error_info = $_SESSION['addon_error'];
unset($_SESSION['addon_error']);
Context::set('XE_VALIDATOR_MESSAGE',$error_info->msg);
Context::set('XE_VALIDATOR_MESSAGE_TYPE','error');
Context::set('XE_VALIDATOR_ID',$error_info->id);
}else if($called_position=='before_display_content' && $ai->block_html_blocked == 'y') {
$block_list = '';
$disabled_list = '';
if(Context::get('act')=='dispMemberSignUpForm') {
if($ai->block_profile_image_incert == 'y') $disabled_list = $disabled_list.'\'profile_image\',';
if($ai->block_image_name_incert == 'y') $disabled_list = $disabled_list.'\'image_name\',';
if($ai->block_image_mark_incert == 'y') $disabled_list = $disabled_list.'\'image_mark\',';
}else if(Context::get('act')=='dispMemberModifyInfo') {
if($ai->kakao_email_chk == 'y') $block_list = $block_list.'\'email_address\',';
if($ai->block_email_modifiy == 'y') $block_list = $block_list.'\'email_address\',';
if($ai->block_id_modifiy == 'y') $block_list = $block_list.'\'user_id\',';
if($ai->block_name_modifiy == 'y') $block_list = $block_list.'\'user_name\',';
if($ai->block_nick_modifiy == 'y') $block_list = $block_list.'\'nick_name\',';
if($ai->block_profile_image_change == 'y') $disabled_list = $disabled_list.'\'profile_image\',';
if($ai->block_image_name_change == 'y') $disabled_list = $disabled_list.'\'image_name\',';
if($ai->block_image_mark_change == 'y') $disabled_list = $disabled_list.'\'image_mark\',';
if($ai->block_member_extvar == 'y') {
foreach($block_member_extvar_list as $key => $val) {
$block_list = $block_list.'\''.$val.'\',';
}
}
}
$block_list = $block_list.'\'tamp\'';
$disabled_list = $disabled_list.'\'tamp\'';
$code = "";
if(Context::get('act')=='dispMemberSignUpForm' || Context::get('act')=='dispMemberModifyInfo') Context::addHtmlHeader($code);
}
?>
/*
* 제작자: LI-NA (hyung778@gmail.com);
* 라이선스: GPL v2;
* 쿠로네코: 다이스키;
*/
$ai = $addon_info;
$allowed_email_list = explode("\r\n", $ai->allowed_email_list);
$allowed_nick_sc_list = explode("\r\n", $ai->allowed_nick_sc_list);
$block_member_extvar_list = explode("\r\n", $ai->block_member_extvar_list);
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y' && $ai->block_admin == 'y') return;
if($called_position=='before_module_init') {
if(Context::get('act')=='procMemberInsert') {
// if($ai->kakao_email_chk == 'y') {
$kakao_email_chk = explode('@',Context::get('email_address'));
$kakao_email_chk = $kakao_email_chk[1];
if($kakao_email_chk =='kakao.com') $error_msg = 'kakao.com 의 이메일은 임시로 저장된 메일입니다.
수신이 가능한 다른 이메일을 입력해 주세요';
// }
if($ai->block_email_incert == 'y') {
$mail_host = explode('@',Context::get('email_address'));
$mail_host = $mail_host[1];
if(!in_array($mail_host,$allowed_email_list)) $error_msg = '허용되지 않는 메일 주소입니다.';
}
if($ai->block_name_incert != 'n') {
$temp_name = iconv(mb_detect_encoding(Context::get('user_name'), 'auto'),'utf-8',Context::get('user_name'));
if($ai->block_name_incert == 'k' && !preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $temp_name)) $error_msg = '이름은 한글 1자 이상 포함되어야 됩니다.';
$temp_name = explode(' ',Context::get('user_name'));
if($ai->block_name_incert == 'e' && !preg_match("/^([a-zA-Z]+)$/u", $temp_name)) $error_msg = 'Only english is allowed for name.';
}
if($ai->block_name_length != 0) {
if($ai->block_name_length_type == '1' && mb_strlen(Context::get('user_name'),'utf-8') > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
if($ai->block_name_length_type == '2' && strlen(Context::get('user_name')) > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
}
if($ai->block_nick_char_incert != 'n') {
if($ai->block_nick_char_incert == 'e' && preg_match('/([a-zA-Z]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 영문은 허용되지 않습니다.';
if($ai->block_nick_char_incert == 'k' && preg_match('/([가-힣]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 한글은 허용되지 않습니다.';
}
if($ai->block_nick_sc_incert == 'y') {
$temp_nick = iconv(mb_detect_encoding(Context::get('nick_name'), 'auto'),'utf-8',Context::get('nick_name'));
$temp_nick = str_replace($allowed_nick_sc_list,'a',$temp_nick);
if(!preg_match('/^([가-힣a-zA-Z]+)$/u',$temp_nick)) $error_msg = '닉네임에 특수문자는 허용되지 않습니다.';
}
if($ai->block_nick_length != 0) {
if($ai->block_nick_length_type == '1' && mb_strlen(Context::get('nick_name'),'utf-8') > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
if($ai->block_nick_length_type == '2' && strlen(Context::get('nick_name')) > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
}
if($ai->block_profile_image_incert == 'y' && Context::get('profile_image')) $error_msg = '프로필 이미지를 등록할 수 없습니다.';
if($ai->block_image_name_incert == 'y' && Context::get('image_name')) $error_msg = '이미지 이름을 등록할 수 없습니다.';
if($ai->block_image_mark_incert == 'y' && Context::get('image_mark')) $error_msg = '이미지 마크를 등록할 수 없습니다.';
}else if(Context::get('act')=='procMemberModifyInfo') {
if($ai->block_email_modifiy == 'y' && $logged_info->email_address != Context::get('email_address')) $error_msg = '메일 주소는 변경하실 수 없습니다.';
if($ai->block_id_modifiy == 'y' && $logged_info->user_id != Context::get('user_id')) $error_msg = '아이디는 변경하실 수 없습니다.';
if($ai->block_name_modifiy == 'y' && $logged_info->user_name != Context::get('user_name')) $error_msg = '이름은 변경하실 수 없습니다.';
if($ai->block_nick_modifiy == 'y' && $logged_info->nick_name != Context::get('nick_name')) $error_msg = '닉네임은 변경하실 수 없습니다.';
// if($ai->kakao_email_chk == 'y') {
$kakao_email_chk = explode('@',Context::get('email_address'));
$kakao_email_chk = $kakao_email_chk[1];
if($kakao_email_chk =='kakao.com') $error_msg = 'kakao.com 의 이메일은 임시로 저장된 메일입니다.
수신이 가능한 다른 이메일을 입력해 주세요';
// }
if($ai->block_email_incert == 'y') {
$mail_host = explode('@',Context::get('email_address'));
$mail_host = $mail_host[1];
if(!in_array($mail_host,$allowed_email_list)) $error_msg = '허용되지 않는 메일 주소입니다.';
}
if($ai->block_name_incert != 'n') {
$temp_name = iconv(mb_detect_encoding(Context::get('user_name'), 'auto'),'utf-8',Context::get('user_name'));
if($ai->block_name_incert == 'k' && !preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $temp_name)) $error_msg = '이름은 한글 1자 이상 포함되어야 됩니다.';
$temp_name = explode(' ',Context::get('user_name'));
if($ai->block_name_incert == 'e' && !preg_match("/^([a-zA-Z]+)$/u", $temp_name)) $error_msg = '이름은 영어만 허용됩니다.';
}
if($ai->block_name_length != 0) {
if($ai->block_name_length_type == '1' && mb_strlen(Context::get('user_name'),'utf-8') > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
if($ai->block_name_length_type == '2' && strlen(Context::get('user_name')) > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
}
if($ai->block_nick_char_incert != 'n') {
if($ai->block_nick_char_incert == 'e' && preg_match('/([a-zA-Z]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 영문은 허용되지 않습니다.';
if($ai->block_nick_char_incert == 'k' && preg_match('/([가-힣]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 한글은 허용되지 않습니다.';
}
if($ai->block_nick_sc_incert == 'y') {
$temp_nick = iconv(mb_detect_encoding(Context::get('nick_name'), 'auto'),'utf-8',Context::get('nick_name'));
$temp_nick = str_replace($allowed_nick_sc_list,'a',$temp_nick);
if(!preg_match('/^([가-힣a-zA-Z]+)$/u',$temp_nick)) $error_msg = '닉네임에 특수문자는 허용되지 않습니다.';
}
if($ai->block_nick_length != 0) {
if($ai->block_nick_length_type == '1' && mb_strlen(Context::get('nick_name'),'utf-8') > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
if($ai->block_nick_length_type == '2' && strlen(Context::get('nick_name')) > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
}
if($ai->block_profile_image_change == 'y' && Context::get('profile_image')) $error_msg = '프로필 이미지는 변경하실 수 없습니다';
if($ai->block_image_name_change == 'y' && Context::get('image_name')) $error_msg = '이미지 이름은 변경하실 수 없습니다';
if($ai->block_image_mark_change == 'y' && Context::get('image_mark')) $error_msg = '이미지 마크는 변경하실 수 없습니다';
if($ai->block_member_extvar == 'y') {
foreach($block_member_extvar_list as $key => $val) {
if($logged_info->$val != Context::get($val)) $error_msg = $val.'은(는) 변경하실 수 없습니다';
}
}
}else if(Context::get('act')=='procMemberModifyEmailAddress' || Context::get('act')=='procMemberResetAuthMail') {
$kakao_email_chk = explode('@',Context::get('email_address'));
$kakao_email_chk = $kakao_email_chk[1];
if($kakao_email_chk =='kakao.com') $error_msg = 'kakao.com 의 이메일은 임시로 저장된 메일입니다.
수신이 가능한 다른 이메일을 입력해 주세요';
if($ai->block_email_incert == 'y') {
$mail_host = explode('@',Context::get('email_address'));
$mail_host = $mail_host[1];
if(!in_array($mail_host,$allowed_email_list)) $error_msg = '허용되지 않는 메일 주소입니다.';
}
}
if($error_msg) {
$error_info = new stdClass;
$error_info->msg = $error_msg;
$error_info->id = Context::get('xe_validator_id');
$_SESSION['addon_error'] = $error_info;
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.Context::get('error_return_url'),true, 301);
Context::close();
exit();
}
}else if($called_position=='after_module_proc' && $_SESSION['addon_error']) {
$error_info = $_SESSION['addon_error'];
unset($_SESSION['addon_error']);
Context::set('XE_VALIDATOR_MESSAGE',$error_info->msg);
Context::set('XE_VALIDATOR_MESSAGE_TYPE','error');
Context::set('XE_VALIDATOR_ID',$error_info->id);
}else if($called_position=='before_display_content' && $ai->block_html_blocked == 'y') {
$block_list = '';
$disabled_list = '';
if(Context::get('act')=='dispMemberSignUpForm') {
if($ai->block_profile_image_incert == 'y') $disabled_list = $disabled_list.'\'profile_image\',';
if($ai->block_image_name_incert == 'y') $disabled_list = $disabled_list.'\'image_name\',';
if($ai->block_image_mark_incert == 'y') $disabled_list = $disabled_list.'\'image_mark\',';
}else if(Context::get('act')=='dispMemberModifyInfo') {
if($ai->kakao_email_chk == 'y') $block_list = $block_list.'\'email_address\',';
if($ai->block_email_modifiy == 'y') $block_list = $block_list.'\'email_address\',';
if($ai->block_id_modifiy == 'y') $block_list = $block_list.'\'user_id\',';
if($ai->block_name_modifiy == 'y') $block_list = $block_list.'\'user_name\',';
if($ai->block_nick_modifiy == 'y') $block_list = $block_list.'\'nick_name\',';
if($ai->block_profile_image_change == 'y') $disabled_list = $disabled_list.'\'profile_image\',';
if($ai->block_image_name_change == 'y') $disabled_list = $disabled_list.'\'image_name\',';
if($ai->block_image_mark_change == 'y') $disabled_list = $disabled_list.'\'image_mark\',';
if($ai->block_member_extvar == 'y') {
foreach($block_member_extvar_list as $key => $val) {
$block_list = $block_list.'\''.$val.'\',';
}
}
}
$block_list = $block_list.'\'tamp\'';
$disabled_list = $disabled_list.'\'tamp\'';
$code = "";
if(Context::get('act')=='dispMemberSignUpForm' || Context::get('act')=='dispMemberModifyInfo') Context::addHtmlHeader($code);
}
?>
/*
* 제작자: LI-NA (hyung778@gmail.com);
* 라이선스: GPL v2;
* 쿠로네코: 다이스키;
*/
$ai = $addon_info;
$allowed_email_list = explode("\r\n", $ai->allowed_email_list);
$allowed_nick_sc_list = explode("\r\n", $ai->allowed_nick_sc_list);
$block_member_extvar_list = explode("\r\n", $ai->block_member_extvar_list);
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y' && $ai->block_admin == 'y') return;
if($called_position=='before_module_init') {
if(Context::get('act')=='procMemberInsert') {
// if($ai->kakao_email_chk == 'y') {
$kakao_email_chk = explode('@',Context::get('email_address'));
$kakao_email_chk = $kakao_email_chk[1];
if($kakao_email_chk =='kakao.com') $error_msg = 'kakao.com 의 이메일은 임시로 저장된 메일입니다.
수신이 가능한 다른 이메일을 입력해 주세요';
// }
if($ai->block_email_incert == 'y') {
$mail_host = explode('@',Context::get('email_address'));
$mail_host = $mail_host[1];
if(!in_array($mail_host,$allowed_email_list)) $error_msg = '허용되지 않는 메일 주소입니다.';
}
if($ai->block_name_incert != 'n') {
$temp_name = iconv(mb_detect_encoding(Context::get('user_name'), 'auto'),'utf-8',Context::get('user_name'));
if($ai->block_name_incert == 'k' && !preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $temp_name)) $error_msg = '이름은 한글 1자 이상 포함되어야 됩니다.';
$temp_name = explode(' ',Context::get('user_name'));
if($ai->block_name_incert == 'e' && !preg_match("/^([a-zA-Z]+)$/u", $temp_name)) $error_msg = 'Only english is allowed for name.';
}
if($ai->block_name_length != 0) {
if($ai->block_name_length_type == '1' && mb_strlen(Context::get('user_name'),'utf-8') > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
if($ai->block_name_length_type == '2' && strlen(Context::get('user_name')) > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
}
if($ai->block_nick_char_incert != 'n') {
if($ai->block_nick_char_incert == 'e' && preg_match('/([a-zA-Z]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 영문은 허용되지 않습니다.';
if($ai->block_nick_char_incert == 'k' && preg_match('/([가-힣]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 한글은 허용되지 않습니다.';
}
if($ai->block_nick_sc_incert == 'y') {
$temp_nick = iconv(mb_detect_encoding(Context::get('nick_name'), 'auto'),'utf-8',Context::get('nick_name'));
$temp_nick = str_replace($allowed_nick_sc_list,'a',$temp_nick);
if(!preg_match('/^([가-힣a-zA-Z]+)$/u',$temp_nick)) $error_msg = '닉네임에 특수문자는 허용되지 않습니다.';
}
if($ai->block_nick_length != 0) {
if($ai->block_nick_length_type == '1' && mb_strlen(Context::get('nick_name'),'utf-8') > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
if($ai->block_nick_length_type == '2' && strlen(Context::get('nick_name')) > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
}
if($ai->block_profile_image_incert == 'y' && Context::get('profile_image')) $error_msg = '프로필 이미지를 등록할 수 없습니다.';
if($ai->block_image_name_incert == 'y' && Context::get('image_name')) $error_msg = '이미지 이름을 등록할 수 없습니다.';
if($ai->block_image_mark_incert == 'y' && Context::get('image_mark')) $error_msg = '이미지 마크를 등록할 수 없습니다.';
}else if(Context::get('act')=='procMemberModifyInfo') {
if($ai->block_email_modifiy == 'y' && $logged_info->email_address != Context::get('email_address')) $error_msg = '메일 주소는 변경하실 수 없습니다.';
if($ai->block_id_modifiy == 'y' && $logged_info->user_id != Context::get('user_id')) $error_msg = '아이디는 변경하실 수 없습니다.';
if($ai->block_name_modifiy == 'y' && $logged_info->user_name != Context::get('user_name')) $error_msg = '이름은 변경하실 수 없습니다.';
if($ai->block_nick_modifiy == 'y' && $logged_info->nick_name != Context::get('nick_name')) $error_msg = '닉네임은 변경하실 수 없습니다.';
// if($ai->kakao_email_chk == 'y') {
$kakao_email_chk = explode('@',Context::get('email_address'));
$kakao_email_chk = $kakao_email_chk[1];
if($kakao_email_chk =='kakao.com') $error_msg = 'kakao.com 의 이메일은 임시로 저장된 메일입니다.
수신이 가능한 다른 이메일을 입력해 주세요';
// }
if($ai->block_email_incert == 'y') {
$mail_host = explode('@',Context::get('email_address'));
$mail_host = $mail_host[1];
if(!in_array($mail_host,$allowed_email_list)) $error_msg = '허용되지 않는 메일 주소입니다.';
}
if($ai->block_name_incert != 'n') {
$temp_name = iconv(mb_detect_encoding(Context::get('user_name'), 'auto'),'utf-8',Context::get('user_name'));
if($ai->block_name_incert == 'k' && !preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $temp_name)) $error_msg = '이름은 한글 1자 이상 포함되어야 됩니다.';
$temp_name = explode(' ',Context::get('user_name'));
if($ai->block_name_incert == 'e' && !preg_match("/^([a-zA-Z]+)$/u", $temp_name)) $error_msg = '이름은 영어만 허용됩니다.';
}
if($ai->block_name_length != 0) {
if($ai->block_name_length_type == '1' && mb_strlen(Context::get('user_name'),'utf-8') > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
if($ai->block_name_length_type == '2' && strlen(Context::get('user_name')) > $ai->block_name_length) $error_msg = '이름은 '.$ai->block_name_length.'자까지만 허용됩니다.';
}
if($ai->block_nick_char_incert != 'n') {
if($ai->block_nick_char_incert == 'e' && preg_match('/([a-zA-Z]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 영문은 허용되지 않습니다.';
if($ai->block_nick_char_incert == 'k' && preg_match('/([가-힣]+)/u',Context::get('nick_name'))) $error_msg = '닉네임에 한글은 허용되지 않습니다.';
}
if($ai->block_nick_sc_incert == 'y') {
$temp_nick = iconv(mb_detect_encoding(Context::get('nick_name'), 'auto'),'utf-8',Context::get('nick_name'));
$temp_nick = str_replace($allowed_nick_sc_list,'a',$temp_nick);
if(!preg_match('/^([가-힣a-zA-Z]+)$/u',$temp_nick)) $error_msg = '닉네임에 특수문자는 허용되지 않습니다.';
}
if($ai->block_nick_length != 0) {
if($ai->block_nick_length_type == '1' && mb_strlen(Context::get('nick_name'),'utf-8') > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
if($ai->block_nick_length_type == '2' && strlen(Context::get('nick_name')) > $ai->block_nick_length) $error_msg = '닉네임은 '.$ai->block_nick_length.'자까지만 허용됩니다.';
}
if($ai->block_profile_image_change == 'y' && Context::get('profile_image')) $error_msg = '프로필 이미지는 변경하실 수 없습니다';
if($ai->block_image_name_change == 'y' && Context::get('image_name')) $error_msg = '이미지 이름은 변경하실 수 없습니다';
if($ai->block_image_mark_change == 'y' && Context::get('image_mark')) $error_msg = '이미지 마크는 변경하실 수 없습니다';
if($ai->block_member_extvar == 'y') {
foreach($block_member_extvar_list as $key => $val) {
if($logged_info->$val != Context::get($val)) $error_msg = $val.'은(는) 변경하실 수 없습니다';
}
}
}else if(Context::get('act')=='procMemberModifyEmailAddress' || Context::get('act')=='procMemberResetAuthMail') {
$kakao_email_chk = explode('@',Context::get('email_address'));
$kakao_email_chk = $kakao_email_chk[1];
if($kakao_email_chk =='kakao.com') $error_msg = 'kakao.com 의 이메일은 임시로 저장된 메일입니다.
수신이 가능한 다른 이메일을 입력해 주세요';
if($ai->block_email_incert == 'y') {
$mail_host = explode('@',Context::get('email_address'));
$mail_host = $mail_host[1];
if(!in_array($mail_host,$allowed_email_list)) $error_msg = '허용되지 않는 메일 주소입니다.';
}
}
if($error_msg) {
$error_info = new stdClass;
$error_info->msg = $error_msg;
$error_info->id = Context::get('xe_validator_id');
$_SESSION['addon_error'] = $error_info;
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.Context::get('error_return_url'),true, 301);
Context::close();
exit();
}
}else if($called_position=='after_module_proc' && $_SESSION['addon_error']) {
$error_info = $_SESSION['addon_error'];
unset($_SESSION['addon_error']);
Context::set('XE_VALIDATOR_MESSAGE',$error_info->msg);
Context::set('XE_VALIDATOR_MESSAGE_TYPE','error');
Context::set('XE_VALIDATOR_ID',$error_info->id);
}else if($called_position=='before_display_content' && $ai->block_html_blocked == 'y') {
$block_list = '';
$disabled_list = '';
if(Context::get('act')=='dispMemberSignUpForm') {
if($ai->block_profile_image_incert == 'y') $disabled_list = $disabled_list.'\'profile_image\',';
if($ai->block_image_name_incert == 'y') $disabled_list = $disabled_list.'\'image_name\',';
if($ai->block_image_mark_incert == 'y') $disabled_list = $disabled_list.'\'image_mark\',';
}else if(Context::get('act')=='dispMemberModifyInfo') {
if($ai->kakao_email_chk == 'y') $block_list = $block_list.'\'email_address\',';
if($ai->block_email_modifiy == 'y') $block_list = $block_list.'\'email_address\',';
if($ai->block_id_modifiy == 'y') $block_list = $block_list.'\'user_id\',';
if($ai->block_name_modifiy == 'y') $block_list = $block_list.'\'user_name\',';
if($ai->block_nick_modifiy == 'y') $block_list = $block_list.'\'nick_name\',';
if($ai->block_profile_image_change == 'y') $disabled_list = $disabled_list.'\'profile_image\',';
if($ai->block_image_name_change == 'y') $disabled_list = $disabled_list.'\'image_name\',';
if($ai->block_image_mark_change == 'y') $disabled_list = $disabled_list.'\'image_mark\',';
if($ai->block_member_extvar == 'y') {
foreach($block_member_extvar_list as $key => $val) {
$block_list = $block_list.'\''.$val.'\',';
}
}
}
$block_list = $block_list.'\'tamp\'';
$disabled_list = $disabled_list.'\'tamp\'';
$code = "";
if(Context::get('act')=='dispMemberSignUpForm' || Context::get('act')=='dispMemberModifyInfo') Context::addHtmlHeader($code);
}
?>
태그공부 - 데이터 베이스 종류
데이터베이스 종류가 아니라 데이터타입의 종류네요
데이터베이스는 데이터가 저장되고 가져오고 할수 있는것을 말하구요
위의 것들은 데이터를 저장할때 어떤형식인지를 말하는 것입니다..
| 데이터 타입 |
설명 및 범위 |
| tinyint |
부호 있는 정수 -128 ∼ 127 부호 없는 정수 0 ∼ 255 1 Byte |
| smallint |
부호 있는 정수 -32768 ∼ 32767 부호 없는 정수 0 ∼ 65535 2 Byte |
| mediumint |
부호 있는 정수 -8388608 ∼ 8388607 부호 없는 정수 0 ∼ 16777215 3 Byte |
| int OR integer |
부호 있는 정수 -2147483648 ∼ 2147483647 부호 없는 정수 0 ∼ 4294967295 4 Byte |
| bigint |
부호 있는 정수 -9223372036854775808 ∼ -9223372036854775807 부호 없는 정수 0 ∼ 18446744073709551615 8 Byte |
| float |
단일 정밀도를 가진 부동 소수점 -3.402823466E+38 ∼ 3.402823466E+38 |
| double |
2 배 정밀도를 가진 부동 소수점 -1.79769313486231517E+308 ∼ 1.79769313486231517E+308 |
| date |
날짜를 표현하는 유형 1000-01-01 ∼ 9999-12-31 |
| datetime |
날짜와 시간을 표현하는 유형 1000-01-01 00:00:00 ∼ 9999-12-31 23:59:59 |
| timestamp |
1970-01-01 00:00:00부터 2037년 까지 표현 4 Byte |
| time |
시간을 표현하는 유형 -839:59:59 ∼ 833:59:59 |
| year |
년도를 표현하는 유형 1901년 ∼ 2155년 |
| char(m) |
고정길이 문자열을 표현하는 유형 M = 1 ∼ 255 |
| varchar(m) |
가변길이 문자열을 표현하는 유형 M = 1 ∼ 255 |
| TINYBLOB OR TINYTRXT |
255개의 문자를 저장 Binary Large Object의 약자 |
| BLOB OR TEXT |
63535개의 문자를 저장 |
| MEDIUMBLOB OR MEDIUMTEXT |
16777215개의 문자를 저장 |
| LONGBLOB OR LONGTEXT |
4294967295(4Giga)개의 문자를 저장 |
(안심) 짧은 주소는 :
입니다
TAG •
- varchar,
- tinyint,
- text,
- date,
- smallint,
- mediumint,
- int,
- bigint,
- float,
- double,
- decimal,
- datetime,
- timestamp,
- time,
- year,
- char,
- tinybrob,
- tinytext,
- blob,
- mediumblob,
- mediumtest,
- enum,
- set,
Copyright by Myceo 2008 All rights reserved
수원시 팔달구 인계동 1017-3 2층
☏1600-0324
Made By Myceo
sketchbook5, 스케치북5
sketchbook5, 스케치북5
나눔글꼴 설치 안내
이 PC에는 나눔글꼴이 설치되어 있지 않습니다.
이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.
설치
취소