Compare commits

...
8 Commits
41 changed files with 231 additions and 210 deletions
+2
View File
@@ -0,0 +1,2 @@
.gitattributes export-ignore
.gitignore export-ignore
+7 -1
View File
@@ -74,6 +74,7 @@ function imageview(id, w, h)
<ul id="tnb">
<li><a href="<?php echo G5_ADMIN_URL ?>/member_form.php?w=u&amp;mb_id=<?php echo $member['mb_id'] ?>">관리자정보</a></li>
<li><a href="<?php echo G5_ADMIN_URL ?>/config_form.php">기본환경</a></li>
<li><a href="<?php echo G5_ADMIN_URL ?>/service.php">부가서비스</a></li>
<li><a href="<?php echo G5_URL ?>/">커뮤니티</a></li>
<?php if(defined('G5_USE_SHOP')) { ?>
<li><a href="<?php echo G5_ADMIN_URL ?>/shop_admin/configform.php">쇼핑몰환경</a></li>
@@ -120,7 +121,12 @@ foreach($menu['menu'.$menu_key] as $key=>$value) {
if ($is_admin != 'super' && (!array_key_exists($value[0],$auth) || !strstr($auth[$value[0]], 'r')))
continue;
echo $nl.'<li><a href="'.$value[2].'">'.$value[1].'</a></li>';
if($value[3] == 'cf_service')
$svc_class = ' class="lnb_svc"';
else
$svc_class = '';
echo $nl.'<li><a href="'.$value[2].'"'.$svc_class.'>'.$value[1].'</a></li>';
$nl = PHP_EOL;
}
}
+2 -1
View File
@@ -10,6 +10,7 @@ $menu['menu100'] = array (
array('100900', '캐시파일 일괄삭제',G5_ADMIN_URL.'/cache_file_delete.php', 'cf_cache', 1),
array('100910', '캡챠파일 일괄삭제',G5_ADMIN_URL.'/captcha_file_delete.php', 'cf_captcha', 1),
array('100920', '썸네일파일 일괄삭제',G5_ADMIN_URL.'/thumbnail_file_delete.php', 'cf_thumbnail', 1),
array('100500', 'phpinfo()', G5_ADMIN_URL.'/phpinfo.php', 'cf_phpinfo')
array('100500', 'phpinfo()', G5_ADMIN_URL.'/phpinfo.php', 'cf_phpinfo'),
array('100400', '부가서비스', G5_ADMIN_URL.'/service.php', 'cf_service')
);
?>
+3 -2
View File
@@ -58,6 +58,7 @@ $sql = " insert into {$g5['board_table']}
bo_use_rss_view = '{$board[bo_use_rss_view]}',
bo_use_good = '{$board[bo_use_good]}',
bo_use_nogood = '{$board[bo_use_nogood]}',
bo_use_name = '{$board[bo_use_name]}',
bo_use_signature = '{$board[bo_use_signature]}',
bo_use_ip_view = '{$board[bo_use_ip_view]}',
bo_use_list_view = '{$board['bo_use_list_view']}',
@@ -179,10 +180,10 @@ if (count($file_copy)) {
set bo_table = '$target_table',
wr_id = '{$file_copy[$i]['wr_id']}',
bf_no = '{$file_copy[$i]['bf_no']}',
bf_source = '{$file_copy[$i]['bf_source']}',
bf_source = '".addslashes($file_copy[$i]['bf_source'])."',
bf_file = '{$file_copy[$i]['bf_file']}',
bf_download = '{$file_copy[$i]['bf_download']}',
bf_content = '{$file_copy[$i]['bf_content']}',
bf_content = '".addslashes($file_copy[$i]['bf_content'])."',
bf_filesize = '{$file_copy[$i]['bf_filesize']}',
bf_width = '{$file_copy[$i]['bf_width']}',
bf_height = '{$file_copy[$i]['bf_height']}',
+16 -16
View File
@@ -264,72 +264,72 @@ if ($config['cf_icode_id'] && $config['cf_icode_pw']) {
<th scope="row"><label for="cf_login_point">로그인시 포인트<strong class="sound_only">필수</strong></label></th>
<td>
<?php echo help('회원이 로그인시 하루에 한번만 적립') ?>
<input type="text" name="cf_login_point" value="<?php echo $config['cf_login_point'] ?>" id="cf_login_point" required class="required frm_input" size="2"> 점
<input type="text" name="cf_login_point" value="<?php echo $config['cf_login_point'] ?>" id="cf_login_point" required class="required frm_input" size="5"> 점
</td>
<th scope="row"><label for="cf_memo_send_point">쪽지보낼시 차감 포인트<strong class="sound_only">필수</strong></label></th>
<td>
<?php echo help('양수로 입력하십시오. 0점은 쪽지 보낼시 포인트를 차감하지 않습니다.') ?>
<input type="text" name="cf_memo_send_point" value="<?php echo $config['cf_memo_send_point'] ?>" id="cf_memo_send_point" required class="required frm_input" size="2"> 점
<input type="text" name="cf_memo_send_point" value="<?php echo $config['cf_memo_send_point'] ?>" id="cf_memo_send_point" required class="required frm_input" size="5"> 점
</td>
</tr>
<tr>
<th scope="row"><label for="cf_cut_name">이름(닉네임) 표시</label></th>
<td colspan="3">
<input type="text" name="cf_cut_name" value="<?php echo $config['cf_cut_name'] ?>" id="cf_cut_name" class="frm_input" size="2"> 자리만 표시
<input type="text" name="cf_cut_name" value="<?php echo $config['cf_cut_name'] ?>" id="cf_cut_name" class="frm_input" size="5"> 자리만 표시
</td>
</tr>
<tr>
<th scope="row"><label for="cf_nick_modify">닉네임 수정</label></th>
<td>수정하면 <input type="text" name="cf_nick_modify" value="<?php echo $config['cf_nick_modify'] ?>" id="cf_nick_modify" class="frm_input" size="1"> 일 동안 바꿀 수 없음</td>
<td>수정하면 <input type="text" name="cf_nick_modify" value="<?php echo $config['cf_nick_modify'] ?>" id="cf_nick_modify" class="frm_input" size="3"> 일 동안 바꿀 수 없음</td>
<th scope="row"><label for="cf_open_modify">정보공개 수정</label></th>
<td>수정하면 <input type="text" name="cf_open_modify" value="<?php echo $config['cf_open_modify'] ?>" id="cf_open_modify" class="frm_input" size="1"> 일 동안 바꿀 수 없음</td>
<td>수정하면 <input type="text" name="cf_open_modify" value="<?php echo $config['cf_open_modify'] ?>" id="cf_open_modify" class="frm_input" size="3"> 일 동안 바꿀 수 없음</td>
</tr>
<tr>
<th scope="row"><label for="cf_new_del">최근게시물 삭제</label></th>
<td>
<?php echo help('설정일이 지난 최근게시물 자동 삭제') ?>
<input type="text" name="cf_new_del" value="<?php echo $config['cf_new_del'] ?>" id="cf_new_del" class="frm_input" size="2"> 일
<input type="text" name="cf_new_del" value="<?php echo $config['cf_new_del'] ?>" id="cf_new_del" class="frm_input" size="5"> 일
</td>
<th scope="row"><label for="cf_memo_del">쪽지 삭제</label></th>
<td>
<?php echo help('설정일이 지난 쪽지 자동 삭제') ?>
<input type="text" name="cf_memo_del" value="<?php echo $config['cf_memo_del'] ?>" id="cf_memo_del" class="frm_input" size="2"> 일
<input type="text" name="cf_memo_del" value="<?php echo $config['cf_memo_del'] ?>" id="cf_memo_del" class="frm_input" size="5"> 일
</td>
</tr>
<tr>
<th scope="row"><label for="cf_visit_del">접속자로그 삭제</label></th>
<td>
<?php echo help('설정일이 지난 접속자 로그 자동 삭제') ?>
<input type="text" name="cf_visit_del" value="<?php echo $config['cf_visit_del'] ?>" id="cf_visit_del" class="frm_input" size="2"> 일
<input type="text" name="cf_visit_del" value="<?php echo $config['cf_visit_del'] ?>" id="cf_visit_del" class="frm_input" size="5"> 일
</td>
<th scope="row"><label for="cf_popular_del">인기검색어 삭제</label></th>
<td>
<?php echo help('설정일이 지난 인기검색어 자동 삭제') ?>
<input type="text" name="cf_popular_del" value="<?php echo $config['cf_popular_del'] ?>" id="cf_popular_del" class="frm_input" size="2"> 일
<input type="text" name="cf_popular_del" value="<?php echo $config['cf_popular_del'] ?>" id="cf_popular_del" class="frm_input" size="5"> 일
</td>
</tr>
<tr>
<th scope="row"><label for="cf_login_minutes">현재 접속자</label></th>
<td>
<?php echo help('설정값 이내의 접속자를 현재 접속자로 인정') ?>
<input type="text" name="cf_login_minutes" value="<?php echo $config['cf_login_minutes'] ?>" id="cf_login_minutes" class="frm_input" size="2"> 분
<input type="text" name="cf_login_minutes" value="<?php echo $config['cf_login_minutes'] ?>" id="cf_login_minutes" class="frm_input" size="3"> 분
</td>
<th scope="row"><label for="cf_new_rows">최근게시물 라인수</label></th>
<td>
<?php echo help('목록 한페이지당 라인수') ?>
<input type="text" name="cf_new_rows" value="<?php echo $config['cf_new_rows'] ?>" id="cf_new_rows" class="frm_input" size="2"> 라인
<input type="text" name="cf_new_rows" value="<?php echo $config['cf_new_rows'] ?>" id="cf_new_rows" class="frm_input" size="3"> 라인
</td>
</tr>
<tr>
<th scope="row"><label for="cf_page_rows">한페이지당 라인수</label></th>
<td>
<?php echo help('목록(리스트) 한페이지당 라인수') ?>
<input type="text" name="cf_page_rows" value="<?php echo $config['cf_page_rows'] ?>" id="cf_page_rows" class="frm_input" size="2"> 라인
<input type="text" name="cf_page_rows" value="<?php echo $config['cf_page_rows'] ?>" id="cf_page_rows" class="frm_input" size="3"> 라인
</td>
<th scope="row"><label for="cf_mobile_page_rows">모바일 한페이지당 라인수</label></th>
<td>
<?php echo help('모바일 목록 한페이지당 라인수') ?>
<input type="text" name="cf_mobile_page_rows" value="<?php echo $config['cf_mobile_page_rows'] ?>" id="cf_mobile_page_rows" class="frm_input" size="2"> 라인
<input type="text" name="cf_mobile_page_rows" value="<?php echo $config['cf_mobile_page_rows'] ?>" id="cf_mobile_page_rows" class="frm_input" size="3"> 라인
</td>
</tr>
<tr>
@@ -1085,21 +1085,21 @@ if ($config['cf_icode_id'] && $config['cf_icode_pw']) {
<tr>
<th scope="row"><label for="cf_include_index">초기화면 파일 경로</label></th>
<td>
<?php echo help('입력이 없으면 index.php가 초기화면 파일의 기본 경로로 설정됩니다.') ?>
<?php echo help('입력이 없으면 index.php가 초기화면 파일로 설정됩니다.<br>초기화면 파일은 index.php 파일과 동일한 위치에 존재해야 합니다.') ?>
<input type="text" name="cf_include_index" value="<?php echo $config['cf_include_index'] ?>" id="cf_include_index" class="frm_input" size="50">
</td>
</tr>
<tr>
<th scope="row"><label for="cf_include_head">상단 파일 경로</label></th>
<td>
<?php echo help('입력이 없으면 head.php가 상단 파일의 기본 경로로 설정됩니다.') ?>
<?php echo help('입력이 없으면 head.php가 상단 파일로 설정됩니다.<br>상단 파일은 head.php 파일과 동일한 위치에 존재해야 합니다.') ?>
<input type="text" name="cf_include_head" value="<?php echo $config['cf_include_head'] ?>" id="cf_include_head" class="frm_input" size="50">
</td>
</tr>
<tr>
<th scope="row"><label for="cf_include_tail">하단 파일 경로</label></th>
<td>
<?php echo help('입력이 없으면 tail.php가 하단 파일의 기본 경로로 설정됩니다.') ?>
<?php echo help('입력이 없으면 tail.php가 하단 파일로 설정됩니다.<br>초기화면 파일은 tail.php 파일과 동일한 위치에 존재해야 합니다.') ?>
<input type="text" name="cf_include_tail" value="<?php echo $config['cf_include_tail'] ?>" id="cf_include_tail" class="frm_input" size="50">
</td>
</tr>
+5
View File
@@ -19,6 +19,11 @@ check_token();
if($_POST['cf_cert_use'] && !$_POST['cf_cert_ipin'] && !$_POST['cf_cert_hp'])
alert('본인확인을 위해 아이핀 또는 휴대폰 본인학인 서비스를 하나이상 선택해 주십시오');
if(!$_POST['cf_cert_use']) {
$_POST['cf_cert_ipin'] = '';
$_POST['cf_cert_hp'] = '';
}
$sql = " update {$g5['config_table']}
set cf_title = '{$_POST['cf_title']}',
cf_admin = '{$_POST['cf_admin']}',
+27
View File
@@ -687,3 +687,30 @@ strong.sodr_nonpay {display:block;padding:5px 0;text-align:right}
.pg_start, .pg_prev {/* 이전 */}
.pg_end, .pg_next {/* 다음 */}
.pg_current {display:inline-block;margin:0 4px 0 0;background:#333;color:#fff;font-weight:normal}
/*부가서비스*/
.lnb_svc{color:#ff3061;font-weight:bold}
.service_wrap{min-width:960px; margin:0 20px 10px;overflow:hidden}
.sevice_1{border:1px solid #ebe8e8;width:286px;float:left;border-radius:5px;text-align:center;margin-right:6px;}
.sevice_1 .svc_img{padding:30px 0 0;}
.sevice_1 h3{font-size:16px;margin:15px 0;color:#525252}
.sevice_1 p{padding:20px;background:#f8f8f8;height:102px;font-size:12px;text-align:left; color:#898989;line-height:18px}
.sevice_1 ul {width:100%;padding:0; margin:0;border-top:1px solid #ebe8e8;}
.sevice_1 ul li{list-style:none;float:left;border-right:1px solid #ebe8e8;width:33%;}
.sevice_1 ul li a{display:inline-block;height:76px;width:100%}
.sevice_1 ul li img{padding:10px 0 0;}
.sevice_1 ul li.last{border:0}
.sevice_1 h4{width:100%;padding:0; margin:0;border-top:1px solid #ebe8e8;}
.sevice_1 h4 a{display:inline-block;height:66px;padding:10px 0 0;width:100%}
.sevice_2{border:1px solid #ebe8e8;float:left;width:370px;}
.sevice_2 .svc_a{float:left;width:203px;padding:33px 0 0 22px ;height:111px; }
.sevice_2 .svc_a h3{font-size:14px;letter-spacing:-1px;color:#525252;margin-bottom:5px}
.sevice_2 .svc_a p{color:#898989;line-height:18px;letter-spacing:-1px;}
.sevice_2 .svc_btn{float:right;}
.sevice_2 .svc_btn a{display:inline-block; background:#ff3061;width:121px;text-align:center;color:#fff;padding:10px 0;margin:53px 10px 0 0;}
.sevice_2 .svc_btn a:hover{text-decoration:none;}
.sevice_2 .svc_sms{overflow:hidden;border-bottom:1px solid #ebe8e8;}
.sevice_2 .svc_sms .svc_btn a{display:inline-block; width:132px; background:#f8f8f8;height:145px;text-align:center;margin:0;padding:0}
.sevice_2 .svc_sms .svc_btn a img{margin-top:50px;}
.sevice_2 .svc_keyword{overflow:hidden;border-bottom:1px solid #ebe8e8;background:#e6f2f4}
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

+63
View File
@@ -0,0 +1,63 @@
<?php
$sub_menu = '100400';
include_once('./_common.php');
auth_check($auth[$sub_menu], 'r');
$g5['title'] = '부가서비스';
include_once('./admin.head.php');
?>
<div class="local_desc02 local_desc">
<p>아래의 서비스들은 그누보드에서 이미 지원하는 기능으로 별도의 개발이 필요 없으며 서비스 신청후 바로 사용 할수 있습니다.</p>
</div>
<div class="service_wrap">
<div class="sevice_1">
<img src="<?php echo G5_ADMIN_URL ?>/img/service_img1.jpg" alt="휴대폰 본인확인 서비스" class="svc_img">
<h3>휴대폰 본인확인 서비스</h3>
<p>정보통신망법 23조 2항(주민등록번호의 사용제한)에 따라 기존 주민등록번호 기반의 인증서비스 이용이 불가합니다. 주민등록번호 대체수단으로 최소한의 정보(생년월일, 휴대폰번호, 성별)를 입력받아 본인임을 확인하는 인증수단 입니다</p>
<ul>
<li><a href="http://sir.co.kr/main/provider/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/provider/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/provider/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">
<img src="<?php echo G5_ADMIN_URL ?>/img/service_img2.jpg" alt="아이핀 본인확인 서비스" class="svc_img">
<h3>아이핀 본인확인 서비스</h3>
<p>정부가 주관하는 주민등록번호 대체 수단으로 본인의 개인정보를 아이핀 사이트에 한번만 발급해 놓고, 이후부터는 아이디와 패스워드 만으로
본인임을 확인하는 인증수단 입니다.</p>
<h4><a href="http://sir.co.kr/main/provider/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">
<div class="svc_a">
<h3>SMS 문자 서비스</h3>
<p>사이트 관리자 또는 회원이 다른 회원의 휴대폰으로 단문메세지(최대 한글 40자, 영문 80자)를 발송할 수 있습니다.</p>
</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 class="svc_keyword">
<div class="svc_a">
<h3>키워드 검색광고 (네이버, 다음)</h3>
<p>키워드 광고 최소 70원 부터!<br> 키워드 광고의 전문가가 검색 결과의 <br>최상단에 노출시켜 드립니다</p>
</div>
<div class="svc_btn"><a href="http://sir.co.kr/main/ad/" target="_blank">서비스 신청하기</a></div>
</div>
<div class="svc_design">
<div class="svc_a">
<h3>디자인 소스 (아사달)</h3>
<p>이곳을 통하여 아사달 디자인 소스, 시안, 사진 등 구입하시면 10% 할인 쿠폰을 매일 선착순 15분께 드립니다.</p>
</div>
<div class="svc_btn"><a href="http://design.sir.co.kr/event/coupon.htm" target="_blank">디자인소스 구입하기</a></div>
</div>
</div>
</div>
<?php
include_once('./admin.tail.php');
?>
-1
View File
@@ -134,7 +134,6 @@ while ($res = sql_fetch_array($qry)) array_push($group, $res);
<form name="search_form" id="sms_person_form" method="get" action="<?php echo $_SERVER['PHP_SELF']?>">
<input type="hidden" name="total_pg" value="<?php echo $total_page?>">
<input type="hidden" name="page" value="<?php echo $page?>">
<input type="hidden" name="bg_no" value="<?php echo $bg_no?>">
<label for="bg_no" class="sound_only">그룹</label>
<select name="bg_no" id="bg_no">
+1 -1
View File
@@ -630,7 +630,7 @@ var sms_obj={
},
person : function(bg_no){
var params = { bg_no : bg_no };
this.person_is_search = false;
this.person_is_search = true;
this.person_select( params, "html" );
book_change('book_person');
},
+6 -3
View File
@@ -51,9 +51,12 @@ if($config['cf_leave_day'] > 0) {
}
// 음성 캡챠 파일 삭제
foreach (glob(G5_PATH.'/data/cache/kcaptcha-*.mp3') as $file) {
if (filemtime($file) + 86400 < G5_SERVER_TIME) {
@unlink($file);
$captcha_mp3 = glob(G5_PATH.'/data/cache/kcaptcha-*.mp3');
if($captcha_mp3 && is_array($captcha_mp3)) {
foreach ($captcha_mp3 as $file) {
if (filemtime($file) + 86400 < G5_SERVER_TIME) {
@unlink($file);
}
}
}
+6
View File
@@ -46,9 +46,15 @@ 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
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
/*
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
$result = sql_query($sql);
$total_count = mysql_num_rows($result);
*/
} else {
$sql_search = "";
+2
View File
@@ -51,6 +51,8 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="spt" value="<?php echo $spt ?>">
<input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="act" value="<?php echo $act ?>">
<input type="hidden" name="url" value="<?php echo $_SERVER['HTTP_REFERER'] ?>">
+4 -3
View File
@@ -121,7 +121,7 @@ while ($row = sql_fetch_array($result))
set bo_table = '$move_bo_table',
wr_id = '$insert_id',
bf_no = '{$row3['bf_no']}',
bf_source = '{$row3['bf_source']}',
bf_source = '".addslashes($row3['bf_source'])."',
bf_file = '{$row3['bf_file']}',
bf_download = '{$row3['bf_download']}',
bf_content = '".addslashes($row3['bf_content'])."',
@@ -196,13 +196,14 @@ if ($sw == 'move')
}
$msg = '해당 게시물을 선택한 게시판으로 '.$act.' 하였습니다.';
$opener_href = './board.php?bo_table='.$bo_table.'&amp;page='.$page.'&amp;'.$qstr;
$opener_href = './board.php?bo_table='.$bo_table.'&amp;page='.$page.'&amp;'.$qstr;
$opener_href1 = str_replace('&amp;', '&', $opener_href);
echo <<<HEREDOC
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script>
alert("$msg");
opener.document.location.href = "$opener_href";
opener.document.location.href = "$opener_href1";
window.close();
</script>
<noscript>
+2 -2
View File
@@ -1,8 +1,8 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$qa_skin_path = (G5_IS_MOBILE ? G5_MOBILE_PATH : G5_PATH).'/'.G5_SKIN_DIR.'/qa/'.$qaconfig['qa_skin'];
$qa_skin_url = (G5_IS_MOBILE ? G5_MOBILE_URL : G5_URL).'/'.G5_SKIN_DIR.'/qa/'.$qaconfig['qa_skin'];
$qa_skin_path = (G5_IS_MOBILE ? G5_MOBILE_PATH : G5_PATH).'/'.G5_SKIN_DIR.'/qa/'.(G5_IS_MOBILE ? $qaconfig['qa_mobile_skin'] : $qaconfig['qa_skin']);
$qa_skin_url = (G5_IS_MOBILE ? G5_MOBILE_URL : G5_URL).'/'.G5_SKIN_DIR.'/qa/'.(G5_IS_MOBILE ? $qaconfig['qa_mobile_skin'] : $qaconfig['qa_skin']);
if (G5_IS_MOBILE) {
// 모바일의 경우 설정을 따르지 않는다.
+1 -1
View File
@@ -53,7 +53,7 @@ if ($w == "") {
if (!$is_member)
alert('로그인 후 이용하여 주십시오.', G5_URL);
if ($member['mb_id'] != $mb_id)
if ($member['mb_id'] != $_POST['mb_id'])
alert('로그인된 회원과 넘어온 정보가 서로 다릅니다.');
/*
+20 -6
View File
@@ -122,6 +122,7 @@ if ($w == '' || $w == 'u') {
$mb_name = clean_xss_tags($mb_name);
$mb_email = get_email_address($mb_email);
$mb_homepage = clean_xss_tags($mb_homepage);
$mb_tel = clean_xss_tags($mb_tel);
$mb_zip1 = preg_replace('/[^0-9]/', '', $mb_zip1);
$mb_zip2 = preg_replace('/[^0-9]/', '', $mb_zip2);
$mb_addr1 = clean_xss_tags($mb_addr1);
@@ -277,10 +278,6 @@ if ($w == '') {
if ($mb_password)
$sql_password = " , mb_password = '".sql_password($mb_password)."' ";
$sql_icon = "";
if ($mb_icon)
$sql_icon = " , mb_icon = '{$mb_icon}' ";
$sql_nick_date = "";
if ($mb_nick_default != $mb_nick)
$sql_nick_date = " , mb_nick_date = '".G5_TIME_YMD."' ";
@@ -321,7 +318,6 @@ if ($w == '') {
mb_9 = '{$mb_9}',
mb_10 = '{$mb_10}'
{$sql_password}
{$sql_icon}
{$sql_nick_date}
{$sql_open_date}
{$sql_email_certify}
@@ -416,7 +412,25 @@ if ($w == '') {
set_session('ss_mb_id', '');
alert('회원 정보가 수정 되었습니다.\n\nE-mail 주소가 변경되었으므로 다시 인증하셔야 합니다.', G5_URL);
} else {
alert('회원 정보가 수정 되었습니다.', G5_URL);
echo '
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>회원정보수정</title>
<body>
<form name="fregisterupdate" method="post" action="'.G5_HTTPS_BBS_URL.'/register_form.php">
<input type="hidden" name="w" value="u">
<input type="hidden" name="mb_id" value="'.$mb_id.'">
<input type="hidden" name="mb_password" value="'.$tmp_password.'">
<input type="hidden" name="is_update" value="1">
</form>
<script>
alert("회원 정보가 수정 되었습니다.");
document.fregisterupdate.submit();
</script>
</body>
</html>';
}
}
?>
+2 -1
View File
@@ -5,10 +5,11 @@ include_once(G5_PATH.'/head.sub.php');
if ($is_guest) {
$href = './login.php?'.$qstr.'&amp;url='.urlencode('./board.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id);
$href2 = str_replace('&amp;', '&', $href);
echo <<<HEREDOC
<script>
alert('회원만 접근 가능합니다.');
opener.location.href = '$href';
opener.location.href = '$href2';
window.close();
</script>
<noscript>
+1 -1
View File
@@ -13,7 +13,7 @@ if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR'])
$remote_addr = escape_trim($_SERVER['REMOTE_ADDR']);
$referer = "";
if (isset($_SERVER['HTTP_REFERER']))
$referer = escape_trim($_SERVER['HTTP_REFERER']);
$referer = escape_trim(clean_xss_tags($_SERVER['HTTP_REFERER']));
$user_agent = escape_trim($_SERVER['HTTP_USER_AGENT']);
$sql = " insert {$g5['visit_table']} ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '{$vi_id}', '{$remote_addr}', '".G5_TIME_YMD."', '".G5_TIME_HIS."', '{$referer}', '{$user_agent}' ) ";
-1
View File
@@ -266,7 +266,6 @@ $_SESSION['ss_is_mobile'] = $is_mobile;
define('G5_IS_MOBILE', $is_mobile);
define('G5_DEVICE_BUTTON_DISPLAY', $set_device);
if (G5_IS_MOBILE) {
include_once(G5_LIB_PATH.'/mobile.lib.php'); // 모바일 전용 라이브러리
$g5['mobile_path'] = G5_PATH.'/'.$g5['mobile_dir'];
}
//==============================================================================
+8
View File
@@ -0,0 +1,8 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// head.sub.php, tail.sub.php 파일의 이름을 지정할 수 있습니다.
// 지정된 파일은 head.sub.php, tail.sub.php 파일과 동일한 위치에 존재해야 합니다.
//define('G5_HEAD_SUB_FILE', 'user.head.sub.php');
//define('G5_TAIL_SUB_FILE', 'user.tail.sub.php');
?>
+2 -4
View File
@@ -10,10 +10,8 @@ include_once(G5_LIB_PATH.'/connect.lib.php');
include_once(G5_LIB_PATH.'/popular.lib.php');
// 상단 파일 경로 지정 : 이 코드는 가능한 삭제하지 마십시오.
if ($config['cf_include_head']) {
if (!@include_once($config['cf_include_head'])) {
die('기본환경 설정에서 상단 파일 경로가 잘못 설정되어 있습니다.');
}
if ($config['cf_include_head'] && is_file(G5_PATH.'/'.$config['cf_include_head'])) {
include_once(G5_PATH.'/'.$config['cf_include_head']);
return; // 이 코드의 아래는 실행을 하지 않습니다.
}
+8 -2
View File
@@ -4,6 +4,12 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$begin_time = get_microtime();
// 사용자가 지정한 head.sub.php 파일이 있다면 include
if(defined('G5_HEAD_SUB_FILE') && is_file(G5_PATH.'/'.G5_HEAD_SUB_FILE)) {
include_once(G5_PATH.'/'.G5_HEAD_SUB_FILE);
return;
}
if (!isset($g5['title'])) {
$g5['title'] = $config['cf_title'];
$g5_head_title = $g5['title'];
@@ -17,8 +23,8 @@ else {
// 게시판 제목에 ' 포함되면 오류 발생
$g5['lo_location'] = addslashes($g5['title']);
if (!$g5['lo_location'])
$g5['lo_location'] = $_SERVER['REQUEST_URI'];
$g5['lo_url'] = $_SERVER['REQUEST_URI'];
$g5['lo_location'] = addslashes($_SERVER['REQUEST_URI']);
$g5['lo_url'] = addslashes($_SERVER['REQUEST_URI']);
if (strstr($g5['lo_url'], '/'.G5_ADMIN_DIR.'/') || $is_admin == 'super') $g5['lo_url'] = '';
/*
+2 -4
View File
@@ -3,10 +3,8 @@ define('_INDEX_', true);
include_once('./_common.php');
// 초기화면 파일 경로 지정 : 이 코드는 가능한 삭제하지 마십시오.
if ($config['cf_include_index']) {
if (!@include_once($config['cf_include_index'])) {
die('기본환경 설정에서 초기화면 파일 경로가 잘못 설정되어 있습니다.');
}
if ($config['cf_include_index'] && is_file(G5_PATH.'/'.$config['cf_include_index'])) {
include_once(G5_PATH.'/'.$config['cf_include_index']);
return; // 이 코드의 아래는 실행을 하지 않습니다.
}
+1 -1
View File
@@ -187,7 +187,7 @@ function get_cookie(name)
if(end < start)
end = document.cookie.length;
return document.cookie.substring(start, end);
return unescape(document.cookie.substring(start, end));
}
return "";
}
-145
View File
@@ -1,145 +0,0 @@
<?php
if (!defined('_GNUBOARD_')) exit;
// 원본 이미지를 넘기면 비율에 따라 썸네일 이미지를 생성함
function mobile_create_thumb($srcImg, $width, $thumb)
{
$size = @getimagesize($srcImg);
if ($size[2] == 1)
$source = @imagecreatefromgif($srcImg);
else if ($size[2] == 2)
$source = @imagecreatefromjpeg($srcImg);
else if ($size[2] == 3)
$source = @imagecreatefrompng($srcImg);
else
return "";
if (!$source)
return "";
if ($size[0] < $width) {
$width = $size[0];
$height = $size[1];
}
else {
$rate = $width / $size[0];
$height = (int)($size[1] * $rate);
}
$target = @imagecreatetruecolor($width, $height);
$bgcolor = @imagecolorallocate($target, 255, 255, 255); // 썸네일 배경
imagefilledrectangle($target, 0, 0, $width, $height, $bgcolor);
imagecopyresampled($source, $source, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);
imagecopy($target, $source, 0, 0, 0, 0, $size[0], $size[1]);
imagejpeg($target, $thumb, 100);
chmod($thumb, G5_FILE_PERMISSION); // 추후 삭제를 위하여 파일모드 변경
return $thumb;
}
function mobile_thumb($matches)
{
global $is_admin;
global $g5, $bo_table, $wr_id;
$width = 300; // (소스이미지 width pixel)
//if ($is_admin) print_r2($matches);
if ($is_admin) {
foreach ($matches as $img) {
echo "<p>";
preg_match("/src=[\"\']?([^\"\'\s>]+)/i", $img, $m);
$src = trim($m[1]);
//echo $src;
// 상대경로(..)로 시작되면 sir.co.kr 도메인으로 여긴다.
$src = preg_replace("/^\.\.\//", "http://m.sir.co.kr/", $src);
$absolute = preg_replace("/^http\:\/\/(www\.)?sir\.co\.kr\/(.*)$/", "/home/sir/$2", $src);
$thumb_dir = G5_DATA_PATH.'/thumb/'.$bo_table;
if (!is_dir($thumb_dir)) {
@mkdir($thumb_dir, G5_DIR_PERMISSION);
@chmod($thumb_dir, G5_DIR_PERMISSION);
}
$result = true;
if (preg_match("/\.(jpe?g|png)$/i", $src)) {
// 유일한 파일명을 만든다.
$src_md5 = md5($src.$width);
$thumb = "$thumb_dir/{$wr_id}-{$src_md5}";
if (!file_exists($thumb)) {
$result = mobile_create_thumb($src, $width, $thumb);
}
}
else {
$thumb = $src;
}
if ($result) {
$size = @getimagesize($absolute);
if ($size[2] == IMAGETYPE_GIF)
$w = ($size[0] < $width) ? $size[0] : $width;
else
$w = ($size[0] < $width) ? $size[0] : "100%";
return "<img src='$thumb' width='$w' />";
}
}
} else {
foreach ($matches as $img) {
preg_match("/src=[\"\']?([^\"\'\s>]+)/i", $img, $m);
$result = true;
$src = trim($m[1]);
//if ($is_admin) echo $src."<br>";
if (preg_match("/\.(jpe?g|png)$/i", $src)) {
// 상대경로(..)로 시작되면 도메인으로 여긴다.
$src = preg_replace("/^\.\.\//", 'http://'.$_SERVER['SERVER_NAME'].'/', $src);
// 유일한 파일명을 만든다.
$src_md5 = md5($src.$width);
$thumb = G5_DATA_PATH.'/thumb/'.$bo_table.'-'.$wr_id.'-'.$src_md5;
if (!file_exists($thumb)) {
$result = mobile_create_thumb($src, $width, $thumb);
}
}
else {
$thumb = $src;
}
if ($result) {
//if ($is_admin) { $begin_time = get_microtime(); }
//echo $thumb;
$size = @getimagesize($thumb);
//if ($is_admin) print_r2($size);
if ($size[2] == IMAGETYPE_GIF)
$w = ($size[0] < $width) ? $size[0] : $width;
else
$w = ($size[0] < $width) ? $size[0] : "100%";
//if ($is_admin) { echo "<p>time : "; echo get_microtime() - $begin_time; }
return "<img src='$thumb' width='$w' />";
}
}
}
}
function mobile_embed($matches)
{
foreach ($matches as $embed) {
//$embed = preg_replace("#height\=\d+#i", "", $embed);
//$embed = preg_replace("#width\=\d+#i", "", $embed);
return $embed;
}
}
?>
+8 -4
View File
@@ -112,12 +112,16 @@ function valid_mb_email($reg_mb_email)
function prohibit_mb_email($reg_mb_email)
{
global $config;
list($id, $domain) = explode("@", $reg_mb_email);
$email_domains = explode("\n", trim($config['cf_prohibit_email']));
for ($i=0; $i<count($email_domains); $i++) {
if (strtolower($domain) == strtolower($email_domains[$i]))
return "$domain 메일은 사용할 수 없습니다.";
}
$email_domains = array_map('trim', $email_domains);
$email_domains = array_map('strtolower', $email_domains);
$email_domain = strtolower($domain);
if (in_array($email_domain, $email_domains))
return "$domain 메일은 사용할 수 없습니다.";
return "";
}
+3 -1
View File
@@ -44,6 +44,8 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="spt" value="<?php echo $spt ?>">
<input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="sw" value="">
@@ -151,7 +153,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<option value="wr_name,1"<?php echo get_selected($sfl, 'wr_name,1'); ?>>글쓴이</option>
<option value="wr_name,0"<?php echo get_selected($sfl, 'wr_name,0'); ?>>글쓴이(코)</option>
</select>
<input name="stx" value="<?php echo stripslashes($stx) ?>" placeholder="검색어(필수)" required id="stx" class="required frm_input" size="15" maxlength="15">
<input name="stx" value="<?php echo stripslashes($stx) ?>" placeholder="검색어(필수)" required id="stx" class="required frm_input" size="15" maxlength="20">
<input type="submit" value="검색" class="btn_submit">
</form>
</fieldset>
+3 -1
View File
@@ -42,6 +42,8 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="spt" value="<?php echo $spt ?>">
<input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="sw" value="">
@@ -178,7 +180,7 @@ $(window).on("load", function() {
<option value="wr_name,1"<?php echo get_selected($sfl, "wr_name,1"); ?>>글쓴이</option>
<option value="wr_name,0"<?php echo get_selected($sfl, "wr_name,0"); ?>>글쓴이(코)</option>
</select>
<input name="stx" value="<?php echo stripslashes($stx) ?>" placeholder="검색어(필수)" required id="stx" class="required" size="15" maxlength="15">
<input name="stx" value="<?php echo stripslashes($stx) ?>" placeholder="검색어(필수)" required id="stx" class="required" size="15" maxlength="20">
<input type="submit" value="검색">
</form>
</fieldset>
+12 -2
View File
@@ -22,7 +22,12 @@ class C_CT_CLI
// hash 처리 영역
function make_hash_data( $home_dir , $str )
{
$hash_data = $this -> mf_exec( $home_dir . "/bin/ct_cli" ,
if(PHP_INT_MAX == 2147483647) // 32-bit
$bin_exe = $home_dir . '/bin/ct_cli';
else
$bin_exe = $home_dir . '/bin/ct_cli_x64';
$hash_data = $this -> mf_exec( $bin_exe ,
"lf_CT_CLI__make_hash_data",
$str
);
@@ -35,7 +40,12 @@ class C_CT_CLI
// dn_hash 체크 함수
function check_valid_hash ($home_dir , $hash_data , $str )
{
$ret_val = $this -> mf_exec( $home_dir . "/bin/ct_cli" ,
if(PHP_INT_MAX == 2147483647) // 32-bit
$bin_exe = $home_dir . '/bin/ct_cli';
else
$bin_exe = $home_dir . '/bin/ct_cli_x64';
$ret_val = $this -> mf_exec( $bin_exe ,
"lf_CT_CLI__check_valid_hash" ,
$hash_data ,
$str
+3 -1
View File
@@ -51,6 +51,8 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="spt" value="<?php echo $spt ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="sw" value="">
@@ -181,7 +183,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<option value="wr_name,0"<?php echo get_selected($sfl, 'wr_name,0'); ?>>글쓴이(코)</option>
</select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" class="frm_input required" size="15" maxlength="15">
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" class="frm_input required" size="15" maxlength="20">
<input type="submit" value="검색" class="btn_submit">
</form>
</fieldset>
+3 -1
View File
@@ -40,6 +40,8 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="spt" value="<?php echo $spt ?>">
<input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="sw" value="">
@@ -175,7 +177,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<option value="wr_name,0"<?php echo get_selected($sfl, 'wr_name,0'); ?>>글쓴이(코)</option>
</select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" class="frm_input required" size="15" maxlength="15">
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" class="frm_input required" size="15" maxlength="20">
<input type="submit" value="검색" class="btn_submit">
</form>
</fieldset>
+2 -4
View File
@@ -2,10 +2,8 @@
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 하단 파일 경로 지정 : 이 코드는 가능한 삭제하지 마십시오.
if ($config['cf_include_tail']) {
if (!@include_once($config['cf_include_tail'])) {
die('기본환경 설정에서 하단 파일 경로가 잘못 설정되어 있습니다.');
}
if ($config['cf_include_tail'] && is_file(G5_PATH.'/'.$config['cf_include_tail'])) {
include_once(G5_PATH.'/'.$config['cf_include_tail']);
return; // 이 코드의 아래는 실행을 하지 않습니다.
}
+6
View File
@@ -1,5 +1,11 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 사용자가 지정한 tail.sub.php 파일이 있다면 include
if(defined('G5_TAIL_SUB_FILE') && is_file(G5_PATH.'/'.G5_TAIL_SUB_FILE)) {
include_once(G5_PATH.'/'.G5_TAIL_SUB_FILE);
return;
}
?>
<?php if ($is_admin == 'super') { ?><!-- <div style='float:left; text-align:center;'>RUN TIME : <?php echo get_microtime()-$begin_time; ?><br></div> --><?php } ?>