From 7feb58aeaba4b45a170e48cf87cdf3e6570abeed Mon Sep 17 00:00:00 2001 From: gnuboard Date: Tue, 8 Jan 2013 09:04:13 +0900 Subject: [PATCH 01/30] =?UTF-8?q?captcha=20=EC=A0=81=EC=9A=A9=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bbs/register_form.php | 2 +- bbs/register_form_update.php | 4 +- bbs/register_result.php | 8 ++-- extend/captcha.extend.php | 8 ++++ extend/tcaptcha.extend.php | 8 ---- js/wrest.js | 14 +++---- lib/common.lib.php | 4 +- plugin/captcha/captcha.js | 58 ++++---------------------- plugin/captcha/captcha.lib.php | 4 -- skin/member/neo/register_form.skin.php | 20 ++++----- 10 files changed, 41 insertions(+), 89 deletions(-) create mode 100644 extend/captcha.extend.php delete mode 100644 extend/tcaptcha.extend.php diff --git a/bbs/register_form.php b/bbs/register_form.php index 57b5eeb53..4a3d6a404 100644 --- a/bbs/register_form.php +++ b/bbs/register_form.php @@ -1,6 +1,6 @@ lib) include_once($captcha->lib); // 불법접근을 막도록 토큰생성 $token = md5(uniqid(rand(), true)); diff --git a/bbs/register_form_update.php b/bbs/register_form_update.php index 33c2d11d5..d91812683 100644 --- a/bbs/register_form_update.php +++ b/bbs/register_form_update.php @@ -15,8 +15,8 @@ if ($w == 'u' && $is_admin == 'super') { alert('데모 화면에서는 하실(보실) 수 없는 작업입니다.'); } -if (!chk_tcaptcha("user_answer")) { - alert("정상적인 접근이 아닌것 같습니다."); +if (!chk_captcha("wr_key")) { + alert("자동등록방지 코드에 오류가 있습니다."); } $mb_id = trim(strip_tags(mysql_escape_string($_POST[mb_id]))); diff --git a/bbs/register_result.php b/bbs/register_result.php index 2265ecd84..3751f6cc0 100644 --- a/bbs/register_result.php +++ b/bbs/register_result.php @@ -1,12 +1,14 @@ $g4['path']."/plugin/captcha/captcha.lib.php", + 'js' => $g4['path']."/plugin/captcha/captcha.js" +); +?> \ No newline at end of file diff --git a/extend/tcaptcha.extend.php b/extend/tcaptcha.extend.php deleted file mode 100644 index 1c778f019..000000000 --- a/extend/tcaptcha.extend.php +++ /dev/null @@ -1,8 +0,0 @@ - $g4['path']."/plugin/tcaptcha/tcaptcha.lib.php", - 'js' => $g4['path']."/plugin/tcaptcha/tcaptcha.js" -); -?> \ No newline at end of file diff --git a/js/wrest.js b/js/wrest.js index c33c2ec0f..32e38169f 100644 --- a/js/wrest.js +++ b/js/wrest.js @@ -13,9 +13,7 @@ function wrestItemname(fld) function wrestTrim(fld) { var pattern = /(^\s+)|(\s+$)/g; // \s 공백 문자 - //(/^\s+|\s+$/g,""); - var str = fld.value.replace(pattern, ""); - return str; + return fld.value.replace(pattern, ""); } // 필수 입력 검사 @@ -60,7 +58,7 @@ function wrestEmail(fld) } } -// 한글인지 검사 (자음, 모음만 있는 한글은 불가) +// 한글인지 검사 (자음, 모음 조합된 한글만 가능) function wrestHangul(fld) { if (!wrestTrim(fld)) return; @@ -69,7 +67,7 @@ function wrestHangul(fld) if (pattern.test(fld.value)) { if (wrestFld == null) { - wrestMsg = wrestItemname(fld) + ' : 한글이 아닙니다. (자음, 모음만 있는 한글은 처리하지 않습니다.)\n'; + wrestMsg = wrestItemname(fld) + ' : 한글이 아닙니다. (자음, 모음 조합된 한글만 가능)\n'; wrestFld = fld; } } @@ -186,7 +184,7 @@ function wrestMinLength(fld, css) { if (!wrestTrim(fld)) return; - var str = css.split('='); // minlength=?? <-- str[1] + var str = css.split('_'); // minlength_?? <-- str[1] if (wrestFld == null) { if (fld.value.length < parseInt(str[1])) { @@ -283,8 +281,8 @@ function wrestSubmit() case "telnum" : wrestTelNum(el); break; // 김선용 2006.3 - 전화번호 형식 검사 case "imgext" : wrestImgExt(el); break; default : - // css 가 minlength= 로 시작한다면 = 뒤의 숫자는 최소길이값 - if (/^minlength\=/.test(css)) { + // css 가 minlength_ 로 시작한다면 _ 뒤의 숫자는 최소길이값 + if (/^minlength\_/.test(css)) { wrestMinLength(el, css); break; } else if (/^extension\=/.test(css)) { wrestExtension(el, css); break; diff --git a/lib/common.lib.php b/lib/common.lib.php index a6e5e65d5..014c8ddb1 100644 --- a/lib/common.lib.php +++ b/lib/common.lib.php @@ -1597,9 +1597,9 @@ function check_mb_nick($reg_mb_nick) // 별명은 한글, 영문, 숫자만 가능 if (!check_string($reg_mb_nick, _G4_HANGUL_ + _G4_ALPHABETIC_ + _G4_NUMERIC_)) { - return "공백없이 한글, 영문, 숫자만 입력 가능합니다."; + return "별명은 공백없이 한글, 영문, 숫자만 입력 가능합니다."; } else if (strlen($reg_mb_nick) < 4) { - return "한글 2글자, 영문 4글자 이상 입력 가능합니다."; + return "별명은 한글 2글자, 영문 4글자 이상 입력 가능합니다."; } else { $row = sql_fetch(" select count(*) as cnt from {$g4['member_table']} where mb_nick = '$reg_mb_nick' "); if ($row['cnt']) { diff --git a/plugin/captcha/captcha.js b/plugin/captcha/captcha.js index 6289dfc7b..7c87b4bcd 100644 --- a/plugin/captcha/captcha.js +++ b/plugin/captcha/captcha.js @@ -1,4 +1,4 @@ -function chk_captcha(input_key) +function check_captcha(input_key) { if (typeof(input_key) != "undefined") { var captcha_result = false; @@ -21,58 +21,16 @@ function chk_captcha(input_key) return true; } -function l_PlaySound(url, placeholderId) { - if (document.getElementById) { - var soundUrl = url; - var placeholder = document.getElementById(placeholderId); - - placeholder.innerHTML = ""; - - document.body.style.cursor = 'wait'; - var html5SoundPlayed = false; - var browserCompatibilityCheck = document.createElement('audio'); - if (!!(browserCompatibilityCheck.canPlayType) && - !!(browserCompatibilityCheck.canPlayType("audio/wav")) && - !l_DetectFirefox3()) { - sound = new Audio(soundUrl); - sound.id = 'LBD_CaptchaSoundAudio'; - sound.autoplay = true; - sound.controls = false; - sound.autobuffer = false; - sound.loop = false; - - placeholder.appendChild(sound); - html5SoundPlayed = true; - } - - if (!html5SoundPlayed) { - var objectSrc = ""; - - placeholder.innerHTML = objectSrc; - } - - document.body.style.cursor = 'default'; - } -} - -function l_DetectFirefox3() { - var detected = false; - if (navigator && navigator.userAgent) { - var matches = navigator.userAgent.match(/(Firefox)\/(3\.6\.[^;\+,\/\s]+)/); - if (matches) { - detected = true; - } - } - return detected; -} - $(function() { - $("#captcha").click(function() { + $("#captcha").click(function(e) { this.setAttribute("src", g4_path+"/plugin/captcha/run.php?t="+(new Date).getTime()); - //$("#captcha_key").focus();//이미지 새로고침 후 입력박스에 포커스 : 지운아빠 2012-07-13 - //캡챠 클릭 시에 포커스 줘야 하는데 페이지 새로 고침되면 포커스를 줘서 주석처리 : 지운아빠 2012-08-03 + var keycode = (e.keyCode ? e.keyCode : e.which); + // 첫 실행에서는 포커스를 주지 않음 + if (typeof(keycode) != "undefined") { + $("#captcha_key").focus();//이미지 새로고침 후 입력박스에 포커스 : 지운아빠 2012-07-13 + } }) - .css("cursor", "pointer") + .css("cursor", "pointer"); .trigger("click"); $("#captcha_wav").click(function(){ diff --git a/plugin/captcha/captcha.lib.php b/plugin/captcha/captcha.lib.php index 487fc1354..620d1f0d0 100644 --- a/plugin/captcha/captcha.lib.php +++ b/plugin/captcha/captcha.lib.php @@ -80,10 +80,6 @@ class captcha // The text to draw $captcha_key = $this->get_captcha_key(); - /* - $_SESSION['ss_captcha_key'] = $captcha_key; - $_SESSION['ss_captcha_cnt'] = 0; - */ set_session('ss_captcha_key', $captcha_key); set_session('ss_captcha_cnt', 0); diff --git a/skin/member/neo/register_form.skin.php b/skin/member/neo/register_form.skin.php index 10e3c4714..eabd35898 100644 --- a/skin/member/neo/register_form.skin.php +++ b/skin/member/neo/register_form.skin.php @@ -14,7 +14,6 @@ var member_skin_path = ""; - @@ -26,18 +25,18 @@ var member_skin_path = ""; - title="회원아이디"> + title="회원아이디"> 영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요. - title="패스워드"> + maxlength="20" title="패스워드"> - title="패스워드 확인"> + maxlength="20" title="패스워드 확인"> @@ -46,7 +45,7 @@ var member_skin_path = ""; - title="이름"> + title="이름"> @@ -55,7 +54,7 @@ var member_skin_path = ""; - title="별명"> + title="별명">
공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)
별명을 바꾸시면 앞으로 일 이내에는 변경 할 수 없습니다. @@ -67,7 +66,7 @@ var member_skin_path = ""; - '> + ' maxlength="100" required="required" title="E-mail"> e-mail 로 발송된 내용을 확인한 후 인증하셔야 회원가입이 완료됩니다."; } ?> @@ -179,25 +178,23 @@ var member_skin_path = ""; - +
- diff --git a/skin/member/neo/memo_view.skin.php b/skin/member/neo/memo_view.skin.php index 401188447..1cc3e69a9 100644 --- a/skin/member/neo/memo_view.skin.php +++ b/skin/member/neo/memo_view.skin.php @@ -2,22 +2,28 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 ?> -
-
-

- -

-
-

- -

+
+

+ +

+ +
+

쪽지내용

+

+ +

+
이전쪽지 다음쪽지 diff --git a/skin/member/neo/profile.skin.php b/skin/member/neo/profile.skin.php index c36e6f8d8..cafceba27 100644 --- a/skin/member/neo/profile.skin.php +++ b/skin/member/neo/profile.skin.php @@ -2,40 +2,42 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 ?> -

님의 프로필

+
+

님의 프로필

- - - - - - - - - - - - - - - - - - - - - - - - - -
회원권한
포인트
홈페이지
회원가입일= $mb[mb_level]) ? substr($mb[mb_datetime],0,10) ." (".$mb_reg_after." 일)" : "알 수 없음"; ?>
최종접속일= $mb[mb_level]) ? $mb[mb_today_login] : "알 수 없음";?>
+ + + + + + + + + + + + + + + + + + + + + + + + + +
회원권한
포인트
홈페이지
회원가입일= $mb[mb_level]) ? substr($mb[mb_datetime],0,10) ." (".$mb_reg_after." 일)" : "알 수 없음"; ?>
최종접속일= $mb[mb_level]) ? $mb[mb_today_login] : "알 수 없음";?>
-
-

