Merge branch 'master' of github.com:gnuboard/yc4s
This commit is contained in:
@ -114,10 +114,6 @@ function imageview(id, w, h)
|
|||||||
echo $gnb_str;
|
echo $gnb_str;
|
||||||
?>
|
?>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<div id="current_loc">
|
|
||||||
<p><?=$member['mb_id']?>님 현재위치</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|||||||
@ -15,6 +15,7 @@ function get_skin_select($skin_gubun, $id, $name, $selected='', $event='')
|
|||||||
$skins = get_skin_dir($skin_gubun);
|
$skins = get_skin_dir($skin_gubun);
|
||||||
$str = "<select id=\"$id\" name=\"$name\" $event>\n";
|
$str = "<select id=\"$id\" name=\"$name\" $event>\n";
|
||||||
for ($i=0; $i<count($skins); $i++) {
|
for ($i=0; $i<count($skins); $i++) {
|
||||||
|
if ($i == 0) $str .= "<option value=\"\">선택</option>";
|
||||||
$str .= option_selected($skins[$i], $selected);
|
$str .= option_selected($skins[$i], $selected);
|
||||||
}
|
}
|
||||||
$str .= "</select>";
|
$str .= "</select>";
|
||||||
@ -27,6 +28,7 @@ function get_mobile_skin_select($skin_gubun, $id, $name, $selected='', $event=''
|
|||||||
$skins = get_skin_dir($skin_gubun, G4_MOBILE_PATH.'/'.G4_SKIN_DIR);
|
$skins = get_skin_dir($skin_gubun, G4_MOBILE_PATH.'/'.G4_SKIN_DIR);
|
||||||
$str = "<select id=\"$id\" name=\"$name\" $event>\n";
|
$str = "<select id=\"$id\" name=\"$name\" $event>\n";
|
||||||
for ($i=0; $i<count($skins); $i++) {
|
for ($i=0; $i<count($skins); $i++) {
|
||||||
|
if ($i == 0) $str .= "<option value=\"\">선택</option>";
|
||||||
$str .= option_selected($skins[$i], $selected);
|
$str .= option_selected($skins[$i], $selected);
|
||||||
}
|
}
|
||||||
$str .= "</select>";
|
$str .= "</select>";
|
||||||
|
|||||||
@ -13,7 +13,10 @@ if (!defined('_GNUBOARD_')) exit;
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer id="ft">
|
<footer id="ft">
|
||||||
<p>Copyright © 소유하신 도메인. All rights reserved.</p>
|
<p>
|
||||||
|
Copyright © 소유하신 도메인. All rights reserved.<br>
|
||||||
|
<a href="#">상단으로</a>
|
||||||
|
</p>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<!-- <p>실행시간 : <?=get_microtime() - $begin_time;?> -->
|
<!-- <p>실행시간 : <?=get_microtime() - $begin_time;?> -->
|
||||||
|
|||||||
@ -41,14 +41,15 @@ include_once(G4_PATH.'/head.sub.php');
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="btn_confirm">
|
<div class="btn_confirm">
|
||||||
<input type="submit" class="btn_submit" value="복사">
|
<input type="submit" class="btn_submit" value="복사">
|
||||||
<input type="button" class="btn_cancel" value="창닫기" onclick="window.close();">
|
<input type="button" class="btn_cancel" value="창닫기" onclick="window.close();">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function fboardcopy_check(f)
|
function fboardcopy_check(f)
|
||||||
|
|||||||
@ -68,6 +68,7 @@ $sql = " insert into {$g4['board_table']}
|
|||||||
bo_hot = '{$board[bo_hot]}',
|
bo_hot = '{$board[bo_hot]}',
|
||||||
bo_image_width = '{$board[bo_image_width]}',
|
bo_image_width = '{$board[bo_image_width]}',
|
||||||
bo_skin = '{$board['bo_skin']}',
|
bo_skin = '{$board['bo_skin']}',
|
||||||
|
bo_mobile_skin = '{$board['bo_mobile']}',
|
||||||
bo_include_head = '{$board['bo_include_head']}',
|
bo_include_head = '{$board['bo_include_head']}',
|
||||||
bo_include_tail = '{$board['bo_include_tail']}',
|
bo_include_tail = '{$board['bo_include_tail']}',
|
||||||
bo_content_head = '".addslashes($board['bo_content_head'])."',
|
bo_content_head = '".addslashes($board['bo_content_head'])."',
|
||||||
|
|||||||
@ -37,7 +37,7 @@ if ($w == '') {
|
|||||||
|
|
||||||
$html_title .= ' 생성';
|
$html_title .= ' 생성';
|
||||||
|
|
||||||
$bo_table_attr = 'class="required alnum_"';
|
$bo_table_attr = 'required alnum_';
|
||||||
$sound_only = '<strong class="sound_only">필수</strong>';
|
$sound_only = '<strong class="sound_only">필수</strong>';
|
||||||
|
|
||||||
$board['bo_count_delete'] = 1;
|
$board['bo_count_delete'] = 1;
|
||||||
@ -48,11 +48,11 @@ if ($w == '') {
|
|||||||
$board['bo_download_point'] = $config['cf_download_point'];
|
$board['bo_download_point'] = $config['cf_download_point'];
|
||||||
|
|
||||||
$board['bo_gallery_cols'] = 4;
|
$board['bo_gallery_cols'] = 4;
|
||||||
$board['bo_gallery_width'] = 200;
|
$board['bo_gallery_width'] = 174;
|
||||||
$board['bo_gallery_height'] = 150;
|
$board['bo_gallery_height'] = 124;
|
||||||
$board['bo_mobile_gallery_cols'] = 2;
|
$board['bo_mobile_gallery_cols'] = 3;
|
||||||
$board['bo_mobile_gallery_width'] = 160;
|
$board['bo_mobile_gallery_width'] = 125;
|
||||||
$board['bo_mobile_gallery_height'] = 120;
|
$board['bo_mobile_gallery_height'] = 100;
|
||||||
$board['bo_table_width'] = 100;
|
$board['bo_table_width'] = 100;
|
||||||
$board['bo_page_rows'] = $config['cf_page_rows'];
|
$board['bo_page_rows'] = $config['cf_page_rows'];
|
||||||
$board['bo_subject_len'] = 60;
|
$board['bo_subject_len'] = 60;
|
||||||
@ -127,7 +127,7 @@ $pg_anchor = "<ul class=\"anchor\">
|
|||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="bo_table">TABLE<?=$sound_only?></label></th>
|
<th scope="row"><label for="bo_table">TABLE<?=$sound_only?></label></th>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<input type="text" name="bo_table" value="<?=$board['bo_table'] ?>" id="bo_table" required class="required frm_input" maxlength="20" <?=$bo_table_attr?>>
|
<input type="text" name="bo_table" value="<?=$board['bo_table'] ?>" id="bo_table" required class="frm_input <?=$bo_table_attr?>" maxlength="20">
|
||||||
<? if ($w == '') { ?>
|
<? if ($w == '') { ?>
|
||||||
영문자, 숫자, _ 만 가능 (공백없이 20자 이내)
|
영문자, 숫자, _ 만 가능 (공백없이 20자 이내)
|
||||||
<? } else { ?>
|
<? } else { ?>
|
||||||
@ -160,10 +160,10 @@ $pg_anchor = "<ul class=\"anchor\">
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<td class="group_setting">
|
<td class="group_setting">
|
||||||
<input type="checkbox" name="chk_grp_use" value="1" id="chk_grp_use">
|
<input type="checkbox" name="chk_grp_device" value="1" id="chk_grp_device">
|
||||||
<label for="chk_grp_use">그룹적용</label>
|
<label for="chk_grp_device">그룹적용</label>
|
||||||
<input type="checkbox" name="chk_all_use" value="1" id="chk_all_use">
|
<input type="checkbox" name="chk_all_device" value="1" id="chk_all_device">
|
||||||
<label for="chk_all_use">전체적용</label>
|
<label for="chk_all_device">전체적용</label>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -530,7 +530,7 @@ $pg_anchor = "<ul class=\"anchor\">
|
|||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="bo_upload_count">파일 업로드 갯수<strong class="sound_only">필수</strong></label></th>
|
<th scope="row"><label for="bo_upload_count">파일 업로드 갯수<strong class="sound_only">필수</strong></label></th>
|
||||||
<td>
|
<td>
|
||||||
<?=help('게시물 한건당 업로드 할 수 있는 파일의 최대 개수 (0 이면 제한 없음)')?>
|
<?=help('게시물 한건당 업로드 할 수 있는 파일의 최대 개수 (0 은 파일첨부 사용하지 않음)')?>
|
||||||
<input type="text" name="bo_upload_count" value="<?=$board['bo_upload_count']?>" id="bo_upload_count" required class="required numeric frm_input" size="4">
|
<input type="text" name="bo_upload_count" value="<?=$board['bo_upload_count']?>" id="bo_upload_count" required class="required numeric frm_input" size="4">
|
||||||
</td>
|
</td>
|
||||||
<td class="group_setting">
|
<td class="group_setting">
|
||||||
|
|||||||
@ -53,7 +53,7 @@ $bo_category_list = str_replace($src_char, $dst_char, $bo_category_list);
|
|||||||
|
|
||||||
$sql_common = " gr_id = '{$_POST['gr_id']}',
|
$sql_common = " gr_id = '{$_POST['gr_id']}',
|
||||||
bo_subject = '{$_POST['bo_subject']}',
|
bo_subject = '{$_POST['bo_subject']}',
|
||||||
bo_device = '{$_POST['bo_device']}',
|
bo_device = '{$_POST['bo_device']}',
|
||||||
bo_admin = '{$_POST['bo_admin']}',
|
bo_admin = '{$_POST['bo_admin']}',
|
||||||
bo_list_level = '{$_POST['bo_list_level']}',
|
bo_list_level = '{$_POST['bo_list_level']}',
|
||||||
bo_read_level = '{$_POST['bo_read_level']}',
|
bo_read_level = '{$_POST['bo_read_level']}',
|
||||||
@ -109,6 +109,7 @@ $sql_common = " gr_id = '{$_POST['gr_id']}',
|
|||||||
bo_reply_order = '{$_POST['bo_reply_order']}',
|
bo_reply_order = '{$_POST['bo_reply_order']}',
|
||||||
bo_use_search = '{$_POST['bo_use_search']}',
|
bo_use_search = '{$_POST['bo_use_search']}',
|
||||||
bo_order = '{$_POST['bo_order']}',
|
bo_order = '{$_POST['bo_order']}',
|
||||||
|
bo_show_menu = '{$_POST['bo_show_menu']}',
|
||||||
bo_write_min = '{$_POST['bo_write_min']}',
|
bo_write_min = '{$_POST['bo_write_min']}',
|
||||||
bo_write_max = '{$_POST['bo_write_max']}',
|
bo_write_max = '{$_POST['bo_write_max']}',
|
||||||
bo_comment_min = '{$_POST['bo_comment_min']}',
|
bo_comment_min = '{$_POST['bo_comment_min']}',
|
||||||
@ -222,7 +223,7 @@ if ($w == '') {
|
|||||||
|
|
||||||
// 같은 그룹내 게시판 동일 옵션 적용
|
// 같은 그룹내 게시판 동일 옵션 적용
|
||||||
$grp_fields = '';
|
$grp_fields = '';
|
||||||
if (is_checked('chk_grp_use')) $grp_fields .= " , bo_use = '{$bo_use}' ";
|
if (is_checked('chk_grp_device')) $grp_fields .= " , bo_device = '{$bo_device}' ";
|
||||||
if (is_checked('chk_grp_admin')) $grp_fields .= " , bo_admin = '{$bo_admin}' ";
|
if (is_checked('chk_grp_admin')) $grp_fields .= " , bo_admin = '{$bo_admin}' ";
|
||||||
if (is_checked('chk_grp_list_level')) $grp_fields .= " , bo_list_level = '{$bo_list_level}' ";
|
if (is_checked('chk_grp_list_level')) $grp_fields .= " , bo_list_level = '{$bo_list_level}' ";
|
||||||
if (is_checked('chk_grp_read_level')) $grp_fields .= " , bo_read_level = '{$bo_read_level}' ";
|
if (is_checked('chk_grp_read_level')) $grp_fields .= " , bo_read_level = '{$bo_read_level}' ";
|
||||||
@ -285,6 +286,7 @@ if (is_checked('chk_grp_content_tail')) $grp_fields .= " , bo_content_ta
|
|||||||
if (is_checked('chk_grp_insert_content')) $grp_fields .= " , bo_insert_content = '{$bo_insert_content}' ";
|
if (is_checked('chk_grp_insert_content')) $grp_fields .= " , bo_insert_content = '{$bo_insert_content}' ";
|
||||||
if (is_checked('chk_grp_use_search')) $grp_fields .= " , bo_use_search = '{$bo_use_search}' ";
|
if (is_checked('chk_grp_use_search')) $grp_fields .= " , bo_use_search = '{$bo_use_search}' ";
|
||||||
if (is_checked('chk_grp_order')) $grp_fields .= " , bo_order = '{$bo_order}' ";
|
if (is_checked('chk_grp_order')) $grp_fields .= " , bo_order = '{$bo_order}' ";
|
||||||
|
if (is_checked('chk_grp_show_menu')) $grp_fields .= " , bo_show_menu = '{$bo_show_menu}' ";
|
||||||
for ($i=1; $i<=10; $i++) {
|
for ($i=1; $i<=10; $i++) {
|
||||||
if (is_checked('chk_grp_'.$i)) {
|
if (is_checked('chk_grp_'.$i)) {
|
||||||
$grp_fields .= " , bo_{$i}_subj = '".$_POST['bo_'.$i.'_subj']."' ";
|
$grp_fields .= " , bo_{$i}_subj = '".$_POST['bo_'.$i.'_subj']."' ";
|
||||||
@ -299,7 +301,7 @@ if ($grp_fields) {
|
|||||||
|
|
||||||
// 모든 게시판 동일 옵션 적용
|
// 모든 게시판 동일 옵션 적용
|
||||||
$all_fields = '';
|
$all_fields = '';
|
||||||
if (is_checked('chk_all_use')) $all_fields .= " , bo_use = '{$bo_use}' ";
|
if (is_checked('chk_all_device')) $all_fields .= " , bo_device = '{$bo_device}' ";
|
||||||
if (is_checked('chk_all_admin')) $all_fields .= " , bo_admin = '{$bo_admin}' ";
|
if (is_checked('chk_all_admin')) $all_fields .= " , bo_admin = '{$bo_admin}' ";
|
||||||
if (is_checked('chk_all_list_level')) $all_fields .= " , bo_list_level = '{$bo_list_level}' ";
|
if (is_checked('chk_all_list_level')) $all_fields .= " , bo_list_level = '{$bo_list_level}' ";
|
||||||
if (is_checked('chk_all_read_level')) $all_fields .= " , bo_read_level = '{$bo_read_level}' ";
|
if (is_checked('chk_all_read_level')) $all_fields .= " , bo_read_level = '{$bo_read_level}' ";
|
||||||
@ -362,6 +364,7 @@ if (is_checked('chk_all_content_tail')) $all_fields .= " , bo_content_ta
|
|||||||
if (is_checked('chk_all_insert_content')) $all_fields .= " , bo_insert_content = '{$bo_insert_content}' ";
|
if (is_checked('chk_all_insert_content')) $all_fields .= " , bo_insert_content = '{$bo_insert_content}' ";
|
||||||
if (is_checked('chk_all_use_search')) $all_fields .= " , bo_use_search = '{$bo_use_search}' ";
|
if (is_checked('chk_all_use_search')) $all_fields .= " , bo_use_search = '{$bo_use_search}' ";
|
||||||
if (is_checked('chk_all_order')) $all_fields .= " , bo_order = '{$bo_order}' ";
|
if (is_checked('chk_all_order')) $all_fields .= " , bo_order = '{$bo_order}' ";
|
||||||
|
if (is_checked('chk_all_show_menu')) $all_fields .= " , bo_show_menu = '{$bo_show_menu}' ";
|
||||||
for ($i=1; $i<=10; $i++) {
|
for ($i=1; $i<=10; $i++) {
|
||||||
if (is_checked('chk_all_'.$i)) {
|
if (is_checked('chk_all_'.$i)) {
|
||||||
$all_fields .= " , bo_{$i}_subj = '".$_POST['bo_'.$i.'_subj']."' ";
|
$all_fields .= " , bo_{$i}_subj = '".$_POST['bo_'.$i.'_subj']."' ";
|
||||||
|
|||||||
@ -76,7 +76,7 @@ include_once('./admin.head.php');
|
|||||||
<th scope="row"><label for="gr_device">접속기기</label></th>
|
<th scope="row"><label for="gr_device">접속기기</label></th>
|
||||||
<td>
|
<td>
|
||||||
<?=help("PC 와 모바일 사용을 구분합니다.")?>
|
<?=help("PC 와 모바일 사용을 구분합니다.")?>
|
||||||
<select id="gr_device_" name="gr_device">
|
<select id="gr_device" name="gr_device">
|
||||||
<option value="both"<?=get_selected($group['gr_device'], 'both', true);?>>PC와 모바일에서 모두 사용</option>
|
<option value="both"<?=get_selected($group['gr_device'], 'both', true);?>>PC와 모바일에서 모두 사용</option>
|
||||||
<option value="pc"<?=get_selected($group['gr_device'], 'pc');?>>PC 전용</option>
|
<option value="pc"<?=get_selected($group['gr_device'], 'pc');?>>PC 전용</option>
|
||||||
<option value="mobile"<?=get_selected($group['gr_device'], 'mobile');?>>모바일 전용</option>
|
<option value="mobile"<?=get_selected($group['gr_device'], 'mobile');?>>모바일 전용</option>
|
||||||
@ -144,11 +144,6 @@ include_once('./admin.head.php');
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
if (document.fboardgroup.w.value == '')
|
|
||||||
document.fboardgroup.gr_id.focus();
|
|
||||||
else
|
|
||||||
document.fboardgroup.gr_subject.focus();
|
|
||||||
|
|
||||||
function fboardgroup_check(f)
|
function fboardgroup_check(f)
|
||||||
{
|
{
|
||||||
f.action = './boardgroup_form_update.php';
|
f.action = './boardgroup_form_update.php';
|
||||||
|
|||||||
@ -123,6 +123,7 @@ $colspan = 15;
|
|||||||
<th scope="col"><?=subject_sort_link('mb_level', '', 'desc')?>권한</a></th>
|
<th scope="col"><?=subject_sort_link('mb_level', '', 'desc')?>권한</a></th>
|
||||||
<th scope="col"><?=subject_sort_link('mb_point', '', 'desc')?> 포인트</a></th>
|
<th scope="col"><?=subject_sort_link('mb_point', '', 'desc')?> 포인트</a></th>
|
||||||
<th scope="col"><?=subject_sort_link('mb_today_login', '', 'desc')?>최종접속</a></th>
|
<th scope="col"><?=subject_sort_link('mb_today_login', '', 'desc')?>최종접속</a></th>
|
||||||
|
<th scope="col"><?=subject_sort_link('mb_datetime', '', 'desc')?>가입일</a></th>
|
||||||
<th scope="col"><?=subject_sort_link('mb_mailling', '', 'desc')?>수신</a></th>
|
<th scope="col"><?=subject_sort_link('mb_mailling', '', 'desc')?>수신</a></th>
|
||||||
<th scope="col"><?=subject_sort_link('mb_open', '', 'desc')?>공개</a></th>
|
<th scope="col"><?=subject_sort_link('mb_open', '', 'desc')?>공개</a></th>
|
||||||
<th scope="col"><?=subject_sort_link('mb_email_certify', '', 'desc')?>인증</a></th>
|
<th scope="col"><?=subject_sort_link('mb_email_certify', '', 'desc')?>인증</a></th>
|
||||||
@ -189,6 +190,7 @@ $colspan = 15;
|
|||||||
<td><?=get_member_level_select("mb_level[$i]", 1, $member['mb_level'], $row['mb_level'])?></td>
|
<td><?=get_member_level_select("mb_level[$i]", 1, $member['mb_level'], $row['mb_level'])?></td>
|
||||||
<td class="td_bignum"><a href="point_list.php?sfl=mb_id&stx=<?=$row['mb_id']?>"><?=number_format($row['mb_point'])?></a></td>
|
<td class="td_bignum"><a href="point_list.php?sfl=mb_id&stx=<?=$row['mb_id']?>"><?=number_format($row['mb_point'])?></a></td>
|
||||||
<td><?=substr($row['mb_today_login'],2,8)?></td>
|
<td><?=substr($row['mb_today_login'],2,8)?></td>
|
||||||
|
<td><?=substr($row['mb_datetime'],2,8)?></td>
|
||||||
<td><?=$row['mb_mailling']?'<span class="txt_true">Yes</span>':'<span class="txt_false">No</span>';?></td>
|
<td><?=$row['mb_mailling']?'<span class="txt_true">Yes</span>':'<span class="txt_false">No</span>';?></td>
|
||||||
<td><?=$row['mb_open']?'<span class="txt_true">Yes</span>':'<span class="txt_false">No</span>';?></td>
|
<td><?=$row['mb_open']?'<span class="txt_true">Yes</span>':'<span class="txt_false">No</span>';?></td>
|
||||||
<td><?=preg_match('/[1-9]/', $row['mb_email_certify'])?'<span class="txt_true">Yes</span>':'<span class="txt_false">No</span>';?></td>
|
<td><?=preg_match('/[1-9]/', $row['mb_email_certify'])?'<span class="txt_true">Yes</span>':'<span class="txt_false">No</span>';?></td>
|
||||||
|
|||||||
@ -482,7 +482,15 @@ if ($ii) {
|
|||||||
<script>
|
<script>
|
||||||
function search_relation(fld) {
|
function search_relation(fld) {
|
||||||
if (fld.value) {
|
if (fld.value) {
|
||||||
window.open('itemformrelation.php?it_id=<?=$it_id?>&ca_id='+fld.value, 'hiddenframe', '');
|
$.post(
|
||||||
|
'./itemformrelation.php',
|
||||||
|
{ it_id: '<?=$it_id?>', ca_id: fld.value },
|
||||||
|
function(data) {
|
||||||
|
if(data) {
|
||||||
|
$("#relation").html(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -527,16 +535,18 @@ if ($ii) {
|
|||||||
// 김선용 2006.10
|
// 김선용 2006.10
|
||||||
function relation_img(name, id)
|
function relation_img(name, id)
|
||||||
{
|
{
|
||||||
item_image_dir = "<?=G4_DATA_URL?>/item";
|
var item_image_url = "";
|
||||||
if(!name) return;
|
if(!name) return;
|
||||||
temp = name.split("/");
|
temp = name.split("/");
|
||||||
if(temp[1] == ''){
|
if(temp[1] == ''){
|
||||||
temp[1] = "no_image.gif";
|
temp[1] = "no_image.gif";
|
||||||
var item_image_dir = "<?=G4_SHOP_URL?>/img";
|
item_image_url = "<?=G4_SHOP_URL?>/img";
|
||||||
}
|
} else {
|
||||||
|
item_image_url = "<?=G4_DATA_URL?>/item";
|
||||||
|
}
|
||||||
view_span = document.getElementById(id);
|
view_span = document.getElementById(id);
|
||||||
item_price = number_format(String(temp[2]));
|
item_price = number_format(String(temp[2]));
|
||||||
view_span.innerHTML = "<img src='"+item_image_dir+"/"+temp[1]+"' width=100 height=80 border=1 style='border-color:#333333; cursor:pointer' onclick=\"popup_window('"+g4_path+"/shop/item.php?it_id="+temp[0]+"', '', '')\" title='새창으로 상품보기' alt='새창으로 상품보기'><br>"+item_price+" 원";
|
view_span.innerHTML = "<a href=\"<?=G4_SHOP_URL?>/item.php?it_id="+temp[0]+"\" target=\"_blank\"><img src=\""+item_image_url+"/"+temp[1]+"\"width=\"100\" height=\"80\" border=\"1\" style=\"border-color:#333333;\" title=\"상품 새창으로 보기\"></a><br>"+item_price+" 원";
|
||||||
}
|
}
|
||||||
|
|
||||||
function relation_add(fld)
|
function relation_add(fld)
|
||||||
@ -795,7 +805,7 @@ function codedupcheck(id)
|
|||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
alert("'"+data.code+"' 은(는) 등록된 코드가 없으므로 사용하실 수 있습니다.");
|
alert("'"+data.code+"' 은(는) 등록된 코드가 없으므로 사용하실 수 있습니다.");
|
||||||
document.fcategoryform.codedup.value = '';
|
document.fitemform.codedup.value = '';
|
||||||
}
|
}
|
||||||
}, "json"
|
}, "json"
|
||||||
);
|
);
|
||||||
|
|||||||
@ -11,12 +11,7 @@ $sql = " select ca_id, it_id, it_name, it_amount
|
|||||||
and it_id <> '$it_id'
|
and it_id <> '$it_id'
|
||||||
order by ca_id, it_name ";
|
order by ca_id, it_name ";
|
||||||
$result = sql_query($sql);
|
$result = sql_query($sql);
|
||||||
$num = @mysql_num_rows($result);
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
parent.document.getElementById('relation').length = <?=$num?>;
|
|
||||||
<?
|
|
||||||
$cnt = 0;
|
|
||||||
for($i=0;$row=sql_fetch_array($result);$i++) {
|
for($i=0;$row=sql_fetch_array($result);$i++) {
|
||||||
//$sql2 = " select count(*) as cnt from $g4[yc4_item_relation_table] where it_id = '$row[it_id]' ";
|
//$sql2 = " select count(*) as cnt from $g4[yc4_item_relation_table] where it_id = '$row[it_id]' ";
|
||||||
$sql2 = " select count(*) as cnt from {$g4['yc4_item_relation_table']} where it_id = '$it_id' and it_id2 = '{$row['it_id']}' ";
|
$sql2 = " select count(*) as cnt from {$g4['yc4_item_relation_table']} where it_id = '$it_id' and it_id2 = '{$row['it_id']}' ";
|
||||||
@ -33,14 +28,9 @@ for($i=0;$row=sql_fetch_array($result);$i++) {
|
|||||||
$it_image = "{$row['it_id']}_s";
|
$it_image = "{$row['it_id']}_s";
|
||||||
else
|
else
|
||||||
$it_image = "";
|
$it_image = "";
|
||||||
//echo "parent.document.getElementById('relation').length++;";
|
|
||||||
echo "parent.document.getElementById('relation').options[$cnt].text = '$ca_name : $it_name';\n";
|
$options .= "<option value=\"".$row['it_id']."/".$it_image."/".$row['it_amount']."\">$ca_name : $it_name</option>\n";
|
||||||
echo "parent.document.getElementById('relation').options[$cnt].value = '$row[it_id]/$it_image/{$row['it_amount']}';\n";
|
|
||||||
$cnt++;
|
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
parent.document.getElementById('relation').length = <?=$cnt?>;
|
echo $options;
|
||||||
</script>
|
|
||||||
<?
|
|
||||||
include_once (G4_PATH.'/tail.sub.php');
|
|
||||||
?>
|
?>
|
||||||
@ -63,15 +63,8 @@ $result = sql_query($sql);
|
|||||||
$referer = get_text(cut_str($row['vi_referer'], 255, ''));
|
$referer = get_text(cut_str($row['vi_referer'], 255, ''));
|
||||||
$referer = urldecode($referer);
|
$referer = urldecode($referer);
|
||||||
|
|
||||||
if (strtolower($g4['charset']) == 'utf-8') {
|
if (!is_utf8($referer)) {
|
||||||
if (!is_utf8($referer)) {
|
$referer = iconv_utf8($referer);
|
||||||
$referer = iconv('euc-kr', 'utf-8', $referer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (is_utf8($referer)) {
|
|
||||||
$referer = iconv('utf-8', 'euc-kr', $referer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$title = str_replace(array('<', '>', '&'), array("<", ">", "&"), $referer);
|
$title = str_replace(array('<', '>', '&'), array("<", ">", "&"), $referer);
|
||||||
|
|||||||
@ -8,10 +8,30 @@ function editor_html($id, $content, $ckeditor=true, $class="")
|
|||||||
|
|
||||||
$html = "";
|
$html = "";
|
||||||
$html .= "<span class=\"sound_only\">웹에디터 시작</span>";
|
$html .= "<span class=\"sound_only\">웹에디터 시작</span>";
|
||||||
|
if ($ckeditor)
|
||||||
|
$html .= '<script>document.write("<div class=\'cke_sc\'><button type=\'button\' class=\'btn_cke_sc\'>단축키 일람</button></div>");</script>';
|
||||||
|
|
||||||
if ($js) {
|
if ($js) {
|
||||||
$html .= "\n".'<script src="'.G4_CKEDITOR_URL.'/ckeditor.js"></script>';
|
$html .= "\n".'<script src="'.G4_CKEDITOR_URL.'/ckeditor.js"></script>';
|
||||||
$html .= "\n".'<script>var g4_ckeditor_url = "'.G4_CKEDITOR_URL.'";</script>';
|
$html .= "\n".'<script>var g4_ckeditor_url = "'.G4_CKEDITOR_URL.'";</script>';
|
||||||
$html .= "\n".'<script src="'.G4_CKEDITOR_URL.'/config.js"></script>';
|
$html .= "\n".'<script src="'.G4_CKEDITOR_URL.'/config.js"></script>';
|
||||||
|
$html .= "\n<script>";
|
||||||
|
$html .= '
|
||||||
|
$(function(){
|
||||||
|
$(".btn_cke_sc").click(function(){
|
||||||
|
if ($(this).next("div.cke_sc_def").length) {
|
||||||
|
$(this).next("div.cke_sc_def").remove();
|
||||||
|
$(this).text("단축키 일람");
|
||||||
|
} else {
|
||||||
|
$(this).after("<div class=\'cke_sc_def\' />").next("div.cke_sc_def").load("'.G4_CKEDITOR_URL.'/shortcut.html");
|
||||||
|
$(this).text("단축키 일람 닫기");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$(".btn_cke_sc_close").live("click",function(){
|
||||||
|
$(this).parent("div.cke_sc_def").remove();
|
||||||
|
});
|
||||||
|
});';
|
||||||
|
$html .= "\n</script>";
|
||||||
$js = false;
|
$js = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -43,6 +43,8 @@ CKEDITOR.on('dialogDefinition', function(ev) {
|
|||||||
this.selectPage('Upload');
|
this.selectPage('Upload');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
alt 를 넘기지 못하는 관계로 주석 처리함. 130314 kagla
|
||||||
dialogDefinition.onOk = function (e) {
|
dialogDefinition.onOk = function (e) {
|
||||||
var imageSrcUrl = e.sender.originalElement.$.src;
|
var imageSrcUrl = e.sender.originalElement.$.src;
|
||||||
var imgHtml = CKEDITOR.dom.element.createFromHtml('<img src=' + imageSrcUrl + ' alt="" />');
|
var imgHtml = CKEDITOR.dom.element.createFromHtml('<img src=' + imageSrcUrl + ' alt="" />');
|
||||||
@ -55,6 +57,7 @@ CKEDITOR.on('dialogDefinition', function(ev) {
|
|||||||
$(".cke_dialog_ui_button_ok span").click();
|
$(".cke_dialog_ui_button_ok span").click();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
var uploadTab = dialogDefinition.getContents('Upload');
|
var uploadTab = dialogDefinition.getContents('Upload');
|
||||||
@ -167,4 +170,4 @@ CKEDITOR.editorConfig = function( config ) {
|
|||||||
[ CKEDITOR.ALT + 48 /*ZERO*/, 'toolbarCollapse' ],
|
[ CKEDITOR.ALT + 48 /*ZERO*/, 'toolbarCollapse' ],
|
||||||
[ CKEDITOR.ALT + 121 /*F10*/, 'toolbarFocus' ],
|
[ CKEDITOR.ALT + 121 /*F10*/, 'toolbarFocus' ],
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
91
bbs/ckeditor/shortcut.html
Normal file
91
bbs/ckeditor/shortcut.html
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
<dl>
|
||||||
|
<dt>CTRL+Z</dt>
|
||||||
|
<dd>취소하기</dd>
|
||||||
|
<dt>CTRL+Y</dt>
|
||||||
|
<dd>다시 실행</dd>
|
||||||
|
<dt>CTRL+B</dt>
|
||||||
|
<dd>글자 굵게</dd>
|
||||||
|
<dt>CTRL+I</dt>
|
||||||
|
<dd>글자 기울이기</dd>
|
||||||
|
<dt>CTRL+E</dt>
|
||||||
|
<dd>가운데 정렬</dd>
|
||||||
|
<dt>CTRL+L</dt>
|
||||||
|
<dd>왼쪽 정렬</dd>
|
||||||
|
<dt>CTRL+R</dt>
|
||||||
|
<dd>오른쪽 정렬</dd>
|
||||||
|
<dt>CTRL+J</dt>
|
||||||
|
<dd>양쪽정렬</dd>
|
||||||
|
<dt>ALT+E</dt>
|
||||||
|
<dd>이모티콘 넣기</dd>
|
||||||
|
<dt>ALT+C</dt>
|
||||||
|
<dd>특수문자 넣기</dd>
|
||||||
|
<dt>CTRL+Q</dt>
|
||||||
|
<dd>순서 없는 목록</dd>
|
||||||
|
<dt>CTRL+SHIFT+8</dt>
|
||||||
|
<dd>순서 없는 목록 스타일</dd>
|
||||||
|
<dt>CTRL+7</dt>
|
||||||
|
<dd>순서 있는 목록</dd>
|
||||||
|
<dt>CTRL+SHIFT+7</dt>
|
||||||
|
<dd>순서 있는 목록 스타일</dd>
|
||||||
|
<dt>CTRL+M</dt>
|
||||||
|
<dd>인용문 문단</dd>
|
||||||
|
<dt>CTRL+8</dt>
|
||||||
|
<dd>들여쓰기</dd>
|
||||||
|
<dt>CTRL+SHIFT+M</dt>
|
||||||
|
<dd>내어쓰기</dd>
|
||||||
|
<dt>CTRL+SPACE</dt>
|
||||||
|
<dd>포맷 없애기</dd>
|
||||||
|
<dt>CTRL+A</dt>
|
||||||
|
<dd>전체선택</dd>
|
||||||
|
<dt>CTRL+SHIFT+X</dt>
|
||||||
|
<dd>취소선</dd>
|
||||||
|
<dt>CTRL+COMMA</dt>
|
||||||
|
<dd>아래첨자</dd>
|
||||||
|
<dt>CTRL+PERIOD</dt>
|
||||||
|
<dd>위첨자</dd>
|
||||||
|
<dt>CTRL+U</dt>
|
||||||
|
<dd>밑줄긋기</dd>
|
||||||
|
<dt>ALT+A</dt>
|
||||||
|
<dd>책갈피 만들기</dd>
|
||||||
|
<dt>ALT+F</dt>
|
||||||
|
<dd>플래쉬 넣기</dd>
|
||||||
|
<dt>ALT+H</dt>
|
||||||
|
<dd>구분선 넣기</dd>
|
||||||
|
<dt>ALT+I</dt>
|
||||||
|
<dd>이미지 넣기</dd>
|
||||||
|
<dt>ALT+L</dt>
|
||||||
|
<dd>바로가기 만들기</dd>
|
||||||
|
<dt>ALT+SHIFT+L</dt>
|
||||||
|
<dd>바로가기 없애기</dd>
|
||||||
|
<dt>ALT+ENTER</dt>
|
||||||
|
<dd>페이지 나누기</dd>
|
||||||
|
<dt>ALT+T</dt>
|
||||||
|
<dd>테이블 만들기</dd>
|
||||||
|
<dt>ALT+O</dt>
|
||||||
|
<dd>템플릿 적용</dd>
|
||||||
|
<dt>F1</dt>
|
||||||
|
<dd>도움말 보기</dd>
|
||||||
|
<dt>ALT+#3</dt>
|
||||||
|
<dd>색상선택기</dd>
|
||||||
|
<dt>ALT+M</dt>
|
||||||
|
<dd>복사 잘라내기 붙여넣기 메뉴</dd>
|
||||||
|
<dt>ALT+F11</dt>
|
||||||
|
<dd>요소 경로 포커스</dd>
|
||||||
|
<dt>CTRL+SHIFT+F</dt>
|
||||||
|
<dd>찾기</dd>
|
||||||
|
<dt>ALT+X</dt>
|
||||||
|
<dd>에디터 전체크기 설정/해제</dd>
|
||||||
|
<dt>CTRL+F2</dt>
|
||||||
|
<dd>미리보기</dd>
|
||||||
|
<dt>CTRL+SHIFT+P</dt>
|
||||||
|
<dd>인쇄하기</dd>
|
||||||
|
<dt>CTRL+H</dt>
|
||||||
|
<dd>찾기 바꾸기</dd>
|
||||||
|
<dt>ALT+SHIFT+T</dt>
|
||||||
|
<dd>테두리보기</dd>
|
||||||
|
<dt>ALT+Z</dt>
|
||||||
|
<dd>소스보기</dd>
|
||||||
|
<dt>ALT+F10</dt>
|
||||||
|
<dd>툴바로 이동</dd>
|
||||||
|
</dl>
|
||||||
|
<button type="button" class="btn_cke_sc_close">닫기</button>
|
||||||
@ -14,13 +14,18 @@ $CKEditor = $_GET['CKEditor'] ;
|
|||||||
$langCode = $_GET['langCode'] ;
|
$langCode = $_GET['langCode'] ;
|
||||||
|
|
||||||
if(isset($_FILES['upload']['tmp_name'])) {
|
if(isset($_FILES['upload']['tmp_name'])) {
|
||||||
$file_name = $_FILES['upload']['name'];
|
$file = $_FILES['upload']['name'];
|
||||||
$ext = substr($file_name, (strrpos($file_name, '.') + 1));
|
$pos = strrpos($file, '.');
|
||||||
if (!preg_match("/\.(jpe?g|gif|png)$/i", $file_name)) {
|
$filename = substr($file, 0, $pos);
|
||||||
echo '이미지만 가능';
|
$extension = substr($file, $pos, strlen($file) - $pos);
|
||||||
|
|
||||||
|
if (!preg_match("/\.(jpe?g|gif|png)$/i", $extension)) {
|
||||||
|
echo '이미지 파일만 가능합니다.';
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 윈도우에서 한글파일명으로 업로드 되지 않는 오류 해결
|
||||||
|
$file_name = sprintf('%u', ip2long($_SERVER['REMOTE_ADDR'])).'_'.get_microtime().$extension;
|
||||||
$save_dir = sprintf('%s/%s', $data_dir, $file_name);
|
$save_dir = sprintf('%s/%s', $data_dir, $file_name);
|
||||||
$save_url = sprintf('%s/%s', $data_url, $file_name);
|
$save_url = sprintf('%s/%s', $data_url, $file_name);
|
||||||
|
|
||||||
|
|||||||
@ -16,9 +16,9 @@ if (!$file['bf_file'])
|
|||||||
alert_close('파일 정보가 존재하지 않습니다.');
|
alert_close('파일 정보가 존재하지 않습니다.');
|
||||||
|
|
||||||
// JavaScript 불가일 때
|
// JavaScript 불가일 때
|
||||||
if($confirm != 'yes' && $board['bo_download_point'] < 0) {
|
if($js != 'on' && $board['bo_download_point'] < 0) {
|
||||||
$msg = $file['bf_source'].' 파일을 다운로드 하시면 포인트가 차감('.number_format($board['bo_download_point']).'점)됩니다.\\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\\n그래도 다운로드 하시겠습니까?';
|
$msg = $file['bf_source'].' 파일을 다운로드 하시면 포인트가 차감('.number_format($board['bo_download_point']).'점)됩니다.\\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\\n그래도 다운로드 하시겠습니까?';
|
||||||
$url1 = './download.php?'.$_SERVER['QUERY_STRING'].'&confirm=yes';
|
$url1 = G4_BBS_URL.'/download.php?'.$_SERVER['QUERY_STRING'].'&js=on';
|
||||||
$url2 = $_SERVER['HTTP_REFERER'];
|
$url2 = $_SERVER['HTTP_REFERER'];
|
||||||
|
|
||||||
//$url1 = 확인link, $url2=취소link
|
//$url1 = 확인link, $url2=취소link
|
||||||
@ -31,7 +31,7 @@ if ($member['mb_level'] < $board['bo_download_level']) {
|
|||||||
if ($member['mb_id'])
|
if ($member['mb_id'])
|
||||||
alert($alert_msg);
|
alert($alert_msg);
|
||||||
else
|
else
|
||||||
alert($alert_msg.'\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?wr_id='.$wr_id.'&'.$qstr.'&url='.urlencode($g4['bbs_path'].'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id));
|
alert($alert_msg.'\\n회원이시라면 로그인 후 이용해 보십시오.', G4_BBS_URL.'/login.php?wr_id='.$wr_id.'&'.$qstr.'&url='.urlencode(G4_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id));
|
||||||
}
|
}
|
||||||
|
|
||||||
$filepath = G4_DATA_PATH.'/file/'.$bo_table.'/'.$file['bf_file'];
|
$filepath = G4_DATA_PATH.'/file/'.$bo_table.'/'.$file['bf_file'];
|
||||||
@ -54,7 +54,7 @@ if (!get_session($ss_name))
|
|||||||
{
|
{
|
||||||
// 다운로드 포인트가 음수이고 회원의 포인트가 0 이거나 작다면
|
// 다운로드 포인트가 음수이고 회원의 포인트가 0 이거나 작다면
|
||||||
if ($member['mb_point'] + $board['bo_download_point'] < 0)
|
if ($member['mb_point'] + $board['bo_download_point'] < 0)
|
||||||
alert('보유하신 포인트('.number_format($member['mb_point']).')가 없거나 모자라서 다운로드('.number_format($board['bo_download_point']).')가 불가합니다.'."\n\n".'포인트를 적립하신 후 다시 다운로드 해 주십시오.');
|
alert('보유하신 포인트('.number_format($member['mb_point']).')가 없거나 모자라서 다운로드('.number_format($board['bo_download_point']).')가 불가합니다.\\n\\n포인트를 적립하신 후 다시 다운로드 해 주십시오.');
|
||||||
|
|
||||||
// 게시물당 한번만 차감하도록 수정
|
// 게시물당 한번만 차감하도록 수정
|
||||||
insert_point($member['mb_id'], $board['bo_download_point'], "{$board['bo_subject']} $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드");
|
insert_point($member['mb_id'], $board['bo_download_point'], "{$board['bo_subject']} $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드");
|
||||||
|
|||||||
@ -64,9 +64,9 @@ if ($is_member && ($is_admin == 'super' || $group['gr_admin'] == $member['mb_id'
|
|||||||
// 정렬에 사용하는 QUERY_STRING
|
// 정렬에 사용하는 QUERY_STRING
|
||||||
$qstr2 = 'bo_table='.$bo_table.'&sop='.$sop;
|
$qstr2 = 'bo_table='.$bo_table.'&sop='.$sop;
|
||||||
|
|
||||||
if ($board['bo_gallery_cols']) {
|
// 0 으로 나눌시 오류를 방지하기 위하여 값이 없으면 1 로 설정
|
||||||
$td_width = (int)(100 / $board['bo_gallery_cols']);
|
$bo_gallery_cols = $board['bo_gallery_cols'] ? $board['bo_gallery_cols'] : 1;
|
||||||
}
|
$td_width = (int)(100 / $bo_gallery_cols);
|
||||||
|
|
||||||
// 정렬
|
// 정렬
|
||||||
// 인덱스 필드가 아니면 정렬에 사용하지 않음
|
// 인덱스 필드가 아니면 정렬에 사용하지 않음
|
||||||
|
|||||||
@ -11,27 +11,27 @@ if (!trim($mb_id) || !trim($mb_password))
|
|||||||
|
|
||||||
$mb = get_member($mb_id);
|
$mb = get_member($mb_id);
|
||||||
|
|
||||||
// 가입된 회원이 아니다. 패스워드가 틀리다. 라는 메세지를 따로 보여주지 않는 이유는
|
// 가입된 회원이 아니다. 패스워드가 틀리다. 라는 메세지를 따로 보여주지 않는 이유는
|
||||||
// 회원아이디를 입력해 보고 맞으면 또 패스워드를 입력해보는 경우를 방지하기 위해서입니다.
|
// 회원아이디를 입력해 보고 맞으면 또 패스워드를 입력해보는 경우를 방지하기 위해서입니다.
|
||||||
// 불법사용자의 경우 회원아이디가 틀린지, 패스워드가 틀린지를 알기까지는 많은 시간이 소요되기 때문입니다.
|
// 불법사용자의 경우 회원아이디가 틀린지, 패스워드가 틀린지를 알기까지는 많은 시간이 소요되기 때문입니다.
|
||||||
if (!$mb['mb_id'] || (sql_password($mb_password) != $mb['mb_password'])) {
|
if (!$mb['mb_id'] || (sql_password($mb_password) != $mb['mb_password'])) {
|
||||||
alert('가입된 회원아이디가 아니거나 패스워드가 틀립니다.\n패스워드는 대소문자를 구분합니다.');
|
alert('가입된 회원아이디가 아니거나 패스워드가 틀립니다.\\n패스워드는 대소문자를 구분합니다.');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 차단된 아이디인가?
|
// 차단된 아이디인가?
|
||||||
if ($mb['mb_intercept_date'] && $mb['mb_intercept_date'] <= date("Ymd", G4_SERVER_TIME)) {
|
if ($mb['mb_intercept_date'] && $mb['mb_intercept_date'] <= date("Ymd", G4_SERVER_TIME)) {
|
||||||
$date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_intercept_date']);
|
$date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_intercept_date']);
|
||||||
alert('회원님의 아이디는 접근이 금지되어 있습니다.\n처리일 : '.$date);
|
alert('회원님의 아이디는 접근이 금지되어 있습니다.\n처리일 : '.$date);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 탈퇴한 아이디인가?
|
// 탈퇴한 아이디인가?
|
||||||
if ($mb['mb_leave_date'] && $mb['mb_leave_date'] <= date("Ymd", G4_SERVER_TIME)) {
|
if ($mb['mb_leave_date'] && $mb['mb_leave_date'] <= date("Ymd", G4_SERVER_TIME)) {
|
||||||
$date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_leave_date']);
|
$date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_leave_date']);
|
||||||
alert('탈퇴한 아이디이므로 접근하실 수 없습니다.\n탈퇴일 : '.$date);
|
alert('탈퇴한 아이디이므로 접근하실 수 없습니다.\n탈퇴일 : '.$date);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($config['cf_use_email_certify'] && !preg_match("/[1-9]/", $mb['mb_email_certify']))
|
if ($config['cf_use_email_certify'] && !preg_match("/[1-9]/", $mb['mb_email_certify']))
|
||||||
alert('메일인증을 받으셔야 로그인 하실 수 있습니다.\n회원님의 메일주소는 '.$mb['mb_email'].' 입니다.');
|
alert('메일인증을 받으셔야 로그인 하실 수 있습니다.\\n회원님의 메일주소는 '.$mb['mb_email'].' 입니다.');
|
||||||
|
|
||||||
@include_once($member_skin_path.'/login_check.skin.php');
|
@include_once($member_skin_path.'/login_check.skin.php');
|
||||||
|
|
||||||
@ -59,9 +59,9 @@ if ($url) {
|
|||||||
$link = urldecode($url);
|
$link = urldecode($url);
|
||||||
// 2003-06-14 추가 (다른 변수들을 넘겨주기 위함)
|
// 2003-06-14 추가 (다른 변수들을 넘겨주기 위함)
|
||||||
if (preg_match("/\?/", $link))
|
if (preg_match("/\?/", $link))
|
||||||
$split= "&";
|
$split= "&";
|
||||||
else
|
else
|
||||||
$split= "?";
|
$split= "?";
|
||||||
|
|
||||||
// $_POST 배열변수에서 아래의 이름을 가지지 않은 것만 넘김
|
// $_POST 배열변수에서 아래의 이름을 가지지 않은 것만 넘김
|
||||||
foreach($_POST as $key=>$value) {
|
foreach($_POST as $key=>$value) {
|
||||||
|
|||||||
@ -4,6 +4,8 @@ include_once('./_common.php');
|
|||||||
if (!$member[mb_id])
|
if (!$member[mb_id])
|
||||||
alert('회원만 이용하실 수 있습니다.');
|
alert('회원만 이용하실 수 있습니다.');
|
||||||
|
|
||||||
|
$me_id = (int)$_REQUEST['me_id'];
|
||||||
|
|
||||||
$sql = " select * from {$g4[memo_table]} where me_id = '{$me_id}' ";
|
$sql = " select * from {$g4[memo_table]} where me_id = '{$me_id}' ";
|
||||||
$row = sql_fetch($sql);
|
$row = sql_fetch($sql);
|
||||||
if (!$row[mb_read_datetime][0]) // 메모 받기전이면
|
if (!$row[mb_read_datetime][0]) // 메모 받기전이면
|
||||||
|
|||||||
@ -4,6 +4,8 @@ include_once('./_common.php');
|
|||||||
if (!$is_member)
|
if (!$is_member)
|
||||||
alert('회원만 이용하실 수 있습니다.');
|
alert('회원만 이용하실 수 있습니다.');
|
||||||
|
|
||||||
|
$me_id = (int)$_REQUEST['me_id'];
|
||||||
|
|
||||||
if ($kind == 'recv')
|
if ($kind == 'recv')
|
||||||
{
|
{
|
||||||
$t = '받은';
|
$t = '받은';
|
||||||
|
|||||||
@ -3,7 +3,7 @@ include_once('./_common.php');
|
|||||||
|
|
||||||
// 로그인중인 경우 회원가입 할 수 없습니다.
|
// 로그인중인 경우 회원가입 할 수 없습니다.
|
||||||
if ($is_member) {
|
if ($is_member) {
|
||||||
goto_url(G4_PATH);
|
goto_url(G4_URL);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 세션을 지웁니다.
|
// 세션을 지웁니다.
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
<?
|
<?
|
||||||
include_once('./_common.php');
|
include_once('./_common.php');
|
||||||
|
|
||||||
if (isset($_SESSION['ss_mb_reg']))
|
if (isset($_SESSION['ss_mb_reg']))
|
||||||
$mb = get_member($_SESSION['ss_mb_reg']);
|
$mb = get_member($_SESSION['ss_mb_reg']);
|
||||||
|
|
||||||
// 회원정보가 없다면 초기 페이지로 이동
|
// 회원정보가 없다면 초기 페이지로 이동
|
||||||
if (!$mb['mb_id'])
|
if (!$mb['mb_id'])
|
||||||
goto_url(G4_PATH);
|
goto_url(G4_URL);
|
||||||
|
|
||||||
$g4['title'] = '회원가입이 완료되었습니다.';
|
$g4['title'] = '회원가입이 완료되었습니다.';
|
||||||
include_once('./_head.php');
|
include_once('./_head.php');
|
||||||
|
|||||||
@ -30,15 +30,15 @@ if (!$row['bo_use_rss_view']) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
Header("Content-type: text/xml");
|
header('Content-type: text/xml');
|
||||||
header("Cache-Control: no-cache, must-revalidate");
|
header('Cache-Control: no-cache, must-revalidate');
|
||||||
header("Pragma: no-cache");
|
header('Pragma: no-cache');
|
||||||
|
|
||||||
$sql = " select gr_subject from {$g4['group_table']} where gr_id = '{$row['gr_id']}' ";
|
$sql = " select gr_subject from {$g4['group_table']} where gr_id = '{$row['gr_id']}' ";
|
||||||
$row = sql_fetch($sql);
|
$row = sql_fetch($sql);
|
||||||
$subj1 = specialchars_replace($row['gr_subject'], 255);
|
$subj1 = specialchars_replace($row['gr_subject'], 255);
|
||||||
|
|
||||||
echo '<?xml version="1.0" encoding="'.$g4['charset'].'"?>'."\n";
|
echo '<?xml version="1.0" encoding="utf-8"?>'."\n";
|
||||||
?>
|
?>
|
||||||
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
<channel>
|
<channel>
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @author sol (ngleader@gmail.com)
|
* @author sol (ngleader@gmail.com)
|
||||||
* @brief 게시판 삭제시 Syndication Ping
|
* @brief 게시판 삭제시 Syndication Ping
|
||||||
* gnuboard4/adm/board_delete.inc.php 파일에 추가
|
* gnuboard4/adm/board_delete.inc.php 파일에 추가
|
||||||
* include '../syndi/include/gnuboard4_euckr/include.adm.board_delete.inc.php';
|
* include '../syndi/include/include.adm.board_delete.inc.php';
|
||||||
*/
|
*/
|
||||||
if(!defined('_GNUBOARD_')) return;
|
if(!defined('_GNUBOARD_')) return;
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @author sol (ngleader@gmail.com)
|
* @author sol (ngleader@gmail.com)
|
||||||
* @brief 게시판 삭제시 Syndication Ping
|
* @brief 게시판 삭제시 Syndication Ping
|
||||||
* gnuboard4/adm/board_form_update.php 파일에 추가
|
* gnuboard4/adm/board_form_update.php 파일에 추가
|
||||||
* include '../syndi/include/gnuboard4_euckr/include.adm.board_form_update.php';
|
* include '../syndi/include/include.adm.board_form_update.php';
|
||||||
*/
|
*/
|
||||||
if(!defined('_GNUBOARD_')) return;
|
if(!defined('_GNUBOARD_')) return;
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @author sol (ngleader@gmail.com)
|
* @author sol (ngleader@gmail.com)
|
||||||
* @brief 글 삭제시 Syndication Ping
|
* @brief 글 삭제시 Syndication Ping
|
||||||
* gnuboard4/bbs/bbs.delete.php 파일에 추가
|
* gnuboard4/bbs/bbs.delete.php 파일에 추가
|
||||||
* include '../syndi/include/gnuboard4_euckr/include.bbs.delete.php';
|
* include '../syndi/include/include.bbs.delete.php';
|
||||||
*/
|
*/
|
||||||
if(!defined('_GNUBOARD_')) return;
|
if(!defined('_GNUBOARD_')) return;
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @author sol (ngleader@gmail.com)
|
* @author sol (ngleader@gmail.com)
|
||||||
* @brief 글 삭제시 Syndication Ping
|
* @brief 글 삭제시 Syndication Ping
|
||||||
* gnuboard4/bbs/bbs.delete_all.php 파일에 추가
|
* gnuboard4/bbs/bbs.delete_all.php 파일에 추가
|
||||||
* include '../syndi/include/gnuboard4_euckr/include.bbs.delete_all.php';
|
* include '../syndi/include/include.bbs.delete_all.php';
|
||||||
*/
|
*/
|
||||||
if(!defined('_GNUBOARD_')) return;
|
if(!defined('_GNUBOARD_')) return;
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @author sol (ngleader@gmail.com)
|
* @author sol (ngleader@gmail.com)
|
||||||
* @brief 글 등록/수정시 Syndication Ping
|
* @brief 글 등록/수정시 Syndication Ping
|
||||||
* gnuboard4/bbs/move_update.php 파일에 추가
|
* gnuboard4/bbs/move_update.php 파일에 추가
|
||||||
* include '../syndi/include/gnuboard4_euckr/include.bbs.move_update.php';
|
* include '../syndi/include/include.bbs.move_update.php';
|
||||||
*/
|
*/
|
||||||
if(!defined('_GNUBOARD_')) return;
|
if(!defined('_GNUBOARD_')) return;
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @author sol (ngleader@gmail.com)
|
* @author sol (ngleader@gmail.com)
|
||||||
* @brief 글 등록/수정시 Syndication Ping
|
* @brief 글 등록/수정시 Syndication Ping
|
||||||
* gnuboard4/bbs/write_update.php 파일에 추가
|
* gnuboard4/bbs/write_update.php 파일에 추가
|
||||||
* include '../syndi/include/gnuboard4_euckr/include.bbs.write_update.php';
|
* include '../syndi/include/include.bbs.write_update.php';
|
||||||
*/
|
*/
|
||||||
if(!defined('_GNUBOARD_')) return;
|
if(!defined('_GNUBOARD_')) return;
|
||||||
|
|
||||||
|
|||||||
@ -2,19 +2,20 @@
|
|||||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||||
|
|
||||||
// 컴퓨터의 아이피와 쿠키에 저장된 아이피가 다르다면 테이블에 반영함
|
// 컴퓨터의 아이피와 쿠키에 저장된 아이피가 다르다면 테이블에 반영함
|
||||||
if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR']) {
|
if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR'])
|
||||||
|
{
|
||||||
set_cookie('ck_visit_ip', $_SERVER['REMOTE_ADDR'], 86400); // 하루동안 저장
|
set_cookie('ck_visit_ip', $_SERVER['REMOTE_ADDR'], 86400); // 하루동안 저장
|
||||||
|
|
||||||
$tmp_row = sql_fetch(" select max(vi_id) as max_vi_id from {$g4['visit_table']} ");
|
$tmp_row = sql_fetch(" select max(vi_id) as max_vi_id from {$g4['visit_table']} ");
|
||||||
$vi_id = $tmp_row['max_vi_id'] + 1;
|
$vi_id = $tmp_row['max_vi_id'] + 1;
|
||||||
|
|
||||||
// $_SERVER 배열변수 값의 변조를 이용한 SQL Injection 공격을 막는 코드입니다. 110810
|
// $_SERVER 배열변수 값의 변조를 이용한 SQL Injection 공격을 막는 코드입니다. 110810
|
||||||
$remote_addr = mysql_real_escape_string($_SERVER['REMOTE_ADDR']);
|
$remote_addr = escape_trim($_SERVER['REMOTE_ADDR']);
|
||||||
$referer = "";
|
$referer = "";
|
||||||
if (isset($_SERVER['HTTP_REFERER']))
|
if (isset($_SERVER['HTTP_REFERER']))
|
||||||
$referer = mysql_real_escape_string($_SERVER['HTTP_REFERER']);
|
$referer = escape_trim($_SERVER['HTTP_REFERER']);
|
||||||
$user_agent = mysql_real_escape_string($_SERVER['HTTP_USER_AGENT']);
|
$user_agent = escape_trim($_SERVER['HTTP_USER_AGENT']);
|
||||||
$sql = " insert {$g4['visit_table']} ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '{$vi_id}', '{$remote_addr}', '".G4_TIME_YMD."', '{$g4['time_his']}', '{$referer}', '{$user_agent}' ) ";
|
$sql = " insert {$g4['visit_table']} ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '{$vi_id}', '{$remote_addr}', '".G4_TIME_YMD."', '".G4_TIME_HIS."', '{$referer}', '{$user_agent}' ) ";
|
||||||
|
|
||||||
$result = sql_query($sql, FALSE);
|
$result = sql_query($sql, FALSE);
|
||||||
// 정상으로 INSERT 되었다면 방문자 합계에 반영
|
// 정상으로 INSERT 되었다면 방문자 합계에 반영
|
||||||
@ -59,4 +60,4 @@ if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR']) {
|
|||||||
sql_query(" update {$g4['config_table']} set cf_visit = '{$visit}' ");
|
sql_query(" update {$g4['config_table']} set cf_visit = '{$visit}' ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
@ -3,8 +3,8 @@ include_once('./_common.php');
|
|||||||
include_once(G4_CKEDITOR_PATH.'/ckeditor.lib.php');
|
include_once(G4_CKEDITOR_PATH.'/ckeditor.lib.php');
|
||||||
include_once(G4_GCAPTCHA_PATH.'/gcaptcha.lib.php');
|
include_once(G4_GCAPTCHA_PATH.'/gcaptcha.lib.php');
|
||||||
|
|
||||||
set_session('ss_bo_table', $bo_table);
|
set_session('ss_bo_table', $_REQUEST['bo_table']);
|
||||||
set_session('ss_wr_id', $wr_id);
|
set_session('ss_wr_id', $_REQUEST['wr_id']);
|
||||||
|
|
||||||
if (!$board['bo_table']) {
|
if (!$board['bo_table']) {
|
||||||
alert('존재하지 않는 게시판입니다.', G4_URL);
|
alert('존재하지 않는 게시판입니다.', G4_URL);
|
||||||
|
|||||||
@ -42,8 +42,8 @@ if (empty($_POST)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$w = $_POST['w'];
|
$w = $_POST['w'];
|
||||||
$wr_link1 = mysql_real_escape_string($_POST['wr_link1']);
|
$wr_link1 = escape_trim(strip_tags($_POST['wr_link1']));
|
||||||
$wr_link2 = mysql_real_escape_string($_POST['wr_link2']);
|
$wr_link2 = escape_trim(strip_tags($_POST['wr_link2']));
|
||||||
|
|
||||||
$notice_array = explode(',', trim($board['bo_notice']));
|
$notice_array = explode(',', trim($board['bo_notice']));
|
||||||
|
|
||||||
@ -349,7 +349,7 @@ if ($w == '' || $w == 'r') {
|
|||||||
// 쓰기 포인트 부여
|
// 쓰기 포인트 부여
|
||||||
if ($w == '') {
|
if ($w == '') {
|
||||||
if ($notice) {
|
if ($notice) {
|
||||||
$bo_notice = $wr_id."\n".$board['bo_notice'];
|
$bo_notice = $wr_id.",".$board['bo_notice'];
|
||||||
sql_query(" update {$g4['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}' ");
|
sql_query(" update {$g4['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}' ");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -364,26 +364,28 @@ if ($w == '' || $w == 'r') {
|
|||||||
alert('올바른 방법으로 수정하여 주십시오.');
|
alert('올바른 방법으로 수정하여 주십시오.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$return_url = './board.php?bo_table='.$bo_table.'&wr_id='.$wr_id;
|
||||||
|
|
||||||
if ($is_admin == 'super') // 최고관리자 통과
|
if ($is_admin == 'super') // 최고관리자 통과
|
||||||
;
|
;
|
||||||
else if ($is_admin == 'group') { // 그룹관리자
|
else if ($is_admin == 'group') { // 그룹관리자
|
||||||
$mb = get_member($write['mb_id']);
|
$mb = get_member($write['mb_id']);
|
||||||
if ($member['mb_id'] != $group['gr_admin']) // 자신이 관리하는 그룹인가?
|
if ($member['mb_id'] != $group['gr_admin']) // 자신이 관리하는 그룹인가?
|
||||||
alert('자신이 관리하는 그룹의 게시판이 아니므로 수정할 수 없습니다.');
|
alert('자신이 관리하는 그룹의 게시판이 아니므로 수정할 수 없습니다.', $return_url);
|
||||||
else if ($member['mb_level'] < $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
|
else if ($member['mb_level'] < $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
|
||||||
alert('자신의 권한보다 높은 권한의 회원이 작성한 글은 수정할 수 없습니다.');
|
alert('자신의 권한보다 높은 권한의 회원이 작성한 글은 수정할 수 없습니다.', $return_url);
|
||||||
} else if ($is_admin == 'board') { // 게시판관리자이면
|
} else if ($is_admin == 'board') { // 게시판관리자이면
|
||||||
$mb = get_member($write['mb_id']);
|
$mb = get_member($write['mb_id']);
|
||||||
if ($member['mb_id'] != $board['bo_admin']) // 자신이 관리하는 게시판인가?
|
if ($member['mb_id'] != $board['bo_admin']) // 자신이 관리하는 게시판인가?
|
||||||
alert('자신이 관리하는 게시판이 아니므로 수정할 수 없습니다.');
|
alert('자신이 관리하는 게시판이 아니므로 수정할 수 없습니다.', $return_url);
|
||||||
else if ($member['mb_level'] < $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
|
else if ($member['mb_level'] < $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
|
||||||
alert('자신의 권한보다 높은 권한의 회원이 작성한 글은 수정할 수 없습니다.');
|
alert('자신의 권한보다 높은 권한의 회원이 작성한 글은 수정할 수 없습니다.', $return_url);
|
||||||
} else if ($member['mb_id']) {
|
} else if ($member['mb_id']) {
|
||||||
if ($member['mb_id'] != $write['mb_id'])
|
if ($member['mb_id'] != $write['mb_id'])
|
||||||
alert('자신의 글이 아니므로 수정할 수 없습니다.');
|
alert('자신의 글이 아니므로 수정할 수 없습니다.', $return_url);
|
||||||
} else {
|
} else {
|
||||||
if ($write['mb_id'])
|
if ($write['mb_id'])
|
||||||
alert('로그인 후 수정하세요.', './login.php?url='.urlencode('./board.php?bo_table='.$bo_table.'&wr_id='.$wr_id));
|
alert('로그인 후 수정하세요.', './login.php?url='.urlencode($return_url));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($member['mb_id']) {
|
if ($member['mb_id']) {
|
||||||
@ -445,7 +447,7 @@ if ($w == '' || $w == 'r') {
|
|||||||
if ($notice) {
|
if ($notice) {
|
||||||
//if (!preg_match("/[^0-9]{0,1}{$wr_id}[\r]{0,1}/",$board['bo_notice']))
|
//if (!preg_match("/[^0-9]{0,1}{$wr_id}[\r]{0,1}/",$board['bo_notice']))
|
||||||
if (!in_array((int)$wr_id, $notice_array)) {
|
if (!in_array((int)$wr_id, $notice_array)) {
|
||||||
$bo_notice = $wr_id . '\n' . $board['bo_notice'];
|
$bo_notice = $wr_id . ',' . $board['bo_notice'];
|
||||||
sql_query(" update {$g4['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}' ");
|
sql_query(" update {$g4['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}' ");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
2965
bbs/zip.db
2965
bbs/zip.db
File diff suppressed because it is too large
Load Diff
29
common.php
29
common.php
@ -2,9 +2,6 @@
|
|||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
** 공통 변수, 상수, 코드
|
** 공통 변수, 상수, 코드
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
//error_reporting(E_ALL ^ E_NOTICE);
|
|
||||||
//error_reporting(E_ALL & ~E_NOTICE);
|
|
||||||
//error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT);
|
|
||||||
error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR );
|
error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR );
|
||||||
|
|
||||||
// 보안설정이나 프레임이 달라도 쿠키가 통하도록 설정
|
// 보안설정이나 프레임이 달라도 쿠키가 통하도록 설정
|
||||||
@ -69,19 +66,14 @@ $g4 = array();
|
|||||||
|
|
||||||
function g4_path()
|
function g4_path()
|
||||||
{
|
{
|
||||||
$path = dirname(__FILE__); // 예) /home/sir/www/g4s
|
$result['path'] = str_replace('\\', '/', dirname(__FILE__));
|
||||||
$linux_dir = str_replace("\\", "/", $path); // 예) /home/sir/www/g4s
|
$tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $_SERVER['SCRIPT_NAME']);
|
||||||
$document_root = str_replace("\\", "/", $_SERVER['DOCUMENT_ROOT']); // 예) /home/sir/www
|
$document_root = str_replace($tilde_remove, '', $_SERVER['SCRIPT_FILENAME']);
|
||||||
$base_dir = preg_replace('#^'.$document_root.'#i', '', $linux_dir); // 예) /g4s
|
$root = str_replace($document_root, '', $result['path']);
|
||||||
$port = $_SERVER['SERVER_PORT'] != 80 ? ':'.$_SERVER['SERVER_PORT'] : '';
|
$port = $_SERVER['SERVER_PORT'] != 80 ? ':'.$_SERVER['SERVER_PORT'] : '';
|
||||||
$http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://';
|
$http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://';
|
||||||
|
$user = str_replace(str_replace($document_root, '', $_SERVER['SCRIPT_FILENAME']), '', $_SERVER['SCRIPT_NAME']);
|
||||||
$result = array();
|
$result['url'] = $http.$_SERVER['SERVER_NAME'].$port.$user.$root;
|
||||||
$result['path'] = $path;
|
|
||||||
$result['url'] = $http.$_SERVER['SERVER_NAME'].$port.$base_dir;
|
|
||||||
$result['curr_url'] = $http.$_SERVER['SERVER_NAME'].$port.$_SERVER['PHP_SELF'];
|
|
||||||
$result['curr_uri'] = $result['curr_url'] . ($_SERVER['QUERY_STRING'] ? '?'.$_SERVER['QUERY_STRING'] : '');
|
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,10 +116,10 @@ div a {display:block;margin:50px auto 10px;width:170px;text-align:center}
|
|||||||
<div>
|
<div>
|
||||||
<p>다음 파일을 찾을 수 없습니다.</p>
|
<p>다음 파일을 찾을 수 없습니다.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong><?=$dbconfig_file?></strong></li>
|
<li><strong><?=G4_DATA_DIR.'/'.G4_DBCONFIG_FILE?></strong></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>프로그램 설치 후 실행하시기 바랍니다.</p>
|
<p>프로그램 설치 후 실행하시기 바랍니다.</p>
|
||||||
<a href="<?=G4_URL?>/install/">그누보드4S 설치하기</a>
|
<a href="./install/">그누보드4S 설치하기</a>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@ -220,6 +212,7 @@ if (isset($_REQUEST['sca'])) {
|
|||||||
|
|
||||||
if (isset($_REQUEST['sfl'])) {
|
if (isset($_REQUEST['sfl'])) {
|
||||||
$sfl = escape_trim($_REQUEST['sfl']);
|
$sfl = escape_trim($_REQUEST['sfl']);
|
||||||
|
$sfl = preg_replace("/[\<\>\'\"\%\=\(\)\s]/", "", $sfl);
|
||||||
if ($sfl)
|
if ($sfl)
|
||||||
$qstr .= '&sfl=' . urlencode($sfl); // search field (검색 필드)
|
$qstr .= '&sfl=' . urlencode($sfl); // search field (검색 필드)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -17,7 +17,7 @@ if (PHP_VERSION >= '5.3.0') {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
보안서버 도메인
|
보안서버 도메인
|
||||||
회원가입, 글쓰기에 사용되는 https 로 시작되는 주소를 말합니다.
|
회원가입, 글쓰기에 사용되는 https 로 시작되는 주소를 말합니다.
|
||||||
포트가 있다면 도메인 뒤에 :443 과 같이 입력하세요.
|
포트가 있다면 도메인 뒤에 :443 과 같이 입력하세요.
|
||||||
보안서버주소가 없다면 공란으로 두시면 되며 보안서버주소 뒤에 / 는 붙이지 않습니다.
|
보안서버주소가 없다면 공란으로 두시면 되며 보안서버주소 뒤에 / 는 붙이지 않습니다.
|
||||||
입력예) https://www.domain.com:443/gnuboard4s
|
입력예) https://www.domain.com:443/gnuboard4s
|
||||||
@ -50,9 +50,9 @@ define('G4_MOBILE_DIR', 'mobile');
|
|||||||
if (G4_DOMAIN) {
|
if (G4_DOMAIN) {
|
||||||
define('G4_URL', G4_DOMAIN);
|
define('G4_URL', G4_DOMAIN);
|
||||||
} else {
|
} else {
|
||||||
if (isset($g4_path['url']))
|
if (isset($g4_path['url']))
|
||||||
define('G4_URL', $g4_path['url']);
|
define('G4_URL', $g4_path['url']);
|
||||||
else
|
else
|
||||||
define('G4_URL', '');
|
define('G4_URL', '');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,7 +87,6 @@ define('G4_MOBILE_PATH', G4_PATH.'/'.G4_MOBILE_DIR);
|
|||||||
|
|
||||||
|
|
||||||
define('G4_USE_CACHE', true); // 최신글등에 cache 기능 사용 여부
|
define('G4_USE_CACHE', true); // 최신글등에 cache 기능 사용 여부
|
||||||
define('G4_USE_SHOP', true); // 쇼핑몰 사용 여부
|
|
||||||
|
|
||||||
|
|
||||||
// 시간 상수
|
// 시간 상수
|
||||||
|
|||||||
@ -13,7 +13,7 @@ input[type=text],
|
|||||||
input[type=password],
|
input[type=password],
|
||||||
input[type=submit],
|
input[type=submit],
|
||||||
input[type=image] {-webkit-appearance:none}
|
input[type=image] {-webkit-appearance:none}
|
||||||
button {border-radius:0;-webkit-appearance:none}
|
button {border-radius:0;font-size:1em;-webkit-appearance:none}
|
||||||
p {margin:0;padding:10px 0;line-height:1.7em;word-break:break-all}
|
p {margin:0;padding:10px 0;line-height:1.7em;word-break:break-all}
|
||||||
hr {display:none}
|
hr {display:none}
|
||||||
pre {overflow-x:scroll;font-size:1.1em}
|
pre {overflow-x:scroll;font-size:1.1em}
|
||||||
@ -38,11 +38,22 @@ h2 {font-size:1.2em}
|
|||||||
#captcha img {border:1px solid #ddd;border-right:0}
|
#captcha img {border:1px solid #ddd;border-right:0}
|
||||||
#captcha_mp3 img {border:1px solid #ddd;border-left:0;background:#494949}
|
#captcha_mp3 img {border:1px solid #ddd;border-left:0;background:#494949}
|
||||||
|
|
||||||
|
/* ckeditor 단축키 */
|
||||||
|
.cke_sc {margin:0 0 5px;text-align:right}
|
||||||
|
.btn_cke_sc{display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc !important;background:#fafafa !important;color:#000 !important;text-decoration:none !important;line-height:1.9em;vertical-align:middle}
|
||||||
|
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
|
||||||
|
.cke_sc_def dl{margin:0 0 5px;text-align:left;zoom:1}
|
||||||
|
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
|
||||||
|
.cke_sc_def dt,
|
||||||
|
.cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid .e9e9e9}
|
||||||
|
.cke_sc_def dt {width:20%;font-weight:bold}
|
||||||
|
.cke_sc_def dd {width:30%}
|
||||||
|
|
||||||
/* 레이아웃 */
|
/* 레이아웃 */
|
||||||
#hd {z-index:10;min-width:1000px;background:url('../adm/img/hd_bg.jpg') #383b3f top left repeat-x}
|
#hd {z-index:10;min-width:1000px;background:url('../adm/img/hd_bg.jpg') #383b3f top left repeat-x}
|
||||||
#hd h1,
|
#hd h1,
|
||||||
#hd h2 {margin:0;padding:0;font-size:0;line-height:0;border:0;overflow:hidden}
|
#hd h2 {margin:0;padding:0;font-size:0;line-height:0;border:0;overflow:hidden}
|
||||||
#hd_wrap {position:relative;margin:0 auto;width:1000px}
|
#hd_wrap {z-index:11;position:relative;margin:0 auto;width:1000px}
|
||||||
#logo {position:relative;height:70px}
|
#logo {position:relative;height:70px}
|
||||||
#logo img {position:absolute;top:15px;left:0}
|
#logo img {position:absolute;top:15px;left:0}
|
||||||
|
|
||||||
@ -54,11 +65,11 @@ h2 {font-size:1.2em}
|
|||||||
#mb_nb a {display:inline-block;padding:5px 0;color:#e0e0e0;font-size:0.9em;text-decoration:none}
|
#mb_nb a {display:inline-block;padding:5px 0;color:#e0e0e0;font-size:0.9em;text-decoration:none}
|
||||||
|
|
||||||
/* gnb js off */
|
/* gnb js off */
|
||||||
#gnb {z-index:10;background:#383a3f}
|
#gnb {z-index:12;background:#383a3f}
|
||||||
#gnb h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
|
#gnb h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
|
||||||
#gnb_ul {margin:0 auto;padding:0;width:1000px;zoom:1}
|
#gnb_ul {margin:0 auto;padding:0;width:1000px;zoom:1}
|
||||||
#gnb_ul:after {display:block;visibility:hidden;clear:both;content:""}
|
#gnb_ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||||
.gnb_1depth {z-index:10;clear:both;zoom:1}
|
.gnb_1depth {z-index:13;clear:both;zoom:1}
|
||||||
.gnb_1depth:after {display:block;visibility:hidden;clear:both;content:""}
|
.gnb_1depth:after {display:block;visibility:hidden;clear:both;content:""}
|
||||||
.gnb_1depth a {display:block;float:left;width:110px;height:35px;color:#e0e0e0;font-weight:bold;line-height:2.95em;text-decoration:none}
|
.gnb_1depth a {display:block;float:left;width:110px;height:35px;color:#e0e0e0;font-weight:bold;line-height:2.95em;text-decoration:none}
|
||||||
.gnb_1depth a:focus,
|
.gnb_1depth a:focus,
|
||||||
@ -79,10 +90,8 @@ h2 {font-size:1.2em}
|
|||||||
.gnb_1depth_over .gnb_sub_ul {left:-1px;width:181px;height:auto;border:1px solid #c3c7c5;border-top:0;background:#fff}
|
.gnb_1depth_over .gnb_sub_ul {left:-1px;width:181px;height:auto;border:1px solid #c3c7c5;border-top:0;background:#fff}
|
||||||
.gnb_1depth_over2 .gnb_sub_ul {right:-1px;width:181px;height:auto;border:1px solid #c3c7c5;border-top:0;background:#fff}
|
.gnb_1depth_over2 .gnb_sub_ul {right:-1px;width:181px;height:auto;border:1px solid #c3c7c5;border-top:0;background:#fff}
|
||||||
|
|
||||||
#current_loc {position:absolute;top:-5000px;left:0}
|
|
||||||
|
|
||||||
/* 중간 레이아웃 */
|
/* 중간 레이아웃 */
|
||||||
#wrapper {margin:30px auto;width:1000px;min-height:630px;height:auto !important;height:630px;zoom:1}
|
#wrapper {z-index:5;margin:30px auto;width:1000px;min-height:630px;height:auto !important;height:630px;zoom:1}
|
||||||
#wrapper:after {display:block;visibility:hidden;clear:both;content:""}
|
#wrapper:after {display:block;visibility:hidden;clear:both;content:""}
|
||||||
|
|
||||||
#qnb {float:right;margin:0;padding:0;list-style:none}
|
#qnb {float:right;margin:0;padding:0;list-style:none}
|
||||||
@ -93,7 +102,7 @@ h2 {font-size:1.2em}
|
|||||||
#qnb a:active {text-decoration:none}
|
#qnb a:active {text-decoration:none}
|
||||||
#qnb img {margin-bottom:5px}
|
#qnb img {margin-bottom:5px}
|
||||||
|
|
||||||
#container {position:relative;float:left;width:942px}
|
#container {z-index:4;position:relative;float:left;width:942px}
|
||||||
|
|
||||||
/* 텍스트 크기 조절 */
|
/* 텍스트 크기 조절 */
|
||||||
#text_size {position:absolute;top:0;right:0}
|
#text_size {position:absolute;top:0;right:0}
|
||||||
@ -255,7 +264,7 @@ td {padding:8px 5px 6px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9
|
|||||||
/* 공통 */
|
/* 공통 */
|
||||||
.td_chk {width:30px;text-align:center}
|
.td_chk {width:30px;text-align:center}
|
||||||
.td_num {width:60px;text-align:center}
|
.td_num {width:60px;text-align:center}
|
||||||
.td_bignum {width:120px;text-align:center}
|
.td_bignum {width:100px;text-align:center}
|
||||||
.td_grid {width:60px;text-align:center}
|
.td_grid {width:60px;text-align:center}
|
||||||
.td_mbid,
|
.td_mbid,
|
||||||
.td_name,
|
.td_name,
|
||||||
@ -289,6 +298,11 @@ td {padding:8px 5px 6px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9
|
|||||||
.new_win_ul a {display:block;padding:10px 10px 8px;border-right:1px solid #595959;border-left:1px solid #595959;color:#fff;font-family:"dotum";font-weight:bold;text-decoration:none}
|
.new_win_ul a {display:block;padding:10px 10px 8px;border-right:1px solid #595959;border-left:1px solid #595959;color:#fff;font-family:"dotum";font-weight:bold;text-decoration:none}
|
||||||
.new_win_desc {margin:0 auto;width:93%}
|
.new_win_desc {margin:0 auto;width:93%}
|
||||||
|
|
||||||
|
/* 자바스크립트 alert 대안 */
|
||||||
|
#validation_check {margin:100px auto;width:500px}
|
||||||
|
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
|
||||||
|
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff}
|
||||||
|
|
||||||
/* 관리자 패스워드 확인 */
|
/* 관리자 패스워드 확인 */
|
||||||
#admin_confirm {padding:0 0 10px;background:#222;text-align:center}
|
#admin_confirm {padding:0 0 10px;background:#222;text-align:center}
|
||||||
#admin_confirm p {margin:0 0 10px;color:#9ab9c5;background:#383a3f}
|
#admin_confirm p {margin:0 0 10px;color:#9ab9c5;background:#383a3f}
|
||||||
@ -296,14 +310,14 @@ td {padding:8px 5px 6px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9
|
|||||||
#admin_confirm .frm_input {border-color:#000}
|
#admin_confirm .frm_input {border-color:#000}
|
||||||
|
|
||||||
/* 사이드뷰 */
|
/* 사이드뷰 */
|
||||||
.sv_wrap {display:inline-block;position:relative;font-weight:normal}
|
.sv_wrap {display:inline-block;position:relative;font-weight:normal;font-size:1em}
|
||||||
.sv_wrap .sv {z-index:5;display:none;margin:5px 0 0;border:1px solid #283646;background:#334356}
|
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;border:1px solid #283646;background:#111}
|
||||||
.sv_js_off .sv {display:block}
|
|
||||||
.sv_wrap .sv a {display:inline-block !important;margin:0 !important;padding:3px !important;width:94px;border-bottom:1px solid #283646;color:#fff !important}
|
.sv_wrap .sv a {display:inline-block !important;margin:0 !important;padding:3px !important;width:94px;border-bottom:1px solid #283646;color:#fff !important}
|
||||||
.sv_wrap a:focus,
|
.sv_wrap a:focus,
|
||||||
.sv_wrap a:hover,
|
.sv_wrap a:hover,
|
||||||
.sv_wrap a:active {text-decoration:none !important}
|
.sv_wrap a:active {text-decoration:none !important}
|
||||||
.sv_on {display:block !important;position:absolute;top:10px;left:20px;width:auto;height:auto !important;background:#ddd}
|
.sv_on {display:block !important;position:absolute;top:10px;left:20px;width:auto;height:auto !important}
|
||||||
|
.sv_nojs .sv {display:block}
|
||||||
|
|
||||||
/* pagination */
|
/* pagination */
|
||||||
.pg_wrap {clear:both;margin:0 0 20px;padding-top:20px;text-align:center}
|
.pg_wrap {clear:both;margin:0 0 20px;padding-top:20px;text-align:center}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ input[type=text],
|
|||||||
input[type=password],
|
input[type=password],
|
||||||
input[type=submit],
|
input[type=submit],
|
||||||
input[type=image] {-webkit-appearance:none}
|
input[type=image] {-webkit-appearance:none}
|
||||||
button {border-radius:0;-webkit-appearance:none}
|
button {border-radius:0;font-size:1em;-webkit-appearance:none}
|
||||||
p {margin:0;padding:10px 0;line-height:1.7em;word-break:break-all}
|
p {margin:0;padding:10px 0;line-height:1.7em;word-break:break-all}
|
||||||
hr {display:none}
|
hr {display:none}
|
||||||
pre {overflow-x:scroll;font-size:1.1em}
|
pre {overflow-x:scroll;font-size:1.1em}
|
||||||
@ -33,11 +33,23 @@ a:active {color:#000;text-decoration:underline}
|
|||||||
#to_content a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}
|
#to_content a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}
|
||||||
|
|
||||||
/* 이미지 등비율 리사이징 */
|
/* 이미지 등비율 리사이징 */
|
||||||
.img_fix {float:left;width:100%;height:auto}
|
.img_fix {width:100%;height:auto}
|
||||||
|
|
||||||
/* 캡챠 자동등록(입력)방지 기본 */
|
/* 캡챠 자동등록(입력)방지 기본 */
|
||||||
#captcha img {border:1px solid #cfded8;border-right:0}
|
#captcha img {border:1px solid #cfded8;border-right:0}
|
||||||
#captcha_mp3 img {border:1px solid #cfded8;border-left:0;background:#494949}
|
#captcha_mp3 img {border:1px solid #cfded8;border-left:0;background:#494949}
|
||||||
|
#mp3_embed {position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden} /* 익스 8 이하에서 음성캡챠 실행 스타일 */
|
||||||
|
|
||||||
|
/* ckeditor 단축키 */
|
||||||
|
.cke_sc {margin:0 0 5px;text-align:right}
|
||||||
|
.btn_cke_sc{display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc !important;background:#fafafa !important;color:#000 !important;text-decoration:none !important;line-height:1.9em;vertical-align:middle}
|
||||||
|
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
|
||||||
|
.cke_sc_def dl{margin:0 0 5px;text-align:left;zoom:1}
|
||||||
|
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
|
||||||
|
.cke_sc_def dt,
|
||||||
|
.cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid .e9e9e9}
|
||||||
|
.cke_sc_def dt {width:20%;font-weight:bold}
|
||||||
|
.cke_sc_def dd {width:30%}
|
||||||
|
|
||||||
/* 상단 레이아웃 */
|
/* 상단 레이아웃 */
|
||||||
#hd {height:73px;border-top:3px solid #151515;border-bottom:1px solid #e7f1ed;background:#fff}
|
#hd {height:73px;border-top:3px solid #151515;border-bottom:1px solid #e7f1ed;background:#fff}
|
||||||
@ -114,13 +126,15 @@ a:active {color:#000;text-decoration:underline}
|
|||||||
#ft_catch {position:relative;margin:0 auto;padding:20px 0;width:980px;text-align:center}
|
#ft_catch {position:relative;margin:0 auto;padding:20px 0;width:980px;text-align:center}
|
||||||
|
|
||||||
#ft_copy {background:#414141}
|
#ft_copy {background:#414141}
|
||||||
#ft_copy p {margin:0 auto;width:980px;color:#4a9ab8}
|
#ft_copy p {position:relative;margin:0 auto;width:980px;color:#4a9ab8}
|
||||||
#ft_copy b {color:#fff}
|
#ft_copy b {color:#fff}
|
||||||
|
#ft_copy a {position:absolute;top:10px;right:0;color:#fff}
|
||||||
|
|
||||||
/* Mobile화면으로 */
|
/* Mobile화면으로 */
|
||||||
#g4s_cng {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center}
|
#g4s_cng {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center}
|
||||||
|
|
||||||
/* 콘텐츠별 스타일 */
|
/* 콘텐츠별 스타일 */
|
||||||
|
.cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold}
|
||||||
/* 버튼 */
|
/* 버튼 */
|
||||||
.btn01 {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc !important;background:#fafafa !important;color:#000 !important;text-decoration:none !important;line-height:2.15em;vertical-align:middle}
|
.btn01 {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc !important;background:#fafafa !important;color:#000 !important;text-decoration:none !important;line-height:2.15em;vertical-align:middle}
|
||||||
.btn01:focus,
|
.btn01:focus,
|
||||||
@ -213,19 +227,17 @@ input.required:focus {padding:3px 3px 4px;border:0;background:#21272e !important
|
|||||||
/* 자바스크립트 alert 대안 */
|
/* 자바스크립트 alert 대안 */
|
||||||
#validation_check {margin:100px auto;width:500px}
|
#validation_check {margin:100px auto;width:500px}
|
||||||
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
|
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
|
||||||
#validation_check p {margin-bottom:20px;padding:30px 20px}
|
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff}
|
||||||
|
|
||||||
/* 스킨별 스타일 */
|
|
||||||
|
|
||||||
/* 사이드뷰 */
|
/* 사이드뷰 */
|
||||||
.sv_wrap {display:inline-block;position:relative;font-weight:normal}
|
.sv_wrap {display:inline-block;position:relative;font-weight:normal}
|
||||||
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;border:1px solid #283646;background:#111}
|
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;border:1px solid #283646;background:#111}
|
||||||
.sv_js_off {display:block}
|
|
||||||
.sv_wrap .sv a {display:inline-block !important;margin:0 !important;padding:3px !important;width:94px;border-bottom:1px solid #283646;color:#fff !important}
|
.sv_wrap .sv a {display:inline-block !important;margin:0 !important;padding:3px !important;width:94px;border-bottom:1px solid #283646;color:#fff !important}
|
||||||
.sv_wrap a:focus,
|
.sv_wrap a:focus,
|
||||||
.sv_wrap a:hover,
|
.sv_wrap a:hover,
|
||||||
.sv_wrap a:active {text-decoration:none !important}
|
.sv_wrap a:active {text-decoration:none !important}
|
||||||
.sv_on {display:block !important;position:absolute;top:10px;left:20px;width:auto;height:auto !important}
|
.sv_on {display:block !important;position:absolute;top:10px;left:20px;width:auto;height:auto !important}
|
||||||
|
.sv_nojs .sv {display:block}
|
||||||
|
|
||||||
/* pagination */
|
/* pagination */
|
||||||
.pg_wrap {clear:both;margin:0 0 20px;padding-top:20px;text-align:center}
|
.pg_wrap {clear:both;margin:0 0 20px;padding-top:20px;text-align:center}
|
||||||
|
|||||||
@ -29,7 +29,7 @@ pre {overflow-x:scroll;font-size:1.1em}
|
|||||||
.to_content a {z-index:100000;position:absolute;top:0;left:0;width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
.to_content a {z-index:100000;position:absolute;top:0;left:0;width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||||
|
|
||||||
/* 이미지 등비율 리사이징 */
|
/* 이미지 등비율 리사이징 */
|
||||||
.img_fix {float:left;width:100%;height:auto}
|
.img_fix {width:100%;height:auto}
|
||||||
|
|
||||||
/* 캡챠 자동등록(입력)방지 기본 */
|
/* 캡챠 자동등록(입력)방지 기본 */
|
||||||
#captcha img {height:1.8em;border:1px solid #cfded8;border-right:0}
|
#captcha img {height:1.8em;border:1px solid #cfded8;border-right:0}
|
||||||
@ -91,8 +91,9 @@ pre {overflow-x:scroll;font-size:1.1em}
|
|||||||
#ft img {display:none}
|
#ft img {display:none}
|
||||||
|
|
||||||
#ft_copy {background:#232323}
|
#ft_copy {background:#232323}
|
||||||
#ft_copy p {padding:0.5em;color:#4a9ab8}
|
#ft_copy p {position:relative;padding:0.5em;color:#4a9ab8}
|
||||||
#ft_copy b {color:#fff}
|
#ft_copy b {color:#fff}
|
||||||
|
#ft_copy a {position:absolute;top:0.5em;right:0.5em;color:#fff;text-decoration:none}
|
||||||
|
|
||||||
/* PC화면으로 */
|
/* PC화면으로 */
|
||||||
#g4s_cng {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;color:#000;font-size:1em;text-decoration:none;text-align:center}
|
#g4s_cng {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;color:#000;font-size:1em;text-decoration:none;text-align:center}
|
||||||
|
|||||||
0
extend/.htaccess
Normal file
0
extend/.htaccess
Normal file
@ -1,8 +1,9 @@
|
|||||||
<?
|
<?
|
||||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||||
|
|
||||||
if(!G4_USE_SHOP)
|
define('G4_USE_SHOP', true);
|
||||||
return;
|
|
||||||
|
if (!defined('G4_USE_SHOP') || !G4_USE_SHOP) return;
|
||||||
|
|
||||||
include_once(G4_LIB_PATH.'/shop.lib.php');
|
include_once(G4_LIB_PATH.'/shop.lib.php');
|
||||||
|
|
||||||
|
|||||||
2
head.php
2
head.php
@ -139,7 +139,7 @@ if ($config['cf_include_head']) {
|
|||||||
<a href="<?=G4_BBS_URL?>/group.php?gr_id=<?=$row['gr_id']?>"><?=$row['gr_subject']?></a>
|
<a href="<?=G4_BBS_URL?>/group.php?gr_id=<?=$row['gr_id']?>"><?=$row['gr_subject']?></a>
|
||||||
<ul class="gnb_sub_ul">
|
<ul class="gnb_sub_ul">
|
||||||
<?
|
<?
|
||||||
$sql2 = " select * from {$g4['board_table']} where gr_id = '{$row['gr_id']}' order by bo_order ";
|
$sql2 = " select * from {$g4['board_table']} where gr_id = '{$row['gr_id']}' and bo_show_menu = '1' order by bo_order ";
|
||||||
$result2 = sql_query($sql2);
|
$result2 = sql_query($sql2);
|
||||||
for ($bi=0; $row2=sql_fetch_array($result2); $bi++) { // bi 는 board index
|
for ($bi=0; $row2=sql_fetch_array($result2); $bi++) { // bi 는 board index
|
||||||
?>
|
?>
|
||||||
|
|||||||
@ -32,7 +32,11 @@ header("Pragma: no-cache"); // HTTP/1.0
|
|||||||
<html lang="ko">
|
<html lang="ko">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<? if (G4_IS_MOBILE) {?><meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"><? } ?>
|
<? if (G4_IS_MOBILE) {?>
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=0,maximum-scale=10,user-scalable=yes">
|
||||||
|
<meta name="HandheldFriendly" content="true">
|
||||||
|
<meta name="format-detection" content="telephone=no">
|
||||||
|
<? } ?>
|
||||||
<!-- <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> -->
|
<!-- <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> -->
|
||||||
<title><?=$g4_head_title?></title>
|
<title><?=$g4_head_title?></title>
|
||||||
<? if (defined('G4_IS_ADMIN')) { ?>
|
<? if (defined('G4_IS_ADMIN')) { ?>
|
||||||
@ -88,5 +92,5 @@ if ($is_member) { // 회원이라면 로그인 중이라는 메세지를 출력
|
|||||||
else if ($is_admin == 'group') $sr_admin_msg = "그룹관리자 ";
|
else if ($is_admin == 'group') $sr_admin_msg = "그룹관리자 ";
|
||||||
else if ($is_admin == 'board') $sr_admin_msg = "게시판관리자 ";
|
else if ($is_admin == 'board') $sr_admin_msg = "게시판관리자 ";
|
||||||
?>
|
?>
|
||||||
<div id="hd_login_msg"><?=$sr_admin_msg?><?=$member['mb_nick']?>님 로그인 중</div>
|
<div id="hd_login_msg"><?=$sr_admin_msg?><?=$member['mb_nick']?>님 로그인 중 <a href="<?=G4_URL?>/bbs/logout.php">로그아웃</a></div>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
|
|||||||
@ -64,6 +64,7 @@ CREATE TABLE IF NOT EXISTS `g4s_board` (
|
|||||||
`bo_hot` int(11) NOT NULL default '0',
|
`bo_hot` int(11) NOT NULL default '0',
|
||||||
`bo_image_width` int(11) NOT NULL default '0',
|
`bo_image_width` int(11) NOT NULL default '0',
|
||||||
`bo_skin` varchar(255) NOT NULL default '',
|
`bo_skin` varchar(255) NOT NULL default '',
|
||||||
|
`bo_mobile_skin` varchar(255) NOT NULL default '',
|
||||||
`bo_image_head` varchar(255) NOT NULL default '',
|
`bo_image_head` varchar(255) NOT NULL default '',
|
||||||
`bo_image_tail` varchar(255) NOT NULL default '',
|
`bo_image_tail` varchar(255) NOT NULL default '',
|
||||||
`bo_include_head` varchar(255) NOT NULL default '',
|
`bo_include_head` varchar(255) NOT NULL default '',
|
||||||
@ -187,7 +188,7 @@ CREATE TABLE IF NOT EXISTS `g4s_config` (
|
|||||||
`cf_include_index` varchar(255) NOT NULL default '',
|
`cf_include_index` varchar(255) NOT NULL default '',
|
||||||
`cf_include_head` varchar(255) NOT NULL default '',
|
`cf_include_head` varchar(255) NOT NULL default '',
|
||||||
`cf_include_tail` varchar(255) NOT NULL default '',
|
`cf_include_tail` varchar(255) NOT NULL default '',
|
||||||
`cf_add_script` text NOT NULL default '',
|
`cf_add_script` text NOT NULL,
|
||||||
`cf_use_point` tinyint(4) NOT NULL default '0',
|
`cf_use_point` tinyint(4) NOT NULL default '0',
|
||||||
`cf_use_norobot` tinyint(4) NOT NULL default '0',
|
`cf_use_norobot` tinyint(4) NOT NULL default '0',
|
||||||
`cf_use_copy_log` tinyint(4) NOT NULL default '0',
|
`cf_use_copy_log` tinyint(4) NOT NULL default '0',
|
||||||
@ -266,6 +267,10 @@ CREATE TABLE IF NOT EXISTS `g4s_config` (
|
|||||||
`cf_privacy` text NOT NULL,
|
`cf_privacy` text NOT NULL,
|
||||||
`cf_open_modify` int(11) NOT NULL default '0',
|
`cf_open_modify` int(11) NOT NULL default '0',
|
||||||
`cf_memo_send_point` int(11) NOT NULL default '0',
|
`cf_memo_send_point` int(11) NOT NULL default '0',
|
||||||
|
`cf_mobile_new_skin` varchar(255) NOT NULL default'',
|
||||||
|
`cf_mobile_search_skin` varchar(255) NOT NULL default'',
|
||||||
|
`cf_mobile_connect_skin` varchar(255) NOT NULL default'',
|
||||||
|
`cf_mobile_member_skin` varchar(255) NOT NULL default'',
|
||||||
`cf_kcpcert_site_cd` varchar(255) NOT NULL default '',
|
`cf_kcpcert_site_cd` varchar(255) NOT NULL default '',
|
||||||
`cf_adult_check` tinyint(4) NOT NULL default '0',
|
`cf_adult_check` tinyint(4) NOT NULL default '0',
|
||||||
`cf_1_subj` varchar(255) NOT NULL default '',
|
`cf_1_subj` varchar(255) NOT NULL default '',
|
||||||
@ -300,6 +305,7 @@ DROP TABLE IF EXISTS `g4s_group`;
|
|||||||
CREATE TABLE IF NOT EXISTS `g4s_group` (
|
CREATE TABLE IF NOT EXISTS `g4s_group` (
|
||||||
`gr_id` varchar(10) NOT NULL default '',
|
`gr_id` varchar(10) NOT NULL default '',
|
||||||
`gr_subject` varchar(255) NOT NULL default '',
|
`gr_subject` varchar(255) NOT NULL default '',
|
||||||
|
`gr_device` ENUM('both','pc','mobile') NOT NULL DEFAULT 'both',
|
||||||
`gr_admin` varchar(255) NOT NULL default '',
|
`gr_admin` varchar(255) NOT NULL default '',
|
||||||
`gr_use_access` tinyint(4) NOT NULL default '0',
|
`gr_use_access` tinyint(4) NOT NULL default '0',
|
||||||
`gr_show_menu` tinyint(4) NOT NULL default '0',
|
`gr_show_menu` tinyint(4) NOT NULL default '0',
|
||||||
|
|||||||
@ -4,6 +4,9 @@ include_once ('../config.php');
|
|||||||
include_once ('./install.inc.php');
|
include_once ('./install.inc.php');
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
<?
|
||||||
|
if ($exists_data_dir && $write_data_dir) {
|
||||||
|
?>
|
||||||
<p>
|
<p>
|
||||||
<strong class="st_strong">라이센스(License) 내용을 반드시 확인하십시오.</strong><br>
|
<strong class="st_strong">라이센스(License) 내용을 반드시 확인하십시오.</strong><br>
|
||||||
라이센스에 동의하시는 경우에만 설치가 진행됩니다.
|
라이센스에 동의하시는 경우에만 설치가 진행됩니다.
|
||||||
@ -11,8 +14,6 @@ include_once ('./install.inc.php');
|
|||||||
|
|
||||||
<textarea name="textarea" id="idx_license" readonly><?=implode('', file('../LICENSE.txt'));?></textarea>
|
<textarea name="textarea" id="idx_license" readonly><?=implode('', file('../LICENSE.txt'));?></textarea>
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form action="./install_config.php" method="post" onsubmit="return frm_submit(this);">
|
<form action="./install_config.php" method="post" onsubmit="return frm_submit(this);">
|
||||||
<div id="idx_agree">
|
<div id="idx_agree">
|
||||||
<label for="agree">동의합니다.</label>
|
<label for="agree">동의합니다.</label>
|
||||||
@ -35,6 +36,11 @@ function frm_submit(f)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<?
|
||||||
|
} // if
|
||||||
|
?>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@ -53,6 +53,7 @@ if (file_exists($dbconfig_file)) {
|
|||||||
?>
|
?>
|
||||||
|
|
||||||
<?
|
<?
|
||||||
|
$exists_data_dir = true;
|
||||||
// data 디렉토리가 있는가?
|
// data 디렉토리가 있는가?
|
||||||
if (!is_dir($data_path))
|
if (!is_dir($data_path))
|
||||||
{
|
{
|
||||||
@ -62,10 +63,12 @@ if (!is_dir($data_path))
|
|||||||
$> mkdir <?=G4_DATA_DIR?><br /><br />
|
$> mkdir <?=G4_DATA_DIR?><br /><br />
|
||||||
위 명령 실행후 브라우저를 새로고침 하십시오.</p>
|
위 명령 실행후 브라우저를 새로고침 하십시오.</p>
|
||||||
<?
|
<?
|
||||||
|
$exists_data_dir = false;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<?
|
<?
|
||||||
|
$write_data_dir = true;
|
||||||
// data 디렉토리에 파일 생성 가능한지 검사.
|
// data 디렉토리에 파일 생성 가능한지 검사.
|
||||||
if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
|
if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
|
||||||
if (!(is_readable($data_path) && is_writeable($data_path) && is_executable($data_path)))
|
if (!(is_readable($data_path) && is_writeable($data_path) && is_executable($data_path)))
|
||||||
@ -75,7 +78,7 @@ if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
|
|||||||
$> chmod 707 <?=G4_DATA_DIR?> 또는 chmod uo+rwx <?=G4_DATA_DIR?><br /><br />
|
$> chmod 707 <?=G4_DATA_DIR?> 또는 chmod uo+rwx <?=G4_DATA_DIR?><br /><br />
|
||||||
위 명령 실행후 브라우저를 새로고침 하십시오.</p>
|
위 명령 실행후 브라우저를 새로고침 하십시오.</p>
|
||||||
<?
|
<?
|
||||||
exit;
|
$write_data_dir = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
@ -17,7 +17,7 @@ if ($_POST['agree'] != '동의함') {
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<form id="frm_install" method="post" action="./install_db.php" onsubmit="return frm_install_submit(this)">
|
<form id="frm_install" method="post" action="./install_db.php" autocomplete="off" onsubmit="return frm_install_submit(this)">
|
||||||
<table style="margin-bottom:30px">
|
<table style="margin-bottom:30px">
|
||||||
<caption>MySQL 정보입력</caption>
|
<caption>MySQL 정보입력</caption>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
|
|||||||
@ -7,6 +7,7 @@ header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1
|
|||||||
header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
|
header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
|
||||||
header('Pragma: no-cache'); // HTTP/1.0
|
header('Pragma: no-cache'); // HTTP/1.0
|
||||||
|
|
||||||
|
$title = "그누보드4s 설치 3단계 중 3단계 설치 완료";
|
||||||
include_once ('../config.php');
|
include_once ('../config.php');
|
||||||
include_once ('./install.inc.php');
|
include_once ('./install.inc.php');
|
||||||
|
|
||||||
@ -97,6 +98,10 @@ $sql = " insert into `{$table_prefix}config`
|
|||||||
cf_possible_ip = '',
|
cf_possible_ip = '',
|
||||||
cf_intercept_ip = '',
|
cf_intercept_ip = '',
|
||||||
cf_member_skin = 'basic',
|
cf_member_skin = 'basic',
|
||||||
|
cf_mobile_new_skin = 'basic',
|
||||||
|
cf_mobile_search_skin = 'basic',
|
||||||
|
cf_mobile_connect_skin = 'basic',
|
||||||
|
cf_mobile_member_skin = 'basic',
|
||||||
cf_register_level = '2',
|
cf_register_level = '2',
|
||||||
cf_register_point = '1000',
|
cf_register_point = '1000',
|
||||||
cf_icon_level = '2',
|
cf_icon_level = '2',
|
||||||
|
|||||||
@ -87,7 +87,7 @@ function goto_url($url)
|
|||||||
{
|
{
|
||||||
$url = str_replace("&", "&", $url);
|
$url = str_replace("&", "&", $url);
|
||||||
//echo "<script> location.replace('$url'); </script>";
|
//echo "<script> location.replace('$url'); </script>";
|
||||||
header("Location:$url");
|
@header("Location:$url");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -137,19 +137,6 @@ function alert($msg='', $url='', $error=true, $post=false)
|
|||||||
|
|
||||||
if (!$msg) $msg = '올바른 방법으로 이용해 주십시오.';
|
if (!$msg) $msg = '올바른 방법으로 이용해 주십시오.';
|
||||||
|
|
||||||
/*
|
|
||||||
//header("Content-Type: text/html; charset=$g4['charset']");
|
|
||||||
echo "<meta http-equiv=\"content-type\" content=\"text/html; charset={$g4['charset']}\">";
|
|
||||||
echo "<script>alert('$msg');";
|
|
||||||
if (!$url)
|
|
||||||
echo "history.go(-1);";
|
|
||||||
echo "</script>";
|
|
||||||
if ($url)
|
|
||||||
// 4.06.00 : 불여우의 경우 아래의 코드를 제대로 인식하지 못함
|
|
||||||
//echo "<meta http-equiv='refresh' content='0;url=$url'>";
|
|
||||||
goto_url($url);
|
|
||||||
exit;
|
|
||||||
*/
|
|
||||||
$header = '';
|
$header = '';
|
||||||
if (isset($g4['title'])) {
|
if (isset($g4['title'])) {
|
||||||
$header = $g4['title'];
|
$header = $g4['title'];
|
||||||
@ -164,11 +151,6 @@ function alert_close($msg, $error=true)
|
|||||||
{
|
{
|
||||||
global $g4;
|
global $g4;
|
||||||
|
|
||||||
/*
|
|
||||||
echo "<meta http-equiv=\"content-type\" content=\"text/html; charset={$g4['charset']}\">";
|
|
||||||
echo "<script> alert('$msg'); window.close(); </script>";
|
|
||||||
exit;
|
|
||||||
*/
|
|
||||||
$header = '';
|
$header = '';
|
||||||
if (isset($g4['title'])) {
|
if (isset($g4['title'])) {
|
||||||
$header = $g4['title'];
|
$header = $g4['title'];
|
||||||
@ -495,6 +477,13 @@ function bad120422($matches)
|
|||||||
return $matches['0'];
|
return $matches['0'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// tag 내의 주석문 무효화 하기
|
||||||
|
function bad130128($matches)
|
||||||
|
{
|
||||||
|
$str = $matches[2];
|
||||||
|
return '<'.$matches[1].preg_replace('#(\/\*|\*\/)#', '', $str).'>';
|
||||||
|
}
|
||||||
|
|
||||||
// 내용을 변환
|
// 내용을 변환
|
||||||
function conv_content($content, $html)
|
function conv_content($content, $html)
|
||||||
{
|
{
|
||||||
@ -521,14 +510,18 @@ function conv_content($content, $html)
|
|||||||
$content .= "</table>";
|
$content .= "</table>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$content = preg_replace_callback("/<([^>]+)>/s", 'bad130128', $content);
|
||||||
|
|
||||||
$content = preg_replace($source, $target, $content);
|
$content = preg_replace($source, $target, $content);
|
||||||
$content = bad_tag_convert($content);
|
|
||||||
|
|
||||||
// XSS (Cross Site Script) 막기
|
// XSS (Cross Site Script) 막기
|
||||||
// 완벽한 XSS 방지는 없다.
|
// 완벽한 XSS 방지는 없다.
|
||||||
|
|
||||||
// 이런 경우를 방지함 <IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))">
|
// 이런 경우를 방지함 <IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))">
|
||||||
$content = preg_replace("#\/\*.*\*\/#iU", "", $content);
|
//$content = preg_replace("#\/\*.*\*\/#iU", "", $content);
|
||||||
|
// 위의 정규식이 아래와 같은 내용을 통과시키므로 not greedy(비탐욕수량자?) 옵션을 제거함. ignore case 옵션도 필요 없으므로 제거
|
||||||
|
// <IMG STYLE="xss:ex//*XSS*/**/pression(alert('XSS'))"></IMG>
|
||||||
|
$content = preg_replace("#\/\*.*\*\/#", "", $content);
|
||||||
|
|
||||||
// object, embed 태그에서 javascript 코드 막기
|
// object, embed 태그에서 javascript 코드 막기
|
||||||
$content = preg_replace_callback("#<(object|embed)([^>]+)>#i", "bad120422", $content);
|
$content = preg_replace_callback("#<(object|embed)([^>]+)>#i", "bad120422", $content);
|
||||||
@ -538,7 +531,8 @@ function conv_content($content, $html)
|
|||||||
$content = preg_replace("/(lo)(wsrc)/i", "lo$2", $content);
|
$content = preg_replace("/(lo)(wsrc)/i", "lo$2", $content);
|
||||||
$content = preg_replace("/(sc)(ript)/i", "sc$2", $content);
|
$content = preg_replace("/(sc)(ript)/i", "sc$2", $content);
|
||||||
$content = preg_replace_callback("#<([^>]+)#", create_function('$m', 'return "<".str_replace("<", "<", $m[1]);'), $content);
|
$content = preg_replace_callback("#<([^>]+)#", create_function('$m', 'return "<".str_replace("<", "<", $m[1]);'), $content);
|
||||||
$content = preg_replace("/\<(\w|\s|\?)*(xml)/i", "", $content);
|
//$content = preg_replace("/\<(\w|\s|\?)*(xml)/i", "", $content);
|
||||||
|
$content = preg_replace("/\<(\w|\s|\?)*(xml)/i", "_$1$2_", $content);
|
||||||
|
|
||||||
// 플래시의 액션스크립트와 자바스크립트의 연동을 차단하여 악의적인 사이트로의 이동을 막는다.
|
// 플래시의 액션스크립트와 자바스크립트의 연동을 차단하여 악의적인 사이트로의 이동을 막는다.
|
||||||
// value="always" 를 value="never" 로, allowScriptaccess="always" 를 allowScriptaccess="never" 로 변환하는데 목적이 있다.
|
// value="always" 를 value="never" 로, allowScriptaccess="always" 를 allowScriptaccess="never" 로 변환하는데 목적이 있다.
|
||||||
@ -550,6 +544,9 @@ function conv_content($content, $html)
|
|||||||
$content = preg_replace("/<(img[^>]+logout\.php[^>]+)/i", "*** CSRF 감지 : <$1", $content);
|
$content = preg_replace("/<(img[^>]+logout\.php[^>]+)/i", "*** CSRF 감지 : <$1", $content);
|
||||||
$content = preg_replace("/<(img[^>]+download\.php[^>]+bo_table[^>]+)/i", "*** CSRF 감지 : <$1", $content);
|
$content = preg_replace("/<(img[^>]+download\.php[^>]+bo_table[^>]+)/i", "*** CSRF 감지 : <$1", $content);
|
||||||
|
|
||||||
|
$content = preg_replace_callback("#style\s*=\s*[\"\']?[^\"\']+[\"\']?#i",
|
||||||
|
create_function('$matches', 'return str_replace("\\\\", "", stripslashes($matches[0]));'), $content);
|
||||||
|
|
||||||
$pattern = "";
|
$pattern = "";
|
||||||
$pattern .= "(e|&#(x65|101);?)";
|
$pattern .= "(e|&#(x65|101);?)";
|
||||||
$pattern .= "(x|&#(x78|120);?)";
|
$pattern .= "(x|&#(x78|120);?)";
|
||||||
@ -558,10 +555,15 @@ function conv_content($content, $html)
|
|||||||
$pattern .= "(e|&#(x65|101);?)";
|
$pattern .= "(e|&#(x65|101);?)";
|
||||||
$pattern .= "(s|&#(x73|115);?)";
|
$pattern .= "(s|&#(x73|115);?)";
|
||||||
$pattern .= "(s|&#(x73|115);?)";
|
$pattern .= "(s|&#(x73|115);?)";
|
||||||
$pattern .= "(i|&#(x6a|105);?)";
|
//$pattern .= "(i|&#(x6a|105);?)";
|
||||||
|
$pattern .= "(i|&#(x69|105);?)";
|
||||||
$pattern .= "(o|&#(x6f|111);?)";
|
$pattern .= "(o|&#(x6f|111);?)";
|
||||||
$pattern .= "(n|&#(x6e|110);?)";
|
$pattern .= "(n|&#(x6e|110);?)";
|
||||||
$content = preg_replace("/".$pattern."/i", "__EXPRESSION__", $content);
|
//$content = preg_replace("/".$pattern."/i", "__EXPRESSION__", $content);
|
||||||
|
$content = preg_replace("/<[^>]*".$pattern."/i", "__EXPRESSION__", $content);
|
||||||
|
// <IMG STYLE="xss:e\xpression(alert('XSS'))"></IMG> 와 같은 코드에 취약점이 있어 수정함. 121213
|
||||||
|
$content = preg_replace("/(?<=style)(\s*=\s*[\"\']?xss\:)/i", '="__XSS__', $content);
|
||||||
|
$content = bad_tag_convert($content);
|
||||||
}
|
}
|
||||||
else // text 이면
|
else // text 이면
|
||||||
{
|
{
|
||||||
@ -837,6 +839,7 @@ function get_group_select($name, $selected='', $event='')
|
|||||||
$result = sql_query($sql);
|
$result = sql_query($sql);
|
||||||
$str = "<select id=\"$name\" name=\"$name\" $event>\n";
|
$str = "<select id=\"$name\" name=\"$name\" $event>\n";
|
||||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||||
|
if ($i == 0) $str .= "<option value=\"\">선택</option>";
|
||||||
$str .= option_selected($row['gr_id'], $selected, $row['gr_subject']);
|
$str .= option_selected($row['gr_id'], $selected, $row['gr_subject']);
|
||||||
}
|
}
|
||||||
$str .= "</select>";
|
$str .= "</select>";
|
||||||
@ -1002,7 +1005,7 @@ function get_sideview($mb_id, $name='', $email='', $homepage='')
|
|||||||
$str .= $tmp_name."\n";
|
$str .= $tmp_name."\n";
|
||||||
|
|
||||||
if(!G4_IS_MOBILE) {
|
if(!G4_IS_MOBILE) {
|
||||||
$str2 = "<span class=\"sv sv_js_off\">\n";
|
$str2 = "<span class=\"sv\">\n";
|
||||||
if($mb_id)
|
if($mb_id)
|
||||||
$str2 .= "<a href=\"".G4_BBS_URL."/memo_form.php?me_recv_mb_id=".$mb_id."\" onclick=\"win_memo(this.href); return false;\">쪽지보내기</a>\n";
|
$str2 .= "<a href=\"".G4_BBS_URL."/memo_form.php?me_recv_mb_id=".$mb_id."\" onclick=\"win_memo(this.href); return false;\">쪽지보내기</a>\n";
|
||||||
if($email)
|
if($email)
|
||||||
@ -1024,7 +1027,8 @@ function get_sideview($mb_id, $name='', $email='', $homepage='')
|
|||||||
$str2 .= "<a href=\"".G4_ADMIN_URL."/point_list.php?sfl=mb_id&stx=".$mb_id."\" target=\"_blank\">포인트내역</a>\n";
|
$str2 .= "<a href=\"".G4_ADMIN_URL."/point_list.php?sfl=mb_id&stx=".$mb_id."\" target=\"_blank\">포인트내역</a>\n";
|
||||||
}
|
}
|
||||||
$str2 .= "</span>\n";
|
$str2 .= "</span>\n";
|
||||||
$str .= $str2;//."\n<noscript class=\"sv_nojs\">".$str2."</noscript>";
|
$str .= $str2;
|
||||||
|
$str .= "\n<noscript class=\"sv_nojs\">".$str2."</noscript>";
|
||||||
}
|
}
|
||||||
|
|
||||||
$str .= "</span>";
|
$str .= "</span>";
|
||||||
@ -1307,10 +1311,7 @@ function get_table_define($table, $crlf="\n")
|
|||||||
$schema_create .= implode($columns, ', ') . ')';
|
$schema_create .= implode($columns, ', ') . ')';
|
||||||
} // end while
|
} // end while
|
||||||
|
|
||||||
if (strtolower($g4['charset']) == 'utf-8')
|
$schema_create .= $crlf . ') DEFAULT CHARSET=utf8';
|
||||||
$schema_create .= $crlf . ') DEFAULT CHARSET=utf8';
|
|
||||||
else
|
|
||||||
$schema_create .= $crlf . ')';
|
|
||||||
|
|
||||||
return $schema_create;
|
return $schema_create;
|
||||||
} // end of the 'PMA_getTableDef()' function
|
} // end of the 'PMA_getTableDef()' function
|
||||||
@ -1515,13 +1516,6 @@ function cut_hangul_last($hangul)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 홀수라면 한글이 반쪽난 상태이므로
|
|
||||||
if (strtoupper($g4['charset']) != 'UTF-8') {
|
|
||||||
if ($cnt%2) {
|
|
||||||
$hangul = substr($hangul, 0, $cnt-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $hangul;
|
return $hangul;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1552,9 +1546,7 @@ function bad_tag_convert($code)
|
|||||||
$code);
|
$code);
|
||||||
}
|
}
|
||||||
|
|
||||||
//return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>/i", "<$1$2$3>", $code);
|
return preg_replace("/\<([\/]?)(script|iframe|form)([^\>]*)\>?/i", "<$1$2$3>", $code);
|
||||||
// script 나 iframe 태그를 막지 않는 경우 필터링이 되도록 수정
|
|
||||||
return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>?/i", "<$1$2$3>", $code);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1733,8 +1725,10 @@ function check_device($device)
|
|||||||
// 게시판 최신글 캐시 파일 삭제
|
// 게시판 최신글 캐시 파일 삭제
|
||||||
function delete_cache_latest($bo_table)
|
function delete_cache_latest($bo_table)
|
||||||
{
|
{
|
||||||
foreach (glob(G4_DATA_PATH.'/cache/latest-'.$bo_table.'-*') as $filename) {
|
$files = glob(G4_DATA_PATH.'/cache/latest-'.$bo_table.'-*');
|
||||||
unlink($filename);
|
if (is_array($files)) {
|
||||||
|
foreach ($files as $filename)
|
||||||
|
unlink($filename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1745,8 +1739,10 @@ function delete_board_thumbnail($bo_table, $file)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
$fn = preg_replace("/\.[^\.]+$/i", "", basename($file));
|
$fn = preg_replace("/\.[^\.]+$/i", "", basename($file));
|
||||||
foreach(glob(G4_DATA_PATH.'/file/'.$bo_table.'/thumb-'.$fn.'*') as $file) {
|
$files = glob(G4_DATA_PATH.'/file/'.$bo_table.'/thumb-'.$fn.'*');
|
||||||
unlink($file);
|
if (is_array($files)) {
|
||||||
|
foreach ($files as $filename)
|
||||||
|
unlink($filename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1757,7 +1753,7 @@ function get_editor_image($contents)
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
// $contents 중 img 태그 추출
|
// $contents 중 img 태그 추출
|
||||||
$pattern = "/<img[^>]*src=[\'\"]?([^>\'\"]+".str_replace(".", "\.", $_SERVER['HTTP_HOST'])."[^>\'\"]+)[\'\"]?[^>]*>/";
|
$pattern = "/<img[^>]*src=[\'\"]?([^>\'\"]+[^>\'\"]+)[\'\"]?[^>]*>/";
|
||||||
preg_match_all($pattern, $contents, $matchs);
|
preg_match_all($pattern, $contents, $matchs);
|
||||||
|
|
||||||
return $matchs;
|
return $matchs;
|
||||||
@ -1782,9 +1778,10 @@ function delete_editor_thumbnail($contents)
|
|||||||
|
|
||||||
$filename = preg_replace("/\.[^\.]+$/i", "", basename($srcfile));
|
$filename = preg_replace("/\.[^\.]+$/i", "", basename($srcfile));
|
||||||
$filepath = dirname($srcfile);
|
$filepath = dirname($srcfile);
|
||||||
|
$files = glob($filepath.'/thumb-'.$filename.'*');
|
||||||
foreach(glob($filepath.'/thumb-'.$filename.'*') as $file) {
|
if (is_array($files)) {
|
||||||
unlink($file);
|
foreach($files as $filename)
|
||||||
|
unlink($filename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1795,16 +1792,9 @@ function get_skin_stylesheet($skin_path)
|
|||||||
if(!$skin_path)
|
if(!$skin_path)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
$doc_root = realpath($_SERVER['DOCUMENT_ROOT']);
|
|
||||||
$skin_path = realpath($skin_path);
|
|
||||||
|
|
||||||
$str = "";
|
$str = "";
|
||||||
|
|
||||||
$p = parse_url(G4_URL);
|
$skin_url = G4_URL.str_replace("\\", "/", str_replace(G4_PATH, "", $skin_path));
|
||||||
$skin_url = $p['scheme'].'://'.$p['host'];
|
|
||||||
if(isset($p['port']))
|
|
||||||
$skin_url .= ':'.$p['port'];
|
|
||||||
$skin_url .= str_replace("\\", "/", str_replace($doc_root, "", $skin_path));
|
|
||||||
|
|
||||||
if(is_dir($skin_path)) {
|
if(is_dir($skin_path)) {
|
||||||
if($dh = opendir($skin_path)) {
|
if($dh = opendir($skin_path)) {
|
||||||
|
|||||||
@ -5,6 +5,7 @@ if (!defined('_GNUBOARD_')) exit;
|
|||||||
function latest($skin_dir='', $bo_table, $rows=10, $subject_len=40)
|
function latest($skin_dir='', $bo_table, $rows=10, $subject_len=40)
|
||||||
{
|
{
|
||||||
global $g4;
|
global $g4;
|
||||||
|
static $css = array();
|
||||||
|
|
||||||
if (!$skin_dir) $skin_dir = 'basic';
|
if (!$skin_dir) $skin_dir = 'basic';
|
||||||
|
|
||||||
@ -38,6 +39,12 @@ function latest($skin_dir='', $bo_table, $rows=10, $subject_len=40)
|
|||||||
|
|
||||||
include_once($cache_file);
|
include_once($cache_file);
|
||||||
|
|
||||||
|
// 같은 스킨은 .css 를 한번만 호출한다.
|
||||||
|
if (!in_array($skin_dir, $css)) {
|
||||||
|
echo '<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">';
|
||||||
|
$css[] = $skin_dir;
|
||||||
|
}
|
||||||
|
|
||||||
ob_start();
|
ob_start();
|
||||||
include $latest_skin_path.'/latest.skin.php';
|
include $latest_skin_path.'/latest.skin.php';
|
||||||
$content = ob_get_contents();
|
$content = ob_get_contents();
|
||||||
|
|||||||
@ -11,9 +11,8 @@ function mailer($fname, $fmail, $to, $subject, $content, $type=0, $file='', $cc=
|
|||||||
// 메일발송 사용을 하지 않는다면
|
// 메일발송 사용을 하지 않는다면
|
||||||
if (!$config['cf_email_use']) return;
|
if (!$config['cf_email_use']) return;
|
||||||
|
|
||||||
$fname = "=?$g4[charset]?B?" . base64_encode($fname) . "?=";
|
$fname = "=?utf-8?B?" . base64_encode($fname) . "?=";
|
||||||
$subject = "=?$g4[charset]?B?" . base64_encode($subject) . "?=";
|
$subject = "=?utf-8?B?" . base64_encode($subject) . "?=";
|
||||||
//$g4[charset] = ($g4[charset] != "") ? "charset=$g4[charset]" : "";
|
|
||||||
|
|
||||||
$header = "Return-Path: <$fmail>\n";
|
$header = "Return-Path: <$fmail>\n";
|
||||||
$header .= "From: $fname <$fmail>\n";
|
$header .= "From: $fname <$fmail>\n";
|
||||||
@ -31,11 +30,11 @@ function mailer($fname, $fmail, $to, $subject, $content, $type=0, $file='', $cc=
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($type) {
|
if ($type) {
|
||||||
$header .= "Content-Type: TEXT/HTML; charset=$g4[charset]\n";
|
$header .= "Content-Type: TEXT/HTML; charset=utf-8\n";
|
||||||
if ($type == 2)
|
if ($type == 2)
|
||||||
$content = nl2br($content);
|
$content = nl2br($content);
|
||||||
} else {
|
} else {
|
||||||
$header .= "Content-Type: TEXT/PLAIN; charset=$g4[charset]\n";
|
$header .= "Content-Type: TEXT/PLAIN; charset=utf-8\n";
|
||||||
$content = stripslashes($content);
|
$content = stripslashes($content);
|
||||||
}
|
}
|
||||||
$header .= "Content-Transfer-Encoding: BASE64\n\n";
|
$header .= "Content-Transfer-Encoding: BASE64\n\n";
|
||||||
|
|||||||
@ -4,15 +4,19 @@ if (!defined('_GNUBOARD_')) exit;
|
|||||||
// 설문조사
|
// 설문조사
|
||||||
function poll($skin_dir='basic', $po_id=false)
|
function poll($skin_dir='basic', $po_id=false)
|
||||||
{
|
{
|
||||||
global $config, $member, $g4;
|
global $config, $member, $g4, $is_admin;
|
||||||
|
|
||||||
// 투표번호가 넘어오지 않았다면 가장 큰(최근에 등록한) 투표번호를 얻는다
|
// 투표번호가 넘어오지 않았다면 가장 큰(최근에 등록한) 투표번호를 얻는다
|
||||||
if (empty($po_id)) {
|
if (!$po_id) {
|
||||||
$po_id = $config['cf_max_po_id'];
|
$row = sql_fetch(" select MAX(po_id) as max_po_id from {$g4['poll_table']} ");
|
||||||
if (empty($po_id))
|
$po_id = $row['max_po_id'];
|
||||||
return "<!-- po_id를 찾을 수 없습니다. -->";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!$po_id)
|
||||||
|
return;
|
||||||
|
|
||||||
|
$po = sql_fetch(" select * from {$g4['poll_table']} where po_id = '$po_id' ");
|
||||||
|
|
||||||
ob_start();
|
ob_start();
|
||||||
if (G4_IS_MOBILE) {
|
if (G4_IS_MOBILE) {
|
||||||
$poll_skin_path = G4_MOBILE_PATH.'/'.G4_SKIN_DIR.'/poll/'.$skin_dir;
|
$poll_skin_path = G4_MOBILE_PATH.'/'.G4_SKIN_DIR.'/poll/'.$skin_dir;
|
||||||
|
|||||||
@ -9,9 +9,71 @@ function it_img_thumb($filename, $filepath, $thumb_width, $thumb_height, $is_cre
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 게시글리스트 썸네일 생성
|
// 게시글리스트 썸네일 생성
|
||||||
function get_list_thumbnail($filename, $filepath, $thumb_width, $thumb_height, $is_create=false, $is_crop=true)
|
function get_list_thumbnail($bo_table, $wr_id, $thumb_width, $thumb_height, $is_create=false, $is_crop=true)
|
||||||
{
|
{
|
||||||
return thumbnail($filename, $filepath, $filepath, $thumb_width, $thumb_height, $is_create, $is_crop);
|
global $g4, $config;
|
||||||
|
$filename = $alt = "";
|
||||||
|
$edt = false;
|
||||||
|
|
||||||
|
$sql = " select bf_file, bf_content from {$g4['board_file_table']}
|
||||||
|
where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_type between '1' and '3' order by bf_no limit 0, 1 ";
|
||||||
|
$row = sql_fetch($sql);
|
||||||
|
|
||||||
|
if($row['bf_file']) {
|
||||||
|
$filename = $row['bf_file'];
|
||||||
|
$filepath = G4_DATA_PATH.'/file/'.$bo_table;
|
||||||
|
$src_url = G4_DATA_URL.'/file/'.$bo_table;
|
||||||
|
$alt = get_text($row['bf_content']);
|
||||||
|
} else {
|
||||||
|
$write_table = $g4['write_prefix'].$bo_table;
|
||||||
|
$sql = " select wr_content from $write_table where wr_id = '$wr_id' ";
|
||||||
|
$write = sql_fetch($sql);
|
||||||
|
$matchs = get_editor_image($write['wr_content']);
|
||||||
|
$edt = true;
|
||||||
|
|
||||||
|
for($i=0; $i<count($matchs[1]); $i++)
|
||||||
|
{
|
||||||
|
// 이미지 path 구함
|
||||||
|
$src_url = $matchs[1][$i];
|
||||||
|
if(!stristr($src_url, G4_URL) || stripos($src_url, G4_URL) != 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$srcfile = G4_PATH.str_replace(G4_URL, "", $matchs[1][$i]);
|
||||||
|
|
||||||
|
if(preg_match("/\.({$config['cf_image_extension']})$/i", $srcfile) && is_file($srcfile)) {
|
||||||
|
$size = @getimagesize($srcfile);
|
||||||
|
if(empty($size))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$filename = basename($srcfile);
|
||||||
|
$filepath = dirname($srcfile);
|
||||||
|
|
||||||
|
preg_match("/alt=[\"\']?([^\"\']*)[\"\']?/", $matchs[0][$i], $malt);
|
||||||
|
$alt = get_text($malt[1]);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$filename)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$tname = thumbnail($filename, $filepath, $filepath, $thumb_width, $thumb_height, $is_create, $is_crop);
|
||||||
|
|
||||||
|
if($tname) {
|
||||||
|
if($edt) {
|
||||||
|
$src = str_replace($filename, $tname, $src_url);
|
||||||
|
} else {
|
||||||
|
$src = $src_url.'/'.$tname;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$thumb = array("src"=>$src, "alt"=>$alt);
|
||||||
|
|
||||||
|
return $thumb;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 게시글보기 썸네일 생성
|
// 게시글보기 썸네일 생성
|
||||||
@ -38,13 +100,15 @@ function get_view_thumbnail($contents)
|
|||||||
// $contents 중 img 태그 추출
|
// $contents 중 img 태그 추출
|
||||||
$matchs = get_editor_image($contents);
|
$matchs = get_editor_image($contents);
|
||||||
|
|
||||||
if(!$matchs)
|
if(empty($matchs))
|
||||||
return $contents;
|
return $contents;
|
||||||
|
|
||||||
for($i=0; $i<count($matchs[1]); $i++) {
|
for($i=0; $i<count($matchs[1]); $i++) {
|
||||||
|
if(!stristr($matchs[1][$i], G4_URL) || stripos($matchs[1][$i], G4_URL) != 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
// 이미지 path 구함
|
// 이미지 path 구함
|
||||||
$imgurl = parse_url($matchs[1][$i]);
|
$srcfile = G4_PATH.str_replace(G4_URL, "", $matchs[1][$i]);
|
||||||
$srcfile = $_SERVER['DOCUMENT_ROOT'].$imgurl['path'];
|
|
||||||
|
|
||||||
if(is_file($srcfile)) {
|
if(is_file($srcfile)) {
|
||||||
// 썸네일 높이
|
// 썸네일 높이
|
||||||
@ -89,7 +153,8 @@ function get_view_thumbnail($contents)
|
|||||||
|
|
||||||
// $img_tag에 editor 경로가 있으면 원본보기 링크 추가
|
// $img_tag에 editor 경로가 있으면 원본보기 링크 추가
|
||||||
if(strpos($matchs[1][$i], 'data/editor') && preg_match("/\.({$config['cf_image_extension']})$/i", $filename)) {
|
if(strpos($matchs[1][$i], 'data/editor') && preg_match("/\.({$config['cf_image_extension']})$/i", $filename)) {
|
||||||
$thumb_tag = '<a href="'.G4_BBS_URL.'/view_image.php?fn='.urlencode($imgurl['path']).'" target="_blank" class="view_image">'.$thumb_tag.'</a>';
|
$imgurl = str_replace(G4_URL, "", $matchs[1][$i]);
|
||||||
|
$thumb_tag = '<a href="'.G4_BBS_URL.'/view_image.php?fn='.urlencode($imgurl).'" target="_blank" class="view_image">'.$thumb_tag.'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
$contents = str_replace($img_tag, $thumb_tag, $contents);
|
$contents = str_replace($img_tag, $thumb_tag, $contents);
|
||||||
@ -104,6 +169,8 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
|
|||||||
{
|
{
|
||||||
global $g4;
|
global $g4;
|
||||||
|
|
||||||
|
if ($thumb_width==0 || $thumb_height==0) return;
|
||||||
|
|
||||||
$thumb_filename = preg_replace("/\.[^\.]+$/i", "", $filename); // 확장자제거
|
$thumb_filename = preg_replace("/\.[^\.]+$/i", "", $filename); // 확장자제거
|
||||||
|
|
||||||
if (!is_dir($target_path)) {
|
if (!is_dir($target_path)) {
|
||||||
|
|||||||
@ -40,12 +40,7 @@ function get_brow($agent)
|
|||||||
|
|
||||||
//echo $agent; echo "<br/>";
|
//echo $agent; echo "<br/>";
|
||||||
|
|
||||||
if (preg_match("/msie 5.0[0-9]*/", $agent)) { $s = "MSIE 5.0"; }
|
if (preg_match("/msie ([1-9][0-9]\.[0-9]+)/", $agent, $m)) { $s = 'MSIE '.$m[1]; }
|
||||||
else if(preg_match("/msie 5.5[0-9]*/", $agent)) { $s = "MSIE 5.5"; }
|
|
||||||
else if(preg_match("/msie 6.0[0-9]*/", $agent)) { $s = "MSIE 6.0"; }
|
|
||||||
else if(preg_match("/msie 7.0[0-9]*/", $agent)) { $s = "MSIE 7.0"; }
|
|
||||||
else if(preg_match("/msie 8.0[0-9]*/", $agent)) { $s = "MSIE 8.0"; }
|
|
||||||
else if(preg_match("/msie 4.[0-9]*/", $agent)) { $s = "MSIE 4.x"; }
|
|
||||||
else if(preg_match("/firefox/", $agent)) { $s = "FireFox"; }
|
else if(preg_match("/firefox/", $agent)) { $s = "FireFox"; }
|
||||||
else if(preg_match("/chrome/", $agent)) { $s = "Chrome"; }
|
else if(preg_match("/chrome/", $agent)) { $s = "Chrome"; }
|
||||||
else if(preg_match("/x11/", $agent)) { $s = "Netscape"; }
|
else if(preg_match("/x11/", $agent)) { $s = "Netscape"; }
|
||||||
@ -73,6 +68,7 @@ function get_os($agent)
|
|||||||
else if(preg_match("/windows nt 5\.2/", $agent)) { $s = "2003"; }
|
else if(preg_match("/windows nt 5\.2/", $agent)) { $s = "2003"; }
|
||||||
else if(preg_match("/windows nt 6\.0/", $agent)) { $s = "Vista"; }
|
else if(preg_match("/windows nt 6\.0/", $agent)) { $s = "Vista"; }
|
||||||
else if(preg_match("/windows nt 6\.1/", $agent)) { $s = "Windows7"; }
|
else if(preg_match("/windows nt 6\.1/", $agent)) { $s = "Windows7"; }
|
||||||
|
else if(preg_match("/windows nt 6\.2/", $agent)) { $s = "Windows8"; }
|
||||||
else if(preg_match("/windows 9x/", $agent)) { $s = "ME"; }
|
else if(preg_match("/windows 9x/", $agent)) { $s = "ME"; }
|
||||||
else if(preg_match("/windows ce/", $agent)) { $s = "CE"; }
|
else if(preg_match("/windows ce/", $agent)) { $s = "CE"; }
|
||||||
else if(preg_match("/mac/", $agent)) { $s = "MAC"; }
|
else if(preg_match("/mac/", $agent)) { $s = "MAC"; }
|
||||||
|
|||||||
@ -140,7 +140,7 @@ if ($is_nogood) $colspan++;
|
|||||||
<option value="wr_name,1"<?=get_selected($sfl, 'wr_name,1');?>>글쓴이</option>
|
<option value="wr_name,1"<?=get_selected($sfl, 'wr_name,1');?>>글쓴이</option>
|
||||||
<option value="wr_name,0"<?=get_selected($sfl, 'wr_name,0');?>>글쓴이(코)</option>
|
<option value="wr_name,0"<?=get_selected($sfl, 'wr_name,0');?>>글쓴이(코)</option>
|
||||||
</select>
|
</select>
|
||||||
<input name="stx" value="<?=stripslashes($stx)?>" title="검색어(필수)" required class="required" size="15" maxlength="15">
|
<input name="stx" value="<?=stripslashes($stx)?>" title="검색어(필수)" required class="required" size="15" maxlength="15">
|
||||||
<input type="submit" value="검색">
|
<input type="submit" value="검색">
|
||||||
</form>
|
</form>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|||||||
@ -1,5 +1,16 @@
|
|||||||
/* 게시판 목록 */
|
/* 게시판 목록 */
|
||||||
#bo_list_title {padding:0 1em}
|
#bo_list_title {padding:0 1em}
|
||||||
|
|
||||||
|
#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||||
|
#bo_cate ul {margin:0.5em 1em;padding-left:1px;zoom:1}
|
||||||
|
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||||
|
#bo_cate li {float:left;margin-bottom:-1px;width:25%}
|
||||||
|
#bo_cate a {display:block;position:relative;margin-left:-1px;padding:0.4em 0;border:1px solid #ddd;background:#f7f7f7;color:#888;text-align:center;text-decoration:none;letter-spacing:-0.1em}
|
||||||
|
#bo_cate a:focus,
|
||||||
|
#bo_cate a:hover,
|
||||||
|
#bo_cate a:active {text-decoration:none}
|
||||||
|
#bo_cate #bo_cate_on {z-index:2;border:1px solid #565e60;background:#fff;color:#565e60;font-weight:bold}
|
||||||
|
|
||||||
.bo_list table {margin-bottom:1.5em;width:100%;border-collapse:collapse;border-spacing:0}
|
.bo_list table {margin-bottom:1.5em;width:100%;border-collapse:collapse;border-spacing:0}
|
||||||
|
|
||||||
.bo_list th {}
|
.bo_list th {}
|
||||||
|
|||||||
@ -40,7 +40,7 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
|||||||
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
|
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
|
||||||
?>
|
?>
|
||||||
<li>
|
<li>
|
||||||
<a href="<? echo $view['file'][$i]['href']; ?>" onclick="javascript:file_download('<? echo $view['file'][$i]['href'].'&confirm=yes'; ?>', '<?=$view['file'][$i]['source']?>'); return false;">
|
<a href="<? echo $view['file'][$i]['href']; ?>" class="view_file_download">
|
||||||
<img src="<?=$board_skin_url?>/img/icon_file.gif" alt="첨부파일">
|
<img src="<?=$board_skin_url?>/img/icon_file.gif" alt="첨부파일">
|
||||||
<strong><?=$view['file'][$i]['source']?></strong>
|
<strong><?=$view['file'][$i]['source']?></strong>
|
||||||
<span> (<?=$view['file'][$i]['size']?>)</span>
|
<span> (<?=$view['file'][$i]['size']?>)</span>
|
||||||
@ -183,10 +183,22 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
|||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function file_download(link, file) {
|
<? if ($board['bo_download_point'] < 0) { ?>
|
||||||
<? if ($board['bo_download_point'] < 0) { ?>if (confirm("'"+file+"' 파일을 다운로드 하시면 포인트가 차감(<?=number_format($board['bo_download_point'])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?"))<?}?>
|
$(function() {
|
||||||
document.location.href=link;
|
$("a.view_file_download").click(function() {
|
||||||
}
|
var msg = "파일을 다운로드 하시면 포인트가 차감(<?=number_format($board['bo_download_point'])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?";
|
||||||
|
|
||||||
|
if(confirm(msg)) {
|
||||||
|
var href = $(this).attr("href")+"&js=on";
|
||||||
|
$(this).attr("href", href);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
<?}?>
|
||||||
|
|
||||||
function board_move(href)
|
function board_move(href)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -62,7 +62,7 @@ var char_max = parseInt(<?=$comment_max?>); // 최대
|
|||||||
<ul class="bo_vc_act">
|
<ul class="bo_vc_act">
|
||||||
<? if ($list[$i]['is_reply']) { ?><li><a href="<? echo $c_reply_href; ?>" onclick="comment_box('<?=$comment_id?>', 'c'); return false;">답변</a></li><? } ?>
|
<? if ($list[$i]['is_reply']) { ?><li><a href="<? echo $c_reply_href; ?>" onclick="comment_box('<?=$comment_id?>', 'c'); return false;">답변</a></li><? } ?>
|
||||||
<? if ($list[$i]['is_edit']) { ?><li><a href="<? echo $c_edit_href; ?>" onclick="comment_box('<?=$comment_id?>', 'cu'); return false;">수정</a></li><? } ?>
|
<? if ($list[$i]['is_edit']) { ?><li><a href="<? echo $c_edit_href; ?>" onclick="comment_box('<?=$comment_id?>', 'cu'); return false;">수정</a></li><? } ?>
|
||||||
<? if ($list[$i]['is_del']) { ?><li><a href="<? echo $list[$i]['del_link']; ?>" onclick="comment_delete('<?=$list[$i]['del_link']?>'); return false;">삭제</a></li><? } ?>
|
<? if ($list[$i]['is_del']) { ?><li><a href="<? echo $list[$i]['del_link']; ?>" onclick="return comment_delete();">삭제</a></li><? } ?>
|
||||||
</ul>
|
</ul>
|
||||||
</footer>
|
</footer>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
@ -195,17 +195,17 @@ var char_max = parseInt(<?=$comment_max?>); // 최대
|
|||||||
var cnt = parseInt(document.getElementById('char_count').innerHTML);
|
var cnt = parseInt(document.getElementById('char_count').innerHTML);
|
||||||
if (char_min > 0 && char_min > cnt)
|
if (char_min > 0 && char_min > cnt)
|
||||||
{
|
{
|
||||||
alert("댓글는 "+char_min+"글자 이상 쓰셔야 합니다.");
|
alert("댓글은 "+char_min+"글자 이상 쓰셔야 합니다.");
|
||||||
return false;
|
return false;
|
||||||
} else if (char_max > 0 && char_max < cnt)
|
} else if (char_max > 0 && char_max < cnt)
|
||||||
{
|
{
|
||||||
alert("댓글는 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
alert("댓글은 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!document.getElementById('wr_content').value)
|
else if (!document.getElementById('wr_content').value)
|
||||||
{
|
{
|
||||||
alert("댓글를 입력하여 주십시오.");
|
alert("댓글을 입력하여 주십시오.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -279,9 +279,9 @@ var char_max = parseInt(<?=$comment_max?>); // 최대
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function comment_delete(url)
|
function comment_delete()
|
||||||
{
|
{
|
||||||
if (confirm("이 댓글를 삭제하시겠습니까?")) location.href = url;
|
return confirm("이 댓글을 삭제하시겠습니까?");
|
||||||
}
|
}
|
||||||
|
|
||||||
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
||||||
|
|||||||
@ -87,13 +87,10 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
|||||||
<strong style="width:<?=$board['bo_mobile_gallery_width']?>px;height:<?=$board['bo_mobile_gallery_height']?>px">공지</strong>
|
<strong style="width:<?=$board['bo_mobile_gallery_width']?>px;height:<?=$board['bo_mobile_gallery_height']?>px">공지</strong>
|
||||||
<?
|
<?
|
||||||
} else {
|
} else {
|
||||||
$file = get_list_file($bo_table, $list[$i]['wr_id']);
|
$thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_mobile_gallery_width'], $board['bo_mobile_gallery_height']);
|
||||||
|
|
||||||
$filepath = G4_DATA_PATH.'/file/'.$bo_table;
|
if($thumb['src']) {
|
||||||
if(preg_match("/\.({$config['cf_image_extension']})$/i", $file['bf_file']) && is_file($filepath.'/'.$file['bf_file'])) {
|
$img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" width="'.$board['bo_mobile_gallery_width'].'" height="'.$board['bo_mobile_gallery_height'].'">';
|
||||||
$thumb = get_list_thumbnail($file['bf_file'], $filepath, $board['bo_mobile_gallery_width'], $board['bo_mobile_gallery_height']);
|
|
||||||
$imgsrc = G4_DATA_URL.'/file/'.$bo_table.'/'.$thumb;
|
|
||||||
$img_content = '<img src="'.$imgsrc.'" alt="'.$file['bf_content'].'" width="'.$board['bo_mobile_gallery_width'].'" height="'.$board['bo_mobile_gallery_height'].'">';
|
|
||||||
} else {
|
} else {
|
||||||
$img_content = '<span style="width:'.$board['bo_mobile_gallery_width'].'px;height:'.$board['bo_mobile_gallery_height'].'px">no image</span>';
|
$img_content = '<span style="width:'.$board['bo_mobile_gallery_width'].'px;height:'.$board['bo_mobile_gallery_height'].'px">no image</span>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,17 @@
|
|||||||
#bo_img h2 {margin:0;padding:0;width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
#bo_img h2 {margin:0;padding:0;width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||||
#bo_img_list {margin:1em 0 0;padding:0 1em;list-style:none}
|
#bo_img_list {margin:1em 0 0;padding:0 1em;list-style:none}
|
||||||
#bo_img_list:after {display:block;visibility:hidden;clear:both;content:""}
|
#bo_img_list:after {display:block;visibility:hidden;clear:both;content:""}
|
||||||
|
|
||||||
|
#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||||
|
#bo_cate ul {margin:0.5em 1em;padding-left:1px;zoom:1}
|
||||||
|
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||||
|
#bo_cate li {float:left;margin-bottom:-1px;width:25%}
|
||||||
|
#bo_cate a {display:block;position:relative;margin-left:-1px;padding:0.4em 0;border:1px solid #ddd;background:#f7f7f7;color:#888;text-align:center;text-decoration:none;letter-spacing:-0.1em}
|
||||||
|
#bo_cate a:focus,
|
||||||
|
#bo_cate a:hover,
|
||||||
|
#bo_cate a:active {text-decoration:none}
|
||||||
|
#bo_cate #bo_cate_on {z-index:2;border:1px solid #565e60;background:#fff;color:#565e60;font-weight:bold}
|
||||||
|
|
||||||
.bo_img_list_li {float:left;margin:0 0 2em}
|
.bo_img_list_li {float:left;margin:0 0 2em}
|
||||||
|
|
||||||
.bo_img_con {margin:0;padding:0;list-style:none}
|
.bo_img_con {margin:0;padding:0;list-style:none}
|
||||||
|
|||||||
@ -40,7 +40,7 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
|||||||
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
|
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
|
||||||
?>
|
?>
|
||||||
<li>
|
<li>
|
||||||
<a href="<? echo $view['file'][$i]['href']; ?>" onclick="javascript:file_download('<? echo $view['file'][$i]['href'].'&confirm=yes'; ?>', '<?=$view['file'][$i]['source']?>'); return false;">
|
<a href="<? echo $view['file'][$i]['href']; ?>" class="view_file_download">
|
||||||
<img src="<?=$board_skin_url?>/img/icon_file.gif" alt="첨부파일">
|
<img src="<?=$board_skin_url?>/img/icon_file.gif" alt="첨부파일">
|
||||||
<strong><?=$view['file'][$i]['source']?></strong>
|
<strong><?=$view['file'][$i]['source']?></strong>
|
||||||
<span> (<?=$view['file'][$i]['size']?>)</span>
|
<span> (<?=$view['file'][$i]['size']?>)</span>
|
||||||
@ -182,10 +182,22 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
|||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function file_download(link, file) {
|
<? if ($board['bo_download_point'] < 0) { ?>
|
||||||
<? if ($board['bo_download_point'] < 0) { ?>if (confirm("'"+file+"' 파일을 다운로드 하시면 포인트가 차감(<?=number_format($board['bo_download_point'])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?"))<?}?>
|
$(function() {
|
||||||
document.location.href=link;
|
$("a.view_file_download").click(function() {
|
||||||
}
|
var msg = "파일을 다운로드 하시면 포인트가 차감(<?=number_format($board['bo_download_point'])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?";
|
||||||
|
|
||||||
|
if(confirm(msg)) {
|
||||||
|
var href = $(this).attr("href")+"&js=on";
|
||||||
|
$(this).attr("href", href);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
<?}?>
|
||||||
|
|
||||||
function board_move(href)
|
function board_move(href)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -62,7 +62,7 @@ var char_max = parseInt(<?=$comment_max?>); // 최대
|
|||||||
<ul class="bo_vc_act">
|
<ul class="bo_vc_act">
|
||||||
<? if ($list[$i]['is_reply']) { ?><li><a href="<? echo $c_reply_href; ?>" onclick="comment_box('<?=$comment_id?>', 'c'); return false;">답변</a></li><? } ?>
|
<? if ($list[$i]['is_reply']) { ?><li><a href="<? echo $c_reply_href; ?>" onclick="comment_box('<?=$comment_id?>', 'c'); return false;">답변</a></li><? } ?>
|
||||||
<? if ($list[$i]['is_edit']) { ?><li><a href="<? echo $c_edit_href; ?>" onclick="comment_box('<?=$comment_id?>', 'cu'); return false;">수정</a></li><? } ?>
|
<? if ($list[$i]['is_edit']) { ?><li><a href="<? echo $c_edit_href; ?>" onclick="comment_box('<?=$comment_id?>', 'cu'); return false;">수정</a></li><? } ?>
|
||||||
<? if ($list[$i]['is_del']) { ?><li><a href="<? echo $list[$i]['del_link']; ?>" onclick="comment_delete('<?=$list[$i]['del_link']?>'); return false;">삭제</a></li><? } ?>
|
<? if ($list[$i]['is_del']) { ?><li><a href="<? echo $list[$i]['del_link']; ?>" onclick="return comment_delete();">삭제</a></li><? } ?>
|
||||||
</ul>
|
</ul>
|
||||||
</footer>
|
</footer>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
@ -195,17 +195,17 @@ var char_max = parseInt(<?=$comment_max?>); // 최대
|
|||||||
var cnt = parseInt(document.getElementById('char_count').innerHTML);
|
var cnt = parseInt(document.getElementById('char_count').innerHTML);
|
||||||
if (char_min > 0 && char_min > cnt)
|
if (char_min > 0 && char_min > cnt)
|
||||||
{
|
{
|
||||||
alert("댓글는 "+char_min+"글자 이상 쓰셔야 합니다.");
|
alert("댓글은 "+char_min+"글자 이상 쓰셔야 합니다.");
|
||||||
return false;
|
return false;
|
||||||
} else if (char_max > 0 && char_max < cnt)
|
} else if (char_max > 0 && char_max < cnt)
|
||||||
{
|
{
|
||||||
alert("댓글는 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
alert("댓글은 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!document.getElementById('wr_content').value)
|
else if (!document.getElementById('wr_content').value)
|
||||||
{
|
{
|
||||||
alert("댓글를 입력하여 주십시오.");
|
alert("댓글을 입력하여 주십시오.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -279,9 +279,9 @@ var char_max = parseInt(<?=$comment_max?>); // 최대
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function comment_delete(url)
|
function comment_delete()
|
||||||
{
|
{
|
||||||
if (confirm("이 댓글를 삭제하시겠습니까?")) location.href = url;
|
return confirm("이 댓글을 삭제하시겠습니까?");
|
||||||
}
|
}
|
||||||
|
|
||||||
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
||||||
|
|||||||
@ -130,7 +130,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
</tr>
|
</tr>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
|
|
||||||
<? if ($member['mb_level'] >= $config['cf_icon_level']) { ?>
|
<? if ($config['cf_use_member_icon'] && $member['mb_level'] >= $config['cf_icon_level']) { ?>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="reg_mb_icon">회원아이콘</label></th>
|
<th scope="row"><label for="reg_mb_icon">회원아이콘</label></th>
|
||||||
<td>
|
<td>
|
||||||
|
|||||||
@ -60,7 +60,7 @@
|
|||||||
#mb_confirm p {padding:1.5em 1em;border-bottom:1px solid #cfded8;border-bottom:0;background:#fff}
|
#mb_confirm p {padding:1.5em 1em;border-bottom:1px solid #cfded8;border-bottom:0;background:#fff}
|
||||||
#mb_confirm p strong {display:block}
|
#mb_confirm p strong {display:block}
|
||||||
#mb_confirm fieldset {position:relative;margin:0 0 3em;padding:2em 1em;border-bottom:1px solid #cfded8;background:#f7f7f7}
|
#mb_confirm fieldset {position:relative;margin:0 0 3em;padding:2em 1em;border-bottom:1px solid #cfded8;background:#f7f7f7}
|
||||||
#mb_confirm_pw {display:block;margin-top:1em;padding:0;width:80%;line-height:1.8em}
|
#mb_confirm_pw {display:block;margin-top:1em;padding:0;width:80%;line-height:1.8em !important}
|
||||||
#mb_confirm .btn_submit {position:absolute;bottom:2em;right:1em;width:18%;height:1.9em !important;line-height:1.9em}
|
#mb_confirm .btn_submit {position:absolute;bottom:2em;right:1em;width:18%;height:1.9em !important;line-height:1.9em}
|
||||||
|
|
||||||
/* 비밀글 패스워드 확인 */
|
/* 비밀글 패스워드 확인 */
|
||||||
@ -69,7 +69,7 @@
|
|||||||
#pw_confirm p {padding:1.5em 1em;border-bottom:1px solid #cfded8;border-bottom:0;background:#fff}
|
#pw_confirm p {padding:1.5em 1em;border-bottom:1px solid #cfded8;border-bottom:0;background:#fff}
|
||||||
#pw_confirm p strong {display:block}
|
#pw_confirm p strong {display:block}
|
||||||
#pw_confirm fieldset {position:relative;margin:0 0 3em;padding:0.5em 0.5em 1em;border-bottom:1px solid #cfded8;background:#f7f7f7}
|
#pw_confirm fieldset {position:relative;margin:0 0 3em;padding:0.5em 0.5em 1em;border-bottom:1px solid #cfded8;background:#f7f7f7}
|
||||||
#pw_wr_password {display:block;margin-top:1em;padding:0;width:80%;line-height:1.8em}
|
#pw_wr_password {display:block;margin-top:1em;padding:0;width:80%;line-height:1.8em !important}
|
||||||
#pw_confirm .btn_submit {position:absolute;bottom:1em;right:0.5em;width:18%;height:1.9em !important;line-height:1.9em}
|
#pw_confirm .btn_submit {position:absolute;bottom:1em;right:0.5em;width:18%;height:1.9em !important;line-height:1.9em}
|
||||||
|
|
||||||
/* 폼메일 */
|
/* 폼메일 */
|
||||||
|
|||||||
@ -109,6 +109,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="mb_zip1"value="<?=$member['mb_zip1']?>" id="reg_mb_zip1" title="우편번호 앞자리" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3" <?=$config['cf_req_addr']?"required":"";?> >
|
<input type="text" name="mb_zip1"value="<?=$member['mb_zip1']?>" id="reg_mb_zip1" title="우편번호 앞자리" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3" <?=$config['cf_req_addr']?"required":"";?> >
|
||||||
|
-
|
||||||
<input type="text" name="mb_zip2" value="<?=$member['mb_zip2']?>" id="reg_mb_zip2" title="우편번호 뒷자리" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3" <?=$config['cf_req_addr']?"required":"";?>>
|
<input type="text" name="mb_zip2" value="<?=$member['mb_zip2']?>" id="reg_mb_zip2" title="우편번호 뒷자리" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3" <?=$config['cf_req_addr']?"required":"";?>>
|
||||||
<a href="<? echo $zip_href; ?>" target="_blank" id="reg_zip_find" class="btn_frmline win_zip_find">주소찾기</a>
|
<a href="<? echo $zip_href; ?>" target="_blank" id="reg_zip_find" class="btn_frmline win_zip_find">주소찾기</a>
|
||||||
<input type="text" name="mb_addr1" value="<?=$member['mb_addr1']?>" id="reg_mb_addr1" title="행정구역주소" class="frm_input frm_address <?=$config['cf_req_addr']?"required":"";?>" size="50" <?=$config['cf_req_addr']?"required":"";?>>
|
<input type="text" name="mb_addr1" value="<?=$member['mb_addr1']?>" id="reg_mb_addr1" title="행정구역주소" class="frm_input frm_address <?=$config['cf_req_addr']?"required":"";?>" size="50" <?=$config['cf_req_addr']?"required":"";?>>
|
||||||
@ -134,7 +135,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
</tr>
|
</tr>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
|
|
||||||
<? if ($member['mb_level'] >= $config['cf_icon_level']) { ?>
|
<? if ($config['cf_use_member_icon'] && $member['mb_level'] >= $config['cf_icon_level']) { ?>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="reg_mb_icon">회원아이콘</label></th>
|
<th scope="row"><label for="reg_mb_icon">회원아이콘</label></th>
|
||||||
<td>
|
<td>
|
||||||
|
|||||||
@ -10,8 +10,8 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
|||||||
<form name="foutlogin" action="<?=$outlogin_action_url?>" onsubmit="return fhead_submit(this);" method="post" autocomplete="off">
|
<form name="foutlogin" action="<?=$outlogin_action_url?>" onsubmit="return fhead_submit(this);" method="post" autocomplete="off">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<input type="hidden" name="url" value="<?=$outlogin_url?>">
|
<input type="hidden" name="url" value="<?=$outlogin_url?>">
|
||||||
<input type="text" name="mb_id" id="ol_id" title="회원아이디(필수)" placeholder="회원아이디(필수)" required class="required" maxlength="20">
|
<input type="text" name="mb_id" id="ol_id" placeholder="회원아이디(필수)" required class="required" maxlength="20">
|
||||||
<input type="password" id="ol_pw" name="mb_password" title="패스워드(필수)" placeholder="패스워드(필수)" required class="required" maxlength="20">
|
<input type="password" id="ol_pw" name="mb_password" placeholder="패스워드(필수)" required class="required" maxlength="20">
|
||||||
<input type="submit" id="ol_submit" value="로그인">
|
<input type="submit" id="ol_submit" value="로그인">
|
||||||
<div id="ol_svc">
|
<div id="ol_svc">
|
||||||
<input type="checkbox" id="auto_login" name="auto_login" value="1">
|
<input type="checkbox" id="auto_login" name="auto_login" value="1">
|
||||||
|
|||||||
@ -1,19 +1,8 @@
|
|||||||
<?
|
<?
|
||||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||||
|
|
||||||
global $is_admin;
|
|
||||||
|
|
||||||
// 투표번호가 넘어오지 않았다면 가장 큰(최근에 등록한) 투표번호를 얻는다
|
|
||||||
if (!$po_id) {
|
|
||||||
$po_id = $config['cf_max_po_id'];
|
|
||||||
|
|
||||||
if (!$po_id) return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$po = sql_fetch(" select * from {$g4['poll_table']} where po_id = '$po_id' ");
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<form name="fpoll" action="<?=G4_BBS_URL?>/poll_update.php" onsubmit="return fpoll_submit(this);" target="win_poXll" method="post">
|
<form name="fpoll" action="<?=G4_BBS_URL?>/poll_update.php" onsubmit="return fpoll_submit(this);" target="win_poll" method="post">
|
||||||
<input type="hidden" name="po_id" value="<?=$po_id?>">
|
<input type="hidden" name="po_id" value="<?=$po_id?>">
|
||||||
<input type="hidden" name="skin_dir" value="<?=$skin_dir?>">
|
<input type="hidden" name="skin_dir" value="<?=$skin_dir?>">
|
||||||
<section id="poll">
|
<section id="poll">
|
||||||
@ -55,7 +44,7 @@ function fpoll_submit(f)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
win_poll();
|
win_poll(f.action);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -33,7 +33,10 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
<?=visit("basic"); // 방문자수 ?>
|
<?=visit("basic"); // 방문자수 ?>
|
||||||
<div id="ft_catch"><a href="<?=$g4['url']?>/"><img src="<?=G4_IMG_URL?>/ft_catch.jpg" alt="Sharing All Possibilities"></a></div>
|
<div id="ft_catch"><a href="<?=$g4['url']?>/"><img src="<?=G4_IMG_URL?>/ft_catch.jpg" alt="Sharing All Possibilities"></a></div>
|
||||||
<div id="ft_copy">
|
<div id="ft_copy">
|
||||||
<p>Copyright © <b>소유하신 도메인.</b> All rights reserved.</p>
|
<p>
|
||||||
|
Copyright © <b>소유하신 도메인.</b> All rights reserved.<br>
|
||||||
|
<a href="#">상단으로</a>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
|
|||||||
@ -54,7 +54,7 @@ if (!($it['ca_use'] && $it['it_use'])) {
|
|||||||
|
|
||||||
// 분류 테이블에서 분류 상단, 하단 코드를 얻음
|
// 분류 테이블에서 분류 상단, 하단 코드를 얻음
|
||||||
$sql = " select ca_include_head, ca_include_tail
|
$sql = " select ca_include_head, ca_include_tail
|
||||||
from $g4['yc4_category_table']
|
from {$g4['yc4_category_table']}
|
||||||
where ca_id = '{$it['ca_id']}' ";
|
where ca_id = '{$it['ca_id']}' ";
|
||||||
$ca = sql_fetch($sql);
|
$ca = sql_fetch($sql);
|
||||||
|
|
||||||
@ -132,7 +132,7 @@ $item_relation_count = $row['cnt'];
|
|||||||
<table width=99% cellpadding=0 cellspacing=0 align=center border=0><tr><td>
|
<table width=99% cellpadding=0 cellspacing=0 align=center border=0><tr><td>
|
||||||
|
|
||||||
<?
|
<?
|
||||||
if (G4_HTTPS_DOMAIN])
|
if (G4_HTTPS_DOMAIN)
|
||||||
$action_url = G4_HTTPS_DOMAIN.'/'.G4_SHOP_DIR.'/cartupdate.php';
|
$action_url = G4_HTTPS_DOMAIN.'/'.G4_SHOP_DIR.'/cartupdate.php';
|
||||||
else
|
else
|
||||||
$action_url = './cartupdate.php';
|
$action_url = './cartupdate.php';
|
||||||
@ -360,7 +360,7 @@ else
|
|||||||
<tr>
|
<tr>
|
||||||
<td width=30></td>
|
<td width=30></td>
|
||||||
<!-- 상품정보 --><td><a href="javascript:click_item('*');"><img src='<?=G4_SHOP_URL?>/img/btn_tab01.gif' border=0></a></td>
|
<!-- 상품정보 --><td><a href="javascript:click_item('*');"><img src='<?=G4_SHOP_URL?>/img/btn_tab01.gif' border=0></a></td>
|
||||||
<!-- 사용후기 --><td width=109 background='<?=G4_SHOP_URL?>/btn_tab02.gif' border=0 style='padding-top:2px;'> <a href="javascript:click_item('item_use');" style="cursor:pointer;"> <span class=small style='color:#ff5d00;'>(<span id=item_use_count>0</span>)</span></a></td>
|
<!-- 사용후기 --><td width=109 background='<?=G4_SHOP_URL?>/img/btn_tab02.gif' border=0 style='padding-top:2px;'> <a href="javascript:click_item('item_use');" style="cursor:pointer;"> <span class=small style='color:#ff5d00;'>(<span id=item_use_count>0</span>)</span></a></td>
|
||||||
<!-- 상품문의 --><td width=109 background='<?=G4_SHOP_URL?>/img/btn_tab03.gif' border=0 style='padding-top:2px;'> <a href="javascript:click_item('item_qa');" style="cursor:pointer;"> <span class=small style='color:#ff5d00;'>(<span id=item_qa_count>0</span>)</span></a></td>
|
<!-- 상품문의 --><td width=109 background='<?=G4_SHOP_URL?>/img/btn_tab03.gif' border=0 style='padding-top:2px;'> <a href="javascript:click_item('item_qa');" style="cursor:pointer;"> <span class=small style='color:#ff5d00;'>(<span id=item_qa_count>0</span>)</span></a></td>
|
||||||
<? if ($default['de_baesong_content']) { ?><!-- 배송정보 --><td><a href="javascript:click_item('item_baesong');"><img src='<?=G4_SHOP_URL?>/img/btn_tab04.gif' border=0></a></td><?}?>
|
<? if ($default['de_baesong_content']) { ?><!-- 배송정보 --><td><a href="javascript:click_item('item_baesong');"><img src='<?=G4_SHOP_URL?>/img/btn_tab04.gif' border=0></a></td><?}?>
|
||||||
<? if ($default['de_change_content']) { ?><!-- 교환/반품 --><td><a href="javascript:click_item('item_change');"><img src='<?=G4_SHOP_URL?>/img/btn_tab05.gif' border=0></a></td><?}?>
|
<? if ($default['de_change_content']) { ?><!-- 교환/반품 --><td><a href="javascript:click_item('item_change');"><img src='<?=G4_SHOP_URL?>/img/btn_tab05.gif' border=0></a></td><?}?>
|
||||||
@ -751,7 +751,7 @@ echo stripslashes($it['it_tail_html']);
|
|||||||
|
|
||||||
$timg = G4_DATA_PATH."/item/{$it_id}_t";
|
$timg = G4_DATA_PATH."/item/{$it_id}_t";
|
||||||
if (file_exists($timg))
|
if (file_exists($timg))
|
||||||
echo "<img src='"G4_DATA_URL."/item/{$it_id}_t' border=0><br>";
|
echo "<img src='".G4_DATA_URL."/item/{$it_id}_t' border=0><br>";
|
||||||
|
|
||||||
if ($ca['ca_include_tail'])
|
if ($ca['ca_include_tail'])
|
||||||
@include_once($ca['ca_include_tail']);
|
@include_once($ca['ca_include_tail']);
|
||||||
|
|||||||
@ -42,7 +42,7 @@ include_once(G4_LIB_PATH.'/thumb.lib.php');
|
|||||||
for ($i=0; $row=sql_fetch_array($result); $i++)
|
for ($i=0; $row=sql_fetch_array($result); $i++)
|
||||||
{
|
{
|
||||||
if ($i > 0)
|
if ($i > 0)
|
||||||
echo "<tr><td colspan=3 background='"G4_SHOP_URL."/img/dot_line.gif' height='1'></td></tr>";
|
echo "<tr><td colspan=3 background='".G4_SHOP_URL."/img/dot_line.gif' height='1'></td></tr>";
|
||||||
|
|
||||||
$num = $use_total_count - ($use_page - 1) * $use_page_rows - $i;
|
$num = $use_total_count - ($use_page - 1) * $use_page_rows - $i;
|
||||||
|
|
||||||
|
|||||||
@ -5,6 +5,7 @@ $sql = " select it_name from {$g4['yc4_item_table']} where it_id='$it_id' ";
|
|||||||
$row = sql_fetch_array(sql_query($sql));
|
$row = sql_fetch_array(sql_query($sql));
|
||||||
|
|
||||||
$imagefile = G4_DATA_PATH."/item/$img";
|
$imagefile = G4_DATA_PATH."/item/$img";
|
||||||
|
$imagefileurl = G4_DATA_URL."/item/$img";
|
||||||
$size = getimagesize($imagefile);
|
$size = getimagesize($imagefile);
|
||||||
|
|
||||||
$g4['title'] = "{$row['it_name']} ($it_id)";
|
$g4['title'] = "{$row['it_name']} ($it_id)";
|
||||||
@ -12,7 +13,7 @@ include_once(G4_PATH.'/head.sub.php');
|
|||||||
?>
|
?>
|
||||||
<br>
|
<br>
|
||||||
<div align=center>
|
<div align=center>
|
||||||
<a href='#' onclick='window.close();'><img id='largeimage' src='<?=$imagefile?>' width='<?=$size[0]?>' height='<?=$size[1]?>' alt='<?=$row['it_name']?>' border=0 style='border:1 solid #E4E4E4;'></a>
|
<a href='#' onclick='window.close();'><img id='largeimage' src='<?=$imagefileurl?>' width='<?=$size[0]?>' height='<?=$size[1]?>' alt='<?=$row['it_name']?>' border=0 style='border:1 solid #E4E4E4;'></a>
|
||||||
</div>
|
</div>
|
||||||
<p>
|
<p>
|
||||||
<table width=100% cellpadding=0 cellspacing=0>
|
<table width=100% cellpadding=0 cellspacing=0>
|
||||||
|
|||||||
@ -160,8 +160,8 @@ if ($is_nogood) $colspan++;
|
|||||||
<option value="wr_name,1"<?=get_selected($sfl, 'wr_name,1');?>>글쓴이</option>
|
<option value="wr_name,1"<?=get_selected($sfl, 'wr_name,1');?>>글쓴이</option>
|
||||||
<option value="wr_name,0"<?=get_selected($sfl, 'wr_name,0');?>>글쓴이(코)</option>
|
<option value="wr_name,0"<?=get_selected($sfl, 'wr_name,0');?>>글쓴이(코)</option>
|
||||||
</select>
|
</select>
|
||||||
<input type="text" name="stx" value="<?=stripslashes($stx)?>" title="검색어(필수)" required class="fs_input required" size="15" maxlength="15">
|
<input type="text" name="stx" value="<?=stripslashes($stx)?>" title="검색어(필수)" required class="frm_input required" size="15" maxlength="15">
|
||||||
<input type="submit" value="검색" class="fs_submit">
|
<input type="submit" value="검색" class="btn_submit">
|
||||||
</form>
|
</form>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
|||||||
@ -40,7 +40,7 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
|||||||
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
|
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
|
||||||
?>
|
?>
|
||||||
<li>
|
<li>
|
||||||
<a href="<? echo $view['file'][$i]['href']; ?>" onclick="javascript:file_download('<? echo $view['file'][$i]['href'].'&confirm=yes'; ?>', '<?=$view['file'][$i]['source']?>'); return false;">
|
<a href="<? echo $view['file'][$i]['href']; ?>" class="view_file_download">
|
||||||
<img src="<?=$board_skin_url?>/img/icon_file.gif" alt="첨부파일">
|
<img src="<?=$board_skin_url?>/img/icon_file.gif" alt="첨부파일">
|
||||||
<strong><?=$view['file'][$i]['source']?></strong>
|
<strong><?=$view['file'][$i]['source']?></strong>
|
||||||
<span> (<?=$view['file'][$i]['size']?>)</span>
|
<span> (<?=$view['file'][$i]['size']?>)</span>
|
||||||
@ -184,10 +184,22 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
|||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function file_download(link, file) {
|
<? if ($board['bo_download_point'] < 0) { ?>
|
||||||
<? if ($board['bo_download_point'] < 0) { ?>if (confirm("'"+file+"' 파일을 다운로드 하시면 포인트가 차감(<?=number_format($board['bo_download_point'])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?"))<?}?>
|
$(function() {
|
||||||
document.location.href=link;
|
$("a.view_file_download").click(function() {
|
||||||
}
|
var msg = "파일을 다운로드 하시면 포인트가 차감(<?=number_format($board['bo_download_point'])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?";
|
||||||
|
|
||||||
|
if(confirm(msg)) {
|
||||||
|
var href = $(this).attr("href")+"&js=on";
|
||||||
|
$(this).attr("href", href);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
<?}?>
|
||||||
|
|
||||||
function board_move(href)
|
function board_move(href)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -62,7 +62,7 @@ var char_max = parseInt(<?=$comment_max?>); // 최대
|
|||||||
<ul class="bo_vc_act">
|
<ul class="bo_vc_act">
|
||||||
<? if ($list[$i]['is_reply']) { ?><li><a href="<? echo $c_reply_href; ?>" onclick="comment_box('<?=$comment_id?>', 'c'); return false;">답변</a></li><? } ?>
|
<? if ($list[$i]['is_reply']) { ?><li><a href="<? echo $c_reply_href; ?>" onclick="comment_box('<?=$comment_id?>', 'c'); return false;">답변</a></li><? } ?>
|
||||||
<? if ($list[$i]['is_edit']) { ?><li><a href="<? echo $c_edit_href; ?>" onclick="comment_box('<?=$comment_id?>', 'cu'); return false;">수정</a></li><? } ?>
|
<? if ($list[$i]['is_edit']) { ?><li><a href="<? echo $c_edit_href; ?>" onclick="comment_box('<?=$comment_id?>', 'cu'); return false;">수정</a></li><? } ?>
|
||||||
<? if ($list[$i]['is_del']) { ?><li><a href="<? echo $list[$i]['del_link']; ?>" onclick="comment_delete('<?=$list[$i]['del_link']?>'); return false;">삭제</a></li><? } ?>
|
<? if ($list[$i]['is_del']) { ?><li><a href="<? echo $list[$i]['del_link']; ?>" onclick="return comment_delete();">삭제</a></li><? } ?>
|
||||||
</ul>
|
</ul>
|
||||||
</footer>
|
</footer>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
@ -195,17 +195,17 @@ var char_max = parseInt(<?=$comment_max?>); // 최대
|
|||||||
var cnt = parseInt(document.getElementById('char_count').innerHTML);
|
var cnt = parseInt(document.getElementById('char_count').innerHTML);
|
||||||
if (char_min > 0 && char_min > cnt)
|
if (char_min > 0 && char_min > cnt)
|
||||||
{
|
{
|
||||||
alert("댓글는 "+char_min+"글자 이상 쓰셔야 합니다.");
|
alert("댓글은 "+char_min+"글자 이상 쓰셔야 합니다.");
|
||||||
return false;
|
return false;
|
||||||
} else if (char_max > 0 && char_max < cnt)
|
} else if (char_max > 0 && char_max < cnt)
|
||||||
{
|
{
|
||||||
alert("댓글는 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
alert("댓글은 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!document.getElementById('wr_content').value)
|
else if (!document.getElementById('wr_content').value)
|
||||||
{
|
{
|
||||||
alert("댓글를 입력하여 주십시오.");
|
alert("댓글을 입력하여 주십시오.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -279,9 +279,9 @@ var char_max = parseInt(<?=$comment_max?>); // 최대
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function comment_delete(url)
|
function comment_delete()
|
||||||
{
|
{
|
||||||
if (confirm("이 댓글를 삭제하시겠습니까?")) location.href = url;
|
return confirm("이 댓글을 삭제하시겠습니까?");
|
||||||
}
|
}
|
||||||
|
|
||||||
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
||||||
|
|||||||
@ -161,21 +161,6 @@ if ($is_admin)
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
with (document.fwrite)
|
|
||||||
{
|
|
||||||
if (typeof(wr_name) != "undefined")
|
|
||||||
wr_name.focus();
|
|
||||||
else if (typeof(wr_subject) != "undefined")
|
|
||||||
wr_subject.focus();
|
|
||||||
else if (typeof(wr_content) != "undefined")
|
|
||||||
wr_content.focus();
|
|
||||||
|
|
||||||
if (typeof(ca_name) != "undefined")
|
|
||||||
if (w.value == "u") {
|
|
||||||
ca_name.value = "<?=isset($write['ca_name'])?$write['ca_name']:'';?>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function html_auto_br(obj)
|
function html_auto_br(obj)
|
||||||
{
|
{
|
||||||
if (obj.checked) {
|
if (obj.checked) {
|
||||||
|
|||||||
@ -46,13 +46,13 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
|||||||
|
|
||||||
<ul id="bo_img_list">
|
<ul id="bo_img_list">
|
||||||
<? for ($i=0; $i<count($list); $i++) {
|
<? for ($i=0; $i<count($list); $i++) {
|
||||||
if($i>0 && ($i % $board['bo_gallery_cols'] == 0))
|
if($i>0 && ($i % $bo_gallery_cols == 0))
|
||||||
$style = 'clear:both;';
|
$style = 'clear:both;';
|
||||||
else
|
else
|
||||||
$style = '';
|
$style = '';
|
||||||
if ($i == 0) $k = 0;
|
if ($i == 0) $k = 0;
|
||||||
$k += 1;
|
$k += 1;
|
||||||
if ($k % $board['bo_gallery_cols'] == 0) $style .= "margin:0 !important;";
|
if ($k % $bo_gallery_cols == 0) $style .= "margin:0 !important;";
|
||||||
?>
|
?>
|
||||||
<li class="bo_img_list_li <? if ($wr_id == $list[$i]['wr_id']) { ?>bo_img_now<? } ?>" style="<?=$style?>">
|
<li class="bo_img_list_li <? if ($wr_id == $list[$i]['wr_id']) { ?>bo_img_now<? } ?>" style="<?=$style?>">
|
||||||
<? if ($is_checkbox) { ?><input type="checkbox" name="chk_wr_id[]" value="<?=$list[$i]['wr_id']?>" title="<?=$list[$i]['wr_subject']?> 선택"><? } ?>
|
<? if ($is_checkbox) { ?><input type="checkbox" name="chk_wr_id[]" value="<?=$list[$i]['wr_id']?>" title="<?=$list[$i]['wr_subject']?> 선택"><? } ?>
|
||||||
@ -72,13 +72,10 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
|||||||
<strong style="width:<?=$board['bo_gallery_width']?>px;height:<?=$board['bo_gallery_height']?>px">공지</strong>
|
<strong style="width:<?=$board['bo_gallery_width']?>px;height:<?=$board['bo_gallery_height']?>px">공지</strong>
|
||||||
<?
|
<?
|
||||||
} else {
|
} else {
|
||||||
$file = get_list_file($bo_table, $list[$i]['wr_id']);
|
$thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height']);
|
||||||
|
|
||||||
$filepath = G4_DATA_PATH.'/file/'.$bo_table;
|
if($thumb['src']) {
|
||||||
if(preg_match("/\.({$config['cf_image_extension']})$/i", $file['bf_file']) && is_file($filepath.'/'.$file['bf_file'])) {
|
$img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" width="'.$board['bo_gallery_width'].'" height="'.$board['bo_gallery_height'].'">';
|
||||||
$thumb = get_list_thumbnail($file['bf_file'], $filepath, $board['bo_gallery_width'], $board['bo_gallery_height']);
|
|
||||||
$imgsrc = G4_DATA_URL.'/file/'.$bo_table.'/'.$thumb;
|
|
||||||
$img_content = '<img src="'.$imgsrc.'" alt="'.$file['bf_content'].'" width="'.$board['bo_gallery_width'].'" height="'.$board['bo_gallery_height'].'">';
|
|
||||||
} else {
|
} else {
|
||||||
$img_content = '<span style="width:'.$board['bo_gallery_width'].'px;height:'.$board['bo_gallery_height'].'px">no image</span>';
|
$img_content = '<span style="width:'.$board['bo_gallery_width'].'px;height:'.$board['bo_gallery_height'].'px">no image</span>';
|
||||||
}
|
}
|
||||||
@ -168,8 +165,8 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
|||||||
<option value="wr_name,1"<?=get_selected($sfl, "wr_name,1");?>>글쓴이</option>
|
<option value="wr_name,1"<?=get_selected($sfl, "wr_name,1");?>>글쓴이</option>
|
||||||
<option value="wr_name,0"<?=get_selected($sfl, "wr_name,0");?>>글쓴이(코)</option>
|
<option value="wr_name,0"<?=get_selected($sfl, "wr_name,0");?>>글쓴이(코)</option>
|
||||||
</select>
|
</select>
|
||||||
<input type="text" name="stx" value="<?=stripslashes($stx)?>" title="검색어(필수)" required class="fs_input required" size="15" maxlength="15">
|
<input type="text" name="stx" value="<?=stripslashes($stx)?>" title="검색어(필수)" required class="frm_input required" size="15" maxlength="15">
|
||||||
<input type="submit" class="fs_submit" value="검색">
|
<input type="submit" value="검색" class="btn_submit">
|
||||||
</form>
|
</form>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
|||||||
@ -53,7 +53,6 @@
|
|||||||
.td_num strong {color:#000}
|
.td_num strong {color:#000}
|
||||||
.bo_cate_link {display:inline-block;margin:0 3px 0 0;padding:0 6px 0 0;border-right:1px solid #e7f1ed;color:#999 !important;font-weight:bold;text-decoration:none} /* 글제목줄 분류스타일 */
|
.bo_cate_link {display:inline-block;margin:0 3px 0 0;padding:0 6px 0 0;border-right:1px solid #e7f1ed;color:#999 !important;font-weight:bold;text-decoration:none} /* 글제목줄 분류스타일 */
|
||||||
.bo_current {color:#e8180c}
|
.bo_current {color:#e8180c}
|
||||||
.cnt_cmt {font-weight:bold}
|
|
||||||
|
|
||||||
#bo_sch {margin-bottom:10px;padding-top:5px;text-align:center}
|
#bo_sch {margin-bottom:10px;padding-top:5px;text-align:center}
|
||||||
#bo_sch legend {width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
|
#bo_sch legend {width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
|
||||||
|
|||||||
@ -40,7 +40,7 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
|||||||
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
|
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
|
||||||
?>
|
?>
|
||||||
<li>
|
<li>
|
||||||
<a href="<? echo $view['file'][$i]['href']; ?>" onclick="javascript:file_download('<? echo $view['file'][$i]['href'].'&confirm=yes'; ?>', '<?=$view['file'][$i]['source']?>'); return false;">
|
<a href="<? echo $view['file'][$i]['href']; ?>" class="view_file_download">
|
||||||
<img src="<?=$board_skin_url?>/img/icon_file.gif" alt="첨부파일">
|
<img src="<?=$board_skin_url?>/img/icon_file.gif" alt="첨부파일">
|
||||||
<strong><?=$view['file'][$i]['source']?></strong>
|
<strong><?=$view['file'][$i]['source']?></strong>
|
||||||
<span> (<?=$view['file'][$i]['size']?>)</span>
|
<span> (<?=$view['file'][$i]['size']?>)</span>
|
||||||
@ -182,10 +182,22 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
|||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function file_download(link, file) {
|
<? if ($board['bo_download_point'] < 0) { ?>
|
||||||
<? if ($board['bo_download_point'] < 0) { ?>if (confirm("'"+file+"' 파일을 다운로드 하시면 포인트가 차감(<?=number_format($board['bo_download_point'])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?"))<?}?>
|
$(function() {
|
||||||
document.location.href=link;
|
$("a.view_file_download").click(function() {
|
||||||
}
|
var msg = "파일을 다운로드 하시면 포인트가 차감(<?=number_format($board['bo_download_point'])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?";
|
||||||
|
|
||||||
|
if(confirm(msg)) {
|
||||||
|
var href = $(this).attr("href")+"&js=on";
|
||||||
|
$(this).attr("href", href);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
<?}?>
|
||||||
|
|
||||||
function board_move(href)
|
function board_move(href)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -62,7 +62,7 @@ var char_max = parseInt(<?=$comment_max?>); // 최대
|
|||||||
<ul class="bo_vc_act">
|
<ul class="bo_vc_act">
|
||||||
<? if ($list[$i]['is_reply']) { ?><li><a href="<? echo $c_reply_href; ?>" onclick="comment_box('<?=$comment_id?>', 'c'); return false;">답변</a></li><? } ?>
|
<? if ($list[$i]['is_reply']) { ?><li><a href="<? echo $c_reply_href; ?>" onclick="comment_box('<?=$comment_id?>', 'c'); return false;">답변</a></li><? } ?>
|
||||||
<? if ($list[$i]['is_edit']) { ?><li><a href="<? echo $c_edit_href; ?>" onclick="comment_box('<?=$comment_id?>', 'cu'); return false;">수정</a></li><? } ?>
|
<? if ($list[$i]['is_edit']) { ?><li><a href="<? echo $c_edit_href; ?>" onclick="comment_box('<?=$comment_id?>', 'cu'); return false;">수정</a></li><? } ?>
|
||||||
<? if ($list[$i]['is_del']) { ?><li><a href="<? echo $list[$i]['del_link']; ?>" onclick="comment_delete('<?=$list[$i]['del_link']?>'); return false;">삭제</a></li><? } ?>
|
<? if ($list[$i]['is_del']) { ?><li><a href="<? echo $list[$i]['del_link']; ?>" onclick="return comment_delete();">삭제</a></li><? } ?>
|
||||||
</ul>
|
</ul>
|
||||||
</footer>
|
</footer>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
@ -195,17 +195,17 @@ var char_max = parseInt(<?=$comment_max?>); // 최대
|
|||||||
var cnt = parseInt(document.getElementById('char_count').innerHTML);
|
var cnt = parseInt(document.getElementById('char_count').innerHTML);
|
||||||
if (char_min > 0 && char_min > cnt)
|
if (char_min > 0 && char_min > cnt)
|
||||||
{
|
{
|
||||||
alert("댓글는 "+char_min+"글자 이상 쓰셔야 합니다.");
|
alert("댓글은 "+char_min+"글자 이상 쓰셔야 합니다.");
|
||||||
return false;
|
return false;
|
||||||
} else if (char_max > 0 && char_max < cnt)
|
} else if (char_max > 0 && char_max < cnt)
|
||||||
{
|
{
|
||||||
alert("댓글는 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
alert("댓글은 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!document.getElementById('wr_content').value)
|
else if (!document.getElementById('wr_content').value)
|
||||||
{
|
{
|
||||||
alert("댓글를 입력하여 주십시오.");
|
alert("댓글을 입력하여 주십시오.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -279,9 +279,9 @@ var char_max = parseInt(<?=$comment_max?>); // 최대
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function comment_delete(url)
|
function comment_delete()
|
||||||
{
|
{
|
||||||
if (confirm("이 댓글를 삭제하시겠습니까?")) location.href = url;
|
return confirm("이 댓글을 삭제하시겠습니까?");
|
||||||
}
|
}
|
||||||
|
|
||||||
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
||||||
|
|||||||
@ -2,8 +2,6 @@
|
|||||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<link rel="stylesheet" href="<?=$latest_skin_url?>/style.css">
|
|
||||||
|
|
||||||
<div class="lt">
|
<div class="lt">
|
||||||
<strong class="lt_title"><a href="<?=G4_BBS_URL?>/board.php?bo_table=<?=$bo_table?>"><?=$bo_subject?></a></strong>
|
<strong class="lt_title"><a href="<?=G4_BBS_URL?>/board.php?bo_table=<?=$bo_table?>"><?=$bo_subject?></a></strong>
|
||||||
<ul>
|
<ul>
|
||||||
|
|||||||
@ -44,7 +44,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="file1">첨부 1</label></th>
|
<th scope="row"><label for="file1">첨부 1</label></th>
|
||||||
<td><input type="file"name="file1" id="file1" class="frm_input"></td>
|
<td><input type="file" name="file1" id="file1" class="frm_input"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="file2">첨부 2</label></th>
|
<th scope="row"><label for="file2">첨부 2</label></th>
|
||||||
|
|||||||
@ -19,8 +19,8 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
<span id="mb_confirm_id"><?=$member[mb_id]?></span>
|
<span id="mb_confirm_id"><?=$member[mb_id]?></span>
|
||||||
|
|
||||||
<label for="confirm_mb_password">패스워드<strong class="sound_only">필수</strong></label>
|
<label for="confirm_mb_password">패스워드<strong class="sound_only">필수</strong></label>
|
||||||
<input type="password" name="mb_password" id="confirm_mb_password" required class="required fs_input" size="15" maxLength="20">
|
<input type="password" name="mb_password" id="confirm_mb_password" required class="required frm_input" size="15" maxLength="20">
|
||||||
<input type="submit" value="확인" id="btn_submit" class="fs_submit">
|
<input type="submit" value="확인" id="btn_submit" class="btn_submit">
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@ -33,8 +33,8 @@ else $g4['title'] = $g4['title'];
|
|||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label for="pw_wr_password">패스워드<strong class="sound_only">필수</strong></label>
|
<label for="pw_wr_password">패스워드<strong class="sound_only">필수</strong></label>
|
||||||
<input type="password" name="wr_password" id="password_wr_password" required class="fs_input required" size="15" maxLength="20">
|
<input type="password" name="wr_password" id="password_wr_password" required class="frm_input required" size="15" maxLength="20">
|
||||||
<input type="submit" value="확인" class="fs_submit">
|
<input type="submit" value="확인" class="btn_submit">
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|||||||
@ -60,7 +60,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
<? } ?>
|
<? } ?>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="reg_mb_email">E-mail<? if ($config['cf_use_email_certify']) {?><strong class="sound_only">필수</strong><?}?></label></th>
|
<th scope="row"><label for="reg_mb_email">E-mail<strong class="sound_only">필수</strong></label></th>
|
||||||
<td>
|
<td>
|
||||||
<? if ($config['cf_use_email_certify']) { ?>
|
<? if ($config['cf_use_email_certify']) { ?>
|
||||||
<span class="frm_info">
|
<span class="frm_info">
|
||||||
@ -69,28 +69,28 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
</span>
|
</span>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
<input type="hidden" name="old_email" value="<?=$member['mb_email']?>">
|
<input type="hidden" name="old_email" value="<?=$member['mb_email']?>">
|
||||||
<input type="text" name="mb_email" value="<?=isset($member['mb_email'])?$member['mb_email']:'';?>" id="reg_mb_email" class="frm_input email <?=$config['cf_use_email_certify']?"required":"";?>" size="50" maxlength="100" <?=$config['cf_use_email_certify']?"required":"";?>>
|
<input type="text" name="mb_email" value="<?=isset($member['mb_email'])?$member['mb_email']:'';?>" id="reg_mb_email" required class="frm_input email required" size="50" maxlength="100">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<? if ($config['cf_use_homepage']) { ?>
|
<? if ($config['cf_use_homepage']) { ?>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="reg_mb_homepage">홈페이지<? if ($config['cf_req_homepage']){?><strong class="sound_only">필수</strong><?}?></label></th>
|
<th scope="row"><label for="reg_mb_homepage">홈페이지<? if ($config['cf_req_homepage']){?><strong class="sound_only">필수</strong><?}?></label></th>
|
||||||
<td><input type="text" name="mb_homepage" value="<?=$member['mb_homepage']?>" id="reg_mb_homepage" class="frm_input <?=$config['cf_req_homepage']?"required":"";?>" size="50" maxlength="255" <?=$config['cf_req_homepage']?"required":"";?>></td>
|
<td><input type="text" name="mb_homepage" value="<?=$member['mb_homepage']?>" id="reg_mb_homepage" <?=$config['cf_req_homepage']?"required":"";?> class="frm_input <?=$config['cf_req_homepage']?"required":"";?>" size="50" maxlength="255"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
|
|
||||||
<? if ($config['cf_use_tel']) { ?>
|
<? if ($config['cf_use_tel']) { ?>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="reg_mb_tel">전화번호<? if ($config['cf_req_tel']) {?><strong class="sound_only">필수</strong><?}?></label></th>
|
<th scope="row"><label for="reg_mb_tel">전화번호<? if ($config['cf_req_tel']) {?><strong class="sound_only">필수</strong><?}?></label></th>
|
||||||
<td><input type="text" name="mb_tel" value="<?=$member['mb_tel']?>" id="reg_mb_tel" class="frm_input <?=$config['cf_req_tel']?"required":"";?>" maxlength="20" <?=$config['cf_req_tel']?"required":"";?>></td>
|
<td><input type="text" name="mb_tel" value="<?=$member['mb_tel']?>" id="reg_mb_tel" <?=$config['cf_req_tel']?"required":"";?> class="frm_input <?=$config['cf_req_tel']?"required":"";?>" maxlength="20"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
|
|
||||||
<? if ($config['cf_use_hp']) { ?>
|
<? if ($config['cf_use_hp']) { ?>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="reg_mb_hp">핸드폰번호<? if ($config['cf_req_hp']) {?><strong class="sound_only">필수</strong><?}?></label></th>
|
<th scope="row"><label for="reg_mb_hp">핸드폰번호<? if ($config['cf_req_hp']) {?><strong class="sound_only">필수</strong><?}?></label></th>
|
||||||
<td><input type="text" name="mb_hp" value="<?=$member[mb_hp]?>" id="reg_mb_hp" class="frm_input <?=$config['cf_req_hp']?"required":"";?>" maxlength="20" <?=$config['cf_req_hp']?"required":"";?>></td>
|
<td><input type="text" name="mb_hp" value="<?=$member[mb_hp]?>" id="reg_mb_hp" <?=$config['cf_req_hp']?"required":"";?> class="frm_input <?=$config['cf_req_hp']?"required":"";?>" maxlength="20"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
|
|
||||||
@ -103,12 +103,12 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
<? if ($config['cf_req_addr']) {?><strong class="sound_only">필수</strong><? } ?>
|
<? if ($config['cf_req_addr']) {?><strong class="sound_only">필수</strong><? } ?>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="mb_zip1" value="<?=$member['mb_zip1']?>" id="reg_mb_zip1" title="우편번호 앞자리" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3" <?=$config['cf_req_addr']?"required":"";?>>
|
<input type="text" name="mb_zip1" value="<?=$member['mb_zip1']?>" id="reg_mb_zip1" <?=$config['cf_req_addr']?"required":"";?> title="우편번호 앞자리<?=$config['cf_req_addr']?"(필수)":"";?>" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3">
|
||||||
-
|
-
|
||||||
<input type="text" name="mb_zip2" value="<?=$member['mb_zip2']?>" id="reg_mb_zip2" title="우편번호 뒷자리" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3" <?=$config['cf_req_addr']?"required":"";?>>
|
<input type="text" name="mb_zip2" value="<?=$member['mb_zip2']?>" id="reg_mb_zip2" <?=$config['cf_req_addr']?"required":"";?> title="우편번호 뒷자리<?=$config['cf_req_addr']?"(필수)":"";?>" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3">
|
||||||
<a href="<? echo $zip_href; ?>" id="reg_zip_find" class="btn_frmline win_zip_find" target="_blank">주소찾기</a>
|
<a href="<? echo $zip_href; ?>" id="reg_zip_find" class="btn_frmline win_zip_find" target="_blank">주소찾기</a>
|
||||||
<input type="text" name="mb_addr1" value="<?=$member['mb_addr1']?>" id="reg_mb_addr1" title="행정구역주소" class="frm_input frm_address <?=$config['cf_req_addr']?"required":"";?>" size="50" <?=$config['cf_req_addr']?"required":"";?>>
|
<input type="text" name="mb_addr1" value="<?=$member['mb_addr1']?>" id="reg_mb_addr1" <?=$config['cf_req_addr']?"required":"";?> title="행정구역주소<?=$config['cf_req_addr']?"(필수)":"";?>" class="frm_input frm_address <?=$config['cf_req_addr']?"required":"";?>" size="50">
|
||||||
<input type="text" name="mb_addr2" value="<?=$member['mb_addr2']?>" id="reg_mb_addr2" title="상세주소" class="frm_input frm_address <?=$config['cf_req_addr']?"required":"";?>" size="50" <?=$config['cf_req_addr']?"required":"";?>>
|
<input type="text" name="mb_addr2" value="<?=$member['mb_addr2']?>" id="reg_mb_addr2" <?=$config['cf_req_addr']?"required":"";?> title="상세주소<?=$config['cf_req_addr']?"(필수)":"";?>" class="frm_input frm_address <?=$config['cf_req_addr']?"required":"";?>" size="50">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
@ -119,18 +119,18 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
<? if ($config['cf_use_signature']) { ?>
|
<? if ($config['cf_use_signature']) { ?>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="reg_mb_signature">서명<? if ($config['cf_req_signature']){?><strong class="sound_only">필수</strong><?}?></label></th>
|
<th scope="row"><label for="reg_mb_signature">서명<? if ($config['cf_req_signature']){?><strong class="sound_only">필수</strong><?}?></label></th>
|
||||||
<td><textarea name="mb_signature" id="reg_mb_signature" class="<?=$config['cf_req_signature']?"required":"";?>" <?=$config['cf_req_signature']?"required":"";?>><?=$member['mb_signature']?></textarea></td>
|
<td><textarea name="mb_signature" id="reg_mb_signature" <?=$config['cf_req_signature']?"required":"";?> class="<?=$config['cf_req_signature']?"required":"";?>"><?=$member['mb_signature']?></textarea></td>
|
||||||
</tr>
|
</tr>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
|
|
||||||
<? if ($config['cf_use_profile']) { ?>
|
<? if ($config['cf_use_profile']) { ?>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="reg_mb_profile">자기소개</label></th>
|
<th scope="row"><label for="reg_mb_profile">자기소개</label></th>
|
||||||
<td><textarea name="mb_profile" id="reg_mb_profile" class="<?=$config['cf_req_profile']?"required":"";?>" <?=$config['cf_req_profile']?"required":"";?>><?=$member['mb_profile']?></textarea></td>
|
<td><textarea name="mb_profile" id="reg_mb_profile" <?=$config['cf_req_profile']?"required":"";?> class="<?=$config['cf_req_profile']?"required":"";?>"><?=$member['mb_profile']?></textarea></td>
|
||||||
</tr>
|
</tr>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
|
|
||||||
<? if ($member['mb_level'] >= $config['cf_icon_level']) { ?>
|
<? if ($config['cf_use_member_icon'] && $member['mb_level'] >= $config['cf_icon_level']) { ?>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="reg_mb_icon">회원아이콘</label></th>
|
<th scope="row"><label for="reg_mb_icon">회원아이콘</label></th>
|
||||||
<td>
|
<td>
|
||||||
|
|||||||
@ -14,8 +14,8 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label for="addr1">동/읍/면/리 검색</label>
|
<label for="addr1">동/읍/면/리 검색</label>
|
||||||
<input type="text" name="addr1" value="<?=$addr1?>" id="addr1" required class="required fs_input" minlength="2">
|
<input type="text" name="addr1" value="<?=$addr1?>" id="addr1" required class="required frm_input" minlength="2">
|
||||||
<input type="submit" value="검색" class="fs_submit">
|
<input type="submit" value="검색" class="btn_submit">
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<!-- 검색결과 여기서부터 -->
|
<!-- 검색결과 여기서부터 -->
|
||||||
|
|||||||
@ -44,7 +44,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="file1">첨부 1</label></th>
|
<th scope="row"><label for="file1">첨부 1</label></th>
|
||||||
<td><input type="file"name="file1" id="file1" class="frm_input"></td>
|
<td><input type="file" name="file1" id="file1" class="frm_input"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="file2">첨부 2</label></th>
|
<th scope="row"><label for="file2">첨부 2</label></th>
|
||||||
|
|||||||
@ -19,8 +19,8 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
<span id="mb_confirm_id"><?=$member[mb_id]?></span>
|
<span id="mb_confirm_id"><?=$member[mb_id]?></span>
|
||||||
|
|
||||||
<label for="confirm_mb_password">패스워드<strong class="sound_only">필수</strong></label>
|
<label for="confirm_mb_password">패스워드<strong class="sound_only">필수</strong></label>
|
||||||
<input type="password" name="mb_password" id="confirm_mb_password" required class="required fs_input" size="15" maxLength="20">
|
<input type="password" name="mb_password" id="confirm_mb_password" required class="required frm_input" size="15" maxLength="20">
|
||||||
<input type="submit" value="확인" id="btn_submit" class="fs_submit">
|
<input type="submit" value="확인" id="btn_submit" class="btn_submit">
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@ -33,8 +33,8 @@ else $g4['title'] = $g4['title'];
|
|||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label for="pw_wr_password">패스워드<strong class="sound_only">필수</strong></label>
|
<label for="pw_wr_password">패스워드<strong class="sound_only">필수</strong></label>
|
||||||
<input type="password" name="wr_password" id="password_wr_password" required class="fs_input required" size="15" maxLength="20">
|
<input type="password" name="wr_password" id="password_wr_password" required class="frm_input required" size="15" maxLength="20">
|
||||||
<input type="submit" value="확인" class="fs_submit">
|
<input type="submit" value="확인" class="btn_submit">
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|||||||
@ -60,10 +60,10 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
<? } ?>
|
<? } ?>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="reg_mb_email">E-mail<? if ($config['cf_use_email_certify']) {?><strong class="sound_only">필수</strong><?}?></label></th>
|
<th scope="row"><label for="reg_mb_email">E-mail<strong class="sound_only">필수</strong></label></th>
|
||||||
<td>
|
<td>
|
||||||
<input type="hidden" name="old_email" value="<?=$member['mb_email']?>">
|
<input type="hidden" name="old_email" value="<?=$member['mb_email']?>">
|
||||||
<input type="text" name="mb_email" value='<?=isset($member['mb_email'])?$member['mb_email']:'';?>' <?=$config['cf_use_email_certify']?"required":"";?> id="reg_mb_email" class="frm_input email <?=$config['cf_use_email_certify']?"required":"";?>" size="50" maxlength="100">
|
<input type="text" name="mb_email" value='<?=isset($member['mb_email'])?$member['mb_email']:'';?>' id="reg_mb_email" required class="frm_input email required" size="50" maxlength="100">
|
||||||
<? if ($config['cf_use_email_certify']) { ?>
|
<? if ($config['cf_use_email_certify']) { ?>
|
||||||
<span class="frm_info">
|
<span class="frm_info">
|
||||||
<? if ($w=='') { echo "E-mail 로 발송된 내용을 확인한 후 인증하셔야 회원가입이 완료됩니다."; } ?>
|
<? if ($w=='') { echo "E-mail 로 발송된 내용을 확인한 후 인증하셔야 회원가입이 완료됩니다."; } ?>
|
||||||
@ -109,7 +109,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="mb_zip1"value="<?=$member['mb_zip1']?>" id="reg_mb_zip1" title="우편번호 앞자리" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3" <?=$config['cf_req_addr']?"required":"";?> >
|
<input type="text" name="mb_zip1"value="<?=$member['mb_zip1']?>" id="reg_mb_zip1" title="우편번호 앞자리" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3" <?=$config['cf_req_addr']?"required":"";?> >
|
||||||
-
|
-
|
||||||
<input type="text" name="mb_zip2" value="<?=$member['mb_zip2']?>" id="reg_mb_zip2" title="우편번호 뒷자리" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3" <?=$config['cf_req_addr']?"required":"";?>>
|
<input type="text" name="mb_zip2" value="<?=$member['mb_zip2']?>" id="reg_mb_zip2" title="우편번호 뒷자리" class="frm_input <?=$config['cf_req_addr']?"required":"";?>" size="2" maxlength="3" <?=$config['cf_req_addr']?"required":"";?>>
|
||||||
<a href="<? echo $zip_href; ?>" target="_blank" id="reg_zip_find" class="btn_frmline win_zip_find">주소찾기</a>
|
<a href="<? echo $zip_href; ?>" target="_blank" id="reg_zip_find" class="btn_frmline win_zip_find">주소찾기</a>
|
||||||
<input type="text" name="mb_addr1" value="<?=$member['mb_addr1']?>" id="reg_mb_addr1" title="행정구역주소" class="frm_input frm_address <?=$config['cf_req_addr']?"required":"";?>" size="50" <?=$config['cf_req_addr']?"required":"";?>>
|
<input type="text" name="mb_addr1" value="<?=$member['mb_addr1']?>" id="reg_mb_addr1" title="행정구역주소" class="frm_input frm_address <?=$config['cf_req_addr']?"required":"";?>" size="50" <?=$config['cf_req_addr']?"required":"";?>>
|
||||||
@ -135,7 +135,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
</tr>
|
</tr>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
|
|
||||||
<? if ($member['mb_level'] >= $config['cf_icon_level']) { ?>
|
<? if ($config['cf_use_member_icon'] && $member['mb_level'] >= $config['cf_icon_level']) { ?>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><label for="reg_mb_icon">회원아이콘</label></th>
|
<th scope="row"><label for="reg_mb_icon">회원아이콘</label></th>
|
||||||
<td>
|
<td>
|
||||||
|
|||||||
@ -14,8 +14,8 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
|||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label for="addr1">동/읍/면/리 검색</label>
|
<label for="addr1">동/읍/면/리 검색</label>
|
||||||
<input type="text" name="addr1" value="<?=$addr1?>" id="addr1" required class="required fs_input" minlength="2">
|
<input type="text" name="addr1" value="<?=$addr1?>" id="addr1" required class="required frm_input" minlength="2">
|
||||||
<input type="submit" value="검색" class="fs_submit">
|
<input type="submit" value="검색" class="btn_submit">
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<!-- 검색결과 여기서부터 -->
|
<!-- 검색결과 여기서부터 -->
|
||||||
|
|||||||
@ -7,10 +7,10 @@
|
|||||||
#ol_before fieldset {position:relative}
|
#ol_before fieldset {position:relative}
|
||||||
#ol_id {display:block;margin:0 0 5px !important;margin:0 0 3px;padding:0 5px;width:168px;height:22px;border:1px solid #b8c9c2;background:#f7f7f7;line-height:1.6em}
|
#ol_id {display:block;margin:0 0 5px !important;margin:0 0 3px;padding:0 5px;width:168px;height:22px;border:1px solid #b8c9c2;background:#f7f7f7;line-height:1.6em}
|
||||||
#ol_id:focus {border-color:#333;background:#21272e;color:#fff}
|
#ol_id:focus {border-color:#333;background:#21272e;color:#fff}
|
||||||
.ol_idlabel {position:absolute;top:6px;left:5px;color:#333;font-size:0.9em}
|
.ol_idlabel {position:absolute;top:6px;left:5px;color:#333;font-size:0.95em}
|
||||||
#ol_pw {display:block;margin:0 0 5px !important;margin:0 0 3px;padding:0 5px;width:168px;height:22px;border:1px solid #b8c9c2;background:#f7f7f7;vertical-align:top;line-height:1.6em}
|
#ol_pw {display:block;margin:0 0 5px !important;margin:0 0 3px;padding:0 5px;width:168px;height:22px;border:1px solid #b8c9c2;background:#f7f7f7;vertical-align:top;line-height:1.6em}
|
||||||
#ol_pw:focus {border-color:#333;background:#21272e;color:#fff}
|
#ol_pw:focus {border-color:#333;background:#21272e;color:#fff}
|
||||||
.ol_pwlabel {position:absolute;top:35px;left:5px;color:#333;font-size:0.9em}
|
.ol_pwlabel {position:absolute;top:35px;left:5px;color:#333;font-size:0.95em}
|
||||||
#auto_login {}
|
#auto_login {}
|
||||||
#auto_login_label {letter-spacing:-0.1em}
|
#auto_login_label {letter-spacing:-0.1em}
|
||||||
#ol_submit {display:inline-block;width:60px;height:24px;border:0;background:#333;color:#fff;font-size:0.9em;font-weight:bold;vertical-align:top}
|
#ol_submit {display:inline-block;width:60px;height:24px;border:0;background:#333;color:#fff;font-size:0.9em;font-weight:bold;vertical-align:top}
|
||||||
|
|||||||
@ -1,16 +1,5 @@
|
|||||||
<?
|
<?
|
||||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||||
|
|
||||||
global $is_admin;
|
|
||||||
|
|
||||||
// 투표번호가 넘어오지 않았다면 가장 큰(최근에 등록한) 투표번호를 얻는다
|
|
||||||
if (!$po_id) {
|
|
||||||
$po_id = $config['cf_max_po_id'];
|
|
||||||
|
|
||||||
if (!$po_id) return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$po = sql_fetch(" select * from {$g4['poll_table']} where po_id = '$po_id' ");
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<form name="fpoll" action="<?=G4_BBS_URL?>/poll_update.php" onsubmit="return fpoll_submit(this);" target="win_poll" method="post">
|
<form name="fpoll" action="<?=G4_BBS_URL?>/poll_update.php" onsubmit="return fpoll_submit(this);" target="win_poll" method="post">
|
||||||
@ -55,7 +44,7 @@ function fpoll_submit(f)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
win_poll();
|
win_poll(f.action);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -17,8 +17,8 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
|||||||
<option value="wr_name"<?=get_selected($_GET['sfl'], "wr_name")?>>이름</option>
|
<option value="wr_name"<?=get_selected($_GET['sfl'], "wr_name")?>>이름</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<input type="text" name="stx" value="<?=$text_stx?>" title="검색어(필수)" class="fs_input" required class="required" maxlength="20">
|
<input type="text" name="stx" value="<?=$text_stx?>" title="검색어(필수)" class="frm_input" required class="required" maxlength="20">
|
||||||
<input type="submit" class="fs_submit" value="검색">
|
<input type="submit" class="btn_submit" value="검색">
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function fsearch_submit(f)
|
function fsearch_submit(f)
|
||||||
|
|||||||
5
tail.php
5
tail.php
@ -25,7 +25,10 @@ if ($config['cf_include_tail']) {
|
|||||||
<?=visit("basic"); // 방문자수 ?>
|
<?=visit("basic"); // 방문자수 ?>
|
||||||
<div id="ft_catch"><a href="<?=$g4['url']?>/"><img src="<?=G4_IMG_URL?>/ft_catch.jpg" alt="Sharing All Possibilities"></a></div>
|
<div id="ft_catch"><a href="<?=$g4['url']?>/"><img src="<?=G4_IMG_URL?>/ft_catch.jpg" alt="Sharing All Possibilities"></a></div>
|
||||||
<div id="ft_copy">
|
<div id="ft_copy">
|
||||||
<p>Copyright © <b>소유하신 도메인.</b> All rights reserved.</p>
|
<p>
|
||||||
|
Copyright © <b>소유하신 도메인.</b> All rights reserved.<br>
|
||||||
|
<a href="#">상단으로</a>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
|
|||||||
16
tail.sub.php
16
tail.sub.php
@ -84,17 +84,19 @@ $(function(){
|
|||||||
hide_menu = true;
|
hide_menu = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).click(function() {
|
$('#gnb_ul>li').bind('mouseleave',function(){
|
||||||
|
submenu_hide();
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).bind('click focusin',function(){
|
||||||
if(hide_menu) {
|
if(hide_menu) {
|
||||||
$(".gnb_1depth").removeClass("gnb_1depth_over gnb_1depth_over2 gnb_1depth_on");
|
submenu_hide();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).focusin(function() {
|
function submenu_hide() {
|
||||||
if(hide_menu) {
|
$(".gnb_1depth").removeClass("gnb_1depth_over gnb_1depth_over2 gnb_1depth_on");
|
||||||
$(".gnb_1depth").removeClass("gnb_1depth_over gnb_1depth_over2 gnb_1depth_on");
|
}
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// 텍스트 리사이즈 카운트 쿠키있으면 실행
|
// 텍스트 리사이즈 카운트 쿠키있으면 실행
|
||||||
var resize_act;
|
var resize_act;
|
||||||
|
|||||||
Reference in New Issue
Block a user