Compare commits

...
33 Commits
Author SHA1 Message Date
chicpro 20dc859436 5.1.17 버전변경 2016-05-16 15:21:55 +09:00
chicpro f5ec4d60c0 기본환경설정 NHN KCP 사명변경 2016-05-13 12:03:02 +09:00
chicpro de00b4e9d3 1:1문의 파일업로드 분류 체크 추가 2016-05-04 13:36:31 +09:00
chicpro 8c67945c64 파일 업로드 개수 코드 수정 2016-05-04 13:36:20 +09:00
chicpro e5889df761 게시글 카테고리 체크 수정 2016-05-03 17:33:53 +09:00
chicpro 624e3d74a6 파일 업로드 개수 체크 추가 2016-05-03 17:33:37 +09:00
chicpro 30815f71e0 폼메일에서의 이메일주소 노출 수정 2016-05-03 14:16:38 +09:00
chicpro 949a73b468 1:1문의 이메일 체크 수정 2016-05-03 14:16:23 +09:00
chicpro 24d57cdd4b 스크랩 게시글 체크 추가 2016-05-03 14:16:09 +09:00
chicpro 191f3d2f97 1:1문의 삭제 오류 수정 2016-05-03 14:15:55 +09:00
chicpro 4973714e2f 이메일인증 프로세스 개선 2016-05-03 14:15:40 +09:00
chicpro 70bfeefb3b 댓글 등록 오류 수정 2016-04-28 09:49:14 +09:00
chicpro e8b83f3a33 비밀글 등록 버그 수정 2016-04-27 10:44:37 +09:00
chicpro c6bdc172ee 5.1.16 버전변경 2016-04-20 11:08:39 +09:00
sora90224andchicpro c3cf74f0c5 관리자 부가서비스 kcp 로고 변경 2016-04-20 11:07:58 +09:00
chicpro 52db203ecd 필터링 특수문자 추가 2016-04-20 11:07:23 +09:00
chicpro 6e05353f31 sst 변수 필터링 특수문자 추가 2016-04-20 11:07:12 +09:00
chicpro 7f6a9a090a 5.1.15 버전변경 2016-03-21 09:50:06 +09:00
sora90224andchicpro 1825830c3d 모바일 쪽지함 이름겹침수정 2016-03-09 15:03:14 +09:00
chicpro 3047e09f88 5.1.14 버전변경 2016-03-07 10:41:33 +09:00
chicpro 990af076af 커맨드 인젝션 취약점(16-164, 16-165) 수정 2016-02-29 15:14:15 +09:00
chicpro b1f0342921 5.1.13 버전변경 2016-02-22 09:48:17 +09:00
chicpro 63f9e4c8df SIR 도메인 변경 2016-02-19 11:22:17 +09:00
chicpro 6b43e67c40 비밀 댓글 노출 취약점(16-067) 수정 2016-02-11 11:01:04 +09:00
chicpro 9a870506ab Reflected XSS 취약점(16-036) 수정 2016-02-11 11:00:30 +09:00
chicpro 008ae978dd XSS 취약점(16-060) 수정 2016-02-11 10:58:45 +09:00
chicpro 20b1d8c7e5 XSS 취약점(16-059) 수정 2016-02-11 10:58:31 +09:00
thisgunandchicpro 1e011ba56d 스마트 에디터 2.8.2 에 추가된 파일 적용 2016-02-04 17:31:09 +09:00
thisgunandchicpro a73e48c3e2 스마트에디터 2.8.2 적용 및 에디터 업로드 보안 수정 2016-02-04 17:30:53 +09:00
chicpro e9fd9f03fd g5_admin_url 코드 수정 2016-02-03 10:42:50 +09:00
chicpro 4913da0a1d g5_admin_url 변수 설정 코드 변경 2016-02-01 11:56:15 +09:00
chicpro 18ef4b0767 메일인증 기능 수정 2016-02-01 11:55:57 +09:00
chicpro d0e368fe2a sca 필터링 코드 수정 2016-01-21 16:00:54 +09:00
66 changed files with 14151 additions and 12030 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
프로그램 명칭 : 그누보드5 ( GNU Board 5 )
저작자 : (주)에스아이알소프트 http://sir.co.kr
저작자 : (주)에스아이알소프트 http://sir.kr
라이센스 (License)
+1 -1
View File
@@ -184,7 +184,7 @@ if ($w == '') {
// 글수 조정
/*
엔피씨님의 팁으로 교체합니다. 130308
http://sir.co.kr/bbs/board.php?bo_table=g5_tiptech&wr_id=27207
http://sir.kr/g5_tiptech/27207
*/
if (isset($_POST['proc_count'])) {
// 원글을 얻습니다.
+6 -6
View File
@@ -736,7 +736,7 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
<select name="cf_cert_hp" id="cf_cert_hp">
<?php echo option_selected("", $config['cf_cert_hp'], "사용안함"); ?>
<?php echo option_selected("kcb", $config['cf_cert_hp'], "코리아크레딧뷰로(KCB) 휴대폰 본인확인"); ?>
<?php echo option_selected("kcp", $config['cf_cert_hp'], "한국사이버결제(KCP) 휴대폰 본인확인"); ?>
<?php echo option_selected("kcp", $config['cf_cert_hp'], "NHN KCP 휴대폰 본인확인"); ?>
<?php echo option_selected("lg", $config['cf_cert_hp'], "LG유플러스 휴대폰 본인확인"); ?>
</select>
</td>
@@ -745,16 +745,16 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
<th scope="row" class="cf_cert_service"><label for="cf_cert_kcb_cd">코리아크레딧뷰로<br>KCB 회원사ID</label></th>
<td class="cf_cert_service">
<?php echo help('KCB 회원사ID를 입력해 주십시오.<br>서비스에 가입되어 있지 않다면, KCB와 계약체결 후 회원사ID를 발급 받으실 수 있습니다.<br>이용하시려는 서비스에 대한 계약을 아이핀, 휴대폰 본인확인 각각 체결해주셔야 합니다.<br>아이핀 본인확인 테스트의 경우에는 KCB 회원사ID가 필요 없으나,<br>휴대폰 본인확인 테스트의 경우 KCB 에서 따로 발급 받으셔야 합니다.') ?>
<input type="text" name="cf_cert_kcb_cd" value="<?php echo $config['cf_cert_kcb_cd'] ?>" id="cf_cert_kcb_cd" class="frm_input" size="20"> <a href="http://sir.co.kr/main/service/b_ipin.php" target="_blank" class="btn_frmline">KCB 아이핀 서비스 신청페이지</a>
<a href="http://sir.co.kr/main/service/b_cert.php" target="_blank" class="btn_frmline">KCB 휴대폰 본인확인 서비스 신청페이지</a>
<input type="text" name="cf_cert_kcb_cd" value="<?php echo $config['cf_cert_kcb_cd'] ?>" id="cf_cert_kcb_cd" class="frm_input" size="20"> <a href="http://sir.kr/main/service/b_ipin.php" target="_blank" class="btn_frmline">KCB 아이핀 서비스 신청페이지</a>
<a href="http://sir.kr/main/service/b_cert.php" target="_blank" class="btn_frmline">KCB 휴대폰 본인확인 서비스 신청페이지</a>
</td>
</tr>
<tr>
<th scope="row" class="cf_cert_service"><label for="cf_cert_kcp_cd">한국사이버결제<br>KCP 사이트코드</label></th>
<th scope="row" class="cf_cert_service"><label for="cf_cert_kcp_cd">NHN KCP 사이트코드</label></th>
<td class="cf_cert_service">
<?php echo help('SM으로 시작하는 5자리 사이트 코드중 뒤의 3자리만 입력해 주십시오.<br>서비스에 가입되어 있지 않다면, 본인확인 서비스 신청페이지에서 서비스 신청 후 사이트코드를 발급 받으실 수 있습니다.') ?>
<span class="sitecode">SM</span>
<input type="text" name="cf_cert_kcp_cd" value="<?php echo $config['cf_cert_kcp_cd'] ?>" id="cf_cert_kcp_cd" class="frm_input" size="3"> <a href="http://sir.co.kr/main/service/p_cert.php" target="_blank" class="btn_frmline">KCP 휴대폰 본인확인 서비스 신청페이지</a>
<input type="text" name="cf_cert_kcp_cd" value="<?php echo $config['cf_cert_kcp_cd'] ?>" id="cf_cert_kcp_cd" class="frm_input" size="3"> <a href="http://sir.kr/main/service/p_cert.php" target="_blank" class="btn_frmline">NHN KCP 휴대폰 본인확인 서비스 신청페이지</a>
</td>
</tr>
<tr>
@@ -762,7 +762,7 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
<td class="cf_cert_service">
<?php echo help('LG유플러스 상점아이디 중 si_를 제외한 나머지 아이디만 입력해 주십시오.<br>서비스에 가입되어 있지 않다면, 본인확인 서비스 신청페이지에서 서비스 신청 후 상점아이디를 발급 받으실 수 있습니다.<br><strong>LG유플러스 휴대폰본인확인은 ActiveX 설치가 필요하므로 Internet Explorer 에서만 사용할 수 있습니다.</strong>') ?>
<span class="sitecode">si_</span>
<input type="text" name="cf_lg_mid" value="<?php echo $config['cf_lg_mid'] ?>" id="cf_lg_mid" class="frm_input" size="20"> <a href="http://sir.co.kr/main/service/lg_cert.php" target="_blank" class="btn_frmline">LG유플러스 본인확인 서비스 신청페이지</a>
<input type="text" name="cf_lg_mid" value="<?php echo $config['cf_lg_mid'] ?>" id="cf_lg_mid" class="frm_input" size="20"> <a href="http://sir.kr/main/service/lg_cert.php" target="_blank" class="btn_frmline">LG유플러스 본인확인 서비스 신청페이지</a>
</td>
</tr>
<tr>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 18 KiB

+5
View File
@@ -126,6 +126,11 @@ if(!isset($mb['mb_dupinfo'])) {
sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_dupinfo` varchar(255) NOT NULL DEFAULT '' AFTER `mb_adult` ", false);
}
// 이메일인증 체크 필드추가
if(!isset($mb['mb_email_certify2'])) {
sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_email_certify2` varchar(255) NOT NULL DEFAULT '' AFTER `mb_email_certify` ", false);
}
if ($mb['mb_intercept_date']) $g5['title'] = "차단된 ";
else $g5['title'] .= "";
$g5['title'] .= '회원 '.$html_title;
+5 -5
View File
@@ -19,9 +19,9 @@ include_once('./admin.head.php');
<p>정보통신망법 23조 2항(주민등록번호의 사용제한)에 따라 기존 주민등록번호 기반의 인증서비스 이용이 불가합니다. 주민등록번호 대체수단으로 최소한의 정보(생년월일, 휴대폰번호, 성별)를 입력받아 본인임을 확인하는 인증수단 입니다</p>
<ul>
<li><a href="http://sir.co.kr/main/service/p_cert.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_01.jpg" alt="KCP 휴대폰 본인확인 신청하기"></a></li>
<li><a href="http://sir.co.kr/main/service/lg_cert.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_02.jpg" alt="LG유플러스 휴대폰대체인증 신청하기"></a></li>
<li class="last"><a href="http://sir.co.kr/main/service/b_cert.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_03.jpg" alt="OKname 휴대폰 본인확인 신청하기"></a></li>
<li><a href="http://sir.kr/main/service/p_cert.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_01.jpg" alt="KCP 휴대폰 본인확인 신청하기"></a></li>
<li><a href="http://sir.kr/main/service/lg_cert.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_02.jpg" alt="LG유플러스 휴대폰대체인증 신청하기"></a></li>
<li class="last"><a href="http://sir.kr/main/service/b_cert.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_03.jpg" alt="OKname 휴대폰 본인확인 신청하기"></a></li>
</ul>
</div>
<div class="sevice_1">
@@ -30,7 +30,7 @@ include_once('./admin.head.php');
<p>정부가 주관하는 주민등록번호 대체 수단으로 본인의 개인정보를 아이핀 사이트에 한번만 발급해 놓고, 이후부터는 아이디와 패스워드 만으로
본인임을 확인하는 인증수단 입니다.</p>
<h4><a href="http://sir.co.kr/main/service/b_ipin.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_04.jpg" alt="OKname 아이핀 본인확인 신청하기"></a></h4>
<h4><a href="http://sir.kr/main/service/b_ipin.php" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_04.jpg" alt="OKname 아이핀 본인확인 신청하기"></a></h4>
</div>
<div class="sevice_2">
<div class="svc_sms">
@@ -40,7 +40,7 @@ include_once('./admin.head.php');
</div>
<div class="svc_btn"><a href="http://icodekorea.com/res/join_company_fix_a.php?sellid=sir2" target="_blank"><img src="<?php echo G5_ADMIN_URL ?>/img/svc_btn_05.jpg" alt="아이코드 SMS 서비스 신청하기"></a></div>
</div>
</div>
</div>
+2
View File
@@ -33,6 +33,8 @@ $msg2 = str_replace("\\n", "<br>", $msg);
$url = clean_xss_tags($url);
if (!$url) $url = clean_xss_tags($_SERVER['HTTP_REFERER']);
$url = preg_replace("/[\<\>\'\"\\\'\\\"\(\)]/", "", $url);
// url 체크
check_url_host($url);
+12 -3
View File
@@ -1,20 +1,29 @@
<?php
include_once('./_common.php');
$sql = " select mb_id, mb_email, mb_datetime from {$g5['member_table']} where mb_id = '{$mb_id}' ";
$mb_id = trim($_GET['mb_id']);
$mb_md5 = trim($_GET['mb_md5']);
$sql = " select mb_id, mb_email_certify2 from {$g5['member_table']} where mb_id = '{$mb_id}' ";
$row = sql_fetch($sql);
if (!$row['mb_id'])
alert('존재하는 회원이 아닙니다.', G5_URL);
// 인증 링크는 한번만 처리가 되게 한다.
sql_query(" update {$g5['member_table']} set mb_email_certify2 = '' where mb_id = '$mb_id' ");
if ($mb_md5)
{
$tmp_md5 = md5($row['mb_id'].$row['mb_email'].$row['mb_datetime']);
if ($mb_md5 == $tmp_md5)
if ($mb_md5 == $row['mb_email_certify2'])
{
sql_query(" update {$g5['member_table']} set mb_email_certify = '".G5_TIME_YMDHIS."' where mb_id = '{$mb_id}' ");
alert("메일인증 처리를 완료 하였습니다.\\n\\n지금부터 {$mb_id} 아이디로 로그인 가능합니다.", G5_URL);
}
else
{
alert('메일인증 요청 정보가 올바르지 않습니다.', G5_URL);
}
}
alert('제대로 된 값이 넘어오지 않았습니다.', G5_URL);
+10 -1
View File
@@ -28,8 +28,17 @@ if ($sendmail_count > 3)
$g5['title'] = '메일 쓰기';
include_once(G5_PATH.'/head.sub.php');
$email_enc = new str_encrypt();
$email_dec = $email_enc->decrypt($email);
$email = get_email_address($email_dec);
if(!$email)
alert_close('이메일이 올바르지 않습니다.');
$email = $email_enc->encrypt($email);
if (!$name)
$name = base64_decode($email);
$name = $email;
else
$name = get_text(stripslashes($name), true);
+2 -1
View File
@@ -9,7 +9,8 @@ if (!$config['cf_email_use'])
if (!$is_member && $config['cf_formmail_is_member'])
alert_close('회원만 이용하실 수 있습니다.');
$to = base64_decode($to);
$email_enc = new str_encrypt();
$to = $email_enc->decrypt($to);
if (substr_count($to, "@") > 1)
alert_close('한번에 한사람에게만 메일을 발송할 수 있습니다.');
+1 -1
View File
@@ -46,7 +46,7 @@ if ($sca || $stx) {
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
// 라엘님 제안 코드로 대체 http://sir.co.kr/bbs/board.php?bo_table=g5_bug&wr_id=2922
// 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
+2 -1
View File
@@ -31,7 +31,8 @@ if ($mb['mb_leave_date'] && $mb['mb_leave_date'] <= date("Ymd", G5_SERVER_TIME))
}
if ($config['cf_use_email_certify'] && !preg_match("/[1-9]/", $mb['mb_email_certify'])) {
confirm("{$mb['mb_email']} 메일로 메일인증을 받으셔야 로그인 가능합니다. 다른 메일주소로 변경하여 인증하시려면 취소를 클릭하시기 바랍니다.", G5_URL, G5_BBS_URL.'/register_email.php?mb_id='.$mb_id);
$ckey = md5($mb['mb_ip'].$mb['mb_datetime']);
confirm("{$mb['mb_email']} 메일로 메일인증을 받으셔야 로그인 가능합니다. 다른 메일주소로 변경하여 인증하시려면 취소를 클릭하시기 바랍니다.", G5_URL, G5_BBS_URL.'/register_email.php?mb_id='.$mb_id.'&ckey='.$ckey);
}
@include_once($member_skin_path.'/login_check.skin.php');
+2
View File
@@ -19,6 +19,8 @@ $url = clean_xss_tags($_GET['url']);
// url 체크
check_url_host($url);
$url = get_text($url);
include_once($member_skin_path.'/member_confirm.skin.php');
include_once('./_tail.sub.php');
+4
View File
@@ -29,6 +29,10 @@ for($i=0; $i<$count; $i++) {
if($is_admin != 'super' && $row['mb_id'] != $member['mb_id'])
continue;
// 답변이 달린 글은 삭제못함
if($is_admin != 'super' && !$row['qa_type'] && $row['qa_status'])
continue;
// 첨부파일 삭제
for($k=1; $k<=2; $k++) {
@unlink(G5_DATA_PATH.'/qa/'.$row['qa_file'.$k]);
+24 -7
View File
@@ -15,16 +15,21 @@ $msg = array();
// 1:1문의 설정값
$qaconfig = get_qa_config();
if(trim($qaconfig['qa_category'])) {
$category = explode('|', $qaconfig['qa_category']);
if(!in_array($qa_category, $category))
alert('분류를 올바르게 지정해 주십시오.');
} else {
alert('1:1문의 설정에서 분류를 설정해 주십시오');
}
// e-mail 체크
if(isset($_POST['qa_email']) && $qa_email) {
$qa_email = '';
if(isset($_POST['qa_email']) && $_POST['qa_email'])
$qa_email = get_email_address(trim($_POST['qa_email']));
if($qaconfig['qa_req_email'] && !$qa_email)
$msg[] = '이메일을 입력하세요.';
if (!preg_match("/([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/", $qa_email))
$msg[] = '이메일 주소가 형식에 맞지 않습니다.';
}
if($qaconfig['qa_req_email'] && !$qa_email)
$msg[] = '이메일을 입력하세요.';
$qa_subject = '';
if (isset($_POST['qa_subject'])) {
@@ -105,6 +110,18 @@ if($w == 'u' || $w == 'a' || $w == 'r') {
}
}
// 파일개수 체크
$file_count = 0;
$upload_count = count($_FILES['bf_file']['name']);
for ($i=1; $i<=$upload_count; $i++) {
if($_FILES['bf_file']['name'][$i] && is_uploaded_file($_FILES['bf_file']['tmp_name'][$i]))
$file_count++;
}
if($file_count > 2)
alert('첨부파일을 2개 이하로 업로드 해주십시오.');
// 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)
@mkdir(G5_DATA_PATH.'/qa', G5_DIR_PERMISSION);
@chmod(G5_DATA_PATH.'/qa', G5_DIR_PERMISSION);
+7 -1
View File
@@ -6,11 +6,17 @@ $g5['title'] = '메일인증 메일주소 변경';
include_once('./_head.php');
$mb_id = substr(clean_xss_tags($_GET['mb_id']), 0, 20);
$sql = " select mb_email, mb_datetime, mb_email_certify from {$g5['member_table']} where mb_id = '{$mb_id}' ";
$sql = " select mb_email, mb_datetime, mb_ip, mb_email_certify from {$g5['member_table']} where mb_id = '{$mb_id}' ";
$mb = sql_fetch($sql);
if (substr($mb['mb_email_certify'],0,1)!=0) {
alert("이미 메일인증 하신 회원입니다.", G5_URL);
}
$ckey = trim($_GET['ckey']);
$key = md5($mb['mb_ip'].$mb['mb_datetime']);
if(!$ckey || $ckey != $key)
alert('올바른 방법으로 이용해 주십시오.', G5_URL);
?>
<p class="rg_em_p">메일인증을 받지 못한 경우 회원정보의 메일주소를 변경 할 수 있습니다.</p>
+13 -6
View File
@@ -3,12 +3,15 @@ include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
include_once(G5_LIB_PATH.'/mailer.lib.php');
$mb_id = trim($_POST['mb_id']);
$mb_email = trim($_POST['mb_email']);
$mb_id = substr(clean_xss_tags($_POST['mb_id']), 0, 20);
$mb_email = get_email_address(trim($_POST['mb_email']));
$sql = " select mb_name, mb_datetime from {$g5['member_table']} where mb_id = '{$mb_id}' and mb_email_certify <> '' ";
if(!$mb_id || !$mb_email)
alert('올바른 방법으로 이용해 주십시오.', G5_URL);
$sql = " select mb_name from {$g5['member_table']} where mb_id = '{$mb_id}' and substring(mb_email_certify, 1, 1) = '0' ";
$mb = sql_fetch($sql);
if ($mb) {
if (!$mb) {
alert("이미 메일인증 하신 회원입니다.", G5_URL);
}
@@ -26,8 +29,12 @@ if ($row['cnt']) {
$subject = '['.$config['cf_title'].'] 인증확인 메일입니다.';
$mb_name = $mb['mb_name'];
$mb_datetime = $mb['mb_datetime'] ? $mb['mb_datetime'] : G5_TIME_YMDHIS;
$mb_md5 = md5($mb_id.$mb_email.$mb_datetime);
// 어떠한 회원정보도 포함되지 않은 일회용 난수를 생성하여 인증에 사용
$mb_md5 = md5(pack('V*', rand(), rand(), rand(), rand()));
sql_query(" update {$g5['member_table']} set mb_email_certify2 = '$mb_md5' where mb_id = '$mb_id' ");
$certify_href = G5_BBS_URL.'/email_certify.php?mb_id='.$mb_id.'&amp;mb_md5='.$mb_md5;
ob_start();
+6 -3
View File
@@ -396,8 +396,11 @@ if (isset($_FILES['mb_icon']) && is_uploaded_file($_FILES['mb_icon']['tmp_name']
if ($config['cf_use_email_certify'] && $old_email != $mb_email) {
$subject = '['.$config['cf_title'].'] 인증확인 메일입니다.';
$mb_datetime = $member['mb_datetime'] ? $member['mb_datetime'] : G5_TIME_YMDHIS;
$mb_md5 = md5($mb_id.$mb_email.$mb_datetime);
// 어떠한 회원정보도 포함되지 않은 일회용 난수를 생성하여 인증에 사용
$mb_md5 = md5(pack('V*', rand(), rand(), rand(), rand()));
sql_query(" update {$g5['member_table']} set mb_email_certify2 = '$mb_md5' where mb_id = '$mb_id' ");
$certify_href = G5_BBS_URL.'/email_certify.php?mb_id='.$mb_id.'&amp;mb_md5='.$mb_md5;
ob_start();
@@ -405,7 +408,7 @@ if ($config['cf_use_email_certify'] && $old_email != $mb_email) {
$content = ob_get_contents();
ob_end_clean();
mailer($config['cf_title'], $config['cf_admin_email'], $mb_email, $subject, $content, 1);
mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content, 1);
}
+4
View File
@@ -10,6 +10,10 @@ if (!$is_member)
exit;
}
// 게시글 존재하는지
if(!$write['wr_id'])
alert_close('스크랩하시려는 게시글이 존재하지 않습니다.');
$sql = " select count(*) as cnt from {$g5['scrap_table']}
where mb_id = '{$member['mb_id']}'
and bo_table = '$bo_table'
+2
View File
@@ -337,6 +337,8 @@ if ($w == '') {
}
$file = get_file($bo_table, $wr_id);
if($file_count < $file['count'])
$file_count = $file['count'];
} else if ($w == 'r') {
if (strstr($write['wr_option'], 'secret')) {
$is_secret = true;
+4 -1
View File
@@ -77,12 +77,15 @@ if ($w == 'c') // 댓글 입력
// 댓글 답변
if ($comment_id)
{
$sql = " select wr_id, wr_comment, wr_comment_reply from $write_table
$sql = " select wr_id, wr_parent, wr_comment, wr_comment_reply from $write_table
where wr_id = '$comment_id' ";
$reply_array = sql_fetch($sql);
if (!$reply_array['wr_id'])
alert('답변할 댓글이 없습니다.\\n\\n답변하는 동안 댓글이 삭제되었을 수 있습니다.');
if($wr['wr_parent'] != $reply_array['wr_parent'])
alert('댓글을 등록할 수 없습니다.');
$tmp_comment = $reply_array['wr_comment'];
if (strlen($reply_array['wr_comment_reply']) == 5)
+34 -3
View File
@@ -15,7 +15,12 @@ if($board['bo_use_category']) {
$categories = array_map('trim', explode("|", $board['bo_category_list'].($is_admin ? '|공지' : '')));
if(!empty($categories) && !in_array($ca_name, $categories))
$msg[] = '분류를 올바르게 입력하세요.';
if(empty($categories))
$ca_name = '';
}
} else {
$ca_name = '';
}
$wr_subject = '';
@@ -77,10 +82,16 @@ if ($w == 'u' || $w == 'r') {
}
// 외부에서 글을 등록할 수 있는 버그가 존재하므로 비밀글은 사용일 경우에만 가능해야 함
if (!$is_admin && !$board['bo_use_secret'] && $secret) {
if (!$is_admin && !$board['bo_use_secret'] && (stripos($_POST['html'], 'secret') !== false || stripos($_POST['secret'], 'secret') !== false || stripos($_POST['mail'], 'secret') !== false)) {
alert('비밀글 미사용 게시판 이므로 비밀글로 등록할 수 없습니다.');
}
$secret = '';
if (isset($_POST['secret']) && $_POST['secret']) {
if(preg_match('#secret#', strtolower($_POST['secret']), $matches))
$secret = $matches[0];
}
// 외부에서 글을 등록할 수 있는 버그가 존재하므로 비밀글 무조건 사용일때는 관리자를 제외(공지)하고 무조건 비밀글로 등록
if (!$is_admin && $board['bo_use_secret'] == 2) {
$secret = 'secret';
@@ -88,12 +99,14 @@ if (!$is_admin && $board['bo_use_secret'] == 2) {
$html = '';
if (isset($_POST['html']) && $_POST['html']) {
$html = $_POST['html'];
if(preg_match('#html(1|2)#', strtolower($_POST['html']), $matches))
$html = $matches[0];
}
$mail = '';
if (isset($_POST['mail']) && $_POST['mail']) {
$mail = $_POST['mail'];
if(preg_match('#mail#', strtolower($_POST['mail']), $matches))
$mail = $matches[0];
}
$notice = '';
@@ -402,6 +415,24 @@ if (!$group['gr_use_access'] && $board['bo_read_level'] < 2 && !$secret) {
naver_syndi_ping($bo_table, $wr_id);
}
// 파일개수 체크
$file_count = 0;
$upload_count = count($_FILES['bf_file']['name']);
for ($i=0; $i<$upload_count; $i++) {
if($_FILES['bf_file']['name'][$i] && is_uploaded_file($_FILES['bf_file']['tmp_name'][$i]))
$file_count++;
}
if($w == 'u') {
$file = get_file($bo_table, $wr_id);
if($file_count && (int)$file['count'] > $board['bo_upload_count'])
alert('기존 파일을 삭제하신 후 첨부파일을 '.number_format($board['bo_upload_count']).'개 이하로 업로드 해주십시오.');
} else {
if($file_count > $board['bo_upload_count'])
alert('첨부파일을 '.number_format($board['bo_upload_count']).'개 이하로 업로드 해주십시오.');
}
// 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)
@mkdir(G5_DATA_PATH.'/file/'.$bo_table, G5_DIR_PERMISSION);
@chmod(G5_DATA_PATH.'/file/'.$bo_table, G5_DIR_PERMISSION);
+3 -3
View File
@@ -228,7 +228,7 @@ $qstr = '';
if (isset($_REQUEST['sca'])) {
$sca = clean_xss_tags(trim($_REQUEST['sca']));
if ($sca) {
$sca = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\s]/", "", $sca);
$sca = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*]/", "", $sca);
$qstr .= '&amp;sca=' . urlencode($sca);
}
} else {
@@ -237,7 +237,7 @@ if (isset($_REQUEST['sca'])) {
if (isset($_REQUEST['sfl'])) {
$sfl = trim($_REQUEST['sfl']);
$sfl = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\s]/", "", $sfl);
$sfl = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*\s]/", "", $sfl);
if ($sfl)
$qstr .= '&amp;sfl=' . urlencode($sfl); // search field (검색 필드)
} else {
@@ -255,7 +255,7 @@ if (isset($_REQUEST['stx'])) { // search text (검색어)
if (isset($_REQUEST['sst'])) {
$sst = trim($_REQUEST['sst']);
$sst = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\s]/", "", $sst);
$sst = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*\s]/", "", $sst);
if ($sst)
$qstr .= '&amp;sst=' . urlencode($sst); // search sort (검색 정렬 필드)
} else {
+2 -2
View File
@@ -5,7 +5,7 @@
********************/
define('G5_VERSION', '그누보드5');
define('G5_GNUBOARD_VER', '5.1.12');
define('G5_GNUBOARD_VER', '5.1.17');
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
define('_GNUBOARD_', true);
@@ -30,7 +30,7 @@ define('G5_DOMAIN', '');
define('G5_HTTPS_DOMAIN', '');
/*
www.sir.co.kr 과 sir.co.kr 도메인은 서로 다른 도메인으로 인식합니다. 쿠키를 공유하려면 .sir.co.kr 과 같이 입력하세요.
www.sir.kr 과 sir.kr 도메인은 서로 다른 도메인으로 인식합니다. 쿠키를 공유하려면 .sir.kr 과 같이 입력하세요.
이곳에 입력이 없다면 www 붙은 도메인과 그렇지 않은 도메인은 쿠키를 공유하지 않으므로 로그인이 풀릴 수 있습니다.
*/
define('G5_COOKIE_DOMAIN', '');
+3 -5
View File
@@ -74,11 +74,9 @@ var g5_bo_table = "<?php echo isset($bo_table)?$bo_table:''; ?>";
var g5_sca = "<?php echo isset($sca)?$sca:''; ?>";
var g5_editor = "<?php echo ($config['cf_editor'] && $board['bo_use_dhtml_editor'])?$config['cf_editor']:''; ?>";
var g5_cookie_domain = "<?php echo G5_COOKIE_DOMAIN ?>";
<?php
if ($is_admin) {
echo 'var g5_admin_url = "'.G5_ADMIN_URL.'";'.PHP_EOL;
}
?>
<?php if(defined('G5_IS_ADMIN')) { ?>
var g5_admin_url = "<?php echo G5_ADMIN_URL; ?>";
<?php } ?>
</script>
<script src="<?php echo G5_JS_URL ?>/jquery-1.8.3.min.js"></script>
<script src="<?php echo G5_JS_URL ?>/jquery.menu.js"></script>
+51 -3
View File
@@ -212,8 +212,8 @@ function url_auto_link($str)
global $config;
// 140326 유창화님 제안코드로 수정
// http://sir.co.kr/bbs/board.php?bo_table=pg_lecture&wr_id=461
// http://sir.co.kr/bbs/board.php?bo_table=pg_lecture&wr_id=463
// http://sir.kr/pg_lecture/461
// http://sir.kr/pg_lecture/463
$str = str_replace(array("&lt;", "&gt;", "&amp;", "&quot;", "&nbsp;", "&#039;"), array("\t_lt_\t", "\t_gt_\t", "&", "\"", "\t_nbsp_\t", "'"), $str);
//$str = preg_replace("`(?:(?:(?:href|src)\s*=\s*(?:\"|'|)){0})((http|https|ftp|telnet|news|mms)://[^\"'\s()]+)`", "<A HREF=\"\\1\" TARGET='{$config['cf_link_target']}'>\\1</A>", $str);
$str = preg_replace("/([^(href=\"?'?)|(src=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[가-힣\xA1-\xFEa-zA-Z0-9\.:&#=_\?\/~\+%@;\-\|\,\(\)]+)/i", "\\1<A HREF=\"\\2\" TARGET=\"{$config['cf_link_target']}\">\\2</A>", $str);
@@ -1200,7 +1200,8 @@ function get_sideview($mb_id, $name='', $email='', $homepage='')
global $g5;
global $bo_table, $sca, $is_admin, $member;
$email = base64_encode($email);
$email_enc = new str_encrypt();
$email = $email_enc->encrypt($email);
$homepage = set_http(clean_xss_tags($homepage));
$name = get_text($name, 0, true);
@@ -3173,4 +3174,51 @@ function check_vaild_callback($callback){
return true;
}
}
// 문자열 암복호화
class str_encrypt
{
var $salt;
var $lenght;
function __construct($salt='')
{
if(!$salt)
$this->salt = md5(G5_MYSQL_PASSWORD);
else
$this->salt = $salt;
$this->length = strlen($this->salt);
}
function encrypt($str)
{
$length = strlen($str);
$result = '';
for($i=0; $i<$length; $i++) {
$char = substr($str, $i, 1);
$keychar = substr($this->salt, ($i % $this->length) - 1, 1);
$char = chr(ord($char) + ord($keychar));
$result .= $char;
}
return base64_encode($result);
}
function decrypt($str) {
$result = '';
$str = base64_decode($str);
$length = strlen($str);
for($i=0; $i<$length; $i++) {
$char = substr($str, $i, 1);
$keychar = substr($this->salt, ($i % $this->length) - 1, 1);
$char = chr(ord($char) - ord($keychar));
$result .= $char;
}
return $result;
}
}
?>
@@ -53,8 +53,10 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
if($w == 'cu') {
$sql = " select wr_id, wr_content from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$sql = " select wr_id, wr_content, mb_id from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$cmt = sql_fetch($sql);
if (!($is_admin || ($member['mb_id'] == $cmt['mb_id'] && $cmt['mb_id'])))
$cmt['wr_content'] = '';
$c_wr_content = $cmt['wr_content'];
}
@@ -53,8 +53,10 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
if($w == 'cu') {
$sql = " select wr_id, wr_content from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$sql = " select wr_id, wr_content, mb_id from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$cmt = sql_fetch($sql);
if (!($is_admin || ($member['mb_id'] == $cmt['mb_id'] && $cmt['mb_id'])))
$cmt['wr_content'] = '';
$c_wr_content = $cmt['wr_content'];
}
@@ -11,7 +11,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
<form name="fformmail" action="./formmail_send.php" onsubmit="return fformmail_submit(this);" method="post" enctype="multipart/form-data" style="margin:0px;">
<input type="hidden" name="to" value="<?php echo $email ?>">
<input type="hidden" name="attach" value="2">
<input type="hidden" name="token" value="<?php echo $token ?>">
<?php if ($is_member) { // 회원이면 ?>
<input type="hidden" name="fnick" value="<?php echo get_text($member['mb_nick']); ?>">
<input type="hidden" name="fmail" value="<?php echo $member['mb_email'] ?>">
+2 -1
View File
@@ -135,7 +135,8 @@
#memo_list_ul {margin:0 20px;padding:0;border-top:1px solid #e9e9e9;list-style:none}
#memo_list_ul li {position:relative;padding:10px 0;border-bottom:1px solid #e9e9e9}
#memo_list_ul .memo_link {}
#memo_list_ul .memo_send {position:absolute;top:10px;right:30px}
#memo_list_ul .memo_send {display:block;margin-top:4px}
#memo_list_ul .memo_send a{color:#777}
#memo_list_ul .memo_read {font-size:0.95em;color:#666}
#memo_list_ul .memo_del {position:absolute;top:10px;right:0}
@@ -1,74 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>네이버 :: Smart Editor 2 &#8482;</title>
<script type="text/javascript" src="./js/HuskyEZCreator.js" charset="utf-8"></script>
</head>
<body>
<form action="sample.php" method="post">
<textarea name="ir1" id="ir1" rows="10" cols="100" style="width:766px; height:412px; display:none;"></textarea>
<!--textarea name="ir1" id="ir1" rows="10" cols="100" style="width:100%; height:412px; min-width:610px; display:none;"></textarea-->
<p>
<input type="button" onclick="pasteHTML();" value="본문에 내용 넣기" />
<input type="button" onclick="showHTML();" value="본문 내용 가져오기" />
<input type="button" onclick="submitContents(this);" value="서버로 내용 전송" />
<input type="button" onclick="setDefaultFont();" value="기본 폰트 지정하기 (궁서_24)" />
</p>
</form>
<script type="text/javascript">
var oEditors = [];
// 추가 글꼴 목록
//var aAdditionalFontSet = [["MS UI Gothic", "MS UI Gothic"], ["Comic Sans MS", "Comic Sans MS"],["TEST","TEST"]];
nhn.husky.EZCreator.createInIFrame({
oAppRef: oEditors,
elPlaceHolder: "ir1",
sSkinURI: "SmartEditor2Skin.html",
htParams : {
bUseToolbar : true, // 툴바 사용 여부 (true:사용/ false:사용하지 않음)
bUseVerticalResizer : true, // 입력창 크기 조절바 사용 여부 (true:사용/ false:사용하지 않음)
bUseModeChanger : true, // 모드 탭(Editor | HTML | TEXT) 사용 여부 (true:사용/ false:사용하지 않음)
//aAdditionalFontList : aAdditionalFontSet, // 추가 글꼴 목록
fOnBeforeUnload : function(){
//alert("완료!");
}
}, //boolean
fOnAppLoad : function(){
//예제 코드
//oEditors.getById["ir1"].exec("PASTE_HTML", ["로딩이 완료된 후에 본문에 삽입되는 text입니다."]);
},
fCreator: "createSEditor2"
});
function pasteHTML() {
var sHTML = "<span style='color:#FF0000;'>이미지도 같은 방식으로 삽입합니다.<\/span>";
oEditors.getById["ir1"].exec("PASTE_HTML", [sHTML]);
}
function showHTML() {
var sHTML = oEditors.getById["ir1"].getIR();
alert(sHTML);
}
function submitContents(elClickedObj) {
oEditors.getById["ir1"].exec("UPDATE_CONTENTS_FIELD", []); // 에디터의 내용이 textarea에 적용됩니다.
// 에디터의 내용에 대한 값 검증은 이곳에서 document.getElementById("ir1").value를 이용해서 처리하면 됩니다.
try {
elClickedObj.form.submit();
} catch(e) {}
}
function setDefaultFont() {
var sDefaultFont = '궁서';
var nFontSize = 24;
oEditors.getById["ir1"].setDefaultFont(sDefaultFont, nFontSize);
}
</script>
</body>
</html>
@@ -9,20 +9,20 @@
<style type="text/css">
body { margin: 10px; }
</style>
<script type="text/javascript" src="./js/jindo.min.js" charset="utf-8"></script>
<script type="text/javascript" src="./js/jindo_component.js" charset="utf-8"></script>
<script type="text/javascript" src="./js/SE2B_Configuration_Service.js" charset="utf-8"></script> <!-- 설정 파일 -->
<script type="text/javascript" src="./js/SE2B_Configuration_General.js" charset="utf-8"></script> <!-- 설정 파일 -->
<script type="text/javascript" src="./js/SE2BasicCreator.js?v3" charset="utf-8"></script>
<script type="text/javascript" src="./js/lib/jindo2.all.js" charset="utf-8"></script>
<script type="text/javascript" src="./js/lib/jindo_component.js" charset="utf-8"></script>
<script type="text/javascript" src="./js/SE2M_Configuration.js?v3" charset="utf-8"></script> <!-- 설정 파일 -->
<script type="text/javascript" src="./js/SE2BasicCreator.js" charset="utf-8"></script>
<script type="text/javascript" src="./js/smarteditor2.min.js" charset="utf-8"></script>
<script src='js/smarteditor2.min.js?v2' charset='utf-8'></script>
<script src='photo_uploader/plugin/hp_SE2M_AttachQuickPhoto.js' charset='utf-8'></script>
<!-- 사진첨부샘플 -->
<script type="text/javascript" src="photo_uploader/plugin/hp_SE2M_AttachQuickPhoto.js?v3" charset="utf-8"></script>
</head>
<body>
<span id="rev"></span>
<span id="rev" style="display:none">Version: 2.8.2.12056 </span>
<!-- SE2 Markup Start -->
<div id="smart_editor2">
@@ -37,24 +37,12 @@
<div class="se2_in_layer">
<ul class="se2_l_font_fam">
<li style="display:none"><button type="button"><span>@DisplayName@<span>(</span><em style="font-family:FontFamily;">@SampleText@</em><span>)</span></span></button></li>
<!--
<li><button type="button"><span>돋움<span>(</span><em style="font-family:'돋움',Dotum,Sans-serif;">가나다라</em><span>)</span></span></button></li>
<li><button type="button"><span>돋움체<span>(</span><em style="font-family:'돋움체',DotumChe,Sans-serif;">가나다라</em><span>)</span></span></button></li>
<li><button type="button"><span>굴림<span>(</span><em style="font-family:'굴림',Gulim,Sans-serif;">가나다라</em><span>)</span></span></button></li>
<li><button type="button"><span>굴림체<span>(</span><em style="font-family:'굴림체',GulimChe,Sans-serif;">가나다라</em><span>)</span></span></button></li>
<li><button type="button"><span>바탕<span>(</span><em style="font-family:'바탕',Batang,serif;">가나다라</em><span>)</span></span></button></li>
<li><button type="button"><span>바탕체<span>(</span><em style="font-family:'바탕체',BatangChe,serif;">가나다라</em><span>)</span></span></button></li>
<li><button type="button"><span>궁서<span>(</span><em style="font-family:'궁서',Gungsuh,serif;">가나다라</em><span>)</span></span></button></li>
<li><button type="button"><span>Arial<span>(</span><em style="font-family:arial,Sans-serif;">abcd</em><span>)</span></span></button></li>
<li><button type="button"><span>Tahoma<span>(</span><em style="font-family:tahoma,Sans-serif;">abcd</em><span>)</span></span></button></li>
<li><button type="button"><span>Times New Roman<span>(</span><em style="font-family:'Times New Roman',Times,serif;">abcd</em><span>)</span></span></button></li>
<li><button type="button"><span>Verdana<span>(</span><em style="font-family:verdana,Sans-serif;">abcd</em><span>)</span></span></button></li>
<li><button type="button"><span>Courier New<span>(</span><em style="font-family:Courier New,Sans-serif;">abcd</em><span>)</span></span></button></li>
-->
<li class="se2_division husky_seditor_font_separator"></li>
<li class="husky_seditor_font_nanumgothic"><button type="button"><span>나눔고딕<span>(</span><em style="font-family:'나눔고딕',NanumGothic,Sans-serif;">가나다라</em><span>)</span></span></button></li>
<li class="husky_seditor_font_nanummyeongjo"><button type="button"><span>나눔명조<span>(</span><em style="font-family:'나눔명조',NanumMyeongjo,serif;">가나다라</em><span>)</span></span></button></li>
<li class="husky_seditor_font_nanumgothiccoding"><button type="button"><span>나눔고딕코딩<span>(</span><em style="font-family:'나눔고딕코딩',NanumGothicCoding,Sans-serif;">가나다라</em><span>)</span></span></button></li>
<li><button type="button"><span>나눔고딕<span>(</span><em style="font-family:'나눔고딕',NanumGothic;">가나다라</em><span>)</span></span></button></li>
<li><button type="button"><span>나눔명조<span>(</span><em style="font-family:'나눔명조',NanumMyeongjo;">가나다라</em><span>)</span></span></button></li>
<li><button type="button"><span>나눔고딕코딩<span>(</span><em style="font-family:'나눔고딕코딩',NanumGothicCoding;">가나다라</em><span>)</span></span></button></li>
<li><button type="button"><span>나눔바른고딕<span>(</span><em style="font-family:'나눔바른고딕',NanumBarunGothic;">가나다라</em><span>)</span></span></button></li>
<li><button type="button"><span>나눔바른펜<span>(</span><em style="font-family:'나눔바른펜',NanumBarunPen;">가나다라</em><span>)</span></span></button></li>
</ul>
</div>
</div>
@@ -66,23 +54,23 @@
<div class="se2_layer husky_se_fontSize_layer">
<div class="se2_in_layer">
<ul class="se2_l_font_size">
<li><button type="button" style="height:19px;"><span style="margin-top:4px; margin-bottom:3px; margin-left:5px; font-size:7pt;">가나다라마바사<span style=" font-size:7pt;">(7pt)</span></span></button></li>
<li><button type="button" style="height:20px;"><span style="margin-bottom:2px; font-size:8pt;">가나다라마바사<span style="font-size:8pt;">(8pt)</span></span></button></li>
<li><button type="button" style="height:20px;"><span style="margin-bottom:1px; font-size:9pt;">가나다라마바사<span style="font-size:9pt;">(9pt)</span></span></button></li>
<li><button type="button" style="height:21px;"><span style="margin-bottom:1px; font-size:10pt;">가나다라마바사<span style="font-size:10pt;">(10pt)</span></span></button></li>
<li><button type="button" style="height:23px;"><span style="margin-bottom:2px; font-size:11pt;">가나다라마바사<span style="font-size:11pt;">(11pt)</span></span></button></li>
<li><button type="button" style="height:25px;"><span style="margin-bottom:1px; font-size:12pt;">가나다라마바사<span style="font-size:12pt;">(12pt)</span></span></button></li>
<li><button type="button" style="height:27px;"><span style="margin-bottom:2px; font-size:14pt;">가나다라마바사<span style="margin-left:6px;font-size:14pt;">(14pt)</span></span></button></li>
<li><button type="button" style="height:33px;"><span style="margin-bottom:1px; font-size:18pt;">가나다라마바사<span style="margin-left:8px;font-size:18pt;">(18pt)</span></span></button></li>
<li><button type="button" style="height:39px;"><span style="margin-left:3px; font-size:24pt;">가나다라마<span style="margin-left:11px;font-size:24pt;">(24pt)</span></span></button></li>
<li><button type="button" style="height:53px;"><span style="margin-top:-1px; margin-left:3px; font-size:36pt;">가나다<span style="font-size:36pt;">(36pt)</span></span></button></li>
<li><button type="button"><span style="margin-top:4px; margin-bottom:3px; margin-left:5px; font-size:7pt;">가나다라마바사<span style=" font-size:7pt;">(7pt)</span></span></button></li>
<li><button type="button"><span style="margin-bottom:2px; font-size:8pt;">가나다라마바사<span style="font-size:8pt;">(8pt)</span></span></button></li>
<li><button type="button"><span style="margin-bottom:1px; font-size:9pt;">가나다라마바사<span style="font-size:9pt;">(9pt)</span></span></button></li>
<li><button type="button"><span style="margin-bottom:1px; font-size:10pt;">가나다라마바사<span style="font-size:10pt;">(10pt)</span></span></button></li>
<li><button type="button"><span style="margin-bottom:2px; font-size:11pt;">가나다라마바사<span style="font-size:11pt;">(11pt)</span></span></button></li>
<li><button type="button"><span style="margin-bottom:1px; font-size:12pt;">가나다라마바사<span style="font-size:12pt;">(12pt)</span></span></button></li>
<li><button type="button"><span style="margin-bottom:2px; font-size:14pt;">가나다라마바사<span style="margin-left:6px;font-size:14pt;">(14pt)</span></span></button></li>
<li><button type="button"><span style="margin-bottom:1px; font-size:18pt;">가나다라마바사<span style="margin-left:8px;font-size:18pt;">(18pt)</span></span></button></li>
<li><button type="button"><span style="margin-left:3px; font-size:24pt;">가나다라마<span style="margin-left:11px;font-size:24pt;">(24pt)</span></span></button></li>
<li><button type="button"><span style="margin-top:-1px; margin-left:3px; font-size:36pt;">가나다<span style="font-size:36pt;">(36pt)</span></span></button></li>
</ul>
</div>
</div>
<!-- //폰트 사이즈 레이어 -->
</li>
</ul><ul>
<li class="husky_seditor_ui_bold"><button type="button" title="굵게[Ctrl+B]" class="se2_bold"><span class="_buttonRound">굵게[Ctrl+B]</span></button></li>
<li class="husky_seditor_ui_bold first_child"><button type="button" title="굵게[Ctrl+B]" class="se2_bold"><span class="_buttonRound tool_bg">굵게[Ctrl+B]</span></button></li>
<li class="husky_seditor_ui_underline"><button type="button" title="밑줄[Ctrl+U]" class="se2_underline"><span class="_buttonRound">밑줄[Ctrl+U]</span></button></li>
@@ -215,17 +203,17 @@
<li class="husky_seditor_ui_superscript"><button type="button" title="윗첨자" class="se2_sup"><span class="_buttonRound">윗첨자</span></button></li>
<li class="husky_seditor_ui_subscript"><button type="button" title="아래첨자" class="se2_sub"><span class="_buttonRound">아래첨자</span></button></li>
<li class="husky_seditor_ui_subscript last_child"><button type="button" title="아래첨자" class="se2_sub"><span class="_buttonRound tool_bg">아래첨자</span></button></li>
</ul><ul>
<li class="husky_seditor_ui_justifyleft"><button type="button" title="왼쪽정렬" class="se2_left"><span class="_buttonRound">왼쪽정렬</span></button></li>
<li class="husky_seditor_ui_justifyleft first_child"><button type="button" title="왼쪽정렬" class="se2_left"><span class="_buttonRound tool_bg">왼쪽정렬</span></button></li>
<li class="husky_seditor_ui_justifycenter"><button type="button" title="가운데정렬" class="se2_center"><span class="_buttonRound">가운데정렬</span></button></li>
<li class="husky_seditor_ui_justifyright"><button type="button" title="오른쪽정렬" class="se2_right"><span class="_buttonRound">오른쪽정렬</span></button></li>
<li class="husky_seditor_ui_justifyfull"><button type="button" title="양쪽정렬" class="se2_justify"><span class="_buttonRound">양쪽정렬</span></button></li>
<li class="husky_seditor_ui_justifyfull"><button type="button" title="양쪽정렬" class="se2_justify"><span class="_buttonRound">양쪽정렬</span></button></li>
<li class="husky_seditor_ui_lineHeight"><button type="button" title="줄간격" class="se2_lineheight" ><span class="_buttonRound">줄간격</span></button>
<li class="husky_seditor_ui_lineHeight last_child"><button type="button" title="줄간격" class="se2_lineheight" ><span class="_buttonRound tool_bg">줄간격</span></button>
<!-- 줄간격 레이어 -->
<div class="se2_layer husky_se2m_lineHeight_layer">
<div class="se2_in_layer">
@@ -265,7 +253,7 @@
</div>
</li>
</ul><ul>
<li class="husky_seditor_ui_quote"><button type="button" title="인용구" class="se2_blockquote"><span class="_buttonRound">인용구</span></button>
<li class="husky_seditor_ui_quote single_child"><button type="button" title="인용구" class="se2_blockquote"><span class="_buttonRound tool_bg">인용구</span></button>
<!-- 인용구 -->
<div class="se2_layer husky_seditor_blockquote_layer" style="margin-left:-407px; display:none;">
<div class="se2_in_layer">
@@ -289,7 +277,7 @@
<!-- //인용구 -->
</li>
</ul><ul>
<li class="husky_seditor_ui_hyperlink"><button type="button" title="링크" class="se2_url"><span class="_buttonRound">링크</span></button>
<li class="husky_seditor_ui_hyperlink first_child"><button type="button" title="링크" class="se2_url"><span class="_buttonRound tool_bg">링크</span></button>
<!-- 링크 -->
<div class="se2_layer" style="margin-left:-285px">
<div class="se2_in_layer">
@@ -512,7 +500,7 @@
<!--//@lazyload_html-->
</li>
<li class="husky_seditor_ui_findAndReplace"><button type="button" title="찾기/바꾸기" class="se2_find"><span class="_buttonRound">찾기/바꾸기</span></button>
<li class="husky_seditor_ui_findAndReplace last_child"><button type="button" title="찾기/바꾸기" class="se2_find"><span class="_buttonRound tool_bg">찾기/바꾸기</span></button>
<!--@lazyload_html find_and_replace-->
<!-- 찾기/바꾸기 -->
<div class="se2_layer husky_se2m_findAndReplace_layer" style="margin-left:-238px;">
@@ -526,7 +514,7 @@
</ul>
<div class="se2_in_bx_find husky_se2m_find_ui" style="display:block">
<dl>
<dt><label for="find_word">찾을단어</label></dt><dd><input type="text" id="find_word" value="스마트에디터" class="input_ty1"></dd>
<dt><label for="find_word">찾을 단어</label></dt><dd><input type="text" id="find_word" value="스마트에디터" class="input_ty1"></dd>
</dl>
<p class="se2_find_btns">
<button type="button" class="se2_find_next husky_se2m_find_next"><span>다음 찾기</span></button><button type="button" class="se2_cancel husky_se2m_cancel"><span>취소</span></button>
@@ -534,11 +522,11 @@
</div>
<div class="se2_in_bx_revise husky_se2m_replace_ui" style="display:none">
<dl>
<dt><label for="find_word2">찾을단어</label></dt><dd><input type="text" id="find_word2" value="스마트에디터" class="input_ty1"></dd>
<dt><label for="revise_word">바꿀단어</label></dt><dd><input type="text" id="revise_word" value="스마트에디터" class="input_ty1"></dd>
<dt><label for="find_word2">찾을 단어</label></dt><dd><input type="text" id="find_word2" value="스마트에디터" class="input_ty1"></dd>
<dt><label for="revise_word">바꿀 단어</label></dt><dd><input type="text" id="revise_word" value="스마트에디터" class="input_ty1"></dd>
</dl>
<p class="se2_find_btns">
<button type="button" class="se2_find_next2 husky_se2m_replace_find_next"><span>다음찾기</span></button><button type="button" class="se2_revise1 husky_se2m_replace"><span>바꾸기</span></button><button type="button" class="se2_revise2 husky_se2m_replace_all"><span>모두 바꾸기</span></button><button type="button" class="se2_cancel husky_se2m_cancel"><span>취소</span></button>
<button type="button" class="se2_find_next2 husky_se2m_replace_find_next"><span>다음 찾기</span></button><button type="button" class="se2_revise1 husky_se2m_replace"><span>바꾸기</span></button><button type="button" class="se2_revise2 husky_se2m_replace_all"><span>모두 바꾸기</span></button><button type="button" class="se2_cancel husky_se2m_cancel"><span>취소</span></button>
</p>
</div>
<button type="button" title="닫기" class="se2_close husky_se2m_cancel"><span>닫기</span></button>
File diff suppressed because one or more lines are too long
+162 -323
View File
@@ -1,336 +1,175 @@
@charset "UTF-8";
/* NHN Web Standardization Team (http://html.nhndesign.com/) HHJ 090226 */
/* COMMON */
body, #smart_editor2, #smart_editor2 p, #smart_editor2 h1, #smart_editor2 h2, #smart_editor2 h3, #smart_editor2 h4, #smart_editor2 h5, #smart_editor2 h6, #smart_editor2 ul, #smart_editor2 ol, #smart_editor2 li, #smart_editor2 dl, #smart_editor2 dt, #smart_editor2 dd, #smart_editor2 table, #smart_editor2 th, #smart_editor2 td, #smart_editor2 form, #smart_editor2 fieldset, #smart_editor2 legend, #smart_editor2 input, #smart_editor2 textarea, #smart_editor2 button, #smart_editor2 select { margin: 0; padding: 0; }
#smart_editor2, #smart_editor2 h1, #smart_editor2 h2, #smart_editor2 h3, #smart_editor2 h4, #smart_editor2 h5, #smart_editor2 h6, #smart_editor2 input, #smart_editor2 textarea, #smart_editor2 select, #smart_editor2 table, #smart_editor2 button { font-family: '돋움',Dotum,Helvetica,sans-serif; font-size: 12px; color: #666; }
#smart_editor2 span, #smart_editor2 em { font-size: 12px; }
#smart_editor2 em, #smart_editor2 address { font-style: normal; }
#smart_editor2 img, #smart_editor2 fieldset { border: 0; }
#smart_editor2 hr { display: none; }
#smart_editor2 ol, #smart_editor2 ul { list-style: none; }
#smart_editor2 button { border: 0; background: none; font-size: 11px; vertical-align: top; cursor: pointer; }
#smart_editor2 button span, #smart_editor2 button em { visibility: hidden; overflow: hidden; position: absolute; top: 0; font-size: 0; line-height: 0; }
#smart_editor2 legend, #smart_editor2 .blind { visibility: hidden; overflow: hidden; position: absolute; width: 0; height: 0; font-size: 0; line-height: 0; }
#smart_editor2 .input_ty1 { height: 14px; margin: 0; padding: 4px 2px 0 4px; border: 1px solid #c7c7c7; font-size: 11px; color: #666; }
#smart_editor2 a:link, #smart_editor2 a:visited, #smart_editor2 a:active, #smart_editor2 a:focus { color: #666; text-decoration: none; }
#smart_editor2 a:hover { color: #666; text-decoration: underline; }
body,#smart_editor2,#smart_editor2 p,#smart_editor2 h1,#smart_editor2 h2,#smart_editor2 h3,#smart_editor2 h4,#smart_editor2 h5,#smart_editor2 h6,#smart_editor2 ul,#smart_editor2 ol,#smart_editor2 li,#smart_editor2 dl,#smart_editor2 dt,#smart_editor2 dd,#smart_editor2 table,#smart_editor2 th,#smart_editor2 td,#smart_editor2 form,#smart_editor2 fieldset,#smart_editor2 legend,#smart_editor2 input,#smart_editor2 textarea,#smart_editor2 button,#smart_editor2 select{margin:0;padding:0}
#smart_editor2,#smart_editor2 h1,#smart_editor2 h2,#smart_editor2 h3,#smart_editor2 h4,#smart_editor2 h5,#smart_editor2 h6,#smart_editor2 input,#smart_editor2 textarea,#smart_editor2 select,#smart_editor2 table,#smart_editor2 button{font-family:'돋움',Dotum,Helvetica,sans-serif;font-size:12px;color:#666}
#smart_editor2 span,#smart_editor2 em{font-size:12px}
#smart_editor2 em,#smart_editor2 address{font-style:normal}
#smart_editor2 img,#smart_editor2 fieldset{border:0}
#smart_editor2 hr{display:none}
#smart_editor2 ol,#smart_editor2 ul{list-style:none}
#smart_editor2 button{border:0;background:none;font-size:11px;vertical-align:top;cursor:pointer}
#smart_editor2 button span,#smart_editor2 button em{visibility:hidden;overflow:hidden;position:absolute;top:0;font-size:0;line-height:0}
#smart_editor2 legend,#smart_editor2 .blind{visibility:hidden;overflow:hidden;position:absolute;width:0;height:0;font-size:0;line-height:0}
#smart_editor2 .input_ty1{height:14px;margin:0;padding:4px 2px 0 4px;border:1px solid #c7c7c7;font-size:11px;color:#666}
#smart_editor2 a:link,#smart_editor2 a:visited,#smart_editor2 a:active,#smart_editor2 a:focus{color:#666;text-decoration:none}
#smart_editor2 a:hover{color:#666;text-decoration:underline}
/* LAYOUT */
#smart_editor2 .se2_header { margin: 10px 0 29px 0; }
#smart_editor2 .se2_bi { float: left; width: 93px; height: 20px; margin: 0; padding: 0; background: url("../img/ko_KR/btn_set.png?130306") -343px -358px no-repeat; font-size: 0; line-height: 0; text-indent: -10000px; vertical-align: middle; }
#smart_editor2 .se2_allhelp { display: inline-block; width: 18px; height: 18px; padding: 0; background: url("../img/ko_KR/btn_set.png?130306") -437px -358px no-repeat; font-size: 0; line-height: 0; text-indent: -10000px; vertical-align: middle; }
#smart_editor2 #smart_editor2_content { border: 1px solid #b5b5b5; }
#smart_editor2 .se2_tool { overflow: visible; position: relative; z-index: 25; }
#smart_editor2 .se2_header{margin:10px 0 29px 0}
#smart_editor2 .se2_bi{float:left;width:93px;height:20px;margin:0;padding:0;background:url("../img/ko_KR/btn_set.png?130306") -343px -358px no-repeat;font-size:0;line-height:0;text-indent:-10000px;vertical-align:middle}
#smart_editor2 .se2_allhelp{display:inline-block;width:18px;height:18px;padding:0;background:url("../img/ko_KR/btn_set.png?130306") -437px -358px no-repeat;font-size:0;line-height:0;text-indent:-10000px;vertical-align:middle}
#smart_editor2 #smart_editor2_content{border:1px solid #b5b5b5}
#smart_editor2 .se2_tool{overflow:visible;position:relative;z-index:25}
/* EDITINGAREA */
#smart_editor2 .se2_input_area { position: relative; z-index: 22; height: 400px; margin: 0; padding: 0; *zoom: 1; }
#smart_editor2 .se2_input_wysiwyg, #smart_editor2 .se2_input_syntax { display: block; overflow: auto; width: 100%; height: 100%; margin: 0; *margin: -1px 0 0 0; border: 0; }
#smart_editor2 .se2_input_area{position:relative;z-index:22;height:400px;margin:0;padding:0;*zoom:1}
#smart_editor2 .se2_input_wysiwyg,#smart_editor2 .se2_input_syntax{display:block;overflow:auto;width:100%;height:100%;margin:0;*margin:-1px 0 0 0;border:0}
/* EDITINGMODE */
#smart_editor2 .se2_conversion_mode { position: relative; height: 15px; padding-top: 1px; border-top: 1px solid #b5b5b5; background: url("../img/icon_set.gif") 0 -896px repeat-x; }
#smart_editor2 .se2_inputarea_controller { display: block; clear: both; position: relative; width: 100%; height: 15px; text-align: center; cursor: n-resize; }
#smart_editor2 .se2_inputarea_controller span, #smart_editor2 .controller_on span { background: url("../img/ico_extend.png") no-repeat; }
#smart_editor2 .se2_inputarea_controller span { position: static; display: inline-block; visibility: visible; overflow: hidden; height: 15px; padding-left: 11px; background-position: 0 2px; color: #888; font-size: 11px; letter-spacing: -1px; line-height: 16px; white-space: nowrap; }
* + html #smart_editor2 .se2_inputarea_controller span { line-height: 14px; }
#smart_editor2 .controller_on span { background-position: 0 -21px; color: #249c04; }
#smart_editor2 .ly_controller { display: block; position: absolute; bottom: 2px; left: 50%; width: 287px; margin-left: -148px; padding: 8px 0 7px 9px; border: 1px solid #827f7c; background: #fffdef; }
#smart_editor2 .ly_controller p { color: #666; font-size: 11px; letter-spacing: -1px; line-height: 11px; }
#smart_editor2 .ly_controller .bt_clse, #smart_editor2 .ly_controller .ic_arr { position: absolute; background: url("../img/ico_extend.png") no-repeat; }
#smart_editor2 .ly_controller .bt_clse { top: 5px; right: 4px; width: 14px; height: 15px; background-position: 1px -43px; }
#smart_editor2 .ly_controller .ic_arr { top: 25px; left: 50%; width: 10px; height: 6px; margin-left: -5px; background-position: 0 -65px; }
#smart_editor2 .se2_converter { float: left; position: absolute; top: -1px; right: 3px; z-index: 20; }
#smart_editor2 .se2_converter li { float: left; }
#smart_editor2 .se2_converter .se2_to_editor { width: 59px; height: 15px; background: url("../img/ko_KR/btn_set.png?130306") 0 -85px no-repeat; vertical-align: top; }
#smart_editor2 .se2_converter .se2_to_html { width: 59px; height: 15px; background: url("../img/ko_KR/btn_set.png?130306") -59px -70px no-repeat; vertical-align: top; }
#smart_editor2 .se2_converter .se2_to_text { width: 60px; height: 15px; background: url("../img/ko_KR/btn_set.png?130306") -417px -466px no-repeat; vertical-align: top; }
#smart_editor2 .se2_converter .active .se2_to_editor { width: 59px; height: 15px; background: url("../img/ko_KR/btn_set.png?130306") 0 -70px no-repeat; vertical-align: top; }
#smart_editor2 .se2_converter .active .se2_to_html { width: 59px; height: 15px; background: url("../img/ko_KR/btn_set.png?130306") -59px -85px no-repeat; vertical-align: top; }
#smart_editor2 .se2_converter .active .se2_to_text { width: 60px; height: 15px; background: url("../img/ko_KR/btn_set.png?130306") -417px -481px no-repeat; vertical-align: top; }
#smart_editor2 .se2_conversion_mode{position:relative;height:15px;padding-top:1px;border-top:1px solid #b5b5b5;background:url("../img/icon_set.gif") 0 -896px repeat-x}
#smart_editor2 .se2_inputarea_controller{display:block;clear:both;position:relative;width:100%;height:15px;text-align:center;cursor:n-resize}
#smart_editor2 .se2_inputarea_controller span,#smart_editor2 .controller_on span{background:url("../img/ico_extend.png") no-repeat}
#smart_editor2 .se2_inputarea_controller span{position:static;display:inline-block;visibility:visible;overflow:hidden;height:15px;padding-left:11px;background-position:0 2px;color:#888;font-size:11px;letter-spacing:-1px;line-height:16px;white-space:nowrap}
* + html #smart_editor2 .se2_inputarea_controller span{line-height:14px}
#smart_editor2 .controller_on span{background-position:0 -21px;color:#249c04}
#smart_editor2 .ly_controller{display:block;position:absolute;bottom:2px;left:50%;width:287px;margin-left:-148px;padding:8px 0 7px 9px;border:1px solid #827f7c;background:#fffdef}
#smart_editor2 .ly_controller p{color:#666;font-size:11px;letter-spacing:-1px;line-height:11px}
#smart_editor2 .ly_controller .bt_clse,#smart_editor2 .ly_controller .ic_arr{position:absolute;background:url("../img/ico_extend.png") no-repeat}
#smart_editor2 .ly_controller .bt_clse{top:5px;right:4px;width:14px;height:15px;background-position:1px -43px}
#smart_editor2 .ly_controller .ic_arr{top:25px;left:50%;width:10px;height:6px;margin-left:-5px;background-position:0 -65px}
#smart_editor2 .se2_converter{float:left;position:absolute;top:-1px;right:3px;z-index:20}
#smart_editor2 .se2_converter li{float:left}
#smart_editor2 .se2_converter .se2_to_editor{width:59px;height:15px;background:url("../img/ko_KR/btn_set.png?130306") 0 -85px no-repeat;vertical-align:top}
#smart_editor2 .se2_converter .se2_to_html{width:59px;height:15px;background:url("../img/ko_KR/btn_set.png?130306") -59px -70px no-repeat;vertical-align:top}
#smart_editor2 .se2_converter .se2_to_text{width:60px;height:15px;background:url("../img/ko_KR/btn_set.png?130306") -417px -466px no-repeat;vertical-align:top}
#smart_editor2 .se2_converter .active .se2_to_editor{width:59px;height:15px;background:url("../img/ko_KR/btn_set.png?130306") 0 -70px no-repeat;vertical-align:top}
#smart_editor2 .se2_converter .active .se2_to_html{width:59px;height:15px;background:url("../img/ko_KR/btn_set.png?130306") -59px -85px no-repeat;vertical-align:top}
#smart_editor2 .se2_converter .active .se2_to_text{width:60px;height:15px;background:url("../img/ko_KR/btn_set.png?130306") -417px -481px no-repeat;vertical-align:top}
/* EDITINGAREA_HTMLSRC */
#smart_editor2 .off .ico_btn, #smart_editor2 .off .se2_more, #smart_editor2 .off .se2_more2, #smart_editor2 .off .se2_font_family, #smart_editor2 .off .se2_font_size, #smart_editor2 .off .se2_bold, #smart_editor2 .off .se2_underline, #smart_editor2 .off .se2_italic, #smart_editor2 .off .se2_tdel, #smart_editor2 .off .se2_fcolor, #smart_editor2 .off .se2_fcolor_more, #smart_editor2 .off .se2_bgcolor, #smart_editor2 .off .se2_bgcolor_more, #smart_editor2 .off .se2_left, #smart_editor2 .off .se2_center, #smart_editor2 .off .se2_right, #smart_editor2 .off .se2_justify, #smart_editor2 .off .se2_ol, #smart_editor2 .off .se2_ul, #smart_editor2 .off .se2_indent, #smart_editor2 .off .se2_outdent, #smart_editor2 .off .se2_lineheight, #smart_editor2 .off .se2_del_style, #smart_editor2 .off .se2_blockquote, #smart_editor2 .off .se2_summary, #smart_editor2 .off .se2_footnote, #smart_editor2 .off .se2_url, #smart_editor2 .off .se2_emoticon, #smart_editor2 .off .se2_character, #smart_editor2 .off .se2_table, #smart_editor2 .off .se2_find, #smart_editor2 .off .se2_spelling, #smart_editor2 .off .se2_sup, #smart_editor2 .off .se2_sub, #smart_editor2 .off .se2_text_tool_more, #smart_editor2 .off .se2_new, #smart_editor2 .off .selected_color, #smart_editor2 .off .se2_lineSticker { -ms-filter: alpha(opacity=50); opacity: .5; cursor: default; filter: alpha(opacity=50); }
#smart_editor2 .off .ico_btn,#smart_editor2 .off .se2_more,#smart_editor2 .off .se2_more2,#smart_editor2 .off .se2_font_family,#smart_editor2 .off .se2_font_size,#smart_editor2 .off .se2_bold,#smart_editor2 .off .se2_underline,#smart_editor2 .off .se2_italic,#smart_editor2 .off .se2_tdel,#smart_editor2 .off .se2_fcolor,#smart_editor2 .off .se2_fcolor_more,#smart_editor2 .off .se2_bgcolor,#smart_editor2 .off .se2_bgcolor_more,#smart_editor2 .off .se2_left,#smart_editor2 .off .se2_center,#smart_editor2 .off .se2_right,#smart_editor2 .off .se2_justify,#smart_editor2 .off .se2_ol,#smart_editor2 .off .se2_ul,#smart_editor2 .off .se2_indent,#smart_editor2 .off .se2_outdent,#smart_editor2 .off .se2_lineheight,#smart_editor2 .off .se2_del_style,#smart_editor2 .off .se2_blockquote,#smart_editor2 .off .se2_summary,#smart_editor2 .off .se2_footnote,#smart_editor2 .off .se2_url,#smart_editor2 .off .se2_emoticon,#smart_editor2 .off .se2_character,#smart_editor2 .off .se2_table,#smart_editor2 .off .se2_find,#smart_editor2 .off .se2_spelling,#smart_editor2 .off .se2_sup,#smart_editor2 .off .se2_sub,#smart_editor2 .off .se2_text_tool_more,#smart_editor2 .off .se2_new,#smart_editor2 .off .selected_color,#smart_editor2 .off .se2_lineSticker{-ms-filter:alpha(opacity=50);opacity:.5;cursor:default;filter:alpha(opacity=50)}
/* LAYER */
#smart_editor2 .se2_text_tool .se2_layer { display: none; float: left; position: absolute; top: 20px; left: 0; z-index: 50; margin: 0; padding: 0; border: 1px solid #bcbbbb; background: #fafafa; }
#smart_editor2 .se2_text_tool li.active { z-index: 50; }
#smart_editor2 .se2_text_tool .active .se2_layer { display: block; }
#smart_editor2 .se2_text_tool .active li .se2_layer { display: none; }
#smart_editor2 .se2_text_tool .active .active .se2_layer { display: block; }
#smart_editor2 .se2_text_tool .se2_layer .se2_in_layer { float: left; margin: 0; padding: 0; border: 1px solid #fff; background: #fafafa; }
#smart_editor2 .se2_text_tool .se2_layer{display:none;float:left;position:absolute;top:20px;left:0;z-index:50;margin:0;padding:0;border:1px solid #bcbbbb;background:#fafafa}
#smart_editor2 .se2_text_tool li.active{z-index:50}
#smart_editor2 .se2_text_tool .active .se2_layer{display:block}
#smart_editor2 .se2_text_tool .active li .se2_layer{display:none}
#smart_editor2 .se2_text_tool .active .active .se2_layer{display:block}
#smart_editor2 .se2_text_tool .se2_layer .se2_in_layer{float:left;margin:0;padding:0;border:1px solid #fff;background:#fafafa}
/* TEXT_TOOLBAR */
#smart_editor2 .se2_text_tool { position: relative; clear: both; z-index: 30; padding: 4px 0 4px 3px; background: #f4f4f4 url("../img/bg_text_tool.gif") 0 0 repeat-x; border-bottom: 1px solid #b5b5b5; *zoom: 1; }
#smart_editor2 .se2_text_tool:after { content: ""; display: block; clear: both; }
#smart_editor2 .se2_text_tool ul { float: left; display: inline; margin-right: 3px; padding-left: 1px; white-space: nowrap; }
#smart_editor2 .se2_text_tool li { _display: inline; float: left; position: relative; z-index: 30; }
#smart_editor2 .se2_text_tool button, #smart_editor2 .se2_multy .se2_icon { width: 21px; height: 21px; background: url("../img/ko_KR/text_tool_set.png?140317") no-repeat; vertical-align: top; }
#smart_editor2 .se2_text_tool .se2_font_type { position: relative; }
#smart_editor2 .se2_text_tool .se2_font_type li { margin-left: 3px; }
#smart_editor2 .se2_text_tool .se2_font_type button { text-align: left; }
#smart_editor2 .se2_text_tool .se2_font_type button.se2_font_family span, #smart_editor2 .se2_text_tool .se2_font_type button.se2_font_size span { display: inline-block; visibility: visible; position: static; width: 52px; height: 20px; padding: 0 0 0 6px; font-size: 12px; line-height: 20px; *line-height: 22px; color: #333; *zoom: 1; }
#smart_editor2 .se2_text_tool .se2_multy { position: absolute; top: 0; right: 0; padding-left: 0; margin-right: 0; white-space: nowrap; border-left: 1px solid #e0dedf; }
#smart_editor2 .se2_text_tool .se2_multy .se2_mn { float: left; white-space: nowrap; }
#smart_editor2 .se2_text_tool .se2_multy button { background-image: none; width: 47px; }
#smart_editor2 .se2_text_tool .se2_multy .se2_icon { display: inline-block; visibility: visible; overflow: visible; position: static; width: 16px; height: 29px; margin: -1px 2px 0 -1px; background-position: 0 -132px; line-height: 30px; vertical-align: top; }
#smart_editor2 .se2_text_tool .se2_multy button, #smart_editor2 .se2_text_tool .se2_multy button span { height: 29px; line-height: 29px; }
#smart_editor2 .se2_text_tool .se2_map .se2_icon { background-position: -29px -132px; }
#smart_editor2 .se2_text_tool button span.se2_mntxt { display: inline-block; visibility: visible; overflow: visible; _overflow-y: hidden; position: relative; *margin-right: -1px; width: auto; height: 29px; font-weight: normal; font-size: 11px; line-height: 30px; *line-height: 29px; _line-height: 30px; color: #444; letter-spacing: -1px; vertical-align: top; }
#smart_editor2 .se2_text_tool .se2_multy .se2_photo { margin-right: 1px; }
#smart_editor2 .se2_text_tool .se2_multy .hover .ico_btn { background: #e8e8e8; }
#smart_editor2 .se2_text_tool .se2_multy .se2_mn.hover { background: #e0dedf; }
#smart_editor2 .se2_text_tool{position:relative;clear:both;z-index:30;padding:4px 0 4px 3px;background:#f4f4f4 url("../img/bg_text_tool.gif") 0 0 repeat-x;border-bottom:1px solid #b5b5b5;*zoom:1}
#smart_editor2 .se2_text_tool:after{content:"";display:block;clear:both}
#smart_editor2 .se2_text_tool ul{float:left;display:inline;margin-right:3px;padding-left:1px;white-space:nowrap}
#smart_editor2 .se2_text_tool li{_display:inline;float:left;position:relative;z-index:30}
#smart_editor2 .se2_text_tool button,#smart_editor2 .se2_multy .se2_icon{width:21px;height:21px;background:url("../img/ko_KR/text_tool_set.png?140317") no-repeat;vertical-align:top}
#smart_editor2 .se2_text_tool .se2_font_type{position:relative}
#smart_editor2 .se2_text_tool .se2_font_type li{margin-left:3px}
#smart_editor2 .se2_text_tool .se2_font_type button{text-align:left}
#smart_editor2 .se2_text_tool .se2_font_type button.se2_font_family span,#smart_editor2 .se2_text_tool .se2_font_type button.se2_font_size span{display:inline-block;visibility:visible;position:static;width:52px;height:20px;padding:0 0 0 6px;font-size:12px;line-height:20px;*line-height:22px;color:#333;*zoom:1}
#smart_editor2 .se2_text_tool .se2_multy{position:absolute;top:0;right:0;padding-left:0;margin-right:0;white-space:nowrap;border-left:1px solid #e0dedf}
#smart_editor2 .se2_text_tool .se2_multy .se2_mn{float:left;white-space:nowrap}
#smart_editor2 .se2_text_tool .se2_multy button{background-image:none;width:47px}
#smart_editor2 .se2_text_tool .se2_multy .se2_icon{display:inline-block;visibility:visible;overflow:visible;position:static;width:16px;height:29px;margin:-1px 2px 0 -1px;background-position:0 -132px;line-height:30px;vertical-align:top}
#smart_editor2 .se2_text_tool .se2_multy button,#smart_editor2 .se2_text_tool .se2_multy button span{height:29px;line-height:29px}
#smart_editor2 .se2_text_tool .se2_map .se2_icon{background-position:-29px -132px}
#smart_editor2 .se2_text_tool button span.se2_mntxt{display:inline-block;visibility:visible;overflow:visible;_overflow-y:hidden;position:relative;*margin-right:-1px;width:auto;height:29px;font-weight:normal;font-size:11px;line-height:30px;*line-height:29px;_line-height:30px;color:#444;letter-spacing:-1px;vertical-align:top}
#smart_editor2 .se2_text_tool .se2_multy .se2_photo{margin-right:1px}
#smart_editor2 .se2_text_tool .se2_multy .hover .ico_btn{background:#e8e8e8}
#smart_editor2 .se2_text_tool .se2_multy .se2_mn.hover{background:#e0dedf}
/* TEXT_TOOLBAR : ROUNDING */
#smart_editor2 ul li.first_child button span.tool_bg, #smart_editor2 ul li.last_child button span.tool_bg, #smart_editor2 ul li.single_child button span.tool_bg { visibility: visible; height: 21px; }
#smart_editor2 ul li.first_child button span.tool_bg { left: -1px; width: 3px; background: url("../img/bg_button_left.gif?20121228") no-repeat; }
#smart_editor2 ul li.last_child button span.tool_bg { right: 0px; _right: -1px; width: 2px; background: url("../img/bg_button_right.gif") no-repeat; }
#smart_editor2 ul li.single_child { padding-right: 1px; }
#smart_editor2 ul li.single_child button span.tool_bg { left: 0; background: url("../img/bg_button.gif?20121228") no-repeat; width: 22px; }
#smart_editor2 div.se2_text_tool ul li.hover button span.tool_bg { background-position: 0 -21px; }
#smart_editor2 div.se2_text_tool ul li.active button span.tool_bg, #smart_editor2 div.se2_text_tool ul li.active li.active button span.tool_bg { background-position: 0 -42px; }
#smart_editor2 div.se2_text_tool ul li.active li button span.tool_bg { background-position: 0 0; }
#smart_editor2 ul li.first_child button span.tool_bg,#smart_editor2 ul li.last_child button span.tool_bg,#smart_editor2 ul li.single_child button span.tool_bg{visibility:visible;height:21px}
#smart_editor2 ul li.first_child button span.tool_bg{left:-1px;width:3px;background:url("../img/bg_button_left.gif?20121228") no-repeat}
#smart_editor2 ul li.last_child button span.tool_bg{right:0px;_right:-1px;width:2px;background:url("../img/bg_button_right.gif") no-repeat}
#smart_editor2 ul li.single_child{padding-right:1px}
#smart_editor2 ul li.single_child button span.tool_bg{left:0;background:url("../img/bg_button.gif?20121228") no-repeat;width:22px}
#smart_editor2 div.se2_text_tool ul li.hover button span.tool_bg{background-position:0 -21px}
#smart_editor2 div.se2_text_tool ul li.active button span.tool_bg,#smart_editor2 div.se2_text_tool ul li.active li.active button span.tool_bg{background-position:0 -42px}
#smart_editor2 div.se2_text_tool ul li.active li button span.tool_bg{background-position:0 0}
/* TEXT_TOOLBAR : SUB_MENU */
#smart_editor2 .se2_sub_text_tool { display: none; position: absolute; top: 20px; left: 0; z-index: 40; width: auto; height: 29px; padding: 0 4px 0 0; border: 1px solid #b5b5b5; border-top: 1px solid #9a9a9a; background: #f4f4f4; }
#smart_editor2 .active .se2_sub_text_tool { display: block; }
#smart_editor2 .se2_sub_text_tool ul { float: left; height: 25px; margin: 0; padding: 4px 0 0 4px; }
#smart_editor2 .se2_sub_text_tool{display:none;position:absolute;top:20px;left:0;z-index:40;width:auto;height:29px;padding:0 4px 0 0;border:1px solid #b5b5b5;border-top:1px solid #9a9a9a;background:#f4f4f4}
#smart_editor2 .active .se2_sub_text_tool{display:block}
#smart_editor2 .se2_sub_text_tool ul{float:left;height:25px;margin:0;padding:4px 0 0 4px}
/* TEXT_TOOLBAR : SUB_MENU_SIZE */
#smart_editor2 .se2_sub_step1 { width: 88px; }
#smart_editor2 .se2_sub_step2 { width: 199px; }
#smart_editor2 .se2_sub_step2_1 { width: 178px; }
#smart_editor2 .se2_sub_step1{width:88px}
#smart_editor2 .se2_sub_step2{width:199px}
#smart_editor2 .se2_sub_step2_1{width:178px}
/* TEXT_TOOLBAR : BUTTON */
#smart_editor2 .se2_text_tool .se2_font_family { width: 70px; height: 21px; background-position: 0 -10px; }
#smart_editor2 .se2_text_tool .hover .se2_font_family { background-position: 0 -72px; }
#smart_editor2 .se2_text_tool .active .se2_font_family { background-position: 0 -103px; }
#smart_editor2 .se2_text_tool .se2_font_size { width: 45px; height: 21px; background-position: -70px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_font_size { background-position: -70px -72px; }
#smart_editor2 .se2_text_tool .active .se2_font_size { background-position: -70px -103px; }
#smart_editor2 .se2_text_tool .se2_bold { background-position: -115px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_bold { background-position: -115px -72px; }
#smart_editor2 .se2_text_tool .active .se2_bold { background-position: -115px -103px; }
#smart_editor2 .se2_text_tool .se2_underline { background-position: -136px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_underline { background-position: -136px -72px; }
#smart_editor2 .se2_text_tool .active .se2_underline { background-position: -136px -103px; }
#smart_editor2 .se2_text_tool .se2_italic { background-position: -157px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_italic { background-position: -157px -72px; }
#smart_editor2 .se2_text_tool .active .se2_italic { background-position: -157px -103px; }
#smart_editor2 .se2_text_tool .se2_tdel { background-position: -178px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_tdel { background-position: -178px -72px; }
#smart_editor2 .se2_text_tool .active .se2_tdel { background-position: -178px -103px; }
#smart_editor2 .se2_text_tool .se2_fcolor { position: relative; background-position: -199px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_fcolor { background-position: -199px -72px; }
#smart_editor2 .se2_text_tool .active .se2_fcolor { background-position: -199px -103px; }
#smart_editor2 .se2_text_tool .se2_fcolor_more { background-position: -220px -10px; width: 10px; }
#smart_editor2 .se2_text_tool .hover .se2_fcolor_more { background-position: -220px -72px; }
#smart_editor2 .se2_text_tool .active .se2_fcolor_more { background-position: -220px -103px; }
#smart_editor2 .se2_text_tool .selected_color { position: absolute; top: 14px; left: 5px; width: 11px; height: 3px; font-size: 0; }
#smart_editor2 .se2_text_tool .se2_ol, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_ol { background-position: -345px -10px; }
#smart_editor2 .se2_text_tool .se2_ul, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_ul { background-position: -366px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_ol, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_ol { background-position: -345px -72px; }
#smart_editor2 .se2_text_tool .hover .se2_ul, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_ul { background-position: -366px -72px; }
#smart_editor2 .se2_text_tool .active .se2_ol, #smart_editor2 .se2_text_tool .active .active .se2_ol { background-position: -345px -103px; }
#smart_editor2 .se2_text_tool .active .se2_ul, #smart_editor2 .se2_text_tool .active .active .se2_ul { background-position: -366px -103px; }
#smart_editor2 .se2_text_tool .se2_indent, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_indent { background-position: -408px -10px; }
#smart_editor2 .se2_text_tool .se2_outdent, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_outdent { background-position: -387px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_indent, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_indent { background-position: -408px -72px; }
#smart_editor2 .se2_text_tool .hover .se2_outdent, #smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_outdent { background-position: -387px -72px; }
#smart_editor2 .se2_text_tool .active .se2_indent, #smart_editor2 .se2_text_tool .active .active .se2_indent { background-position: -408px -103px; }
#smart_editor2 .se2_text_tool .active .se2_outdent, #smart_editor2 .se2_text_tool .active .active .se2_outdent { background-position: -387px -103px; }
#smart_editor2 .se2_text_tool .se2_lineheight { background-position: -429px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_lineheight { background-position: -429px -72px; }
#smart_editor2 .se2_text_tool .active .se2_lineheight { background-position: -429px -103px; }
#smart_editor2 .se2_text_tool .se2_url { background-position: -513px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_url { background-position: -513px -72px; }
#smart_editor2 .se2_text_tool .active .se2_url { background-position: -513px -103px; }
#smart_editor2 .se2_text_tool .se2_bgcolor { position: relative; background-position: -230px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_bgcolor { background-position: -230px -72px; }
#smart_editor2 .se2_text_tool .active .se2_bgcolor { background-position: -230px -103px; }
#smart_editor2 .se2_text_tool .se2_bgcolor_more { background-position: -251px -10px; width: 10px; }
#smart_editor2 .se2_text_tool .hover .se2_bgcolor_more { background-position: -251px -72px; }
#smart_editor2 .se2_text_tool .active .se2_bgcolor_more { background-position: -251px -103px; }
#smart_editor2 .se2_text_tool .se2_left { background-position: -261px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_left { background-position: -261px -72px; }
#smart_editor2 .se2_text_tool .active .se2_left { background-position: -261px -103px; }
#smart_editor2 .se2_text_tool .se2_center { background-position: -282px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_center { background-position: -282px -72px; }
#smart_editor2 .se2_text_tool .active .se2_center { background-position: -282px -103px; }
#smart_editor2 .se2_text_tool .se2_right { background-position: -303px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_right { background-position: -303px -72px; }
#smart_editor2 .se2_text_tool .active .se2_right { background-position: -303px -103px; }
#smart_editor2 .se2_text_tool .se2_justify { background-position: -324px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_justify { background-position: -324px -72px; }
#smart_editor2 .se2_text_tool .active .se2_justify { background-position: -324px -103px; }
#smart_editor2 .se2_text_tool .se2_blockquote { background-position: -471px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_blockquote { background-position: -471px -72px; }
#smart_editor2 .se2_text_tool .active .se2_blockquote { background-position: -471px -103px; }
#smart_editor2 .se2_text_tool .se2_character { background-position: -555px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_character { background-position: -555px -72px; }
#smart_editor2 .se2_text_tool .active .se2_character { background-position: -555px -103px; }
#smart_editor2 .se2_text_tool .se2_table { background-position: -576px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_table { background-position: -576px -72px; }
#smart_editor2 .se2_text_tool .active .se2_table { background-position: -576px -103px; }
#smart_editor2 .se2_text_tool .se2_find { background-position: -597px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_find { background-position: -597px -72px; }
#smart_editor2 .se2_text_tool .active .se2_find { background-position: -597px -103px; }
#smart_editor2 .se2_text_tool .se2_sup { background-position: -660px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_sup { background-position: -660px -72px; }
#smart_editor2 .se2_text_tool .active .se2_sup { background-position: -660px -103px; }
#smart_editor2 .se2_text_tool .se2_sub { background-position: -681px -10px; }
#smart_editor2 .se2_text_tool .hover .se2_sub { background-position: -681px -72px; }
#smart_editor2 .se2_text_tool .active .se2_sub { background-position: -681px -103px; }
#smart_editor2 .se2_text_tool .se2_text_tool_more { background-position: 0 -41px; width: 13px; }
#smart_editor2 .se2_text_tool .se2_text_tool_more span.tool_bg { background: none; }
#smart_editor2 .se2_text_tool .hover .se2_text_tool_more { background-position: -13px -41px; }
#smart_editor2 .se2_text_tool .active .se2_text_tool_more { background-position: -26px -41px; }
#smart_editor2 .se2_text_tool .se2_font_family{width:70px;height:21px;background-position:0 -10px}
#smart_editor2 .se2_text_tool .hover .se2_font_family{background-position:0 -72px}
#smart_editor2 .se2_text_tool .active .se2_font_family{background-position:0 -103px}
#smart_editor2 .se2_text_tool .se2_font_size{width:45px;height:21px;background-position:-70px -10px}
#smart_editor2 .se2_text_tool .hover .se2_font_size{background-position:-70px -72px}
#smart_editor2 .se2_text_tool .active .se2_font_size{background-position:-70px -103px}
#smart_editor2 .se2_text_tool .se2_bold{background-position:-115px -10px}
#smart_editor2 .se2_text_tool .hover .se2_bold{background-position:-115px -72px}
#smart_editor2 .se2_text_tool .active .se2_bold{background-position:-115px -103px}
#smart_editor2 .se2_text_tool .se2_underline{background-position:-136px -10px}
#smart_editor2 .se2_text_tool .hover .se2_underline{background-position:-136px -72px}
#smart_editor2 .se2_text_tool .active .se2_underline{background-position:-136px -103px}
#smart_editor2 .se2_text_tool .se2_italic{background-position:-157px -10px}
#smart_editor2 .se2_text_tool .hover .se2_italic{background-position:-157px -72px}
#smart_editor2 .se2_text_tool .active .se2_italic{background-position:-157px -103px}
#smart_editor2 .se2_text_tool .se2_tdel{background-position:-178px -10px}
#smart_editor2 .se2_text_tool .hover .se2_tdel{background-position:-178px -72px}
#smart_editor2 .se2_text_tool .active .se2_tdel{background-position:-178px -103px}
#smart_editor2 .se2_text_tool .se2_fcolor{position:relative;background-position:-199px -10px}
#smart_editor2 .se2_text_tool .hover .se2_fcolor{background-position:-199px -72px}
#smart_editor2 .se2_text_tool .active .se2_fcolor{background-position:-199px -103px}
#smart_editor2 .se2_text_tool .se2_fcolor_more{background-position:-220px -10px;width:10px}
#smart_editor2 .se2_text_tool .hover .se2_fcolor_more{background-position:-220px -72px}
#smart_editor2 .se2_text_tool .active .se2_fcolor_more{background-position:-220px -103px}
#smart_editor2 .se2_text_tool .selected_color{position:absolute;top:14px;left:5px;width:11px;height:3px;font-size:0}
#smart_editor2 .se2_text_tool .se2_ol,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_ol{background-position:-345px -10px}
#smart_editor2 .se2_text_tool .se2_ul,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_ul{background-position:-366px -10px}
#smart_editor2 .se2_text_tool .hover .se2_ol,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_ol{background-position:-345px -72px}
#smart_editor2 .se2_text_tool .hover .se2_ul,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_ul{background-position:-366px -72px}
#smart_editor2 .se2_text_tool .active .se2_ol,#smart_editor2 .se2_text_tool .active .active .se2_ol{background-position:-345px -103px}
#smart_editor2 .se2_text_tool .active .se2_ul,#smart_editor2 .se2_text_tool .active .active .se2_ul{background-position:-366px -103px}
#smart_editor2 .se2_text_tool .se2_indent,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_indent{background-position:-408px -10px}
#smart_editor2 .se2_text_tool .se2_outdent,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_outdent{background-position:-387px -10px}
#smart_editor2 .se2_text_tool .hover .se2_indent,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_indent{background-position:-408px -72px}
#smart_editor2 .se2_text_tool .hover .se2_outdent,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_outdent{background-position:-387px -72px}
#smart_editor2 .se2_text_tool .active .se2_indent,#smart_editor2 .se2_text_tool .active .active .se2_indent{background-position:-408px -103px}
#smart_editor2 .se2_text_tool .active .se2_outdent,#smart_editor2 .se2_text_tool .active .active .se2_outdent{background-position:-387px -103px}
#smart_editor2 .se2_text_tool .se2_lineheight{background-position:-429px -10px}
#smart_editor2 .se2_text_tool .hover .se2_lineheight{background-position:-429px -72px}
#smart_editor2 .se2_text_tool .active .se2_lineheight{background-position:-429px -103px}
#smart_editor2 .se2_text_tool .se2_url{background-position:-513px -10px}
#smart_editor2 .se2_text_tool .hover .se2_url{background-position:-513px -72px}
#smart_editor2 .se2_text_tool .active .se2_url{background-position:-513px -103px}
#smart_editor2 .se2_text_tool .se2_bgcolor{position:relative;background-position:-230px -10px}
#smart_editor2 .se2_text_tool .hover .se2_bgcolor{background-position:-230px -72px}
#smart_editor2 .se2_text_tool .active .se2_bgcolor{background-position:-230px -103px}
#smart_editor2 .se2_text_tool .se2_bgcolor_more{background-position:-251px -10px;width:10px}
#smart_editor2 .se2_text_tool .hover .se2_bgcolor_more{background-position:-251px -72px}
#smart_editor2 .se2_text_tool .active .se2_bgcolor_more{background-position:-251px -103px}
#smart_editor2 .se2_text_tool .se2_left{background-position:-261px -10px}
#smart_editor2 .se2_text_tool .hover .se2_left{background-position:-261px -72px}
#smart_editor2 .se2_text_tool .active .se2_left{background-position:-261px -103px}
#smart_editor2 .se2_text_tool .se2_center{background-position:-282px -10px}
#smart_editor2 .se2_text_tool .hover .se2_center{background-position:-282px -72px}
#smart_editor2 .se2_text_tool .active .se2_center{background-position:-282px -103px}
#smart_editor2 .se2_text_tool .se2_right{background-position:-303px -10px}
#smart_editor2 .se2_text_tool .hover .se2_right{background-position:-303px -72px}
#smart_editor2 .se2_text_tool .active .se2_right{background-position:-303px -103px}
#smart_editor2 .se2_text_tool .se2_justify{background-position:-324px -10px}
#smart_editor2 .se2_text_tool .hover .se2_justify{background-position:-324px -72px}
#smart_editor2 .se2_text_tool .active .se2_justify{background-position:-324px -103px}
#smart_editor2 .se2_text_tool .se2_blockquote{background-position:-471px -10px}
#smart_editor2 .se2_text_tool .hover .se2_blockquote{background-position:-471px -72px}
#smart_editor2 .se2_text_tool .active .se2_blockquote{background-position:-471px -103px}
#smart_editor2 .se2_text_tool .se2_character{background-position:-555px -10px}
#smart_editor2 .se2_text_tool .hover .se2_character{background-position:-555px -72px}
#smart_editor2 .se2_text_tool .active .se2_character{background-position:-555px -103px}
#smart_editor2 .se2_text_tool .se2_table{background-position:-576px -10px}
#smart_editor2 .se2_text_tool .hover .se2_table{background-position:-576px -72px}
#smart_editor2 .se2_text_tool .active .se2_table{background-position:-576px -103px}
#smart_editor2 .se2_text_tool .se2_find{background-position:-597px -10px}
#smart_editor2 .se2_text_tool .hover .se2_find{background-position:-597px -72px}
#smart_editor2 .se2_text_tool .active .se2_find{background-position:-597px -103px}
#smart_editor2 .se2_text_tool .se2_sup{background-position:-660px -10px}
#smart_editor2 .se2_text_tool .hover .se2_sup{background-position:-660px -72px}
#smart_editor2 .se2_text_tool .active .se2_sup{background-position:-660px -103px}
#smart_editor2 .se2_text_tool .se2_sub{background-position:-681px -10px}
#smart_editor2 .se2_text_tool .hover .se2_sub{background-position:-681px -72px}
#smart_editor2 .se2_text_tool .active .se2_sub{background-position:-681px -103px}
#smart_editor2 .se2_text_tool .se2_text_tool_more{background-position:0 -41px;width:13px}
#smart_editor2 .se2_text_tool .se2_text_tool_more span.tool_bg{background:none}
#smart_editor2 .se2_text_tool .hover .se2_text_tool_more{background-position:-13px -41px}
#smart_editor2 .se2_text_tool .active .se2_text_tool_more{background-position:-26px -41px}
@@ -1,34 +1,21 @@
@charset "UTF-8";
/* NHN Web Standardization Team (http://html.nhndesign.com/) HHJ 090226 */
/* COMMON */
body, .se2_inputarea { margin: 0; padding: 0; font-family: '돋움',Dotum,Helvetica,Sans-serif; font-size: 12px; line-height: 1.5; }
/* body,.se2_inputarea,.se2_inputarea th,.se2_inputarea td{margin:0;padding:0;font-family:'돋움',Dotum,Helvetica,Sans-serif;font-size:12px;line-height:1.5;color:#666} */
.se2_inputarea p, .se2_inputarea br { margin: 0; padding: 0; }
.se2_inputarea { margin: 15px; word-wrap: break-word; *word-wrap: normal; *word-break: break-all; }
.se2_inputarea_890 { width: 741px; margin: 20px 0 10px 64px; }
.se2_inputarea_698 { width: 548px; margin: 20px 0 10px 64px; }
/* TEXT_TOOLBAR : QUOTE */
.se2_quote1 { margin: 0 0 30px 20px; padding: 0 8px; border-left: 2px solid #ccc; color: #888; }
.se2_quote2 { margin: 0 0 30px 13px; padding: 0 8px 0 16px; background: url("../img/bg_quote2.gif") 0 3px no-repeat; color: #888; }
.se2_quote3 { margin: 0 0 30px; padding: 12px 10px 11px; border: 1px dashed #ccc; color: #888; }
.se2_quote4 { margin: 0 0 30px; padding: 12px 10px 11px; border: 1px dashed #66b246; color: #888; }
.se2_quote5 { margin: 0 0 30px; padding: 12px 10px 11px; border: 1px dashed #ccc; background: #fafafa; color: #888; }
.se2_quote6 { margin: 0 0 30px; padding: 12px 10px 11px; border: 1px solid #e5e5e5; color: #888; }
.se2_quote7 { margin: 0 0 30px; padding: 12px 10px 11px; border: 1px solid #66b246; color: #888; }
.se2_quote8 { margin: 0 0 30px; padding: 12px 10px 11px; border: 1px solid #e5e5e5; background: #fafafa; color: #888; }
.se2_quote9 { margin: 0 0 30px; padding: 12px 10px 11px; border: 2px solid #e5e5e5; color: #888; }
.se2_quote10 { margin: 0 0 30px; padding: 12px 10px 11px; border: 2px solid #e5e5e5; background: #fafafa; color: #888; }
@charset "UTF-8";
/* NHN Web Standardization Team (http://html.nhndesign.com/) HHJ 090226 */
/* COMMON */
body,.se2_inputarea{margin:0;padding:0;font-family:'돋움',Dotum,Helvetica,Sans-serif;font-size:12px;line-height:1.5}
/* body,.se2_inputarea,.se2_inputarea th,.se2_inputarea td{margin:0;padding:0;font-family:'돋움',Dotum,Helvetica,Sans-serif;font-size:12px;line-height:1.5;color:#666} */
.se2_inputarea p,.se2_inputarea br{margin:0;padding:0}
.se2_inputarea{margin:15px;word-wrap:break-word;*word-wrap:normal;*word-break:break-all}
.se2_inputarea td{word-break:break-all}
.se2_inputarea_890{width:741px;margin:20px 0 10px 64px}
.se2_inputarea_698{width:548px;margin:20px 0 10px 64px}
/* TEXT_TOOLBAR : QUOTE */
.se2_quote1{margin:0 0 30px 20px;padding:0 8px;border-left:2px solid #ccc;color:#888}
.se2_quote2{margin:0 0 30px 13px;padding:0 8px 0 16px;background:url("../img/bg_quote2.gif") 0 3px no-repeat;color:#888}
.se2_quote3{margin:0 0 30px;padding:12px 10px 11px;border:1px dashed #ccc;color:#888}
.se2_quote4{margin:0 0 30px;padding:12px 10px 11px;border:1px dashed #66b246;color:#888}
.se2_quote5{margin:0 0 30px;padding:12px 10px 11px;border:1px dashed #ccc;background:#fafafa;color:#888}
.se2_quote6{margin:0 0 30px;padding:12px 10px 11px;border:1px solid #e5e5e5;color:#888}
.se2_quote7{margin:0 0 30px;padding:12px 10px 11px;border:1px solid #66b246;color:#888}
.se2_quote8{margin:0 0 30px;padding:12px 10px 11px;border:1px solid #e5e5e5;background:#fafafa;color:#888}
.se2_quote9{margin:0 0 30px;padding:12px 10px 11px;border:2px solid #e5e5e5;color:#888}
.se2_quote10{margin:0 0 30px;padding:12px 10px 11px;border:2px solid #e5e5e5;background:#fafafa;color:#888}
File diff suppressed because it is too large Load Diff
@@ -1,20 +1,12 @@
@charset "UTF-8";
/* NHN Web Standardization Team (http://html.nhndesign.com/) HHJ 090226 */
/* COMMON */
.se2_outputarea, .se2_outputarea th, .se2_outputarea td { margin: 0; padding: 0; color: #666; font-size: 12px; font-family: '돋움',Dotum,'굴림',Gulim,Helvetica,Sans-serif; line-height: 1.5; }
.se2_outputarea p { margin: 0; padding: 0; }
.se2_outputarea a:hover { text-decoration: underline; }
.se2_outputarea a:link { color: #0000ff; }
.se2_outputarea ul { margin: 0 0 0 40px; padding: 0; }
.se2_outputarea ul li { margin: 0; list-style-type: disc; padding: 0; }
.se2_outputarea ul ul li { list-style-type: circle; }
.se2_outputarea ul ul ul li { list-style-type: square; }
.se2_outputarea img, .se2_outputarea fieldset { border: 0; }
.se2_outputarea,.se2_outputarea th,.se2_outputarea td{margin:0;padding:0;color:#666;font-size:12px;font-family:'돋움',Dotum,'굴림',Gulim,Helvetica,Sans-serif;line-height:1.5}
.se2_outputarea p{margin:0;padding:0}
.se2_outputarea a:hover{text-decoration:underline}
.se2_outputarea a:link{color:#0000ff}
.se2_outputarea ul{margin:0 0 0 40px;padding:0}
.se2_outputarea ul li{margin:0;list-style-type:disc;padding:0}
.se2_outputarea ul ul li{list-style-type:circle}
.se2_outputarea ul ul ul li{list-style-type:square}
.se2_outputarea img,.se2_outputarea fieldset{border:0}
+70 -2
View File
@@ -15,7 +15,7 @@ function editor_html($id, $content, $is_dhtml_editor=true)
if ($is_dhtml_editor && $js) {
$html .= "\n".'<script src="'.$editor_url.'/js/HuskyEZCreator.js"></script>';
$html .= "\n".'<script>var g5_editor_url = "'.$editor_url.'", oEditors = [];</script>';
$html .= "\n".'<script>var g5_editor_url = "'.$editor_url.'", oEditors = [], ed_nonce = "'.ft_nonce_create('smarteditor').'";</script>';
$html .= "\n".'<script src="'.$editor_url.'/config.js"></script>';
$html .= "\n<script>";
$html .= '
@@ -38,7 +38,7 @@ function editor_html($id, $content, $is_dhtml_editor=true)
}
$smarteditor_class = $is_dhtml_editor ? "smarteditor2" : "";
$html .= "\n<textarea id=\"$id\" name=\"$id\" class=\"$smarteditor_class\" maxlength=\"65536\" style=\"width:100%\">$content</textarea>";
$html .= "\n<textarea id=\"$id\" name=\"$id\" class=\"$smarteditor_class\" maxlength=\"65536\" style=\"width:100%;height:300px\">$content</textarea>";
$html .= "\n<span class=\"sound_only\">웹 에디터 끝</span>";
return $html;
}
@@ -64,4 +64,72 @@ function chk_editor_js($id, $is_dhtml_editor=true)
return "if (!{$id}_editor.value) { alert(\"내용을 입력해 주십시오.\"); {$id}_editor.focus(); return false; }\n";
}
}
/*
* Name: FT-NONCE-LIB
* Created By: Full Throttle Development, LLC (http://fullthrottledevelopment.com)
* Created On: July 2009
* Last Modified On: August 12, 2009
* Last Modified By: Glenn Ansley (glenn@fullthrottledevelopment.com)
* Version: 0.2
*/
/*
Copyright 2009 Full Throttle Development, LLC
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
if (!defined('FT_NONCE_UNIQUE_KEY'))
define( 'FT_NONCE_UNIQUE_KEY' , sha1(G5_MYSQL_USER) );
if (!defined('FT_NONCE_DURATION'))
define( 'FT_NONCE_DURATION' , 2160000 ); // 300 makes link or form good for 5 minutes from time of generation, 300은 5분간 유효, 2160000은 10시간동안 유효
if (!defined('FT_NONCE_KEY'))
define( 'FT_NONCE_KEY' , '_nonce' );
// This method creates a key / value pair for a url string
if(!function_exists('ft_nonce_create_query_string')){
function ft_nonce_create_query_string( $action = '' , $user = '' ){
return FT_NONCE_KEY."=".ft_nonce_create( $action , $user );
}
}
// This method creates an nonce. It should be called by one of the previous two functions.
if(!function_exists('ft_nonce_create')){
function ft_nonce_create( $action = '' , $user='' ){
return substr( ft_nonce_generate_hash( $action . $user ), -12, 10);
}
}
// This method validates an nonce
if(!function_exists('ft_nonce_is_valid')){
function ft_nonce_is_valid( $nonce , $action = '' , $user='' ){
// Nonce generated 0-12 hours ago
if ( substr(ft_nonce_generate_hash( $action . $user ), -12, 10) == $nonce ){
return true;
}
return false;
}
}
// This method generates the nonce timestamp
if(!function_exists('ft_nonce_generate_hash')){
function ft_nonce_generate_hash( $action='' , $user='' ){
$i = ceil( time() / ( FT_NONCE_DURATION / 2 ) );
return md5( $i . $action . $user . $action );
}
}
?>
@@ -10,7 +10,6 @@ function createSEditor2(elIRField, htParams, elSeAppContainer){
var oIRTextarea = elIRField?elIRField:jindo.$$.getSingle("TEXTAREA.blind", elEditingArea);
var oHTMLSrc = jindo.$$.getSingle("TEXTAREA.se2_input_htmlsrc", elEditingArea);
var oTextArea = jindo.$$.getSingle("TEXTAREA.se2_input_text", elEditingArea);
var sEditorMode = "open";
if(!htParams){
htParams = {};
@@ -24,7 +23,7 @@ function createSEditor2(elIRField, htParams, elSeAppContainer){
oEditor.registerPlugin(new nhn.husky.StringConverterManager());
var htDimension = {
nMinHeight:320,
nMinHeight:205,
nMinWidth:parseInt(elIRField.style.minWidth, 10)||570,
nHeight:elIRField.style.height||elIRField.offsetHeight,
nWidth:elIRField.style.width||elIRField.offsetWidth
@@ -56,7 +55,6 @@ function createSEditor2(elIRField, htParams, elSeAppContainer){
oEditor.registerPlugin(new nhn.husky.ActiveLayerManager());
oEditor.registerPlugin(new nhn.husky.SE_WYSIWYGStyleGetter()); // 커서 위치 스타일 정보 가져오기
oEditor.registerPlugin(new nhn.husky.SE2B_Customize_ToolBar(elAppContainer)); // 상단 툴바 (Basic)
oEditor.registerPlugin(new nhn.husky.SE_WYSIWYGEnterKey("P")); // 엔터 시 처리, 현재는 P로 처리
oEditor.registerPlugin(new nhn.husky.SE2M_ColorPalette(elAppContainer)); // 색상 팔레트
@@ -76,16 +74,22 @@ function createSEditor2(elIRField, htParams, elSeAppContainer){
oEditor.registerPlugin(new nhn.husky.SE2M_TableCreator(elAppContainer)); // 테이블 생성
oEditor.registerPlugin(new nhn.husky.SE2M_TableEditor(elAppContainer)); // 테이블 편집
oEditor.registerPlugin(new nhn.husky.SE2M_TableBlockStyler(elAppContainer)); // 테이블 스타일
oEditor.registerPlugin(new nhn.husky.SE2M_AttachQuickPhoto(elAppContainer)); // 사진
if(nhn.husky.SE2M_AttachQuickPhoto){
oEditor.registerPlugin(new nhn.husky.SE2M_AttachQuickPhoto(elAppContainer)); // 사진
}
oEditor.registerPlugin(new nhn.husky.MessageManager(oMessageMap));
oEditor.registerPlugin(new nhn.husky.SE2M_QuickEditor_Common(elAppContainer)); // 퀵에디터 공통(표, 이미지)
oEditor.registerPlugin(new nhn.husky.SE2B_CSSLoader()); // CSS lazy load
oEditor.registerPlugin(new nhn.husky.SE_OuterIFrameControl(elAppContainer, 100));
if(window.frameElement){
oEditor.registerPlugin(new nhn.husky.SE_OuterIFrameControl(elAppContainer, 100));
}
oEditor.registerPlugin(new nhn.husky.SE_ToolbarToggler(elAppContainer, htParams.bUseToolbar));
oEditor.registerPlugin(new nhn.husky.SE2M_Accessibility(elAppContainer)); // 에디터내의 웹접근성 관련 기능모음 플러그인
oEditor.registerPlugin(new nhn.husky.SE2B_Customize_ToolBar(elAppContainer)); // 2.3 버젼에 있는 툴바 이용
return oEditor;
}
@@ -0,0 +1,149 @@
/*
* Smart Editor 2 Configuration : This setting must be changed by service
*/
window.nhn = window.nhn || {};
nhn.husky = nhn.husky || {};
nhn.husky.SE2M_Configuration = nhn.husky.SE2M_Configuration || {};
/**
* CSS LazyLoad를 위한 경로
*/
nhn.husky.SE2M_Configuration.SE2B_CSSLoader = {
sCSSBaseURI : "css"
};
/**
* 편집영역 설정
*/
nhn.husky.SE2M_Configuration.SE_EditingAreaManager = {
sCSSBaseURI : "css", // smart_editor2_inputarea.html 파일의 상대경로
sBlankPageURL : "smart_editor2_inputarea.html",
sBlankPageURL_EmulateIE7 : "smart_editor2_inputarea_ie8.html",
aAddtionalEmulateIE7 : [] // IE8 default 사용, IE9 ~ 선택적 사용
};
/**
* [웹접근성]
* 단축키 ALT+, ALT+. 을 이용하여 스마트에디터 영역의 이전/이후 요소로 이동할 수 있다.
* sBeforeElementId : 스마트에디터 영역 이전 요소의 id
* sNextElementId : 스마트에디터 영역 이후 요소의 id
*
* 스마트에디터 영역 이외의 제목 영역 (예:스마트에디터가 적용된 블로그 쓰기 페이지에서의 제목 영역) 에 해당하는 엘리먼트에서 Tab키를 누르면 에디팅 영역으로 포커스를 이동시킬 수 있다.
* sTitleElementId : 제목에 해당하는 input 요소의 id.
*/
nhn.husky.SE2M_Configuration.SE2M_Accessibility = {
ed_nonce : (typeof parent.ed_nonce !='undefined') ? parent.ed_nonce : '',
sBeforeElementId : '',
sNextElementId : '',
sTitleElementId : ''
};
/**
* 링크 기능 옵션
*/
nhn.husky.SE2M_Configuration.SE2M_Hyperlink = {
bAutolink : true // 자동링크기능 사용여부(기본값:true)
};
nhn.husky.SE2M_Configuration.Quote = {
sImageBaseURL : 'http://static.se2.naver.com/static/img'
};
nhn.husky.SE2M_Configuration.SE2M_ColorPalette = {
bAddRecentColorFromDefault : false
};
nhn.husky.SE2B_Customize_ToolBar = jindo.$Class(/** @lends nhn.husky.SE2B_Customize_ToolBar */{
name : "SE2B_Customize_ToolBar",
/**
* @constructs
* @param {Object} oAppContainer 에디터를 구성하는 컨테이너
*/
$init : function(oAppContainer) {
this._assignHTMLElements(oAppContainer);
},
$BEFORE_MSG_APP_READY : function(){
this._addEventMoreButton();
},
/**
* @private
* @description DOM엘리먼트를 수집하는 메소드
* @param {Object} oAppContainer 툴바 포함 에디터를 감싸고 있는 div 엘리먼트
*/
_assignHTMLElements : function(oAppContainer) {
this.oAppContainer = oAppContainer;
this.elTextToolBarArea = jindo.$$.getSingle("div.se2_tool");
this.elTextMoreButton = jindo.$$.getSingle("button.se2_text_tool_more", this.elTextToolBarArea);
this.elTextMoreButtonParent = this.elTextMoreButton.parentNode;
this.welTextMoreButtonParent = jindo.$Element(this.elTextMoreButtonParent);
this.elMoreLayer = jindo.$$.getSingle("div.se2_sub_text_tool");
},
_addEventMoreButton : function (){
this.oApp.registerBrowserEvent(this.elTextMoreButton, "click", "EVENT_CLICK_EXPAND_VIEW");
this.oApp.registerBrowserEvent(this.elMoreLayer, "click", "EVENT_CLICK_EXPAND_VIEW");
},
$ON_EVENT_CLICK_EXPAND_VIEW : function(weEvent){
this.oApp.exec("TOGGLE_EXPAND_VIEW", [this.elTextMoreButton]);
weEvent.stop();
},
$ON_TOGGLE_EXPAND_VIEW : function(){
if(!this.welTextMoreButtonParent.hasClass("active")){
this.oApp.exec("SHOW_EXPAND_VIEW");
} else {
this.oApp.exec("HIDE_EXPAND_VIEW");
}
},
$ON_CHANGE_EDITING_MODE : function(sMode){
if(sMode != "WYSIWYG"){
this.elTextMoreButton.disabled =true;
this.welTextMoreButtonParent.removeClass("active");
this.oApp.exec("HIDE_EXPAND_VIEW");
}else{
this.elTextMoreButton.disabled =false;
}
},
$AFTER_SHOW_ACTIVE_LAYER : function(){
this.oApp.exec("HIDE_EXPAND_VIEW");
},
$AFTER_SHOW_DIALOG_LAYER : function(){
this.oApp.exec("HIDE_EXPAND_VIEW");
},
$ON_SHOW_EXPAND_VIEW : function(){
this.welTextMoreButtonParent.addClass("active");
this.elMoreLayer.style.display = "block";
},
$ON_HIDE_EXPAND_VIEW : function(){
this.welTextMoreButtonParent.removeClass("active");
this.elMoreLayer.style.display = "none";
},
/**
* CHANGE_EDITING_MODE모드 이후에 호출되어야 함.
* WYSIWYG 모드가 활성화되기 전에 호출이 되면 APPLY_FONTCOLOR에서 에러 발생.
*/
$ON_RESET_TOOLBAR : function(){
if(this.oApp.getEditingMode() !== "WYSIWYG"){
return;
}
//스펠체크 닫기
this.oApp.exec("END_SPELLCHECK");
//열린 팝업을 닫기 위해서
this.oApp.exec("DISABLE_ALL_UI");
this.oApp.exec("ENABLE_ALL_UI");
//글자색과 글자 배경색을 제외한 세팅
this.oApp.exec("RESET_STYLE_STATUS");
this.oApp.exec("CHECK_STYLE_CHANGE");
//최근 사용한 글자색 셋팅.
this.oApp.exec("APPLY_FONTCOLOR", ["#000000"]);
//더보기 영역 닫기.
this.oApp.exec("HIDE_EXPAND_VIEW");
}
});
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
<?php
include_once("../../../../../common.php");
?>
@@ -1,4 +1,6 @@
<?php
//사용하지 않으니 막아놓겠습니다.
exit;
include_once("../../../../../common.php");
// default redirection
$url = $_REQUEST["callback"].'?callback_func='.$_REQUEST["callback_func"];
@@ -1,4 +1,6 @@
<?php
//사용하지 않으니 막아놓겠습니다.
exit;
include_once("../../../../../common.php");
$ym = date('ym', G5_SERVER_TIME);
@@ -59,6 +59,6 @@
<!-- The basic File Upload plugin -->
<script src="./js/jquery.fileupload.js?v=140715"></script>
<script src="./js/basic.js"></script>
<script src="./js/basic.js?v3"></script>
</body>
</html>
@@ -8,9 +8,16 @@ jQuery.fn.bindAll = function(options) {
jQuery(function ($) {
'use strict';
var ed_nonce = '';
if( !!opener && !!opener.window && !!opener.window.nhn ){
ed_nonce = opener.window.nhn.husky.SE2M_Configuration.SE2M_Accessibility.ed_nonce;
}
// Change this to the location of your server-side upload handler:
var gnu = {
url : './php/',
url : './php/?_nonce='+ed_nonce,
container_el : 'body',
dreg_area : '#drag_area',
dreg_area_list : '#drag_area > ul',
@@ -29,13 +29,30 @@ $data_url = G5_DATA_URL.'/editor/'.$ym.'/';
@mkdir($data_dir, G5_DIR_PERMISSION);
@chmod($data_dir, G5_DIR_PERMISSION);
require('UploadHandler.php');
$options = array(
'upload_dir' => $data_dir,
'upload_url' => $data_url,
// This option will disable creating thumbnail images and will not create that extra folder.
// However, due to this, the images preview will not be displayed after upload
'image_versions' => array()
);
if(!function_exists('ft_nonce_is_valid')){
include_once('../../../editor.lib.php');
}
$upload_handler = new UploadHandler($options);
$is_editor_upload = false;
if( isset($_GET['_nonce']) && ft_nonce_is_valid( $_GET['_nonce'] , 'smarteditor' ) ){
$is_editor_upload = true;
}
if( $is_editor_upload ) {
require('UploadHandler.php');
$options = array(
'upload_dir' => $data_dir,
'upload_url' => $data_url,
// This option will disable creating thumbnail images and will not create that extra folder.
// However, due to this, the images preview will not be displayed after upload
'image_versions' => array()
);
$upload_handler = new UploadHandler($options);
} else {
echo json_encode(array('files'=>array('0'=>array('error'=>'정상적인 업로드가 아닙니다.'))));
exit;
}
-33
View File
@@ -1,33 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Smart Editor&#8482; WYSIWYG Mode</title>
<link href="../../css/compiled/open/ko_KR/smart_editor2_in.css" rel="stylesheet" type="text/css">
</head>
<body class="smartOutput se2_inputarea">
<p>
<b><u>에디터 내용:</u></b>
</p>
<div style="width:736px;">
<?php
$postMessage = $_POST["ir1"];
echo $postMessage;
?>
</div>
<hr>
<p>
<b><span style="color:#FF0000">주의: </span>sample.php는 샘플 파일로 정상 동작하지 않을 수 있습니다. 이 점 주의바랍니다.</b>
</p>
<?php echo(htmlspecialchars_decode('&lt;img id="test" width="0" height="0"&gt;'))?>
<script>
if(!document.getElementById("test")) {
alert("PHP가 실행되지 않았습니다. 내용을 로컬 파일로 전송한 것이 아니라 서버로 전송했는지 확인 해 주십시오.");
}
</script>
</body>
</html>
@@ -1,8 +1,8 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta charset="utf-8">
<title>Smart Editor&#8482; WYSIWYG Mode</title>
</head>
<body class="se2_inputarea" style="height:0"></body>
<body class="se2_inputarea" style="height:0;-webkit-nbsp-mode:normal"></body>
</html>
+8 -1
View File
@@ -25,7 +25,14 @@ $mbphnNo = 'x'; // 휴대폰번호 (고정
$svcTxSeqno = get_uniqid(); // 거래번호. 동일문자열을 두번 사용할 수 없음. ( 20자리의 문자열. 0-9,A-Z,a-z 사용.)
$clientIp = $_SERVER['SERVER_ADDR']; // 회원사 IP, $_SERVER["SERVER_ADDR"] 사용가능.
$clientDomain = $_SERVER['HTTP_HOST']; // 회원사 도메인, $_SERVER["HTTP_HOST"] 사용가능.
//$clientDomain = $_SERVER['HTTP_HOST']; // 회원사 도메인, $_SERVER["HTTP_HOST"] 사용가능.
$p = @parse_url($_SERVER['HTTP_HOST']);
if(isset($p['host']) && $p['host'])
$clientDomain = $p['host'];
else
$clientDomain = $_SERVER['SERVER_NAME'];
unset($p);
$rsv1 = '0'; // 예약 항목
$rsv2 = '0'; // 예약 항목
+2 -1
View File
@@ -9,7 +9,8 @@ include_once('./hpcert.config.php');
**************************************************************************/
/* 공통 리턴 항목 */
$idcfMbrComCd = $_POST['idcf_mbr_com_cd']; // 고객사코드
//$idcfMbrComCd = $_POST['idcf_mbr_com_cd']; // 고객사코드
$idcfMbrComCd = $memId;
$hsCertSvcTxSeqno = $_POST['hs_cert_svc_tx_seqno']; // 거래번호
$rqstSiteNm = $_POST['rqst_site_nm']; // 접속도메인
$hsCertRqstCausCd = $_POST['hs_cert_rqst_caus_cd']; // 인증요청사유코드 2byte (00:회원가입, 01:성인인증, 02:회원정보수정, 03:비밀번호찾기, 04:상품구매, 99:기타)
+3 -1
View File
@@ -59,8 +59,10 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
if($w == 'cu') {
$sql = " select wr_id, wr_content from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$sql = " select wr_id, wr_content, mb_id from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$cmt = sql_fetch($sql);
if (!($is_admin || ($member['mb_id'] == $cmt['mb_id'] && $cmt['mb_id'])))
$cmt['wr_content'] = '';
$c_wr_content = $cmt['wr_content'];
}
+3 -1
View File
@@ -59,8 +59,10 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
if($w == 'cu') {
$sql = " select wr_id, wr_content from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$sql = " select wr_id, wr_content, mb_id from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$cmt = sql_fetch($sql);
if (!($is_admin || ($member['mb_id'] == $cmt['mb_id'] && $cmt['mb_id'])))
$cmt['wr_content'] = '';
$c_wr_content = $cmt['wr_content'];
}
-1
View File
@@ -12,7 +12,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
<form name="fformmail" action="./formmail_send.php" onsubmit="return fformmail_submit(this);" method="post" enctype="multipart/form-data" style="margin:0px;">
<input type="hidden" name="to" value="<?php echo $email ?>">
<input type="hidden" name="attach" value="2">
<input type="hidden" name="token" value="<?php echo $token ?>">
<?php if ($is_member) { // 회원이면 ?>
<input type="hidden" name="fnick" value="<?php echo get_text($member['mb_nick']); ?>">
<input type="hidden" name="fmail" value="<?php echo $member['mb_email'] ?>">
+2 -5
View File
@@ -61,11 +61,6 @@ var g5_bo_table = "<?php echo isset($bo_table)?$bo_table:''; ?>";
var g5_sca = "<?php echo isset($sca)?$sca:''; ?>";
var g5_editor = "<?php echo ($config['cf_editor'] && $board['bo_use_dhtml_editor'])?$config['cf_editor']:''; ?>";
var g5_cookie_domain = "<?php echo G5_COOKIE_DOMAIN ?>";
<?php
if ($is_admin) {
echo 'var g5_admin_url = "'.G5_ADMIN_URL.'";'.PHP_EOL;
}
?>
</script>
<script src="<?php echo G5_JS_URL ?>/jquery-1.8.3.min.js"></script>
<script src="<?php echo G5_JS_URL ?>/jquery.menu.js"></script>
@@ -75,6 +70,8 @@ if ($is_admin) {
if(G5_IS_MOBILE) {
echo '<script src="'.G5_JS_URL.'/modernizr.custom.70111.js"></script>'.PHP_EOL; // overflow scroll 감지
}
if(!defined('G5_IS_ADMIN'))
echo $config['cf_add_script'];
?>
</head>
<body>
@@ -53,8 +53,10 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
if($w == 'cu') {
$sql = " select wr_id, wr_content from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$sql = " select wr_id, wr_content, mb_id from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$cmt = sql_fetch($sql);
if (!($is_admin || ($member['mb_id'] == $cmt['mb_id'] && $cmt['mb_id'])))
$cmt['wr_content'] = '';
$c_wr_content = $cmt['wr_content'];
}
@@ -53,8 +53,10 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
if($w == 'cu') {
$sql = " select wr_id, wr_content from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$sql = " select wr_id, wr_content, mb_id from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$cmt = sql_fetch($sql);
if (!($is_admin || ($member['mb_id'] == $cmt['mb_id'] && $cmt['mb_id'])))
$cmt['wr_content'] = '';
$c_wr_content = $cmt['wr_content'];
}
@@ -11,7 +11,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
<form name="fformmail" action="./formmail_send.php" onsubmit="return fformmail_submit(this);" method="post" enctype="multipart/form-data" style="margin:0px;">
<input type="hidden" name="to" value="<?php echo $email ?>">
<input type="hidden" name="attach" value="2">
<input type="hidden" name="token" value="<?php echo $token ?>">
<?php if ($is_member) { // 회원이면 ?>
<input type="hidden" name="fnick" value="<?php echo get_text($member['mb_nick']); ?>">
<input type="hidden" name="fmail" value="<?php echo $member['mb_email'] ?>">
@@ -135,7 +135,8 @@
#memo_list_ul {margin:0 20px;padding:0;border-top:1px solid #e9e9e9;list-style:none}
#memo_list_ul li {position:relative;padding:10px 0;border-bottom:1px solid #e9e9e9}
#memo_list_ul .memo_link {}
#memo_list_ul .memo_send {position:absolute;top:10px;right:30px}
#memo_list_ul .memo_send {display:block;margin-top:4px}
#memo_list_ul .memo_send a{color:#777}
#memo_list_ul .memo_read {font-size:0.95em;color:#666}
#memo_list_ul .memo_del {position:absolute;top:10px;right:0}
+2 -2
View File
@@ -1,7 +1,7 @@
Theme Name: 베이직
Theme URI: http://theme.sir.co.kr/gnuboard5/demo/basic
Theme URI: http://theme.sir.kr/gnuboard5/demo/basic
Maker: SIR
Maker URI: http://sir.co.kr
Maker URI: http://sir.kr
Version: 1.0.0
Detail: 베이직 테마는 SIR에서 제공하는 그누보드5 테마입니다. 베이직 테마는 웹표준 및 접근성을 준수합니다.
License: GNU LESSER GENERAL PUBLIC LICENSE Version 2.1
@@ -59,8 +59,10 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
if($w == 'cu') {
$sql = " select wr_id, wr_content from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$sql = " select wr_id, wr_content, mb_id from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$cmt = sql_fetch($sql);
if (!($is_admin || ($member['mb_id'] == $cmt['mb_id'] && $cmt['mb_id'])))
$cmt['wr_content'] = '';
$c_wr_content = $cmt['wr_content'];
}
@@ -59,8 +59,10 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
if($w == 'cu') {
$sql = " select wr_id, wr_content from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$sql = " select wr_id, wr_content, mb_id from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
$cmt = sql_fetch($sql);
if (!($is_admin || ($member['mb_id'] == $cmt['mb_id'] && $cmt['mb_id'])))
$cmt['wr_content'] = '';
$c_wr_content = $cmt['wr_content'];
}
@@ -12,7 +12,6 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
<form name="fformmail" action="./formmail_send.php" onsubmit="return fformmail_submit(this);" method="post" enctype="multipart/form-data" style="margin:0px;">
<input type="hidden" name="to" value="<?php echo $email ?>">
<input type="hidden" name="attach" value="2">
<input type="hidden" name="token" value="<?php echo $token ?>">
<?php if ($is_member) { // 회원이면 ?>
<input type="hidden" name="fnick" value="<?php echo get_text($member['mb_nick']) ?>">
<input type="hidden" name="fmail" value="<?php echo $member['mb_email'] ?>">