Compare commits

..
159 Commits
Author SHA1 Message Date
thisgun 75328dff71 Merge branch 'g54' of github.com:gnuboard/g5 into 54 2019-07-19 20:22:44 +09:00
thisgun 7163838706 회원찾기 form 오류 수정 2019-07-19 20:15:39 +09:00
thisgun 31e98a85b8 Merge branch 'master' of github.com:gnuboard/g5 into g54 2019-07-19 20:03:30 +09:00
thisgun 05981661e7 5.4.0.1 2019-07-19 17:52:30 +09:00
thisgun e0cb64e0a7 Merge branch 'g54' of github.com:gnuboard/g5 into 54 2019-07-19 10:50:52 +09:00
thisgun d663ca90d3 충돌 수정 2019-07-19 10:49:10 +09:00
thisgun 0eea266500 잘못된 링크 코드 변경 2019-07-19 10:48:01 +09:00
thisgun b8ba893090 Merge branch 'g54' of github.com:gnuboard/g5 into 54 2019-06-24 17:30:45 +09:00
thisgun e632542c75 충돌 수정 2019-06-24 12:07:46 +09:00
thisgun 26bbc9829d 최신글 라이브러리 잘못된 코드 수정 2019-06-10 12:14:02 +09:00
thisgun f7c8fa4a8e 잘못된 BBS 폴더 지정 구문 수정 2019-05-31 15:28:51 +09:00
thisgun 12f53f4c3a master 충돌 수정 2019-05-30 16:34:46 +09:00
thisgun 3a8e3a4654 글 제목 체크 추가 2019-05-29 17:54:45 +09:00
thisgun 2bd6a639d4 충돌 수정 2019-05-08 14:13:50 +09:00
thisgun 78dc1a91d3 잘못된 코드 수정 2019-05-08 14:10:38 +09:00
thisgun f8f33e3439 5.4 베타버전 추가 및 시작 2019-05-03 21:30:42 +09:00
thisgun 85fcbbbdb7 패스워드 호환 코드 수정 2019-05-03 20:55:09 +09:00
thisgun 15c73972de 이전 패스워드 호환 2019-05-03 20:38:06 +09:00
thisgun e8730704c1 테마 이미지 수정 2019-05-03 17:08:21 +09:00
thisgun 934e944fad 잘못된 코드 수정 2019-05-03 11:07:58 +09:00
thisgun 66e0880ebb 잘못된 코드 수정2 2019-04-24 18:18:35 +09:00
thisgun 99f09a5bf1 잘못된 로그인 스킨 코드 수정 2019-04-24 15:44:48 +09:00
thisgun 96dd706456 잘못된 코드 수정 2019-04-22 17:54:35 +09:00
thisgun dc27423fe6 rewrite 설정 다시 수정 2019-03-21 12:26:30 +09:00
thisgun c086efa040 rewrite 표시 코드 수정 2019-03-21 12:06:06 +09:00
thisgun 41ff66d35c Merge branch 'g54' of github.com:gnuboard/g5 into g54 2019-03-21 11:20:09 +09:00
thisgun 1ad87b3e6c rewrite 설정 수정 2019-03-21 11:09:37 +09:00
thisgun d26ee21322 Merge branch 'g54' of github.com:gnuboard/g5 into g54 2019-03-20 16:43:41 +09:00
thisgun e19e856c53 5.4 버전 테마 수정중 2019-03-20 16:19:17 +09:00
thisgun 75a1289b1a 5.4 버전 추가수정 2019-03-20 15:39:55 +09:00
thisgun 9f26c993a1 5.4 버전 수정중 2019-03-20 15:39:43 +09:00
thisgun eb803ae9c9 hook 함수명 수정 2019-03-18 16:19:11 +09:00
thisgun 9af0d855b3 Merge branch 'master' of https://github.com/gnuboard/g5 into g54_theme2 2019-03-14 12:07:59 +09:00
thisgun 352856759d Merge branch 'master' of https://github.com/gnuboard/g5 into g54_theme2 2019-02-18 15:14:45 +09:00
thisgun 0d968a52fa Merge branch 'g54_theme2' of https://github.com/gnuboard/g5 into g54_theme2 2019-01-21 14:10:53 +09:00
thisgun 172b3dba98 테마 메뉴 관련 코드 수정 2019-01-21 14:09:52 +09:00
thisgun 63f4d7973c 충돌 수정 2019-01-18 18:15:18 +09:00
thisgun dc21287913 master 충돌 수정 2019-01-18 17:53:17 +09:00
thisgun c5593c56be 최신글 코드 수정 2019-01-15 15:32:48 +09:00
thisgun 29c4330e7a Merge branch 'master' of github.com:gnuboard/g5 into g54_theme2 2019-01-15 15:31:02 +09:00
leebokyung 579190c786 공지가 없습니다 추가 2019-01-11 16:08:07 +09:00
leebokyung 266772d6dc 포인트 팝업 색상 변경 2019-01-11 15:51:59 +09:00
leebokyung 61c784eb57 오류검사 2019-01-11 15:33:44 +09:00
leebokyung 2a8a283a77 갤러리 글자크기 2019-01-11 14:57:42 +09:00
thisgun 6a1f6c89f6 오브젝트명 수정 2019-01-04 18:45:56 +09:00
thisgun 85cd83ecf1 Merge branch 'g54_theme2' of https://github.com/gnuboard/g5 into g54_theme2 2019-01-04 17:46:53 +09:00
thisgun 95c5b5ecd8 코드 수정 2019-01-04 17:46:42 +09:00
thisgun bfdb44324f 일부 코드 수정 2019-01-04 17:46:02 +09:00
thisgun 2e84d5fbf4 필요없는 구문 수정 2019-01-04 15:30:05 +09:00
thisgun 7539f2517c Merge branch 'g54_theme2' of https://github.com/gnuboard/g5 into g54_theme2 2019-01-04 11:55:44 +09:00
thisgun e43fc63e42 Merge branch 'g54_theme2' of https://github.com/gnuboard/g5 into g54_theme2 2019-01-04 11:44:23 +09:00
thisgun 371788ee9f Merge branch 'g54' of https://github.com/gnuboard/g5 into g54 2019-01-04 11:43:56 +09:00
thisgun 7c01ae4619 일부 틀린 구문 수정 2019-01-04 11:36:46 +09:00
thisgun 6766ef2e1f 5.4 버전 테마 수정중 2018-12-31 19:30:49 +09:00
thisgun bf7d907ae7 모바일 슬라이더 적용중 2018-12-28 17:33:50 +09:00
thisgun b83f82b3d7 master 와 merge 2018-12-26 16:05:22 +09:00
thisgun 7f62fffca4 버전 5.4 에 적용코드 2018-12-26 16:01:46 +09:00
thisgun d38a44ba62 rss 주소 수정 2018-12-13 11:34:42 +09:00
thisgun 641ede57ef 쪽지관련 수정중 2018-12-13 11:32:14 +09:00
thisgun 39f944e684 Merge branch 'master' of github.com:gnuboard/g5 into g54 2018-12-06 09:46:23 +09:00
leebokyung b71274a429 모바일qa 2018-12-04 17:09:08 +09:00
leebokyung 11dc38b883 모바일 qa input 전체 수정 2018-12-04 15:48:44 +09:00
leebokyung ce50abd4b5 안쓰는 이미지 삭제2 2018-12-04 15:03:14 +09:00
leebokyung ea478310d9 안쓰는 이미지 삭제, 웹표준 검사 pc 2018-12-04 14:51:59 +09:00
leebokyung e1a510b013 갤러리 리스트 아이콘 2018-12-04 14:04:05 +09:00
leebokyung 8aad35f416 모바일 테스트 2018-12-04 12:09:20 +09:00
leebokyung d57372907d 모바일 팝업 여백 2018-12-04 11:37:01 +09:00
leebokyung ee6948e580 모바일 테스트중 2018-12-04 11:30:37 +09:00
leebokyung 8b0c24b8c3 비회원 댓글쓰기 2018-12-04 11:17:14 +09:00
leebokyung 6a4ac064c0 투표하기 클라스 추가 2018-12-04 11:05:36 +09:00
leebokyung 09be21e31f 회원가입 폼 input 2018-12-04 10:03:15 +09:00
leebokyung 038087546a IE 수정 2018-12-04 09:58:09 +09:00
leebokyung e8f233c280 모바일 파일첨부 틀어짐 2018-12-03 17:59:23 +09:00
leebokyung dc5adce95f 모바일 테스트중 2018-12-03 17:51:37 +09:00
leebokyung 8d14c95e5c 최신글 모바일 링크 변경 2018-12-03 17:46:26 +09:00
leebokyung 546424a045 모바일 게시판 뒤로가기 추가 2018-12-03 17:24:31 +09:00
leebokyung cd2deb541f 최신글 basic 글자크기 조절 2018-12-03 17:07:48 +09:00
leebokyung 2acac99875 최신댓글 수정 2018-12-03 17:04:40 +09:00
leebokyung b08204d5a8 투표 input radio 색상 변경, 피씨 테스트 수정중 2018-12-03 16:44:06 +09:00
leebokyung 6ee46fd0c9 설문조사 팝업 여백 2018-12-03 16:34:28 +09:00
leebokyung 95234c0da5 공유하기 틀어진것 잡음 2018-12-03 16:30:19 +09:00
leebokyung fb7fd98b77 버튼목록 팝업처리 백그라운드 이미지2 2018-12-03 16:27:36 +09:00
leebokyung da14696e0c 버튼목록 팝업처리 백그라운드 이미지 2018-12-03 16:26:48 +09:00
leebokyung b8f5356c93 댓글 비밀글 2018-12-03 16:12:15 +09:00
leebokyung 304984db63 댓글창 수정 2018-12-03 15:41:30 +09:00
leebokyung e7e0649173 게시판 글쓰기 랙 2018-12-03 15:27:55 +09:00
leebokyung cfe9003154 테스트중 오류 정리중 2018-12-03 15:01:50 +09:00
leebokyung f4b30a878e 테마 테스트중 2018-12-03 13:21:30 +09:00
leebokyung 1eb10c9367 모바일 완료, PC+모바일 테스트중 2018-11-30 17:58:20 +09:00
leebokyung 4b6f94fe8c 모바일 정리중 2018-11-29 18:01:14 +09:00
thisgun 669770c1f1 Merge branch 'master' of https://github.com/gnuboard/g5 into g54 2018-11-28 19:12:15 +09:00
leebokyung 37737d5554 게 시 판 2018-11-28 17:25:16 +09:00
leebokyung fe0f35a59c 모바일 게시판 회원가입 2018-11-28 12:04:34 +09:00
leebokyung 7414fed364 모바일 퍼블리싱 / 금요일 오후 작업 포함 2018-11-27 11:51:27 +09:00
thisgun c43dc3ee9e Merge branch 'master' of github.com:gnuboard/g5 into g54 2018-11-22 18:16:52 +09:00
leebokyung 71f6c8e852 모바일 사이드메뉴, 검색창, 인기검색어, 접속자집계, 최신글 수정중 2018-11-22 17:45:36 +09:00
leebokyung d23eda245f faq, 포인트, 아웃로그인 2018-11-22 12:18:01 +09:00
leebokyung 4922c46e7b ¸ð¹ÙÀÏ »õ±Û, ¹湮ÀÚ, °˻ö, ¼³¹®Á¶»ç 2018-11-21 17:58:50 +09:00
leebokyung a382a049c6 PC 정리 완료~ 2018-11-20 16:44:30 +09:00
leebokyung db813d69bd qa, write, view, comment 2018-11-19 17:46:12 +09:00
leebokyung 9dacee38d3 팝업창 정리중, 게시판뷰 수정, 갤러리, 쪽지 2018-11-16 17:44:54 +09:00
leebokyung 6510d79217 faq 2018-11-15 17:48:59 +09:00
leebokyung 579e9ba598 로그인, 투표결과, 새글, 포인트, 스크랩 2018-11-15 17:00:34 +09:00
leebokyung 6877f818e1 검색창 옵션 or&and 2018-11-14 18:00:09 +09:00
leebokyung 0913dba0ee 검색, 방문자, 게시판 수정중 2018-11-14 16:57:32 +09:00
leebokyung 961d45b607 게시판 옵션 수정중 2018-11-14 12:14:27 +09:00
leebokyung d11010e6d4 회원가입,소셜,쪽지 수정중 2018-11-13 17:52:50 +09:00
leebokyung 17d10c3c37 아이콘 전체 수정, 최신글 코드 변경, tnb 2018-11-13 12:21:05 +09:00
leebokyung aad3eca303 메인 정리, 게시판 작업중 2018-11-12 17:58:58 +09:00
leebokyung 5f766ae06b 최신글, header, 접속자집계, gnb 푸터 수정중 2018-11-12 12:20:17 +09:00
leebokyung 8ba8b87690 로그인, 최신글, 설문조사, 헤더 수정중 2018-11-09 17:55:41 +09:00
leebokyung 3faf265c46 메인화면 정리중 2018-11-09 12:28:09 +09:00
leebokyung 7c01ab8f32 5.4버전 테마폴더 생성 2018-11-08 09:42:42 +09:00
thisgun 4376f39504 아이디 암호화 복호화 함수 원래대로 수정 2018-11-02 14:36:16 +09:00
thisgun 8b76de6650 잘못된 인스톨 코드 수정 2018-11-02 10:42:17 +09:00
thisgun 575a54b766 url 설정 설명문 수정 2018-11-02 10:35:49 +09:00
thisgun 517ce64fda 잘못된 취소 링크 수정 2018-11-02 09:36:43 +09:00
thisgun e1c071a596 게시판 비밀번호 저장 방식 및 여러가지 문제점 수정 2018-11-02 09:02:37 +09:00
thisgun 704ae9863f 쪽지 및 게시판 회원 코드 수정 2018-11-01 09:46:26 +09:00
thisgun fd1d53931a 충돌 수정 2018-10-31 12:28:29 +09:00
thisgun 8fcfc3a7ed Merge branch 'master' of https://github.com/gnuboard/g5 into g54 2018-10-31 12:26:20 +09:00
thisgun c55a0e4600 틀린 코드 수정 2018-10-31 11:38:46 +09:00
thisgun 73fa80fc52 hook 코드 및 회원 조회 함수명 변경 2018-10-30 18:08:57 +09:00
thisgun 0954bd8b5f 잘못된 rewrite 규칙 수정 2018-10-24 18:32:54 +09:00
thisgun cf566e3512 URL 타이틀 지정 코드 수정 2018-10-24 13:53:44 +09:00
thisgun eca24d196e url 관련 코드 수정 2018-10-24 11:05:48 +09:00
thisgun 7f22566ecd 잘못된 구문 수정 2018-10-22 19:07:50 +09:00
thisgun c84efa72a4 Merge branch 'master' of https://github.com/gnuboard/g5 into g54 2018-10-22 17:55:29 +09:00
thisgun 866f49ec47 pbkdf2 암호화 적용 2018-10-22 17:53:38 +09:00
thisgun e40344fe96 Merge branch 'master' of https://github.com/gnuboard/g5 into g54 2018-10-18 11:43:40 +09:00
thisgun ffdbaa5680 Merge branch 'g54' of https://github.com/gnuboard/g5 into g54 2018-10-12 18:01:48 +09:00
thisgun 6f19c8141a Merge branch 'master' of https://github.com/gnuboard/g5 into g54 2018-10-12 17:57:45 +09:00
thisgun 082f0c43ee seo_title 저장 코드 수정 2018-10-12 17:57:34 +09:00
thisgun c8a9576d63 패스워드 체크 과정 빠진 부분 추가 2018-10-11 11:27:18 +09:00
thisgun a5bd3841dd Merge branch 'master' of github.com:gnuboard/g5 into pbkdf2 2018-10-11 11:07:30 +09:00
thisgun 352cf06944 pbkdf2 암호화 함수 적용 2018-10-11 09:59:42 +09:00
thisgun c4a326cd48 Merge branch 'g54' of github.com:gnuboard/g5 into g54 2018-10-04 10:58:34 +09:00
thisgun c742b3fff8 권한 문구 수정 2018-10-04 10:58:20 +09:00
thisgun 100328a031 일부 리라이트 규칙 수정 2018-10-04 10:52:24 +09:00
thisgun e21429167b 리라이트 규칙 수정 2018-10-02 17:04:54 +09:00
thisgun 8d7c0005e4 틀린 구문 수정 2018-10-02 11:47:29 +09:00
thisgun f5155c4fed 충돌 수정 2018-10-01 18:47:09 +09:00
thisgun f6d994d810 리라이트 규칙 수정 2018-10-01 18:35:08 +09:00
thisgun 2757fb46f1 Merge branch 'g54' of github.com:gnuboard/g5 into g54 2018-10-01 14:23:55 +09:00
thisgun e17e4dc869 KVE-2018-0732 취약점 수정 2018-10-01 11:49:08 +09:00
thisgun 75b6116057 짧은 주소 적용 2018-09-21 18:16:54 +09:00
thisgun cbeef0e453 짧은 주소 url 수정 2018-09-20 09:29:08 +09:00
thisgun 7547b6e0ab Merge branch 'master' of github.com:gnuboard/g5 into g54 2018-09-18 09:18:47 +09:00
thisgun e61dc3534f rewrite 수정 2018-09-18 09:18:39 +09:00
thisgun 92a27cb64a 충돌 수정 2018-09-14 16:16:56 +09:00
thisgun db2b8a2f9b Merge branch 'g54' of https://github.com/gnuboard/g5 into g54 2018-09-14 09:41:58 +09:00
thisgun 561d2ffd52 rewrite 수정 2018-09-14 09:41:35 +09:00
thisgun 6b9cbb9612 버그 수정 2018-09-13 13:47:47 +09:00
thisgun 27e0a541c7 잘못된 구문 수정 2018-09-13 12:22:02 +09:00
thisgun 16907801b7 짧은 주소 작업중 2018-09-13 10:42:56 +09:00
thisgun 7c1e1e6240 짧은 URL 적용중 2018-09-11 09:32:08 +09:00
thisgun 58b86e556a 짧은 URL 적용 수정중 2018-09-07 18:00:46 +09:00
thisgun f66300a394 짧은주소 수정중 2018-09-06 18:34:14 +09:00
thisgun 25bd7430fc 일부 코드 수정 2018-09-06 17:21:27 +09:00
193 changed files with 620 additions and 5926 deletions

No files matched your search

