diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/README.md b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/README.md new file mode 100644 index 0000000..a36fcdd --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/README.md @@ -0,0 +1,29 @@ +** Avocado Edition Random Dice 설치 방법 안내 ** + +1. 압축을 푼 해당 폴더들을 아보카도 에디션이 설치 된 계정으로 업로드 합니다. + +※ 주의사항 +* 기존에 커스텀이 진행 된 경우 파일이 겹치지 않도록 반드시 확인해 주시길바랍니다. +: 기존에 admin.menu600.php 파일을 수정한 경우, 내부의 숫자들을 변경하거나 해당 링크를 기존에 작업한 파일에 추가해 주시길 바랍니다. +: skin/mmb 경로의 자비란 파일에 대해 커스텀을 진행한 경우, 업로드 된 파일들을 열어 추가된 random dice 부분을 따로 기존 파일에 옮겨 주시길 바랍니다. +: 해당 플러그인은 변경된 파일들만이 올라가 있습니다. +: 자비란 폴더명을 다른것을 사용할 경우 해당 폴더명으로 mmb 폴더를 변경한 이후에 업로드해 주시길 바랍니다. + + +2. 관리자에 접속 후 플러그인관리 > 랜덤주사위관리 메뉴를 확인합니다. + +3. 사용할 랜덤 다이스 정보를 입력합니다. +: 랜덤 다이스 입력 시, 이미지와 텍스트 부분은 개별적으로 랜덤이 돌게 되어 있습니다. +: ex) 이미지1, 이미지2, 이미지3, 이미지 4 / 텍스트 1, 텍스트2, 텍스트 3... 일 경우 출력되는건 이미지 3, 텍스트 1 등의 랜덤으로 출력 +: 이미지의 경우 업로드 방식이 아닌 URL 만을 사용합니다. + +4. 사용 체크 후, 자비란에 해당 랜덤 다이스를 선택하는 선택박스가 있는지 확인합니다. + +5. 랜덤 다이스 체크 후 화면을 확인합니다. + + + +copyright by.AvocadoEdition +http://bytheallspark.cafe24.com +@avocado_web + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/adm/admin.menu600.php b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/adm/admin.menu600.php new file mode 100644 index 0000000..3bcd8f0 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/adm/admin.menu600.php @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/adm/random_list.php b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/adm/random_list.php new file mode 100644 index 0000000..9584a7f --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/adm/random_list.php @@ -0,0 +1,231 @@ +전체목록'; + +$g5['title'] = '랜덤주사위 관리'; +include_once ('./admin.head.php'); + +$colspan = 7; + + + +$pg_anchor = ''; + +?> + +
+

랜덤주사위 목록

+ + +
+ + 전체 건 +
+ +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
목록
+ + + IDX랜덤주사위명이미지랜덤텍스트사용여부
+ + + + + + + ', $images); + $link_list = array_values(array_filter(array_map('trim',$link_list))); + for($j=0; $j < count($link_list); $j++) { + $r_row = $link_list[$j]; + if(!$r_row) continue; + ?> +   + + + + + > +
+ +
자료가 없습니다.
+
+ +
+ + +
+ +
+ + +
+ +
+

랜덤주사위정보 등록

+ + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + +
+
+ +
+ +
+ +
+ +
+ + + + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/adm/random_list_delete.php b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/adm/random_list_delete.php new file mode 100644 index 0000000..a7c20b1 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/adm/random_list_delete.php @@ -0,0 +1,54 @@ + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/adm/random_update.php b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/adm/random_update.php new file mode 100644 index 0000000..2dc0b9e --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/adm/random_update.php @@ -0,0 +1,18 @@ + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/extend/random.config.php b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/extend/random.config.php new file mode 100644 index 0000000..f135f3c --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/extend/random.config.php @@ -0,0 +1,28 @@ + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/extend/randomExtra.config.php b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/extend/randomExtra.config.php new file mode 100644 index 0000000..7f86102 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/extend/randomExtra.config.php @@ -0,0 +1,44 @@ + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/_action.data.php b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/_action.data.php new file mode 100644 index 0000000..f42e0b7 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/_action.data.php @@ -0,0 +1,47 @@ + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/action/log.random.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/action/log.random.skin.php new file mode 100644 index 0000000..a090fcc --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/action/log.random.skin.php @@ -0,0 +1,17 @@ + + +
+ + + + + +

+ +

+
+ diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/list.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/list.skin.php new file mode 100644 index 0000000..bc14c69 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/list.skin.php @@ -0,0 +1,386 @@ +', 0); + +set_session('ss_bo_table', $_REQUEST['bo_table']); +set_session('ss_wr_id', $_REQUEST['wr_id']); + +if($character['ch_id']) { + // 사용가능 아이템 검색 + $temp_sql = "select it.it_id, it.it_name, inven.in_id from {$g5['inventory_table']} inven, {$g5['item_table']} it where it.it_id = inven.it_id and it.it_use_mmb_able = '1' and inven.ch_id = '{$character[ch_id]}' order by it_id asc"; + $mmb_item_result = sql_query($temp_sql); + $mmb_item = array(); + for($i = 0; $row = sql_fetch_array($mmb_item_result); $i++) { + $mmb_item[$i] = $row; + } +} + + +$owner_front = get_style('mmb_owner_name', 'cs_etc_2'); // 자기 로그 접두문자 +$owner_front = $owner_front['cs_etc_2']; +$owner_behind = get_style('mmb_owner_name', 'cs_etc_3'); // 자기 로그 접미문자 +$owner_behind = $owner_behind['cs_etc_3']; + + + +/****************************************************************************************** + RANDOM DICE 추가부분 +******************************************************************************************/ +// 랜덤 지령 있는지 체크 +$random_message = sql_fetch("select count(*) as cnt from avo_random where ra_use = '1'"); +if($random_message['cnt'] > 0) { + unset($random_message); + $random_message = array(); + $random_result = sql_query("select ra_id, ra_title from avo_random where ra_use = '1'"); + for($i=0; $ra = sql_fetch_array($random_result); $i++) { + $random_message[$i]['title'] = $ra['ra_title']; + $random_message[$i]['id'] = $ra['ra_id']; + } +} else { + unset($random_message); +} + +/****************************************************************************************** + RANDOM DICE 추가부분 종료 +******************************************************************************************/ +?> + +
+ + + + +
+ +
+ + +'.$wiget['cs_value'].'
'; } +?> + + +
+ +
+ + + + + + + + +
+ +
+
+ + + + + + + + + + + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+
> + +
+
> + +
+
+ +
+
+ + + /> + + + + /> + + + + + /> + + + + + /> + + + + + /> + + +
+
+ +
+ + 등록하기 + + 새로고침 + 이모티콘 +
+ + +
+ + + +
+ 등록된 로그가 없습니다.
"; } + ?> + + + +
+ +
+ + +
+ +
+ + + + + + + + + + +
+
+ + + + + +
+ + + + + + + + + + + + +
+ + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/view_comment.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/view_comment.skin.php new file mode 100644 index 0000000..cfa7910 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/view_comment.skin.php @@ -0,0 +1,157 @@ +\]/i", "", $content); + + if($log_comment['wr_log'] && !$is_admin) { + // 로그 (탐색 / 조합 등의 액션 수행)의 흔적이 있을 경우 + // 관리자가 아니면 삭제 불가 + $is_delete = false; + } + + if($log_comment['wr_id'] != $log_comment['wr_id'] && ($log_comment['is_reply'] || $log_comment['is_edit'] || $log_comment['is_del'])) { + // 답변, 수정, 삭제가 가능할 경우 + // 또한, 본문의 id와 코멘트의 id가 다를 경우 (같을 경우엔 로그의 상단에 있는 컨트롤을 통해 액션 수행이 가능하다) + $query_string = str_replace("&", "&", $_SERVER['QUERY_STRING']); + if($w == 'cu') { + $sql = " select wr_id, wr_content from $write_table where wr_id = '$indexd' and wr_is_comment = '1' "; + $cmt = sql_fetch($sql); + $c_wr_content = $cmt['wr_content']; + } + + $c_reply_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=c#bo_vc_w_'.$list_item['wr_id']; + $c_edit_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=cu#bo_vc_w_'.$list_item['wr_id']; + } + + // 캐릭터 정보 출력 + $is_comment_owner = false; + $comment_owner_front = ""; // 자기 로그 접두문자 + $comment_owner_behind = ""; // 자기 로그 접미문자 + + if(!$log_comment['wr_noname']) { + if(is_file(G5_DATA_PATH."/site/ico_admin") && $config['cf_admin'] == $log_comment['mb_id']) { + // 관리자 아이콘이 존재하고, 관리자와 작성자가 동일 할 경우 + // 관리자 아이콘을 출력한다. + $log_comment['ch_name'] = "관리자"; + } else { + // 캐릭터 정보 로드 + $ch = get_character($log_comment['ch_id']); + if($ch['ch_id']) { + // 캐릭터 정보가 존재할 경우, 캐릭터 정보를 추가한다. + // 캐릭터 링크 + // + 캐릭터 소속 아이콘 + // + 캐릭터 종족 아이콘 + // + 캐릭터 이름 + /*$log_comment['ch_name'] = " + + ".get_side_icon($ch['ch_side']).get_class_icon($ch['ch_class'])." + ".get_title_image($log_comment['ti_id'])." + ".($log_comment['wr_subject'] ? $log_comment['wr_subject'] : "GUEST")." + ";*/ + $log_comment['ch_name'] = " + + ".get_side_icon($ch['ch_side'])." + ".get_title_image($log_comment['ti_id'])." + ".($ch['ch_name'] ? $ch['ch_name'] : "GUEST")." + "; + } else { + // 캐릭터 정보가 존재하지 않을 경우, 빈값을 출력한다. + $log_comment['ch_name'] = ""; + } + } + + // 오너 정보 출력 + if($log_comment['mb_id']) { + $log_comment['name'] = "{$log_comment[wr_name]}"; + } else { + $log_comment['name'] = $log_comment[wr_name]; + } + + if(!$list_item['wr_noname'] && $list_item['mb_id'] == $log_comment['mb_id']) { + $is_comment_owner = true; + $comment_owner_front = $owner_front; + $comment_owner_behind = $owner_behind; + } + } else { + $is_comment_owner = false; + + } +?> + + +
+
+ + +

> + + + [] + +

+ +

익명의 누군가

+ +
+ +
+
+ + + + + + + + + LINK + + + LINK + + + +
+ +
+ + +
+ +
+ + +
+ + + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/write.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/write.skin.php new file mode 100644 index 0000000..1de58aa --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/write.skin.php @@ -0,0 +1,723 @@ +', 0); + +if($board['bo_use_chick'] && $w == '') { + goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.$qstr); +} + +$is_error = false; +$option = ''; +$option_hidden = ''; +if ($is_notice || $is_html || $is_secret || $is_mail) { + $option = ''; + if ($is_notice) { + $option .= "\n".''."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } +} + +/*if(!$character['ch_id']) { +?> +
+ + 작성권한이 없습니다.
+ 계정로그인을 해주시길 바랍니다. + +
+ 로그인 + 목록으로 +
+ + 대표캐릭터가 설정되지 않았습니다.
+ 마이페이지에서 대표 캐릭터를 선택해 주시길 바랍니다. + +
+ 마이페이지 + 목록으로 +
+ +
+"; + + $category_option .= " + + + \n"; + } + + $is_category = true; + } + + $image_url = $board_skin_url."/img/no_image.png"; + if($w == 'u') { + if($write['wr_type'] == 'URL') { + $image_url = $write['wr_url']; + $img_data = "width : ".$write['wr_width']."px / height : ".$write['wr_height']."px"; + } else if($file[0]['file']) { + $image_url = $file[0]['path']."/".$file[0]['file']; + $img_data = "width : ".$file[0]['wr_width']."px / height : ".$file[0]['wr_height']."px"; + } + + if($write['wr_subject'] == "--|UPLOADING|--") { + $write['wr_subject'] = $character['ch_name']; + if(!$write['wr_subject']) $write['wr_subject'] = 'GUEST'; + } + + } else { + $write['wr_subject'] = $character['ch_name']; + if(!$write['wr_subject']) $write['wr_subject'] = 'GUEST'; + } + + $temp_sql = "select ch_thumb, mb_id, ch_id, ch_name from {$g5['character_table']} where ch_state = '승인' and ch_type != 'test' and ch_id != '{$character[ch_id]}' order by ch_type asc, ch_name asc"; + $re_ch_result = sql_query($temp_sql); + $re_ch = array(); + for($i = 0; $row = sql_fetch_array($re_ch_result); $i++) { + $re_ch[$i] = $row; + } + + ?> + +
+
+ +
+ + + + + + + + + + + + + + + + + +
+ + ...LOADING... + + + +
+ +
+
+ +
+
+
> + + + + +
+
> + +
+
+
+ +
+ +
    + +