님의 자기소개

-

-
+
+

님의 자기소개

+

+
- From 819eaa981d45386161866cb2b6ae62849699a29f Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 8 Jan 2013 11:29:04 +0900 Subject: [PATCH 03/30] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90:=20=EC=83=88?= =?UTF-8?q?=EC=B0=BD=20=ED=83=80=EC=9D=B4=ED=8B=80=20=EB=B0=B0=EA=B2=BD?= =?UTF-8?q?=EC=83=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/def.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/css/def.css b/css/def.css index 5c597aaa1..5d8512ed0 100644 --- a/css/def.css +++ b/css/def.css @@ -232,7 +232,7 @@ h6 {margin:0 0 20px} .sch_datetime {font-size:0.75em} /* 새창 공통 */ -.new_win h1 {padding:10px 30px;background:#333;color:#fff;font-size:1.2em} +.new_win h1 {padding:10px 30px;background:#393936;color:#fff;font-size:1.2em} .new_win h1 a {color:#fff;text-decoration:none} .new_win article h1 {background:transparent;color:#000} .new_win article h1 a {color:#000;text-decoration:none} From 503e4bd4d3eafabb6d63aa0e1a5ee3c34a4deee8 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 8 Jan 2013 13:12:02 +0900 Subject: [PATCH 04/30] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90:=20=EC=B5=9C?= =?UTF-8?q?=EC=8B=A0=EA=B8=80=20=EC=8A=A4=ED=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/def.css | 13 +++++++++++-- lib/common.lib.php | 4 ++-- skin/latest/neo/latest.skin.php | 12 ++++++------ 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/css/def.css b/css/def.css index 5d8512ed0..ed278ae95 100644 --- a/css/def.css +++ b/css/def.css @@ -82,7 +82,7 @@ h6 {margin:0 0 20px} #hdsch_submit {position:relative;margin-left:-5px} /* 사이드 네비게이션: 아웃로그인, 설문조사 등 */ -#snb {position:absolute;top:150px;right:50px;font-family:"verdana","dotum"} +#snb {position:absolute;top:162px;right:50px;font-family:"verdana","dotum"} #snb ul {margin:0;padding:0;list-style:none} /* 아웃로그인 */ @@ -202,6 +202,15 @@ h6 {margin:0 0 20px} .readonly {background:#ff3061} +/* 최신글 */ +.latest {clear:both;margin-bottom:30px;padding:20px;border:1px solid #eee;font-size:0.8em} +.latest strong {display:block;float:left;margin-top:5px;width:200px} +.latest ul {float:left;margin:0;padding:0;list-style:none} +.latest li a {display:inline-block;padding:4px 0} +.latest p {padding:0} +.latest_more {clear:both;text-align:right} +.latest_more a {display:inline-block;padding:5px 0} + /* 테이블 항목별 정의 */ .td_group {width:100px;text-align:center} .td_board {width:120px;text-align:center} @@ -287,7 +296,7 @@ h6 {margin:0 0 20px} #memo_write textarea {height:100px} /* pagination */ -.pg {margin-bottom:30px;font-size:0.875em;text-align:center} +.pg {clear:both;margin-bottom:30px;font-size:0.875em;text-align:center} .pg_page, .pg_current {display:inline-block;position:relative;margin-left:-6px;padding:0 10px;height:25px;border:1px solid #ddd;background:#fff;line-height:1.9em;vertical-align:middle} .pg_page {text-decoration:none} .pg_current {font-weight:normal} \ No newline at end of file diff --git a/lib/common.lib.php b/lib/common.lib.php index 014c8ddb1..389891adc 100644 --- a/lib/common.lib.php +++ b/lib/common.lib.php @@ -377,7 +377,7 @@ function get_list($write_row, $board, $skin_path, $subject_len=40) $list['file'] = get_file($board['bo_table'], $list['wr_id']); if ($list['file']['count']) - $list['icon_file'] = '관련링크'; + $list['icon_file'] = '첨부파일'; return $list; } @@ -911,7 +911,7 @@ function get_sideview($mb_id, $name='', $email='', $homepage='') //$height = $size['1']; $width = $config['cf_member_icon_width']; $height = $config['cf_member_icon_height']; - $tmp_name = '첨부파일'; + $tmp_name = ''; if ($config['cf_use_member_icon'] == 2) // 회원아이콘+이름 $tmp_name = $tmp_name . ' '.$name.''; diff --git a/skin/latest/neo/latest.skin.php b/skin/latest/neo/latest.skin.php index 0a2a37de4..74331f58e 100644 --- a/skin/latest/neo/latest.skin.php +++ b/skin/latest/neo/latest.skin.php @@ -2,7 +2,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 ?> -
+
    @@ -30,9 +30,9 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 ?> - -
  • 게시물이 없습니다.
  • -
- 더보기 -
\ No newline at end of file + +

게시물이 없습니다.

+ + +
From e0add43a8fb73547e576dc51dbfd0a4e464f95e1 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 8 Jan 2013 13:25:28 +0900 Subject: [PATCH 05/30] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90:=20=ED=9A=8C?= =?UTF-8?q?=EC=9B=90=ED=8C=A8=EC=8A=A4=EC=9B=8C=EB=93=9C=20=ED=99=95?= =?UTF-8?q?=EC=9D=B8,=20=EB=B9=84=EB=B0=80=EA=B8=80=20=ED=8C=A8=EC=8A=A4?= =?UTF-8?q?=EC=9B=8C=EB=93=9C=20=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/def.css | 15 +++++++++++++-- skin/member/neo/member_confirm.skin.php | 12 ++++++++---- skin/member/neo/password.skin.php | 8 ++++---- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/css/def.css b/css/def.css index ed278ae95..864fd1f58 100644 --- a/css/def.css +++ b/css/def.css @@ -31,9 +31,9 @@ fieldset select {padding:2px;border:1px solid #ddd;background:#f9f9f5;vertical-a fieldset p {margin:0} fieldset .span_highlight {color:#ff3061} fieldset button, -.fieldset_submit {padding:0 15px;height:23px;border:0;background:#333;color:#fff;font-size:0.8em;line-height:1.9em;vertical-align:middle;cursor:pointer} +.fieldset_submit {padding:0 15px;height:24px;border:0;background:#333;color:#fff;font-size:0.8em;line-height:1.9em;vertical-align:middle;cursor:pointer} fieldset button:focus, -.fieldset_submit:focus {padding:0 15px;height:23px;border:0;background:#555;color:#fff;font-size:0.8em;line-height:1.9em;vertical-align:middle} +.fieldset_submit:focus {padding:0 15px;height:24px;border:0;background:#555;color:#fff;font-size:0.8em;line-height:1.9em;vertical-align:middle} /* 이미지 등비율 리사이징 */ .img_fix {float:left;width:100%;height:auto} @@ -279,6 +279,17 @@ h6 {margin:0 0 20px} #fregister textarea {display:block;margin-bottom:10px;width:99%;height:200px;border:1px solid #ddd} #fregister label {display:inline-block;margin-right:10px} +/* 회원 패스워드 확인 */ +#member_confirm {padding:150px 0;background:#fcfcfc;text-align:center} +#member_confirm legend {margin:0;padding:0;width:0;height:0;border:0;overflow:hidden} +#member_confirm p {margin-bottom:20px;font-size:0.75em} +#member_confirm_id {display:inline-block;margin-right:20px} + +/* 비밀글 패스워드 확인 */ +#password_confirm {padding:150px 0;background:#fcfcfc;text-align:center} +#password_confirm legend {margin:0;padding:0;width:0;height:0;border:0;overflow:hidden} +#password_confirm p {margin-bottom:20px;font-size:0.75em} + /* 폼메일 */ #formmail textarea {height:100px} diff --git a/skin/member/neo/member_confirm.skin.php b/skin/member/neo/member_confirm.skin.php index 6ec82f821..0aa638400 100644 --- a/skin/member/neo/member_confirm.skin.php +++ b/skin/member/neo/member_confirm.skin.php @@ -7,13 +7,17 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
-
+
패스워드 확인 + +

회원님의 정보를 안전하게 보호하기 위해 패스워드를 한번 더 확인합니다.

+ 회원아이디 - + + - - + +
diff --git a/skin/member/neo/password.skin.php b/skin/member/neo/password.skin.php index 5184d3e90..ed770538f 100644 --- a/skin/member/neo/password.skin.php +++ b/skin/member/neo/password.skin.php @@ -11,12 +11,12 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 -
+
패스워드 확인 -

비밀글 기능으로 보호된 글입니다. 작성자와 관리자만 열람하실 수 있습니다. 작성자 본인이시라면 패스워드를 입력하세요.

+

비밀글 기능으로 보호된 글입니다. 작성자와 관리자만 열람하실 수 있습니다.
작성자 본인이시라면 패스워드를 입력하세요.

- - + +
From d7191fe251aca4795364a016681c798cc81165e5 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 8 Jan 2013 13:42:45 +0900 Subject: [PATCH 06/30] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90:=20=EB=B9=84?= =?UTF-8?q?=EB=B0=80=EA=B8=80=20=ED=8C=A8=EC=8A=A4=EC=9B=8C=EB=93=9C=20?= =?UTF-8?q?=ED=99=95=EC=9D=B8=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=ED=83=80?= =?UTF-8?q?=EC=9D=B4=ED=8B=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- head.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/head.php b/head.php index f1a230bbf..fbfcaa6ea 100644 --- a/head.php +++ b/head.php @@ -77,4 +77,4 @@ include_once($g4['path'].'/lib/popular.lib.php');
-

\ No newline at end of file +

\ No newline at end of file From 3cf3de315c85aa3a1ed1304807c46a1706e9f6a3 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 8 Jan 2013 14:15:39 +0900 Subject: [PATCH 07/30] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90:=20=EA=B2=8C?= =?UTF-8?q?=EC=8B=9C=ED=8C=90=EC=8A=A4=ED=82=A8=20=EB=AA=A9=EB=A1=9D=20?= =?UTF-8?q?=EC=9E=91=EC=97=85=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/def.css | 57 ++++++++++++++++++++------------- skin/board/neo/list.skin.php | 62 +++++++++++++++++++----------------- 2 files changed, 68 insertions(+), 51 deletions(-) diff --git a/css/def.css b/css/def.css index 864fd1f58..6fcc6115b 100644 --- a/css/def.css +++ b/css/def.css @@ -19,6 +19,7 @@ tfoot td {background:#f9f9f5;font-weight:bold;text-align:center} caption {padding:0 0 10px;text-align:left} .caption_desc {font-size:0.75em} th {padding:12px 0 8px;border-top:3px solid #666;border-bottom:1px solid #a9a9a9;font-size:0.8em} +th a {color:#000;text-decoration:none} td {padding:10px 0;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;font-size:0.75em} .empty_table {padding:50px 0;text-align:center} @@ -240,28 +241,17 @@ h6 {margin:0 0 20px} .sch_sideview {display:inline-block;font-size:0.75em} .sch_datetime {font-size:0.75em} -/* 새창 공통 */ -.new_win h1 {padding:10px 30px;background:#393936;color:#fff;font-size:1.2em} -.new_win h1 a {color:#fff;text-decoration:none} -.new_win article h1 {background:transparent;color:#000} -.new_win article h1 a {color:#000;text-decoration:none} -.new_win h2 {font-size:1em} -.new_win table {margin:0 auto 30px;width:90%} -.new_win fieldset {margin:0 auto 30px;width:90%} -.new_win_ul {margin:-30px 0 20px 0;padding:0 0 0 30px;border-bottom:1px solid #ddd;background:#fff;font-size:0.8em;list-style:none;zoom:1} -.new_win_ul:after {display:block;visibility:hidden;clear:both;content:""} -.new_win_ul li {float:left;margin-left:-1px} -.new_win_ul a {display:block;padding:10px;border-right:1px solid #eee;border-left:1px solid #eee;color:#595959;font-family:"dotum";font-size:0.875em;font-weight:bold;text-decoration:none} -.new_win_ul a:hover, -.new_win_ul a:focus {background:#faf9f5} - -/* 포인트 내역 */ -#point p {text-align:center} -#point .td_datetime {width:150px} - -/* 쪽지 */ - -/* 스크랩 */ +/* 게시판 목록 */ +#board_list caption {padding:0;height:0;overflow:hidden} +.btn_board {margin-bottom:10px;zoom:1} +.btn_board:after {display:block;visibility:hidden;clear:both;content:""} +.btn_board ul {margin:0;padding:0;list-style:none} +.btn_board_user {float:right} +.btn_board_user li {float:left} +.btn_board_user a {display:block;margin-left:10px} +.btn_board_adm {float:left} +.btn_board_adm li {float:left} +.btn_board_adm a {display:block;margin-right:5px} /* 우편번호 검색 */ #post_num dl {margin:0 auto 10px;padding:0;width:90%} @@ -290,6 +280,29 @@ h6 {margin:0 0 20px} #password_confirm legend {margin:0;padding:0;width:0;height:0;border:0;overflow:hidden} #password_confirm p {margin-bottom:20px;font-size:0.75em} +/* 새창 공통 */ +.new_win h1 {padding:10px 30px;background:#393936;color:#fff;font-size:1.2em} +.new_win h1 a {color:#fff;text-decoration:none} +.new_win article h1 {background:transparent;color:#000} +.new_win article h1 a {color:#000;text-decoration:none} +.new_win h2 {font-size:1em} +.new_win table {margin:0 auto 30px;width:90%} +.new_win fieldset {margin:0 auto 30px;width:90%} +.new_win_ul {margin:-30px 0 20px 0;padding:0 0 0 30px;border-bottom:1px solid #ddd;background:#fff;font-size:0.8em;list-style:none;zoom:1} +.new_win_ul:after {display:block;visibility:hidden;clear:both;content:""} +.new_win_ul li {float:left;margin-left:-1px} +.new_win_ul a {display:block;padding:10px;border-right:1px solid #eee;border-left:1px solid #eee;color:#595959;font-family:"dotum";font-size:0.875em;font-weight:bold;text-decoration:none} +.new_win_ul a:hover, +.new_win_ul a:focus {background:#faf9f5} + +/* 포인트 내역 */ +#point p {text-align:center} +#point .td_datetime {width:150px} + +/* 쪽지 */ + +/* 스크랩 */ + /* 폼메일 */ #formmail textarea {height:100px} diff --git a/skin/board/neo/list.skin.php b/skin/board/neo/list.skin.php index ba07d160d..3ea719f84 100644 --- a/skin/board/neo/list.skin.php +++ b/skin/board/neo/list.skin.php @@ -11,18 +11,9 @@ if ($is_nogood) $colspan++;

- +
- -
- -
- -
@@ -40,22 +31,35 @@ if ($is_nogood) $colspan++; - + - +
- - - +
+ + + + + +
+
+ +
+
+ +
@@ -65,7 +69,7 @@ if ($is_nogood) $colspan++; - +
@@ -84,7 +88,7 @@ if ($is_nogood) $colspan++; for ($i=0; $i - - - - - - + + + + + '; } ?> @@ -133,8 +137,8 @@ for ($i=0; $i -
-
    +
    +
    • 목록
    • @@ -145,13 +149,13 @@ for ($i=0; $i
    -
    -
    +
    이전검색'; } ?> 다음검색'; } ?> From d9e54188fff9ffe1a9464812b654cc37af2d461d Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 8 Jan 2013 15:00:17 +0900 Subject: [PATCH 08/30] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90:=20=EA=B2=8C?= =?UTF-8?q?=EC=8B=9C=ED=8C=90=EC=8A=A4=ED=82=A8=20=EB=AA=A9=EB=A1=9D=20?= =?UTF-8?q?=EC=9E=91=EC=97=85=20=EC=A4=912?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/def.css | 5 ++- skin/board/neo/list.skin.php | 70 +++++++++++++++++------------------- 2 files changed, 37 insertions(+), 38 deletions(-) diff --git a/css/def.css b/css/def.css index 6fcc6115b..569323a03 100644 --- a/css/def.css +++ b/css/def.css @@ -242,7 +242,6 @@ h6 {margin:0 0 20px} .sch_datetime {font-size:0.75em} /* 게시판 목록 */ -#board_list caption {padding:0;height:0;overflow:hidden} .btn_board {margin-bottom:10px;zoom:1} .btn_board:after {display:block;visibility:hidden;clear:both;content:""} .btn_board ul {margin:0;padding:0;list-style:none} @@ -252,6 +251,10 @@ h6 {margin:0 0 20px} .btn_board_adm {float:left} .btn_board_adm li {float:left} .btn_board_adm a {display:block;margin-right:5px} +.cate_board select {padding:2px;border:1px solid #ddd;background:#f9f9f5;vertical-align:middle} +#board_list caption {padding:0;height:0;overflow:hidden} +.board_cate_link {display:inline-block;margin-right:10px;font-weight:bold} +.td_subject img {margin-left:5px} /* 우편번호 검색 */ #post_num dl {margin:0 auto 10px;padding:0;width:90%} diff --git a/skin/board/neo/list.skin.php b/skin/board/neo/list.skin.php index 3ea719f84..9151ec9f8 100644 --- a/skin/board/neo/list.skin.php +++ b/skin/board/neo/list.skin.php @@ -13,33 +13,29 @@ if ($is_nogood) $colspan++; -
    -
    - - -
    - 게시물 검색 - Total 건 중 - - - - - - - - - -
    - -
    +
    + + + +
    @@ -87,7 +83,7 @@ if ($is_nogood) $colspan++; -
+> -
목록
+
게시물이 없습니다.
+ '.$list[$i]['ca_name'].''; - } + ?> + + - if ($list[$i]['is_notice']) - echo ''.$list[$i]['subject'].''; - else - echo ''.$list[$i]['subject'].''; + - if ($list[$i]['comment_cnt']) - echo ''.$list[$i]['comment_cnt'].''; + + + + '; } From 98b7c7992c90100b6406b3024a00731c778c10b8 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 8 Jan 2013 15:02:01 +0900 Subject: [PATCH 09/30] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90:=20=EC=B5=9C?= =?UTF-8?q?=EC=8B=A0=EA=B8=80=20=EC=8A=A4=ED=82=A8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/def.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/css/def.css b/css/def.css index 569323a03..e172bb824 100644 --- a/css/def.css +++ b/css/def.css @@ -205,8 +205,8 @@ h6 {margin:0 0 20px} /* 최신글 */ .latest {clear:both;margin-bottom:30px;padding:20px;border:1px solid #eee;font-size:0.8em} -.latest strong {display:block;float:left;margin-top:5px;width:200px} -.latest ul {float:left;margin:0;padding:0;list-style:none} +.latest strong {display:inline-block;margin-bottom:15px} +.latest ul {margin:0;padding:0;list-style:none} .latest li a {display:inline-block;padding:4px 0} .latest p {padding:0} .latest_more {clear:both;text-align:right} From 5ac9408b2fa1ff9a8655e5bc789713b8be5c92c9 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 8 Jan 2013 16:10:21 +0900 Subject: [PATCH 10/30] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90:=20=EA=B2=8C?= =?UTF-8?q?=EC=8B=9C=ED=8C=90=EC=8A=A4=ED=82=A8=20=EB=AA=A9=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/def.css | 29 +++++++++++--- skin/board/neo/list.skin.php | 78 ++++++++++++++++++------------------ 2 files changed, 62 insertions(+), 45 deletions(-) diff --git a/css/def.css b/css/def.css index e172bb824..5b14cbf5d 100644 --- a/css/def.css +++ b/css/def.css @@ -94,7 +94,7 @@ h6 {margin:0 0 20px} #ol_before fieldset {margin:0;padding:0;border:0;background:transparent} #ol_before legend {position:absolute;padding:0;width:0;height:0;border:0;background:transparent;overflow:hidden} #ol_before input:focus {background:#333;color:#fff} -#ol_before ul {position:relative;top:0;left:90px;margin:10px 0;width:90px;zoom:1} +#ol_before ul {position:relative;top:0;left:93px;margin:10px 0;width:90px;zoom:1} #ol_before ul:after {display:block;visibility:hidden;clear:both;content:""} #ol_before li {float:left;margin-right:5px} #ol_before a {color:#696969;text-decoration:none;letter-spacing:-0.1em} @@ -186,6 +186,17 @@ h6 {margin:0 0 20px} #footer p {position:absolute;top:25px;right:50px} /* ##################################################################### 스킨 및 컨텐츠 */ +/* 버튼 */ +.btn01 {display:inline-block;padding:0 10px;height:25px;border:1px solid #ff5e1c;background:#ff7200;color:#fff;font-size:0.8em;text-decoration:none;line-height:2.2em} +.btn01:hover, +.btn01:focus {} +.btn02 {display:inline-block;padding:0 10px;height:25px;border:1px solid #ccc;background:#fafafa;color:#000;font-size:0.8em;text-decoration:none;line-height:2.2em} +.btn02:hover, +.btn02:focus {} +.btn03 {display:inline-block;padding:0 10px;height:25px;border:1px solid #555;background:#666;color:#fff;font-size:0.8em;text-decoration:none;line-height:2.2em} +.btn02:hover, +.btn02:focus {} + /* 폼 테이블 */ .frm_tbl {} .frm_tbl caption {padding-top:10px;border-bottom:1px solid #aaa;font-weight:bold} @@ -242,16 +253,22 @@ h6 {margin:0 0 20px} .sch_datetime {font-size:0.75em} /* 게시판 목록 */ +#btn_board_adm {text-align:center} +#btn_board_adm a {display:inline-block;margin-bottom:20px;padding:10px 20px;text-align:center} .btn_board {margin-bottom:10px;zoom:1} .btn_board:after {display:block;visibility:hidden;clear:both;content:""} .btn_board ul {margin:0;padding:0;list-style:none} .btn_board_user {float:right} -.btn_board_user li {float:left} -.btn_board_user a {display:block;margin-left:10px} +.btn_board_user li {float:left;margin-left:5px} +.btn_board_user a {display:block} .btn_board_adm {float:left} -.btn_board_adm li {float:left} -.btn_board_adm a {display:block;margin-right:5px} -.cate_board select {padding:2px;border:1px solid #ddd;background:#f9f9f5;vertical-align:middle} +.btn_board_adm li {float:left;margin-right:5px} +.btn_board_adm a {display:block} +#board_search {float:left;padding:0;margin:0;border:0} +#board_search legend {margin:0;padding:0;width:0;height:0;border:0;overflow:hidden} +#board_search form {display:inline-block} +#fcategory select {margin-right:10px;padding:2px;border:1px solid #ddd;background:#f9f9f5;vertical-align:middle} + #board_list caption {padding:0;height:0;overflow:hidden} .board_cate_link {display:inline-block;margin-right:10px;font-weight:bold} .td_subject img {margin-left:5px} diff --git a/skin/board/neo/list.skin.php b/skin/board/neo/list.skin.php index 9151ec9f8..d3642c846 100644 --- a/skin/board/neo/list.skin.php +++ b/skin/board/neo/list.skin.php @@ -11,49 +11,49 @@ if ($is_nogood) $colspan++;

- - -
- - - -
+
- - - + + + +
@@ -139,14 +139,14 @@ for ($i=0; $i목록 -
  • 선택삭제
  • -
  • 선택복사
  • -
  • 선택이동
  • +
  • 선택삭제
  • +
  • 선택복사
  • +
  • 선택이동
  • From f4cdcd33a7ea64b6ec4514a1004dccf31ff25ae9 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 8 Jan 2013 16:15:34 +0900 Subject: [PATCH 11/30] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90:=20=EC=95=84?= =?UTF-8?q?=EC=9B=83=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EC=8A=A4=ED=82=A8?= =?UTF-8?q?=EC=97=90=20=EC=A0=9C=EB=AA=A9=20=EB=82=98=EC=98=A4=EA=B2=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/def.css | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/css/def.css b/css/def.css index 5b14cbf5d..574ca1c73 100644 --- a/css/def.css +++ b/css/def.css @@ -88,9 +88,9 @@ h6 {margin:0 0 20px} /* 아웃로그인 */ .outlogin {margin-bottom:5px;border:1px solid #dedace} -.outlogin h2 {margin:0;height:0;overflow:hidden} /* 로그인 전 */ #ol_before {padding:10px 10px 0;width:178px;background:#f9f9f5;font-size:0.7em} +#ol_before h2 {margin-bottom:5px;font-size:1.1em} #ol_before fieldset {margin:0;padding:0;border:0;background:transparent} #ol_before legend {position:absolute;padding:0;width:0;height:0;border:0;background:transparent;overflow:hidden} #ol_before input:focus {background:#333;color:#fff} @@ -99,15 +99,16 @@ h6 {margin:0 0 20px} #ol_before li {float:left;margin-right:5px} #ol_before a {color:#696969;text-decoration:none;letter-spacing:-0.1em} #ol_mb_id{display:block;margin-bottom:3px;padding:0 5px;width:165px;height:22px;border:1px solid #d7d7d7;background:#fff;line-height:1.6em} -#ol_mb_id_label {z-index:2;position:absolute;top:17px;left:20px;color:#696969} +#ol_mb_id_label {z-index:2;position:absolute;top:38px;left:20px;color:#696969} #ol_mb_pw {display:block;padding:0 5px;width:100px;height:22px;border:1px solid #d7d7d7;background:#fff;line-height:1.6em} -#ol_mb_pw_label {z-index:2;position:absolute;top:45px;left:20px;color:#696969} -#auto_login {position:absolute;top:71px;left:13px} -#auto_login_label {position:absolute;top:72px;left:28px;color:#696969;letter-spacing:-0.1em} -#ol_submit {position:absolute;top:38px;right:12px;width:60px;height:24px;border:1px solid #b7b7b7;background:#fff;font-size:1em;font-weight:bold;letter-spacing:-0.1em;line-height:2em} +#ol_mb_pw_label {z-index:2;position:absolute;top:65px;left:20px;color:#696969} +#auto_login {position:absolute;top:92px;left:13px} +#auto_login_label {position:absolute;top:93px;left:28px;color:#696969;letter-spacing:-0.1em} +#ol_submit {position:absolute;top:58px;right:12px;width:60px;height:24px;border:1px solid #b7b7b7;background:#fff;font-size:1em;font-weight:bold;letter-spacing:-0.1em;line-height:2em} /* 로그인 후 */ #ol_after {width:198px;background:#f9f9f5;color:#000;font-size:0.75em} #ol_after header {padding:10px 0;text-align:center} +#ol_after h2 {margin-bottom:5px;padding-left:10px;font-size:1em;text-align:left} #ol_after ul {padding:5px 0;background:#fff} #ol_after li a {display:block;position:relative;padding:7px 10px;color:#000;text-decoration:none} #ol_after li span {position:absolute;top:7px;right:10px} From 768376a9e0df4cb28f77aefaf3590ac13d96e0f2 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 8 Jan 2013 16:33:21 +0900 Subject: [PATCH 12/30] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90:=20=EA=B2=8C?= =?UTF-8?q?=EC=8B=9C=ED=8C=90=EC=8A=A4=ED=82=A8=20=EA=B8=80=EC=93=B0?= =?UTF-8?q?=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/def.css | 1 + skin/board/neo/write.skin.php | 109 +++++++++++++--------------------- 2 files changed, 43 insertions(+), 67 deletions(-) diff --git a/css/def.css b/css/def.css index 574ca1c73..8778998db 100644 --- a/css/def.css +++ b/css/def.css @@ -211,6 +211,7 @@ h6 {margin:0 0 20px} .frm_tbl .frm_input:focus {padding:4px;border:0;background:#333;color:#fff} .frm_tbl textarea {width:90%} .frm_tbl select {padding:2px} +.frm_file {display:block;margin-bottom:5px} .frm_info {display:block;padding:10px 0 0;color:#595959;line-height:1.3em} .readonly {background:#ff3061} diff --git a/skin/board/neo/write.skin.php b/skin/board/neo/write.skin.php index 43948ec49..f058bc016 100644 --- a/skin/board/neo/write.skin.php +++ b/skin/board/neo/write.skin.php @@ -8,6 +8,8 @@ var char_min = parseInt(); // 최소 var char_max = parseInt(); // 최대 +

    +
    @@ -20,34 +22,34 @@ var char_max = parseInt(); // 최대 - +
    - + - + - + - + @@ -57,27 +59,27 @@ $option_hidden = ''; if ($is_notice || $is_html || $is_secret || $is_mail) { $option = ''; if ($is_notice) { - $option .= PHP_EOL.''; + $option .= PHP_EOL.''.PHP_EOL.''; } if ($is_html) { if ($is_dhtml_editor) { $option_hidden .= ''; } else { - $option .= PHP_EOL.''; + $option .= PHP_EOL.''.PHP_EOL.''; } } if ($is_secret) { if ($is_admin || $is_secret==1) { - $option .= PHP_EOL.''; + $option .= PHP_EOL.''.PHP_EOL.''; } else { $option_hidden .= ''; } } if ($is_mail) { - $option .= PHP_EOL.''; + $option .= PHP_EOL.''.PHP_EOL.''; } } @@ -94,7 +96,7 @@ if ($option) { - + @@ -120,72 +122,45 @@ if ($option) { - + - + - - + + + + + + + + + + + + + From 27d51bdaa1e71a2397f0eda22629503c43b2d7c8 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 8 Jan 2013 16:36:14 +0900 Subject: [PATCH 13/30] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90:=20=EA=B2=8C?= =?UTF-8?q?=EC=8B=9C=ED=8C=90=EC=8A=A4=ED=82=A8=20=EA=B8=80=EC=93=B0?= =?UTF-8?q?=EA=B8=B0=20=EB=B3=B4=EA=B0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bbs/write.php | 2 +- css/def.css | 3 +++ skin/board/neo/write.skin.php | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/bbs/write.php b/bbs/write.php index 7d5bd3d47..805243f3e 100644 --- a/bbs/write.php +++ b/bbs/write.php @@ -175,7 +175,7 @@ if ($group['gr_use_access']) { } } -$g4['title'] = $title_msg.' > '.$board['bo_subject']; +$g4['title'] = $board['bo_subject']." ".$title_msg; $is_notice = false; $notice_checked = ''; diff --git a/css/def.css b/css/def.css index 8778998db..bd0c04332 100644 --- a/css/def.css +++ b/css/def.css @@ -275,6 +275,9 @@ h6 {margin:0 0 20px} .board_cate_link {display:inline-block;margin-right:10px;font-weight:bold} .td_subject img {margin-left:5px} +/* 게시판 쓰기 */ +#board_write caption {padding:0;height:0;overflow:hidden} + /* 우편번호 검색 */ #post_num dl {margin:0 auto 10px;padding:0;width:90%} #post_num dt {margin-bottom:15px} diff --git a/skin/board/neo/write.skin.php b/skin/board/neo/write.skin.php index f058bc016..bc77eb289 100644 --- a/skin/board/neo/write.skin.php +++ b/skin/board/neo/write.skin.php @@ -22,7 +22,7 @@ var char_max = parseInt(); // 최대 -
    title="패스워드">>
    - @@ -104,7 +106,7 @@ if ($option) {
    ">">
    파일 #1 -
    - + +
    - 파일증가 - 파일감소 + 파일 #2 + + +
    파일 #3 + + +
    파일 #4 + + +
    파일 #5 + +
    +
    From 2ff965729355507799244f5662edcff31afc3832 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 8 Jan 2013 16:47:55 +0900 Subject: [PATCH 14/30] =?UTF-8?q?html5.js=20ie8=20=EC=9D=B4=ED=95=98=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- head.sub.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/head.sub.php b/head.sub.php index cda00e67c..54cd6f49c 100644 --- a/head.sub.php +++ b/head.sub.php @@ -73,7 +73,9 @@ var g4_is_ie = navigator.userAgent.toLowerCase().indexOf("msie") != -1; + $value) { From 17a2f4b24b066cba190d74303a0838d567cdd206 Mon Sep 17 00:00:00 2001 From: gnuboard Date: Tue, 8 Jan 2013 17:03:47 +0900 Subject: [PATCH 15/30] =?UTF-8?q?=ED=9A=8C=EC=9B=90=EA=B0=80=EC=9E=85?= =?UTF-8?q?=EC=8B=9C=EC=97=90=EB=A7=8C=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EB=8A=94=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=EB=9F=AC=EB=A6=AC=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/register.lib.php | 200 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 lib/register.lib.php diff --git a/lib/register.lib.php b/lib/register.lib.php new file mode 100644 index 000000000..c4795fbef --- /dev/null +++ b/lib/register.lib.php @@ -0,0 +1,200 @@ + '$reg_mb_id' "); + if ($row['cnt']) + return "이미 존재하는 별명입니다."; + else + return ""; +} + +function reserve_mb_nick($reg_mb_nick) +{ + global $config; + if (preg_match("/[\,]?{$reg_mb_nick}/i", $config['cf_prohibit_id'])) + return "이미 예약된 단어로 사용할 수 없는 별명 입니다."; + else + return ""; +} + +function empty_mb_email($reg_mb_email) +{ + if (!trim($reg_mb_email)) + return "E-mail 주소를 입력해 주십시오."; + else + return ""; +} + +function valid_mb_email($reg_mb_email) +{ + if (!preg_match("/([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/", $reg_mb_email)) + return "E-mail 주소가 형식에 맞지 않습니다."; + else + return ""; +} + +function exist_mb_email($reg_mb_email, $reg_mb_id) +{ + global $g4; + $row = sql_fetch(" select count(*) as cnt from `{$g4['member_table']}` where mb_email = '$reg_mb_email' and mb_id <> '$reg_mb_id' "); + if ($row['cnt']) + return "이미 사용중인 E-mail 주소입니다."; + else + return ""; +} + +function empty_mb_name($reg_mb_name) +{ + if (!trim($reg_mb_name)) + return "이름을 입력해 주십시오."; + else + return ""; +} + +function valid_mb_name($mb_name) +{ + if (!check_string($mb_name, _G4_HANGUL_)) + return "이름은 공백없이 한글만 입력 가능합니다."; + else + return ""; +} + +return; +?> + + +// 회원가입시 회원아이디 오류 검사 +function check_mb_id($reg_mb_id, $length=3) +{ + global $config, $g4; + + if (!isset($reg_mb_id) || !$reg_mb_id) + return "회원아이디를 입력해 주십시오."; + + if (preg_match("/[^0-9a-z_]+/i", $reg_mb_id)) { + return "회원아이디는 영문자, 숫자, _ 만 입력하세요."; // 유효하지 않은 회원아이디 + } else if (strlen($reg_mb_id) < $length) { + return "회원아이디는 최소 {$length}글자 이상 입력하세요."; + } else { + $row = sql_fetch(" select count(*) as cnt from {$g4['member_table']} where mb_id = '$reg_mb_id' "); + if ($row['cnt']) { + return "이미 사용중인 회원아이디 입니다."; // 이미 존재하는 회원아이디 + } else { + if (preg_match("/[\,]?{$reg_mb_id}/i", $config['cf_prohibit_id'])) { + return "이미 예약된 단어로 사용할 수 없는 회원아이디 입니다."; // 예약어로 금지된 회원아이디 + } + } + } + return ""; // 사용해도 좋은 회원아이디 +} + +function check_mb_nick($reg_mb_nick, $reg_mb_id) +{ + global $g4; + + if (!isset($reg_mb_nick) || !$reg_mb_nick) + return "별명을 입력해 주십시오."; + + // 별명은 한글, 영문, 숫자만 가능 + if (!check_string($reg_mb_nick, _G4_HANGUL_ + _G4_ALPHABETIC_ + _G4_NUMERIC_)) { + return "별명은 공백없이 한글, 영문, 숫자만 입력 가능합니다."; + } else if (strlen($reg_mb_nick) < 4) { + return "별명은 한글 2글자, 영문 4글자 이상 입력 가능합니다."; + } else { + $row = sql_fetch(" select count(*) as cnt from {$g4['member_table']} where mb_nick = '$reg_mb_nick' and mb_id <> '$reg_mb_id' "); + if ($row['cnt']) { + return "이미 존재하는 별명입니다."; + } + } + return ""; // 사용해도 좋은 별명 +} + + +function check_mb_email($reg_mb_email, $reg_mb_id) +{ + global $g4; + + if (!isset($reg_mb_email) || !$reg_mb_email) + return "E-mail 주소를 입력해 주십시오."; + + if (!preg_match("/([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/", $reg_mb_email)) { + return "E-mail 주소가 형식에 맞지 않습니다."; + } else { + $row = sql_fetch(" select count(*) as cnt from {$g4['member_table']} where mb_email = '$reg_mb_email' and mb_id <> '$reg_mb_id' "); + if ($row['cnt']) { + return "이미 사용중인 E-mail 주소입니다."; + } + } + return ""; +} From 751a38a2abd03c5e054c913d3d8abffcae596a85 Mon Sep 17 00:00:00 2001 From: gnuboard Date: Tue, 8 Jan 2013 17:04:15 +0900 Subject: [PATCH 16/30] =?UTF-8?q?=ED=9A=8C=EC=9B=90=EA=B0=80=EC=9E=85=20no?= =?UTF-8?q?tice=20=EC=98=A4=EB=A5=98=20=ED=95=B4=EA=B2=B0=20=EB=B0=8F=20?= =?UTF-8?q?=EC=BA=A1=EC=B1=A0=20iframe=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bbs/register_form.php | 6 + bbs/register_form_update.php | 292 +++++++++---------- head.sub.php | 2 +- lib/common.lib.php | 66 +---- lib/mailer.lib.php | 2 +- plugin/captcha/captcha.js | 2 +- plugin/captcha/captcha.lib.php | 21 +- skin/member/neo/ajax_mb_email_check.php | 8 +- skin/member/neo/ajax_mb_id_check.php | 9 +- skin/member/neo/ajax_mb_nick_check.php | 9 +- skin/member/neo/ajax_register_form.jquery.js | 7 +- skin/member/neo/register_form.skin.php | 55 +--- skin/member/neo/register_result.skin.php | 10 +- 13 files changed, 196 insertions(+), 293 deletions(-) diff --git a/bbs/register_form.php b/bbs/register_form.php index 4a3d6a404..5e996d4c3 100644 --- a/bbs/register_form.php +++ b/bbs/register_form.php @@ -1,5 +1,6 @@ lib) include_once($captcha->lib); // 불법접근을 막도록 토큰생성 @@ -112,6 +113,11 @@ else $req_nick = !isset($member['mb_nick_date']) || (isset($member['mb_nick_date']) && $member['mb_nick_date'] <= date("Y-m-d", $g4['server_time'] - ($config['cf_nick_modify'] * 86400))); +$required = ""; +$readonly = ""; +if ($w == '') $required = "required"; +else if ($w == 'u') $readonly = "readonly"; + include_once($member_skin_path.'/register_form.skin.php'); include_once('./_tail.php'); ?> \ No newline at end of file diff --git a/bbs/register_form_update.php b/bbs/register_form_update.php index d91812683..055848806 100644 --- a/bbs/register_form_update.php +++ b/bbs/register_form_update.php @@ -1,5 +1,6 @@ date("Y-m-d", $g4[server_time] - ($config[cf_nick_modify] * 86400))) - $mb_nick = $member[mb_nick]; + if ($member['mb_nick_date'] > date("Y-m-d", $g4['server_time'] - ($config['cf_nick_modify'] * 86400))) + $mb_nick = $member['mb_nick']; // 회원정보의 메일을 이전 메일로 옮기고 아래에서 비교함 - $old_email = $member[mb_email]; - - $sql = " select count(*) as cnt from {$g4[member_table]} where mb_nick = '{$mb_nick}' and mb_id <> '{$mb_id}' "; - $row = sql_fetch($sql); - if ($row[cnt]) - alert(''.$mb_nick.' 은(는) 이미 다른분이 사용중인 별명이므로 사용이 불가합니다.'); - - $sql = " select count(*) as cnt from {$g4[member_table]} where mb_email = '{$mb_email}' and mb_id <> '{$mb_id}' "; - $row = sql_fetch($sql); - if ($row[cnt]) - alert(''.$mb_email.' 은(는) 이미 다른분이 사용중인 E-mail이므로 사용이 불가합니다.'); + $old_email = $member['mb_email']; } + + if ($msg = exist_mb_nick($mb_nick, $mb_id)) alert($msg); + if ($msg = exist_mb_email($mb_email, $mb_id)) alert($msg); } $mb_dir = $g4['path'].'/data/member/'.substr($mb_id,0,2); // 아이콘 삭제 -if ($del_mb_icon) +if (isset($_POST['del_mb_icon'])) { @unlink($mb_dir.'/'.$mb_id.'.gif'); +} $msg = ""; // 아이콘 업로드 $mb_icon = ''; -if (is_uploaded_file($_FILES[mb_icon][tmp_name])) -{ - if (preg_match("/(\.gif)$/i", $_FILES[mb_icon][name])) - { +if (isset($_FILES['mb_icon']) && is_uploaded_file($_FILES['mb_icon']['tmp_name'])) { + if (preg_match("/(\.gif)$/i", $_FILES['mb_icon']['name'])) { // 아이콘 용량이 설정값보다 이하만 업로드 가능 - if ($_FILES[mb_icon][size] <= $config[cf_member_icon_size]) - { + if ($_FILES['mb_icon']['size'] <= $config['cf_member_icon_size']) { @mkdir($mb_dir, 0707); @chmod($mb_dir, 0707); $dest_path = $mb_dir.'/'.$mb_id.'.gif'; - move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path); + move_uploaded_file($_FILES['mb_icon']['tmp_name'], $dest_path); chmod($dest_path, 0606); - if (file_exists($dest_path)) - { + if (file_exists($dest_path)) { //=================================================================\ // 090714 // gif 파일에 악성코드를 심어 업로드 하는 경우를 방지 @@ -128,14 +115,15 @@ if (is_uploaded_file($_FILES[mb_icon][tmp_name])) @unlink($dest_path); else // 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제 - if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height]) + if ($size[0] > $config['cf_member_icon_width'] || $size[1] > $config['cf_member_icon_height']) @unlink($dest_path); //=================================================================\ } } + + } else { + $msg .= $_FILES['mb_icon']['name'].'은(는) gif 파일이 아닙니다.'; } - else - $msg .= $_FILES[mb_icon][name].'은(는) gif 파일이 아닙니다.'; } @@ -143,23 +131,16 @@ if (is_uploaded_file($_FILES[mb_icon][tmp_name])) $admin = get_admin('super'); -if ($w == '') -{ - $mb = get_member($mb_id); - if ($mb[mb_id]) - alert('이미 가입한 아이디입니다.'); +if ($w == '') { - $sql = " insert into {$g4[member_table]} + $sql = " insert into {$g4['member_table']} set mb_id = '{$mb_id}', mb_password = '".sql_password($mb_password)."', mb_name = '{$mb_name}', - mb_jumin = '{$mb_jumin}', mb_sex = '{$mb_sex}', mb_birth = '{$mb_birth}', mb_nick = '{$mb_nick}', - mb_nick_date = '{$g4[time_ymd]}', - mb_password_q = '{$mb_password_q}', - mb_password_a = '{$mb_password_a}', + mb_nick_date = '{$g4['time_ymd']}', mb_email = '{$mb_email}', mb_homepage = '{$mb_homepage}', mb_tel = '{$mb_tel}', @@ -170,16 +151,16 @@ if ($w == '') mb_addr2 = '{$mb_addr2}', mb_signature = '{$mb_signature}', mb_profile = '{$mb_profile}', - mb_today_login = '{$g4[time_ymdhis]}', - mb_datetime = '{$g4[time_ymdhis]}', - mb_ip = '{$_SERVER[REMOTE_ADDR]}', - mb_level = '{$config[cf_register_level]}', + mb_today_login = '{$g4['time_ymdhis']}', + mb_datetime = '{$g4['time_ymdhis']}', + mb_ip = '{$_SERVER['REMOTE_ADDR']}', + mb_level = '{$config['cf_register_level']}', mb_recommend = '{$mb_recommend}', - mb_login_ip = '{$_SERVER[REMOTE_ADDR]}', + mb_login_ip = '{$_SERVER['REMOTE_ADDR']}', mb_mailling = '{$mb_mailling}', mb_sms = '{$mb_sms}', mb_open = '{$mb_open}', - mb_open_date = '{$g4[time_ymd]}', + mb_open_date = '{$g4['time_ymd']}', mb_1 = '{$mb_1}', mb_2 = '{$mb_2}', mb_3 = '{$mb_3}', @@ -191,36 +172,34 @@ if ($w == '') mb_9 = '{$mb_9}', mb_10 = '{$mb_10}' "; // 이메일 인증을 사용하지 않는다면 이메일 인증시간을 바로 넣는다 - if (!$config[cf_use_email_certify]) + if (!$config['cf_use_email_certify']) $sql .= " , mb_email_certify = '{$g4[time_ymdhis]}' "; sql_query($sql); // 회원가입 포인트 부여 - insert_point($mb_id, $config[cf_register_point], '회원가입 축하', '{@member}', $mb_id, '회원가입'); + insert_point($mb_id, $config['cf_register_point'], '회원가입 축하', '{@member}', $mb_id, '회원가입'); // 추천인에게 포인트 부여 - if ($config[cf_use_recommend] && $mb_recommend) - insert_point($mb_recommend, $config[cf_recommend_point], '{$mb_id}의 추천인', '{@member}', $mb_recommend, '{$mb_id} 추천'); + if ($config['cf_use_recommend'] && $mb_recommend) + insert_point($mb_recommend, $config['cf_recommend_point'], '{$mb_id}의 추천인', '{@member}', $mb_recommend, '{$mb_id} 추천'); // 회원님께 메일 발송 - if ($config[cf_email_mb_member]) - { + if ($config['cf_email_mb_member']) { $subject = '회원가입을 축하드립니다.'; - $mb_md5 = md5($mb_id.$mb_email.$g4[time_ymdhis]); - $certify_href = $g4[url].'/'.$g4[bbs].'/email_certify.php?mb_id='.$mb_id.'&mb_md5='.$mb_md5; + $mb_md5 = md5($mb_id.$mb_email.$g4['time_ymdhis']); + $certify_href = $g4['url'].'/'.$g4['bbs'].'/email_certify.php?mb_id='.$mb_id.'&mb_md5='.$mb_md5; ob_start(); include_once ('./register_form_update_mail1.php'); $content = ob_get_contents(); ob_end_clean(); - mailer($admin[mb_nick], $admin[mb_email], $mb_email, $subject, $content, 1); + mailer($admin['mb_nick'], $admin['mb_email'], $mb_email, $subject, $content, 1); } // 최고관리자님께 메일 발송 - if ($config[cf_email_mb_super_admin]) - { + if ($config['cf_email_mb_super_admin']) { $subject = $mb_nick .' 님께서 회원으로 가입하셨습니다.'; ob_start(); @@ -228,22 +207,22 @@ if ($w == '') $content = ob_get_contents(); ob_end_clean(); - mailer($mb_nick, $mb_email, $admin[mb_email], $subject, $content, 1); + mailer($mb_nick, $mb_email, $admin['mb_email'], $subject, $content, 1); } // 메일인증 사용하지 않는 경우에만 로그인 - if (!$config[cf_use_email_certify]) + if (!$config['cf_use_email_certify']) set_session('ss_mb_id', $mb_id); set_session('ss_mb_reg', $mb_id); -} -else if ($w == 'u') -{ - if (!trim($_SESSION["ss_mb_id"])) + +} else if ($w == 'u') { + + if (!trim($_SESSION['ss_mb_id'])) alert('로그인 되어 있지 않습니다.'); - if ($_SESSION["ss_mb_id"] != $_POST[mb_id]) - alert('로그인된 정보와 수정하려는 정보가 틀리므로 수정할 수 없습니다.'.PHP_EOL.PHP_EOL.'만약 올바르지 않은 방법을 사용하신다면 바로 중지하여 주십시오.'); + if ($_SESSION['ss_mb_id'] != $mb_id) + alert("로그인된 정보와 수정하려는 정보가 틀리므로 수정할 수 없습니다.\\n만약 올바르지 않은 방법을 사용하신다면 바로 중지하여 주십시오."); $sql_password = ""; if ($mb_password) @@ -267,60 +246,57 @@ else if ($w == 'u') // 이전 메일주소와 수정한 메일주소가 틀리다면 인증을 다시 해야하므로 값을 삭제 $sql_email_certify = ''; - if ($old_email != $mb_email && $config[cf_use_email_certify]) + if ($old_email != $mb_email && $config['cf_use_email_certify']) $sql_email_certify = " , mb_email_certify = '' "; // set mb_name = '$mb_name', 제거 - $sql = " update {$g4[member_table]} + $sql = " update {$g4['member_table']} set mb_nick = '{$mb_nick}', - mb_password_q = '{$mb_password_q}', - mb_password_a = '{$mb_password_a}', - mb_mailling = '{$mb_mailling}', - mb_sms = '{$mb_sms}', - mb_open = '{$mb_open}', - mb_email = '{$mb_email}', - mb_homepage = '{$mb_homepage}', - mb_tel = '{$mb_tel}', - mb_hp = '{$mb_hp}', - mb_zip1 = '{$mb_zip1}', - mb_zip2 = '{$mb_zip2}', - mb_addr1 = '{$mb_addr1}', - mb_addr2 = '{$mb_addr2}', - mb_signature = '{$mb_signature}', - mb_profile = '{$mb_profile}', - mb_1 = '{$mb_1}', - mb_2 = '{$mb_2}', - mb_3 = '{$mb_3}', - mb_4 = '{$mb_4}', - mb_5 = '{$mb_5}', - mb_6 = '{$mb_6}', - mb_7 = '{$mb_7}', - mb_8 = '{$mb_8}', - mb_9 = '{$mb_9}', - mb_10 = '{$mb_10}' - {$sql_password} - {$sql_icon} - {$sql_nick_date} - {$sql_open_date} - {$sql_sex} - {$sql_email_certify} - where mb_id = '{$_POST[mb_id]}' "; + mb_mailling = '{$mb_mailling}', + mb_sms = '{$mb_sms}', + mb_open = '{$mb_open}', + mb_email = '{$mb_email}', + mb_homepage = '{$mb_homepage}', + mb_tel = '{$mb_tel}', + mb_hp = '{$mb_hp}', + mb_zip1 = '{$mb_zip1}', + mb_zip2 = '{$mb_zip2}', + mb_addr1 = '{$mb_addr1}', + mb_addr2 = '{$mb_addr2}', + mb_signature = '{$mb_signature}', + mb_profile = '{$mb_profile}', + mb_1 = '{$mb_1}', + mb_2 = '{$mb_2}', + mb_3 = '{$mb_3}', + mb_4 = '{$mb_4}', + mb_5 = '{$mb_5}', + mb_6 = '{$mb_6}', + mb_7 = '{$mb_7}', + mb_8 = '{$mb_8}', + mb_9 = '{$mb_9}', + mb_10 = '{$mb_10}' + {$sql_password} + {$sql_icon} + {$sql_nick_date} + {$sql_open_date} + {$sql_sex} + {$sql_email_certify} + where mb_id = '$mb_id' "; sql_query($sql); // 인증메일 발송 - if ($old_email != $mb_email && $config[cf_use_email_certify]) - { + if ($old_email != $mb_email && $config['cf_use_email_certify']) { $subject = '인증확인 메일입니다.'; - $mb_md5 = md5($mb_id.$mb_email.$member[mb_datetime]); - $certify_href = $g4[url].'/'.$g4[bbs].'/email_certify.php?mb_id='.$mb_id.'&mb_md5='.$mb_md5; + $mb_md5 = md5($mb_id.$mb_email.$member['mb_datetime']); + $certify_href = $g4['url'].'/'.$g4['bbs'].'/email_certify.php?mb_id='.$mb_id.'&mb_md5='.$mb_md5; ob_start(); include_once ('./register_form_update_mail3.php'); $content = ob_get_contents(); ob_end_clean(); - mailer($admin[mb_nick], $admin[mb_email], $mb_email, $subject, $content, 1); + mailer($admin['mb_nick'], $admin['mb_email'], $mb_email, $subject, $content, 1); } } @@ -332,23 +308,15 @@ else if ($w == 'u') if ($msg) echo ''; -/* -// 결과페이지는 https 에서 http 로 변경이 되어야 함 -if ($g4[https_url]) - $https_url = $g4[https_url].'/'.$g4[bbs]; -else - $https_url = '.'; -*/ - -$https_url = $g4[url].'/'.$g4[bbs]; +$https_url = $g4['url'].'/'.$g4['bbs']; if ($w == "") { goto_url($https_url.'/register_result.php'); } else if ($w == 'u') { - $row = sql_fetch(" select mb_password from {$g4[member_table]} where mb_id = '{$member[mb_id]}' "); + $row = sql_fetch(" select mb_password from {$g4['member_table']} where mb_id = '{$member[mb_id]}' "); $tmp_password = $row['mb_password']; - if ($old_email != $mb_email && $config[cf_use_email_certify]) { + if ($old_email != $mb_email && $config['cf_use_email_certify']) { set_session("ss_mb_id", ""); alert('회원 정보가 수정 되었습니다.\n\nE-mail 주소가 변경되었으므로 다시 인증하셔야 합니다.', $g4['path']); } else { @@ -361,7 +329,7 @@ if ($w == "") { diff --git a/head.sub.php b/head.sub.php index cda00e67c..621ac0146 100644 --- a/head.sub.php +++ b/head.sub.php @@ -29,7 +29,7 @@ if (strstr($lo_url, "/$g4[admin]/") || $is_admin == 'super') $lo_url = ''; // 자바스크립트에서 go(-1) 함수를 쓰면 폼값이 사라질때 해당 폼의 상단에 사용하면 // 캐쉬의 내용을 가져옴. 완전한지는 검증되지 않음 -header("Content-Type: text/html; charset=$g4[charset]"); +header("Content-Type: text/html; charset={$g4['charset']}"); $gmnow = gmdate("D, d M Y H:i:s") . " GMT"; header("Expires: 0"); // rfc2616 - Section 14.21 header("Last-Modified: " . $gmnow); diff --git a/lib/common.lib.php b/lib/common.lib.php index 014c8ddb1..8ccc6ca38 100644 --- a/lib/common.lib.php +++ b/lib/common.lib.php @@ -1562,69 +1562,9 @@ function convert_charset($from_charset, $to_charset, $str) } -// 회원가입시 회원아이디 오류 검사 -function check_mb_id($reg_mb_id, $length=3) +// mysql_real_escape_string 의 alias 기능을 한다. +function escape_trim($field) { - global $config, $g4; - - if (!isset($reg_mb_id) || !$reg_mb_id) - return "회원아이디를 입력해 주십시오."; - - if (preg_match("/[^0-9a-z_]+/i", $reg_mb_id)) { - return "회원아이디는 영문자, 숫자, _ 만 입력하세요."; // 유효하지 않은 회원아이디 - } else if (strlen($reg_mb_id) < $length) { - return "회원아이디는 최소 {$length}글자 이상 입력하세요."; - } else { - $row = sql_fetch(" select count(*) as cnt from {$g4['member_table']} where mb_id = '$reg_mb_id' "); - if ($row['cnt']) { - return "이미 사용중인 회원아이디 입니다."; // 이미 존재하는 회원아이디 - } else { - if (preg_match("/[\,]?{$reg_mb_id}/i", $config['cf_prohibit_id'])) { - return "이미 예약된 단어로 사용할 수 없는 회원아이디 입니다."; // 예약어로 금지된 회원아이디 - } - } - } - return ""; // 사용해도 좋은 회원아이디 -} - - -function check_mb_nick($reg_mb_nick) -{ - global $g4; - - if (!isset($reg_mb_nick) || !$reg_mb_nick) - return "별명을 입력해 주십시오."; - - // 별명은 한글, 영문, 숫자만 가능 - if (!check_string($reg_mb_nick, _G4_HANGUL_ + _G4_ALPHABETIC_ + _G4_NUMERIC_)) { - return "별명은 공백없이 한글, 영문, 숫자만 입력 가능합니다."; - } else if (strlen($reg_mb_nick) < 4) { - return "별명은 한글 2글자, 영문 4글자 이상 입력 가능합니다."; - } else { - $row = sql_fetch(" select count(*) as cnt from {$g4['member_table']} where mb_nick = '$reg_mb_nick' "); - if ($row['cnt']) { - return "이미 존재하는 별명입니다."; - } - } - return ""; // 사용해도 좋은 별명 -} - - -function check_mb_email($reg_mb_id, $reg_mb_email) -{ - global $g4; - - if (!isset($reg_mb_email) || !$reg_mb_email) - return "E-mail 주소를 입력해 주십시오."; - - if (!preg_match("/([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/", $reg_mb_email)) { - return "E-mail 주소가 형식에 맞지 않습니다."; - } else { - $row = sql_fetch(" select count(*) as cnt from {$g4['member_table']} where mb_id <> '$reg_mb_id' and mb_email = '$reg_mb_email' "); - if ($row['cnt']) { - return "이미 사용중인 E-mail 주소입니다."; - } - } - return ""; + return mysql_real_escape_string(htmlentities(trim($field))); } ?> \ No newline at end of file diff --git a/lib/mailer.lib.php b/lib/mailer.lib.php index 2e268dd12..d7229fbb1 100644 --- a/lib/mailer.lib.php +++ b/lib/mailer.lib.php @@ -9,7 +9,7 @@ function mailer($fname, $fmail, $to, $subject, $content, $type=0, $file='', $cc= global $g4; // 메일발송 사용을 하지 않는다면 - if (!$config[cf_email_use]) return; + if (!$config['cf_email_use']) return; $fname = "=?$g4[charset]?B?" . base64_encode($fname) . "?="; $subject = "=?$g4[charset]?B?" . base64_encode($subject) . "?="; diff --git a/plugin/captcha/captcha.js b/plugin/captcha/captcha.js index 7c87b4bcd..244995d5d 100644 --- a/plugin/captcha/captcha.js +++ b/plugin/captcha/captcha.js @@ -30,7 +30,7 @@ $(function() { $("#captcha_key").focus();//이미지 새로고침 후 입력박스에 포커스 : 지운아빠 2012-07-13 } }) - .css("cursor", "pointer"); + .css("cursor", "pointer") .trigger("click"); $("#captcha_wav").click(function(){ diff --git a/plugin/captcha/captcha.lib.php b/plugin/captcha/captcha.lib.php index 620d1f0d0..878fcf433 100644 --- a/plugin/captcha/captcha.lib.php +++ b/plugin/captcha/captcha.lib.php @@ -145,16 +145,17 @@ function get_captcha($input_name, $captcha_no) set_session('ss_captcha_use', true); $captcha_class = str_pad($captcha_no,2,'0',STR_PAD_LEFT);// 캡챠 클래스를 선택할 수 있도록 지운아빠 2012-07-24 - $s = ""; - $s .= "
    \n"; - $s .= "자동등록방지\n"; - $s .= "\"자동등록방지\n"; - $s .= "wav\n"; - $s .= "\n"; - $s .= "\n"; - $s .= "

    이미지의 숫자를 순서대로 입력하세요. 이미지를 클릭하시면 새로운 숫자가 나타납니다.

    \n"; - $s .= "
    \n"; - return $s; + $code = '
    '; + $code .= '자동등록방지'; + //$code .= '자동등록방지 이미지'; + $code .= ''; + $code .= '새로고침'; + $code .= 'wav'; + $code .= ''; + $code .= ''; + $code .= '

    이미지의 숫자를 순서대로 입력하세요. 이미지를 클릭하시면 새로운 숫자가 나타납니다.

    '; + $code .= '
    '; + return $code; } diff --git a/skin/member/neo/ajax_mb_email_check.php b/skin/member/neo/ajax_mb_email_check.php index dc3c30c70..9d255f106 100644 --- a/skin/member/neo/ajax_mb_email_check.php +++ b/skin/member/neo/ajax_mb_email_check.php @@ -1,5 +1,11 @@ \ No newline at end of file diff --git a/skin/member/neo/ajax_mb_id_check.php b/skin/member/neo/ajax_mb_id_check.php index a62ed0816..8fa3f02f0 100644 --- a/skin/member/neo/ajax_mb_id_check.php +++ b/skin/member/neo/ajax_mb_id_check.php @@ -1,5 +1,12 @@ \ No newline at end of file diff --git a/skin/member/neo/ajax_mb_nick_check.php b/skin/member/neo/ajax_mb_nick_check.php index 9b7d0ae84..c47659321 100644 --- a/skin/member/neo/ajax_mb_nick_check.php +++ b/skin/member/neo/ajax_mb_nick_check.php @@ -1,5 +1,12 @@ \ No newline at end of file diff --git a/skin/member/neo/ajax_register_form.jquery.js b/skin/member/neo/ajax_register_form.jquery.js index 83ee0edc7..788260ccc 100644 --- a/skin/member/neo/ajax_register_form.jquery.js +++ b/skin/member/neo/ajax_register_form.jquery.js @@ -22,7 +22,8 @@ var reg_mb_nick_check = function() { type: "POST", url: member_skin_path+"/ajax_mb_nick_check.php", data: { - "reg_mb_nick": ($("#reg_mb_nick").val()) + "reg_mb_nick": ($("#reg_mb_nick").val()), + 'reg_mb_id': encodeURIComponent($('#reg_mb_id').val()) }, cache: false, async: false, @@ -40,8 +41,8 @@ var reg_mb_email_check = function() { type: 'POST', url: member_skin_path+'/ajax_mb_email_check.php', data: { - 'reg_mb_id': encodeURIComponent($('#reg_mb_id').val()), - 'reg_mb_email': $('#reg_mb_email').val() + 'reg_mb_email': $('#reg_mb_email').val(), + 'reg_mb_id': encodeURIComponent($('#reg_mb_id').val()) }, cache: false, async: false, diff --git a/skin/member/neo/register_form.skin.php b/skin/member/neo/register_form.skin.php index 5252f30bf..491d21969 100644 --- a/skin/member/neo/register_form.skin.php +++ b/skin/member/neo/register_form.skin.php @@ -1,9 +1,5 @@ - -

    텍스트 캡챠 샘플 페이지

    -
    -
    -
    -
    -

    문)

    -
    - 답) 반드시 숫자로 입력하세요. - - -
    - - - - - \ No newline at end of file diff --git a/plugin/tcaptcha/tcaptcha.js b/plugin/tcaptcha/tcaptcha.js deleted file mode 100644 index 8a0245d8b..000000000 --- a/plugin/tcaptcha/tcaptcha.js +++ /dev/null @@ -1,44 +0,0 @@ -function chk_tcaptcha(user_answer, user_token) -{ - if (typeof(user_answer) == "undefined") return false; - if (typeof(user_token ) == "undefined") return false; - - var error = false; - $.ajax({ - type: "POST", - url: g4_path+"/plugin/tcaptcha/chk_answer.ajax.php", - async: false, - data: { - "user_answer": user_answer.value, - "user_token" : user_token.value - }, - dataType: "json", - success: function(data, textStatus, jqXHR) { - error = data.error; - if (data.token) { - $("#user_token").val(data.token); - } - } - }); - - if (error) { - alert(error); - user_answer.select(); - return false; - } - return true; -} - -$(function() { - $("#tcaptcha").click(function() { - $.ajax({ - url: g4_path+"/plugin/tcaptcha/run.php?t="+(new Date).getTime(), - dataType: "json", - success: function(data, textStatus, jqXHR) { - $("#tcaptcha").html(data.tcaptcha); - $("#user_token").val(data.token); - } - }) - }) - .css("cursor", "pointer"); -}); \ No newline at end of file diff --git a/plugin/tcaptcha/tcaptcha.lib.php b/plugin/tcaptcha/tcaptcha.lib.php deleted file mode 100644 index db510ec5a..000000000 --- a/plugin/tcaptcha/tcaptcha.lib.php +++ /dev/null @@ -1,360 +0,0 @@ -kr = new stdClass; -$text_number->en = new stdClass; - -//$text_number->kr = (object)array('a'=>1); - -// 기수 cardinal (양을 나타낼때 사용하는 수) -$text_number->kr = (object)array( - 'number' => array( - array("영","일","이","삼","사","오","육","칠","팔","구","십"), - array("영","하나","둘","셋","넷","다섯","여섯","일곱","여덟","아홉","열") - ), - // 서수 ordinal (순서를 나타낼때 사용하는 수) - 'ordinal' => array("영","첫번째","두번째","세번째","네번째","다섯번째","여섯번째","일곱번째","여덟번째","아홉번째","열번째"), - 'high' => array("다음 중 가장 큰 수는? %s.", "%s 중에서 가장 큰 수는?"), - 'low' => array("다음 중 가장 작은 수는? %s.", "%s 중에서 가장 작은 수는?"), - 'position0' => array("다음 중 %s 숫자는? %s."), // 인수가 두개 있으며 첫번째에 위치가, 두번째 인수에 질문이 나열된다. - 'position1' => array("%s 중 %s 숫자는?"), // 인수가 두개 있으며 첫번째에 인수가 두반째에 위치에 대한 질문이 나열된다. - 'add' => array("%s 더하기 %s ?", "%s + %s = ?"), - 'subtract' => array("%s 빼기 %s ?", "%s - %s = ?"), - 'multiply' => array("%s 곱하기 %s ?"), - //'multiply' => array("%s 곱하기 %s ?", "%s 의 %s 배는 ?"), - 'and' => "그리고", -); -/* -// 서수 ordinal (순서를 나타낼때 사용하는 수) -$text_number->kr->ordinal = array("영","첫번째","두번째","세번째","네번째","다섯번째","여섯번째","일곱번째","여덟번째","아홉번째","열번째"); -$text_number->kr->plus = array("+","+","더하기"); -$text_number->kr->minus = array("-","-","빼기"); -$text_number->kr->multiply = array("x","×","*","곱하기"); -$text_number->kr->high = array("다음 중 가장 큰 수는? %s.", "%s 중에서 가장 큰 수는?"); -$text_number->kr->low = array("다음 중 가장 작은 수는? %s.", "%s 중에서 가장 작은 수는?"); -$text_number->kr->position0 =array("다음 중 %s 숫자는? %s."); // 인수가 두개 있으며 첫번째에 위치가, 두번째 인수에 질문이 나열된다. -$text_number->kr->position1 =array("%s 중 %s 숫자는?"); // 인수가 두개 있으며 첫번째에 인수가 두반째에 위치에 대한 질문이 나열된다. -$text_number->kr->add = array("%s 더하기 %s ?", "%s + %s = ?"); -$text_number->kr->subtract = array("%s 빼기 %s ?", "%s - %s = ?"); -$text_number->kr->and = "그리고"; -*/ - -$text_number->en = (object)array( - 'number' => array( - array("zero","one","two","three","four","five","six","seven","eight","nine","ten"), - array("zero","first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth") - ), - 'ordinal' => array("zero","1st","2nd","3rd","4th","5th","6th","7th","8th","9th","10th"), - 'high' => array("%s : which of these is the largest?"), - 'low' => array("%s : which of these is the smallest?"), - 'position0' => array("lists %s postion number ? %s."), // 인수가 두개 있으며 첫번째에 위치가, 두번째 인수에 질문이 나열된다. - 'position1' => array("%s lists %s postion number ?"), // 인수가 두개 있으며 첫번째에 인수가 두반째에 위치에 대한 질문이 나열된다. - 'add' => array("%s add %s ?", "%s plus %s ?", "%s + %s = ?"), - 'subtract' => array("%s subtract %s ?", "%s minus %s ?", "%s - %s = ?"), - 'multiply' => array("%s multiply %s ?"), - 'and' => "and" -); - -class tcaptcha -{ - var $language; - var $tnum; // text number 의 약어 - var $min_count = 3; // 최소 문제 갯수 - var $max_count = 4; // 최대 문제 갯수 - var $select; // 결과값 배열 - var $arabia; // 결과값 아라비아 숫자 배열 - var $count; // 결과값 수 - var $high; // 결과값 배열 중 가장 큰 값 - var $low; // 결과값 배열 중 가장 작은 값 - var $position; // 몇번째 숫자는 값이 얼마인가? - var $question; // 문제 - var $answer; // 더하기, 빼기 시에 답 - - function tcaptcha($language='') { - if (trim($language) == '') - $language = 'kr'; - $this->set_language($language); - } - - function set_language($language) { - $this->language = $language; - } - - function set_min_count($min_count) { - $this->min_count = $min_count; - } - - function set_max_count($max_count) { - $this->max_count = $max_count; - } - - function random_question() { - $this->count = $count = rand($this->min_count, $this->max_count); // 숫자를 몇개 뿌려줄것인지? - $select = array(); // 선택된 값들 - $arabia = array(); // 선택된 값들의 아라비아 숫자 - $high = 0; - $low = 9999; - while ($count != count($select)) { - $choice = rand(0, count($this->tnum->number)-1); // 여러개의 숫자 형식중 하나를 선택한다. - $number = $this->tnum->number[$choice]; - $index = rand(1, count($number)-1); // 영은 빼고 - if (in_array($index, $arabia)) continue; - if (rand(0, 3) < 3) { // 아라비아 숫자도 들어가도록 한다. - array_push($select, $number[$index]); - } else { - array_push($select, $index); - } - array_push($arabia, $index); - if ($index > $high) { - $high = $index; - } - if ($index < $low) { - $low = $index; - } - } - - $this->select = $select; - $this->arabia = $arabia; - $this->high = $high; // 배열중 가장 큰 값 - $this->low = $low; // 배열중 가장 작은 값 - - return $select; - } - - // 숫자의 중간에 , 나 and 를 넣는다. - function comma_question($question) { - $str = ""; - $and = false; - $comma = ""; - for ($qi=0; $qi" . $question[$qi] . "" . $comma; - } - return $str . "" . $question[$qi] . ""; - } - - // 가장 큰수나 가장 작은수의 질문을 만든다. - function series_question($question, $highlow) { - $question = $this->comma_question($question); - $highlow_array = $this->tnum->$highlow; - return sprintf($highlow_array[rand(0, count($highlow_array)-1)], $question); - } - - // 몇번째 어떤수가 있는지의 질문을 만든다. - function position_question($question) { - $question = $this->comma_question($question); - $position = rand(0, $this->count-1); - $ordinal = $this->get_ordinal_value($position+1); - $this->position = $this->arabia[$position]; // 몇번째 숫자는?의 답 - // 포지션 배열에 따라 인수의 위치가 다르다. - if (rand(0,1) == 0) { - $position_array = $this->tnum->position0; - return sprintf($position_array[rand(0, count($position_array)-1)], $ordinal, $question); - } else { - $position_array = $this->tnum->position1; - return sprintf($position_array[rand(0, count($position_array)-1)], $question, $ordinal); - } - } - - // 더하기 계산 문제 - function add_question($question) { - $add_array = $this->tnum->add; - $rand = rand(0, count($add_array)-1); - $first_number = $this->arabia[0]; - $second_number = $this->arabia[1]; - $this->answer = $first_number + $second_number; - return sprintf($add_array[rand(0, count($add_array)-1)], $question[0], $question[1] ); - } - - // a, b 변수값을 바꾼다. - function swap(&$a, &$b) - { - $temp = $a; - $a = $b; - $b = $temp; - } - - // 빼기 계산 문제 - function subtract_question($question) { - $subtract_array = $this->tnum->subtract; - $rand = rand(0, count($subtract_array)-1); - $first_number = $this->arabia[0]; - $second_number = $this->arabia[1]; - if ($first_number < $second_number) { - $this->swap($first_number, $second_number); - $this->swap($question[0], $question[1]); - } - $this->answer = $first_number - $second_number; - return sprintf($subtract_array[$rand], $question[0], $question[1] ); - } - - // 곱하기 계산 문제 - function multiply_question($question) { - $multiply_array = $this->tnum->multiply; - $rand = rand(0, count($multiply_array)-1); - $first_number = $this->arabia[0]; - $second_number = $this->arabia[1]; - $this->answer = $first_number * $second_number; - return sprintf($multiply_array[$rand], $question[0], $question[1] ); - } - - // 서수값을 반환 - function get_ordinal_value($index) { - return $this->tnum->ordinal[$index]; - } - - // ajax 비교를 위한 코드 : 답을 저장해 놓는다. - function set_session($answer) { - $this->token = _token(); - set_session("ss_tcaptcha_token", $this->token); - set_session("ss_tcaptcha_answer", $answer); - set_session("ss_tcaptcha_error_count", 0); - } - - function run() { - global $text_number; - $this->tnum = $text_number->{$this->language}; - $random_question = $this->random_question(); - switch (rand(0,5)) { - case 0 : - $question = $this->series_question( $random_question, 'high' ); - $this->set_session($this->high); - break; - case 1 : - $question = $this->series_question( $random_question, 'low' ); - $this->set_session($this->low); - break; - case 2 : - $question = $this->add_question( $random_question ); - $this->set_session($this->answer); - break; - case 3 : - $question = $this->subtract_question( $random_question ); - $this->set_session($this->answer); - break; - case 4 : - $question = $this->multiply_question( $random_question ); - $this->set_session($this->answer); - break; - default : - $question = $this->position_question( $random_question ); - $this->set_session($this->position); - break; - } - $this->question = $question; - return $question; - } -} - - -function html_unicode($unicode) -{ - return "&#".$unicode.";"; -} - - -function utf8_to_unicode( $str ) -{ - $unicode = array(); - $values = array(); - $lookingFor = 1; - - for ($i = 0; $i < strlen( $str ); $i++ ) { - - $thisValue = ord( $str[ $i ] ); - - if ( $thisValue < 128 ) $unicode[] = $thisValue; - else { - - if ( count( $values ) == 0 ) $lookingFor = ( $thisValue < 224 ) ? 2 : 3; - - $values[] = $thisValue; - - if ( count( $values ) == $lookingFor ) { - - $number = ( $lookingFor == 3 ) ? - ( ( $values[0] % 16 ) * 4096 ) + ( ( $values[1] % 64 ) * 64 ) + ( $values[2] % 64 ): - ( ( $values[0] % 32 ) * 64 ) + ( $values[1] % 64 ); - - $unicode[] = $number; - $values = array(); - $lookingFor = 1; - - } // if - - } // if - - } // for - - return $unicode; - -} - -function unicode_to_utf8($dec) -{ - $unicode_hex = dechex($dec); - $unicode = hexdec($unicode_hex); - - $utf8 = ""; - - if ($unicode < 128) { - $utf8 = chr($unicode); - } elseif ( $unicode < 2048 ) { - $utf8 .= chr( 192 + ( ( $unicode - ( $unicode % 64 ) ) / 64 ) ); - $utf8 .= chr( 128 + ( $unicode % 64 ) ); - } else { - $utf8 .= chr( 224 + ( ( $unicode - ( $unicode % 4096 ) ) / 4096 ) ); - $utf8 .= chr( 128 + ( ( ( $unicode % 4096 ) - ( $unicode % 64 ) ) / 64 ) ); - $utf8 .= chr( 128 + ( $unicode % 64 ) ); - } - return $utf8; -} - - -function chk_captcha() -{ - $token = get_session("ss_tcaptcha_token"); - if ($token && $token == $_POST['user_token']) { - $answer = get_session("ss_tcaptcha_answer"); - if ($answer && $answer == $_POST['user_answer']) { - return true; - } - } - set_session("ss_tcaptcha_token", ""); - return false; -} - - -function chk_js_captcha() -{ - return "if (!chk_tcaptcha(f.user_answer, f.user_token)) { return false; }\n"; - -} - - -function run_captcha($encoding='kr') -{ - $captcha = new tcaptcha($encoding); - - $str = "
    \n"; - $str .= "자동등록방지\n"; - $str .= "\n"; - $str .= "답은 반드시 숫자로 입력하세요.\n"; - $str .= "\n"; - $str .= "token}\" />"; - $str .= "
    \n"; - return $str; -} -?> \ No newline at end of file From a11a7111e4e32339a171f33eb8ec3513dd634ea5 Mon Sep 17 00:00:00 2001 From: gnuboard Date: Tue, 8 Jan 2013 17:13:19 +0900 Subject: [PATCH 18/30] =?UTF-8?q?=EC=9D=B4=EB=AF=B8=EC=A7=80=EB=A5=BC=20->?= =?UTF-8?q?=20=EC=83=88=EB=A1=9C=EA=B3=A0=EC=B9=A8=EC=9D=84=20=EB=A1=9C=20?= =?UTF-8?q?=EB=AC=B8=EA=B5=AC=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin/captcha/captcha.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/captcha/captcha.lib.php b/plugin/captcha/captcha.lib.php index 878fcf433..27ea46418 100644 --- a/plugin/captcha/captcha.lib.php +++ b/plugin/captcha/captcha.lib.php @@ -153,7 +153,7 @@ function get_captcha($input_name, $captcha_no) $code .= 'wav'; $code .= ''; $code .= ''; - $code .= '

    이미지의 숫자를 순서대로 입력하세요. 이미지를 클릭하시면 새로운 숫자가 나타납니다.

    '; + $code .= '

    이미지의 숫자를 순서대로 입력하세요. 새로고침을 클릭하시면 새로운 숫자가 나타납니다.

    '; $code .= ''; return $code; } From 0e825d05f8a47ea775c37b5d4c366b57fbd6f10e Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 8 Jan 2013 17:16:32 +0900 Subject: [PATCH 19/30] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90:=20=EA=B2=8C?= =?UTF-8?q?=EC=8B=9C=ED=8C=90=EC=8A=A4=ED=82=A8=20=EC=9D=BD=EA=B8=B0=20?= =?UTF-8?q?=EC=9E=91=EC=97=85=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/def.css | 5 +- skin/board/neo/list.skin.php | 2 +- skin/board/neo/view.skin.php | 299 ++++++++++++++++++----------------- 3 files changed, 158 insertions(+), 148 deletions(-) diff --git a/css/def.css b/css/def.css index bd0c04332..e3fb52392 100644 --- a/css/def.css +++ b/css/def.css @@ -272,12 +272,15 @@ h6 {margin:0 0 20px} #fcategory select {margin-right:10px;padding:2px;border:1px solid #ddd;background:#f9f9f5;vertical-align:middle} #board_list caption {padding:0;height:0;overflow:hidden} -.board_cate_link {display:inline-block;margin-right:10px;font-weight:bold} +.board_cate_link {display:inline-block;margin-right:10px;color:#ff7200;font-weight:bold;text-decoration:none} .td_subject img {margin-left:5px} /* 게시판 쓰기 */ #board_write caption {padding:0;height:0;overflow:hidden} +/* 게시판 읽기 */ +#board_view {margin-bottom:30px;padding:10px;border:1px solid #ddd} + /* 우편번호 검색 */ #post_num dl {margin:0 auto 10px;padding:0;width:90%} #post_num dt {margin-bottom:15px} diff --git a/skin/board/neo/list.skin.php b/skin/board/neo/list.skin.php index d3642c846..6e90e9e6f 100644 --- a/skin/board/neo/list.skin.php +++ b/skin/board/neo/list.skin.php @@ -101,7 +101,7 @@ for ($i=0; $i - + diff --git a/skin/board/neo/view.skin.php b/skin/board/neo/view.skin.php index 08a29ea51..3f2d4da55 100644 --- a/skin/board/neo/view.skin.php +++ b/skin/board/neo/view.skin.php @@ -2,163 +2,170 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 ?> -

    +
    +

    -
    - -
    -

    게시물 정보

    -
    -
    작성자
    -
    -
    작성일
    -
    -
    조회
    -
    -
    댓글
    -
    - -
    추천
    -
    +
    -
    -
    -

    첨부파일

    - -
    - -
    -

    관련링크

    - -
    - - - + +
    +

    관련링크

    + +
    + - +

    + + + +

    + + + + + + + + + + +