-2
View File
@@ -6,6 +6,4 @@ include_once(G5_ADMIN_PATH.'/admin.lib.php');
if( isset($token) ){ if( isset($token) ){
$token = @htmlspecialchars(strip_tags($token), ENT_QUOTES); $token = @htmlspecialchars(strip_tags($token), ENT_QUOTES);
} }
run_event('admin_common');
?> ?>
+1 -1
View File
@@ -108,7 +108,7 @@ function get_ajax_token()
} }
$(function() { $(function() {
$(document).on("click", "form input:submit, form button:submit", function() { $(document).on("click", "form input:submit", function() {
var f = this.form; var f = this.form;
var token = get_ajax_token(); var token = get_ajax_token();
-36
View File
@@ -486,37 +486,6 @@ function admin_check_xss_params($params){
return; return;
} }
function admin_menu_find_by($call, $search_key){
global $menu;
static $cache_menu = array();
if( empty($cache_menu) ){
foreach( $menu as $k1=>$arr1 ){
if (empty($arr1) ) continue;
foreach( $arr1 as $k2=>$arr2 ){
if (empty($arr2) ) continue;
$menu_key = isset($arr2[3]) ? $arr2[3] : '';
if (empty($menu_key) ) continue;
$cache_menu[$menu_key] = array(
'sub_menu'=>$arr2[0],
'title'=>$arr2[1],
'link'=>$arr2[2],
);
}
}
}
if( isset($cache_menu[$call]) && isset($cache_menu[$call][$search_key]) ){
return$cache_menu[$call][$search_key];
}
return '';
}
// 접근 권한 검사 // 접근 권한 검사
if (!$member['mb_id']) if (!$member['mb_id'])
{ {
@@ -572,11 +541,6 @@ foreach($menu_files as $file){
} }
@ksort($amenu); @ksort($amenu);
$amenu = run_replace('admin_amenu', $amenu);
if( isset($menu) && $menu ){
$menu = run_replace('admin_menu', $menu);
}
$arr_query = array(); $arr_query = array();
if (isset($sst)) $arr_query[] = 'sst='.$sst; if (isset($sst)) $arr_query[] = 'sst='.$sst;
if (isset($sod)) $arr_query[] = 'sod='.$sod; if (isset($sod)) $arr_query[] = 'sod='.$sod;
-13
View File
@@ -58,19 +58,6 @@ include_once(G5_PATH.'/head.sub.php');
<script> <script>
function fboardcopy_check(f) function fboardcopy_check(f)
{ {
<?php
if(!$w){
$js_array = get_bo_table_banned_word();
echo "var banned_array = ". json_encode($js_array) . ";\n";
}
?>
// 게시판명이 금지된 단어로 되어 있으면
if( (typeof banned_array != 'undefined') && jQuery.inArray(f.target_table.value, banned_array) !== -1 ){
alert("입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.");
return false;
}
if (f.bo_table.value == f.target_table.value) { if (f.bo_table.value == f.target_table.value) {
alert("원본 테이블명과 복사할 테이블명이 달라야 합니다."); alert("원본 테이블명과 복사할 테이블명이 달라야 합니다.");
return false; return false;
-14
View File
@@ -15,11 +15,6 @@ if (!preg_match('/[A-Za-z0-9_]{1,20}/', $target_table)) {
alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)'); alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)');
} }
// 게시판명이 금지된 단어로 되어 있으면
if ( $w == '' && in_array($target_table, get_bo_table_banned_word()) ){
alert('입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.');
}
$row = sql_fetch(" select count(*) as cnt from {$g5['board_table']} where bo_table = '$target_table' "); $row = sql_fetch(" select count(*) as cnt from {$g5['board_table']} where bo_table = '$target_table' ");
if ($row['cnt']) if ($row['cnt'])
alert($target_table.'은(는) 이미 존재하는 게시판 테이블명 입니다.\\n복사할 테이블명으로 사용할 수 없습니다.'); alert($target_table.'은(는) 이미 존재하는 게시판 테이블명 입니다.\\n복사할 테이블명으로 사용할 수 없습니다.');
@@ -165,8 +160,6 @@ if ($copy_case == 'schema_data_both') {
} }
} }
$d->close(); $d->close();
run_event('admin_board_copy_file', $bo_table, $target_table);
// 글복사 // 글복사
$sql = " insert into {$g5['write_prefix']}$target_table select * from {$g5['write_prefix']}$bo_table "; $sql = " insert into {$g5['write_prefix']}$target_table select * from {$g5['write_prefix']}$bo_table ";
@@ -188,9 +181,6 @@ if ($copy_case == 'schema_data_both') {
if (count($file_copy)) { if (count($file_copy)) {
for ($i=0; $i<count($file_copy); $i++) { for ($i=0; $i<count($file_copy); $i++) {
$file_copy[$i] = run_replace('admin_copy_update_file', $file_copy[$i], $file_copy[$i]['bf_file'], $bo_table, $target_table);
$sql = " insert into {$g5['board_file_table']} $sql = " insert into {$g5['board_file_table']}
set bo_table = '$target_table', set bo_table = '$target_table',
wr_id = '{$file_copy[$i]['wr_id']}', wr_id = '{$file_copy[$i]['wr_id']}',
@@ -199,15 +189,11 @@ if (count($file_copy)) {
bf_file = '{$file_copy[$i]['bf_file']}', bf_file = '{$file_copy[$i]['bf_file']}',
bf_download = '{$file_copy[$i]['bf_download']}', bf_download = '{$file_copy[$i]['bf_download']}',
bf_content = '".addslashes($file_copy[$i]['bf_content'])."', bf_content = '".addslashes($file_copy[$i]['bf_content'])."',
bf_fileurl = '".addslashes($file_copy[$i]['bf_fileurl'])."',
bf_thumburl = '".addslashes($file_copy[$i]['bf_thumburl'])."',
bf_storage = '".addslashes($file_copy[$i]['bf_storage'])."',
bf_filesize = '{$file_copy[$i]['bf_filesize']}', bf_filesize = '{$file_copy[$i]['bf_filesize']}',
bf_width = '{$file_copy[$i]['bf_width']}', bf_width = '{$file_copy[$i]['bf_width']}',
bf_height = '{$file_copy[$i]['bf_height']}', bf_height = '{$file_copy[$i]['bf_height']}',
bf_type = '{$file_copy[$i]['bf_type']}', bf_type = '{$file_copy[$i]['bf_type']}',
bf_datetime = '{$file_copy[$i]['bf_datetime']}' "; bf_datetime = '{$file_copy[$i]['bf_datetime']}' ";
sql_query($sql, false); sql_query($sql, false);
} }
} }
+19 -30
View File
@@ -1114,23 +1114,25 @@ $pg_anchor = '<ul class="anchor">
<td> <td>
<?php echo help('리스트에서 기본으로 정렬에 사용할 필드를 선택합니다. "기본"으로 사용하지 않으시는 경우 속도가 느려질 수 있습니다.') ?> <?php echo help('리스트에서 기본으로 정렬에 사용할 필드를 선택합니다. "기본"으로 사용하지 않으시는 경우 속도가 느려질 수 있습니다.') ?>
<select id="bo_sort_field" name="bo_sort_field"> <select id="bo_sort_field" name="bo_sort_field">
<?php foreach( get_board_sort_fields($board) as $v ){ <option value="" <?php echo get_selected($board['bo_sort_field'], ""); ?>>wr_num, wr_reply : 기본</option>
<option value="wr_datetime asc" <?php echo get_selected($board['bo_sort_field'], "wr_datetime asc"); ?>>wr_datetime asc : 날짜 이전것 부터</option>
$option_value = $order_by_str = $v[0]; <option value="wr_datetime desc" <?php echo get_selected($board['bo_sort_field'], "wr_datetime desc"); ?>>wr_datetime desc : 날짜 최근것 부터</option>
if( $v[0] === 'wr_num, wr_reply' ){ <option value="wr_hit asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_hit asc, wr_num, wr_reply"); ?>>wr_hit asc : 조회수 낮은것 부터</option>
$selected = (! $board['bo_sort_field']) ? 'selected="selected"' : ''; <option value="wr_hit desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_hit desc, wr_num, wr_reply"); ?>>wr_hit desc : 조회수 높은것 부터</option>
$option_value = ''; <option value="wr_last asc" <?php echo get_selected($board['bo_sort_field'], "wr_last asc"); ?>>wr_last asc : 최근글 이전것 부터</option>
} else { <option value="wr_last desc" <?php echo get_selected($board['bo_sort_field'], "wr_last desc"); ?>>wr_last desc : 최근글 최근것 부터</option>
$selected = ($board['bo_sort_field'] === $v[0]) ? 'selected="selected"' : ''; <option value="wr_comment asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_comment asc, wr_num, wr_reply"); ?>>wr_comment asc : 댓글수 낮은것 부터</option>
} <option value="wr_comment desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_comment desc, wr_num, wr_reply"); ?>>wr_comment desc : 댓글수 높은것 부터</option>
<option value="wr_good asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_good asc, wr_num, wr_reply"); ?>>wr_good asc : 추천수 낮은것 부터</option>
if( $order_by_str !== 'wr_num, wr_reply' ){ <option value="wr_good desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_good desc, wr_num, wr_reply"); ?>>wr_good desc : 추천수 높은것 부터</option>
$tmp = explode(',', $v[0]); <option value="wr_nogood asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_nogood asc, wr_num, wr_reply"); ?>>wr_nogood asc : 비추천수 낮은것 부터</option>
$order_by_str = $tmp[0]; <option value="wr_nogood desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_nogood desc, wr_num, wr_reply"); ?>>wr_nogood desc : 비추천수 높은것 부터</option>
} <option value="wr_subject asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_subject asc, wr_num, wr_reply"); ?>>wr_subject asc : 제목 오름차순</option>
<option value="wr_subject desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_subject desc, wr_num, wr_reply"); ?>>wr_subject desc : 제목 내림차순</option>
echo '<option value="'.$option_value.'" '.$selected.' >'.$order_by_str.' : '.$v[1].'</option>'; <option value="wr_name asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_name asc, wr_num, wr_reply"); ?>>wr_name asc : 글쓴이 오름차순</option>
} //end foreach ?> <option value="wr_name desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_name desc, wr_num, wr_reply"); ?>>wr_name desc : 글쓴이 내림차순</option>
<option value="ca_name asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "ca_name asc, wr_num, wr_reply"); ?>>ca_name asc : 분류명 오름차순</option>
<option value="ca_name desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "ca_name desc, wr_num, wr_reply"); ?>>ca_name desc : 분류명 내림차순</option>
</select> </select>
</td> </td>
<td class="td_grpset"> <td class="td_grpset">
@@ -1372,19 +1374,6 @@ jQuery(function($){
function fboardform_submit(f) function fboardform_submit(f)
{ {
<?php
if(!$w){
$js_array = get_bo_table_banned_word();
echo "var banned_array = ". json_encode($js_array) . ";\n";
}
?>
// 게시판명이 금지된 단어로 되어 있으면
if( (typeof banned_array != 'undefined') && jQuery.inArray(f.bo_table.value, banned_array) !== -1 ){
alert("입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.");
return false;
}
<?php echo get_editor_js("bo_content_head"); ?> <?php echo get_editor_js("bo_content_head"); ?>
<?php echo get_editor_js("bo_content_tail"); ?> <?php echo get_editor_js("bo_content_tail"); ?>
<?php echo get_editor_js("bo_mobile_content_head"); ?> <?php echo get_editor_js("bo_mobile_content_head"); ?>
+6 -11
View File
@@ -17,11 +17,6 @@ if (!$bo_table) { alert('게시판 TABLE명은 반드시 입력하세요.'); }
if (!preg_match("/^([A-Za-z0-9_]{1,20})$/", $bo_table)) { alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)'); } if (!preg_match("/^([A-Za-z0-9_]{1,20})$/", $bo_table)) { alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)'); }
if (!$_POST['bo_subject']) { alert('게시판 제목을 입력하세요.'); } if (!$_POST['bo_subject']) { alert('게시판 제목을 입력하세요.'); }
// 게시판명이 금지된 단어로 되어 있으면
if ( $w == '' && in_array($bo_table, get_bo_table_banned_word()) ){
alert('입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.');
}
$bo_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($bo_include_head, 0, 255)); $bo_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($bo_include_head, 0, 255));
$bo_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($bo_include_tail, 0, 255)); $bo_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($bo_include_tail, 0, 255));
@@ -76,12 +71,12 @@ $f = @fopen($file, 'w');
// 분류에 & 나 = 는 사용이 불가하므로 2바이트로 바꾼다. // 분류에 & 나 = 는 사용이 불가하므로 2바이트로 바꾼다.
$src_char = array('&', '='); $src_char = array('&', '=');
$dst_char = array('&', '〓'); $dst_char = array('&', '〓');
$bo_category_list = isset($_POST['bo_category_list']) ? str_replace($src_char, $dst_char, $_POST['bo_category_list']) : ''; $bo_category_list = str_replace($src_char, $dst_char, $bo_category_list);
//https://github.com/gnuboard/gnuboard5/commit/f5f4925d4eb28ba1af728e1065fc2bdd9ce1da58 에 따른 조치 //https://github.com/gnuboard/gnuboard5/commit/f5f4925d4eb28ba1af728e1065fc2bdd9ce1da58 에 따른 조치
$str_bo_category_list = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*]/", "", $bo_category_list); $str_bo_category_list = isset($_POST['bo_category_list']) ? preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*]/", "", $_POST['bo_category_list']) : '';
$_POST['bo_subject'] = strip_tags(clean_xss_attributes($_POST['bo_subject'])); $_POST['bo_subject'] = strip_tags($_POST['bo_subject']);
$_POST['bo_mobile_subject'] = strip_tags(clean_xss_attributes($_POST['bo_mobile_subject'])); $_POST['bo_mobile_subject'] = strip_tags($_POST['bo_mobile_subject']);
$sql_common = " gr_id = '{$gr_id}', $sql_common = " gr_id = '{$gr_id}',
bo_subject = '{$_POST['bo_subject']}', bo_subject = '{$_POST['bo_subject']}',
@@ -289,7 +284,7 @@ if (is_checked('chk_grp_write_point')) $grp_fields .= " , bo_write_poin
if (is_checked('chk_grp_comment_point')) $grp_fields .= " , bo_comment_point = '{$bo_comment_point}' "; if (is_checked('chk_grp_comment_point')) $grp_fields .= " , bo_comment_point = '{$bo_comment_point}' ";
if (is_checked('chk_grp_download_point')) $grp_fields .= " , bo_download_point = '{$bo_download_point}' "; if (is_checked('chk_grp_download_point')) $grp_fields .= " , bo_download_point = '{$bo_download_point}' ";
if (is_checked('chk_grp_category_list')) { if (is_checked('chk_grp_category_list')) {
$grp_fields .= " , bo_category_list = '{$str_bo_category_list}' "; $grp_fields .= " , bo_category_list = '{$bo_category_list}' ";
$grp_fields .= " , bo_use_category = '{$bo_use_category}' "; $grp_fields .= " , bo_use_category = '{$bo_use_category}' ";
} }
if (is_checked('chk_grp_use_sideview')) $grp_fields .= " , bo_use_sideview = '{$bo_use_sideview}' "; if (is_checked('chk_grp_use_sideview')) $grp_fields .= " , bo_use_sideview = '{$bo_use_sideview}' ";
@@ -378,7 +373,7 @@ if (is_checked('chk_all_write_point')) $all_fields .= " , bo_write_poin
if (is_checked('chk_all_comment_point')) $all_fields .= " , bo_comment_point = '{$bo_comment_point}' "; if (is_checked('chk_all_comment_point')) $all_fields .= " , bo_comment_point = '{$bo_comment_point}' ";
if (is_checked('chk_all_download_point')) $all_fields .= " , bo_download_point = '{$bo_download_point}' "; if (is_checked('chk_all_download_point')) $all_fields .= " , bo_download_point = '{$bo_download_point}' ";
if (is_checked('chk_all_category_list')) { if (is_checked('chk_all_category_list')) {
$all_fields .= " , bo_category_list = '{$str_bo_category_list}' "; $all_fields .= " , bo_category_list = '{$bo_category_list}' ";
$all_fields .= " , bo_use_category = '{$bo_use_category}' "; $all_fields .= " , bo_use_category = '{$bo_use_category}' ";
} }
if (is_checked('chk_all_use_sideview')) $all_fields .= " , bo_use_sideview = '{$bo_use_sideview}' "; if (is_checked('chk_all_use_sideview')) $all_fields .= " , bo_use_sideview = '{$bo_use_sideview}' ";
+1 -7
View File
@@ -10,10 +10,6 @@ if (!count($_POST['chk'])) {
check_admin_token(); check_admin_token();
$act_button = isset($_POST['act_button']) ? strip_tags($_POST['act_button']) : '';
$chk = (isset($_POST['chk']) && is_array($_POST['chk'])) ? $_POST['chk'] : array();
$board_table = (isset($_POST['board_table']) && is_array($_POST['board_table'])) ? $_POST['board_table'] : array();
if ($_POST['act_button'] == "선택수정") { if ($_POST['act_button'] == "선택수정") {
auth_check($auth[$sub_menu], 'w'); auth_check($auth[$sub_menu], 'w');
@@ -33,7 +29,7 @@ if ($_POST['act_button'] == "선택수정") {
alert('최고관리자가 아닌 경우 다른 관리자의 게시판('.$board_table[$k].')은 수정이 불가합니다.'); alert('최고관리자가 아닌 경우 다른 관리자의 게시판('.$board_table[$k].')은 수정이 불가합니다.');
} }
$p_bo_subject = is_array($_POST['bo_subject']) ? strip_tags(clean_xss_attributes($_POST['bo_subject'][$k])) : ''; $p_bo_subject = is_array($_POST['bo_subject']) ? strip_tags($_POST['bo_subject'][$k]) : '';
$sql = " update {$g5['board_table']} $sql = " update {$g5['board_table']}
set gr_id = '".sql_real_escape_string(strip_tags($_POST['gr_id'][$k]))."', set gr_id = '".sql_real_escape_string(strip_tags($_POST['gr_id'][$k]))."',
@@ -78,7 +74,5 @@ if ($_POST['act_button'] == "선택수정") {
} }
run_event('admin_board_list_update', $act_button, $chk, $board_table, $qstr);
goto_url('./board_list.php?'.$qstr); goto_url('./board_list.php?'.$qstr);
?> ?>
+1 -1
View File
@@ -16,7 +16,7 @@ if (!preg_match("/^([A-Za-z0-9_]{1,10})$/", $_POST['gr_id']))
if (!$gr_subject) alert('그룹 제목을 입력하세요.'); if (!$gr_subject) alert('그룹 제목을 입력하세요.');
$gr_subject = isset($_POST['gr_subject']) ? strip_tags(clean_xss_attributes($_POST['gr_subject'])) : ''; $gr_subject = isset($_POST['gr_subject']) ? strip_tags($_POST['gr_subject']) : '';
$sql_common = " gr_subject = '{$gr_subject}', $sql_common = " gr_subject = '{$gr_subject}',
gr_device = '{$_POST['gr_device']}', gr_device = '{$_POST['gr_device']}',
+4 -4
View File
@@ -124,10 +124,10 @@ $colspan = 10;
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_chk"> <td class="td_chk">
<input type="hidden" name="group_id[<?php echo $i ?>]" value="<?php echo $row['gr_id'] ?>"> <input type="hidden" name="group_id[<?php echo $i ?>]" value="<?php echo $row['gr_id'] ?>">
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo get_text($row['gr_subject']); ?> 그룹</label> <label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['gr_subject'] ?> 그룹</label>
<input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>"> <input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>">
</td> </td>
<td class="td_left"><a href="<?php echo G5_BBS_URL ?>/group.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo $row['gr_id'] ?></a></td> <td class="td_left"><a href="<?php echo get_pretty_url(G5_GROUP_DIR, $row['gr_id']); ?>"><?php echo $row['gr_id'] ?></a></td>
<td class="td_input"> <td class="td_input">
<label for="gr_subject_<?php echo $i; ?>" class="sound_only">그룹제목</label> <label for="gr_subject_<?php echo $i; ?>" class="sound_only">그룹제목</label>
<input type="text" name="gr_subject[<?php echo $i ?>]" value="<?php echo get_text($row['gr_subject']) ?>" id="gr_subject_<?php echo $i ?>" class="tbl_input"> <input type="text" name="gr_subject[<?php echo $i ?>]" value="<?php echo get_text($row['gr_subject']) ?>" id="gr_subject_<?php echo $i ?>" class="tbl_input">
@@ -135,9 +135,9 @@ $colspan = 10;
<td class="td_mng td_input"> <td class="td_mng td_input">
<?php if ($is_admin == 'super'){ ?> <?php if ($is_admin == 'super'){ ?>
<label for="gr_admin_<?php echo $i; ?>" class="sound_only">그룹관리자</label> <label for="gr_admin_<?php echo $i; ?>" class="sound_only">그룹관리자</label>
<input type="text" name="gr_admin[<?php echo $i ?>]" value="<?php echo get_sanitize_input($row['gr_admin']); ?>" id="gr_admin_<?php echo $i ?>" class="tbl_input" size="10" maxlength="20"> <input type="text" name="gr_admin[<?php echo $i ?>]" value="<?php echo $row['gr_admin'] ?>" id="gr_admin_<?php echo $i ?>" class="tbl_input" size="10" maxlength="20">
<?php }else{ ?> <?php }else{ ?>
<input type="hidden" name="gr_admin[<?php echo $i ?>]" value="<?php echo get_sanitize_input($row['gr_admin']); ?>"><?php echo get_text($row['gr_admin']); ?> <input type="hidden" name="gr_admin[<?php echo $i ?>]" value="<?php echo $row['gr_admin'] ?>"><?php echo $row['gr_admin'] ?>
<?php } ?> <?php } ?>
</td> </td>
<td class="td_num"><a href="./board_list.php?sfl=a.gr_id&amp;stx=<?php echo $row['gr_id'] ?>"><?php echo $row2['cnt'] ?></a></td> <td class="td_num"><a href="./board_list.php?sfl=a.gr_id&amp;stx=<?php echo $row['gr_id'] ?>"><?php echo $row2['cnt'] ?></a></td>
+2 -2
View File
@@ -19,8 +19,8 @@ for ($i=0; $i<$count; $i++)
{ {
$k = $_POST['chk'][$i]; $k = $_POST['chk'][$i];
$gr_id = preg_replace('/[^a-z0-9_]/i', '', $_POST['group_id'][$k]); $gr_id = preg_replace('/[^a-z0-9_]/i', '', $_POST['group_id'][$k]);
$gr_subject = is_array($_POST['gr_subject']) ? strip_tags(clean_xss_attributes($_POST['gr_subject'][$k])) : ''; $gr_subject = is_array($_POST['gr_subject']) ? strip_tags($_POST['gr_subject'][$k]) : '';
$gr_admin = is_array($_POST['gr_admin']) ? strip_tags(clean_xss_attributes($_POST['gr_admin'][$k])) : ''; $gr_admin = is_array($_POST['gr_admin']) ? strip_tags($_POST['gr_admin'][$k]) : '';
if($_POST['act_button'] == '선택수정') { if($_POST['act_button'] == '선택수정') {
$sql = " update {$g5['group_table']} $sql = " update {$g5['group_table']}
+1 -1
View File
@@ -85,7 +85,7 @@ $colspan = 4;
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['gr_subject'] ?> 그룹</label> <label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['gr_subject'] ?> 그룹</label>
<input type="checkbox" name="chk[]" value="<?php echo $row['gm_id'] ?>" id="chk_<?php echo $i ?>"> <input type="checkbox" name="chk[]" value="<?php echo $row['gm_id'] ?>" id="chk_<?php echo $i ?>">
</td> </td>
<td class="td_grid"><a href="<?php echo G5_BBS_URL; ?>/group.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo $row['gr_id'] ?></a></td> <td class="td_grid"><a href="<?php echo get_pretty_url(G5_GROUP_DIR, $row['gr_id']); ?>"><?php echo $row['gr_id'] ?></a></td>
<td class="td_category"><?php echo $row['gr_subject'] ?></td> <td class="td_category"><?php echo $row['gr_subject'] ?></td>
<td class="td_datetime"><?php echo $row['gm_datetime'] ?></td> <td class="td_datetime"><?php echo $row['gm_datetime'] ?></td>
</tr> </tr>
-7
View File
@@ -10,8 +10,6 @@ if(function_exists('social_log_file_delete')){
social_log_file_delete(); social_log_file_delete();
} }
run_event('adm_cache_file_delete_before');
$g5['title'] = '캐시파일 일괄삭제'; $g5['title'] = '캐시파일 일괄삭제';
include_once('./admin.head.php'); include_once('./admin.head.php');
?> ?>
@@ -33,9 +31,6 @@ $cnt=0;
echo '<ul class="session_del">'.PHP_EOL; echo '<ul class="session_del">'.PHP_EOL;
$files = glob(G5_DATA_PATH.'/cache/latest-*'); $files = glob(G5_DATA_PATH.'/cache/latest-*');
$content_files = glob(G5_DATA_PATH.'/cache/content-*');
$files = array_merge($files, $content_files);
if (is_array($files)) { if (is_array($files)) {
foreach ($files as $cache_file) { foreach ($files as $cache_file) {
$cnt++; $cnt++;
@@ -49,8 +44,6 @@ if (is_array($files)) {
} }
} }
run_event('adm_cache_file_delete');
echo '<li>완료됨</li></ul>'.PHP_EOL; echo '<li>완료됨</li></ul>'.PHP_EOL;
echo '<div class="local_desc01 local_desc"><p><strong>최신글 캐시파일 '.$cnt.'건 삭제 완료됐습니다.</strong><br>프로그램의 실행을 끝마치셔도 좋습니다.</p></div>'.PHP_EOL; echo '<div class="local_desc01 local_desc"><p><strong>최신글 캐시파일 '.$cnt.'건 삭제 완료됐습니다.</strong><br>프로그램의 실행을 끝마치셔도 좋습니다.</p></div>'.PHP_EOL;
?> ?>
+2 -2
View File
@@ -321,7 +321,7 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
<tbody> <tbody>
<tr> <tr>
<th scope="row"><label for="cf_title">홈페이지 제목<strong class="sound_only">필수</strong></label></th> <th scope="row"><label for="cf_title">홈페이지 제목<strong class="sound_only">필수</strong></label></th>
<td colspan="3"><input type="text" name="cf_title" value="<?php echo get_sanitize_input($config['cf_title']); ?>" id="cf_title" required class="required frm_input" size="40"></td> <td colspan="3"><input type="text" name="cf_title" value="<?php echo $config['cf_title'] ?>" id="cf_title" required class="required frm_input" size="40"></td>
</tr> </tr>
<tr> <tr>
<th scope="row"><label for="cf_admin">최고관리자<strong class="sound_only">필수</strong></label></th> <th scope="row"><label for="cf_admin">최고관리자<strong class="sound_only">필수</strong></label></th>
@@ -1089,7 +1089,7 @@ include_once('_rewrite_config_form.php');
<input type="checkbox" name="cf_social_servicelist[]" id="check_social_kakao" value="kakao" <?php echo option_array_checked('kakao', $config['cf_social_servicelist']); ?> > <input type="checkbox" name="cf_social_servicelist[]" id="check_social_kakao" value="kakao" <?php echo option_array_checked('kakao', $config['cf_social_servicelist']); ?> >
<label for="check_social_kakao">카카오 로그인을 사용합니다</label> <label for="check_social_kakao">카카오 로그인을 사용합니다</label>
<div> <div>
<h3>카카오 로그인 Redirect URI</h3> <h3>카카오 웹 Redirect Path</h3>
<p><?php echo get_social_callbackurl('kakao', true); ?></p> <p><?php echo get_social_callbackurl('kakao', true); ?></p>
</div> </div>
</div> </div>
+1 -1
View File
@@ -26,7 +26,7 @@ if(!$_POST['cf_cert_use']) {
$cf_social_servicelist = !empty($_POST['cf_social_servicelist']) ? implode(',', $_POST['cf_social_servicelist']) : ''; $cf_social_servicelist = !empty($_POST['cf_social_servicelist']) ? implode(',', $_POST['cf_social_servicelist']) : '';
$_POST['cf_title'] = strip_tags(clean_xss_attributes($_POST['cf_title'])); $_POST['cf_title'] = strip_tags($_POST['cf_title']);
$check_keys = array('cf_lg_mid', 'cf_lg_mert_key', 'cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key', 'cf_naver_clientid', 'cf_naver_secret', 'cf_facebook_appid', 'cf_facebook_secret', 'cf_twitter_key', 'cf_twitter_secret', 'cf_google_clientid', 'cf_google_secret', 'cf_googl_shorturl_apikey', 'cf_kakao_rest_key', 'cf_kakao_client_secret', 'cf_kakao_js_apikey', 'cf_payco_clientid', 'cf_payco_secret'); $check_keys = array('cf_lg_mid', 'cf_lg_mert_key', 'cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key', 'cf_naver_clientid', 'cf_naver_secret', 'cf_facebook_appid', 'cf_facebook_secret', 'cf_twitter_key', 'cf_twitter_secret', 'cf_google_clientid', 'cf_google_secret', 'cf_googl_shorturl_apikey', 'cf_kakao_rest_key', 'cf_kakao_client_secret', 'cf_kakao_js_apikey', 'cf_payco_clientid', 'cf_payco_secret');
+1 -1
View File
@@ -21,7 +21,7 @@ if ($w == "" || $w == "u")
} }
$co_id = preg_replace('/[^a-z0-9_]/i', '', $co_id); $co_id = preg_replace('/[^a-z0-9_]/i', '', $co_id);
$co_subject = strip_tags(clean_xss_attributes($co_subject)); $co_subject = strip_tags($co_subject);
$co_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_head, 0, 255)); $co_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_head, 0, 255));
$co_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_tail, 0, 255)); $co_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_tail, 0, 255));
$co_tag_filter_use = isset($_POST['co_tag_filter_use']) ? (int) $_POST['co_tag_filter_use'] : 1; $co_tag_filter_use = isset($_POST['co_tag_filter_use']) ? (int) $_POST['co_tag_filter_use'] : 1;
-30
View File
@@ -147,36 +147,6 @@ if(!isset($member['mb_memo_cnt'])) {
$is_check = true; $is_check = true;
} }
// 스크랩 읽은 수 추가
if(!isset($member['mb_scrap_cnt'])) {
sql_query(" ALTER TABLE `{$g5['member_table']}`
ADD `mb_scrap_cnt` int(11) NOT NULL DEFAULT '0' AFTER `mb_memo_cnt`", true);
$is_check = true;
}
// 짧은 URL 주소를 사용 여부 필드 추가
if (!isset($config['cf_bbs_rewrite'])) {
sql_query(" ALTER TABLE `{$g5['config_table']}`
ADD `cf_bbs_rewrite` tinyint(4) NOT NULL DEFAULT '0' AFTER `cf_link_target` ", true);
$is_check = true;
}
// 파일테이블에 추가 칼럼
$sql = " SHOW COLUMNS FROM `{$g5['board_file_table']}` LIKE 'bf_fileurl' ";
$row = sql_fetch($sql);
if( !$row ) {
sql_query(" ALTER TABLE `{$g5['board_file_table']}`
ADD COLUMN `bf_fileurl` VARCHAR(255) NOT NULL DEFAULT '' AFTER `bf_content`,
ADD COLUMN `bf_thumburl` VARCHAR(255) NOT NULL DEFAULT '' AFTER `bf_fileurl`,
ADD COLUMN `bf_storage` VARCHAR(50) NOT NULL DEFAULT '' AFTER `bf_thumburl`", true);
$is_check = true;
}
$is_check = run_replace('admin_dbupgrade', $is_check); $is_check = run_replace('admin_dbupgrade', $is_check);
$db_upgrade_msg = $is_check ? 'DB 업그레이드가 완료되었습니다.' : '더 이상 업그레이드 할 내용이 없습니다.<br>현재 DB 업그레이드가 완료된 상태입니다.'; $db_upgrade_msg = $is_check ? 'DB 업그레이드가 완료되었습니다.' : '더 이상 업그레이드 할 내용이 없습니다.<br>현재 DB 업그레이드가 완료된 상태입니다.';
+1 -1
View File
@@ -18,7 +18,7 @@ check_admin_token();
if ($fm_himg_del) @unlink(G5_DATA_PATH."/faq/{$fm_id}_h"); if ($fm_himg_del) @unlink(G5_DATA_PATH."/faq/{$fm_id}_h");
if ($fm_timg_del) @unlink(G5_DATA_PATH."/faq/{$fm_id}_t"); if ($fm_timg_del) @unlink(G5_DATA_PATH."/faq/{$fm_id}_t");
$fm_subject = strip_tags(clean_xss_attributes($fm_subject)); $fm_subject = strip_tags($fm_subject);
$sql_common = " set fm_subject = '$fm_subject', $sql_common = " set fm_subject = '$fm_subject',
fm_head_html = '$fm_head_html', fm_head_html = '$fm_head_html',
+1 -1
View File
@@ -42,7 +42,7 @@ include_once('./admin.head.php');
<tbody> <tbody>
<tr> <tr>
<th scope="row"><label for="ma_subject">메일 제목<strong class="sound_only">필수</strong></label></th> <th scope="row"><label for="ma_subject">메일 제목<strong class="sound_only">필수</strong></label></th>
<td><input type="text" name="ma_subject" value="<?php echo get_sanitize_input($ma['ma_subject']); ?>" id="ma_subject" required class="required frm_input" size="100"></td> <td><input type="text" name="ma_subject" value="<?php echo $ma['ma_subject'] ?>" id="ma_subject" required class="required frm_input" size="100"></td>
</tr> </tr>
<tr> <tr>
<th scope="row"><label for="ma_content">메일 내용<strong class="sound_only">필수</strong></label></th> <th scope="row"><label for="ma_content">메일 내용<strong class="sound_only">필수</strong></label></th>
+1 -1
View File
@@ -10,7 +10,7 @@ auth_check($auth[$sub_menu], 'w');
check_admin_token(); check_admin_token();
$ma_id = isset($_POST['ma_id']) ? (int) $_POST['ma_id'] : 0; $ma_id = isset($_POST['ma_id']) ? (int) $_POST['ma_id'] : 0;
$ma_subject = isset($_POST['ma_subject']) ? strip_tags(clean_xss_attributes($_POST['ma_subject'])) : ''; $ma_subject = isset($_POST['ma_subject']) ? strip_tags($_POST['ma_subject']) : '';
if ($w == '') if ($w == '')
{ {
+1 -4
View File
@@ -441,8 +441,6 @@ this.form.mb_intercept_date.value=this.form.mb_intercept_date.defaultValue; }">
<?php <?php
} //end if } //end if
} //end if } //end if
run_event('admin_member_form_add', $mb, $w, 'table');
?> ?>
<?php for ($i=1; $i<=10; $i++) { ?> <?php for ($i=1; $i<=10; $i++) { ?>
@@ -478,8 +476,7 @@ function fmember_submit(f)
return true; return true;
} }
</script> </script>
<?php
run_event('admin_member_form_after', $mb, $w);
<?php
include_once('./admin.tail.php'); include_once('./admin.tail.php');
?> ?>
+1 -1
View File
@@ -52,7 +52,7 @@ if($sql) {
<?php } <?php }
switch($type) { switch($type) {
case 'group': case 'group':
$link = G5_BBS_URL.'/group.php?gr_id='.$row['id']; $link = get_pretty_url(G5_GROUP_DIR, $row['id']);
break; break;
case 'board': case 'board':
$link = get_pretty_url($row['id']); $link = get_pretty_url($row['id']);
+2 -2
View File
@@ -21,11 +21,11 @@ for ($i=0; $i<$count; $i++)
{ {
$_POST = array_map_deep('trim', $_POST); $_POST = array_map_deep('trim', $_POST);
$_POST['me_link'][$i] = is_array($_POST['me_link']) ? clean_xss_tags(clean_xss_attributes($_POST['me_link'][$i], 1)) : ''; $_POST['me_link'][$i] = is_array($_POST['me_link']) ? clean_xss_tags($_POST['me_link'][$i], 1) : '';
$code = is_array($_POST['code']) ? strip_tags($_POST['code'][$i]) : ''; $code = is_array($_POST['code']) ? strip_tags($_POST['code'][$i]) : '';
$me_name = is_array($_POST['me_name']) ? strip_tags($_POST['me_name'][$i]) : ''; $me_name = is_array($_POST['me_name']) ? strip_tags($_POST['me_name'][$i]) : '';
$me_link = (preg_match('/^javascript/i', $_POST['me_link'][$i]) || preg_match('/script:/i', $_POST['me_link'][$i])) ? G5_URL : strip_tags(clean_xss_attributes($_POST['me_link'][$i])); $me_link = (preg_match('/^javascript/i', $_POST['me_link'][$i]) || preg_match('/script:/i', $_POST['me_link'][$i])) ? G5_URL : strip_tags($_POST['me_link'][$i]);
if(!$code || !$me_name || !$me_link) if(!$code || !$me_name || !$me_link)
continue; continue;
+1 -1
View File
@@ -12,7 +12,7 @@ else
check_admin_token(); check_admin_token();
$nw_subject = isset($_POST['nw_subject']) ? strip_tags(clean_xss_attributes($_POST['nw_subject'])) : ''; $nw_subject = isset($_POST['nw_subject']) ? strip_tags($_POST['nw_subject']) : '';
$sql_common = " nw_device = '{$_POST['nw_device']}', $sql_common = " nw_device = '{$_POST['nw_device']}',
nw_begin_time = '{$_POST['nw_begin_time']}', nw_begin_time = '{$_POST['nw_begin_time']}',
+3 -3
View File
@@ -6,9 +6,9 @@ auth_check($auth[$sub_menu], 'w');
check_admin_token(); check_admin_token();
$mb_id = strip_tags(clean_xss_attributes($_POST['mb_id'])); $mb_id = strip_tags($_POST['mb_id']);
$po_point = strip_tags(clean_xss_attributes($_POST['po_point'])); $po_point = strip_tags($_POST['po_point']);
$po_content = strip_tags(clean_xss_attributes($_POST['po_content'])); $po_content = strip_tags($_POST['po_content']);
$expire = preg_replace('/[^0-9]/', '', $_POST['po_expire_term']); $expire = preg_replace('/[^0-9]/', '', $_POST['po_expire_term']);
$mb = get_member($mb_id); $mb = get_member($mb_id);
+1 -1
View File
@@ -37,7 +37,7 @@ include_once('./admin.head.php');
<tbody> <tbody>
<tr> <tr>
<th scope="row"><label for="po_subject">투표 제목<strong class="sound_only">필수</strong></label></th> <th scope="row"><label for="po_subject">투표 제목<strong class="sound_only">필수</strong></label></th>
<td><input type="text" name="po_subject" value="<?php echo get_sanitize_input($po['po_subject']); ?>" id="po_subject" required class="required frm_input" size="80" maxlength="125"></td> <td><input type="text" name="po_subject" value="<?php echo $po['po_subject'] ?>" id="po_subject" required class="required frm_input" size="80" maxlength="125"></td>
</tr> </tr>
<?php <?php
+1 -1
View File
@@ -40,7 +40,7 @@ foreach( $_POST as $key=>$value ){
if( empty($value) ) continue; if( empty($value) ) continue;
if( in_array($key, $check_keys) ) { if( in_array($key, $check_keys) ) {
$_POST[$key] = strip_tags(clean_xss_attributes($value)); $_POST[$key] = strip_tags($value);
} }
} }
+6 -6
View File
@@ -133,7 +133,7 @@ if(!isset($qaconfig['qa_include_head'])) {
<tr> <tr>
<th scope="row"><label for="qa_title">타이틀<strong class="sound_only">필수</strong></label></th> <th scope="row"><label for="qa_title">타이틀<strong class="sound_only">필수</strong></label></th>
<td> <td>
<input type="text" name="qa_title" value="<?php echo get_sanitize_input($qaconfig['qa_title']); ?>" id="qa_title" required class="required frm_input" size="40"> <input type="text" name="qa_title" value="<?php echo $qaconfig['qa_title'] ?>" id="qa_title" required class="required frm_input" size="40">
<a href="<?php echo G5_BBS_URL; ?>/qalist.php" class="btn_frmline">1:1문의 바로가기</a> <a href="<?php echo G5_BBS_URL; ?>/qalist.php" class="btn_frmline">1:1문의 바로가기</a>
</td> </td>
</tr> </tr>
@@ -141,7 +141,7 @@ if(!isset($qaconfig['qa_include_head'])) {
<th scope="row"><label for="qa_category">분류<strong class="sound_only">필수</strong></label></th> <th scope="row"><label for="qa_category">분류<strong class="sound_only">필수</strong></label></th>
<td> <td>
<?php echo help('분류와 분류 사이는 | 로 구분하세요. (예: 질문|답변) 첫자로 #은 입력하지 마세요. (예: #질문|#답변 [X])') ?> <?php echo help('분류와 분류 사이는 | 로 구분하세요. (예: 질문|답변) 첫자로 #은 입력하지 마세요. (예: #질문|#답변 [X])') ?>
<input type="text" name="qa_category" value="<?php echo get_sanitize_input($qaconfig['qa_category']); ?>" id="qa_category" required class="required frm_input" size="70"> <input type="text" name="qa_category" value="<?php echo $qaconfig['qa_category'] ?>" id="qa_category" required class="required frm_input" size="70">
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -184,21 +184,21 @@ if(!isset($qaconfig['qa_include_head'])) {
<th scope="row"><label for="qa_send_number">SMS 발신번호</label></th> <th scope="row"><label for="qa_send_number">SMS 발신번호</label></th>
<td> <td>
<?php echo help('SMS 알림 전송시 발신번호로 사용됩니다.'); ?> <?php echo help('SMS 알림 전송시 발신번호로 사용됩니다.'); ?>
<input type="text" name="qa_send_number" value="<?php echo get_sanitize_input($qaconfig['qa_send_number']); ?>" id="qa_send_number" class="frm_input" size="30"> <input type="text" name="qa_send_number" value="<?php echo $qaconfig['qa_send_number'] ?>" id="qa_send_number" class="frm_input" size="30">
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row"><label for="qa_admin_hp">관리자 휴대폰번호</label></th> <th scope="row"><label for="qa_admin_hp">관리자 휴대폰번호</label></th>
<td> <td>
<?php echo help('관리자 휴대폰번호를 입력하시면 문의글 등록시 등록하신 번호로 SMS 알림이 전송됩니다.<br>SMS 알림을 사용하지 않으시면 알림이 전송되지 않습니다.'); ?> <?php echo help('관리자 휴대폰번호를 입력하시면 문의글 등록시 등록하신 번호로 SMS 알림이 전송됩니다.<br>SMS 알림을 사용하지 않으시면 알림이 전송되지 않습니다.'); ?>
<input type="text" name="qa_admin_hp" value="<?php echo get_sanitize_input($qaconfig['qa_admin_hp']); ?>" id="qa_admin_hp" class="frm_input" size="30"> <input type="text" name="qa_admin_hp" value="<?php echo $qaconfig['qa_admin_hp'] ?>" id="qa_admin_hp" class="frm_input" size="30">
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row"><label for="qa_admin_email">관리자 이메일</label></th> <th scope="row"><label for="qa_admin_email">관리자 이메일</label></th>
<td> <td>
<?php echo help('관리자 이메일을 입력하시면 문의글 등록시 등록하신 이메일로 알림이 전송됩니다.'); ?> <?php echo help('관리자 이메일을 입력하시면 문의글 등록시 등록하신 이메일로 알림이 전송됩니다.'); ?>
<input type="text" name="qa_admin_email" value="<?php echo get_sanitize_input($qaconfig['qa_admin_email']); ?>" id="qa_admin_email" class="frm_input" size="50"> <input type="text" name="qa_admin_email" value="<?php echo $qaconfig['qa_admin_email'] ?>" id="qa_admin_email" class="frm_input" size="50">
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -306,7 +306,7 @@ if(!isset($qaconfig['qa_include_head'])) {
<tr> <tr>
<th scope="row"><label for="qa_insert_content">글쓰기 기본 내용</label></th> <th scope="row"><label for="qa_insert_content">글쓰기 기본 내용</label></th>
<td> <td>
<textarea id="qa_insert_content" name="qa_insert_content" rows="5"><?php echo html_purifier($qaconfig['qa_insert_content']); ?></textarea> <textarea id="qa_insert_content" name="qa_insert_content" rows="5"><?php echo $qaconfig['qa_insert_content'] ?></textarea>
</td> </td>
</tr> </tr>
<?php for ($i=1; $i<=5; $i++) { ?> <?php for ($i=1; $i<=5; $i++) { ?>
-6
View File
@@ -12,12 +12,6 @@ $error_msg = '';
$qaconfig = get_qa_config(); $qaconfig = get_qa_config();
$check_keys = array('qa_title', 'qa_category', 'qa_skin', 'qa_mobile_skin', 'qa_use_email', 'qa_req_email', 'qa_use_hp', 'qa_req_hp', 'qa_use_sms', 'qa_send_number', 'qa_admin_hp', 'qa_admin_email', 'qa_subject_len', 'qa_mobile_subject_len', 'qa_page_rows', 'qa_mobile_page_rows', 'qa_image_width', 'qa_upload_size');
foreach($check_keys as $key){
$$key = $_POST[$key] = isset($_POST[$key]) ? strip_tags(clean_xss_attributes($_POST[$key])) : '';
}
$qa_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($qa_include_head, 0, 255)); $qa_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($qa_include_head, 0, 255));
$qa_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($qa_include_tail, 0, 255)); $qa_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($qa_include_tail, 0, 255));
+5 -8
View File
@@ -74,13 +74,10 @@ while($res = sql_fetch_array($qry))
"; ";
} }
$arr_ajax_msg = array( $arr_ajax_msg['error'] = "";
'error'=>'', $arr_ajax_msg['list_text'] = $list_text;
'list_text'=>$list_text, $arr_ajax_msg['page'] = $page;
'page'=>$page, $arr_ajax_msg['total_count'] = $total_count;
'total_count'=>$total_count, $arr_ajax_msg['total_page'] = $total_page;
'total_page'=>$total_page
);
die( json_encode($arr_ajax_msg) ); die( json_encode($arr_ajax_msg) );
?> ?>
+2 -2
View File
@@ -4,8 +4,8 @@ include_once("./_common.php");
auth_check($auth[$sub_menu], "w"); auth_check($auth[$sub_menu], "w");
$fo_name = isset($fo_name) ? strip_tags(clean_xss_attributes($fo_name)) : ''; $fo_name = isset($fo_name) ? strip_tags($fo_name) : '';
$fo_content = isset($fo_content) ? strip_tags(clean_xss_attributes($fo_content)) : ''; $fo_content = isset($fo_content) ? strip_tags($fo_content) : '';
$g5['title'] = "이모티콘 업데이트"; $g5['title'] = "이모티콘 업데이트";
+1 -3
View File
@@ -6,8 +6,6 @@ auth_check($auth[$sub_menu], "w");
$g5['title'] = "이모티콘 "; $g5['title'] = "이모티콘 ";
$fg_no = isset($fg_no) ? (int) $fg_no : '';
if ($w == 'u' && is_numeric($fo_no)) { if ($w == 'u' && is_numeric($fo_no)) {
$write = sql_fetch("select * from {$g5['sms5_form_table']} where fo_no='$fo_no'"); $write = sql_fetch("select * from {$g5['sms5_form_table']} where fo_no='$fo_no'");
$g5['title'] .= '수정'; $g5['title'] .= '수정';
@@ -50,7 +48,7 @@ include_once(G5_ADMIN_PATH.'/admin.head.php');
</tr> </tr>
<tr> <tr>
<th scope="row"><label for="fo_name">제목<strong class="sound_only"> 필수</strong></label></th> <th scope="row"><label for="fo_name">제목<strong class="sound_only"> 필수</strong></label></th>
<td><input type="text" name="fo_name" id="fo_name" required value="<?php echo get_sanitize_input($write['fo_name']); ?>" class="frm_input required" size="70"></td> <td><input type="text" name="fo_name" id="fo_name" required value="<?php echo $write['fo_name']?>" class="frm_input required" size="70"></td>
</tr> </tr>
<tr> <tr>
<th scope="row">메세지</th> <th scope="row">메세지</th>
+1 -5
View File
@@ -12,10 +12,6 @@ if( $st && !in_array($st, array('hs_name', 'hs_hp', 'bk_no')) ){
$st = ''; $st = '';
} }
if( $sst && !in_array($sst, array('mb_id', 'bk_no', 'hs_name', 'hs_hp', 'hs_datetime', 'hs_flag', 'hs_code', 'hs_memo', 'hs_log')) ){
$sst = '';
}
auth_check($auth[$sub_menu], "r"); auth_check($auth[$sub_menu], "r");
$g5['title'] = "문자전송 상세내역"; $g5['title'] = "문자전송 상세내역";
@@ -26,7 +22,7 @@ if (!is_numeric($wr_no))
if ($spage < 1) $spage = 1; if ($spage < 1) $spage = 1;
if ($sst && trim($ssv)) if ($sst && trim($ssv))
$sql_search = " and $sst like '%".sql_real_escape_string($ssv)."%' "; $sql_search = " and $sst like '%$ssv%' ";
else else
$sql_search = ""; $sql_search = "";
-1
View File
@@ -53,7 +53,6 @@ eval("\$file = \"$file\";");
$f = explode(";", $file); $f = explode(";", $file);
for ($i=0; $i<count($f); $i++) { for ($i=0; $i<count($f); $i++) {
if (trim($f[$i]) == "") continue; if (trim($f[$i]) == "") continue;
$f[$i] = get_db_create_replace($f[$i]);
sql_query($f[$i]) or die(mysqli_error()); sql_query($f[$i]) or die(mysqli_error());
} }
// 테이블 생성 ------------------------------------ // 테이블 생성 ------------------------------------
+2 -4
View File
@@ -16,8 +16,6 @@ if ($page < 1) $page = 1;
$bg_no = isset($bg_no) ? (int) $bg_no : 0; $bg_no = isset($bg_no) ? (int) $bg_no : 0;
$st = isset($st) ? preg_replace('/[^a-z0-9]/i', '', $st) : ''; $st = isset($st) ? preg_replace('/[^a-z0-9]/i', '', $st) : '';
$sql_korean = $sql_group = $sql_search = $sql_no_hp = '';
if (is_numeric($bg_no)) if (is_numeric($bg_no))
$sql_group = " and bg_no='$bg_no' "; $sql_group = " and bg_no='$bg_no' ";
else else
@@ -129,9 +127,9 @@ function no_hp_click(val)
<label for="bg_no" class="sound_only">그룹명</label> <label for="bg_no" class="sound_only">그룹명</label>
<select name="bg_no" id="bg_no" onchange="location.href='<?php echo $_SERVER['SCRIPT_NAME']?>?bg_no='+this.value;"> <select name="bg_no" id="bg_no" onchange="location.href='<?php echo $_SERVER['SCRIPT_NAME']?>?bg_no='+this.value;">
<option value=""<?php echo get_selected('', $bg_no); ?>> 전체 </option> <option value=""<?php echo get_selected('', $bg_no); ?>> 전체 </option>
<option value="<?php echo $no_group['bg_no']?>"<?php echo get_selected($no_group['bg_no'], $bg_no); ?>> <?php echo $no_group['bg_name']?> (<?php echo number_format($no_group['bg_count'])?> 명) </option> <option value="<?php echo $no_group['bg_no']?>"<?php echo get_selected($bg_no, $no_group['bg_no']); ?>> <?php echo $no_group['bg_name']?> (<?php echo number_format($no_group['bg_count'])?> 명) </option>
<?php for($i=0; $i<count($group); $i++) {?> <?php for($i=0; $i<count($group); $i++) {?>
<option value="<?php echo $group[$i]['bg_no']?>"<?php echo get_selected($group[$i]['bg_no'], $bg_no);?>> <?php echo $group[$i]['bg_name']?> (<?php echo number_format($group[$i]['bg_count'])?> 명) </option> <option value="<?php echo $group[$i]['bg_no']?>"<?php echo get_selected($bg_no, $group[$i]['bg_no']);?>> <?php echo $group[$i]['bg_name']?> (<?php echo number_format($group[$i]['bg_count'])?> 명) </option>
<?php } ?> <?php } ?>
</select> </select>
<input type="checkbox" name="no_hp" id="no_hp" <?php echo $no_hp_checked?> onclick="no_hp_click(this.checked)"> <input type="checkbox" name="no_hp" id="no_hp" <?php echo $no_hp_checked?> onclick="no_hp_click(this.checked)">
+2 -2
View File
@@ -129,7 +129,7 @@ function num_group_submit(f)
<select name="select_bg_no_999" id="select_bg_no_999" onchange="move(<?php echo $no_group['bg_no']?>, '<?php echo $no_group['bg_name']?>', this);" > <select name="select_bg_no_999" id="select_bg_no_999" onchange="move(<?php echo $no_group['bg_no']?>, '<?php echo $no_group['bg_name']?>', this);" >
<option value=""></option> <option value=""></option>
<?php for ($i=0; $i<count($group); $i++) { ?> <?php for ($i=0; $i<count($group); $i++) { ?>
<option value="<?php echo $group[$i]['bg_no']?>"> <?php echo get_sanitize_input($group[$i]['bg_name']); ?> </option> <option value="<?php echo $group[$i]['bg_no']?>"> <?php echo $group[$i]['bg_name']?> </option>
<?php } ?> <?php } ?>
</select> </select>
</td> </td>
@@ -150,7 +150,7 @@ function num_group_submit(f)
</td> </td>
<td> <td>
<label for="bg_name_<?php echo $i; ?>" class="sound_only">그룹명</label> <label for="bg_name_<?php echo $i; ?>" class="sound_only">그룹명</label>
<input type="text" name="bg_name[<?php echo $i; ?>]" value="<?php echo get_sanitize_input($group[$i]['bg_name']); ?>" id="bg_name_<?php echo $i; ?>" class="frm_input"> <input type="text" name="bg_name[<?php echo $i; ?>]" value="<?php echo $group[$i]['bg_name']?>" id="bg_name_<?php echo $i; ?>" class="frm_input">
</td> </td>
<td class="td_num"><?php echo number_format($group[$i]['bg_count'])?></td> <td class="td_num"><?php echo number_format($group[$i]['bg_count'])?></td>
<td class="td_num"><?php echo number_format($group[$i]['bg_member'])?></td> <td class="td_num"><?php echo number_format($group[$i]['bg_member'])?></td>
+5 -5
View File
@@ -11,7 +11,7 @@ if ($w == 'u') // 업데이트
// 실제 번호를 넘김 // 실제 번호를 넘김
$k = $_POST['chk'][$i]; $k = $_POST['chk'][$i];
$bg_no = (int) $_POST['bg_no'][$k]; $bg_no = (int) $_POST['bg_no'][$k];
$bg_name = strip_tags(clean_xss_attributes($_POST['bg_name'][$k])); $bg_name = strip_tags($_POST['bg_name'][$k]);
if (!is_numeric($bg_no)) if (!is_numeric($bg_no))
alert('그룹 고유번호가 없습니다.'); alert('그룹 고유번호가 없습니다.');
@@ -23,11 +23,11 @@ if ($w == 'u') // 업데이트
if (!strlen(trim($bg_name))) if (!strlen(trim($bg_name)))
alert('그룹명을 입력해주세요'); alert('그룹명을 입력해주세요');
$res = sql_fetch("select bg_name from {$g5['sms5_book_group_table']} where bg_no<>'$bg_no' and bg_name='".sql_real_escape_string($bg_name)."'"); $res = sql_fetch("select bg_name from {$g5['sms5_book_group_table']} where bg_no<>'$bg_no' and bg_name='$bg_name'");
if ($res) if ($res)
alert('같은 그룹명이 존재합니다.'); alert('같은 그룹명이 존재합니다.');
sql_query("update {$g5['sms5_book_group_table']} set bg_name='".sql_real_escape_string($bg_name)."' where bg_no='$bg_no'"); sql_query("update {$g5['sms5_book_group_table']} set bg_name='".addslashes($bg_name)."' where bg_no='$bg_no'");
} }
} }
else if ($w == 'de') // 그룹삭제 else if ($w == 'de') // 그룹삭제
@@ -63,7 +63,7 @@ else if ($w == 'em') // 비우기
} }
else // 등록 else // 등록
{ {
$bg_name = strip_tags(clean_xss_attributes($bg_name)); $bg_name = strip_tags($bg_name);
if (!strlen(trim($bg_name))) if (!strlen(trim($bg_name)))
alert('그룹명을 입력해주세요'); alert('그룹명을 입력해주세요');
@@ -72,7 +72,7 @@ else // 등록
if ($res) if ($res)
alert('같은 그룹명이 존재합니다.'); alert('같은 그룹명이 존재합니다.');
sql_query("insert into {$g5['sms5_book_group_table']} set bg_name='$bg_name'"); sql_query("insert into {$g5['sms5_book_group_table']} set bg_name='".addslashes($bg_name)."'");
} }
goto_url('./num_group.php'); goto_url('./num_group.php');
-2
View File
@@ -7,8 +7,6 @@ while ($res = sql_fetch_array($qry)) array_push($group, $res);
$res = sql_fetch("select count(*) as cnt from `{$g5['sms5_form_table']}` where fg_no=0"); $res = sql_fetch("select count(*) as cnt from `{$g5['sms5_form_table']}` where fg_no=0");
$no_count = $res['cnt']; $no_count = $res['cnt'];
$fg_no = isset($fg_no) ? (int) $fg_no : '';
?> ?>
<form name="emo_frm"> <form name="emo_frm">
+3 -3
View File
@@ -29,7 +29,7 @@ if(!in_array($type, $arr_type)) {
} }
if($type == 'board') { if($type == 'board') {
$keys = run_replace('theme_config_load_keys', array('bo_gallery_cols', 'bo_gallery_width', 'bo_gallery_height', 'bo_mobile_gallery_width', 'bo_mobile_gallery_height', 'bo_image_width'), $type); $keys = array('bo_gallery_cols', 'bo_gallery_width', 'bo_gallery_height', 'bo_mobile_gallery_width', 'bo_mobile_gallery_height', 'bo_image_width');
$tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys)); $tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys));
$i = 0; $i = 0;
@@ -43,7 +43,7 @@ if($type == 'board') {
if($i == 0) if($i == 0)
$data['error'] = '적용할 게시판 이미지 설정이 없습니다.'; $data['error'] = '적용할 게시판 이미지 설정이 없습니다.';
} else if($type == 'conf_skin') { } else if($type == 'conf_skin') {
$keys = run_replace('theme_config_load_keys', array('cf_new_skin', 'cf_mobile_new_skin', 'cf_search_skin', 'cf_mobile_search_skin', 'cf_connect_skin', 'cf_mobile_connect_skin', 'cf_faq_skin', 'cf_mobile_faq_skin'), $type); $keys = array('cf_new_skin', 'cf_mobile_new_skin', 'cf_search_skin', 'cf_mobile_search_skin', 'cf_connect_skin', 'cf_mobile_connect_skin', 'cf_faq_skin', 'cf_mobile_faq_skin');
$tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys)); $tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys));
@@ -58,7 +58,7 @@ if($type == 'board') {
if($i == 0) if($i == 0)
$data['error'] = '적용할 기본환경 스킨 설정이 없습니다.'; $data['error'] = '적용할 기본환경 스킨 설정이 없습니다.';
} else if($type == 'conf_member') { } else if($type == 'conf_member') {
$keys = run_replace('theme_config_load_keys', array('cf_member_skin', 'cf_mobile_member_skin'), $type); $keys = array('cf_member_skin', 'cf_mobile_member_skin');
$tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys)); $tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys));
-2
View File
@@ -68,7 +68,5 @@ if($_POST['set_default_skin'] == 1) {
} }
} }
run_event('adm_theme_update', $theme, $_POST['set_default_skin']);
die(''); die('');
?> ?>
-28
View File
@@ -1,28 +0,0 @@
<?php
include_once('./_common.php');
$call = isset($_REQUEST['call']) ? strtolower(preg_replace('/[^a-z0-9_]/i', '', $_REQUEST['call'])) : '';
if( ! $call ){
return;
}
if( ! $is_admin ){
$sql = " select count(*) as cnt from {$g5['auth_table']} where mb_id = '{$member['mb_id']}' ";
$row = sql_fetch($sql);
if ( ! $row['cnt']) {
return;
}
}
run_event('admin_request_handler_'.$call, $arr_query, $token);
$sub_menu = admin_menu_find_by($call, 'sub_menu');
$g5['title'] = admin_menu_find_by($call, 'title');
include_once ('./admin.head.php');
run_event('admin_get_page_'.$call, $arr_query, $token);
include_once ('./admin.tail.php');
?>
+12 -12
View File
@@ -6,27 +6,27 @@ check_demo();
auth_check($auth[$sub_menu], 'r'); auth_check($auth[$sub_menu], 'r');
$g5['title'] = '글,댓글 현황';
include_once ('./admin.head.php');
// http://www.jqplot.com/ // http://www.jqplot.com/
add_stylesheet('<link rel="stylesheet" href="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.css">', 1); add_stylesheet('<link rel="stylesheet" href="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.css">', 0);
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.js"></script>', 1); add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.js"></script>', 0);
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.canvasTextRenderer.min.js"></script>', 1); add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.canvasTextRenderer.min.js"></script>', 0);
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.categoryAxisRenderer.min.js"></script>', 1); add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.categoryAxisRenderer.min.js"></script>', 0);
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.pointLabels.min.js"></script>', 1); add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.pointLabels.min.js"></script>', 0);
add_javascript('<!--[if lt IE 9]><script src="'.G5_PLUGIN_URL.'/jqplot/excanvas.js"></script><![endif]-->', 1); add_javascript('<!--[if lt IE 9]><script src="'.G5_PLUGIN_URL.'/jqplot/excanvas.js"></script><![endif]-->', 0);
if (!($graph == 'line' || $graph == 'bar')) if (!($graph == 'line' || $graph == 'bar'))
$graph = 'line'; $graph = 'line';
if ($graph == 'bar') { if ($graph == 'bar') {
// 바 타입으로 사용하는 코드입니다. // 바 타입으로 사용하는 코드입니다.
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.barRenderer.min.js"></script>', 1); add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.barRenderer.min.js"></script>', 0);
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.categoryAxisRenderer.min.js"></script>', 1); add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.categoryAxisRenderer.min.js"></script>', 0);
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.pointLabels.min.js"></script>', 1); add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.pointLabels.min.js"></script>', 0);
} }
$g5['title'] = '글,댓글 현황';
include_once ('./admin.head.php');
$period_array = array( $period_array = array(
'오늘'=>array('시간', 0), '오늘'=>array('시간', 0),
'어제'=>array('시간', 0), '어제'=>array('시간', 0),
+1 -5
View File
@@ -80,11 +80,7 @@ while ($row = sql_fetch_array($result))
$sql2 = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row['wr_id']}' "; $sql2 = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row['wr_id']}' ";
$result2 = sql_query($sql2); $result2 = sql_query($sql2);
while ($row2 = sql_fetch_array($result2)) { while ($row2 = sql_fetch_array($result2)) {
@unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '', $row2['bf_file']));
$delete_file = run_replace('delete_file_path', G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '', $row2['bf_file']), $row2);
if( file_exists($delete_file) ){
@unlink($delete_file);
}
// 썸네일삭제 // 썸네일삭제
if(preg_match("/\.({$config['cf_image_extension']})$/i", $row2['bf_file'])) { if(preg_match("/\.({$config['cf_image_extension']})$/i", $row2['bf_file'])) {
delete_board_thumbnail($bo_table, $row2['bf_file']); delete_board_thumbnail($bo_table, $row2['bf_file']);
+1 -4
View File
@@ -98,10 +98,7 @@ for ($i=$chk_count-1; $i>=0; $i--)
$result2 = sql_query($sql2); $result2 = sql_query($sql2);
while ($row2 = sql_fetch_array($result2)) { while ($row2 = sql_fetch_array($result2)) {
// 파일삭제 // 파일삭제
$delete_file = run_replace('delete_file_path', G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '',$row2['bf_file']), $row2); @unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '',$row2['bf_file']));
if( file_exists($delete_file) ){
@unlink($delete_file);
}
// 썸네일삭제 // 썸네일삭제
if(preg_match("/\.({$config['cf_image_extension']})$/i", $row2['bf_file'])) { if(preg_match("/\.({$config['cf_image_extension']})$/i", $row2['bf_file'])) {
+1 -1
View File
@@ -88,5 +88,5 @@ delete_cache_latest($bo_table);
run_event('bbs_delete_comment', $comment_id, $board); run_event('bbs_delete_comment', $comment_id, $board);
goto_url(short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&amp;wr_id='.$write['wr_parent'].'&amp;page='.$page. $qstr)); goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&amp;wr_id='.$write['wr_parent'].'&amp;page='.$page. $qstr);
?> ?>
+2 -7
View File
@@ -17,7 +17,7 @@ if (!get_session('ss_view_'.$bo_table.'_'.$wr_id))
if($board['bo_download_point'] < 0 && $is_guest) if($board['bo_download_point'] < 0 && $is_guest)
alert('다운로드 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.'&amp;'.$qstr.'&amp;url='.urlencode(get_pretty_url($bo_table, $wr_id))); alert('다운로드 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.'&amp;'.$qstr.'&amp;url='.urlencode(get_pretty_url($bo_table, $wr_id)));
$sql = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' "; $sql = " select bf_source, bf_file from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
$file = sql_fetch($sql); $file = sql_fetch($sql);
if (!$file['bf_file']) if (!$file['bf_file'])
alert_close('파일 정보가 존재하지 않습니다.'); alert_close('파일 정보가 존재하지 않습니다.');
@@ -47,11 +47,8 @@ if ($member['mb_level'] < $board['bo_download_level']) {
$filepath = G5_DATA_PATH.'/file/'.$bo_table.'/'.$file['bf_file']; $filepath = G5_DATA_PATH.'/file/'.$bo_table.'/'.$file['bf_file'];
$filepath = addslashes($filepath); $filepath = addslashes($filepath);
$file_exist_check = (!is_file($filepath) || !file_exists($filepath)) ? false : true; if (!is_file($filepath) || !file_exists($filepath))
if ( false === run_replace('download_file_exist_check', $file_exist_check, $file) ){
alert('파일이 존재하지 않습니다.'); alert('파일이 존재하지 않습니다.');
}
// 사용자 코드 실행 // 사용자 코드 실행
@include_once($board_skin_path.'/download.skin.php'); @include_once($board_skin_path.'/download.skin.php');
@@ -104,8 +101,6 @@ $original = urlencode($file['bf_source']);
@include_once($board_skin_path.'/download.tail.skin.php'); @include_once($board_skin_path.'/download.tail.skin.php');
run_event('download_file_header', $file, $file_exist_check);
if(preg_match("/msie/i", $_SERVER['HTTP_USER_AGENT']) && preg_match("/5\.5/", $_SERVER['HTTP_USER_AGENT'])) { if(preg_match("/msie/i", $_SERVER['HTTP_USER_AGENT']) && preg_match("/5\.5/", $_SERVER['HTTP_USER_AGENT'])) {
header("content-type: doesn/matter"); header("content-type: doesn/matter");
header("content-length: ".filesize("$filepath")); header("content-length: ".filesize("$filepath"));
+2 -10
View File
@@ -1,12 +1,10 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
run_event('bbs_good_before', $bo_table, $wr_id, $good);
@include_once($board_skin_path.'/good.head.skin.php'); @include_once($board_skin_path.'/good.head.skin.php');
// 자바스크립트 사용가능할 때 // 자바스크립트 사용가능할 때
if(isset($_POST['js']) && $_POST['js'] === "on") { if($_POST['js'] == "on") {
$error = $count = ""; $error = $count = "";
function print_result($error, $count) function print_result($error, $count)
@@ -83,8 +81,6 @@ if(isset($_POST['js']) && $_POST['js'] === "on") {
$row = sql_fetch($sql); $row = sql_fetch($sql);
$count = $row['count']; $count = $row['count'];
run_event('bbs_increase_good_json', $bo_table, $wr_id, $good);
print_result($error, $count); print_result($error, $count);
} }
@@ -94,7 +90,7 @@ if(isset($_POST['js']) && $_POST['js'] === "on") {
if (!$is_member) if (!$is_member)
{ {
$href = G5_BBS_URL.'/login.php?'.$qstr.'&amp;url='.urlencode(get_pretty_url($bo_table, $wr_id)); $href = './login.php?'.$qstr.'&amp;url='.urlencode(get_pretty_url($bo_table, $wr_id));
alert('회원만 가능합니다.', $href); alert('회원만 가능합니다.', $href);
} }
@@ -149,15 +145,11 @@ if(isset($_POST['js']) && $_POST['js'] === "on") {
$status = '비추천'; $status = '비추천';
$href = get_pretty_url($bo_table, $wr_id); $href = get_pretty_url($bo_table, $wr_id);
run_event('bbs_increase_good_html', $bo_table, $wr_id, $good, $href);
alert("이 글을 $status 하셨습니다.", '', false); alert("이 글을 $status 하셨습니다.", '', false);
} }
} }
} }
run_event('bbs_good_after', $bo_table, $wr_id, $good);
@include_once($board_skin_path.'/good.tail.skin.php'); @include_once($board_skin_path.'/good.tail.skin.php');
?> ?>
+4 -9
View File
@@ -153,15 +153,10 @@ if (!$sst) {
$sod = ""; $sod = "";
} }
} else { } else {
$board_sort_fields = get_board_sort_fields($board, 1); // 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (nasca 님 09.06.16)
if (!$sod && array_key_exists($sst, $board_sort_fields)) { // 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요.
$sst = $board_sort_fields[$sst]; // $sst = preg_match("/^(wr_subject|wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
} else { $sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
// 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (nasca 님 09.06.16)
// 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요.
// $sst = preg_match("/^(wr_subject|wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
}
} }
if(!$sst) if(!$sst)
+1 -5
View File
@@ -54,8 +54,6 @@ if ( is_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='.$ckey); confirm("{$mb['mb_email']} 메일로 메일인증을 받으셔야 로그인 가능합니다. 다른 메일주소로 변경하여 인증하시려면 취소를 클릭하시기 바랍니다.", G5_URL, G5_BBS_URL.'/register_email.php?mb_id='.$mb_id.'&ckey='.$ckey);
} }
run_event('login_session_before', $mb, $is_social_login);
@include_once($member_skin_path.'/login_check.skin.php'); @include_once($member_skin_path.'/login_check.skin.php');
// 회원아이디 세션 생성 // 회원아이디 세션 생성
@@ -105,8 +103,6 @@ if ($url) {
$post_check_keys[] = 'provider'; $post_check_keys[] = 'provider';
} }
$post_check_keys = run_replace('login_check_post_check_keys', $post_check_keys, $link, $is_social_login);
foreach($_POST as $key=>$value) { foreach($_POST as $key=>$value) {
if ($key && !in_array($key, $post_check_keys)) { if ($key && !in_array($key, $post_check_keys)) {
$link .= "$split$key=$value"; $link .= "$split$key=$value";
@@ -125,7 +121,7 @@ if(function_exists('social_login_success_after')){
social_login_session_clear(1); social_login_session_clear(1);
} }
run_event('member_login_check', $mb, $link, $is_social_login); run_event('member_login_check', $mb, $link);
goto_url($link); goto_url($link);
?> ?>
+5 -4
View File
@@ -76,8 +76,7 @@ for ($i=0; $i<count($member_list['id']); $i++) {
// 보내는 회원 쪽지 INSERT // 보내는 회원 쪽지 INSERT
$sql = " insert into {$g5['memo_table']} ( me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo, me_read_datetime, me_send_id, me_type , me_send_ip ) values ( '$recv_mb_id', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$_POST['me_memo']}', '0000-00-00 00:00:00', '$me_id', 'send', '{$_SERVER['REMOTE_ADDR']}' ) "; $sql = " insert into {$g5['memo_table']} ( me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo, me_read_datetime, me_send_id, me_type , me_send_ip ) values ( '$recv_mb_id', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$_POST['me_memo']}', '0000-00-00 00:00:00', '$me_id', 'send', '{$_SERVER['REMOTE_ADDR']}' ) ";
sql_query($sql); sql_query($sql);
$member_list['me_id'][$i] = $me_id;
} }
// 실시간 쪽지 알림 기능 // 실시간 쪽지 알림 기능
@@ -94,14 +93,16 @@ if ($member_list) {
$redirect_url = G5_HTTP_BBS_URL."/memo.php?kind=send"; $redirect_url = G5_HTTP_BBS_URL."/memo.php?kind=send";
$str_nick_list = implode(',', $member_list['nick']); $str_nick_list = implode(',', $member_list['nick']);
run_event('memo_form_update_after', $member_list, $str_nick_list, $redirect_url, $_POST['me_memo']); run_event('memo_form_update_after', $member_list, $str_nick_list, $redirect_url);
alert($str_nick_list." 님께 쪽지를 전달하였습니다.", $redirect_url, false); alert($str_nick_list." 님께 쪽지를 전달하였습니다.", $redirect_url, false);
} else { } else {
$redirect_url = G5_HTTP_BBS_URL."/memo_form.php"; $redirect_url = G5_HTTP_BBS_URL."/memo_form.php";
run_event('memo_form_update_failed', $member_list, $redirect_url, $_POST['me_memo']); run_event('memo_form_update_failed', $member_list, $redirect_url);
exit;
alert("회원아이디 오류 같습니다.", $redirect_url, false); alert("회원아이디 오류 같습니다.", $redirect_url, false);
} }
+3 -6
View File
@@ -31,17 +31,14 @@ else
alert($kind.' 값을 넘겨주세요.'); alert($kind.' 값을 넘겨주세요.');
} }
$g5['title'] = $t.' 쪽지 보기';
include_once(G5_PATH.'/head.sub.php');
$sql = " select * from {$g5['memo_table']} $sql = " select * from {$g5['memo_table']}
where me_id = '$me_id' where me_id = '$me_id'
and me_{$kind}_mb_id = '{$member['mb_id']}' "; and me_{$kind}_mb_id = '{$member['mb_id']}' ";
$memo = sql_fetch($sql); $memo = sql_fetch($sql);
set_session('ss_memo_delete_token', $token = uniqid(time()));
$del_link = 'memo_delete.php?me_id='.$memo['me_id'].'&amp;token='.$token.'&amp;kind='.$kind;
$g5['title'] = $t.' 쪽지 보기';
include_once(G5_PATH.'/head.sub.php');
// 이전 쪽지 // 이전 쪽지
$sql = " select me.*, a.rownum from `{$g5['memo_table']}` as me inner join ( select me_id , (@rownum:=@rownum+1) as rownum from `{$g5['memo_table']}` as memo, (select @rownum:=0) tmp where me_{$kind}_mb_id = '{$member['mb_id']}' and memo.me_type = '$kind' order by me_id desc ) as a on a.me_id = me.me_id where me.me_id < '$me_id' and me.me_{$kind}_mb_id = '{$member['mb_id']}' and me.me_type = '$kind' order by me.me_id desc limit 1 "; $sql = " select me.*, a.rownum from `{$g5['memo_table']}` as me inner join ( select me_id , (@rownum:=@rownum+1) as rownum from `{$g5['memo_table']}` as memo, (select @rownum:=0) tmp where me_{$kind}_mb_id = '{$member['mb_id']}' and memo.me_type = '$kind' order by me_id desc ) as a on a.me_id = me.me_id where me.me_id < '$me_id' and me.me_{$kind}_mb_id = '{$member['mb_id']}' and me.me_type = '$kind' order by me.me_id desc limit 1 ";
+3 -15
View File
@@ -126,13 +126,8 @@ while ($row = sql_fetch_array($result))
// 원본파일을 복사하고 퍼미션을 변경 // 원본파일을 복사하고 퍼미션을 변경
// 제이프로님 코드제안 적용 // 제이프로님 코드제안 적용
$copy_file_name = ($bo_table !== $move_bo_table) ? $row3['bf_file'] : $row2['wr_id'].'_copy_'.$insert_id.'_'.$row3['bf_file']; $copy_file_name = ($bo_table !== $move_bo_table) ? $row3['bf_file'] : $row2['wr_id'].'_copy_'.$insert_id.'_'.$row3['bf_file'];
$is_exist_file = is_file($src_dir.'/'.$row3['bf_file']) && file_exists($src_dir.'/'.$row3['bf_file']); @copy($src_dir.'/'.$row3['bf_file'], $dst_dir.'/'.$copy_file_name);
if( $is_exist_file ){ @chmod($dst_dir.'/'.$copy_file_name, G5_FILE_PERMISSION);
@copy($src_dir.'/'.$row3['bf_file'], $dst_dir.'/'.$copy_file_name);
@chmod($dst_dir.'/'.$row3['bf_file'], G5_FILE_PERMISSION);
}
$row3 = run_replace('bbs_move_update_file', $row3, $copy_file_name, $bo_table, $move_bo_table, $insert_id);
} }
$sql = " insert into {$g5['board_file_table']} $sql = " insert into {$g5['board_file_table']}
@@ -143,9 +138,6 @@ while ($row = sql_fetch_array($result))
bf_file = '$copy_file_name', bf_file = '$copy_file_name',
bf_download = '{$row3['bf_download']}', bf_download = '{$row3['bf_download']}',
bf_content = '".addslashes($row3['bf_content'])."', bf_content = '".addslashes($row3['bf_content'])."',
bf_fileurl = '".addslashes($row3['bf_fileurl'])."',
bf_thumburl = '".addslashes($row3['bf_thumburl'])."',
bf_storage = '".addslashes($row3['bf_storage'])."',
bf_filesize = '{$row3['bf_filesize']}', bf_filesize = '{$row3['bf_filesize']}',
bf_width = '{$row3['bf_width']}', bf_width = '{$row3['bf_width']}',
bf_height = '{$row3['bf_height']}', bf_height = '{$row3['bf_height']}',
@@ -208,11 +200,7 @@ if ($sw == 'move')
{ {
if( isset($save[$i]['bf_file']) && $save[$i]['bf_file'] ){ if( isset($save[$i]['bf_file']) && $save[$i]['bf_file'] ){
for ($k=0; $k<count($save[$i]['bf_file']); $k++) { for ($k=0; $k<count($save[$i]['bf_file']); $k++) {
$del_file = $save[$i]['bf_file'][$k]; @unlink($save[$i]['bf_file'][$k]);
if ( is_file($del_file) && file_exists($del_file) ){
@unlink($del_file);
}
// 썸네일 파일 삭제, 먼지손 님 코드 제안 // 썸네일 파일 삭제, 먼지손 님 코드 제안
delete_board_thumbnail($bo_table, basename($save[$i]['bf_file'][$k])); delete_board_thumbnail($bo_table, basename($save[$i]['bf_file'][$k]));
+7 -7
View File
@@ -8,25 +8,24 @@ if ($is_admin != 'super')
$board = array(); $board = array();
$save_bo_table = array(); $save_bo_table = array();
$save_wr_id = array();
for($i=0;$i<count($_POST['chk_bn_id']);$i++) for($i=0;$i<count($_POST['chk_bn_id']);$i++)
{ {
// 실제 번호를 넘김 // 실제 번호를 넘김
$k = $_POST['chk_bn_id'][$i]; $k = $_POST['chk_bn_id'][$i];
$bo_table = isset($_POST['bo_table'][$k]) ? preg_replace('/[^a-z0-9_]/i', '', $_POST['bo_table'][$k]) : ''; $bo_table = $_POST['bo_table'][$k];
$wr_id = isset($_POST['wr_id'][$k]) ? preg_replace('/[^0-9]/i', '', $_POST['wr_id'][$k]) : 0; $wr_id = $_POST['wr_id'][$k];
$save_bo_table[$i] = $bo_table; $save_bo_table[] = $bo_table;
$save_wr_id[$i] = $wr_id;
$write_table = $g5['write_prefix'].$bo_table; $write_table = $g5['write_prefix'].$bo_table;
if ($board['bo_table'] != $bo_table) if ($board['bo_table'] != $bo_table)
$board = sql_fetch(" select bo_subject, bo_write_point, bo_comment_point, bo_notice from {$g5['board_table']} where bo_table = '$bo_table' "); $board = sql_fetch(" select bo_subject, bo_write_point, bo_comment_point, bo_notice from {$g5['board_table']} where bo_table = '$bo_table' ");
$write = get_write($write_table, $wr_id); $sql = " select * from $write_table where wr_id = '$wr_id' ";
$write = sql_fetch($sql);
if (!$write) continue; if (!$write) continue;
// 원글 삭제 // 원글 삭제
@@ -139,11 +138,12 @@ for($i=0;$i<count($_POST['chk_bn_id']);$i++)
} }
} }
$save_bo_table = array_unique($save_bo_table);
foreach ($save_bo_table as $key=>$value) { foreach ($save_bo_table as $key=>$value) {
delete_cache_latest($value); delete_cache_latest($value);
} }
run_event('bbs_new_delete', $chk_bn_id, $save_bo_table, $save_wr_id); run_event('bbs_new_delete', $chk_bn_id, $save_bo_table);
goto_url("new.php?sfl=$sfl&stx=$stx&page=$page"); goto_url("new.php?sfl=$sfl&stx=$stx&page=$page");
?> ?>
+2 -4
View File
@@ -21,9 +21,9 @@ $row = sql_fetch($sql);
if ($row['cnt'] > 1) if ($row['cnt'] > 1)
alert('동일한 메일주소가 2개 이상 존재합니다.\\n\\n관리자에게 문의하여 주십시오.'); alert('동일한 메일주소가 2개 이상 존재합니다.\\n\\n관리자에게 문의하여 주십시오.');
$sql = " select mb_no, mb_id, mb_name, mb_nick, mb_email, mb_datetime, mb_leave_date from {$g5['member_table']} where mb_email = '$email' "; $sql = " select mb_no, mb_id, mb_name, mb_nick, mb_email, mb_datetime from {$g5['member_table']} where mb_email = '$email' ";
$mb = sql_fetch($sql); $mb = sql_fetch($sql);
if (!$mb['mb_id'] || $mb['mb_leave_date']) if (!$mb['mb_id'])
alert('존재하지 않는 회원입니다.'); alert('존재하지 않는 회원입니다.');
else if (is_admin($mb['mb_id'])) else if (is_admin($mb['mb_id']))
alert('관리자 아이디는 접근 불가합니다.'); alert('관리자 아이디는 접근 불가합니다.');
@@ -71,7 +71,5 @@ $content .= '</div>';
mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $mb['mb_email'], $subject, $content, 1); mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $mb['mb_email'], $subject, $content, 1);
run_event('password_lost2_after', $mb, $mb_nonce, $mb_lost_certify);
alert_close($email.' 메일로 회원아이디와 비밀번호를 인증할 수 있는 메일이 발송 되었습니다.\\n\\n메일을 확인하여 주십시오.'); alert_close($email.' 메일로 회원아이디와 비밀번호를 인증할 수 있는 메일이 발송 되었습니다.\\n\\n메일을 확인하여 주십시오.');
?> ?>
+1 -6
View File
@@ -4,11 +4,9 @@ include_once('./_common.php');
// 봇의 메일 링크 크롤링을 방지합니다. // 봇의 메일 링크 크롤링을 방지합니다.
if(function_exists('check_mail_bot')){ check_mail_bot($_SERVER['REMOTE_ADDR']); } if(function_exists('check_mail_bot')){ check_mail_bot($_SERVER['REMOTE_ADDR']); }
run_event('password_lost_certify_before');
// 오류시 공히 Error 라고 처리하는 것은 회원정보가 있는지? 비밀번호가 틀린지? 를 알아보려는 해킹에 대비한것 // 오류시 공히 Error 라고 처리하는 것은 회원정보가 있는지? 비밀번호가 틀린지? 를 알아보려는 해킹에 대비한것
$mb_no = preg_replace('#[^0-9]#', '', trim($_GET['mb_no'])); $mb_no = trim($_GET['mb_no']);
$mb_nonce = trim($_GET['mb_nonce']); $mb_nonce = trim($_GET['mb_nonce']);
// 회원아이디가 아닌 회원고유번호로 회원정보를 구한다. // 회원아이디가 아닌 회원고유번호로 회원정보를 구한다.
@@ -24,9 +22,6 @@ sql_query(" update {$g5['member_table']} set mb_lost_certify = '' where mb_no =
if ($mb_nonce === substr($mb['mb_lost_certify'], 0, 32)) { if ($mb_nonce === substr($mb['mb_lost_certify'], 0, 32)) {
$new_password_hash = substr($mb['mb_lost_certify'], 33); $new_password_hash = substr($mb['mb_lost_certify'], 33);
sql_query(" update {$g5['member_table']} set mb_password = '$new_password_hash' where mb_no = '$mb_no' "); sql_query(" update {$g5['member_table']} set mb_password = '$new_password_hash' where mb_no = '$mb_no' ");
run_event('password_lost_certify_after', $mb, $mb_nonce);
alert('비밀번호가 변경됐습니다.\\n\\n회원아이디와 변경된 비밀번호로 로그인 하시기 바랍니다.', G5_BBS_URL.'/login.php'); alert('비밀번호가 변경됐습니다.\\n\\n회원아이디와 변경된 비밀번호로 로그인 하시기 바랍니다.', G5_BBS_URL.'/login.php');
} }
else { else {
+1 -1
View File
@@ -67,7 +67,7 @@ if(is_file($skin_file)) {
$content = ''; $content = '';
if ($w == '') { if ($w == '') {
$content = html_purifier($qaconfig['qa_insert_content']); $content = $qaconfig['qa_insert_content'];
} else if($w == 'r') { } else if($w == 'r') {
if($is_dhtml_editor) if($is_dhtml_editor)
$content = '<div><br><br><br>====== 이전 답변내용 =======<br></div>'; $content = '<div><br><br><br>====== 이전 답변내용 =======<br></div>';
-1
View File
@@ -14,7 +14,6 @@ $msg = array();
// 1:1문의 설정값 // 1:1문의 설정값
$qaconfig = get_qa_config(); $qaconfig = get_qa_config();
$qa_id = isset($qa_id) ? (int) $qa_id : 0;
if(trim($qaconfig['qa_category'])) { if(trim($qaconfig['qa_category'])) {
if($w != 'a') { if($w != 'a') {
-5
View File
@@ -3,8 +3,6 @@ include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php'); include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
include_once(G5_LIB_PATH.'/register.lib.php'); include_once(G5_LIB_PATH.'/register.lib.php');
run_event('register_form_before');
// 불법접근을 막도록 토큰생성 // 불법접근을 막도록 토큰생성
$token = md5(uniqid(rand(), true)); $token = md5(uniqid(rand(), true));
set_session("ss_token", $token); set_session("ss_token", $token);
@@ -141,8 +139,5 @@ if ($config['cf_use_addr'])
add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
include_once($member_skin_path.'/register_form.skin.php'); include_once($member_skin_path.'/register_form.skin.php');
run_event('register_form_after', $w, $agree, $agree2);
include_once('./_tail.php'); include_once('./_tail.php');
?> ?>
-1
View File
@@ -119,7 +119,6 @@ else
} }
$comment_action_url = https_url(G5_BBS_DIR)."/write_comment_update.php"; $comment_action_url = https_url(G5_BBS_DIR)."/write_comment_update.php";
$comment_common_url = short_url_clean(G5_BBS_URL.'/board.php?'.clean_query_string($_SERVER['QUERY_STRING']));
include_once($board_skin_path.'/view_comment.skin.php'); include_once($board_skin_path.'/view_comment.skin.php');
+31 -61
View File
@@ -23,87 +23,57 @@ if(strpos($filename, G5_DATA_DIR.'/editor')) {
$filepath = G5_DATA_PATH.'/file/'.$bo_table.'/'.$filename; $filepath = G5_DATA_PATH.'/file/'.$bo_table.'/'.$filename;
} }
$file_exists = (is_file($filepath) && file_exists($filepath)) ? 1 : 0; if(is_file($filepath)) {
$size = @getimagesize($filepath);
if($file_exists = run_replace('exists_view_image', $file_exists, $filepath, $editor_file)) {
$size = $file_exists ? run_replace('get_view_imagesize', @getimagesize($filepath), $filepath, $editor_file) : array();
if(empty($size)) if(empty($size))
alert_close('이미지 파일이 아닙니다.'); alert_close('이미지 파일이 아닙니다.');
$width = (isset($size[0]) && $size[0]) ? (int) $size[0] : 0; $width = $size[0];
$height = (isset($size[1]) && $size[1]) ? (int) $size[1] : 0; $height = $size[1];
if($editor_file) if($editor_file)
$fileurl = run_replace('get_editor_content_url', G5_DATA_URL.'/'.$editor_file); $fileurl = G5_DATA_URL.'/'.$editor_file;
else else
$fileurl = run_replace('get_file_board_url', G5_DATA_URL.'/file/'.$bo_table.'/'.$filename, $bo_table); $fileurl = G5_DATA_URL.'/file/'.$bo_table.'/'.$filename;
$img_attr = ($width && $height) ? 'width="'.$width.'" height="'.$height.'"' : ''; $img = '<img src="'.$fileurl.'" alt="" width="'.$width.'" height="'.$height.'" class="draggable" style="position:relative;top:0;left:0;cursor:move;">';
$img = '<img src="'.$fileurl.'" alt="" '.$img_attr.' class="draggable" style="position:relative;top:0;left:0;cursor:move;">';
} else { } else {
alert_close('파일이 존재하지 않습니다.'); alert_close('파일이 존재하지 않습니다.');
} }
?> ?>
<div class="bbs-view-image"><?php echo $img ?></div> <div><?php echo $img ?></div>
<script> <script>
var win_w = <?php echo $width ?>;
var win_h = <?php echo $height ?> + 70;
var win_l = (screen.width - win_w) / 2;
var win_t = (screen.height - win_h) / 2;
jQuery(function($){ if(win_w > screen.width) {
win_l = 0;
win_w = screen.width - 20;
$.fn.imgLoad = function(callback) { if(win_h > screen.height) {
return this.each(function() { win_t = 0;
if (callback) { win_h = screen.height - 40;
if (this.complete || /*for IE 10-*/ $(this).height() > 0) { }
callback.apply(this); }
}
else {
$(this).on('load', function(){
callback.apply(this);
});
}
}
});
};
$(".bbs-view-image img").imgLoad(function(){ if(win_h > screen.height) {
win_t = 0;
win_h = screen.height - 40;
var win_w = <?php echo $width ?>; if(win_w > screen.width) {
var win_h = <?php echo $height ?> + 70; win_w = screen.width - 20;
win_l = 0;
}
}
if( !win_w || !win_h ){ window.moveTo(win_l, win_t);
win_w = $(this).width(); window.resizeTo(win_w, win_h);
win_h = $(this).height();
}
var win_l = (screen.width - win_w) / 2;
var win_t = (screen.height - win_h) / 2;
if(win_w > screen.width) {
win_l = 0;
win_w = screen.width - 20;
if(win_h > screen.height) {
win_t = 0;
win_h = screen.height - 40;
}
}
if(win_h > screen.height) {
win_t = 0;
win_h = screen.height - 40;
if(win_w > screen.width) {
win_w = screen.width - 20;
win_l = 0;
}
}
window.moveTo(win_l, win_t);
window.resizeTo(win_w, win_h);
});
$(function() {
var is_draggable = false; var is_draggable = false;
var x = y = 0; var x = y = 0;
var pos_x = pos_y = 0; var pos_x = pos_y = 0;
+3 -3
View File
@@ -42,7 +42,7 @@ if ($w == '') {
if ($member['mb_id']) { if ($member['mb_id']) {
alert('글을 쓸 권한이 없습니다.'); alert('글을 쓸 권한이 없습니다.');
} else { } else {
alert("글을 쓸 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.", G5_BBS_URL.'/login.php?'.$qstr.'&amp;url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table)); alert("글을 쓸 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.", './login.php?'.$qstr.'&amp;url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
} }
} }
@@ -64,7 +64,7 @@ if ($w == '') {
if ($member['mb_id']) { if ($member['mb_id']) {
alert('글을 수정할 권한이 없습니다.'); alert('글을 수정할 권한이 없습니다.');
} else { } else {
alert('글을 수정할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?'.$qstr.'&amp;url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table)); alert('글을 수정할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?'.$qstr.'&amp;url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
} }
} }
@@ -97,7 +97,7 @@ if ($w == '') {
if ($member['mb_id']) if ($member['mb_id'])
alert('글을 답변할 권한이 없습니다.'); alert('글을 답변할 권한이 없습니다.');
else else
alert('답변글을 작성할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?'.$qstr.'&amp;url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table)); alert('답변글을 작성할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?'.$qstr.'&amp;url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
} }
$tmp_point = isset($member['mb_point']) ? $member['mb_point'] : 0; $tmp_point = isset($member['mb_point']) ? $member['mb_point'] : 0;
+4 -4
View File
@@ -20,8 +20,6 @@ if (substr_count($wr_content, "&#") > 50) {
$w = $_POST["w"]; $w = $_POST["w"];
$wr_name = trim($_POST['wr_name']); $wr_name = trim($_POST['wr_name']);
$wr_email = ''; $wr_email = '';
$reply_array = array();
if (!empty($_POST['wr_email'])) if (!empty($_POST['wr_email']))
$wr_email = get_email_address(trim($_POST['wr_email'])); $wr_email = get_email_address(trim($_POST['wr_email']));
@@ -87,7 +85,9 @@ if ($w == 'c') // 댓글 입력
// 댓글 답변 // 댓글 답변
if ($comment_id) if ($comment_id)
{ {
$reply_array = get_write($write_table, $comment_id, true); $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']) if (!$reply_array['wr_id'])
alert('답변할 댓글이 없습니다.\\n\\n답변하는 동안 댓글이 삭제되었을 수 있습니다.'); alert('답변할 댓글이 없습니다.\\n\\n답변하는 동안 댓글이 삭제되었을 수 있습니다.');
@@ -341,7 +341,7 @@ delete_cache_latest($bo_table);
$redirect_url = short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&amp;wr_id='.$wr['wr_parent'].'&amp;'.$qstr.'&amp;#c_'.$comment_id); $redirect_url = short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&amp;wr_id='.$wr['wr_parent'].'&amp;'.$qstr.'&amp;#c_'.$comment_id);
run_event('comment_update_after', $board, $wr_id, $w, $qstr, $redirect_url, $comment_id, $reply_array); run_event('comment_update_after', $board, $wr_id, $w, $qstr, $redirect_url);
goto_url($redirect_url); goto_url($redirect_url);
?> ?>
+5 -26
View File
@@ -333,7 +333,7 @@ if ($w == '' || $w == 'r') {
alert('자신의 글이 아니므로 수정할 수 없습니다.', $return_url); alert('자신의 글이 아니므로 수정할 수 없습니다.', $return_url);
} else { } else {
if ($write['mb_id']) if ($write['mb_id'])
alert('로그인 후 수정하세요.', G5_BBS_URL.'/login.php?url='.urlencode($return_url)); alert('로그인 후 수정하세요.', './login.php?url='.urlencode($return_url));
} }
if ($member['mb_id']) { if ($member['mb_id']) {
@@ -424,9 +424,6 @@ if ($w == '' || $w == 'r') {
$bo_notice = board_notice($board['bo_notice'], $wr_id, $notice); $bo_notice = board_notice($board['bo_notice'], $wr_id, $notice);
sql_query(" update {$g5['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}' "); sql_query(" update {$g5['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}' ");
// 글을 수정한 경우에는 제목이 달라질수도 있으니 static variable 를 새로고침합니다.
$write = get_write( $write_table, $wr['wr_id'], false);
} }
// 게시판그룹접근사용을 하지 않아야 하고 비회원 글읽기가 가능해야 하며 비밀글이 아니어야 합니다. // 게시판그룹접근사용을 하지 않아야 하고 비회원 글읽기가 가능해야 하며 비밀글이 아니어야 합니다.
@@ -469,20 +466,13 @@ for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
$upload[$i]['image'][0] = ''; $upload[$i]['image'][0] = '';
$upload[$i]['image'][1] = ''; $upload[$i]['image'][1] = '';
$upload[$i]['image'][2] = ''; $upload[$i]['image'][2] = '';
$upload[$i]['fileurl'] = '';
$upload[$i]['thumburl'] = '';
$upload[$i]['storage'] = '';
// 삭제에 체크가 되어있다면 파일을 삭제합니다. // 삭제에 체크가 되어있다면 파일을 삭제합니다.
if (isset($_POST['bf_file_del'][$i]) && $_POST['bf_file_del'][$i]) { if (isset($_POST['bf_file_del'][$i]) && $_POST['bf_file_del'][$i]) {
$upload[$i]['del_check'] = true; $upload[$i]['del_check'] = true;
$row = sql_fetch(" select * from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$i}' "); $row = sql_fetch(" select bf_file from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$i}' ");
@unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.$row['bf_file']);
$delete_file = run_replace('delete_file_path', G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '', $row['bf_file']), $row);
if( file_exists($delete_file) ){
@unlink($delete_file);
}
// 썸네일삭제 // 썸네일삭제
if(preg_match("/\.({$config['cf_image_extension']})$/i", $row['bf_file'])) { if(preg_match("/\.({$config['cf_image_extension']})$/i", $row['bf_file'])) {
delete_board_thumbnail($bo_table, $row['bf_file']); delete_board_thumbnail($bo_table, $row['bf_file']);
@@ -534,12 +524,8 @@ for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
// 4.00.11 - 글답변에서 파일 업로드시 원글의 파일이 삭제되는 오류를 수정 // 4.00.11 - 글답변에서 파일 업로드시 원글의 파일이 삭제되는 오류를 수정
if ($w == 'u') { if ($w == 'u') {
// 존재하는 파일이 있다면 삭제합니다. // 존재하는 파일이 있다면 삭제합니다.
$row = sql_fetch(" select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$i' "); $row = sql_fetch(" select bf_file from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$i' ");
@unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.$row['bf_file']);
$delete_file = run_replace('delete_file_path', G5_DATA_PATH.'/file/'.$bo_table.'/'.str_replace('../', '', $row['bf_file']), $row);
if( file_exists($delete_file) ){
@unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.$row['bf_file']);
}
// 이미지파일이면 썸네일삭제 // 이미지파일이면 썸네일삭제
if(preg_match("/\.({$config['cf_image_extension']})$/i", $row['bf_file'])) { if(preg_match("/\.({$config['cf_image_extension']})$/i", $row['bf_file'])) {
delete_board_thumbnail($bo_table, $row['bf_file']); delete_board_thumbnail($bo_table, $row['bf_file']);
@@ -568,7 +554,6 @@ for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
chmod($dest_file, G5_FILE_PERMISSION); chmod($dest_file, G5_FILE_PERMISSION);
$dest_file = run_replace('write_update_upload_file', $dest_file, $board, $wr_id, $w); $dest_file = run_replace('write_update_upload_file', $dest_file, $board, $wr_id, $w);
$upload[$i] = run_replace('write_update_upload_array', $upload[$i], $dest_file, $board, $wr_id, $w);
} }
} }
@@ -590,9 +575,6 @@ for ($i=0; $i<count($upload); $i++)
set bf_source = '{$upload[$i]['source']}', set bf_source = '{$upload[$i]['source']}',
bf_file = '{$upload[$i]['file']}', bf_file = '{$upload[$i]['file']}',
bf_content = '{$bf_content[$i]}', bf_content = '{$bf_content[$i]}',
bf_fileurl = '{$upload[$i]['fileurl']}',
bf_thumburl = '{$upload[$i]['thumburl']}',
bf_storage = '{$upload[$i]['storage']}',
bf_filesize = '{$upload[$i]['filesize']}', bf_filesize = '{$upload[$i]['filesize']}',
bf_width = '{$upload[$i]['image']['0']}', bf_width = '{$upload[$i]['image']['0']}',
bf_height = '{$upload[$i]['image']['1']}', bf_height = '{$upload[$i]['image']['1']}',
@@ -622,9 +604,6 @@ for ($i=0; $i<count($upload); $i++)
bf_source = '{$upload[$i]['source']}', bf_source = '{$upload[$i]['source']}',
bf_file = '{$upload[$i]['file']}', bf_file = '{$upload[$i]['file']}',
bf_content = '{$bf_content[$i]}', bf_content = '{$bf_content[$i]}',
bf_fileurl = '{$upload[$i]['fileurl']}',
bf_thumburl = '{$upload[$i]['thumburl']}',
bf_storage = '{$upload[$i]['storage']}',
bf_download = 0, bf_download = 0,
bf_filesize = '{$upload[$i]['filesize']}', bf_filesize = '{$upload[$i]['filesize']}',
bf_width = '{$upload[$i]['image']['0']}', bf_width = '{$upload[$i]['image']['0']}',
+5 -36
View File
@@ -38,7 +38,7 @@ function g5_path()
$server_script_filename = preg_replace('/\/+/', '/', str_replace('\\', '/', $_SERVER['SCRIPT_FILENAME'])); $server_script_filename = preg_replace('/\/+/', '/', str_replace('\\', '/', $_SERVER['SCRIPT_FILENAME']));
$tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $server_script_name); $tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $server_script_name);
$document_root = str_replace($tilde_remove, '', $server_script_filename); $document_root = str_replace($tilde_remove, '', $server_script_filename);
$pattern = '/.*?' . preg_quote($document_root, '/') . '/i'; $pattern = '/' . preg_quote($document_root, '/') . '/i';
$root = preg_replace($pattern, '', $result['path']); $root = preg_replace($pattern, '', $result['path']);
$port = ($_SERVER['SERVER_PORT'] == 80 || $_SERVER['SERVER_PORT'] == 443) ? '' : ':'.$_SERVER['SERVER_PORT']; $port = ($_SERVER['SERVER_PORT'] == 80 || $_SERVER['SERVER_PORT'] == 443) ? '' : ':'.$_SERVER['SERVER_PORT'];
$http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://'; $http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://';
@@ -216,6 +216,10 @@ ini_set("session.gc_divisor", 100); // session.gc_divisor는 session.gc_probabil
session_set_cookie_params(0, '/'); session_set_cookie_params(0, '/');
ini_set("session.cookie_domain", G5_COOKIE_DOMAIN); ini_set("session.cookie_domain", G5_COOKIE_DOMAIN);
@session_start();
//==============================================================================
//============================================================================== //==============================================================================
// 공용 변수 // 공용 변수
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
@@ -223,41 +227,6 @@ ini_set("session.cookie_domain", G5_COOKIE_DOMAIN);
// 기본적으로 사용하는 필드만 얻은 후 상황에 따라 필드를 추가로 얻음 // 기본적으로 사용하는 필드만 얻은 후 상황에 따라 필드를 추가로 얻음
$config = get_config(); $config = get_config();
// 본인인증 또는 쇼핑몰 사용시에만 secure; SameSite=None 로 설정합니다.
if( $config['cf_cert_use'] || (defined('G5_YOUNGCART_VER') && G5_YOUNGCART_VER) ) {
// Chrome 80 버전부터 아래 이슈 대응
// https://developers-kr.googleblog.com/2020/01/developers-get-ready-for-new.html?fbclid=IwAR0wnJFGd6Fg9_WIbQPK3_FxSSpFLqDCr9bjicXdzy--CCLJhJgC9pJe5ss
if(!function_exists('session_start_samesite')) {
function session_start_samesite($options = array())
{
global $g5;
$res = @session_start($options);
// IE 브라우저 또는 엣지브라우저 일때는 secure; SameSite=None, http 환경에서는 설정하지 않습니다.
if( preg_match('/Edge/i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || preg_match('~Trident/7.0(; Touch)?; rv:11.0~',$_SERVER['HTTP_USER_AGENT']) || ! (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ){
return $res;
}
$headers = headers_list();
krsort($headers);
foreach ($headers as $header) {
if (!preg_match('~^Set-Cookie: PHPSESSID=~', $header)) continue;
$header = preg_replace('~; secure(; HttpOnly)?$~', '', $header) . '; secure; SameSite=None';
header($header, false);
$g5['session_cookie_samesite'] = 'none';
break;
}
return $res;
}
}
session_start_samesite();
} else {
@session_start();
}
//==============================================================================
define('G5_HTTP_BBS_URL', https_url(G5_BBS_DIR, false)); define('G5_HTTP_BBS_URL', https_url(G5_BBS_DIR, false));
define('G5_HTTPS_BBS_URL', https_url(G5_BBS_DIR, true)); define('G5_HTTPS_BBS_URL', https_url(G5_BBS_DIR, true));
if ($config['cf_editor']) if ($config['cf_editor'])
+1 -1
View File
@@ -5,7 +5,7 @@
********************/ ********************/
define('G5_VERSION', '그누보드5'); define('G5_VERSION', '그누보드5');
define('G5_GNUBOARD_VER', '5.4.2'); define('G5_GNUBOARD_VER', '5.4.0.1');
// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음 // 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음
define('_GNUBOARD_', true); define('_GNUBOARD_', true);
+3 -4
View File
@@ -104,8 +104,7 @@ border:1px solid #558ab7 !important;
/* 메인메뉴 */ /* 메인메뉴 */
#gnb {position:relative;background:#fff} #gnb {position:relative;background:#fff}
#gnb > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} #gnb > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#gnb .gnb_wrap {margin:0 auto;position:relative} #gnb .gnb_wrap {margin:0 auto;position:relative;z-index:10}
#gnb .gnb_wrap:hover, #gnb .gnb_wrap:focus, #gnb .gnb_wrap:active{z-index:3}
#gnb #gnb_1dul {font-size:1.083em;padding:0;border-bottom:1px solid #e0e2e5;zoom:1} #gnb #gnb_1dul {font-size:1.083em;padding:0;border-bottom:1px solid #e0e2e5;zoom:1}
#gnb ul:after {display:block;visibility:hidden;clear:both;content:""} #gnb ul:after {display:block;visibility:hidden;clear:both;content:""}
#gnb .gnb_1dli {float:left;line-height:55px;padding:0px;position:relative} #gnb .gnb_1dli {float:left;line-height:55px;padding:0px;position:relative}
@@ -158,10 +157,10 @@ box-shadow:0 2px 5px rgba(0,0,0,0.2)}
/* 중간 레이아웃 */ /* 중간 레이아웃 */
#wrapper {} #wrapper {}
#container_wr:after {display:block;visibility:hidden;clear:both;content:""} #container_wr:after {display:block;visibility:hidden;clear:both;content:""}
#container_wr {margin:0 auto;height:100%;zoom:1} #container_wr {z-index:5;margin:0 auto;height:100%;zoom:1}
#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px} #aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}
#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1} #container {z-index:4;position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1}
#container:after {display:block;visibility:hidden;clear:both;content:""} #container:after {display:block;visibility:hidden;clear:both;content:""}
#container_title {font-size:1.333em;margin:0 auto;font-weight:bold} #container_title {font-size:1.333em;margin:0 auto;font-weight:bold}
#container_title span {margin:0 auto 10px;display:block;line-height:30px} #container_title span {margin:0 auto 10px;display:block;line-height:30px}
+1 -1
View File
@@ -215,7 +215,7 @@ a.btn_b03, .btn_b03 {display:inline-block;line-height:28px;border:0;background:t
a.btn_b03:hover, .btn_b03:hover {} a.btn_b03:hover, .btn_b03:hover {}
a.btn_admin {display:inline-block;color:#d13f4a;font-size:1.4em;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */ a.btn_admin {display:inline-block;color:#d13f4a;font-size:1.4em;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
a.btn_admin:focus, a.btn_admin:hover {} a.btn_admin:focus, a.btn_admin:hover {}
.fix_btn {position:fixed;z-index:99;bottom:65px;right:15px;background:#3a8afd;width:50px;height:50px;color:#fff;text-align:center;border-radius:50% !important;font-size:1.8em;line-height:50px !important;-webkit-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4); .fix_btn {position:fixed;bottom:65px;right:15px;background:#3a8afd;width:50px;height:50px;color:#fff;text-align:center;border-radius:50% !important;font-size:1.8em;line-height:50px !important;-webkit-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4);
-moz-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4); -moz-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4);
box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4)} box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4)}
a.btn,.btn {line-height:35px;width:30px;height:35px;padding:0 5px;text-align:center;font-weight:bold;border:0;font-size:1.4em; a.btn,.btn {line-height:35px;width:30px;height:35px;padding:0 5px;text-align:center;font-weight:bold;border:0;font-size:1.4em;
+2 -2
View File
@@ -7,7 +7,7 @@ add_replace('invalid_password', 'g54_return_invalid_password', 10, 3);
function g54_return_invalid_password($bool, $type, $wr){ function g54_return_invalid_password($bool, $type, $wr){
if($type === 'write' && $bool === false && $wr['wr_password'] && isset($_POST['wr_password'])) { if($type === 'write' && $bool === false && $wr['wr_password'] && isset($_POST['wr_password'])) {
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && (strlen($wr['wr_password']) === G5_MYSQL_PASSWORD_LENGTH || strlen($wr['wr_password']) === 16)) { if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && strlen($wr['wr_password']) === G5_MYSQL_PASSWORD_LENGTH) {
if( sql_password($_POST['wr_password']) === $wr['wr_password'] ){ if( sql_password($_POST['wr_password']) === $wr['wr_password'] ){
$bool = true; $bool = true;
} }
@@ -22,7 +22,7 @@ function g54_check_bbs_password($type, $wr, $qstr=''){
global $bo_table, $w; global $bo_table, $w;
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && (strlen($wr['wr_password']) === G5_MYSQL_PASSWORD_LENGTH || strlen($wr['wr_password']) === 16)) { if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && strlen($wr['wr_password']) === G5_MYSQL_PASSWORD_LENGTH) {
if( sql_password($_POST['wr_password']) === $wr['wr_password'] ){ if( sql_password($_POST['wr_password']) === $wr['wr_password'] ){
if ($w == 's') { if ($w == 's') {
$ss_name = 'ss_secret_'.$bo_table.'_'.$wr['wr_num']; $ss_name = 'ss_secret_'.$bo_table.'_'.$wr['wr_num'];
+2 -2
View File
@@ -1,6 +1,6 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
define('G5_JS_VER', '191202'); define('G5_JS_VER', '171222');
define('G5_CSS_VER', '191202'); define('G5_CSS_VER', '171222');
?> ?>
+25 -4
View File
@@ -1,8 +1,6 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
run_event('pre_head');
if(defined('G5_THEME_PATH')) { if(defined('G5_THEME_PATH')) {
require_once(G5_THEME_PATH.'/head.php'); require_once(G5_THEME_PATH.'/head.php');
return; return;
@@ -112,8 +110,31 @@ include_once(G5_LIB_PATH.'/popular.lib.php');
<ul id="gnb_1dul"> <ul id="gnb_1dul">
<li class="gnb_1dli gnb_mnal"><button type="button" class="gnb_menu_btn" title="전체메뉴"><i class="fa fa-bars" aria-hidden="true"></i><span class="sound_only">전체메뉴열기</span></button></li> <li class="gnb_1dli gnb_mnal"><button type="button" class="gnb_menu_btn" title="전체메뉴"><i class="fa fa-bars" aria-hidden="true"></i><span class="sound_only">전체메뉴열기</span></button></li>
<?php <?php
$menu_datas = get_menu_db(0, true); $sql = " select *
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용 from {$g5['menu_table']}
where me_use = '1'
and length(me_code) = '2'
order by me_order, me_id ";
$result = sql_query($sql, false);
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용
$menu_datas = array();
for ($i=0; $row=sql_fetch_array($result); $i++) {
$menu_datas[$i] = $row;
$sql2 = " select *
from {$g5['menu_table']}
where me_use = '1'
and length(me_code) = '4'
and substring(me_code, 1, 2) = '{$row['me_code']}'
order by me_order, me_id ";
$result2 = sql_query($sql2);
for ($k=0; $row2=sql_fetch_array($result2); $k++) {
$menu_datas[$i]['sub'][$k] = $row2;
}
}
$i = 0; $i = 0;
foreach( $menu_datas as $row ){ foreach( $menu_datas as $row ){
if( empty($row) ) continue; if( empty($row) ) continue;
+10 -11
View File
@@ -58,9 +58,9 @@ if($config['cf_add_meta'])
<?php <?php
if (defined('G5_IS_ADMIN')) { if (defined('G5_IS_ADMIN')) {
if(!defined('_THEME_PREVIEW_')) if(!defined('_THEME_PREVIEW_'))
echo '<link rel="stylesheet" href="'.run_replace('head_css_url', G5_ADMIN_URL.'/css/admin.css?ver='.G5_CSS_VER, G5_URL).'">'.PHP_EOL; echo '<link rel="stylesheet" href="'.G5_ADMIN_URL.'/css/admin.css?ver='.G5_CSS_VER.'">'.PHP_EOL;
} else { } else {
echo '<link rel="stylesheet" href="'.run_replace('head_css_url', G5_CSS_URL.'/'.(G5_IS_MOBILE ?'mobile':'default').'.css?ver='.G5_CSS_VER, G5_URL).'">'.PHP_EOL; echo '<link rel="stylesheet" href="'.G5_CSS_URL.'/'.(G5_IS_MOBILE?'mobile':'default').'.css?ver='.G5_CSS_VER.'">'.PHP_EOL;
} }
?> ?>
<!--[if lte IE 8]> <!--[if lte IE 8]>
@@ -81,17 +81,16 @@ var g5_cookie_domain = "<?php echo G5_COOKIE_DOMAIN ?>";
var g5_admin_url = "<?php echo G5_ADMIN_URL; ?>"; var g5_admin_url = "<?php echo G5_ADMIN_URL; ?>";
<?php } ?> <?php } ?>
</script> </script>
<script src="<?php echo G5_JS_URL ?>/jquery-1.12.4.min.js"></script>
<script src="<?php echo G5_JS_URL ?>/jquery-migrate-1.4.1.min.js"></script>
<script src="<?php echo G5_JS_URL ?>/jquery.menu.js?ver=<?php echo G5_JS_VER; ?>"></script>
<script src="<?php echo G5_JS_URL ?>/common.js?ver=<?php echo G5_JS_VER; ?>"></script>
<script src="<?php echo G5_JS_URL ?>/wrest.js?ver=<?php echo G5_JS_VER; ?>"></script>
<script src="<?php echo G5_JS_URL ?>/placeholders.min.js"></script>
<link rel="stylesheet" href="<?php echo G5_JS_URL ?>/font-awesome/css/font-awesome.min.css">
<?php <?php
add_javascript('<script src="'.G5_JS_URL.'/jquery-1.12.4.min.js"></script>', 0);
add_javascript('<script src="'.G5_JS_URL.'/jquery-migrate-1.4.1.min.js"></script>', 0);
add_javascript('<script src="'.G5_JS_URL.'/jquery.menu.js?ver='.G5_JS_VER.'"></script>', 0);
add_javascript('<script src="'.G5_JS_URL.'/common.js?ver='.G5_JS_VER.'"></script>', 0);
add_javascript('<script src="'.G5_JS_URL.'/wrest.js?ver='.G5_JS_VER.'"></script>', 0);
add_javascript('<script src="'.G5_JS_URL.'/placeholders.min.js"></script>', 0);
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/font-awesome/css/font-awesome.min.css">', 0);
if(G5_IS_MOBILE) { if(G5_IS_MOBILE) {
add_javascript('<script src="'.G5_JS_URL.'/modernizr.custom.70111.js"></script>', 1); // overflow scroll 감지 echo '<script src="'.G5_JS_URL.'/modernizr.custom.70111.js"></script>'.PHP_EOL; // overflow scroll 감지
} }
if(!defined('G5_IS_ADMIN')) if(!defined('G5_IS_ADMIN'))
echo $config['cf_add_script']; echo $config['cf_add_script'];
+2 -4
View File
@@ -24,9 +24,7 @@ include_once(G5_PATH.'/head.php');
// 이 함수가 바로 최신글을 추출하는 역할을 합니다. // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수); // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정 // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
echo latest('pic_list', 'free', 4, 23); // 최소설치시 자동생성되는 자유게시판 echo latest('pic_list', 'free', 4, 23);
echo latest('pic_list', 'qa', 4, 23); // 최소설치시 자동생성되는 질문답변게시판
echo latest('pic_list', 'notice', 4, 23); // 최소설치시 자동생성되는 공지사항게시판
?> ?>
</div> </div>
<div class="latest_wr"> <div class="latest_wr">
@@ -35,7 +33,7 @@ include_once(G5_PATH.'/head.php');
// 이 함수가 바로 최신글을 추출하는 역할을 합니다. // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수); // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정 // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
echo latest('pic_block', 'gallery', 4, 23); // 최소설치시 자동생성되는 갤러리게시판 echo latest('pic_block', 'gallery', 4, 23);
?> ?>
<!-- } 사진 최신글2 끝 --> <!-- } 사진 최신글2 끝 -->
</div> </div>
-3
View File
@@ -133,9 +133,6 @@ CREATE TABLE IF NOT EXISTS `g5_board_file` (
`bf_file` varchar(255) NOT NULL default '', `bf_file` varchar(255) NOT NULL default '',
`bf_download` int(11) NOT NULL, `bf_download` int(11) NOT NULL,
`bf_content` text NOT NULL, `bf_content` text NOT NULL,
`bf_fileurl` VARCHAR(255) NOT NULL DEFAULT '',
`bf_thumburl` VARCHAR(255) NOT NULL DEFAULT '',
`bf_storage` VARCHAR(50) NOT NULL DEFAULT '',
`bf_filesize` int(11) NOT NULL default '0', `bf_filesize` int(11) NOT NULL default '0',
`bf_width` int(11) NOT NULL default '0', `bf_width` int(11) NOT NULL default '0',
`bf_height` smallint(6) NOT NULL default '0', `bf_height` smallint(6) NOT NULL default '0',
+2 -1
View File
@@ -290,8 +290,9 @@ for ($i=0; $i<count($tmp_bo_table); $i++)
sql_query($sql, true, $dblink); sql_query($sql, true, $dblink);
// 게시판 테이블 생성 // 게시판 테이블 생성
$file = file("../".G5_ADMIN_DIR."/sql_write.sql"); $file = file("../adm/sql_write.sql");
$file = get_db_create_replace($file); $file = get_db_create_replace($file);
$sql = implode($file, "\n"); $sql = implode($file, "\n");
$create_table = $table_prefix.'write_' . $tmp_bo_table[$i]; $create_table = $table_prefix.'write_' . $tmp_bo_table[$i];
-388
View File
@@ -1,388 +0,0 @@
/* This is the core CSS of Tooltipster */
/* GENERAL STRUCTURE RULES (do not edit this section) */
.tooltipster-base {
/* this ensures that a constrained height set by functionPosition,
if greater that the natural height of the tooltip, will be enforced
in browsers that support display:flex */
display: flex;
pointer-events: none;
/* this may be overriden in JS for fixed position origins */
position: absolute;
}
.tooltipster-box {
/* see .tooltipster-base. flex-shrink 1 is only necessary for IE10-
and flex-basis auto for IE11- (at least) */
flex: 1 1 auto;
}
.tooltipster-content {
/* prevents an overflow if the user adds padding to the div */
box-sizing: border-box;
/* these make sure we'll be able to detect any overflow */
max-height: 100%;
max-width: 100%;
overflow: auto;
}
.tooltipster-ruler {
/* these let us test the size of the tooltip without overflowing the window */
bottom: 0;
left: 0;
overflow: hidden;
position: fixed;
right: 0;
top: 0;
visibility: hidden;
}
/* ANIMATIONS */
/* Open/close animations */
/* fade */
.tooltipster-fade {
opacity: 0;
-webkit-transition-property: opacity;
-moz-transition-property: opacity;
-o-transition-property: opacity;
-ms-transition-property: opacity;
transition-property: opacity;
}
.tooltipster-fade.tooltipster-show {
opacity: 1;
}
/* grow */
.tooltipster-grow {
-webkit-transform: scale(0,0);
-moz-transform: scale(0,0);
-o-transform: scale(0,0);
-ms-transform: scale(0,0);
transform: scale(0,0);
-webkit-transition-property: -webkit-transform;
-moz-transition-property: -moz-transform;
-o-transition-property: -o-transform;
-ms-transition-property: -ms-transform;
transition-property: transform;
-webkit-backface-visibility: hidden;
}
.tooltipster-grow.tooltipster-show {
-webkit-transform: scale(1,1);
-moz-transform: scale(1,1);
-o-transform: scale(1,1);
-ms-transform: scale(1,1);
transform: scale(1,1);
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
-o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
}
/* swing */
.tooltipster-swing {
opacity: 0;
-webkit-transform: rotateZ(4deg);
-moz-transform: rotateZ(4deg);
-o-transform: rotateZ(4deg);
-ms-transform: rotateZ(4deg);
transform: rotateZ(4deg);
-webkit-transition-property: -webkit-transform, opacity;
-moz-transition-property: -moz-transform;
-o-transition-property: -o-transform;
-ms-transition-property: -ms-transform;
transition-property: transform;
}
.tooltipster-swing.tooltipster-show {
opacity: 1;
-webkit-transform: rotateZ(0deg);
-moz-transform: rotateZ(0deg);
-o-transform: rotateZ(0deg);
-ms-transform: rotateZ(0deg);
transform: rotateZ(0deg);
-webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 1);
-webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
-moz-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
-ms-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
-o-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
}
/* fall */
.tooltipster-fall {
-webkit-transition-property: top;
-moz-transition-property: top;
-o-transition-property: top;
-ms-transition-property: top;
transition-property: top;
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
-o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
}
.tooltipster-fall.tooltipster-initial {
top: 0 !important;
}
.tooltipster-fall.tooltipster-show {
}
.tooltipster-fall.tooltipster-dying {
-webkit-transition-property: all;
-moz-transition-property: all;
-o-transition-property: all;
-ms-transition-property: all;
transition-property: all;
top: 0 !important;
opacity: 0;
}
/* slide */
.tooltipster-slide {
-webkit-transition-property: left;
-moz-transition-property: left;
-o-transition-property: left;
-ms-transition-property: left;
transition-property: left;
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
-moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
-ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
-o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
}
.tooltipster-slide.tooltipster-initial {
left: -40px !important;
}
.tooltipster-slide.tooltipster-show {
}
.tooltipster-slide.tooltipster-dying {
-webkit-transition-property: all;
-moz-transition-property: all;
-o-transition-property: all;
-ms-transition-property: all;
transition-property: all;
left: 0 !important;
opacity: 0;
}
/* Update animations */
/* We use animations rather than transitions here because
transition durations may be specified in the style tag due to
animationDuration, and we try to avoid collisions and the use
of !important */
/* fade */
@keyframes tooltipster-fading {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.tooltipster-update-fade {
animation: tooltipster-fading 400ms;
}
/* rotate */
@keyframes tooltipster-rotating {
25% {
transform: rotate(-2deg);
}
75% {
transform: rotate(2deg);
}
100% {
transform: rotate(0);
}
}
.tooltipster-update-rotate {
animation: tooltipster-rotating 600ms;
}
/* scale */
@keyframes tooltipster-scaling {
50% {
transform: scale(1.1);
}
100% {
transform: scale(1);
}
}
.tooltipster-update-scale {
animation: tooltipster-scaling 600ms;
}
/**
* DEFAULT STYLE OF THE SIDETIP PLUGIN
*
* All styles are "namespaced" with .tooltipster-sidetip to prevent
* conflicts between plugins.
*/
/* .tooltipster-box */
.tooltipster-sidetip .tooltipster-box {
background: #565656;
border: 2px solid black;
border-radius: 4px;
}
.tooltipster-sidetip.tooltipster-bottom .tooltipster-box {
margin-top: 8px;
}
.tooltipster-sidetip.tooltipster-left .tooltipster-box {
margin-right: 8px;
}
.tooltipster-sidetip.tooltipster-right .tooltipster-box {
margin-left: 8px;
}
.tooltipster-sidetip.tooltipster-top .tooltipster-box {
margin-bottom: 8px;
}
/* .tooltipster-content */
.tooltipster-sidetip .tooltipster-content {
color: white;
line-height: 18px;
padding: 6px 14px;
}
/* .tooltipster-arrow : will keep only the zone of .tooltipster-arrow-uncropped that
corresponds to the arrow we want to display */
.tooltipster-sidetip .tooltipster-arrow {
overflow: hidden;
position: absolute;
}
.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow {
height: 10px;
/* half the width, for centering */
margin-left: -10px;
top: 0;
width: 20px;
}
.tooltipster-sidetip.tooltipster-left .tooltipster-arrow {
height: 20px;
margin-top: -10px;
right: 0;
/* top 0 to keep the arrow from overflowing .tooltipster-base when it has not
been positioned yet */
top: 0;
width: 10px;
}
.tooltipster-sidetip.tooltipster-right .tooltipster-arrow {
height: 20px;
margin-top: -10px;
left: 0;
/* same as .tooltipster-left .tooltipster-arrow */
top: 0;
width: 10px;
}
.tooltipster-sidetip.tooltipster-top .tooltipster-arrow {
bottom: 0;
height: 10px;
margin-left: -10px;
width: 20px;
}
/* common rules between .tooltipster-arrow-background and .tooltipster-arrow-border */
.tooltipster-sidetip .tooltipster-arrow-background, .tooltipster-sidetip .tooltipster-arrow-border {
height: 0;
position: absolute;
width: 0;
}
/* .tooltipster-arrow-background */
.tooltipster-sidetip .tooltipster-arrow-background {
border: 10px solid transparent;
}
.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background {
border-bottom-color: #565656;
left: 0;
top: 3px;
}
.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background {
border-left-color: #565656;
left: -3px;
top: 0;
}
.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background {
border-right-color: #565656;
left: 3px;
top: 0;
}
.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background {
border-top-color: #565656;
left: 0;
top: -3px;
}
/* .tooltipster-arrow-border */
.tooltipster-sidetip .tooltipster-arrow-border {
border: 10px solid transparent;
left: 0;
top: 0;
}
.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-border {
border-bottom-color: black;
}
.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-border {
border-left-color: black;
}
.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-border {
border-right-color: black;
}
.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-border {
border-top-color: black;
}
/* tooltipster-arrow-uncropped */
.tooltipster-sidetip .tooltipster-arrow-uncropped {
position: relative;
}
.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-uncropped {
top: -10px;
}
.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-uncropped {
left: -10px;
}
File diff suppressed because it is too large. Load diff
-1
View File
@@ -1 +0,0 @@
.tooltipster-fall,.tooltipster-grow.tooltipster-show{-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1);-moz-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-ms-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-o-transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-base{display:flex;pointer-events:none;position:absolute}.tooltipster-box{flex:1 1 auto}.tooltipster-content{box-sizing:border-box;max-height:100%;max-width:100%;overflow:auto}.tooltipster-ruler{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;visibility:hidden}.tooltipster-fade{opacity:0;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;-ms-transition-property:opacity;transition-property:opacity}.tooltipster-fade.tooltipster-show{opacity:1}.tooltipster-grow{-webkit-transform:scale(0,0);-moz-transform:scale(0,0);-o-transform:scale(0,0);-ms-transform:scale(0,0);transform:scale(0,0);-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-backface-visibility:hidden}.tooltipster-grow.tooltipster-show{-webkit-transform:scale(1,1);-moz-transform:scale(1,1);-o-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-swing{opacity:0;-webkit-transform:rotateZ(4deg);-moz-transform:rotateZ(4deg);-o-transform:rotateZ(4deg);-ms-transform:rotateZ(4deg);transform:rotateZ(4deg);-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform}.tooltipster-swing.tooltipster-show{opacity:1;-webkit-transform:rotateZ(0);-moz-transform:rotateZ(0);-o-transform:rotateZ(0);-ms-transform:rotateZ(0);transform:rotateZ(0);-webkit-transition-timing-function:cubic-bezier(.23,.635,.495,1);-webkit-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-moz-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-ms-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-o-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);transition-timing-function:cubic-bezier(.23,.635,.495,2.4)}.tooltipster-fall{-webkit-transition-property:top;-moz-transition-property:top;-o-transition-property:top;-ms-transition-property:top;transition-property:top;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-fall.tooltipster-initial{top:0!important}.tooltipster-fall.tooltipster-dying{-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;-ms-transition-property:all;transition-property:all;top:0!important;opacity:0}.tooltipster-slide{-webkit-transition-property:left;-moz-transition-property:left;-o-transition-property:left;-ms-transition-property:left;transition-property:left;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-moz-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-ms-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-o-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-slide.tooltipster-initial{left:-40px!important}.tooltipster-slide.tooltipster-dying{-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;-ms-transition-property:all;transition-property:all;left:0!important;opacity:0}@keyframes tooltipster-fading{0%{opacity:0}100%{opacity:1}}.tooltipster-update-fade{animation:tooltipster-fading .4s}@keyframes tooltipster-rotating{25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}100%{transform:rotate(0)}}.tooltipster-update-rotate{animation:tooltipster-rotating .6s}@keyframes tooltipster-scaling{50%{transform:scale(1.1)}100%{transform:scale(1)}}.tooltipster-update-scale{animation:tooltipster-scaling .6s}.tooltipster-sidetip .tooltipster-box{background:#565656;border:2px solid #000;border-radius:4px}.tooltipster-sidetip.tooltipster-bottom .tooltipster-box{margin-top:8px}.tooltipster-sidetip.tooltipster-left .tooltipster-box{margin-right:8px}.tooltipster-sidetip.tooltipster-right .tooltipster-box{margin-left:8px}.tooltipster-sidetip.tooltipster-top .tooltipster-box{margin-bottom:8px}.tooltipster-sidetip .tooltipster-content{color:#fff;line-height:18px;padding:6px 14px}.tooltipster-sidetip .tooltipster-arrow{overflow:hidden;position:absolute}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow{height:10px;margin-left:-10px;top:0;width:20px}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow{height:20px;margin-top:-10px;right:0;top:0;width:10px}.tooltipster-sidetip.tooltipster-right .tooltLine truncated
-2
View File
@@ -1,2 +0,0 @@
/*! tooltipster v4.2.7 */!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){function b(a){this.$container,this.constraints=null,this.__$tooltip,this.__init(a)}function c(b,c){var d=!0;return a.each(b,function(a,e){return void 0===c[a]||b[a]!==c[a]?(d=!1,!1):void 0}),d}function d(b){var c=b.attr("id"),d=c?h.window.document.getElementById(c):null;return d?d===b[0]:a.contains(h.window.document.body,b[0])}function e(){if(!g)return!1;var a=g.document.body||g.document.documentElement,b=a.style,c="transition",d=["Moz","Webkit","Khtml","O","ms"];if("string"==typeof b[c])return!0;c=c.charAt(0).toUpperCase()+c.substr(1);for(var e=0;e<d.length;e++)if("string"==typeof b[d[e]+c])return!0;return!1}var f={animation:"fade",animationDuration:350,content:null,contentAsHTML:!1,contentCloning:!1,debug:!0,delay:300,delayTouch:[300,500],functionInit:null,functionBefore:null,functionReady:null,functionAfter:null,functionFormat:null,IEmin:6,interactive:!1,multiple:!1,parent:null,plugins:["sideTip"],repositionOnScroll:!1,restoration:"none",selfDestruction:!0,theme:[],timer:0,trackerInterval:500,trackOrigin:!1,trackTooltip:!1,trigger:"hover",triggerClose:{click:!1,mouseleave:!1,originClick:!1,scroll:!1,tap:!1,touchleave:!1},triggerOpen:{click:!1,mouseenter:!1,tap:!1,touchstart:!1},updateAnimation:"rotate",zIndex:9999999},g="undefined"!=typeof window?window:null,h={hasTouchCapability:!(!g||!("ontouchstart"in g||g.DocumentTouch&&g.document instanceof g.DocumentTouch||g.navigator.maxTouchPoints)),hasTransitions:e(),IE:!1,semVer:"4.2.7",window:g},i=function(){this.__$emitterPrivate=a({}),this.__$emitterPublic=a({}),this.__instancesLatestArr=[],this.__plugins={},this._env=h};i.prototype={__bridge:function(b,c,d){if(!c[d]){var e=function(){};e.prototype=b;var g=new e;g.__init&&g.__init(c),a.each(b,function(a,b){0!=a.indexOf("__")&&(c[a]?f.debug&&console.log("The "+a+" method of the "+d+" plugin conflicts with another plugin or native methods"):(c[a]=function(){return g[a].apply(g,Array.prototype.slice.apply(arguments))},c[a].bridged=g))}),c[d]=g}return this},__setWindow:function(a){return h.window=a,this},_getRuler:function(a){return new b(a)},_off:function(){return this.__$emitterPrivate.off.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_on:function(){return this.__$emitterPrivate.on.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_one:function(){return this.__$emitterPrivate.one.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_plugin:function(b){var c=this;if("string"==typeof b){var d=b,e=null;return d.indexOf(".")>0?e=c.__plugins[d]:a.each(c.__plugins,function(a,b){return b.name.substring(b.name.length-d.length-1)=="."+d?(e=b,!1):void 0}),e}if(b.name.indexOf(".")<0)throw new Error("Plugins must be namespaced");return c.__plugins[b.name]=b,b.core&&c.__bridge(b.core,c,b.name),this},_trigger:function(){var a=Array.prototype.slice.apply(arguments);return"string"==typeof a[0]&&(a[0]={type:a[0]}),this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate,a),this.__$emitterPublic.trigger.apply(this.__$emitterPublic,a),this},instances:function(b){var c=[],d=b||".tooltipstered";return a(d).each(function(){var b=a(this),d=b.data("tooltipster-ns");d&&a.each(d,function(a,d){c.push(b.data(d))})}),c},instancesLatest:function(){return this.__instancesLatestArr},off:function(){return this.__$emitterPublic.off.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},on:function(){return this.__$emitterPublic.on.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},one:function(){return this.__$emitterPublic.one.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},origins:function(b){var c=b?b+" ":"";return a(c+".tooltipstered").toArray()},setDefaults:function(b){return a.extend(f,b),this},triggerHandler:function(){return this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this}},a.tooltipster=new i,a.Tooltipster=function(b,c){this.__callbacks={close:[],open:[]},this.__closingTime,this.__Content,this.__contentBcr,this.__destroyed=!1,this.__$emitterPrivate=a({}),this.__$emitterPublic=a({}),this.__enabled=!0,this.__garbageCollector,this.__Geometry,this.__lastPosition,this.__namespace="tooltipster-"+Math.round(1e6*Math.random()),this.__options,this.__$originParents,this.__pointerIsOverOrigin=!1,this.__previousThemes=[],this.__state="closed",this.__timeouts={close:[],open:null},this.__touchEvents=[],this.__tracker=null,this._$origin,this._$tooltip,this.__init(b,c)},a.Tooltipster.prototype={__init:function(b,c){var d=this;if(d._$origin=a(b),d.__options=a.extend(!0,{},f,c),d.__optionsFormat(),!h.IE||h.IE>=d.__options.IEmin){var e=null;if(void 0===d._$origin.data("tooltipster-initialTitle")&&(e=d._$origin.attr("title"),void 0===e&&(e=nLine truncated
this.__instance._$tooltip=b,this.__instance._trigger("created")},__destroy:function(){this.__instance._off("."+self.__namespace)},__optionsFormat:function(){var b=this;if(b.__options=b.__instance._optionsExtract(k,b.__defaults()),b.__options.position&&(b.__options.side=b.__options.position),"object"!=typeof b.__options.distance&&(b.__options.distance=[b.__options.distance]),b.__options.distance.length<4&&(void 0===b.__options.distance[1]&&(b.__options.distance[1]=b.__options.distance[0]),void 0===b.__options.distance[2]&&(b.__options.distance[2]=b.__options.distance[0]),void 0===b.__options.distance[3]&&(b.__options.distance[3]=b.__options.distance[1]),b.__options.distance={top:b.__options.distance[0],right:b.__options.distance[1],bottom:b.__options.distance[2],left:b.__options.distance[3]}),"string"==typeof b.__options.side){var c={top:"bottom",right:"left",bottom:"top",left:"right"};b.__options.side=[b.__options.side,c[b.__options.side]],"left"==b.__options.side[0]||"right"==b.__options.side[0]?b.__options.side.push("top","bottom"):b.__options.side.push("right","left")}6===a.tooltipster._env.IE&&b.__options.arrow!==!0&&(b.__options.arrow=!1)},__reposition:function(b,c){var d,e=this,f=e.__targetFind(c),g=[];e.__instance._$tooltip.detach();var h=e.__instance._$tooltip.clone(),i=a.tooltipster._getRuler(h),j=!1,k=e.__instance.option("animation");switch(k&&h.removeClass("tooltipster-"+k),a.each(["window","document"],function(d,k){var l=null;if(e.__instance._trigger({container:k,helper:c,satisfied:j,takeTest:function(a){l=a},results:g,type:"positionTest"}),1==l||0!=l&&0==j&&("window"!=k||e.__options.viewportAware))for(var d=0;d<e.__options.side.length;d++){var m={horizontal:0,vertical:0},n=e.__options.side[d];"top"==n||"bottom"==n?m.vertical=e.__options.distance[n]:m.horizontal=e.__options.distance[n],e.__sideChange(h,n),a.each(["natural","constrained"],function(a,d){if(l=null,e.__instance._trigger({container:k,event:b,helper:c,mode:d,results:g,satisfied:j,side:n,takeTest:function(a){l=a},type:"positionTest"}),1==l||0!=l&&0==j){var h={container:k,distance:m,fits:null,mode:d,outerSize:null,side:n,size:null,target:f[n],whole:null},o="natural"==d?i.free():i.constrain(c.geo.available[k][n].width-m.horizontal,c.geo.available[k][n].height-m.vertical),p=o.measure();if(h.size=p.size,h.outerSize={height:p.size.height+m.vertical,width:p.size.width+m.horizontal},"natural"==d?c.geo.available[k][n].width>=h.outerSize.width&&c.geo.available[k][n].height>=h.outerSize.height?h.fits=!0:h.fits=!1:h.fits=p.fits,"window"==k&&(h.fits?"top"==n||"bottom"==n?h.whole=c.geo.origin.windowOffset.right>=e.__options.minIntersection&&c.geo.window.size.width-c.geo.origin.windowOffset.left>=e.__options.minIntersection:h.whole=c.geo.origin.windowOffset.bottom>=e.__options.minIntersection&&c.geo.window.size.height-c.geo.origin.windowOffset.top>=e.__options.minIntersection:h.whole=!1),g.push(h),h.whole)j=!0;else if("natural"==h.mode&&(h.fits||h.size.width<=c.geo.available[k][n].width))return!1}})}}),e.__instance._trigger({edit:function(a){g=a},event:b,helper:c,results:g,type:"positionTested"}),g.sort(function(a,b){if(a.whole&&!b.whole)return-1;if(!a.whole&&b.whole)return 1;if(a.whole&&b.whole){var c=e.__options.side.indexOf(a.side),d=e.__options.side.indexOf(b.side);return d>c?-1:c>d?1:"natural"==a.mode?-1:1}if(a.fits&&!b.fits)return-1;if(!a.fits&&b.fits)return 1;if(a.fits&&b.fits){var c=e.__options.side.indexOf(a.side),d=e.__options.side.indexOf(b.side);return d>c?-1:c>d?1:"natural"==a.mode?-1:1}return"document"==a.container&&"bottom"==a.side&&"natural"==a.mode?-1:1}),d=g[0],d.coord={},d.side){case"left":case"right":d.coord.top=Math.floor(d.target-d.size.height/2);break;case"bottom":case"top":d.coord.left=Math.floor(d.target-d.size.width/2)}switch(d.side){case"left":d.coord.left=c.geo.origin.windowOffset.left-d.outerSize.width;break;case"right":d.coord.left=c.geo.origin.windowOffset.right+d.distance.horizontal;break;case"top":d.coord.top=c.geo.origin.windowOffset.top-d.outerSize.height;break;case"bottom":d.coord.top=c.geo.origin.windowOffset.bottom+d.distance.vertical}"window"==d.container?"top"==d.side||"bottom"==d.side?d.coord.left<0?c.geo.origin.windowOffset.right-this.__options.minIntersection>=0?d.coord.left=0:d.coord.left=c.geo.origin.windowOffset.right-this.__options.minIntersection-1:d.coord.left>c.geo.window.size.width-d.size.width&&(c.geo.origin.windowOffset.left+this.__options.minIntersection<=c.geo.window.size.width?d.coord.left=c.geo.window.size.width-d.size.width:d.coord.left=c.geo.origin.windowOffset.left+this.__options.minIntersection+1-d.size.width):d.coord.top<0?c.geo.origin.windowOffset.bottom-this.__options.minIntersection>=0?d.coord.top=0:d.coord.top=c.geo.origin.windowOffset.bottom-this.__options.minIntersection-1:d.coord.top>c.geo.window.size.height-d.size.height&&(c.geo.origin.windowOffset.top+this.__options.minIntersection<=c.geo.window.size.height?d.coord.top=c.geo.window.size.height-d.size.height:d.coord.top=c.geo.oriLine truncated
+7 -27
View File
@@ -21,8 +21,7 @@ function get_microtime()
function get_paging($write_pages, $cur_page, $total_page, $url, $add="") function get_paging($write_pages, $cur_page, $total_page, $url, $add="")
{ {
//$url = preg_replace('#&amp;page=[0-9]*(&amp;page=)$#', '$1', $url); //$url = preg_replace('#&amp;page=[0-9]*(&amp;page=)$#', '$1', $url);
$url = preg_replace('#(&amp;)?page=[0-9]*#', '', $url); $url = preg_replace('#&amp;page=[0-9]*#', '', $url) . '&amp;page=';
$url .= substr($url, -1) === '?' ? 'page=' : '&amp;page=';
$str = ''; $str = '';
if ($cur_page > 1) { if ($cur_page > 1) {
@@ -116,19 +115,6 @@ function goto_url($url)
// 세션변수 생성 // 세션변수 생성
function set_session($session_name, $value) function set_session($session_name, $value)
{ {
global $g5;
static $check_cookie = null;
if( $check_cookie === null ){
$cookie_session_name = session_name();
if( ! isset($g5['session_cookie_samesite']) && ! ($cookie_session_name && isset($_COOKIE[$cookie_session_name]) && $_COOKIE[$cookie_session_name]) && ! headers_sent() ){
@session_regenerate_id(false);
}
$check_cookie = 1;
}
if (PHP_VERSION < '5.3.0') if (PHP_VERSION < '5.3.0')
session_register($session_name); session_register($session_name);
// PHP 버전별 차이를 없애기 위한 방법 // PHP 버전별 차이를 없애기 위한 방법
@@ -324,9 +310,6 @@ function get_file($bo_table, $wr_id)
$file[$no]['image_width'] = $row['bf_width'] ? $row['bf_width'] : 640; $file[$no]['image_width'] = $row['bf_width'] ? $row['bf_width'] : 640;
$file[$no]['image_height'] = $row['bf_height'] ? $row['bf_height'] : 480; $file[$no]['image_height'] = $row['bf_height'] ? $row['bf_height'] : 480;
$file[$no]['image_type'] = $row['bf_type']; $file[$no]['image_type'] = $row['bf_type'];
$file[$no]['bf_fileurl'] = $row['bf_fileurl'];
$file[$no]['bf_thumburl'] = $row['bf_thumburl'];
$file[$no]['bf_storage'] = $row['bf_storage'];
$file['count']++; $file['count']++;
} }
@@ -721,7 +704,7 @@ function get_write($write_table, $wr_id, $is_cache=false)
$write = $g5_object->get('bbs', $wr_id, $wr_bo_table); $write = $g5_object->get('bbs', $wr_id, $wr_bo_table);
if( !$write || $is_cache == false ){ if( !$write ){
$sql = " select * from {$write_table} where wr_id = '{$wr_id}' "; $sql = " select * from {$write_table} where wr_id = '{$wr_id}' ";
$write = sql_fetch($sql); $write = sql_fetch($sql);
@@ -2474,7 +2457,7 @@ function add_stylesheet($stylesheet, $order=0)
{ {
global $html_process; global $html_process;
if(trim($stylesheet) && method_exists($html_process, 'merge_stylesheet') ) if(trim($stylesheet))
$html_process->merge_stylesheet($stylesheet, $order); $html_process->merge_stylesheet($stylesheet, $order);
} }
@@ -2482,7 +2465,7 @@ function add_javascript($javascript, $order=0)
{ {
global $html_process; global $html_process;
if(trim($javascript) && method_exists($html_process, 'merge_javascript') ) if(trim($javascript))
$html_process->merge_javascript($javascript, $order); $html_process->merge_javascript($javascript, $order);
} }
@@ -3197,7 +3180,7 @@ function login_password_check($mb, $pass, $hash)
if(!$mb_id) if(!$mb_id)
return false; return false;
if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && (strlen($hash) === G5_MYSQL_PASSWORD_LENGTH || strlen($hash) === 16)) { if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && strlen($hash) === G5_MYSQL_PASSWORD_LENGTH) {
if( sql_password($pass) === $hash ){ if( sql_password($pass) === $hash ){
if( ! isset($mb['mb_password2']) ){ if( ! isset($mb['mb_password2']) ){
@@ -3561,7 +3544,7 @@ function get_member_profile_img($mb_id='', $width='', $height='', $alt='profile_
// 프로필 이미지가 없을때 기본 이미지 // 프로필 이미지가 없을때 기본 이미지
$no_profile_img = (defined('G5_THEME_NO_PROFILE_IMG') && G5_THEME_NO_PROFILE_IMG) ? G5_THEME_NO_PROFILE_IMG : G5_NO_PROFILE_IMG; $no_profile_img = (defined('G5_THEME_NO_PROFILE_IMG') && G5_THEME_NO_PROFILE_IMG) ? G5_THEME_NO_PROFILE_IMG : G5_NO_PROFILE_IMG;
$tmp = array(); $tmp = array();
preg_match( '/src="([^"]*)"/i', $no_profile_img, $tmp ); preg_match( '/src="([^"]*)"/i', $foo, $tmp );
$no_profile_cache = $src = isset($tmp[1]) ? $tmp[1] : G5_IMG_URL.'/no_profile.gif'; $no_profile_cache = $src = isset($tmp[1]) ? $tmp[1] : G5_IMG_URL.'/no_profile.gif';
} }
} }
@@ -3723,15 +3706,12 @@ function is_include_path_check($path='', $is_input='')
if( preg_match('/\/data\/(file|editor|qa|cache|member|member_image|session|tmp)\/[A-Za-z0-9_]{1,20}\//i', $replace_path) ){ if( preg_match('/\/data\/(file|editor|qa|cache|member|member_image|session|tmp)\/[A-Za-z0-9_]{1,20}\//i', $replace_path) ){
return false; return false;
} }
if( preg_match('/'.G5_PLUGIN_DIR.'\//i', $replace_path) && (preg_match('/'.G5_OKNAME_DIR.'\//i', $replace_path) || preg_match('/'.G5_KCPCERT_DIR.'\//i', $replace_path) || preg_match('/'.G5_LGXPAY_DIR.'\//i', $replace_path)) ){ if( (preg_match('/\.\.\//i', $replace_path) || preg_match('/^\/.*/i', $replace_path)) && preg_match('/plugin\//i', $replace_path) && preg_match('/okname\//i', $replace_path) ){
return false; return false;
} }
if( substr_count($replace_path, './') > 5 ){ if( substr_count($replace_path, './') > 5 ){
return false; return false;
} }
if( defined('G5_SHOP_DIR') && preg_match('/'.G5_SHOP_DIR.'\//i', $replace_path) && preg_match('/kcp\//i', $replace_path) ){
return false;
}
} }
$extension = pathinfo($path, PATHINFO_EXTENSION); $extension = pathinfo($path, PATHINFO_EXTENSION);
+1 -86
View File
@@ -50,8 +50,6 @@ function get_board_names(){
global $g5; global $g5;
static $boards = array(); static $boards = array();
$boards = run_replace('get_board_names_cache', $boards);
if( ! $boards ){ if( ! $boards ){
$sql = " select bo_table from {$g5['board_table']} "; $sql = " select bo_table from {$g5['board_table']} ";
@@ -90,53 +88,6 @@ function get_board_db($bo_table, $is_cache=false){
return $cache[$key]; return $cache[$key];
} }
function get_menu_db($use_mobile=0, $is_cache=false){
global $g5;
static $cache = array();
$cache = run_replace('get_menu_db_cache', $cache, $use_mobile, $is_cache);
$key = md5($use_mobile);
if( $is_cache && isset($cache[$key]) ){
return $cache[$key];
}
$where = $use_mobile ? "me_mobile_use = '1'" : "me_use = '1'";
if( !($cache[$key] = run_replace('get_menu_db', array(), $use_mobile)) ){
$sql = " select *
from {$g5['menu_table']}
where $where
and length(me_code) = '2'
order by me_order, me_id ";
$result = sql_query($sql, false);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$row['ori_me_link'] = $row['me_link'];
$row['me_link'] = short_url_clean($row['me_link']);
$cache[$key][$i] = $row;
$sql2 = " select *
from {$g5['menu_table']}
where $where
and length(me_code) = '4'
and substring(me_code, 1, 2) = '{$row['me_code']}'
order by me_order, me_id ";
$result2 = sql_query($sql2);
for ($k=0; $row2=sql_fetch_array($result2); $k++) {
$row2['ori_me_link'] = $row2['me_link'];
$row2['me_link'] = short_url_clean($row2['me_link']);
$cache[$key][$i]['sub'][$k] = $row2;
}
}
}
return $cache[$key];
}
// 게시판 테이블에서 하나의 행을 읽음 // 게시판 테이블에서 하나의 행을 읽음
function get_content_by_field($write_table, $type='bbs', $where_field='', $where_value='', $is_cache=false) function get_content_by_field($write_table, $type='bbs', $where_field='', $where_value='', $is_cache=false)
{ {
@@ -329,7 +280,7 @@ function get_db_create_replace($sql_str){
function get_class_encrypt(){ function get_class_encrypt(){
static $cache; static $cache;
if( $cache && is_object($cache) ){ if( $cache && is_object($obj) ){
return $cache; return $cache;
} }
@@ -400,42 +351,6 @@ function get_bo_table_banned_word(){
return run_replace('get_bo_table_banned_word', $folders); return run_replace('get_bo_table_banned_word', $folders);
} }
function get_board_sort_fields($board=array(), $make_key_return=''){
$bo_sort_fields = run_replace('get_board_sort_fields', array(
array('wr_num, wr_reply', '기본'),
array('wr_datetime asc', '날짜 이전것 부터'),
array('wr_datetime desc', '날짜 최근것 부터'),
array('wr_hit asc, wr_num, wr_reply', '조회수 낮은것 부터'),
array('wr_hit desc, wr_num, wr_reply', '조회수 높은것 부터'),
array('wr_last asc', '최근글 이전것 부터'),
array('wr_last desc', '최근글 최근것 부터'),
array('wr_comment asc, wr_num, wr_reply', '댓글수 낮은것 부터'),
array('wr_comment desc, wr_num, wr_reply', '댓글수 높은것 부터'),
array('wr_good asc, wr_num, wr_reply', '추천수 낮은것 부터'),
array('wr_good desc, wr_num, wr_reply', '추천수 높은것 부터'),
array('wr_nogood asc, wr_num, wr_reply', '비추천수 낮은것 부터'),
array('wr_nogood desc, wr_num, wr_reply', '비추천수 높은것 부터'),
array('wr_subject asc, wr_num, wr_reply', '제목 오름차순'),
array('wr_subject desc, wr_num, wr_reply', '제목 내림차순'),
array('wr_name asc, wr_num, wr_reply', '글쓴이 오름차순'),
array('wr_name desc, wr_num, wr_reply', '글쓴이 내림차순'),
array('ca_name asc, wr_num, wr_reply', '분류명 오름차순'),
array('ca_name desc, wr_num, wr_reply', '분류명 내림차순'),
), $board, $make_key_return);
if( $make_key_return ){
$returns = array();
foreach( $bo_sort_fields as $v ){
$key = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*\s]/", "", $v[0]);
$returns[$key] = $v[0];
}
return $returns;
}
return $bo_sort_fields;
}
function get_board_sfl_select_options($sfl){ function get_board_sfl_select_options($sfl){
global $is_admin; global $is_admin;
+2 -3
View File
@@ -5,8 +5,6 @@ if (!defined('_GNUBOARD_')) exit;
function outlogin($skin_dir='basic') function outlogin($skin_dir='basic')
{ {
global $config, $member, $g5, $urlencode, $is_admin, $is_member; global $config, $member, $g5, $urlencode, $is_admin, $is_member;
$is_auth = false;
if (array_key_exists('mb_nick', $member)) { if (array_key_exists('mb_nick', $member)) {
$nick = get_text(cut_str($member['mb_nick'], $config['cf_cut_name'])); $nick = get_text(cut_str($member['mb_nick'], $config['cf_cut_name']));
@@ -45,6 +43,7 @@ function outlogin($skin_dir='basic')
} }
$mb_scrap_cnt = isset($member['mb_scrap_cnt']) ? (int) $member['mb_scrap_cnt'] : ''; $mb_scrap_cnt = isset($member['mb_scrap_cnt']) ? (int) $member['mb_scrap_cnt'] : '';
$is_auth = false;
$sql = " select count(*) as cnt from {$g5['auth_table']} where mb_id = '{$member['mb_id']}' "; $sql = " select count(*) as cnt from {$g5['auth_table']} where mb_id = '{$member['mb_id']}' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if ($row['cnt']) if ($row['cnt'])
@@ -62,6 +61,6 @@ function outlogin($skin_dir='basic')
$content = ob_get_contents(); $content = ob_get_contents();
ob_end_clean(); ob_end_clean();
return run_replace('outlogin_content', $content, $is_auth, $outlogin_url, $outlogin_action_url); return $content;
} }
?> ?>
+2 -22
View File
@@ -7,7 +7,7 @@ if (!defined('_GNUBOARD_')) exit;
function get_list_thumbnail($bo_table, $wr_id, $thumb_width, $thumb_height, $is_create=false, $is_crop=false, $crop_mode='center', $is_sharpen=false, $um_value='80/0.5/3') function get_list_thumbnail($bo_table, $wr_id, $thumb_width, $thumb_height, $is_create=false, $is_crop=false, $crop_mode='center', $is_sharpen=false, $um_value='80/0.5/3')
{ {
global $g5, $config; global $g5, $config;
$filename = $alt = $data_path = ''; $filename = $alt = "";
$edt = false; $edt = false;
$row = get_thumbnail_find_cache($bo_table, $wr_id, 'file'); $row = get_thumbnail_find_cache($bo_table, $wr_id, 'file');
@@ -45,18 +45,12 @@ function get_list_thumbnail($bo_table, $wr_id, $thumb_width, $thumb_height, $is_
break; break;
} }
$filename = run_replace('get_editor_filename', $filename, $p);
} //end for } //end for
} //end if } //end if
} }
if(!$filename) if(!$filename)
return false; return false;
if( $thumbnail_info = run_replace('get_list_thumbnail_info', array(), array('bo_table'=>$bo_table, 'wr_id'=>$wr_id, 'data_path'=>$data_path, 'edt'=>$edt, 'filename'=>$filename, 'filepath'=>$filepath, 'thumb_width'=>$thumb_width, 'thumb_height'=>$thumb_height, 'is_create'=>$is_create, 'is_crop'=>$is_crop, 'crop_mode'=>$crop_mode, 'is_sharpen'=>$is_sharpen, 'um_value'=>$um_value)) ){
return $thumbnail_info;
}
$tname = thumbnail($filename, $filepath, $filepath, $thumb_width, $thumb_height, $is_create, $is_crop, $crop_mode, $is_sharpen, $um_value); $tname = thumbnail($filename, $filepath, $filepath, $thumb_width, $thumb_height, $is_create, $is_crop, $crop_mode, $is_sharpen, $um_value);
@@ -79,20 +73,6 @@ function get_list_thumbnail($bo_table, $wr_id, $thumb_width, $thumb_height, $is_
return $thumb; return $thumb;
} }
// 게시글보기 파일 썸네일 리턴
function get_file_thumbnail($file){
if( ! is_array($file) ) return '';
if( preg_match('/(\.jpg|\.jpeg|\.gif|\.png|\.bmp)$/i', $file['file']) && $contents = run_replace('get_file_thumbnail_tags', '', $file) ){
return $contents;
} else if ($file['view']) {
return get_view_thumbnail($file['view']);
}
return $file['view'];
}
// 게시글보기 썸네일 생성 // 게시글보기 썸네일 생성
function get_view_thumbnail($contents, $thumb_width=0) function get_view_thumbnail($contents, $thumb_width=0)
{ {
@@ -202,7 +182,7 @@ function get_view_thumbnail($contents, $thumb_width=0)
} }
} }
return run_replace('get_view_thumbnail', $contents); return $contents;
} }
function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_height, $is_create, $is_crop=false, $crop_mode='center', $is_sharpen=false, $um_value='80/0.5/3') function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_height, $is_create, $is_crop=false, $crop_mode='center', $is_sharpen=false, $um_value='80/0.5/3')
+14 -25
View File
@@ -111,27 +111,22 @@ function short_url_clean($string_url, $add_qry=''){
$url=parse_url($string_url); $url=parse_url($string_url);
$page_name = basename($url['path'],".php"); $page_name = basename($url['path'],".php");
$array_page_names = run_replace('url_clean_page_names', array('board', 'write', 'content')); $array_page_names = run_replace('url_clean_page_names', array('board', 'write'));
if( stripos(preg_replace('/^https?:/i', '', $string_url), preg_replace('/^https?:/i', '', G5_BBS_URL)) === false || ! in_array($page_name, $array_page_names) ){ //게시판이 아니면 리턴 if( strpos($string_url, G5_BBS_URL) === false || ! in_array($page_name, $array_page_names) ){ //게시판이 아니면 리턴
return run_replace('false_short_url_clean', $string_url, $url, $page_name, $array_page_names); return $string_url;
} }
$return_url = ''; $return_url = '';
parse_str($url['query'], $vars); $qstring = parse_str($url['query'], $vars);
/*
// 예) Array ( [scheme] => http [host] => sir.kr [path] => /bbs/board.php [query] => wr_id=1110870&bo_table=cm_free&cpage=1 [fragment] => c_1110946 ) // 예) Array ( [scheme] => http [host] => sir.kr [path] => /bbs/board.php [query] => wr_id=1110870&bo_table=cm_free&cpage=1 [fragment] => c_1110946 )
foreach($vars as $k => $v) { $page_name .= "/".$v; } //while(list($k,$v) = each($vars)) $page_name .= "/".$v;
*/
if( $page_name === 'write' ){ if( $page_name === 'write' ){
$vars['action'] = 'write'; $vars['action'] = 'write';
$allow_param_keys = array('bo_table'=>'', 'action'=>''); $allow_param_keys = array('bo_table'=>'', 'action'=>'');
} else if( $page_name === 'content' ){ } else {
$vars['action'] = 'content';
$allow_param_keys = array('action'=>'', 'co_id'=>'');
} else {
$allow_param_keys = array('bo_table'=>'', 'wr_id'=>''); $allow_param_keys = array('bo_table'=>'', 'wr_id'=>'');
} }
@@ -139,7 +134,7 @@ function short_url_clean($string_url, $add_qry=''){
foreach( $allow_param_keys as $key=>$v ){ foreach( $allow_param_keys as $key=>$v ){
if( !isset($vars[$key]) || empty($vars[$key]) ) continue; if( !isset($vars[$key]) || empty($vars[$key]) ) continue;
$add = '';
$s[$key] = $vars[$key]; $s[$key] = $vars[$key];
} }
@@ -148,7 +143,7 @@ function short_url_clean($string_url, $add_qry=''){
if( $get_write['wr_seo_title'] ){ if( $get_write['wr_seo_title'] ){
unset($s['wr_id']); unset($s['wr_id']);
$s['wr_seo_title'] = urlencode($get_write['wr_seo_title']).'/'; $s['wr_seo_title'] = $get_write['wr_seo_title'].'/';
} }
} }
@@ -158,7 +153,7 @@ function short_url_clean($string_url, $add_qry=''){
if( isset($url['host']) ){ if( isset($url['host']) ){
$array_file_paths = run_replace('url_clean_page_paths', array('/'.G5_BBS_DIR.'/board.php', '/'.G5_BBS_DIR.'/write.php', '/'.G5_BBS_DIR.'/content.php')); $array_file_paths = run_replace('url_clean_page_paths', array('/'.G5_BBS_DIR.'/board.php', '/'.G5_BBS_DIR.'/write.php'));
$str_path = isset($url['path']) ? $url['path'] : ''; $str_path = isset($url['path']) ? $url['path'] : '';
$http = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 'https://' : 'http://'; $http = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 'https://' : 'http://';
@@ -175,8 +170,8 @@ function short_url_clean($string_url, $add_qry=''){
if( $add_qry ){ if( $add_qry ){
$add_param .= $add_param ? '&amp;'.$add_qry : '?'.$add_qry; $add_param .= $add_param ? '&amp;'.$add_qry : '?'.$add_qry;
} }
foreach($s as $k => $v) { $return_url .= '/'.$v; } while(list($k,$v) = each($s)) $return_url .= '/'.$v;
return $host.$return_url.$add_param.$fragment; return $host.$return_url.$add_param.$fragment;
} }
@@ -185,12 +180,7 @@ function short_url_clean($string_url, $add_qry=''){
} }
function correct_goto_url($url){ function correct_goto_url($url){
return $url.'/';
if( substr($url, -1) !== '/' ){
return $url.'/';
}
return $url;
} }
function generate_seo_title($string, $wordLimit=G5_SEO_TITEL_WORD_CUT){ function generate_seo_title($string, $wordLimit=G5_SEO_TITEL_WORD_CUT){
@@ -229,8 +219,7 @@ function exist_seo_url($type, $seo_title, $write_table, $sql_id=0){
global $g5; global $g5;
$exists_title = ''; $exists_title = '';
$sql_id = preg_replace('/[^a-z0-9_\-]/i', '', $sql_id); $sql_id = preg_replace('/[^a-z0-9_]/i', '', $sql_id);
// 영카트 상품코드의 경우 - 하이픈이 들어가야 함
if( $type === 'bbs' ){ if( $type === 'bbs' ){
$sql = "select wr_seo_title FROM {$write_table} WHERE wr_seo_title = '".sql_real_escape_string($seo_title)."' AND wr_id <> '$sql_id' limit 1"; $sql = "select wr_seo_title FROM {$write_table} WHERE wr_seo_title = '".sql_real_escape_string($seo_title)."' AND wr_id <> '$sql_id' limit 1";
+19 -11
View File
@@ -38,32 +38,40 @@ include_once(G5_LIB_PATH.'/popular.lib.php');
<?php echo outlogin('basic'); // 외부 로그인 ?> <?php echo outlogin('basic'); // 외부 로그인 ?>
<ul id="gnb_1dul"> <ul id="gnb_1dul">
<?php <?php
$menu_datas = get_menu_db(1, true); $sql = " select *
$i = 0; from {$g5['menu_table']}
foreach( $menu_datas as $row ){ where me_mobile_use = '1'
if( empty($row) ) continue; and length(me_code) = '2'
order by me_order, me_id ";
$result = sql_query($sql, false);
for($i=0; $row=sql_fetch_array($result); $i++) {
?> ?>
<li class="gnb_1dli"> <li class="gnb_1dli">
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da"><?php echo $row['me_name'] ?></a> <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da"><?php echo $row['me_name'] ?></a>
<?php <?php
$k = 0; $sql2 = " select *
foreach( (array) $row['sub'] as $row2 ){ from {$g5['menu_table']}
if( empty($row2) ) continue; where me_mobile_use = '1'
and length(me_code) = '4'
and substring(me_code, 1, 2) = '{$row['me_code']}'
order by me_order, me_id ";
$result2 = sql_query($sql2);
for ($k=0; $row2=sql_fetch_array($result2); $k++) {
if($k == 0) if($k == 0)
echo '<button type="button" class="btn_gnb_op"><span class="sound_only">하위분류</span></button><ul class="gnb_2dul">'.PHP_EOL; echo '<button type="button" class="btn_gnb_op"><span class="sound_only">하위분류</span></button><ul class="gnb_2dul">'.PHP_EOL;
?> ?>
<li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><span></span><?php echo $row2['me_name'] ?></a></li> <li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><span></span><?php echo $row2['me_name'] ?></a></li>
<?php <?php
$k++; }
} //end foreach $row2
if($k > 0) if($k > 0)
echo '</ul>'.PHP_EOL; echo '</ul>'.PHP_EOL;
?> ?>
</li> </li>
<?php <?php
$i++; }
} //end foreach $row
if ($i == 0) { ?> if ($i == 0) { ?>
<li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 &gt; 환경설정 &gt; 메뉴설정</a>에서 설정하세요.<?php } ?></li> <li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 &gt; 환경설정 &gt; 메뉴설정</a>에서 설정하세요.<?php } ?></li>
+5 -5
View File
@@ -75,11 +75,11 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<?php } ?> <?php } ?>
<div class="bo_cnt"> <div class="bo_cnt">
<?php if ($list[$i]['is_notice'] || ($is_category && $list[$i]['ca_name'])) { ?> <?php if ($list[$i]['is_notice']) { ?>
<div class="bo_cate_ico"> <div>
<?php if ($list[$i]['is_notice']) { ?><strong class="notice_icon">공지</strong><?php } ?> <strong class="notice_icon">공지</strong>
<?php if ($is_category && $list[$i]['ca_name']) { ?> <?php if ($is_category && $list[$i]['ca_name']) { ?>
<a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name']; ?></a> <a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name'] ?></a>
<?php } ?> <?php } ?>
</div> </div>
<?php } ?> <?php } ?>
@@ -108,7 +108,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<div class="bo_info"> <div class="bo_info">
<span class="sound_only">작성자</span><?php echo $list[$i]['name'] ?> <span class="sound_only">작성자</span><?php echo $list[$i]['name'] ?>
<span class="bo_date"><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $list[$i]['datetime2'] ?></span> <span class="bo_date"><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $list[$i]['datetime2'] ?></span>
<span class="bo_view"><i class="fa fa-eye" aria-hidden="true"></i> <?php echo number_format($list[$i]['wr_hit']) ?><span class="sound_only">회</span></span> <span class="bo_view"><i class="fa fa-eye" aria-hidden="true"></i> <?php echo number_format($view['wr_hit']) ?><span class="sound_only">회</span></span>
<?php if ($is_good) { ?><span class="sound_only">추천</span><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $list[$i]['wr_good'] ?><?php } ?> <?php if ($is_good) { ?><span class="sound_only">추천</span><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $list[$i]['wr_good'] ?><?php } ?>
<?php if ($is_nogood) { ?><span class="sound_only">비추천</span><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <?php echo $list[$i]['wr_nogood'] ?><?php } ?> <?php if ($is_nogood) { ?><span class="sound_only">비추천</span><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <?php echo $list[$i]['wr_nogood'] ?><?php } ?>
</div> </div>
-1
View File
@@ -110,7 +110,6 @@
#bo_v_sns li span {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} #bo_v_sns li span {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
.bo_cate_link {display:inline-block;background:#e2eaf6;padding:0 5px;line-height:20px;border-radius:5px;font-weight:bold;font-size:11px;color:#3ca1ff !important;text-decoration:none;/*font-size:0.92em*/} /* 글제목줄 분류스타일 */ .bo_cate_link {display:inline-block;background:#e2eaf6;padding:0 5px;line-height:20px;border-radius:5px;font-weight:bold;font-size:11px;color:#3ca1ff !important;text-decoration:none;/*font-size:0.92em*/} /* 글제목줄 분류스타일 */
.bo_cate_ico {margin-bottom:5px}
.bo_cnt {display:block;width:100%;font-size:1.083em;font-weight:bold;line-height:1.4em} .bo_cnt {display:block;width:100%;font-size:1.083em;font-weight:bold;line-height:1.4em}
.bo_cnt i {color:#8d96c2;font-size:12px} .bo_cnt i {color:#8d96c2;font-size:12px}
.bo_cnt .fa-heart {color:#ff0000} .bo_cnt .fa-heart {color:#ff0000}
+4 -1
View File
@@ -84,7 +84,10 @@ jQuery(function($){
echo "<div id=\"bo_v_img\">\n"; echo "<div id=\"bo_v_img\">\n";
for ($i=0; $i<=count($view['file']); $i++) { for ($i=0; $i<=count($view['file']); $i++) {
echo get_file_thumbnail($view['file'][$i]); if ($view['file'][$i]['view']) {
//echo $view['file'][$i]['view'];
echo get_view_thumbnail($view['file'][$i]['view']);
}
} }
echo "</div>\n"; echo "</div>\n";
} }
@@ -20,8 +20,6 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
// if (strstr($list[$i]['wr_option'], "secret")) // if (strstr($list[$i]['wr_option'], "secret"))
// $str = $str; // $str = $str;
$str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $str); $str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $str);
$c_reply_href = $comment_common_url.'&amp;c_id='.$comment_id.'&amp;w=c#bo_vc_w';
$c_edit_href = $comment_common_url.'&amp;c_id='.$comment_id.'&amp;w=cu#bo_vc_w';
?> ?>
<article id="c_<?php echo $comment_id ?>" <?php if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-bottom-color:#f8f8f8"<?php } ?>> <article id="c_<?php echo $comment_id ?>" <?php if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-bottom-color:#f8f8f8"<?php } ?>>
<div class="comment_inner"> <div class="comment_inner">
@@ -69,6 +67,8 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
</p> </p>
<?php if($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) { <?php if($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) {
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
if($w == 'cu') { if($w == 'cu') {
$sql = " select wr_id, wr_content, mb_id 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); $cmt = sql_fetch($sql);
@@ -76,6 +76,9 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
$cmt['wr_content'] = ''; $cmt['wr_content'] = '';
$c_wr_content = $cmt['wr_content']; $c_wr_content = $cmt['wr_content'];
} }
$c_reply_href = './board.php?'.$query_string.'&amp;c_id='.$comment_id.'&amp;w=c#bo_vc_w';
$c_edit_href = './board.php?'.$query_string.'&amp;c_id='.$comment_id.'&amp;w=cu#bo_vc_w';
?> ?>
<?php } ?> <?php } ?>
</div> </div>
+1 -1
View File
@@ -76,7 +76,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<?php if ($is_email) { ?> <?php if ($is_email) { ?>
<div class="write_div"> <div class="write_div">
<label for="wr_email" class="sound_only">이메일</label> <label for="wr_email" class="sound_only">이메일</label>
<input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" maxlength="100" placeholder="이메일"> <input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" email" maxlength="100" placeholder="이메일">
</div> </div>
<?php } ?> <?php } ?>
+4 -1
View File
@@ -86,7 +86,10 @@ jQuery(function($){
echo "<div id=\"bo_v_img\">\n"; echo "<div id=\"bo_v_img\">\n";
for ($i=0; $i<=count($view['file']); $i++) { for ($i=0; $i<=count($view['file']); $i++) {
echo get_file_thumbnail($view['file'][$i]); if ($view['file'][$i]['view']) {
//echo $view['file'][$i]['view'];
echo get_view_thumbnail($view['file'][$i]['view']);
}
} }
echo "</div>\n"; echo "</div>\n";
} }
@@ -20,8 +20,6 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
// if (strstr($list[$i]['wr_option'], "secret")) // if (strstr($list[$i]['wr_option'], "secret"))
// $str = $str; // $str = $str;
$str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $str); $str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $str);
$c_reply_href = $comment_common_url.'&amp;c_id='.$comment_id.'&amp;w=c#bo_vc_w';
$c_edit_href = $comment_common_url.'&amp;c_id='.$comment_id.'&amp;w=cu#bo_vc_w';
?> ?>
<article id="c_<?php echo $comment_id ?>" <?php if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-bottom-color:#f8f8f8"<?php } ?>> <article id="c_<?php echo $comment_id ?>" <?php if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-bottom-color:#f8f8f8"<?php } ?>>
<div class="comment_inner"> <div class="comment_inner">
@@ -69,6 +67,8 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
</p> </p>
<?php if($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) { <?php if($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) {
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
if($w == 'cu') { if($w == 'cu') {
$sql = " select wr_id, wr_content, mb_id 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); $cmt = sql_fetch($sql);
@@ -76,6 +76,9 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
$cmt['wr_content'] = ''; $cmt['wr_content'] = '';
$c_wr_content = $cmt['wr_content']; $c_wr_content = $cmt['wr_content'];
} }
$c_reply_href = './board.php?'.$query_string.'&amp;c_id='.$comment_id.'&amp;w=c#bo_vc_w';
$c_edit_href = './board.php?'.$query_string.'&amp;c_id='.$comment_id.'&amp;w=cu#bo_vc_w';
?> ?>
<?php } ?> <?php } ?>
</div> </div>
+1 -1
View File
@@ -76,7 +76,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
<?php if ($is_email) { ?> <?php if ($is_email) { ?>
<div class="write_div"> <div class="write_div">
<label for="wr_email" class="sound_only">이메일</label> <label for="wr_email" class="sound_only">이메일</label>
<input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" maxlength="100" placeholder="이메일"> <input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input full_input" email" maxlength="100" placeholder="이메일">
</div> </div>
<?php } ?> <?php } ?>
-1
View File
@@ -5,5 +5,4 @@
.ctt_admin {margin:0 5px;text-align:right} .ctt_admin {margin:0 5px;text-align:right}
#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} #ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#ctt_con {padding:10px 0} #ctt_con {padding:10px 0}
#ctt_con img{max-width:100%;height:auto}
.ctt_img {text-align:center} .ctt_img {text-align:center}
+6 -15
View File
@@ -98,27 +98,21 @@ echo '<div id="faq_thtml">'.conv_content($fm['fm_mobile_tail_html'], 1).'</div>'
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script> <script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
<script> <script>
jQuery(function() { $(function() {
$(".closer_btn").on("click", function() { $(".closer_btn").on("click", function() {
$(this).closest(".con_inner").slideToggle('slow', function() { $(this).closest(".con_inner").slideToggle();
var $h3 = $(this).closest("li").find("h3");
$("#faq_con li h3").removeClass("faq_li_open");
if($(this).is(":visible")) {
$h3.addClass("faq_li_open");
}
});
}); });
}); });
function faq_open(el) function faq_open(el)
{ {
var $con = $(el).closest("li").find(".con_inner"), $("h3").on("click", function() {
$h3 = $(el).closest("li").find("h3"); $(this).addClass("faq_li_open");
});
var $con = $(el).closest("li").find(".con_inner");
if($con.is(":visible")) { if($con.is(":visible")) {
$con.slideUp(); $con.slideUp();
$h3.removeClass("faq_li_open");
} else { } else {
$("#faq_con .con_inner:visible").css("display", "none"); $("#faq_con .con_inner:visible").css("display", "none");
@@ -126,9 +120,6 @@ function faq_open(el)
function() { function() {
// 이미지 리사이즈 // 이미지 리사이즈
$con.viewimageresize2(); $con.viewimageresize2();
$("#faq_con li h3").removeClass("faq_li_open");
$h3.addClass("faq_li_open");
} }
); );
} }
@@ -1,43 +1,6 @@
jQuery(function($){ jQuery(function($){
$(document).ready(function(){ $(document).ready(function(){
$(".owl-carousel-wrap .sv_member").off('click').off('focusin');
if ($.fn.tooltipster) {
var $member_menu_tip = $('.owl-carousel-wrap .sv_member').tooltipster({
theme: 'tooltipster-sir',
trigger: 'custom',
contentAsHTML: true,
interactive: true,
distance: 5,
position:'bottom',
coord: {
left: 20,
bottom: 0
},
triggerOpen: {
click: true,
tap: true // For touch device
},
triggerClose: {
click: true,
scroll: true,
tap: true
},
functionBefore: function(instance, helper) {
var content = $(helper.origin).parent().find('.sv')[0].outerHTML;
instance.content(content);
},
functionReady : function(instance, helper) {
$(helper.tooltip).find(".tooltipster-arrow").css({left:16});
},
functionPosition: function(instance, helper, position){
position.coord.left += 7;
return position;
}
});
}
var carousels = [], var carousels = [],
is_loop = true; is_loop = true;
@@ -75,16 +38,6 @@ jQuery(function($){
owl_show_page(event); owl_show_page(event);
}, },
}); });
carousels['sel' + index].on('changed.owl.carousel', function(event) {
if ($.fn.tooltipster) {
var instances = $.tooltipster.instances();
$.each(instances, function(i, instance){
instance.close();
});
}
});
$this.on("click", ".lt_page_next", function(e) { $this.on("click", ".lt_page_next", function(e) {
e.preventDefault(); e.preventDefault();
+3 -6
View File
@@ -3,17 +3,14 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php'); include_once(G5_LIB_PATH.'/thumbnail.lib.php');
add_javascript('<script src="'.G5_JS_URL.'/owlcarousel/owl.carousel.min.js"></script>', 10); add_javascript('<script src="'.G5_JS_URL.'/owlcarousel/owl.carousel.min.js"></script>', 10);
add_javascript('<script src="'.$latest_skin_url.'/latest.carousel.js"></script>', 11);
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/owlcarousel/owl.carousel.min.css">', 10); add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/owlcarousel/owl.carousel.min.css">', 10);
add_javascript('<script src="'.G5_JS_URL.'/tooltipster/tooltipster.bundle.min.js"></script>', 11);
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/tooltipster/tooltipster.bundle.min.css">', 11);
add_javascript('<script src="'.$latest_skin_url.'/latest.carousel.js?v2"></script>', 12);
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css?v2">', 1); add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
$thumb_width = 138; $thumb_width = 138;
$thumb_height = 80; $thumb_height = 80;
$list_count = (is_array($list) && $list) ? count($list) : 0; $list_count = count($list);
$divisor_count = 4; $divisor_count = 4;
$start_page_num = $list_count ? '1' : '0'; $start_page_num = $list_count ? '1' : '0';
$is_show_next_prev = ($list_count > 4) ? 1 : 0; $is_show_next_prev = ($list_count > 4) ? 1 : 0;
+2 -10
View File
@@ -7,7 +7,7 @@
.lt ul li {padding:15px 0;border-bottom:1px solid #e5ecee} .lt ul li {padding:15px 0;border-bottom:1px solid #e5ecee}
.lt ul li:last-child {border-bottom:0} .lt ul li:last-child {border-bottom:0}
.lt ul li:after {display:block;visibility:hidden;clear:both;content:""} .lt ul li:after {display:block;visibility:hidden;clear:both;content:""}
.lt ul li:hover a.lt_tit {color:#3a8afd} .lt ul li:hover a {color:#3a8afd}
.lt .lt_thumb {display:inline-block;float:left;margin-right:10px} .lt .lt_thumb {display:inline-block;float:left;margin-right:10px}
.lt .lt_thumb img {width:138px;height:auto;overflow:hidden} .lt .lt_thumb img {width:138px;height:auto;overflow:hidden}
.lt .lt_tit {display:block;font-size:1.2em;font-weight:bold;max-height:60px;overflow:hidden;padding-bottom:10px} .lt .lt_tit {display:block;font-size:1.2em;font-weight:bold;max-height:60px;overflow:hidden;padding-bottom:10px}
@@ -15,7 +15,7 @@
.lt .lt_date {color:#828282} .lt .lt_date {color:#828282}
.lt .latest-sel{margin-top:1px} .lt .latest-sel{margin-top:1px}
.lt .lt_more {position:absolute;top:15px;right:15px;color:#3a8afd;background:#fff;border:1px solid #d1d7e5;font-size:0.925em;border-radius:3px;padding:4px 5px;z-index:1} .lt .lt_more {position:absolute;top:15px;right:15px;color:#3a8afd;background:#fff;border:1px solid #d1d7e5;font-size:0.925em;border-radius:3px;padding:4px 5px}
.lt .lt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} .lt .lt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle}
.lt .profile_img img {border-radius:50%;vertical-align:top} .lt .profile_img img {border-radius:50%;vertical-align:top}
@@ -30,14 +30,6 @@
.lt .comment_icon {background:url('./img/icon_comment.png') no-repeat 50% 50%;display:inline-block;width:20px;height:28px;text-indent:-999px;overflow:hidden;vertical-align:top;background-size:70%;margin:0 0px 0 5px} .lt .comment_icon {background:url('./img/icon_comment.png') no-repeat 50% 50%;display:inline-block;width:20px;height:28px;text-indent:-999px;overflow:hidden;vertical-align:top;background-size:70%;margin:0 0px 0 5px}
.lt .empty_li {text-align:center;padding:40px 0;color:#777} .lt .empty_li {text-align:center;padding:40px 0;color:#777}
.lt .owl-carousel .owl-item .profile_img img{width:auto;display:inline}
.tooltipster-content .sv a{display:block;padding:0 10px;line-height:30px;font-weight:normal;color:#bbb}
.tooltipster-content .sv a:hover{background:#000;color:#fff}
.tooltipster-sidetip.tooltipster-sir .tooltipster-content{padding:0}
.tooltipster-sidetip.tooltipster-sir .tooltipster-box{border:0 none;background:#333;border-radius:0}
.tooltipster-sidetip.tooltipster-sir.tooltipster-bottom .tooltipster-arrow-border, .tooltipster-sidetip.tooltipster-sir.tooltipster-bottom .tooltipster-arrow-background{border-bottom-color:#333}
.lt_page {background:#fff;text-align:center;padding:10px 15px;line-height:25px;border-bottom:1px solid #e5ecee} .lt_page {background:#fff;text-align:center;padding:10px 15px;line-height:25px;border-bottom:1px solid #e5ecee}
.lt_page button {display:inline-block;background:#fff;width:25px;height:25px;border:1px solid #dbdee6;text-align:center;color:#cdcdce} .lt_page button {display:inline-block;background:#fff;width:25px;height:25px;border:1px solid #dbdee6;text-align:center;color:#cdcdce}
.lt_page span {color:#6e6e6e} .lt_page span {color:#6e6e6e}
+3 -3
View File
@@ -3,14 +3,14 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0); add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
$list_count = (is_array($list) && $list) ? count($list) : 0;
?> ?>
<div class="cm_lt"> <div class="cm_lt">
<h2 class="cm_lt_title"><a href="<?php echo get_pretty_url($bo_table); ?>">최신댓글</a></h2> <h2 class="cm_lt_title"><a href="<?php echo get_pretty_url($bo_table); ?>">최신댓글</a></h2>
<ul> <ul>
<?php <?php
for ($i=0; $i<$list_count; $i++) { $count = count($list);
for ($i=0; $i<$count; $i++) {
?> ?>
<li> <li>
<span class="cm_lt_nick"><?php echo get_member_profile_img($member['mb_id']); ?></span> <span class="cm_lt_nick"><?php echo get_member_profile_img($member['mb_id']); ?></span>
@@ -24,7 +24,7 @@ $list_count = (is_array($list) && $list) ? count($list) : 0;
<?php <?php
} }
if($list_count ==0) if($i ==0)
echo '<li class="empty_li">게시물이 없습니다.</li>'.PHP_EOL; echo '<li class="empty_li">게시물이 없습니다.</li>'.PHP_EOL;
?> ?>
</ul> </ul>
+2 -3
View File
@@ -4,13 +4,12 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0); add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
add_javascript('<script src="'.G5_JS_URL.'/jquery.bxslider.js"></script>', 10); add_javascript('<script src="'.G5_JS_URL.'/jquery.bxslider.js"></script>', 10);
$list_count = (is_array($list) && $list) ? count($list) : 0;
?> ?>
<div class="notice ft_cnt"> <div class="notice ft_cnt">
<h2><a href="<?php echo get_pretty_url($bo_table); ?>"><?php echo $bo_subject ?></a></h2> <h2><a href="<?php echo get_pretty_url($bo_table); ?>"><?php echo $bo_subject ?></a></h2>
<ul> <ul>
<?php for ($i=0; $i<$list_count; $i++) { ?> <?php for ($i=0; $i<count($list); $i++) { ?>
<li> <li>
<?php <?php
if ($list[$i]['icon_secret']) echo "<span class=\"lock_icon\"><i class=\"fa fa-lock\" aria-hidden=\"true\"></i></span> "; if ($list[$i]['icon_secret']) echo "<span class=\"lock_icon\"><i class=\"fa fa-lock\" aria-hidden=\"true\"></i></span> ";
@@ -36,7 +35,7 @@ $list_count = (is_array($list) && $list) ? count($list) : 0;
?> ?>
</li> </li>
<?php } ?> <?php } ?>
<?php if ($list_count == 0) { //게시물이 없을 때 ?> <?php if (count($list) == 0) { //게시물이 없을 때 ?>
<li class="empty_li">게시물이 없습니다.</li> <li class="empty_li">게시물이 없습니다.</li>
<?php } ?> <?php } ?>
</ul> </ul>
+2 -5
View File
@@ -40,7 +40,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">',
</div> </div>
<script> <script>
jQuery(function($){ $(function(){
$("#login_auto_login").click(function(){ $("#login_auto_login").click(function(){
if (this.checked) { if (this.checked) {
this.checked = confirm("자동로그인을 사용하시면 다음부터 회원아이디와 비밀번호를 입력하실 필요가 없습니다.\n\n공공장소에서는 개인정보가 유출될 수 있으니 사용을 자제하여 주십시오.\n\n자동로그인을 사용하시겠습니까?"); this.checked = confirm("자동로그인을 사용하시면 다음부터 회원아이디와 비밀번호를 입력하실 필요가 없습니다.\n\n공공장소에서는 개인정보가 유출될 수 있으니 사용을 자제하여 주십시오.\n\n자동로그인을 사용하시겠습니까?");
@@ -50,9 +50,6 @@ jQuery(function($){
function flogin_submit(f) function flogin_submit(f)
{ {
if( $( document.body ).triggerHandler( 'login_sumit', [f, 'flogin'] ) !== false ){ return true;
return true;
}
return false;
} }
</script> </script>
Loaded 100 of 193 files, more files were not shown because too many files have changed in this diff. Show more