+ + + +
+
+
+ +
+
+ +
+
+ +
+ +
+
다이스 개수
+
+ 개 굴립니다. +
+
+ +
+ +
+ +
+
ITEM 1
+
+ +
+
+
+
ITEM 2
+
+ +
+
+
+
ITEM 3
+
+ +
+
+
+ +
+ + +
+ + 0) { ?> +
+
+ +
+
+ +
+
+ + + + + 0) { + // 랜덤지령 리스트 뽑아오기 + $random_result = sql_query("select ra_id, ra_title from {$g5['random_table']} where ra_use = '1'"); +?> +
+
+ Random +
+
+ +
+
+ + + + +
+
+ Option +
+
+
+ + + + + + +
+ +
+ /> + +
+
+ /> + +
+ +
+ /> + +
+
+ /> + +
+ +
+ /> + +
+ +
+
+ + +
+
+ +
+
+ +
+
+ + + +
+
+ +
+
+ +
+
+ + + +
+
+ +
+
+ " id="wr_link" class="frm_input" size="50"> +
+
+ + +
+
+ +
+ +
+ + +

이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

+ + + + +
글자
+ +

해시태그 : #해시태그내용 / 로그링크 : @로그번호 / 멤버알람 : [[닉네임]]

+
+ +
+ +
+ + +
+
+ +
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/write_comment.php b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/write_comment.php new file mode 100644 index 0000000..36bffdb --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/write_comment.php @@ -0,0 +1,89 @@ + + + + + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/write_update.inc.php b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/write_update.inc.php new file mode 100644 index 0000000..21a727c --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomDice/skin/board/mmb/write_update.inc.php @@ -0,0 +1,282 @@ + 0) { + // -- 괄호를 치환한다. + $memo = str_replace("[[", "", $wr_content); + $memo = str_replace("]]", "", $memo); + + for($i=0; $i < count($mb_nick_array); $i++) { + // 회원 정보 있는지 여부 확인 + $memo_search = sql_fetch("select mb_id, mb_name from {$g5['member_table']} where mb_nick = '{$mb_nick_array[$i]}' or mb_name = '{$mb_nick_array[$i]}'"); + if($memo_search['mb_id']) { + // 회원정보가 있을 시, 알람테이블에 저장한다. + // 저장하기 전에 동일한 정보가 있는지 확인한다. + // 저장정보 : wr_id / wr_num / bo_table/ mb_id / mb_name / re_mb_id / re_mb_name / ch_side / memo / bc_datetime + + $bc_sql_common = " + wr_id = '{$temp_wr_id}', + wr_num = '{$wr_num}', + bo_table = '{$bo_table}', + mb_id = '{$member[mb_id]}', + mb_name = '{$member[mb_nick]}', + re_mb_id = '{$memo_search['mb_id']}', + re_mb_name = '{$memo_search['mb_name']}', + ch_side = '{$character[ch_side]}', + memo = '{$memo}', + bc_datetime = '".G5_TIME_YMDHIS."' + "; + + + // 동일 정보 있는지 확인 - wr_id/ bo_table / re_mb_id 로 판별 + $bc = sql_fetch(" select bc_id from {$g5['call_table']} where wr_id= '{$temp_wr_id}' and bo_table= '{$bo_table}' and re_mb_id = '{$memo_search[mb_id]}' and mb_id = '{$member[mb_id]}' "); + + if($bc['bc_id']) { + // 정보가 있을 경우 + $sql = " update {$g5['call_table']} set {$bc_sql_common} where bc_id = '{$bc[bc_id]}' "; + sql_query($sql); + } else { + // 정보가 없을 경우 + $sql = " insert into {$g5['call_table']} set {$bc_sql_common} "; + sql_query($sql); + + // 회원 테이블에서 알람 업데이트를 해준다. + // 실시간 호출 알림 기능 + $log_link = G5_BBS_URL."/board.php?bo_table=".$bo_table."&log=".($wr_num * -1); + $sql = " update {$g5['member_table']} + set mb_board_call = '".$member['mb_nick']."', + mb_board_link = '{$log_link}' + where mb_id = '".$memo_search['mb_id']."' "; + sql_query($sql); + } + } else { + // 회원정보가 없을 시, content 에 해당 닉네임을 블러 처리 하고 + // content 를 업데이트 한다. + $wr_content = str_replace("[[".$mb_nick_array[$i]."]]", "[[???]]", $wr_content); + $memo_custom_sql .= " , wr_content = '{$wr_content}' "; + } + } +} +// ******************** 호출 관련, 호출 시 해당 멤버에게 쪽지 보내기 기능 종료 + +if($w != 'cu') { + $customer_sql = " + {$memo_custom_sql} + "; + + if($use_item) { + $it = sql_fetch("select it.it_type, it.it_use_ever, it.it_name, it.it_id, it.it_value, it.it_content, it.it_content2 from {$g5[item_table]} it, {$g5[inventory_table]} inven where inven.in_id = '{$use_item}' and inven.it_id = it.it_id"); + + // 아이템 제거 + if(!$it['it_use_ever']) { + // 영구성 아이템이 아닐 시, 사용했을 때 인벤에서 제거한다. + delete_inventory($use_item); + } + + // 아이템이 뽑기 아이템의 경우 + if($it['it_type'] == '뽑기') { + $seed = rand(0, 100); + + // 템 검색 시작 + $item_result = sql_fetch(" + select re_it_id as it_id + from {$g5[explorer_table]} + where it_id = '".$it['it_id']."' + and (ie_per_s <= '{$seed}' and ie_per_e >= '{$seed}') + order by RAND() + limit 0, 1 + "); + + if($item_result['it_id']) { + // 아이템 획득에 성공한 경우, 해당 아이템을 인벤토리에 삽입 + // 아이템 획득에 성공 시 + $item_result['it_name'] = get_item_name($item_result['it_id']); + $inven_sql = " insert into {$g5[inventory_table]} + set ch_id = '{$character[ch_id]}', + it_id = '{$item_result[it_id]}', + it_name = '{$item_result[it_name]}', + ch_name = '{$character[ch_name]}'"; + sql_query($inven_sql); + $in_id = mysql_insert_id(); + + $item_log = "S||".$it['it_id']."||".$it['it_name']."||".$item_result['it_id']."||".$item_result['it_name']; + } else { + $item_log = "F||".$it['it_id']."||".$it['it_name']; + } + } else { + // 일반 아이템의 경우, 기본 사용 로그를 반환한다. + $item_log = "D||".$it['it_id']."||".$it['it_name']."||".$it['it_type']."||".$it['it_value']."||".$it['it_content']."||".$it['it_content2']; + } + $customer_sql .= " , wr_item = '{$it[it_id]}', wr_item_log = '{$item_log}'"; + + } + + if($game == "dice") { + // 주사위 굴리기 + $dice1 = rand(1, 6); + $dice2 = rand(1, 6); + $customer_sql .= " , wr_dice1 = '{$dice1}', wr_dice2 = '{$dice2}'"; + } + + +/****************************************************************************************** + RANDOM DICE 추가부분 +******************************************************************************************/ + if($random_game) { + // 랜덤 게임 선택 시 + // 랜덤 지령 가져오기 + $random = sql_fetch("select * from {$g5['random_table']} where ra_id = '{$random_game}'"); + $rand_img = nl2br($random['ra_img']); + $rand_img = explode('
', $rand_img); + $rand_img = array_values(array_filter(array_map('trim',$rand_img))); + + $rand_text = nl2br($random['ra_text']); + $rand_text = explode('
', $rand_text); + $rand_text = array_values(array_filter(array_map('trim',$rand_text))); + + $rand_img_seed = rand(0, count($rand_img)-1); + $rand_text_seed = rand(0, count($rand_text)-1); + + $customer_sql .= " , wr_random_dice = '".$rand_img[$rand_img_seed]."||".$rand_text[$rand_text_seed]."' "; + + // 랜덤 다이스 필드가 존재하지 않을 경우 + $temp = sql_fetch("select * from {$write_table}"); + if(!isset($temp['wr_random_dice'])) { + sql_query(" ALTER TABLE `{$write_table}` ADD `wr_random_dice` varchar(255) NOT NULL DEFAULT '' AFTER `wr_10` "); + } + unset($temp); + } +/****************************************************************************************** + RANDOM DICE 추가부분 종료 +******************************************************************************************/ + + + + $log = ""; + + //-------------------------------------------------------- + // 탐색 : 아이템 사용 없이 행위만으로 아이템 획득 가능 + // - 아이템 획득 제한 체크 필요 + //---------------------------------------------------------- + if($action == 'S') { + + if($character['ch_search'] < $config['cf_search_count']) { + // 탐색 횟수가 하루탐색 횟수를 초과하지 않은 경우 + // 주사위 굴리기 + $seed = rand(0, 100); + + // 나온 숫자의 구간에 해당하는 아이템 중, 하나를 선택한다. + $item_result = sql_fetch(" + select it_id, it_name + from {$g5['item_table']} + where + it_use = 'Y' + and it_seeker = '1' + and (it_seeker_per_s <= '{$seed}' and it_seeker_per_e >= '{$seed}') + order by RAND() + limit 0, 1 + "); + + if($item_result['it_id']) { + // 아이템 획득에 성공한 경우, 해당 아이템을 인벤토리에 삽입 + // 아이템 획득에 성공 시 + $inven_sql = " insert into {$g5['inventory_table']} + set ch_id = '{$character[ch_id]}', + it_id = '{$item_result[it_id]}', + it_name = '{$item_result[it_name]}', + ch_name = '{$character[ch_name]}'"; + sql_query($inven_sql); + $in_id = mysql_insert_id(); + + $log = $action."||S||".$item_result['it_id']."||".$item_result['it_name']."||".$in_id; + } else { + $log = $action."||F"; + } + + // 탐색 횟수 업데이트 + sql_query(" + update {$g5['character_table']} + set ch_search = ch_search + 1, + ch_search_date = '".G5_TIME_YMD."' + where ch_id = '{$character['ch_id']}' + "); + + $character['ch_search'] = $character['ch_search'] + 1; + $customer_sql .= " , wr_log = '{$log}' "; + } + } + + //-------------------------------------------------------- + // 조합 + //---------------------------------------------------------- + if($action == 'H') { + // 재료 정보 : make_1, make_2, make_3 + $make_1 = sql_fetch("select inven.in_id, it.it_id, it.it_name, it.it_use_ever from {$g5['item_table']} it, {$g5['inventory_table']} inven where it.it_id = inven.it_id and inven.in_id = '{$make_1}'"); + $make_2 = sql_fetch("select inven.in_id, it.it_id, it.it_name, it.it_use_ever from {$g5['item_table']} it, {$g5['inventory_table']} inven where it.it_id = inven.it_id and inven.in_id = '{$make_2}'"); + $make_3 = sql_fetch("select inven.in_id, it.it_id, it.it_name, it.it_use_ever from {$g5['item_table']} it, {$g5['inventory_table']} inven where it.it_id = inven.it_id and inven.in_id = '{$make_3}'"); + + $re_item[0] = $make_1[it_id]; + $re_item[1] = $make_2[it_id]; + $re_item[2] = $make_3[it_id]; + sort($re_item); + $re_item_order = implode("||", $re_item); + + $re = sql_fetch("select it_id from {$g5['item_table']}_recepi where re_item_order = '{$re_item_order}' and re_use = '1'");; + if(!$re[it_id]) { + // 레시피 조합 실패 + $log = $action."||F||NON||NON||".$re_item_order; + } else { + // 레시피 조합 성공 + $item = get_item($re[it_id]); + + $inven_sql = " insert into {$g5['inventory_table']} + set ch_id = '{$character[ch_id]}', + it_id = '{$item[it_id]}', + it_name = '{$item[it_name]}', + ch_name = '{$character[ch_name]}'"; + sql_query($inven_sql); + $in_id = mysql_insert_id(); + + $log = $action."||S||".$re[it_id]."||".$item[it_name]."||".$in_id."||".$re_item_order; + } + + $customer_sql .= " , wr_log = '{$log}' "; + + if(!$make_1['it_use_ever']) { delete_inventory($make_1['in_id']); } + if(!$make_2['it_use_ever']) { delete_inventory($make_2['in_id']); } + if(!$make_3['it_use_ever']) { delete_inventory($make_3['in_id']); } + } +} + +?> + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/README.md b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/README.md new file mode 100644 index 0000000..0e04cfd --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/README.md @@ -0,0 +1,22 @@ +** Avocado Edition Random Extra Dice 설치 방법 안내 ** + +1. 압축을 푼 해당 폴더들 중 [패치파일]mmb 폴더를 제외한 나머지 폴더들을 아보카도 에디션이 설치 된 계정으로 업로드 합니다. + +※ 주의사항 +* 기존에 커스텀이 진행 된 경우 파일이 겹치지 않도록 반드시 확인해 주시길바랍니다. +: 기존에 admin.menu600.php 파일을 수정한 경우, 내부의 숫자들을 변경하거나 해당 링크를 기존에 작업한 파일에 추가해 주시길 바랍니다. +: skin/[패치파일] mmb 폴더의 경우, mmb 스킨폴더에서 변경된 파일들만 포함되어 있습니다. 기존에 사용중인 MMB 게시판이 있을 경우, 패치파일 폴더를 참고하여 변경된 소스코드만을 옮겨 주시길 바랍니다. +: skin/mmb_random 폴더는 랜덤 다이스가 적용되어 있는 스킨폴더입니다. + + +2. 관리자에 접속 후 플러그인관리 > 랜덤주사위관리 메뉴를 확인합니다. + +4. 사용 체크 후, 자비란에 해당 랜덤 다이스를 선택하는 선택박스가 있는지 확인합니다. + +5. 랜덤 다이스 체크 후 화면을 확인합니다. + + + +copyright by.AvocadoEdition +https://avocado-edition-rout.postype.com/ + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/_action.data.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/_action.data.php new file mode 100644 index 0000000..ca4de2a --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/_action.data.php @@ -0,0 +1,31 @@ + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/_random.progress.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/_random.progress.php new file mode 100644 index 0000000..6fc3a14 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/_random.progress.php @@ -0,0 +1,51 @@ + 0) { + unset($random_message); + $random_message = array(); + $random_result = sql_query("select * from {$g5['random_dice_table']} where bo_table = '{$bo_table}' and ra_use = '1'"); + + $rand_index = 0; + for($i=0; $ra = sql_fetch_array($random_result); $i++) { + if($ra['ra_progress']) { + + if($ra['ra_limit'] > 0) { + // 다이스 굴림 횟수 확인 + if($ra['ra_limit_day']) { + $random_dice_log_table = sql_fetch("select count(rl_id) as cnt from {$g5['random_dice_log_table_table']} where ch_id = '{$character['ch_id']}' and ra_id = '{$ra['ra_id']}' and rl_date = '".date('Y-m-d')."'"); + } else { + $random_dice_log_table = sql_fetch("select count(rl_id) as cnt from {$g5['random_dice_log_table_table']} where ch_id = '{$character['ch_id']}' and ra_id = '{$ra['ra_id']}'"); + } + $random_dice_log_table = $random_dice_log_table['cnt']; + } + + $random_skin_path = get_skin_path('random', $ra['ra_skin']); + $random_skin_url = get_skin_url('random', $ra['ra_skin']); + + @include_once($random_skin_path.'/random.skin.php'); + } else { + if($ra['ra_limit'] > 0) { + continue; + } + + $random_message[$rand_index]['title'] = $ra['ra_title']; + $random_message[$rand_index]['id'] = $ra['ra_id']; + $rand_index++; + } + } +} else { + unset($random_message); +} + +/****************************************************************************************** + RANDOM DICE 추가부분 종료 +******************************************************************************************/ + +?> + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/action/log.random.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/action/log.random.skin.php new file mode 100644 index 0000000..5bea73f --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/action/log.random.skin.php @@ -0,0 +1,34 @@ + + + +
+
+ +
+
+ +", "", $random_data[1]); + $random_data[1] = str_replace("", "", $random_data[1]); + $random_data[1] = str_replace("", "", $random_data[1]); + +?> +
+ +
+ +
+ + +
+ +
+ +
+ \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/list.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/list.skin.php new file mode 100644 index 0000000..85db1cc --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/list.skin.php @@ -0,0 +1,363 @@ +', 0); + +set_session('ss_bo_table', $_REQUEST['bo_table']); +set_session('ss_wr_id', $_REQUEST['wr_id']); + +if($character['ch_id']) { + // 사용가능 아이템 검색 + $temp_sql = "select it.it_id, it.it_name, inven.in_id from {$g5['inventory_table']} inven, {$g5['item_table']} it where it.it_id = inven.it_id and it.it_use_mmb_able = '1' and inven.ch_id = '{$character['ch_id']}' order by it_id asc"; + $mmb_item_result = sql_query($temp_sql); + $mmb_item = array(); + for($i = 0; $row = sql_fetch_array($mmb_item_result); $i++) { + $mmb_item[$i] = $row; + } +} + + +$owner_front = get_style('mmb_owner_name', 'cs_etc_2'); // 자기 로그 접두문자 +$owner_front = $owner_front['cs_etc_2']; +$owner_behind = get_style('mmb_owner_name', 'cs_etc_3'); // 자기 로그 접미문자 +$owner_behind = $owner_behind['cs_etc_3']; + +?> + +
+ + + + +
+ +
+ + + + + +'.$wiget['cs_value'].'
'; } +?> + + +
+ +
+ + + + + + + + +
+ +
+
+ + + + + + + + + + + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+
> + +
+
> + +
+
+ +
+
+ + + /> + + + + /> + + + + + /> + + + + + /> + + + + + /> + + +
+
+ +
+ + 등록하기 + + 새로고침 + 이모티콘 +
+ + +
+ + + +
+ 등록된 로그가 없습니다.
"; } + ?> + + + +
+ +
+ + +
+ +
+ + + + + + + + + + +
+
+ + + + + +
+ + + + + + + + + + + + +
+ + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/write.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/write.skin.php new file mode 100644 index 0000000..53a21b9 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/write.skin.php @@ -0,0 +1,715 @@ +', 0); + +if($board['bo_use_chick'] && $w == '') { + goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.$qstr); +} + +$is_error = false; +$option = ''; +$option_hidden = ''; +if ($is_notice || $is_html || $is_secret || $is_mail) { + $option = ''; + if ($is_notice) { + $option .= "\n".''."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } +} + +if(!$is_error) { + + if($character['ch_id']) { + // 사용가능 아이템 검색 + $temp_sql = "select it.it_id, it.it_name, inven.in_id from {$g5['inventory_table']} inven, {$g5['item_table']} it where it.it_id = inven.it_id and it.it_use_mmb_able = '1' and inven.ch_id = '{$character['ch_id']}'"; + $mmb_item_result = sql_query($temp_sql); + $mmb_item = array(); + for($i = 0; $row = sql_fetch_array($mmb_item_result); $i++) { + $mmb_item[$i] = $row; + } + } + + // 카테고리 재정의 + $is_category = false; + $category_option = ''; + if ($board['bo_use_category']) { + $ca_name = ""; + if (isset($write['ca_name'])) + $ca_name = $write['ca_name']; + + $categories = explode("|", $board['bo_category_list']); // 구분자가 , 로 되어 있음 + $category_option = ""; + for ($i=0; $i + +
+
+ +
+ + + + + + + + + + + + + + + + + +
+ + ...LOADING... + + + +
+ +
+
+ +
+
+
> + + + + +
+
> + +
+
+
+ +
+ +
    + +
+ + + +
+
+
+ +
+
+ +
+
+ +
+ +
+
다이스 개수
+
+ 개 굴립니다. +
+
+ +
+ +
+ +
+
ITEM 1
+
+ +
+
+
+
ITEM 2
+
+ +
+
+
+
ITEM 3
+
+ +
+
+
+ +
+ + +
+ + + 0) { + // 랜덤지령 리스트 뽑아오기 + $random_result = sql_query("select * from {$g5['random_dice_table']} where bo_table = '{$bo_table}' and ra_use = '1'"); + ?> +
+
+ Random +
+
+
+ = $ra['ra_progress_max']) { + continue; + } + } + + if($ra['ra_limit'] > 0) { + // 다이스 굴림 횟수 확인 + if($ra['ra_limit_day']) { + $random_log = sql_fetch("select count(rl_id) as cnt from {$g5['random_dice_log_table']} where ch_id = '{$character['ch_id']}' and ra_id = '{$ra['ra_id']}' and rl_date = '".date('Y-m-d')."'"); + } else { + $random_log = sql_fetch("select count(rl_id) as cnt from {$g5['random_dice_log_table']} where ch_id = '{$character['ch_id']}' and ra_id = '{$ra['ra_id']}'"); + } + $random_log = $random_log['cnt']; + if($random_log >= $ra['ra_limit']) { + continue; + } + } + + ?> +
+ +
+
+ + + + + + 0) { ?> +
+
+ +
+
+ +
+
+ + + +
+
+ Option +
+
+
+ + + + + + +
+ +
+ /> + +
+
+ /> + +
+ +
+ /> + +
+
+ /> + +
+ +
+ /> + +
+ +
+
+ + +
+
+ +
+
+ +
+
+ + + +
+
+ +
+
+ +
+
+ + + +
+
+ +
+
+ " id="wr_link" class="frm_input" size="50"> +
+
+ + +
+
+ +
+ +
+ + +

이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

+ + + + +
글자
+ +

해시태그 : #해시태그내용 / 로그링크 : @로그번호 / 멤버알람 : [[닉네임]]

+
+ +
+ +
+ + +
+
+ +
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/write_comment.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/write_comment.php new file mode 100644 index 0000000..2f1b1dc --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/write_comment.php @@ -0,0 +1,91 @@ + + + + + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/write_update.inc.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/write_update.inc.php new file mode 100644 index 0000000..15bfd16 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/[패치파일] mmb/write_update.inc.php @@ -0,0 +1,346 @@ + 0) { + // -- 괄호를 치환한다. + $memo = str_replace("[[", "", $wr_content); + $memo = str_replace("]]", "", $memo); + + for($i=0; $i < count($mb_nick_array); $i++) { + // 회원 정보 있는지 여부 확인 + $memo_search = sql_fetch("select mb_id, mb_name from {$g5['member_table']} where mb_nick = '{$mb_nick_array[$i]}' or mb_name = '{$mb_nick_array[$i]}'"); + if($memo_search['mb_id']) { + // 회원정보가 있을 시, 알람테이블에 저장한다. + // 저장하기 전에 동일한 정보가 있는지 확인한다. + // 저장정보 : wr_id / wr_num / bo_table/ mb_id / mb_name / re_mb_id / re_mb_name / ch_side / memo / bc_datetime + + $bc_sql_common = " + wr_id = '{$temp_wr_id}', + wr_num = '{$wr_num}', + bo_table = '{$bo_table}', + mb_id = '{$member['mb_id']}', + mb_name = '{$member['mb_nick']}', + re_mb_id = '{$memo_search['mb_id']}', + re_mb_name = '{$memo_search['mb_name']}', + ch_side = '{$character['ch_side']}', + memo = '{$memo}', + bc_datetime = '".G5_TIME_YMDHIS."' + "; + + + // 동일 정보 있는지 확인 - wr_id/ bo_table / re_mb_id 로 판별 + $bc = sql_fetch(" select bc_id from {$g5['call_table']} where wr_id= '{$temp_wr_id}' and bo_table= '{$bo_table}' and re_mb_id = '{$memo_search['mb_id']}' and mb_id = '{$member['mb_id']}' "); + + if($bc['bc_id']) { + // 정보가 있을 경우 + $sql = " update {$g5['call_table']} set {$bc_sql_common} where bc_id = '{$bc['bc_id']}' "; + sql_query($sql); + } else { + // 정보가 없을 경우 + $sql = " insert into {$g5['call_table']} set {$bc_sql_common} "; + sql_query($sql); + + // 회원 테이블에서 알람 업데이트를 해준다. + // 실시간 호출 알림 기능 + $log_link = G5_BBS_URL."/board.php?bo_table=".$bo_table."&log=".($wr_num * -1); + $sql = " update {$g5['member_table']} + set mb_board_call = '".$member['mb_nick']."', + mb_board_link = '{$log_link}' + where mb_id = '".$memo_search['mb_id']."' "; + sql_query($sql); + } + } else { + // 회원정보가 없을 시, content 에 해당 닉네임을 블러 처리 하고 + // content 를 업데이트 한다. + $wr_content = str_replace("[[".$mb_nick_array[$i]."]]", "[[???]]", $wr_content); + $memo_custom_sql .= " , wr_content = '{$wr_content}' "; + } + } +} +// ******************** 호출 관련, 호출 시 해당 멤버에게 쪽지 보내기 기능 종료 + +if($w != 'cu') { + $customer_sql = " + {$memo_custom_sql} + "; + + if($use_item) { + $it = sql_fetch("select it.it_type, it.it_use_ever, it.it_name, it.it_id, it.it_value, it.it_content, it.it_content2 from {$g5['item_table']} it, {$g5['inventory_table']} inven where inven.in_id = '{$use_item}' and inven.it_id = it.it_id"); + + // 아이템 제거 + if(!$it['it_use_ever']) { + // 영구성 아이템이 아닐 시, 사용했을 때 인벤에서 제거한다. + delete_inventory($use_item); + } + + // 아이템이 뽑기 아이템의 경우 + if($it['it_type'] == '뽑기') { + $seed = rand(0, 100); + + // 템 검색 시작 + $item_result = sql_fetch(" + select re_it_id as it_id + from {$g5['explorer_table']} + where it_id = '".$it['it_id']."' + and (ie_per_s <= '{$seed}' and ie_per_e >= '{$seed}') + order by RAND() + limit 0, 1 + "); + + if($item_result['it_id']) { + // 아이템 획득에 성공한 경우, 해당 아이템을 인벤토리에 삽입 + // 아이템 획득에 성공 시 + $item_result['it_name'] = get_item_name($item_result['it_id']); + insert_inventory($character['ch_id'], $item_result['it_id']); + $item_log = "S||".$it['it_id']."||".$it['it_name']."||".$item_result['it_id']."||".$item_result['it_name']; + } else { + $item_log = "F||".$it['it_id']."||".$it['it_name']; + } + } else { + // 일반 아이템의 경우, 기본 사용 로그를 반환한다. + $item_log = "D||".$it['it_id']."||".$it['it_name']."||".$it['it_type']."||".$it['it_value']."||".$it['it_content']."||".$it['it_content2']; + } + $customer_sql .= " , wr_item = '{$it['it_id']}', wr_item_log = '{$item_log}'"; + + } + + if($game == "dice") { + // 주사위 굴리기 + $dice1 = rand(1, 6); + $dice2 = rand(1, 6); + $customer_sql .= " , wr_dice1 = '{$dice1}', wr_dice2 = '{$dice2}'"; + } + + +/****************************************************************************************** + RANDOM DICE 추가부분 +******************************************************************************************/ + if($random_game) { + // 랜덤 게임 선택 시 + // 랜덤 지령 가져오기 + $random = sql_fetch("select * from {$g5['random_dice_table']} where ra_id = '{$random_game}'"); + $is_random_able = true; + + if($random['ra_limit'] > 0) { + // 다이스 굴림 횟수 확인 + + if($random['ra_limit_day']) { + $random_log = sql_fetch("select count(rl_id) as cnt from {$g5['random_dice_log_table']} where ch_id = '{$character['ch_id']}' and ra_id = '{$random['ra_id']}' and rl_date = '".date('Y-m-d')."'"); + } else { + $random_log = sql_fetch("select count(rl_id) as cnt from {$g5['random_dice_log_table']} where ch_id = '{$character['ch_id']}' and ra_id = '{$random['ra_id']}'"); + } + + $random_log = $random_log['cnt']; + + if($random_log >= $random['ra_limit']) { + $is_random_able = false; + } + } + + if($is_random_able) { + $rand_img = nl2br($random['ra_img']); + $rand_img = explode('
', $rand_img); + + $rand_text = nl2br($random['ra_text']); + $rand_text = explode('
', $rand_text); + + if(count($rand_text) > count($rand_img)) { + $rand_text_seed = rand(0, count($rand_text)-1); + } else { + $rand_text_seed = rand(0, count($rand_img)-1); + } + + + if($random['ra_progress']) { + if(strstr($rand_text[$rand_text_seed], "[")) { + // 수치 체크하는 부분이 있을 경우 + $check_str = explode("[", $rand_text[$rand_text_seed]); + $check_str = explode("]", $check_str[1]); + $check_value = (int)$check_str[0]; + + if($check_value > 0) { + $random['ra_progress_p'] = $random['ra_progress_p'] + $check_value; + sql_query(" + update {$g5['random_dice_table']} + set ra_progress_p = '{$random['ra_progress_p']}' + where ra_id = '{$random_game}' + "); + } else { + $random['ra_progress_m'] = $random['ra_progress_m'] + $check_value; + sql_query(" + update {$g5['random_dice_table']} + set ra_progress_m = '{$random['ra_progress_m']}' + where ra_id = '{$random_game}' + "); + } + } + } + + if(strstr($rand_text[$rand_text_seed], "{")) { + // 아이템 획득 부분이 있을 경우 + $check_str = explode("{", $rand_text[$rand_text_seed]); + $check_str = explode("}", $check_str[1]); + $check_value = sql_fetch("select * from {$g5['item_table']} where it_name = '{$check_str[0]}' order by rand() limit 0, 1"); + + if($check_value['it_id']) { + insert_inventory($character['ch_id'], $check_value['it_id'], $check_value); + } + } + + $rand_img_origi = ""; + $rand_text_origi = ""; + + if(count($rand_img)-1 >= $rand_text_seed) { + $rand_img_origi = $rand_img[$rand_text_seed]; + } + if(count($rand_text)-1 >= $rand_text_seed) { + $rand_text_origi = $rand_text[$rand_text_seed]; + } + + if ($rand_text_origi) { + $rand_text_origi = substr(trim($rand_text_origi),0,65536); + $rand_text_origi = preg_replace("#[\\\]+$#", "", $rand_text_origi); + } + + $customer_sql .= " , wr_random_dice = '".$rand_img_origi."||".$rand_text_origi."' "; + + $log_sql = " insert into {$g5['random_dice_log_table']} + set ra_id = '{$random['ra_id']}', + ch_id = '{$character['ch_id']}', + bo_table = '{$bo_table}', + wr_id = '{$wr_id}', + mb_id = '{$member['mb_id']}', + rl_text = '{$rand_text_origi}', + rl_img = '{$rand_img_origi}', + rl_date = '".date('Y-m-d')."'"; + sql_query($log_sql); + + } else { + $customer_sql .= " , wr_random_dice = '||※ 가능 횟수가 초과되었습니다.' "; + } + + // 랜덤 다이스 필드가 존재하지 않을 경우 + if(!sql_query(" SELECT wr_random_dice from {$write_table} limit 1 ", false)) { + sql_query(" ALTER TABLE {$write_table} ADD `wr_random_dice` TEXT NOT NULL AFTER `wr_10` "); + } + } +/****************************************************************************************** + RANDOM DICE 추가부분 종료 +******************************************************************************************/ + + + + + $log = ""; + + //-------------------------------------------------------- + // 탐색 : 아이템 사용 없이 행위만으로 아이템 획득 가능 + // - 아이템 획득 제한 체크 필요 + //---------------------------------------------------------- + if($action == 'S') { + + if($character['ch_search'] < $config['cf_search_count']) { + // 탐색 횟수가 하루탐색 횟수를 초과하지 않은 경우 + // 주사위 굴리기 + $seed = rand(0, 100); + + // 나온 숫자의 구간에 해당하는 아이템 중, 하나를 선택한다. + $item_result = sql_fetch(" + select it_id, it_name + from {$g5['item_table']} + where + it_use = 'Y' + and it_seeker = '1' + and (it_seeker_per_s <= '{$seed}' and it_seeker_per_e >= '{$seed}') + order by RAND() + limit 0, 1 + "); + + if($item_result['it_id']) { + // 아이템 획득에 성공한 경우, 해당 아이템을 인벤토리에 삽입 + // 아이템 획득에 성공 시 + insert_inventory($character['ch_id'], $item_result['it_id']); + $log = $action."||S||".$item_result['it_id']."||".$item_result['it_name']."||".$in_id; + } else { + $log = $action."||F"; + } + + // 탐색 횟수 업데이트 + sql_query(" + update {$g5['character_table']} + set ch_search = ch_search + 1, + ch_search_date = '".G5_TIME_YMD."' + where ch_id = '{$character['ch_id']}' + "); + + $character['ch_search'] = $character['ch_search'] + 1; + $customer_sql .= " , wr_log = '{$log}' "; + } + } + + //-------------------------------------------------------- + // 조합 + //---------------------------------------------------------- + if($action == 'H') { + // 재료 정보 : make_1, make_2, make_3 + $make_1 = get_inventory_item($make_1); + $make_2 = get_inventory_item($make_2); + $make_3 = get_inventory_item($make_3); + + $re_item[0] = $make_1['it_id']; + $re_item[1] = $make_2['it_id']; + $re_item[2] = $make_3['it_id']; + sort($re_item); + $re_item_order = implode("||", $re_item); + + $re = sql_fetch("select it_id from {$g5['item_table']}_recepi where re_item_order = '{$re_item_order}' and re_use = '1'");; + if(!$re['it_id']) { + // 레시피 조합 실패 + $log = $action."||F||NON||NON||".$re_item_order; + } else { + // 레시피 조합 성공 + $item = get_item($re['it_id']); + insert_inventory($character['ch_id'], $item['it_id'], $item); + $log = $action."||S||".$re['it_id']."||".$item['it_name']."||".$in_id."||".$re_item_order; + } + + $customer_sql .= " , wr_log = '{$log}' "; + + if(!$make_1['it_use_ever']) { delete_inventory($make_1['in_id']); } + if(!$make_2['it_use_ever']) { delete_inventory($make_2['in_id']); } + if(!$make_3['it_use_ever']) { delete_inventory($make_3['in_id']); } + } +} + +?> + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/admin.menu600.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/admin.menu600.php new file mode 100644 index 0000000..3bcd8f0 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/admin.menu600.php @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_form.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_form.php new file mode 100644 index 0000000..2de46e4 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_form.php @@ -0,0 +1,181 @@ + +
  • 기본정보 설정
  • + +'; + + +$now_board = ""; +$search_board_sql = " select bo_table, bo_subject from {$g5['board_table']} where bo_type = 'mmb' order by bo_subject asc "; +$search_board = sql_query($search_board_sql); +$board_select_option = array(); +for($i=0; $row=sql_fetch_array($search_board); $i++) { + $board_select_option[] = $row; +} + + + +$frm_submit = '
    + + 목록 +
    '; + + +include_once (G5_ADMIN_PATH.'/admin.head.php'); +?> + +
    + + + + + +
    +

    랜덤주사위 기본 설정

    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    목록
    사용 + /> +
    출력 게시판 + +
    랜덤주사위명필수
    굴림횟수제한 + + " style="width:50px;"> 회   + + /> +
    랜덤 이미지 + + +
    + +
    +

    + <i></i> :     + <em></em> :     + <strong></strong> :     + {아이템이름} : 아이템 획득    + [숫자] : 상태바 사용시 상태바 증감 설정 (-N ~ N 설정) +

    +
    + +
    상태바사용여부 + > +
    상태바 이름 + +
    최대값 + +
    추가 + +
    감소 + +
    스킨 + +
    +
    +
    + + +
    + + + + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_form_update.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_form_update.php new file mode 100644 index 0000000..ff48af1 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_form_update.php @@ -0,0 +1,51 @@ + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_list.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_list.php new file mode 100644 index 0000000..1cd151c --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_list.php @@ -0,0 +1,227 @@ +전체목록'; + +$g5['title'] = '랜덤주사위 관리'; +include_once ('./admin.head.php'); + +$colspan = 13; + + +$now_board = ""; +$search_board_sql = " select bo_table, bo_subject from {$g5['board_table']} where bo_type = 'mmb' order by bo_subject asc "; +$search_board = sql_query($search_board_sql); +$board_select_option = array(); +for($i=0; $row=sql_fetch_array($search_board); $i++) { + $board_select_option[] = $row; +} + + +$pg_anchor = ''; + +?> + +
    +

    랜덤주사위 목록

    + + +
    + + 전체 건 +
    + + + +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + IDX게시판IDX랜덤주사위명등록현황굴림제한상태바 사용최대추가감소사용여부관리
    + + + + + + + + + ', $images); + $add_str = ''; + + if(count($img_list) > 1) { echo "이미지 ".count($img_list)."건 "; $add_str = " / ";} + + $texts = nl2br($row['ra_text']); + $text_list = explode('
    ', $texts); + + if(count($text_list) > 1) { echo $add_str."텍스트 ".count($text_list)."건 ";} + ?> +
    + 회 + + > + + > + + + + + + + + > + + 내용수정 +
    자료가 없습니다.
    +
    + +
    + + +
    + +
    + + +
    + + + + + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_list_delete.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_list_delete.php new file mode 100644 index 0000000..586cddc --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_list_delete.php @@ -0,0 +1,59 @@ + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_update.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_update.php new file mode 100644 index 0000000..2dc0b9e --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/adm/random_update.php @@ -0,0 +1,18 @@ + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/extend/randomExtra.config.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/extend/randomExtra.config.php new file mode 100644 index 0000000..1c75da3 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/extend/randomExtra.config.php @@ -0,0 +1,52 @@ +태그 컬러 +$em_color = "#FFD700"; // 랜덤 다이스 메세지의 태그 컬러 +$strong_color = "#00FFFF"; // 랜덤 다이스 메세지의 태그 컬러 +?> \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/_action.data.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/_action.data.php new file mode 100644 index 0000000..ca4de2a --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/_action.data.php @@ -0,0 +1,31 @@ + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/_common.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/_common.php new file mode 100644 index 0000000..626acc9 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/_common.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/_random.progress.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/_random.progress.php new file mode 100644 index 0000000..6fc3a14 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/_random.progress.php @@ -0,0 +1,51 @@ + 0) { + unset($random_message); + $random_message = array(); + $random_result = sql_query("select * from {$g5['random_dice_table']} where bo_table = '{$bo_table}' and ra_use = '1'"); + + $rand_index = 0; + for($i=0; $ra = sql_fetch_array($random_result); $i++) { + if($ra['ra_progress']) { + + if($ra['ra_limit'] > 0) { + // 다이스 굴림 횟수 확인 + if($ra['ra_limit_day']) { + $random_dice_log_table = sql_fetch("select count(rl_id) as cnt from {$g5['random_dice_log_table_table']} where ch_id = '{$character['ch_id']}' and ra_id = '{$ra['ra_id']}' and rl_date = '".date('Y-m-d')."'"); + } else { + $random_dice_log_table = sql_fetch("select count(rl_id) as cnt from {$g5['random_dice_log_table_table']} where ch_id = '{$character['ch_id']}' and ra_id = '{$ra['ra_id']}'"); + } + $random_dice_log_table = $random_dice_log_table['cnt']; + } + + $random_skin_path = get_skin_path('random', $ra['ra_skin']); + $random_skin_url = get_skin_url('random', $ra['ra_skin']); + + @include_once($random_skin_path.'/random.skin.php'); + } else { + if($ra['ra_limit'] > 0) { + continue; + } + + $random_message[$rand_index]['title'] = $ra['ra_title']; + $random_message[$rand_index]['id'] = $ra['ra_id']; + $rand_index++; + } + } +} else { + unset($random_message); +} + +/****************************************************************************************** + RANDOM DICE 추가부분 종료 +******************************************************************************************/ + +?> + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/action/log.H.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/action/log.H.skin.php new file mode 100644 index 0000000..76817f7 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/action/log.H.skin.php @@ -0,0 +1,22 @@ + + +
    + + + + + +

    + 제작했습니다! +

    + + +

    + 제작에 실패하였습니다. +

    + +
    \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/action/log.S.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/action/log.S.skin.php new file mode 100644 index 0000000..b2ae9a3 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/action/log.S.skin.php @@ -0,0 +1,22 @@ + + +
    + + + + + +

    + 탐색하여 획득했습니다! +

    + + +

    + 탐색했지만 아무것도 얻지 못했습니다. +

    + +
    \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/action/log.item.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/action/log.item.skin.php new file mode 100644 index 0000000..e6544f5 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/action/log.item.skin.php @@ -0,0 +1,41 @@ + + + +
    + + + +

    + 사용했습니다! () +

    +
    + +
    + + + +

    + 사용해서 획득하였습니다! +

    +
    + + +
    + +

    + 사용했지만 아무것도 획득하지 못했습니다... +

    +
    + + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/action/log.random.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/action/log.random.skin.php new file mode 100644 index 0000000..5bea73f --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/action/log.random.skin.php @@ -0,0 +1,34 @@ + + + +
    +
    + +
    +
    + +", "", $random_data[1]); + $random_data[1] = str_replace("", "", $random_data[1]); + $random_data[1] = str_replace("", "", $random_data[1]); + +?> +
    + +
    + +
    + + +
    + +
    + +
    + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/ajax/_common.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/ajax/_common.php new file mode 100644 index 0000000..db035a8 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/ajax/_common.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/ajax/add_favorite.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/ajax/add_favorite.php new file mode 100644 index 0000000..96e459c --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/ajax/add_favorite.php @@ -0,0 +1,18 @@ + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/delete_comment.tail.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/delete_comment.tail.skin.php new file mode 100644 index 0000000..2d54722 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/delete_comment.tail.skin.php @@ -0,0 +1,4 @@ + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/emoticon_list.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/emoticon_list.php new file mode 100644 index 0000000..e0c5e1e --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/emoticon_list.php @@ -0,0 +1,45 @@ +', 0); +?> + +
    +
    +
    + 이모티콘 + +
    + +
    +
      + +
    • + + + + +
    • + +
    • + 등록된 이모티콘이 없습니다. +
    • + +
    +
    + +
    + + + + + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d1.png b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d1.png new file mode 100644 index 0000000..08c056b Binary files /dev/null and b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d1.png differ diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d2.png b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d2.png new file mode 100644 index 0000000..6df2c54 Binary files /dev/null and b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d2.png differ diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d3.png b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d3.png new file mode 100644 index 0000000..f83d898 Binary files /dev/null and b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d3.png differ diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d4.png b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d4.png new file mode 100644 index 0000000..2310c5e Binary files /dev/null and b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d4.png differ diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d5.png b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d5.png new file mode 100644 index 0000000..1abaae5 Binary files /dev/null and b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d5.png differ diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d6.png b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d6.png new file mode 100644 index 0000000..eece173 Binary files /dev/null and b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/d6.png differ diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/img_lock.png b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/img_lock.png new file mode 100644 index 0000000..92615a3 Binary files /dev/null and b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/img_lock.png differ diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/no_image.png b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/no_image.png new file mode 100644 index 0000000..10a5aea Binary files /dev/null and b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/img/no_image.png differ diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/js/load.board.js b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/js/load.board.js new file mode 100644 index 0000000..e3c1c60 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/js/load.board.js @@ -0,0 +1,103 @@ +// 레이아웃 셋팅 - 반응형 +fn_layout_setting(); + +// 화면 사이즈가 변경 될 시, 레이아웃 셋팅 실행 +window.onresize = function() { fn_layout_setting(); }; + +// 즐겨찾기 추가 - Ajax +$('a[data-function="favorite"]').on('click', function() { + var formData = new FormData(); + var idx = $(this).data('idx'); + var obj = $(this); + formData.append("wr_id", idx); + formData.append("bo_table", g5_bo_table); + formData.append("mb_id", avo_mb_id); + + $.ajax({ + url:avo_board_skin_url + '/ajax/add_favorite.php' + , data: formData + , processData: false + , contentType: false + , type: 'POST' + , success: function(data){ + if(data == 'on') { + obj.removeClass('on'); + obj.addClass(data); + }else if(data == 'off') { + obj.removeClass('on'); + } + } + }); + + return false; +}); + + +$('a.ui-open-log').on('click', function() { + + var obj = $(this).closest('.pic-data').children('div'); + var state = $(obj).hasClass('on'); + var original_height = $(obj).find('img').height(); + var setting_height = 470; + + if(state){ + //닫기 + $(obj).stop().animate({height: setting_height + "px"}, 1000); + $(obj).removeClass('on'); + $(this).text("OPEN"); + } else { + // 열기 + $(obj).stop().animate({height: original_height + "px"}, 1000); + $(obj).addClass('on'); + $(this).text("CLOSE"); + } + + return false; +}); + +$('a.ui-remove-blind').on('click', function() { + $(this).closest('.pic-data').removeClass('ui-blind'); + $(this).fadeOut(); + return false; +}); + +$('.send_memo').on('click', function() { + var target = $(this).attr('href'); + window.open(target, 'memo', "width=500, height=300"); + return false; +}); + +$('.btn-search-guide').on('click', function() { + $('#searc_keyword').toggleClass('on'); + return false; +}); + +$(window).ready(function() { + $('#load_log_board').css('opacity', '1.0'); +}); + +function fn_layout_setting() { + $('#log_list > .item').each(function(){ + var log_data_width = $(this).find('.ui-pic').data('width'); + var log_width = $(this).find('.pic-data').find('img').width(); + + if(log_data_width < log_width && log_width > 300) { + log_data_width = log_width; + } + + var comment_width = $('#log_list .item-inner').width() - log_data_width + 10; + if(comment_width > 320) { + $(this).removeClass('both'); + $(this).find('.ui-comment').css('width', comment_width - 20 + "px"); + } else { + $(this).addClass('both'); + $(this).find('.ui-comment').css('width', "auto"); + } + }); +}; + +$('.new_win').on('click', function() { + var target = $(this).attr('href'); + window.open(target, 'emoticon', "width=400, height=600"); + return false; +}); \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/list.log.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/list.log.skin.php new file mode 100644 index 0000000..f719290 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/list.log.skin.php @@ -0,0 +1,180 @@ + 0 ? true : false; + +if($list_item['wr_type'] == 'UPLOAD') { + // Upload 형태로 로그를 등록 하였을 때 + $thumb = get_mmb_image($bo_table, $list_item['wr_id']); + $image_url = ''; + $image_width = $thumb['width']; + $image_height = $thumb['height']; +} else if($list_item['wr_type'] == 'URL') { + // URL 형태로 로그를 등록 하였을 때 + $image_url = ''; + $image_width = $list_item['wr_width']; + $image_height = $list_item['wr_height']; +} + +$log_class = ''; +$blind_class =''; +$h_class = ''; + +// 멤버공개 데이터일 시 +$is_viewer = true; +$data_width = 300; +$no_member_class = ''; + +if($list_item['wr_secret'] == '1' && !$is_member) { + $is_viewer = false; + $no_member_class = ' empty '; +} else { + $data_width = $image_width < 300 ? 300 : $image_width; +} + +if($is_viewer) { + + // 접기 여부 설정 + if($board['bo_gallery_height'] && ($image_height >= $board['bo_gallery_height'] || $list_item['wr_plip'] == '1')) { + if(G5_IS_MOBILE) { + $log_class .= "ui-slide-mobile"; + if($list_item['wr_type'] == 'UPLOAD') { + $thumb = get_list_thumbnail($bo_table, $list_item['wr_id'], $image_width, 200, true, true); + $ori = explode("/", $thumb['ori']); + $ori = $ori[count($ori) -1]; + $image_url = ''; + $image_url .= ''; + $image_url .= ''; + $image_width = $thumb['width']; + $image_height = $thumb['height']; + } else if($list_item['wr_type'] == 'URL') { + $image_url = ''; + $image_url .= ''; + $image_url .= ''; + } + } else { + $log_class .= "ui-slide"; + } + } + // 블라인드 (19금 필터링) 여부 설정 + if($list_item['wr_adult'] == '1') { + $blind_class = "ui-blind"; + } + // 리플 아래로 내리기 여부 설정 + if($list_item['wr_wide'] == '1') { + $h_class = "ui-wrap"; + } +} + + + + + +// 알람 내역이 있을 경우, 확인으로체크 +sql_query("update {$g5['call_table']} set bc_check = 1 where re_mb_id = '{$member['mb_id']}' and bo_table ='{$bo_table}' and wr_id = '{$list_item['wr_id']}'"); +?> + +
    +
    + +
    + + +
    +

    + + + No. + + + + + + + + + +

    + + 삭제 + 로그링크 + ' data-function="favorite" class="fav ">관심 + 수정 + +
    + + + + + + +
    + + + +
    + +
    + +
    +
    + +
    + + 멤버 공개용 로그 입니다. + +
    + +
    +
    diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/list.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/list.skin.php new file mode 100644 index 0000000..85db1cc --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/list.skin.php @@ -0,0 +1,363 @@ +', 0); + +set_session('ss_bo_table', $_REQUEST['bo_table']); +set_session('ss_wr_id', $_REQUEST['wr_id']); + +if($character['ch_id']) { + // 사용가능 아이템 검색 + $temp_sql = "select it.it_id, it.it_name, inven.in_id from {$g5['inventory_table']} inven, {$g5['item_table']} it where it.it_id = inven.it_id and it.it_use_mmb_able = '1' and inven.ch_id = '{$character['ch_id']}' order by it_id asc"; + $mmb_item_result = sql_query($temp_sql); + $mmb_item = array(); + for($i = 0; $row = sql_fetch_array($mmb_item_result); $i++) { + $mmb_item[$i] = $row; + } +} + + +$owner_front = get_style('mmb_owner_name', 'cs_etc_2'); // 자기 로그 접두문자 +$owner_front = $owner_front['cs_etc_2']; +$owner_behind = get_style('mmb_owner_name', 'cs_etc_3'); // 자기 로그 접미문자 +$owner_behind = $owner_behind['cs_etc_3']; + +?> + +
    + + + + +
    + +
    + + + + + +'.$wiget['cs_value'].'
    '; } +?> + + +
    + +
    + + + + + + + + +
    + +
    +
    + + + + + + + + + + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + + +
    +
    > + +
    +
    > + +
    +
    + +
    +
    + + + /> + + + + /> + + + + + /> + + + + + /> + + + + + /> + + +
    +
    + +
    + + 등록하기 + + 새로고침 + 이모티콘 +
    + + +
    + + + +
    + 등록된 로그가 없습니다.
    "; } + ?> + + + +
    + +
    + + +
    + +
    + + + + + + + + + + +
    +
    + + + + + +
    + + + + + + + + + + + + +
    + + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/style.css b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/style.css new file mode 100644 index 0000000..5c64853 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/style.css @@ -0,0 +1,234 @@ +@charset "utf-8"; +/* SIR 지운아빠 */ + + +.error { position:relative; text-align: center; line-height: 1.8em; padding-top: 70px; } +.error:before { content:"\ea0e"; display:block; position: absolute; font-family: 'icon'; font-size: 50px; line-height: 50px; top: 0;left:0; right: 0; text-align: center; } +.error .btn-group { padding: 20px 0 0; } + +.ui-mmb-list-category { text-align: center; } +.ui-mmb-list-category a { display: inline-block; position: relative; padding: 6px 10px; font-weight: bold; border-radius: 3px; } +.ui-mmb-list-category a.on:before { content: "\ea10"; font-family: 'icon'; padding-right: 5px; } + +.ui-mmb-button { text-align: center; padding-top: 10px; } + +.help.ui-btn { width: 100%; padding: 8px; line-height: 1.2em; border-radius: 3px; } +.ui-paging { margin-bottom:0; padding-bottom:0;} + + +/*************************************** + List Page +****************************************/ + +.connect-wiget { min-height: 40px; text-align: center; line-height: 40px; } + + +/** Notice Box **/ +.board-notice { width: 264px; padding: 10px; margin: 0 auto; text-align: center; box-sizing: border-box; } + + +/** Category List **/ +#navi_category { text-align: center; padding: 20px 0; } +#navi_category li { display: inline-block; padding: 0 20px; } + + +#log_list { position: relative; margin-top: 30px; } + +#log_list .empty_list { text-align: center; line-height: 100px; } + +#log_list .item { clear: both; margin: 0 0 35px 0; padding-bottom: 10px; } +#log_list .item:after { content: ""; display: block; clear: both; } +#log_list .item .ui-pic, +#log_list .item .ui-comment { float: left; box-sizing: border-box; } +#log_list .item .ui-comment { padding: 30px 0px 0px; margin-left: 10px; overflow: hidden; } +#log_list .item-comment-box { overflow: hidden; } + +#log_list .item.ui-wrap .ui-pic, +#log_list .item.ui-wrap .ui-comment, +#log_list .item.both .ui-pic, +#log_list .item.both .ui-comment { float: none; clear: both; } +#log_list .item.ui-wrap .ui-comment, +#log_list .item.both .ui-comment { margin-left: 0px; padding-top: 20px; width: 100% !important; box-sizing: border-box; } + + +/** Picture */ +#log_list .item .ui-pic { position: relative; min-width: 300px; } +#log_list .item .ui-pic .pic-header { position: relative; line-height: 30px; padding: 0 10px; } + +#log_list .item .ui-pic .pic-header .no { display: inline-block; vertical-align: middle; font-weight: bold; font-size: 14px; } +#log_list .item .ui-pic .pic-header .del { display: inline-block; vertical-align: middle; position: relative; width: 14px; height: 14px; line-height: 14px; overflow: hidden; text-indent: -999px; padding-left: 10px; } +#log_list .item .ui-pic .pic-header .del:before { content: 'X'; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; line-height: 14px; text-indent: 0; text-align: center; font-size: 11px; font-weight: bold;} +#log_list .item .ui-pic .pic-header .mod { display: inline-block; float: right; vertical-align: middle; position: relative; width: 14px; height: 30px; line-height: 30px; overflow: hidden; text-indent: -999px; padding-left: 10px; } +#log_list .item .ui-pic .pic-header .mod:before { content: 'M'; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; line-height: 30px; text-indent: 0; text-align: center; font-size: 11px; font-weight: bold;} +#log_list .item .ui-pic .pic-header .fav { display: inline-block; float: right; vertical-align: middle; position: relative; width: 14px; height: 30px; line-height: 30px; overflow: hidden; text-indent: -999px; padding-left: 10px; } +#log_list .item .ui-pic .pic-header .fav:before { content: '\e9d9'; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; line-height: 30px; text-indent: 0; text-align: center; font-size: 11px; font-family: 'icon'; font-weight: bold;} +#log_list .item .ui-pic .pic-header .fav.on:before { color: yellow; } +#log_list .item .ui-pic .pic-header .new { display: inline-block; float: right; vertical-align: middle; position: relative; width: 14px; height: 30px; line-height: 30px; overflow: hidden; text-indent: -999px; padding-left: 10px; } +#log_list .item .ui-pic .pic-header .new:before { content: '\ea7e'; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; line-height: 30px; text-indent: 0; text-align: center; font-size: 11px; font-family: 'icon'; font-weight: bold;} + +/* 카테고리 */ +#log_list .item .ui-pic .ico-category { font-size: 11px; font-family: 'Dotum'; font-weight: 400; } + +#log_list .item .ui-pic .pic-data { text-align: center; } +#log_list .item .ui-pic .pic-data.ui-blind { overflow: hidden; height: 250px; } +#log_list .item .ui-pic .pic-data.ui-slide > div { overflow: hidden; height: 470px; } +#log_list .item .ui-pic .pic-data.ui-slide > div { -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; } +#log_list .item .ui-pic .pic-data.ui-slide > .ui-open-log { display: block; height: 25px; background: rgba(0, 0, 0, 0.7); text-align: center; line-height: 25px; } + +#log_list .item .ui-pic .pic-data.ui-slide-mobile > div { overflow: hidden; height: auto; } +#log_list .item .ui-pic .pic-data.ui-slide-mobile > div > a { display: block; position: relative; overflow: hidden; } +#log_list .item .ui-pic .pic-data.ui-slide-mobile > div > a:before { content: ""; display: block; position: absolute; line-height: 300px; font-size: 18px; top: 0; left: 0; right: 0; bottom: 0; color: #fff; background: rgba(0, 0, 0, 0.5); } +#log_list .item .ui-pic .pic-data.ui-slide-mobile > div > a:after { content: "클릭 시 원본 이미지를 확인할 수 있습니다."; display: block; position: absolute; top: 50%; left: 0; right: 0; color: #fff; transform: translateY(-50%); font-size: 15px; } + +#log_list .item .ui-pic .pic-data .ui-remove-blind { display: block; position: absolute; top: 30px; left: 0; right: 0; bottom: 0; background: #000; overflow: hidden; text-align: center; } +#log_list .item .ui-pic .pic-data .ui-remove-blind:before { content: ""; display: inline-block; width: 0px; height: 100%; vertical-align: middle; } +#log_list .item .ui-pic .pic-data .ui-remove-blind span { display: inline-block; font-size: 14px; line-height: 1.5em; vertical-align: middle; color: #999; } + + +/** Comment */ +#log_list .item-comment { position: relative; margin-bottom: 5px;; } +#log_list .item-comment .co-header { position: relative; line-height: 30px; padding: 5px 15px 0; } +#log_list .item-comment .co-header:after { content: ""; display: block; clear: both; } +#log_list .item-comment .co-header p { float: left; } +#log_list .item-comment .co-header .link { float: right; padding-right: 5px; } +#log_list .item-comment .co-header i { display: inline-block; height: 25px; } +#log_list .item-comment .co-header i img { max-height: 100%; } + +#log_list .item-comment .co-content { padding: 10px 15px; line-height: 1.6em; font-family: 'Dotum'; } +#log_list .item-comment .co-content .log_link_tag:before { content: "\e936"; font-family: 'icon'; padding-right: 5px; } +#log_list .item-comment .co-content .member_call { padding: 0 5px; } +#log_list .item-comment .co-content .member_call:before { content: "\e951"; font-family: 'icon'; padding-right: 3px; } +#log_list .item-comment .co-content .other-site-link { font-weight: bold; } +#log_list .item-comment .co-content .other-site-link:before { content: "\e9cb"; font-family: 'icon'; padding-right: 2px; } + +#log_list .item-comment .dice { display: block; padding-bottom: 10px; } +#log_list .item-comment .dice img { border-radius: 3px; overflow: hidden; } + +#log_list .item-comment .link-box { display: block; padding-bottom: 10px; } + +#log_list .item-comment .co-footer { line-height: 25px; padding: 0 15px; } +#log_list .item-comment .co-footer:after { content: ""; display: block; clear: both; } +#log_list .item-comment .co-footer .date { } + +#log_list .item-comment .co-footer .del { display: inline-block; float: right; vertical-align: middle; position: relative; width: 14px; height: 30px; line-height: 30px; overflow: hidden; text-indent: -999px; padding-left: 10px; } +#log_list .item-comment .co-footer .del:before { content: 'X'; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; line-height: 30px; text-indent: 0; text-align: center; font-size: 11px; font-weight: bold;} +#log_list .item-comment .co-footer .mod { display: inline-block; float: right; vertical-align: middle; position: relative; width: 14px; height: 30px; line-height: 30px; overflow: hidden; text-indent: -999px; padding-left: 10px; } +#log_list .item-comment .co-footer .mod:before { content: 'M'; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; line-height: 30px; text-indent: 0; text-align: center; font-size: 11px; font-weight: bold; } + +#log_list .item-comment-form-box { padding: 15px 0 0; } +#log_list .bo_vc_w { position: relative; padding-right: 70px; } +#log_list .bo_vc_w .input-comment { position: relative; margin-bottom: 5px; } +#log_list .bo_vc_w .input-comment textarea { display: block; width: 100%; height: 80px; box-sizing: border-box; margin: 0;} + +#log_list .bo_vc_w .btn_confirm { display: block; position: absolute; top: 0; right: 0; bottom: 0; width: 70px; } +#log_list .bo_vc_w .btn_confirm .ui-comment-submit { display: block; width: 100%; height: 100%; } + +#log_list .modify_area { display: none; position: relative; padding-right: 60px; } +#log_list .modify_area textarea { display: block; width: 100%; min-height: 100px; padding: 10px; } +#log_list .modify_area button { display: block; position: absolute; top: 0; right: 0; width: 60px; height: 100%; bottom: 0; } + + +.log-item-box { + position: relative; + padding-left: 70px; + min-height: 60px; + margin-bottom: 10px; +} +.log-item-box em { + display: block; + position: absolute; + width: 60px; + height: 60px; + overflow: hidden; + top: 0; + left: 0; +} +.log-item-box p { padding: 10px 0; } +.log-item-box p span { display: block; } + + + +/*************************************** + Write Page +****************************************/ + +#bo_w { max-width: 640px; margin: 0 auto; padding: 20px 0; } + +#bo_w dl, +#bo_w dt, +#bo_w dd { display: block; position: relative; margin: 0; padding: 0; } +#bo_w dl { overflow: hidden; } + +#bo_w label { cursor: pointer; } + +#bo_w dt { position: absolute; top: 0; left: 0; line-height: 30px; width: 70px; padding: 5px 0; font-size: 12px; } +#bo_w dt select { box-sizing: border-box; width:100%; font-size: 12px; } +#bo_w dd { padding: 5px 0; min-height: 30px; line-height: 30px; margin-left: 70px; } +#bo_w dd fieldset { display: inline-block; padding-right: 12px; } + +#view_image + dl dt { width:100px; } +#view_image + dl dd { margin-left:100px; } + +#bo_w .frm_input { width: 100%; } +#bo_w #wr_content { height: 170px; padding: 10px; } + + +#view_image { position: relative; width: 100%; height: 330px; line-height: 330px; overflow: hidden; margin: 0 auto; text-align: center; } +#view_image img { max-width: 100%; max-height: 330px; } +#view_image em { display: none; position: absolute; top: 0; left: 0; right: 0; bottom: 0; line-height: 330px; text-align: center; } +#view_image em img { width: 50px; height: 50px; } +#view_image > span { position: absolute; left: 0; right: 0; bottom: 0; height: 30px; line-height: 30px; text-align: center; } + + +#board_category { text-align: center; } +#board_category input { display: none; } +#board_category li { display: inline-block; line-height: 31px; } +#board_category li label { display: inline-block; cursor: pointer; padding: 0 15px;} +#board_category input:checked + label { } +#board_category input:checked + label:before { content: "《 "; } +#board_category input:checked + label:after { content: " 》"; } + +#board_action { padding-top: 15px; } + +#load_log_board .inner { padding: 0 30px 0; } +@media all and (max-width: 640px) { + #load_log_board .inner { padding: 0 0 0; } +} + +.comment-data { display: none; padding: 10px 0 10px 20px; border-left: 1px solid #996c33; margin-left: 5px; } +.comment-data.on { display: block; } +.comment-data select, +.comment-data input[type="text"] { width: 100%; box-sizing: border-box; } + + +.ui-mmb-list-write { + position: relative; + max-width: 400px; + margin: 0 auto; +} +.ui-mmb-list-write span { display: inline-block; margin: 3px; } +.upload-box + fieldset { padding: 10px 0; } +.upload-box { + position: relative; + padding-left: 95px; + padding-right: 80px; + box-sizing: border-box; +} +.upload-box select { + position: absolute; + top: 0; + left: 0; + width: 95px; +} +.upload-box fieldset { display: block; position: relative; } +.upload-box input[type="file"], +.upload-box input[type="text"] { width: 100%; box-sizing: border-box; } +.upload-box button { display: block; position: absolute; top: 0; right: 0; width: 80px; height: 30px; } + +.guest-box { position: relative; padding-left: 50%; margin-bottom: 3px; } +.guest-box input { width: 100%; } +.guest-box .name { position: absolute; top: 0; left: 0; width: 50%; padding-left: 60px; box-sizing: border-box; } +.guest-box .name label { display: block; position: absolute; top: 0; left: 0; width: 60px; line-height: 30px; } +.guest-box .pw { position: relative; padding-left: 60px; box-sizing: border-box; } +.guest-box .pw label { display: block; position: absolute; top: 0; left: 0; width: 60px; line-height: 30px; } + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/view.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/view.skin.php new file mode 100644 index 0000000..0f09cf7 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/view.skin.php @@ -0,0 +1,3 @@ + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/view_comment.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/view_comment.php new file mode 100644 index 0000000..0e8c9cf --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/view_comment.php @@ -0,0 +1,117 @@ += $board['bo_comment_level']) + $is_comment_write = true; + +// 코멘트 출력 +//$sql = " select * from {$write_table} where wr_parent = '{$wr_id}' and wr_is_comment = 1 order by wr_comment desc, wr_comment_reply "; +$sql = " select * from $write_table where wr_parent = '{$list_item['wr_id']}' and wr_content != '' order by wr_datetime asc "; +$result = sql_query($sql); +for ($c_i=0; $c_row=sql_fetch_array($result); $c_i++) +{ + $comment[$c_i] = $c_row; + + //$comment[$c_i]['name'] = get_sideview($c_row['mb_id'], cut_str($c_row['wr_name'], 20, ''), $c_row['wr_email'], $c_row['wr_homepage']); + + $tmp_name = get_text(cut_str($c_row['wr_name'], $config['cf_cut_name'])); // 설정된 자리수 만큼만 이름 출력 + if ($board['bo_use_sideview']) + $comment[$c_i]['name'] = get_sideview($c_row['mb_id'], $tmp_name, $c_row['wr_email'], $c_row['wr_homepage']); + else + $comment[$c_i]['name'] = ''.$tmp_name.''; + + + + // 공백없이 연속 입력한 문자 자르기 (way 보드 참고. way.co.kr) + //$comment[$c_i]['content'] = eregi_replace("[^ \n<>]{130}", "\\0\n", $c_row['wr_content']); + + $comment[$c_i]['content'] = $comment[$c_i]['content1']= '비밀글 입니다.'; + if (!strstr($c_row['wr_option'], 'secret') || + $is_admin || + ($write['mb_id']==$member['mb_id'] && $member['mb_id']) || + ($c_row['mb_id']==$member['mb_id'] && $member['mb_id'])) { + $comment[$c_i]['content1'] = $c_row['wr_content']; + $comment[$c_i]['content'] = conv_content($c_row['wr_content'], 0, 'wr_content'); + $comment[$c_i]['content'] = search_font($stx, $comment[$c_i]['content']); + } else { + $ss_name = 'ss_secret_comment_'.$bo_table.'_'.$comment[$c_i]['wr_id']; + + if(!get_session($ss_name)) + $comment[$c_i]['content'] = '댓글내용 확인'; + else { + $comment[$c_i]['content'] = conv_content($c_row['wr_content'], 0, 'wr_content'); + $comment[$c_i]['content'] = search_font($stx, $comment[$c_i]['content']); + } + } + + $comment[$c_i]['datetime'] = substr($c_row['wr_datetime'],2,14); + + // 관리자가 아니라면 중간 IP 주소를 감춘후 보여줍니다. + $comment[$c_i]['ip'] = $c_row['wr_ip']; + if (!$is_admin) + $comment[$c_i]['ip'] = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $c_row['wr_ip']); + + $comment[$c_i]['is_reply'] = false; + $comment[$c_i]['is_edit'] = false; + $comment[$c_i]['is_del'] = false; + if ($is_comment_write || $is_admin) + { + $token = ''; + + if ($member['mb_id']) + { + if ($c_row['mb_id'] == $member['mb_id'] || $is_admin) + { + set_session('ss_delete_comment_'.$c_row['wr_id'].'_token', $token = uniqid(time())); + $comment[$c_i]['del_link'] = './delete_comment.php?bo_table='.$bo_table.'&comment_id='.$c_row['wr_id'].'&token='.$token.'&page='.$page.$qstr; + $comment[$c_i]['is_edit'] = true; + $comment[$c_i]['is_del'] = true; + } + } + else + { + if (!$c_row['mb_id']) { + $comment[$c_i]['del_link'] = './password.php?w=x&bo_table='.$bo_table.'&comment_id='.$c_row['wr_id'].'&page='.$page.$qstr; + $comment[$c_i]['is_del'] = true; + } + } + + if (strlen($c_row['wr_comment_reply']) < 5) + $comment[$c_i]['is_reply'] = true; + } + + // 05.05.22 + // 답변있는 코멘트는 수정, 삭제 불가 + if ($i > 0 && !$is_admin) + { + if ($c_row['wr_comment_reply']) + { + $tmp_comment_reply = substr($c_row['wr_comment_reply'], 0, strlen($c_row['wr_comment_reply']) - 1); + if ($tmp_comment_reply == $comment[$c_i-1]['wr_comment_reply']) + { + $comment[$c_i-1]['is_edit'] = false; + $comment[$c_i-1]['is_del'] = false; + } + } + } +} + +// 코멘트수 제한 설정값 +if ($is_admin) +{ + $comment_min = $comment_max = 0; +} +else +{ + $comment_min = (int)$board['bo_comment_min']; + $comment_max = (int)$board['bo_comment_max']; +} + +//array_unshift($comment, $list_item); +include($board_skin_path.'/view_comment.skin.php'); + +?> \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/view_comment.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/view_comment.skin.php new file mode 100644 index 0000000..ecde2c9 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/view_comment.skin.php @@ -0,0 +1,157 @@ +\]/i", "", $content); + + if($log_comment['wr_log'] && !$is_admin) { + // 로그 (탐색 / 조합 등의 액션 수행)의 흔적이 있을 경우 + // 관리자가 아니면 삭제 불가 + $is_delete = false; + } + + if($log_comment['wr_id'] != $log_comment['wr_id'] && ($log_comment['is_reply'] || $log_comment['is_edit'] || $log_comment['is_del'])) { + // 답변, 수정, 삭제가 가능할 경우 + // 또한, 본문의 id와 코멘트의 id가 다를 경우 (같을 경우엔 로그의 상단에 있는 컨트롤을 통해 액션 수행이 가능하다) + $query_string = str_replace("&", "&", $_SERVER['QUERY_STRING']); + if($w == 'cu') { + $sql = " select wr_id, wr_content from $write_table where wr_id = '$indexd' and wr_is_comment = '1' "; + $cmt = sql_fetch($sql); + $c_wr_content = $cmt['wr_content']; + } + + $c_reply_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=c#bo_vc_w_'.$list_item['wr_id']; + $c_edit_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=cu#bo_vc_w_'.$list_item['wr_id']; + } + + // 캐릭터 정보 출력 + $is_comment_owner = false; + $comment_owner_front = ""; // 자기 로그 접두문자 + $comment_owner_behind = ""; // 자기 로그 접미문자 + + if(!$log_comment['wr_noname']) { + if(is_file(G5_DATA_PATH."/site/ico_admin") && $config['cf_admin'] == $log_comment['mb_id']) { + // 관리자 아이콘이 존재하고, 관리자와 작성자가 동일 할 경우 + // 관리자 아이콘을 출력한다. + $log_comment['ch_name'] = "관리자"; + } else { + // 캐릭터 정보 로드 + $ch = get_character($log_comment['ch_id']); + if($ch['ch_id']) { + // 캐릭터 정보가 존재할 경우, 캐릭터 정보를 추가한다. + // 캐릭터 링크 + // + 캐릭터 소속 아이콘 + // + 캐릭터 종족 아이콘 + // + 캐릭터 이름 + /*$log_comment['ch_name'] = " + + ".get_side_icon($ch['ch_side']).get_class_icon($ch['ch_class'])." + ".get_title_image($log_comment['ti_id'])." + ".($log_comment['wr_subject'] ? $log_comment['wr_subject'] : "GUEST")." + ";*/ + $log_comment['ch_name'] = " + + ".get_side_icon($ch['ch_side'])." + ".get_title_image($log_comment['ti_id'])." + ".($ch['ch_name'] ? $ch['ch_name'] : "GUEST")." + "; + } else { + // 캐릭터 정보가 존재하지 않을 경우, 빈값을 출력한다. + $log_comment['ch_name'] = ""; + } + } + + // 오너 정보 출력 + if($log_comment['mb_id']) { + $log_comment['name'] = "{$log_comment['wr_name']}"; + } else { + $log_comment['name'] = $log_comment['wr_name']; + } + + if(!$list_item['wr_noname'] && $list_item['mb_id'] == $log_comment['mb_id']) { + $is_comment_owner = true; + $comment_owner_front = $owner_front; + $comment_owner_behind = $owner_behind; + } + } else { + $is_comment_owner = false; + + } +?> + + +
    +
    + + +

    > + + + [] + +

    + +

    익명의 누군가

    + +
    + +
    +
    + + + + + + + + + LINK + + + LINK + + + +
    + +
    + + +
    + +
    + + +
    + + + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write.skin.php new file mode 100644 index 0000000..53a21b9 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write.skin.php @@ -0,0 +1,715 @@ +', 0); + +if($board['bo_use_chick'] && $w == '') { + goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.$qstr); +} + +$is_error = false; +$option = ''; +$option_hidden = ''; +if ($is_notice || $is_html || $is_secret || $is_mail) { + $option = ''; + if ($is_notice) { + $option .= "\n".''."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } +} + +if(!$is_error) { + + if($character['ch_id']) { + // 사용가능 아이템 검색 + $temp_sql = "select it.it_id, it.it_name, inven.in_id from {$g5['inventory_table']} inven, {$g5['item_table']} it where it.it_id = inven.it_id and it.it_use_mmb_able = '1' and inven.ch_id = '{$character['ch_id']}'"; + $mmb_item_result = sql_query($temp_sql); + $mmb_item = array(); + for($i = 0; $row = sql_fetch_array($mmb_item_result); $i++) { + $mmb_item[$i] = $row; + } + } + + // 카테고리 재정의 + $is_category = false; + $category_option = ''; + if ($board['bo_use_category']) { + $ca_name = ""; + if (isset($write['ca_name'])) + $ca_name = $write['ca_name']; + + $categories = explode("|", $board['bo_category_list']); // 구분자가 , 로 되어 있음 + $category_option = ""; + for ($i=0; $i + +
    +
    + +
    + + + + + + + + + + + + + + + + + +
    + + ...LOADING... + + + +
    + +
    +
    + +
    +
    +
    > + + + + +
    +
    > + +
    +
    +
    + +
    + +
      + +
    + + + +
    +
    +
    + +
    +
    + +
    +
    + +
    + +
    +
    다이스 개수
    +
    + 개 굴립니다. +
    +
    + +
    + +
    + +
    +
    ITEM 1
    +
    + +
    +
    +
    +
    ITEM 2
    +
    + +
    +
    +
    +
    ITEM 3
    +
    + +
    +
    +
    + +
    + + +
    + + + 0) { + // 랜덤지령 리스트 뽑아오기 + $random_result = sql_query("select * from {$g5['random_dice_table']} where bo_table = '{$bo_table}' and ra_use = '1'"); + ?> +
    +
    + Random +
    +
    +
    + = $ra['ra_progress_max']) { + continue; + } + } + + if($ra['ra_limit'] > 0) { + // 다이스 굴림 횟수 확인 + if($ra['ra_limit_day']) { + $random_log = sql_fetch("select count(rl_id) as cnt from {$g5['random_dice_log_table']} where ch_id = '{$character['ch_id']}' and ra_id = '{$ra['ra_id']}' and rl_date = '".date('Y-m-d')."'"); + } else { + $random_log = sql_fetch("select count(rl_id) as cnt from {$g5['random_dice_log_table']} where ch_id = '{$character['ch_id']}' and ra_id = '{$ra['ra_id']}'"); + } + $random_log = $random_log['cnt']; + if($random_log >= $ra['ra_limit']) { + continue; + } + } + + ?> +
    + +
    +
    + + + + + + 0) { ?> +
    +
    + +
    +
    + +
    +
    + + + +
    +
    + Option +
    +
    +
    + + + + + + +
    + +
    + /> + +
    +
    + /> + +
    + +
    + /> + +
    +
    + /> + +
    + +
    + /> + +
    + +
    +
    + + +
    +
    + +
    +
    + +
    +
    + + + +
    +
    + +
    +
    + +
    +
    + + + +
    +
    + +
    +
    + " id="wr_link" class="frm_input" size="50"> +
    +
    + + +
    +
    + +
    + +
    + + +

    이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

    + + + + +
    글자
    + +

    해시태그 : #해시태그내용 / 로그링크 : @로그번호 / 멤버알람 : [[닉네임]]

    +
    + +
    + +
    + + +
    +
    + +
    +
    +
    +
    + +
    + + + + + + \ No newline at end of file diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write_comment.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write_comment.php new file mode 100644 index 0000000..2f1b1dc --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write_comment.php @@ -0,0 +1,91 @@ + + + + + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write_comment_update.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write_comment_update.skin.php new file mode 100644 index 0000000..30788c2 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write_comment_update.skin.php @@ -0,0 +1,39 @@ + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write_update.inc.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write_update.inc.php new file mode 100644 index 0000000..15bfd16 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write_update.inc.php @@ -0,0 +1,346 @@ + 0) { + // -- 괄호를 치환한다. + $memo = str_replace("[[", "", $wr_content); + $memo = str_replace("]]", "", $memo); + + for($i=0; $i < count($mb_nick_array); $i++) { + // 회원 정보 있는지 여부 확인 + $memo_search = sql_fetch("select mb_id, mb_name from {$g5['member_table']} where mb_nick = '{$mb_nick_array[$i]}' or mb_name = '{$mb_nick_array[$i]}'"); + if($memo_search['mb_id']) { + // 회원정보가 있을 시, 알람테이블에 저장한다. + // 저장하기 전에 동일한 정보가 있는지 확인한다. + // 저장정보 : wr_id / wr_num / bo_table/ mb_id / mb_name / re_mb_id / re_mb_name / ch_side / memo / bc_datetime + + $bc_sql_common = " + wr_id = '{$temp_wr_id}', + wr_num = '{$wr_num}', + bo_table = '{$bo_table}', + mb_id = '{$member['mb_id']}', + mb_name = '{$member['mb_nick']}', + re_mb_id = '{$memo_search['mb_id']}', + re_mb_name = '{$memo_search['mb_name']}', + ch_side = '{$character['ch_side']}', + memo = '{$memo}', + bc_datetime = '".G5_TIME_YMDHIS."' + "; + + + // 동일 정보 있는지 확인 - wr_id/ bo_table / re_mb_id 로 판별 + $bc = sql_fetch(" select bc_id from {$g5['call_table']} where wr_id= '{$temp_wr_id}' and bo_table= '{$bo_table}' and re_mb_id = '{$memo_search['mb_id']}' and mb_id = '{$member['mb_id']}' "); + + if($bc['bc_id']) { + // 정보가 있을 경우 + $sql = " update {$g5['call_table']} set {$bc_sql_common} where bc_id = '{$bc['bc_id']}' "; + sql_query($sql); + } else { + // 정보가 없을 경우 + $sql = " insert into {$g5['call_table']} set {$bc_sql_common} "; + sql_query($sql); + + // 회원 테이블에서 알람 업데이트를 해준다. + // 실시간 호출 알림 기능 + $log_link = G5_BBS_URL."/board.php?bo_table=".$bo_table."&log=".($wr_num * -1); + $sql = " update {$g5['member_table']} + set mb_board_call = '".$member['mb_nick']."', + mb_board_link = '{$log_link}' + where mb_id = '".$memo_search['mb_id']."' "; + sql_query($sql); + } + } else { + // 회원정보가 없을 시, content 에 해당 닉네임을 블러 처리 하고 + // content 를 업데이트 한다. + $wr_content = str_replace("[[".$mb_nick_array[$i]."]]", "[[???]]", $wr_content); + $memo_custom_sql .= " , wr_content = '{$wr_content}' "; + } + } +} +// ******************** 호출 관련, 호출 시 해당 멤버에게 쪽지 보내기 기능 종료 + +if($w != 'cu') { + $customer_sql = " + {$memo_custom_sql} + "; + + if($use_item) { + $it = sql_fetch("select it.it_type, it.it_use_ever, it.it_name, it.it_id, it.it_value, it.it_content, it.it_content2 from {$g5['item_table']} it, {$g5['inventory_table']} inven where inven.in_id = '{$use_item}' and inven.it_id = it.it_id"); + + // 아이템 제거 + if(!$it['it_use_ever']) { + // 영구성 아이템이 아닐 시, 사용했을 때 인벤에서 제거한다. + delete_inventory($use_item); + } + + // 아이템이 뽑기 아이템의 경우 + if($it['it_type'] == '뽑기') { + $seed = rand(0, 100); + + // 템 검색 시작 + $item_result = sql_fetch(" + select re_it_id as it_id + from {$g5['explorer_table']} + where it_id = '".$it['it_id']."' + and (ie_per_s <= '{$seed}' and ie_per_e >= '{$seed}') + order by RAND() + limit 0, 1 + "); + + if($item_result['it_id']) { + // 아이템 획득에 성공한 경우, 해당 아이템을 인벤토리에 삽입 + // 아이템 획득에 성공 시 + $item_result['it_name'] = get_item_name($item_result['it_id']); + insert_inventory($character['ch_id'], $item_result['it_id']); + $item_log = "S||".$it['it_id']."||".$it['it_name']."||".$item_result['it_id']."||".$item_result['it_name']; + } else { + $item_log = "F||".$it['it_id']."||".$it['it_name']; + } + } else { + // 일반 아이템의 경우, 기본 사용 로그를 반환한다. + $item_log = "D||".$it['it_id']."||".$it['it_name']."||".$it['it_type']."||".$it['it_value']."||".$it['it_content']."||".$it['it_content2']; + } + $customer_sql .= " , wr_item = '{$it['it_id']}', wr_item_log = '{$item_log}'"; + + } + + if($game == "dice") { + // 주사위 굴리기 + $dice1 = rand(1, 6); + $dice2 = rand(1, 6); + $customer_sql .= " , wr_dice1 = '{$dice1}', wr_dice2 = '{$dice2}'"; + } + + +/****************************************************************************************** + RANDOM DICE 추가부분 +******************************************************************************************/ + if($random_game) { + // 랜덤 게임 선택 시 + // 랜덤 지령 가져오기 + $random = sql_fetch("select * from {$g5['random_dice_table']} where ra_id = '{$random_game}'"); + $is_random_able = true; + + if($random['ra_limit'] > 0) { + // 다이스 굴림 횟수 확인 + + if($random['ra_limit_day']) { + $random_log = sql_fetch("select count(rl_id) as cnt from {$g5['random_dice_log_table']} where ch_id = '{$character['ch_id']}' and ra_id = '{$random['ra_id']}' and rl_date = '".date('Y-m-d')."'"); + } else { + $random_log = sql_fetch("select count(rl_id) as cnt from {$g5['random_dice_log_table']} where ch_id = '{$character['ch_id']}' and ra_id = '{$random['ra_id']}'"); + } + + $random_log = $random_log['cnt']; + + if($random_log >= $random['ra_limit']) { + $is_random_able = false; + } + } + + if($is_random_able) { + $rand_img = nl2br($random['ra_img']); + $rand_img = explode('
    ', $rand_img); + + $rand_text = nl2br($random['ra_text']); + $rand_text = explode('
    ', $rand_text); + + if(count($rand_text) > count($rand_img)) { + $rand_text_seed = rand(0, count($rand_text)-1); + } else { + $rand_text_seed = rand(0, count($rand_img)-1); + } + + + if($random['ra_progress']) { + if(strstr($rand_text[$rand_text_seed], "[")) { + // 수치 체크하는 부분이 있을 경우 + $check_str = explode("[", $rand_text[$rand_text_seed]); + $check_str = explode("]", $check_str[1]); + $check_value = (int)$check_str[0]; + + if($check_value > 0) { + $random['ra_progress_p'] = $random['ra_progress_p'] + $check_value; + sql_query(" + update {$g5['random_dice_table']} + set ra_progress_p = '{$random['ra_progress_p']}' + where ra_id = '{$random_game}' + "); + } else { + $random['ra_progress_m'] = $random['ra_progress_m'] + $check_value; + sql_query(" + update {$g5['random_dice_table']} + set ra_progress_m = '{$random['ra_progress_m']}' + where ra_id = '{$random_game}' + "); + } + } + } + + if(strstr($rand_text[$rand_text_seed], "{")) { + // 아이템 획득 부분이 있을 경우 + $check_str = explode("{", $rand_text[$rand_text_seed]); + $check_str = explode("}", $check_str[1]); + $check_value = sql_fetch("select * from {$g5['item_table']} where it_name = '{$check_str[0]}' order by rand() limit 0, 1"); + + if($check_value['it_id']) { + insert_inventory($character['ch_id'], $check_value['it_id'], $check_value); + } + } + + $rand_img_origi = ""; + $rand_text_origi = ""; + + if(count($rand_img)-1 >= $rand_text_seed) { + $rand_img_origi = $rand_img[$rand_text_seed]; + } + if(count($rand_text)-1 >= $rand_text_seed) { + $rand_text_origi = $rand_text[$rand_text_seed]; + } + + if ($rand_text_origi) { + $rand_text_origi = substr(trim($rand_text_origi),0,65536); + $rand_text_origi = preg_replace("#[\\\]+$#", "", $rand_text_origi); + } + + $customer_sql .= " , wr_random_dice = '".$rand_img_origi."||".$rand_text_origi."' "; + + $log_sql = " insert into {$g5['random_dice_log_table']} + set ra_id = '{$random['ra_id']}', + ch_id = '{$character['ch_id']}', + bo_table = '{$bo_table}', + wr_id = '{$wr_id}', + mb_id = '{$member['mb_id']}', + rl_text = '{$rand_text_origi}', + rl_img = '{$rand_img_origi}', + rl_date = '".date('Y-m-d')."'"; + sql_query($log_sql); + + } else { + $customer_sql .= " , wr_random_dice = '||※ 가능 횟수가 초과되었습니다.' "; + } + + // 랜덤 다이스 필드가 존재하지 않을 경우 + if(!sql_query(" SELECT wr_random_dice from {$write_table} limit 1 ", false)) { + sql_query(" ALTER TABLE {$write_table} ADD `wr_random_dice` TEXT NOT NULL AFTER `wr_10` "); + } + } +/****************************************************************************************** + RANDOM DICE 추가부분 종료 +******************************************************************************************/ + + + + + $log = ""; + + //-------------------------------------------------------- + // 탐색 : 아이템 사용 없이 행위만으로 아이템 획득 가능 + // - 아이템 획득 제한 체크 필요 + //---------------------------------------------------------- + if($action == 'S') { + + if($character['ch_search'] < $config['cf_search_count']) { + // 탐색 횟수가 하루탐색 횟수를 초과하지 않은 경우 + // 주사위 굴리기 + $seed = rand(0, 100); + + // 나온 숫자의 구간에 해당하는 아이템 중, 하나를 선택한다. + $item_result = sql_fetch(" + select it_id, it_name + from {$g5['item_table']} + where + it_use = 'Y' + and it_seeker = '1' + and (it_seeker_per_s <= '{$seed}' and it_seeker_per_e >= '{$seed}') + order by RAND() + limit 0, 1 + "); + + if($item_result['it_id']) { + // 아이템 획득에 성공한 경우, 해당 아이템을 인벤토리에 삽입 + // 아이템 획득에 성공 시 + insert_inventory($character['ch_id'], $item_result['it_id']); + $log = $action."||S||".$item_result['it_id']."||".$item_result['it_name']."||".$in_id; + } else { + $log = $action."||F"; + } + + // 탐색 횟수 업데이트 + sql_query(" + update {$g5['character_table']} + set ch_search = ch_search + 1, + ch_search_date = '".G5_TIME_YMD."' + where ch_id = '{$character['ch_id']}' + "); + + $character['ch_search'] = $character['ch_search'] + 1; + $customer_sql .= " , wr_log = '{$log}' "; + } + } + + //-------------------------------------------------------- + // 조합 + //---------------------------------------------------------- + if($action == 'H') { + // 재료 정보 : make_1, make_2, make_3 + $make_1 = get_inventory_item($make_1); + $make_2 = get_inventory_item($make_2); + $make_3 = get_inventory_item($make_3); + + $re_item[0] = $make_1['it_id']; + $re_item[1] = $make_2['it_id']; + $re_item[2] = $make_3['it_id']; + sort($re_item); + $re_item_order = implode("||", $re_item); + + $re = sql_fetch("select it_id from {$g5['item_table']}_recepi where re_item_order = '{$re_item_order}' and re_use = '1'");; + if(!$re['it_id']) { + // 레시피 조합 실패 + $log = $action."||F||NON||NON||".$re_item_order; + } else { + // 레시피 조합 성공 + $item = get_item($re['it_id']); + insert_inventory($character['ch_id'], $item['it_id'], $item); + $log = $action."||S||".$re['it_id']."||".$item['it_name']."||".$in_id."||".$re_item_order; + } + + $customer_sql .= " , wr_log = '{$log}' "; + + if(!$make_1['it_use_ever']) { delete_inventory($make_1['in_id']); } + if(!$make_2['it_use_ever']) { delete_inventory($make_2['in_id']); } + if(!$make_3['it_use_ever']) { delete_inventory($make_3['in_id']); } + } +} + +?> + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write_update.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write_update.skin.php new file mode 100644 index 0000000..ebdf710 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/board/mmb_random/write_update.skin.php @@ -0,0 +1,78 @@ + + + + +
    + + + + + +
    + + + + diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/random/basic/random.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/random/basic/random.skin.php new file mode 100644 index 0000000..1754512 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/random/basic/random.skin.php @@ -0,0 +1,25 @@ +', 0); + +$max = $ra['ra_progress_max']; +$now = $ra['ra_progress_p'] + $ra['ra_progress_m']; +$result_count = $max_value - $now; +$per = $now > 0 ? ($now/$max*100) : 0; + +?> + +
    +
    + +
    + + +
    + / +
    + +
    + +
    +
    diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/random/basic/style.css b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/random/basic/style.css new file mode 100644 index 0000000..6bc7e16 --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/random/basic/style.css @@ -0,0 +1,9 @@ +@charset "utf-8"; + +.basic-progress-box {display:block; position:relative; margin:10px auto; text-align:center;} +.basic-progress-box .basic-title {font-size:25px; line-height:1.4;} +.basic-progress-box .basic-title span {display:block; font-size:14px;} +.basic-progress-box .able-counter {margin:10px 0;} + +.basic-progress-box .progress-bar {display:block; position:relative; margin:15px 0; height:6px; background:rgba(0,0,0,.1); border:1px solid #000;} +.basic-progress-box .progress-bar > span {display:block; position:absolute; top:0; left:0; bottom:0; background:#00aa7b;} diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/random/raid/random.skin.php b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/random/raid/random.skin.php new file mode 100644 index 0000000..a6ada4f --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/random/raid/random.skin.php @@ -0,0 +1,26 @@ +', 0); + +$max = $ra['ra_progress_max']; +$now = $ra['ra_progress_p'] + $ra['ra_progress_m']; +$result_count = $max_value - $now; +$per = $now > 0 ? ($now/$max*100) : 0; +$per = 100 - $per; + +?> + +
    +
    + +
    + + +
    + / +
    + +
    + +
    +
    diff --git a/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/random/raid/style.css b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/random/raid/style.css new file mode 100644 index 0000000..80989ba --- /dev/null +++ b/Plugin/랜덤다이스/AvocadoEdition.RandomExtraDice/skin/random/raid/style.css @@ -0,0 +1,9 @@ +@charset "utf-8"; + +.raid-progress-box {display:block; position:relative; margin:10px auto; text-align:center;} +.raid-progress-box .raid-title {font-size:25px; line-height:1.4;} +.raid-progress-box .raid-title span {display:block; font-size:14px;} +.raid-progress-box .able-counter {margin:10px 0;} + +.raid-progress-box .progress-bar {display:block; position:relative; margin:15px 0; height:6px; background:rgba(0,0,0,.1); border:1px solid #000;} +.raid-progress-box .progress-bar > span {display:block; position:absolute; top:0; left:0; bottom:0; background:#ff2c2c;} diff --git a/Plugin/미궁/AvocadoEdition.maze/README.md b/Plugin/미궁/AvocadoEdition.maze/README.md new file mode 100644 index 0000000..ad80a3c --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/README.md @@ -0,0 +1,37 @@ + $member['mb_maze']로 변경하여 를 사용하면 된다. + + * 캐릭터가 생성된 계정에 대해서만 랭킹 기록이 보관된다. + +*/ + +$maze_count = sql_fetch("select count(*) as cnt from {$g5['maze_table']}"); +$maze_count = $maze_count['cnt']; +$ma = sql_fetch("select ma_subject, ma_order from {$g5['maze_table']} where ma_id = '{$mb['mb_maze']}'"); +$ma_count = sql_fetch("select count(*) as cnt from {$g5['maze_table']} where ma_order <= '{$ma['ma_order']}' and ma_id != '{$mb['mb_maze']}'"); +$ma_count = $ma_count['cnt']; +$ma_per = $ma_count == 0 ? 0 : $ma_count / $maze_count * 100; + +/* 진행률 그래프 출력 예시 +
    +
    Maze
    +
    +

    + + + +

    +
    +
    +*/ +?> + +

    미궁 - 진행중

    \ No newline at end of file diff --git a/Plugin/미궁/AvocadoEdition.maze/adm/admin.menu600.php b/Plugin/미궁/AvocadoEdition.maze/adm/admin.menu600.php new file mode 100644 index 0000000..a01f1b5 --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/adm/admin.menu600.php @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/Plugin/미궁/AvocadoEdition.maze/adm/maze.db.sql b/Plugin/미궁/AvocadoEdition.maze/adm/maze.db.sql new file mode 100644 index 0000000..627ca92 --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/adm/maze.db.sql @@ -0,0 +1,48 @@ +-- phpMyAdmin SQL Dump +-- version 3.5.8.1 +-- http://www.phpmyadmin.net +-- +-- 호스트: localhost:3307 +-- 처리한 시간: 17-12-15 14:29 +-- 서버 버전: 5.1.73-log +-- PHP 버전: 5.2.17 + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- 데이터베이스: `aphopis` +-- + +-- -------------------------------------------------------- + +-- +-- 테이블 구조 `avo_maze` +-- + +CREATE TABLE IF NOT EXISTS `avo_maze` ( + `ma_id` int(11) NOT NULL auto_increment, + `ma_subject` varchar(255) NOT NULL, + `ma_content` text NOT NULL, + `ma_answer` varchar(255) NOT NULL default '', + `ma_btn_prev` varchar(255) NOT NULL default '', + `ma_btn_next` varchar(255) NOT NULL default '', + `ma_background` varchar(255) NOT NULL default '', + `ma_order` int(11) NOT NULL default '0', + `ma_rank_1` int(11) NOT NULL default '0', + `ma_rank_2` int(11) NOT NULL default '0' default '0', + `ma_rank_3` int(11) NOT NULL default '0', + `ma_rank_4` int(11) NOT NULL default '0', + `ma_rank_5` int(11) NOT NULL default '0', + PRIMARY KEY (`ma_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- +-- 테이블의 덤프 데이터 `avo_maze` +-- diff --git a/Plugin/미궁/AvocadoEdition.maze/adm/maze_form.php b/Plugin/미궁/AvocadoEdition.maze/adm/maze_form.php new file mode 100644 index 0000000..b2a70a5 --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/adm/maze_form.php @@ -0,0 +1,121 @@ + + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    목록
    내용
    이전버튼 + 직접등록   +
    + 외부경로   +
    다음버튼 + 직접등록   +
    + 외부경로   +
    배경이미지 + 직접등록   +
    + 외부경로   +
    +
    + +
    + + 목록 +
    + +
    + + + + diff --git a/Plugin/미궁/AvocadoEdition.maze/adm/maze_formupdate.php b/Plugin/미궁/AvocadoEdition.maze/adm/maze_formupdate.php new file mode 100644 index 0000000..ce096bb --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/adm/maze_formupdate.php @@ -0,0 +1,108 @@ + diff --git a/Plugin/미궁/AvocadoEdition.maze/adm/maze_list.php b/Plugin/미궁/AvocadoEdition.maze/adm/maze_list.php new file mode 100644 index 0000000..6a55681 --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/adm/maze_list.php @@ -0,0 +1,173 @@ + +
  • 미궁클리어랭킹
  • +
  • 미궁내용목록
  • +'; +?> + +
    +

    미궁클리어랭킹

    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + "; + ?> + +
    목록
    랭킹이름현재위치클리어타임
    + + + + + +
    자료가 없습니다.
    +
    + + + +
    + + +
    +

    미궁내용목록

    + + +
    + 1) {?>처음으로 + 전체 내용 +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + '; + } + ?> + +
    목록
    순서제목관리
    + 수정 + 삭제 +
    자료가 한건도 없습니다.
    +
    + + + +
    + + diff --git a/Plugin/미궁/AvocadoEdition.maze/adm/maze_member_list.php b/Plugin/미궁/AvocadoEdition.maze/adm/maze_member_list.php new file mode 100644 index 0000000..37f4b74 --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/adm/maze_member_list.php @@ -0,0 +1,181 @@ +전체목록'; + +$g5['title'] = '미궁 진행 관리'; +include_once('./admin.head.php'); + +$sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$from_record}, {$rows} "; +$result = sql_query($sql); + +$colspan = 4; + + +/** 미궁 정보 **/ +$ma_list = array(); +$ma_result = sql_query("select ma_subject, ma_id from {$g5['maze_table']} order by ma_order asc, ma_id asc"); +for($i=0; $row = sql_fetch_array($ma_result); $i++) { + $ma_list[$i]['name'] = $row['ma_subject']; + $ma_list[$i]['id'] = $row['ma_id']; +} + +?> + +
    + + 총캐릭터수 명 +
    + +
    + + + + + +
    + + + + +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "; + ?> + +
    목록
    + + + 유형이름미궁
    + + + + + + + +
    자료가 없습니다.
    +
    +
    + +
    + +
    + + + + + + + + diff --git a/Plugin/미궁/AvocadoEdition.maze/adm/maze_member_list_update.php b/Plugin/미궁/AvocadoEdition.maze/adm/maze_member_list_update.php new file mode 100644 index 0000000..4272ff7 --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/adm/maze_member_list_update.php @@ -0,0 +1,36 @@ + diff --git a/Plugin/미궁/AvocadoEdition.maze/css/style.maze.css b/Plugin/미궁/AvocadoEdition.maze/css/style.maze.css new file mode 100644 index 0000000..ef5b8ac --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/css/style.maze.css @@ -0,0 +1,13 @@ +@charset "utf-8"; + +html {background:#333 !important;} +html:before {display:none !important;} + +.maze-content {padding:150px 0 50px;} +.maze-answer {text-align:center; padding-bottom:150px;} + +.maze-answer .input {width:300px; margin:0 auto; text-align:center;} +.maze-answer .input input {height:30px; border:none; background:#fff !important; color:#000 !important; width:150px;} +.maze-answer .input button {display:inline-block; width:101px; height:31px; background:#000; color:#fff; border:none;} + +.maze-answer .error {padding-top:20px; font-size:13px; color:#e15e5e;} \ No newline at end of file diff --git a/Plugin/미궁/AvocadoEdition.maze/extend/maze.config.php b/Plugin/미궁/AvocadoEdition.maze/extend/maze.config.php new file mode 100644 index 0000000..bb3a227 --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/extend/maze.config.php @@ -0,0 +1,36 @@ + diff --git a/Plugin/미궁/AvocadoEdition.maze/maze/_common.php b/Plugin/미궁/AvocadoEdition.maze/maze/_common.php new file mode 100644 index 0000000..b556cc9 --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/maze/_common.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/Plugin/미궁/AvocadoEdition.maze/maze/_head.sub.php b/Plugin/미궁/AvocadoEdition.maze/maze/_head.sub.php new file mode 100644 index 0000000..0067cf7 --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/maze/_head.sub.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/Plugin/미궁/AvocadoEdition.maze/maze/_tail.sub.php b/Plugin/미궁/AvocadoEdition.maze/maze/_tail.sub.php new file mode 100644 index 0000000..392cf17 --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/maze/_tail.sub.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/Plugin/미궁/AvocadoEdition.maze/maze/check_answer.php b/Plugin/미궁/AvocadoEdition.maze/maze/check_answer.php new file mode 100644 index 0000000..6875d73 --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/maze/check_answer.php @@ -0,0 +1,42 @@ += '{$ma['ma_order']}' and ma_id != '{$ma_id}' order by ma_order asc, ma_id asc limit 0, 1"); + $result = $result['ma_id']; + sql_query(" + update {$g5['member_table']} + set mb_maze = '{$result}' + where mb_id = '{$member['mb_id']}' + "); + echo "Y"; +} else { + // 오답일 경우 + echo "답이 아닙니다."; +} + +?> diff --git a/Plugin/미궁/AvocadoEdition.maze/maze/check_move.php b/Plugin/미궁/AvocadoEdition.maze/maze/check_move.php new file mode 100644 index 0000000..91e59b6 --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/maze/check_move.php @@ -0,0 +1,51 @@ += '{$ma['ma_order']}' and ma_id != '{$ma_id}' order by ma_order asc, ma_id asc limit 0, 1"); + $result = $result['ma_id']; + sql_query(" + update {$g5['member_table']} + set mb_maze = '{$result}' + where mb_id = '{$member['mb_id']}' + "); + echo "Y"; +} else { + echo "잘못된 데이터입니다."; +} + +?> diff --git a/Plugin/미궁/AvocadoEdition.maze/maze/index.php b/Plugin/미궁/AvocadoEdition.maze/maze/index.php new file mode 100644 index 0000000..5c7e33c --- /dev/null +++ b/Plugin/미궁/AvocadoEdition.maze/maze/index.php @@ -0,0 +1,139 @@ += '{$ma['ma_order']}' and ma_id != '{$ma_id}' order by ma_order asc, ma_id asc limit 0, 1"); +$naxe_ma = $naxe_ma['ma_id']; +if(!$naxe_ma) { + // 클리어 타임 기록 + sql_query(" + update {$g5['member_table']} + set mb_maze_datetime = '".date('Y-m-d H:i:s')."' + where mb_id = '{$member['mb_id']}' + "); +} + + + +$g5['title'] = "미궁 ".$ma['ma_subject']; +include_once('./_head.sub.php'); + +add_stylesheet('', 0); + +if($ma['ma_background']) { + add_stylesheet("", 10); +} +?> + +
    +
    + + +
    +
    + + +
    + + +
    +

    + + + + + + 이전페이지 + + + + + 이전페이지 + + + + + +
    +
    + + + + + + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/README.md b/Plugin/지역관리/AvocadoEdition.MapManager/README.md new file mode 100644 index 0000000..4bc16c8 --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/README.md @@ -0,0 +1,33 @@ +** Avocado Edition Map Manager 설치 방법 안내 ** + +1. 압축을 푼 해당 폴더들을 아보카도 에디션이 설치 된 계정으로 업로드 합니다. + +※ 주의사항 +* 기존에 커스텀이 진행 된 경우 파일이 겹치지 않도록 반드시 확인해 주시길바랍니다. +: 기존에 admin.menu600.php 파일을 수정한 경우, 내부의 숫자들을 변경하거나 해당 링크를 기존에 작업한 파일에 추가해 주시길 바랍니다. +: skin/mmb 경로의 자비란 파일에 대해 커스텀을 진행한 경우, 업로드 된 파일들을 열어 추가된 위치이동 커맨드 부분을 따로 기존 파일에 옮겨 주시길 바랍니다. +: 해당 플러그인은 변경된 파일들만이 올라가 있습니다. +: 자비란 폴더명을 다른것을 사용할 경우 해당 폴더명으로 mmb 폴더를 변경한 이후에 업로드해 주시길 바랍니다. + + +2. 관리자에 접속 후 플러그인관리 > 지역 관리 메뉴를 확인합니다. + +3. 지역 정보를 입력합니다. +: 지역 정보 입력 후, LIST 에서 지도 위에 해당 구역 위치정보를 입력하게 됩니다. +: 지도에 출력하지 않을 시, 해당 부분은 입력하지 않아도 무방합니다. ( X : X좌표, Y : Y좌표, W : 영역의 가로 사이즈, Y : 영역의 세로사이즈) +: 통행 설정 시, 해당 위치에서 이동을 제한할 수 있습니다. 아무것도 설정하지 않을 시 이동이 불가능합니다. +: 이벤트 설정 시, 해당 지역에 위치 했을 때 발생할 이벤트를 설정할 수 있습니다. 각각 기본이벤트 / 다른 지역 이동 이벤트 / 화폐 획득 이벤트 / 몬스터 공격 이벤트가 있습니다. + +4. 사용 설정 완료 후, 캐릭터 위치관리 (지역관리 > 지역목록 보기 상단에 버튼이 있습니다) 에서 캐릭터의 최초 위치를 지정 합니다. + +5. 자비란(mmb 스킨을 사용하는 게시판) 에서 위치 이동이 뜨는지 확인합니다. + + +※ 주의 : 해당 플러그인과 관련된 스타일은 제공하고 있지 않습니다. (단순 텍스트 출력만 되어 있는 상태) +※ 꾸미는 것을 원하실 시, skin/board/mmb/style.css 및 skin/board/mmb/action/log.map.... 파일의 html/CSS 수정 및 을 통해 가능합니다. + + +copyright by.AvocadoEdition +http://bytheallspark.cafe24.com +@avocado_web + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/adm/admin.menu600.php b/Plugin/지역관리/AvocadoEdition.MapManager/adm/admin.menu600.php new file mode 100644 index 0000000..e94efed --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/adm/admin.menu600.php @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_event_form.php b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_event_form.php new file mode 100644 index 0000000..a5af409 --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_event_form.php @@ -0,0 +1,232 @@ +필수
    '; + $me['me_use'] = '1'; + +} else if ($w == 'u') { + + $html_title .= ' 수정'; + $me = sql_fetch("select * from {$g5['map_event_table']} where me_id = '{$me_id}'"); + if (!$me['me_id']) + alert('존재하지 않는 정보 입니다.'); + $ma_id = $me['ma_id']; + $readonly = 'readonly'; +} + +$ma = sql_fetch("select * from {$g5['map_table']} where ma_id = '{$ma_id}'"); +if(!$ma['ma_id']) { alert("지역정보를 확인할 수 없습니다."); } + + +$g5['title'] = "[ ".$ma['ma_name']." ] ".$html_title; +include_once ('./admin.head.php'); + +$pg_anchor = ''; + + +$frm_submit = '
    + + 목록'.PHP_EOL; +$frm_submit .= '
    '; + +$ma_sql = "select ma_id, ma_name from {$g5['map_table']} order by ma_id asc"; +$ma_result = sql_query($ma_sql); +for($i=0; $maps = sql_fetch_array($ma_result); $i++) { + $map[$i]['name'] = $maps['ma_name']; + $map[$i]['id'] = $maps['ma_id']; +} + +?> + + + +
    + + + + + + + + + +
    +

    기본 설정

    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    아이템 기본 설정
    이벤트명 + + /> + +
    이벤트타입 + +
    이벤트 이미지 + + + + 이미지 없음 + + + 직접등록   +
    + 외부경로   +
    이벤트텍스트 + +
    + 회득 구간 설정 + + ※ 다수의 구간이 겹칠 시,랜덤으로 획득 됩니다.") ?> + + ~ + 구간 획득 +
    획득가능갯수설정 + + +
    획득갯수설정 + + +
    +
    +
    + + + +
    +

    이벤트 효과 설정

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    아이템 기본 설정
    획득 아이템 + + +
    +
    화폐 변동 + +
    위치이동 + +
    몬스터설정 + HP + + +
    + 공격력 + + +
    +
    +
    + + + + +
    + + + + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_event_form_update.php b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_event_form_update.php new file mode 100644 index 0000000..9e42ed3 --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_event_form_update.php @@ -0,0 +1,81 @@ + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_event_list.php b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_event_list.php new file mode 100644 index 0000000..7e1c23a --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_event_list.php @@ -0,0 +1,226 @@ +전체목록'; + + +$ma_sql = "select ma_id, ma_name from {$g5['map_table']} order by ma_id asc"; +$ma_result = sql_query($ma_sql); +for($i=0; $maps = sql_fetch_array($ma_result); $i++) { + $map_list[$i]['name'] = $maps['ma_name']; + $map_list[$i]['id'] = $maps['ma_id']; +} + + +$g5['title'] = "[ ".$ma['ma_name']." ] 지역 이벤트 관리"; +include_once ('./admin.head.php'); + +$colspan = 11; +?> + +
    + +
    + + 전체 건 +
    + + + +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + 종류아이템
    획득
    화폐변동이동지역몬스터이벤트획득구간사용여부관리
    이벤트명몬스터HP몬스터공격력획득개수현재획득
    + + + + + + + + + + - + + + + + + + + + + + + + + + /> + + 수정 +
    자료가 없습니다.
    +
    + +
    + + +
    + +
    + +
    + + + + + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_event_list_update.php b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_event_list_update.php new file mode 100644 index 0000000..ab14d46 --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_event_list_update.php @@ -0,0 +1,47 @@ + \ No newline at end of file diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_list.php b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_list.php new file mode 100644 index 0000000..1ca0887 --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_list.php @@ -0,0 +1,299 @@ +전체목록'; + + +$g5['title'] = '지역 관리'; +include_once ('./admin.head.php'); + +$pg_anchor = ''; + +$colspan = 13; +?> + + + +
    +

    지역 사용 설정

    + + +
    + + + + + + + + +
    + + + + + + + + + + + + + +
    + checked> + + +
    + +
    +
    +
    +
    +
    + +
    + +

    지역 목록 보기

    + + +
    + + 전체 건 +
    + + + +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
    목록
    + + + IDX지역명사용시작XYWH통행관리이벤트관리
    + + + + + ┗… + + + + + + + > + + > + + + + + + + + + + + 통행설정 + + + + 이벤트설정 () +
    자료가 없습니다.
    +
    + +
    + + +
    + +
    + +
    + + +
    +

    지역 정보 입력

    + + +
    + + + + + + + +
    + + + + + + + + + + + +
    + + +    + + +
    +
    + +
    + +
    + +
    +
    + + + + + + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_list_update.php b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_list_update.php new file mode 100644 index 0000000..c433d30 --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_list_update.php @@ -0,0 +1,48 @@ + \ No newline at end of file diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_member_list.php b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_member_list.php new file mode 100644 index 0000000..15f02ad --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_member_list.php @@ -0,0 +1,176 @@ +전체목록'; + +$g5['title'] = '캐릭터별 위치 관리'; +include_once('./admin.head.php'); + +$sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$from_record}, {$rows} "; +$result = sql_query($sql); +$colspan = 4; + +/** 지역 정보 **/ +$ma_sql = "select ma_id, ma_name from {$g5['map_table']} order by ma_id asc"; +$ma_result = sql_query($ma_sql); +for($i=0; $map = sql_fetch_array($ma_result); $i++) { + $ma[$i]['name'] = $map['ma_name']; + $ma[$i]['id'] = $map['ma_id']; +} + +?> + +
    + + 총캐릭터수 명 +
    + +
    + + + + + +
    + + + + +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "; + ?> + +
    목록
    + + + 유형이름위치
    + + + + + + + +
    자료가 없습니다.
    +
    +
    + +
    + +
    + + + + + + + + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_member_list_update.php b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_member_list_update.php new file mode 100644 index 0000000..e6adce4 --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_member_list_update.php @@ -0,0 +1,29 @@ + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_move_list.php b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_move_list.php new file mode 100644 index 0000000..5191b0c --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_move_list.php @@ -0,0 +1,90 @@ + + + 메인으로 +'; + +$g5['title'] = "[ ".$start_area['ma_name']." ] 지역 통행 관리"; +include_once ('./admin.head.php'); + +?> + +
    + + + +
    +

    각 지역간 이동 설정

    +
    + + + + + + + + + (저장필요)"; + } else { + $checked = $mf['mf_use'] ? "checked" : ""; + } +?> + + + + + + + +
    지역간 이동 설정
    + + + id="mf_use_"> + + + + + + +
    +
    +
    + + + +
    + + + + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_move_update.php b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_move_update.php new file mode 100644 index 0000000..028a043 --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_move_update.php @@ -0,0 +1,40 @@ + \ No newline at end of file diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_update.php b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_update.php new file mode 100644 index 0000000..71711e7 --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/adm/map_update.php @@ -0,0 +1,30 @@ + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/extend/map.config.php b/Plugin/지역관리/AvocadoEdition.MapManager/extend/map.config.php new file mode 100644 index 0000000..d032e47 --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/extend/map.config.php @@ -0,0 +1,104 @@ + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/_action.data.php b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/_action.data.php new file mode 100644 index 0000000..2d749ac --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/_action.data.php @@ -0,0 +1,50 @@ + \ No newline at end of file diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/action/log.map.skin.php b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/action/log.map.skin.php new file mode 100644 index 0000000..75b9a1a --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/action/log.map.skin.php @@ -0,0 +1,54 @@ + + +
    + + +

    + 구역으로 이동했다. +

    + + + + +
    + +
    + +

    +
    + +

    + + +
    + +
    + + + +
    + + / + + +
    + + + +

    + + + +
    + \ No newline at end of file diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/action/log.map_mon.skin.php b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/action/log.map_mon.skin.php new file mode 100644 index 0000000..817380c --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/action/log.map_mon.skin.php @@ -0,0 +1,56 @@ + $data_log[3]) { + // 몬스터의 데미지가 더 높은 경우, 유저의 hp를 제거한다. 단, 플러그인에선 hp에 대한 코드는 제외되어있다. + // 유저의 HP 를 사용할 경우 아래의 코드를 사용한다. + // $monster_comment_detail = "공격 실패! ".($data_log[2] - $data_log[3])."의 피해를 입었습니다."; + $monster_comment_detail = "공격 실패!"; + } else { + // 비겼을 경우 + $monster_comment_detail = "공격 실패!"; + } + +} else { + $monster_comment = "대상을 처치하는데 성공하였습니다!"; + $monster_comment_detail = "공격 성공! ".($data_log[3] - $data_log[2])."의 피해를 입혔습니다."; +} + +?> + +
    +

    + +

    + DICE1 + + + + DICE2 + + + + + +

    + +

    +
    + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/list.skin.php b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/list.skin.php new file mode 100644 index 0000000..0302b97 --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/list.skin.php @@ -0,0 +1,375 @@ +', 0); + +set_session('ss_bo_table', $_REQUEST['bo_table']); +set_session('ss_wr_id', $_REQUEST['wr_id']); + +if($character['ch_id']) { + // 사용가능 아이템 검색 + $temp_sql = "select it.it_id, it.it_name, inven.in_id from {$g5['inventory_table']} inven, {$g5['item_table']} it where it.it_id = inven.it_id and it.it_use_mmb_able = '1' and inven.ch_id = '{$character[ch_id]}' order by it_id asc"; + $mmb_item_result = sql_query($temp_sql); + $mmb_item = array(); + for($i = 0; $row = sql_fetch_array($mmb_item_result); $i++) { + $mmb_item[$i] = $row; + } +} + + +$owner_front = get_style('mmb_owner_name', 'cs_etc_2'); // 자기 로그 접두문자 +$owner_front = $owner_front['cs_etc_2']; +$owner_behind = get_style('mmb_owner_name', 'cs_etc_3'); // 자기 로그 접미문자 +$owner_behind = $owner_behind['cs_etc_3']; + +?> + +
    + + + + + +
    + +
    + + +'.$wiget['cs_value'].'
    '; } +?> + + +
    + +
    + + + + + + + + +
    + +
    +
    + + + + + + + + + + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + + +
    +
    > + +
    +
    > + +
    +
    + +
    +
    + + + /> + + + + /> + + + + + /> + + + + + /> + + + + + /> + + +
    +
    + +
    + + 등록하기 + + 새로고침 + 이모티콘 +
    + + +
    + + + +
    + 등록된 로그가 없습니다.
    "; } + ?> + + + +
    + +
    + + +
    + +
    + + + + + + + + + + +
    +
    + + + + + +
    + + + + + + + + + + + + +
    + + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/list.top.map.skin.php b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/list.top.map.skin.php new file mode 100644 index 0000000..3402ea6 --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/list.top.map.skin.php @@ -0,0 +1,69 @@ + + + +
    +
    +
    + 0) { + // 다른 위치에 존재하는 캐릭터가 있을 경구, other 클래스를 추가한다. + $map_class .=" other"; + } else { + $cnt = ''; + } + +?> +
    + + +
    + 지도 이미지 +
    +
    + + \ No newline at end of file diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/view_comment.skin.php b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/view_comment.skin.php new file mode 100644 index 0000000..19f5295 --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/view_comment.skin.php @@ -0,0 +1,179 @@ +\]/i", "", $content); + + if($log_comment['wr_log'] && !$is_admin) { + // 로그 (탐색 / 조합 등의 액션 수행)의 흔적이 있을 경우 + // 관리자가 아니면 삭제 불가 + $is_delete = false; + } + + if($log_comment['wr_id'] != $log_comment['wr_id'] && ($log_comment['is_reply'] || $log_comment['is_edit'] || $log_comment['is_del'])) { + // 답변, 수정, 삭제가 가능할 경우 + // 또한, 본문의 id와 코멘트의 id가 다를 경우 (같을 경우엔 로그의 상단에 있는 컨트롤을 통해 액션 수행이 가능하다) + $query_string = str_replace("&", "&", $_SERVER['QUERY_STRING']); + if($w == 'cu') { + $sql = " select wr_id, wr_content from $write_table where wr_id = '$indexd' and wr_is_comment = '1' "; + $cmt = sql_fetch($sql); + $c_wr_content = $cmt['wr_content']; + } + + $c_reply_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=c#bo_vc_w_'.$list_item['wr_id']; + $c_edit_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=cu#bo_vc_w_'.$list_item['wr_id']; + } + + // 캐릭터 정보 출력 + $is_comment_owner = false; + $comment_owner_front = ""; // 자기 로그 접두문자 + $comment_owner_behind = ""; // 자기 로그 접미문자 + + if(!$log_comment['wr_noname']) { + if(is_file(G5_DATA_PATH."/site/ico_admin") && $config['cf_admin'] == $log_comment['mb_id']) { + // 관리자 아이콘이 존재하고, 관리자와 작성자가 동일 할 경우 + // 관리자 아이콘을 출력한다. + $log_comment['ch_name'] = "관리자"; + } else { + // 캐릭터 정보 로드 + $ch = get_character($log_comment['ch_id']); + if($ch['ch_id']) { + // 캐릭터 정보가 존재할 경우, 캐릭터 정보를 추가한다. + // 캐릭터 링크 + // + 캐릭터 소속 아이콘 + // + 캐릭터 종족 아이콘 + // + 캐릭터 이름 + /*$log_comment['ch_name'] = " + + ".get_side_icon($ch['ch_side']).get_class_icon($ch['ch_class'])." + ".get_title_image($log_comment['ti_id'])." + ".($log_comment['wr_subject'] ? $log_comment['wr_subject'] : "GUEST")." + ";*/ + $log_comment['ch_name'] = " + + ".get_side_icon($ch['ch_side'])." + ".get_title_image($log_comment['ti_id'])." + ".($ch['ch_name'] ? $ch['ch_name'] : "GUEST")." + "; + } else { + // 캐릭터 정보가 존재하지 않을 경우, 빈값을 출력한다. + $log_comment['ch_name'] = ""; + } + } + + // 오너 정보 출력 + if($log_comment['mb_id']) { + $log_comment['name'] = "{$log_comment[wr_name]}"; + } else { + $log_comment['name'] = $log_comment[wr_name]; + } + + if(!$list_item['wr_noname'] && $list_item['mb_id'] == $log_comment['mb_id']) { + $is_comment_owner = true; + $comment_owner_front = $owner_front; + $comment_owner_behind = $owner_behind; + } + } else { + $is_comment_owner = false; + } + + /****************************************************** + 위치이동 커맨드 추가 + ******************************************************/ + $map_info = ''; + if($log_comment['ma_id']) { + $ma_name = sql_fetch("select ma_name from {$g5['map_table']} where ma_id = '{$log_comment['ma_id']}'"); + $map_info .= " 위치 : {$ma_name['ma_name']}"; + } + /****************************************************** + 위치이동 커맨드 추가 종료 + ******************************************************/ +?> + + +
    +
    + + +

    > + + + [] + +

    + +

    익명의 누군가

    + + + + +
    + +
    +
    + + + + + + + + + LINK + + + LINK + + + +
    + +
    + + +
    + +
    + + +
    + + + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/write.skin.php b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/write.skin.php new file mode 100644 index 0000000..3b0952a --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/write.skin.php @@ -0,0 +1,718 @@ +', 0); + +if($board['bo_use_chick'] && $w == '') { + goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.$qstr); +} + +$is_error = false; +$option = ''; +$option_hidden = ''; +if ($is_notice || $is_html || $is_secret || $is_mail) { + $option = ''; + if ($is_notice) { + $option .= "\n".''."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } +} + +/*if(!$character['ch_id']) { +?> +
    + + 작성권한이 없습니다.
    + 계정로그인을 해주시길 바랍니다. + + + + 대표캐릭터가 설정되지 않았습니다.
    + 마이페이지에서 대표 캐릭터를 선택해 주시길 바랍니다. + + + +
    +"; + + $category_option .= " + + + \n"; + } + + $is_category = true; + } + + $image_url = $board_skin_url."/img/no_image.png"; + if($w == 'u') { + if($write['wr_type'] == 'URL') { + $image_url = $write['wr_url']; + $img_data = "width : ".$write['wr_width']."px / height : ".$write['wr_height']."px"; + } else if($file[0]['file']) { + $image_url = $file[0]['path']."/".$file[0]['file']; + $img_data = "width : ".$file[0]['wr_width']."px / height : ".$file[0]['wr_height']."px"; + } + + if($write['wr_subject'] == "--|UPLOADING|--") { + $write['wr_subject'] = $character['ch_name']; + if(!$write['wr_subject']) $write['wr_subject'] = 'GUEST'; + } + + } else { + $write['wr_subject'] = $character['ch_name']; + if(!$write['wr_subject']) $write['wr_subject'] = 'GUEST'; + } + + $temp_sql = "select ch_thumb, mb_id, ch_id, ch_name from {$g5['character_table']} where ch_state = '승인' and ch_type != 'test' and ch_id != '{$character[ch_id]}' order by ch_type asc, ch_name asc"; + $re_ch_result = sql_query($temp_sql); + $re_ch = array(); + for($i = 0; $row = sql_fetch_array($re_ch_result); $i++) { + $re_ch[$i] = $row; + } + + ?> + +
    +
    + +
    + + + + + + + + + + + + + + + + + +
    + + ...LOADING... + + + +
    + +
    +
    + +
    +
    +
    > + + + + +
    +
    > + +
    +
    +
    + +
    + +
      + +
    + + + +
    +
    +
    + +
    +
    + +
    +
    + +
    + +
    +
    ITEM 1
    +
    + +
    +
    +
    +
    ITEM 2
    +
    + +
    +
    +
    +
    ITEM 3
    +
    + +
    +
    +
    + + +
    + +
    +
    위치이동
    +
    + +
    +
    +
    + + +
    + + +
    + + 0) { ?> +
    +
    + +
    +
    + +
    +
    + + + +
    +
    + Option +
    +
    +
    + + + + + + +
    + +
    + /> + +
    +
    + /> + +
    + +
    + /> + +
    +
    + /> + +
    + +
    + /> + +
    + +
    +
    + + +
    +
    + +
    +
    + +
    +
    + + + +
    +
    + +
    +
    + +
    +
    + + + +
    +
    + +
    +
    + " id="wr_link" class="frm_input" size="50"> +
    +
    + + +
    +
    + +
    + +
    + + +

    이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

    + + + + +
    글자
    + +

    해시태그 : #해시태그내용 / 로그링크 : @로그번호 / 멤버알람 : [[닉네임]]

    +
    + +
    + +
    + + +
    +
    + +
    +
    +
    +
    + +
    + + + + + + \ No newline at end of file diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/write_comment.php b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/write_comment.php new file mode 100644 index 0000000..1edceac --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/write_comment.php @@ -0,0 +1,87 @@ + + + + + diff --git a/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/write_update.inc.php b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/write_update.inc.php new file mode 100644 index 0000000..49e81cf --- /dev/null +++ b/Plugin/지역관리/AvocadoEdition.MapManager/skin/board/mmb/write_update.inc.php @@ -0,0 +1,425 @@ + 0) { + // -- 괄호를 치환한다. + $memo = str_replace("[[", "", $wr_content); + $memo = str_replace("]]", "", $memo); + + for($i=0; $i < count($mb_nick_array); $i++) { + // 회원 정보 있는지 여부 확인 + $memo_search = sql_fetch("select mb_id, mb_name from {$g5['member_table']} where mb_nick = '{$mb_nick_array[$i]}' or mb_name = '{$mb_nick_array[$i]}'"); + if($memo_search['mb_id']) { + // 회원정보가 있을 시, 알람테이블에 저장한다. + // 저장하기 전에 동일한 정보가 있는지 확인한다. + // 저장정보 : wr_id / wr_num / bo_table/ mb_id / mb_name / re_mb_id / re_mb_name / ch_side / memo / bc_datetime + + $bc_sql_common = " + wr_id = '{$temp_wr_id}', + wr_num = '{$wr_num}', + bo_table = '{$bo_table}', + mb_id = '{$member[mb_id]}', + mb_name = '{$member[mb_nick]}', + re_mb_id = '{$memo_search['mb_id']}', + re_mb_name = '{$memo_search['mb_name']}', + ch_side = '{$character[ch_side]}', + memo = '{$memo}', + bc_datetime = '".G5_TIME_YMDHIS."' + "; + + + // 동일 정보 있는지 확인 - wr_id/ bo_table / re_mb_id 로 판별 + $bc = sql_fetch(" select bc_id from {$g5['call_table']} where wr_id= '{$temp_wr_id}' and bo_table= '{$bo_table}' and re_mb_id = '{$memo_search[mb_id]}' and mb_id = '{$member[mb_id]}' "); + + if($bc['bc_id']) { + // 정보가 있을 경우 + $sql = " update {$g5['call_table']} set {$bc_sql_common} where bc_id = '{$bc[bc_id]}' "; + sql_query($sql); + } else { + // 정보가 없을 경우 + $sql = " insert into {$g5['call_table']} set {$bc_sql_common} "; + sql_query($sql); + + // 회원 테이블에서 알람 업데이트를 해준다. + // 실시간 호출 알림 기능 + $log_link = G5_BBS_URL."/board.php?bo_table=".$bo_table."&log=".($wr_num * -1); + $sql = " update {$g5['member_table']} + set mb_board_call = '".$member['mb_nick']."', + mb_board_link = '{$log_link}' + where mb_id = '".$memo_search['mb_id']."' "; + sql_query($sql); + } + } else { + // 회원정보가 없을 시, content 에 해당 닉네임을 블러 처리 하고 + // content 를 업데이트 한다. + $wr_content = str_replace("[[".$mb_nick_array[$i]."]]", "[[???]]", $wr_content); + $memo_custom_sql .= " , wr_content = '{$wr_content}' "; + } + } +} +// ******************** 호출 관련, 호출 시 해당 멤버에게 쪽지 보내기 기능 종료 + +if($w != 'cu') { + $customer_sql = " + {$memo_custom_sql} + "; + + if($use_item) { + $it = sql_fetch("select it.it_type, it.it_use_ever, it.it_name, it.it_id, it.it_value, it.it_content, it.it_content2 from {$g5[item_table]} it, {$g5[inventory_table]} inven where inven.in_id = '{$use_item}' and inven.it_id = it.it_id"); + + // 아이템 제거 + if(!$it['it_use_ever']) { + // 영구성 아이템이 아닐 시, 사용했을 때 인벤에서 제거한다. + delete_inventory($use_item); + } + + // 아이템이 뽑기 아이템의 경우 + if($it['it_type'] == '뽑기') { + $seed = rand(0, 100); + + // 템 검색 시작 + $item_result = sql_fetch(" + select re_it_id as it_id + from {$g5[explorer_table]} + where it_id = '".$it['it_id']."' + and (ie_per_s <= '{$seed}' and ie_per_e >= '{$seed}') + order by RAND() + limit 0, 1 + "); + + if($item_result['it_id']) { + // 아이템 획득에 성공한 경우, 해당 아이템을 인벤토리에 삽입 + // 아이템 획득에 성공 시 + $item_result['it_name'] = get_item_name($item_result['it_id']); + $inven_sql = " insert into {$g5[inventory_table]} + set ch_id = '{$character[ch_id]}', + it_id = '{$item_result[it_id]}', + it_name = '{$item_result[it_name]}', + ch_name = '{$character[ch_name]}'"; + sql_query($inven_sql); + $in_id = mysql_insert_id(); + + $item_log = "S||".$it['it_id']."||".$it['it_name']."||".$item_result['it_id']."||".$item_result['it_name']; + } else { + $item_log = "F||".$it['it_id']."||".$it['it_name']; + } + } else { + // 일반 아이템의 경우, 기본 사용 로그를 반환한다. + $item_log = "D||".$it['it_id']."||".$it['it_name']."||".$it['it_type']."||".$it['it_value']."||".$it['it_content']."||".$it['it_content2']; + } + $customer_sql .= " , wr_item = '{$it[it_id]}', wr_item_log = '{$item_log}'"; + + } + + if($game == "dice") { + // 주사위 굴리기 + $dice1 = rand(1, 6); + $dice2 = rand(1, 6); + $customer_sql .= " , wr_dice1 = '{$dice1}', wr_dice2 = '{$dice2}'"; + } + + $log = ""; + + //-------------------------------------------------------- + // 탐색 : 아이템 사용 없이 행위만으로 아이템 획득 가능 + // - 아이템 획득 제한 체크 필요 + //---------------------------------------------------------- + if($action == 'S') { + + if($character['ch_search'] < $config['cf_search_count']) { + // 탐색 횟수가 하루탐색 횟수를 초과하지 않은 경우 + // 주사위 굴리기 + $seed = rand(0, 100); + + // 나온 숫자의 구간에 해당하는 아이템 중, 하나를 선택한다. + $item_result = sql_fetch(" + select it_id, it_name + from {$g5['item_table']} + where + it_use = 'Y' + and it_seeker = '1' + and (it_seeker_per_s <= '{$seed}' and it_seeker_per_e >= '{$seed}') + order by RAND() + limit 0, 1 + "); + + if($item_result['it_id']) { + // 아이템 획득에 성공한 경우, 해당 아이템을 인벤토리에 삽입 + // 아이템 획득에 성공 시 + $inven_sql = " insert into {$g5['inventory_table']} + set ch_id = '{$character[ch_id]}', + it_id = '{$item_result[it_id]}', + it_name = '{$item_result[it_name]}', + ch_name = '{$character[ch_name]}'"; + sql_query($inven_sql); + $in_id = mysql_insert_id(); + + $log = $action."||S||".$item_result['it_id']."||".$item_result['it_name']."||".$in_id; + } else { + $log = $action."||F"; + } + + // 탐색 횟수 업데이트 + sql_query(" + update {$g5['character_table']} + set ch_search = ch_search + 1, + ch_search_date = '".G5_TIME_YMD."' + where ch_id = '{$character['ch_id']}' + "); + + $character['ch_search'] = $character['ch_search'] + 1; + $customer_sql .= " , wr_log = '{$log}' "; + } + } + + //-------------------------------------------------------- + // 조합 + //---------------------------------------------------------- + if($action == 'H') { + // 재료 정보 : make_1, make_2, make_3 + $make_1 = sql_fetch("select inven.in_id, it.it_id, it.it_name, it.it_use_ever from {$g5['item_table']} it, {$g5['inventory_table']} inven where it.it_id = inven.it_id and inven.in_id = '{$make_1}'"); + $make_2 = sql_fetch("select inven.in_id, it.it_id, it.it_name, it.it_use_ever from {$g5['item_table']} it, {$g5['inventory_table']} inven where it.it_id = inven.it_id and inven.in_id = '{$make_2}'"); + $make_3 = sql_fetch("select inven.in_id, it.it_id, it.it_name, it.it_use_ever from {$g5['item_table']} it, {$g5['inventory_table']} inven where it.it_id = inven.it_id and inven.in_id = '{$make_3}'"); + + $re_item[0] = $make_1[it_id]; + $re_item[1] = $make_2[it_id]; + $re_item[2] = $make_3[it_id]; + sort($re_item); + $re_item_order = implode("||", $re_item); + + $re = sql_fetch("select it_id from {$g5['item_table']}_recepi where re_item_order = '{$re_item_order}' and re_use = '1'");; + if(!$re[it_id]) { + // 레시피 조합 실패 + $log = $action."||F||NON||NON||".$re_item_order; + } else { + // 레시피 조합 성공 + $item = get_item($re[it_id]); + + $inven_sql = " insert into {$g5['inventory_table']} + set ch_id = '{$character[ch_id]}', + it_id = '{$item[it_id]}', + it_name = '{$item[it_name]}', + ch_name = '{$character[ch_name]}'"; + sql_query($inven_sql); + $in_id = mysql_insert_id(); + + $log = $action."||S||".$re[it_id]."||".$item[it_name]."||".$in_id."||".$re_item_order; + } + + $customer_sql .= " , wr_log = '{$log}' "; + + if(!$make_1['it_use_ever']) { delete_inventory($make_1['in_id']); } + if(!$make_2['it_use_ever']) { delete_inventory($make_2['in_id']); } + if(!$make_3['it_use_ever']) { delete_inventory($make_3['in_id']); } + } + + /****************************************************** + 위치이동 커맨드 추가 + ******************************************************/ + if($action == 'MAP') { + + // 위치이동 선택 시, 선택한 위치를 이동한다. + // 이동 지역 정보 받아오기 + $ma = sql_fetch("select * from {$g5['map_table']} where ma_id = '{$re_ma_id}'"); + if($ma['ma_id']) { + // 위치정보가 정상적으로 넘어왔을 시 + // 지역 변동내역을 캐릭터 정보에 추가한다. + $sql = " update {$g5['character_table']} + set ma_id = '{$ma['ma_id']}' + where ch_id = '{$character['ch_id']}' "; + sql_query($sql); + $character['ma_id'] = $ma['ma_id']; + + $m_re_type = "F"; // 이벤트 타입 저장 + $event_log_conttent = ""; // 이벤트 로그 내용 + + // 이벤트를 검색한다. + // 이벤트 검색 시작 + $seed = rand(0, 100); + + $me = sql_fetch(" + select * + from {$g5[map_event_table]} + where ma_id = '".$ma['ma_id']."' + and (me_per_s <= '{$seed}' and me_per_e >= '{$seed}') + and me_use = '1' + and (me_replay_cnt = 0 or me_replay_cnt > me_now_cnt) + order by RAND() + limit 0, 1 + "); + + if($me['me_id']) { + // 이벤트 획득에 성공한 경우, 해당 이벤트를 실행한다. + // 이벤트 획득 카운터 추가 + $sql = " update {$g5['map_event_table']} + set me_now_cnt = me_now_cnt+1 + where me_id = '{$me['me_id']}' "; + sql_query($sql); + + if($me['me_type'] == '') { + // 일반 텍스트 출력 + $m_re_type = "D"; + + } else if($me['me_type'] == '아이템') { + // 아이템 획득 + $m_re_type = "I"; + + // 아이템 획득에 성공한 경우, 해당 아이템을 인벤토리에 삽입 + // 아이템 획득에 성공 시 + $item_result = get_item($me['me_get_item']); + $inven_sql = " insert into {$g5[inventory_table]} + set ch_id = '{$character[ch_id]}', + it_id = '{$item_result[it_id]}', + it_name = '{$item_result[it_name]}', + ch_name = '{$character[ch_name]}'"; + sql_query($inven_sql); + $in_id = mysql_insert_id(); + $event_log_conttent = $item_result[it_name].j($item_result[it_name], '을')." 획득했다!"; + + } else if($me['me_type'] == '화폐') { + // 소지금 변동 + $m_re_type = "G"; + insert_point($member['mb_id'], $me['me_get_money'], "이벤트 발생!", 'money', time(), '이벤트'); + + if($me['me_get_money'] < 0) { + $event_log_conttent = ($me['me_get_money'] * -1).$config['cf_money'].j($config['cf_money'], '을')." 잃었다."; + } else { + $event_log_conttent = $me['me_get_money'].$config['cf_money'].j($config['cf_money'], '을')." 획득했다!"; + } + } else if($me['me_type'] == '이동') { + // 지역 이동 + $m_re_type = "W"; + $m_map = sql_fetch("select ma_name from {$g5['map_table']} where ma_id = '{$me['me_move_map']}'"); + + // 지역 변동내역을 캐릭터 정보에 추가한다. + $sql = " update {$g5['character_table']} + set ma_id = '{$me['me_move_map']}' + where ch_id = '{$character['ch_id']}' "; + sql_query($sql); + $character['ma_id'] = $me['me_move_map']; + + $event_log_conttent = "[".$m_map['ma_name']."] 구역으로 이동되었다!"; + + } else if($me['me_type'] == '몬스터') { + // 몬스터 출현 + $m_re_type = "M"; + + $temp_check = sql_fetch("select * from {$write_table}"); + if(!isset($temp_check['wr_mon_state'])) { + sql_query(" ALTER TABLE `{$write_table}` ADD `wr_mon_state` varchar(255) NOT NULL default '' AFTER `wr_10` "); + sql_query(" ALTER TABLE `{$write_table}` ADD `wr_mon_hp` int(11) NOT NULL default '0' AFTER `wr_10` "); + sql_query(" ALTER TABLE `{$write_table}` ADD `wr_mon_now_hp` int(11) NOT NULL default '0' AFTER `wr_10` "); + sql_query(" ALTER TABLE `{$write_table}` ADD `wr_mon_attack` int(11) NOT NULL default '0' AFTER `wr_10` "); + } + unset($temp_check); + + // 몬스터 상태 추가 + $customer_sql .= " , wr_mon_state='S', wr_mon_hp='{$me['me_mon_hp']}', wr_mon_now_hp='{$me['me_mon_hp']}', wr_mon_attack='{$me['me_mon_attack']}' "; + } + } + + $log = $action."||{$ma['ma_id']}||{$m_re_type}||{$me['me_id']}||{$event_log_conttent}"; + $customer_sql .= " , wr_log = '{$log}' "; + $customer_sql .= " , ma_id = '{$character['ma_id']}' "; + } + } + if($action == 'MAP_MON') { + // 위치 이동 시, 몬스터가 떴을 경우 몬스터 이벤트 처리 + // :: 현재 공격력 산정은 주사위 2개를 굴려서 나오는 합으로 처리 되고 있습니다. + // 몬스터 공격력 + // 몬스터 hp 체크 - 끝나면 엔딩 표기 + // 유저 HP 체크 (현재 플러그인 배포 버전에서는 hp 처리 하는 부분 제외, 필요 시 추가 커스텀 필요) + // 몬스터 딜 체크 필요 + $origin = sql_fetch("select * from {$write_table} where wr_id = '{$wr_id}'"); + $mon_hp = $origin['wr_mon_now_hp']; + $mon_attack = $origin['wr_mon_attack']; + $mon_state = $origin['wr_mon_state']; + + /********************************* + 공격력 산출 부분 + : 커뮤니티의 공격력 산출 공식에 맞게 변경하세요 + *********************************/ + $dice_attack1 = rand(1, 6); // 첫번째 주사위 + $dice_attack2 = rand(1, 6); // 두번째 주사위 + $attack = $dice_attack1 + $dice_attack2; // 주사위1 + 주사위2 = 공격력 + + // $it : 위쪽에서 아이템 사용하기에서 설정 된 사용된 아이템 정보가 들어있는 변수 + // 아이템 효과 : 공격력추가 기능을 설정 시, 공격력이 추가 된 수치를 얻을 수 있음, 추가되는 공격력 수치는 아이템관리-적용값에 설정된 값 + $item_attack = 0; // 아이템으로 추가 되는 공격력 수치 + if($it['it_type'] == '공격력추가') { + $item_attack = $it['it_value']; + $attack += $item_attack; // 기존의 공격력 합산에 아이템 공격력을 추가한다. + } + + // 최종 몬스터에게 입힌 데미지 산출 공식 + $result_attack = $mon_attack - $attack; // 몬스터 반격치에서 최종 공격력 수치를 제외한다. + + if($mon_hp < 1) { break; } // 몬스터 HP가 0일 경우 탈출! + + if($result_attack > 0) { + // 몬스터의 공격력 > 유저의 공격력 + + /**************************************************************************************** + 유저의 HP를 차감하는 공식이 추가 되어야 하는 부분 + + * 커스텀된 소스를 추가하세요 + + ****************************************************************************************/ + + } else if($result_attack < 0) { + // 몬스터의 공격력 < 유저의 공격력 + + $mon_hp = $mon_hp + $result_attack; + if($mon_hp < 0) { + // 막타일 경우 이벤트 종료 선언 + $mon_hp = 0; + $mon_state = 'E'; + } + $sql = " update {$write_table} + set wr_mon_now_hp = '{$mon_hp}', + wr_mon_state = '{$mon_state}' + where wr_id = '{$wr_id}' "; + sql_query($sql); + } + + $log = $action."||{$mon_state}||".$mon_attack."||".$attack."||유저의HP정보||".$dice_attack1."+".$dice_attack2."+".$item_attack; + $customer_sql .= " , wr_log = '{$log}' "; + } + + /****************************************************** + 위치이동 커맨드 추가 종료 + ******************************************************/ +} + +?> + diff --git a/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/action_list.php b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/action_list.php new file mode 100644 index 0000000..da872a9 --- /dev/null +++ b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/action_list.php @@ -0,0 +1,346 @@ + 0) { + sql_query("update {$g5['config_table']} set cf_reply_cnt = '{$cf_reply_cnt}'"); + $config['cf_reply_cnt'] = $cf_reply_cnt; +} + + +if(!$s_board) { + $s_board = "free"; +} +if (!$sst) { + $sst = "bo.wr_logs"; + $sod = "desc"; +} +$sql_order = " order by {$sst} {$sod} "; + + + +$now_board = ""; +$search_board_sql = " select bo.bo_table, bo.bo_subject, gr.gr_id, gr.gr_subject from {$g5['board_table']} bo, {$g5['group_table']} gr where bo.gr_id = gr.gr_id order by gr.gr_id asc, bo.bo_subject asc "; +$search_board = sql_query($search_board_sql); +$board_select_option = ""; +for($i=0; $row=sql_fetch_array($search_board); $i++) { + if(!$s_board) { + $s_board = $row['bo_table']; + } + if($row['bo_table'] == $s_board) { + $s_board_select = "selected"; + $now_board = $row['bo_subject']; + + } else { + $s_board_select = ""; + } + $board_select_option .= ''; +} + + +$write_table = $g5['write_prefix'] . $s_board; + +$qstr .= "&s_board=".$s_board."&s_date=".$s_date."&e_date=".$e_date."&check_manner=".$check_manner; + +if(!$s_date) $s_date = date('Y-m-d', strtotime("last Monday")); +if(!$e_date) { + $e_date = date('Y-m-d', strtotime("next Sunday")); +} + + +// -- 덧글 현황 처리하는 부분부터 +// 리플 매너 기록하는 필드를 각 게시판에 추가한다. (없을 경우) +if(!sql_query(" select wr_manner from {$write_table} limit 1 ", false)) { + $sql = " ALTER TABLE `{$write_table}` ADD `wr_manner` int(11) NOT NULL , ADD `wr_manner_txt` VARCHAR(255) NOT NULL "; + sql_query($sql, false); +} +$sql_common = " from {$g5['member_table']} mb + LEFT JOIN + (select *, + count(if(wr_id = wr_parent, wr_id, null)) as wr_logs, + count(if(wr_id != wr_parent, wr_id, null)) as wr_cms + from {$write_table} + where wr_datetime >= '$s_date' and + wr_datetime <= '$e_date' + group by mb_id + ) bo + ON mb.mb_id = bo.mb_id "; +$sql_search = " where mb.mb_level > 1 and mb.mb_leave_date = '' and mb.mb_id != '{$config['cf_admin']}' and mb.mb_id NOT LIKE 'test%' and mb.ch_id != '0' "; + +if($s_mbid) { + $sql_search .= " and mb.mb_id = '{$s_mbid}' "; +} + +$sql = " select count(*) as cnt {$sql_common} {$sql_search}"; + + +$row = sql_fetch($sql); +$total_count = $row['cnt']; + +if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지) + +if($check_manner == '1') { + $page_rows = 10; +} else if($check_manner == '2') { + $page_rows = 1000; +} else { + $page_rows = 20; +} + + +$total_page = ceil($total_count / $page_rows); // 전체 페이지 계산 +$from_record = ($page - 1) * $page_rows; // 시작 열을 구함 + +$g5['title'] = '활동량 관리'; +include_once('./admin.head.php'); +include_once(G5_PLUGIN_PATH.'/jquery-ui/datepicker.php'); + + +$sql = " select + mb.mb_id, + mb.mb_name, + mb.ch_id, + mb.mb_today_login, + mb.mb_error_content, + bo.wr_logs, bo.wr_cms, + mb.mb_error_cnt + + {$sql_common} {$sql_search} {$sql_order} + limit {$from_record}, $page_rows"; +//echo $sql; +$result = sql_query($sql); +if($check_manner || $check_manner2) { + $colspan = 10; +} else { + $colspan = 9; +} + +?> + + + +
    + + 총 회원 수 명 +
    + +
    + + + +
    + +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "; + ?> + +
    목록
    캐릭터IDX아이디닉네임대표캐릭터로그덧글리플매너리플 미기재 로그최종 접속누적경고경고내용
    + + + + + + +
    Loading...
    +
    + + + 회 + + + +
    자료가 없습니다.
    +
    + +
    + +
    + +
    + + + + + + diff --git a/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/action_manner_search.php b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/action_manner_search.php new file mode 100644 index 0000000..6985146 --- /dev/null +++ b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/action_manner_search.php @@ -0,0 +1,99 @@ + "error", + "state" => "-", + "link" => '' + ))); +} else { + + $state = ''; + $manner_txt = ''; + $add_manner_str = ''; + + if($config['cf_reply_cnt'] < 1) { + $state = '준수'; + } else { + + // 자, 작업을 시작하자. 기간 내의 로그들을 모두 검색해서 돌린다. + $log_sql = "select wr_id, mb_id, wr_num, wr_manner from {$write_table} where wr_datetime >= '$s_date' and wr_datetime <= '$e_date' and wr_is_comment=0 and mb_id = '{$mb_id}' and wr_manner < {$config['cf_reply_cnt']} order by wr_id"; + $log_result = sql_query($log_sql); + + for($j=0; $log = sql_fetch_array($log_result); $j++) { + // 리플 매너를 체크 한다. + $comment_sql = "select wr_id, wr_num, mb_id from {$write_table} where wr_id < '{$log['wr_id']}' and wr_is_comment=0 order by wr_id desc limit 0, {$config['cf_reply_cnt']}"; + $comment_result = sql_query($comment_sql); + + $manner_count = 0; + $manner_num = ""; + $add_manner_num = ""; + + $prev_num = $log['wr_num'] * -1; + $is_del = '; color:#fff;'; + $is_del_check = false; + + for($k=0; $comm = sql_fetch_array($comment_result); $k++) { + $ttmmm_state = ""; + if($comm['mb_id'] == $config['cf_admin']) { + $manner_count ++; + } else if($comm['mb_id'] == $mb_id) { + $manner_count ++; + } else { + // 관리자가 쓴 글도 아니고, 내가 쓴 글도 아닐때 + // 해당 글의 덧글 검색한다. + $check_sql = "select count(wr_id) as cnt from {$write_table} where wr_parent = '{$comm['wr_id']}' and wr_is_comment = 1 and mb_id = '{$mb_id}'"; + $check_result = sql_fetch($check_sql); + + if($check_result['cnt'] > 0) { + $manner_count ++; + } else { + $ttmmm_state = "(X)"; + } + } + + $now_num = ($comm['wr_num'] * -1); + + if($prev_num - $now_num > 1) { + $is_del = "; color:red;"; + $is_del_check = true; + } + $manner_num .= $add_manner_num.($comm['wr_num'] * -1).$ttmmm_state; + $add_manner_num = "/"; + $prev_num = ($comm['wr_num'] * -1); + } + + if($is_del_check && $manner_count == 1) { + $manner_count = $config['cf_reply_cnt']; + } + + // 덧글 단 것이 부족할 때 + // 해당 글의 로그 번호를 가져온다. + if($manner_count < $config['cf_reply_cnt']) { + $temp_link = "".($log['wr_num']*-1)." [".($config['cf_reply_cnt']-($manner_count*1))." : {$manner_num}]"; + $manner_txt = $manner_txt.$add_manner_str.$temp_link; + } + + $update_sql = " update {$write_table} set wr_manner = {$manner_count} where wr_id = '{$log['wr_id']}'"; + sql_query($update_sql); + } + + if($manner_txt == '') { + $state = '준수'; + } else { + $state = '경고'; + } + } + + echo(json_encode(array( + "test" => $comment_sql, + "state" => $state, + "link" => $manner_txt + ))); +} + +?> \ No newline at end of file diff --git a/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/admin.menu400.php b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/admin.menu400.php new file mode 100644 index 0000000..1d7ab31 --- /dev/null +++ b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/admin.menu400.php @@ -0,0 +1,22 @@ + \ No newline at end of file diff --git a/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/character_pass_manager.php b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/character_pass_manager.php new file mode 100644 index 0000000..ce17f5c --- /dev/null +++ b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/character_pass_manager.php @@ -0,0 +1,385 @@ +전체목록'; + +$g5['title'] = '신청서 합격 관리'; +include_once('./admin.head.php'); + +$sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$from_record}, {$rows} "; +$result = sql_query($sql); + +$colspan = 8; + +// 모바일 배경 가져오기 +$m_background = get_style('m_background'); +?> + + +
    + + 수정완료 신청서 명 + + 합격 명 | + 보류 명 | + 불합 명 | + 미정 명 + +
    + +
    + 0) { + ?> + + + 0) { + ?> + + + + + + + + + + + +
    + +
    +
    + +
    +
    +
    + + + + + + +
      + + +
    • " data-type=""> + +
      +
      + + + + +
      +
      +
      + /> + + + /> + + + /> + + + /> + +
      +
      + 프로필 +
    • + +
    + + + +
    +
    +
    + +
    +
    + + + + + + + diff --git a/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/character_pass_manager_confirm.php b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/character_pass_manager_confirm.php new file mode 100644 index 0000000..d35c0fd --- /dev/null +++ b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/character_pass_manager_confirm.php @@ -0,0 +1,10 @@ + diff --git a/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/character_pass_manager_delete.php b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/character_pass_manager_delete.php new file mode 100644 index 0000000..8386cfe --- /dev/null +++ b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/character_pass_manager_delete.php @@ -0,0 +1,11 @@ + diff --git a/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/character_pass_manager_update.php b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/character_pass_manager_update.php new file mode 100644 index 0000000..36767b7 --- /dev/null +++ b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/character_pass_manager_update.php @@ -0,0 +1,18 @@ + diff --git a/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/member_list.php b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/member_list.php new file mode 100644 index 0000000..1acbf6c --- /dev/null +++ b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/member_list.php @@ -0,0 +1,249 @@ += '{$stx}') "; + break; + case 'mb_level' : + $sql_search .= " ({$sfl} = '{$stx}') "; + break; + case 'mb_tel' : + case 'mb_hp' : + $sql_search .= " ({$sfl} like '%{$stx}') "; + break; + default : + $sql_search .= " ({$sfl} like '{$stx}%') "; + break; + } + $sql_search .= " ) "; +} + +if ($is_admin != 'super') + $sql_search .= " and mb_level <= '{$member['mb_level']}' "; + +if (!$sst) { + $sst = "mb_datetime"; + $sod = "desc"; +} + +$sql_order = " order by {$sst} {$sod} "; + +$sql = " select count(*) as cnt {$sql_common} {$sql_search} {$sql_order} "; +$row = sql_fetch($sql); +$total_count = $row['cnt']; + +$rows = $config['cf_page_rows']; +$total_page = ceil($total_count / $rows); // 전체 페이지 계산 +if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지) +$from_record = ($page - 1) * $rows; // 시작 열을 구함 + +// 탈퇴회원수 +$sql = " select count(*) as cnt {$sql_common} {$sql_search} and mb_leave_date <> '' {$sql_order} "; +$row = sql_fetch($sql); +$leave_count = $row['cnt']; + +// 차단회원수 +$sql = " select count(*) as cnt {$sql_common} {$sql_search} and mb_intercept_date <> '' {$sql_order} "; +$row = sql_fetch($sql); +$intercept_count = $row['cnt']; + +$listall = '전체목록'; + +$g5['title'] = '회원관리'; +include_once('./admin.head.php'); + +$sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$from_record}, {$rows} "; +$result = sql_query($sql); + +$colspan = 10; +?> + +
    + + 총회원수 명 중, + 차단 명, + 탈퇴 명 +
    + +
    +

    + 회원자료 삭제 시 다른 회원이 기존 회원아이디를 사용하지 못하도록 회원아이디, 이름, 닉네임은 삭제하지 않고 영구 보관합니다. +

    +
    + +
    + + + + + + + +
    + + + + + + +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + 수정'; + $leave_date = $row['mb_leave_date'] ? $row['mb_leave_date'] : date('Ymd', G5_SERVER_TIME); + $intercept_date = $row['mb_intercept_date'] ? $row['mb_intercept_date'] : date('Ymd', G5_SERVER_TIME); + $mb_nick = get_sideview($row['mb_id'], get_text($row['mb_nick']), $row['mb_email'], $row['mb_homepage']); + $mb_id = $row['mb_id']; + $leave_msg = ''; + $intercept_msg = ''; + $intercept_title = ''; + if ($row['mb_leave_date']) { + $mb_id = $mb_id; + $leave_msg = '탈퇴함'; + } + else if ($row['mb_intercept_date']) { + $mb_id = $mb_id; + $intercept_msg = '차단됨'; + $intercept_title = '차단해제'; + } + if ($intercept_title == '') + $intercept_title = '차단하기'; + $bg = 'bg'.($i%2); + ?> + + + + + + + + + + + + + + + + + "; + ?> + +
    목록
    + + 아이디이름생년보유캐릭터상태권한가입일최종접속관리
    + + + + + + + + + + 보유중인 캐릭터가 없습니다. + + + + + +
    자료가 없습니다.
    +
    + +
    + + + +
    + +
    + + + + + + diff --git a/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/member_nocharacter_list.php b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/member_nocharacter_list.php new file mode 100644 index 0000000..e604bba --- /dev/null +++ b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/member_nocharacter_list.php @@ -0,0 +1,199 @@ + '' {$sql_order} "; +$row = sql_fetch($sql); +$leave_count = $row['cnt']; + +// 차단회원수 +$sql = " select count(*) as cnt {$sql_common} {$sql_search} and mb_intercept_date <> '' {$sql_order} "; +$row = sql_fetch($sql); +$intercept_count = $row['cnt']; + +$listall = '전체목록'; + +$g5['title'] = '캐릭터 미등록 회원관리'; +include_once('./admin.head.php'); + +$sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$from_record}, {$rows} "; +$result = sql_query($sql); + +$colspan = 9; +?> + +
    + + 캐릭터 미등록 멤버 명 중, + 차단 명, + 탈퇴 명 +
    + +
    +

    + 회원 자료를 완전히 삭제합니다. +

    +
    + + +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + 수정'; + $leave_date = $row['mb_leave_date'] ? $row['mb_leave_date'] : date('Ymd', G5_SERVER_TIME); + $intercept_date = $row['mb_intercept_date'] ? $row['mb_intercept_date'] : date('Ymd', G5_SERVER_TIME); + $mb_nick = get_sideview($row['mb_id'], get_text($row['mb_nick']), $row['mb_email'], $row['mb_homepage']); + $mb_id = $row['mb_id']; + $leave_msg = ''; + $intercept_msg = ''; + $intercept_title = ''; + if ($row['mb_leave_date']) { + $mb_id = $mb_id; + $leave_msg = '탈퇴함'; + } + else if ($row['mb_intercept_date']) { + $mb_id = $mb_id; + $intercept_msg = '차단됨'; + $intercept_title = '차단해제'; + } + if ($intercept_title == '') + $intercept_title = '차단하기'; + $bg = 'bg'.($i%2); + ?> + + + + + + + + + + + + + + + + "; + ?> + +
    목록
    + + 아이디이름생년보유캐릭터상태권한가입일최종접속
    + + + + + + + + + + 보유중인 캐릭터가 없습니다. + + + + + +
    자료가 없습니다.
    +
    + +
    + + +
    + +
    + + + + + + diff --git a/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/member_nocharacter_list_update.php b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/member_nocharacter_list_update.php new file mode 100644 index 0000000..1d81d0b --- /dev/null +++ b/Plugin/캐릭터매니저/AvocadoEdition.CharacterManage/member_nocharacter_list_update.php @@ -0,0 +1,59 @@ += $member['mb_level']) { + $msg .= "{$mb['mb_id']} : 자신보다 권한이 높거나 같은 회원은 삭제할 수 없습니다.\\n"; + } else { + // 회원자료 삭제 + sql_query(" delete from {$g5['member_table']} where mb_id = '{$_POST['mb_id'][$k]}' "); + } + } +} else if ($_POST['act_button'] == "전체삭제") { + $sql_common = " from {$g5['member_table']} "; + $sql_search = " where ch_id = '0' and mb_id != '{$config['cf_admin']}' "; + $sql = " select * {$sql_common} {$sql_search}"; + $result = sql_query($sql); + + for($i=0; $mb = sql_fetch_array($result); $i++) { + if (!$mb['mb_id']) { + $msg .= "{$mb['mb_id']} : 회원자료가 존재하지 않습니다.\\n"; + } else if ($member['mb_id'] == $mb['mb_id']) { + $msg .= "{$mb['mb_id']} : 로그인 중인 관리자는 삭제 할 수 없습니다.\\n"; + } else if (is_admin($mb['mb_id']) == "super") { + $msg .= "{$mb['mb_id']} : 최고 관리자는 삭제할 수 없습니다.\\n"; + } else if ($is_admin != "super" && $mb['mb_level'] >= $member['mb_level']) { + $msg .= "{$mb['mb_id']} : 자신보다 권한이 높거나 같은 회원은 삭제할 수 없습니다.\\n"; + } else { + // 회원자료 삭제 + sql_query(" delete from {$g5['member_table']} where mb_id = '{$mb['mb_id']}' "); + } + } +} + +if ($msg) echo ""; + +goto_url("./member_nocharacter_list.php"); +?>