Merge branch 'master' of github.com:gnuboard/yc4s

This commit is contained in:
whitedot
2013-08-08 16:14:13 +09:00
37 changed files with 529 additions and 213 deletions

View File

@ -101,6 +101,11 @@ if(!sql_query(" DESC {$g4['autosave_table']} ", false)) {
) ", false);
}
if(!isset($config['cf_admin_email'])) {
sql_query(" ALTER TABLE `{$g4['config_table']}`
ADD `cf_admin_email` VARCHAR(255) NOT NULL AFTER `cf_admin` ", true);
}
$g4['title'] = '환경설정';
include_once ('./admin.head.php');
@ -136,9 +141,18 @@ $pg_anchor = '<ul class="anchor">
<tbody>
<tr>
<th scope="row"><label for="cf_title">홈페이지 제목<strong class="sound_only">필수</strong></label></th>
<td><input type="text" name="cf_title" value="<?php echo $config['cf_title'] ?>" id="cf_title" required class="required frm_input" size="40"></td>
<td colspan="3"><input type="text" name="cf_title" value="<?php echo $config['cf_title'] ?>" id="cf_title" required class="required frm_input" size="40"></td>
</tr>
<tr>
<th scope="row"><label for="cf_admin">최고관리자<strong class="sound_only">필수</strong></label></th>
<td><?php echo get_member_id_select('cf_admin', 10, $config['cf_admin'], 'required') ?></td>
<td colspan="3"><?php echo get_member_id_select('cf_admin', 10, $config['cf_admin'], 'required') ?></td>
</tr>
<tr>
<th scope="row"><label for="cf_admin_email">관리자 메일 주소<strong class="sound_only">필수</strong></label></th>
<td colspan="3">
<?php echo help('관리자가 보내고 받는 용도로 사용하는 메일 주소를 입력합니다. (회원가입, 인증메일, 테스트, 회원메일발송 등에서 사용)') ?>
<input type="text" name="cf_admin_email" value="<?php echo $config['cf_admin_email'] ?>" id="cf_admin_email" required class="required email frm_input" size="40">
</td>
</tr>
<tr>
<th scope="row"><label for="cf_use_point">포인트 사용</label></th>

View File

@ -17,120 +17,121 @@ check_token();
$sql = " update {$g4['config_table']}
set cf_title = '{$_POST['cf_title']}',
cf_admin = '{$_POST['cf_admin']}',
cf_include_index = '{$_POST['cf_include_index']}',
cf_include_head = '{$_POST['cf_include_head']}',
cf_include_tail = '{$_POST['cf_include_tail']}',
cf_add_script = '{$_POST['cf_add_script']}',
cf_use_point = '{$_POST['cf_use_point']}',
cf_point_term = '{$_POST['cf_point_term']}',
cf_use_norobot = '{$_POST['cf_use_norobot']}',
cf_use_copy_log = '{$_POST['cf_use_copy_log']}',
cf_use_email_certify = '{$_POST['cf_use_email_certify']}',
cf_login_point = '{$_POST['cf_login_point']}',
cf_cut_name = '{$_POST['cf_cut_name']}',
cf_nick_modify = '{$_POST['cf_nick_modify']}',
cf_new_skin = '{$_POST['cf_new_skin']}',
cf_new_rows = '{$_POST['cf_new_rows']}',
cf_search_skin = '{$_POST['cf_search_skin']}',
cf_connect_skin = '{$_POST['cf_connect_skin']}',
cf_read_point = '{$_POST['cf_read_point']}',
cf_write_point = '{$_POST['cf_write_point']}',
cf_comment_point = '{$_POST['cf_comment_point']}',
cf_download_point = '{$_POST['cf_download_point']}',
cf_search_bgcolor = '{$_POST['cf_search_bgcolor']}',
cf_search_color = '{$_POST['cf_search_color']}',
cf_write_pages = '{$_POST['cf_write_pages']}',
cf_mobile_pages = '{$_POST['cf_mobile_pages']}',
cf_link_target = '{$_POST['cf_link_target']}',
cf_delay_sec = '{$_POST['cf_delay_sec']}',
cf_filter = '{$_POST['cf_filter']}',
cf_possible_ip = '".trim($_POST['cf_possible_ip'])."',
cf_intercept_ip = '".trim($_POST['cf_intercept_ip'])."',
cf_member_skin = '{$_POST['cf_member_skin']}',
cf_use_homepage = '{$_POST['cf_use_homepage']}',
cf_req_homepage = '{$_POST['cf_req_homepage']}',
cf_use_tel = '{$_POST['cf_use_tel']}',
cf_req_tel = '{$_POST['cf_req_tel']}',
cf_use_hp = '{$_POST['cf_use_hp']}',
cf_req_hp = '{$_POST['cf_req_hp']}',
cf_use_addr = '{$_POST['cf_use_addr']}',
cf_req_addr = '{$_POST['cf_req_addr']}',
cf_use_signature = '{$_POST['cf_use_signature']}',
cf_req_signature = '{$_POST['cf_req_signature']}',
cf_use_profile = '{$_POST['cf_use_profile']}',
cf_req_profile = '{$_POST['cf_req_profile']}',
cf_register_level = '{$_POST['cf_register_level']}',
cf_register_point = '{$_POST['cf_register_point']}',
cf_icon_level = '{$_POST['cf_icon_level']}',
cf_use_recommend = '{$_POST['cf_use_recommend']}',
cf_recommend_point = '{$_POST['cf_recommend_point']}',
cf_leave_day = '{$_POST['cf_leave_day']}',
cf_search_part = '{$_POST['cf_search_part']}',
cf_email_use = '{$_POST['cf_email_use']}',
cf_email_wr_super_admin = '{$_POST['cf_email_wr_super_admin']}',
cf_email_wr_group_admin = '{$_POST['cf_email_wr_group_admin']}',
cf_email_wr_board_admin = '{$_POST['cf_email_wr_board_admin']}',
cf_email_wr_write = '{$_POST['cf_email_wr_write']}',
cf_email_wr_comment_all = '{$_POST['cf_email_wr_comment_all']}',
cf_email_mb_super_admin = '{$_POST['cf_email_mb_super_admin']}',
cf_email_mb_member = '{$_POST['cf_email_mb_member']}',
cf_email_po_super_admin = '{$_POST['cf_email_po_super_admin']}',
cf_prohibit_id = '{$_POST['cf_prohibit_id']}',
cf_prohibit_email = '{$_POST['cf_prohibit_email']}',
cf_new_del = '{$_POST['cf_new_del']}',
cf_memo_del = '{$_POST['cf_memo_del']}',
cf_visit_del = '{$_POST['cf_visit_del']}',
cf_popular_del = '{$_POST['cf_popular_del']}',
cf_use_jumin = '{$_POST['cf_use_jumin']}',
cf_use_member_icon = '{$_POST['cf_use_member_icon']}',
cf_member_icon_size = '{$_POST['cf_member_icon_size']}',
cf_member_icon_width = '{$_POST['cf_member_icon_width']}',
cf_member_icon_height = '{$_POST['cf_member_icon_height']}',
cf_login_minutes = '{$_POST['cf_login_minutes']}',
cf_image_extension = '{$_POST['cf_image_extension']}',
cf_flash_extension = '{$_POST['cf_flash_extension']}',
cf_movie_extension = '{$_POST['cf_movie_extension']}',
cf_formmail_is_member = '{$_POST['cf_formmail_is_member']}',
cf_page_rows = '{$_POST['cf_page_rows']}',
cf_stipulation = '{$_POST['cf_stipulation']}',
cf_privacy = '{$_POST['cf_privacy']}',
cf_open_modify = '{$_POST['cf_open_modify']}',
cf_memo_send_point = '{$_POST['cf_memo_send_point']}',
cf_mobile_new_skin = '{$_POST['cf_mobile_new_skin']}',
cf_mobile_search_skin = '{$_POST['cf_mobile_search_skin']}',
cf_mobile_connect_skin = '{$_POST['cf_mobile_connect_skin']}',
cf_mobile_member_skin = '{$_POST['cf_mobile_member_skin']}',
cf_gcaptcha_mp3 = '{$_POST['cf_gcaptcha_mp3']}',
cf_editor = '{$_POST['cf_editor']}',
cf_googl_shorturl_apikey = '{$_POST['cf_googl_shorturl_apikey']}',
cf_kcpcert_site_cd = '{$_POST['cf_kcpcert_site_cd']}',
cf_kcpcert_use = '{$_POST['cf_kcpcert_use']}',
cf_facebook_appid = '{$_POST['cf_facebook_appid']}',
cf_facebook_secret = '{$_POST['cf_facebook_secret']}',
cf_twitter_key = '{$_POST['cf_twitter_key']}',
cf_twitter_secret = '{$_POST['cf_twitter_secret']}',
cf_me2day_key = '{$_POST['cf_me2day_key']}',
cf_1_subj = '{$_POST['cf_1_subj']}',
cf_2_subj = '{$_POST['cf_2_subj']}',
cf_3_subj = '{$_POST['cf_3_subj']}',
cf_4_subj = '{$_POST['cf_4_subj']}',
cf_5_subj = '{$_POST['cf_5_subj']}',
cf_6_subj = '{$_POST['cf_6_subj']}',
cf_7_subj = '{$_POST['cf_7_subj']}',
cf_8_subj = '{$_POST['cf_8_subj']}',
cf_9_subj = '{$_POST['cf_9_subj']}',
cf_10_subj = '{$_POST['cf_10_subj']}',
cf_1 = '{$_POST['cf_1']}',
cf_2 = '{$_POST['cf_2']}',
cf_3 = '{$_POST['cf_3']}',
cf_4 = '{$_POST['cf_4']}',
cf_5 = '{$_POST['cf_5']}',
cf_6 = '{$_POST['cf_6']}',
cf_7 = '{$_POST['cf_7']}',
cf_8 = '{$_POST['cf_8']}',
cf_9 = '{$_POST['cf_9']}',
cf_10 = '{$_POST['cf_10']}' ";
cf_admin = '{$_POST['cf_admin']}',
cf_admin_email = '{$_POST['cf_admin_email']}',
cf_include_index = '{$_POST['cf_include_index']}',
cf_include_head = '{$_POST['cf_include_head']}',
cf_include_tail = '{$_POST['cf_include_tail']}',
cf_add_script = '{$_POST['cf_add_script']}',
cf_use_point = '{$_POST['cf_use_point']}',
cf_point_term = '{$_POST['cf_point_term']}',
cf_use_norobot = '{$_POST['cf_use_norobot']}',
cf_use_copy_log = '{$_POST['cf_use_copy_log']}',
cf_use_email_certify = '{$_POST['cf_use_email_certify']}',
cf_login_point = '{$_POST['cf_login_point']}',
cf_cut_name = '{$_POST['cf_cut_name']}',
cf_nick_modify = '{$_POST['cf_nick_modify']}',
cf_new_skin = '{$_POST['cf_new_skin']}',
cf_new_rows = '{$_POST['cf_new_rows']}',
cf_search_skin = '{$_POST['cf_search_skin']}',
cf_connect_skin = '{$_POST['cf_connect_skin']}',
cf_read_point = '{$_POST['cf_read_point']}',
cf_write_point = '{$_POST['cf_write_point']}',
cf_comment_point = '{$_POST['cf_comment_point']}',
cf_download_point = '{$_POST['cf_download_point']}',
cf_search_bgcolor = '{$_POST['cf_search_bgcolor']}',
cf_search_color = '{$_POST['cf_search_color']}',
cf_write_pages = '{$_POST['cf_write_pages']}',
cf_mobile_pages = '{$_POST['cf_mobile_pages']}',
cf_link_target = '{$_POST['cf_link_target']}',
cf_delay_sec = '{$_POST['cf_delay_sec']}',
cf_filter = '{$_POST['cf_filter']}',
cf_possible_ip = '".trim($_POST['cf_possible_ip'])."',
cf_intercept_ip = '".trim($_POST['cf_intercept_ip'])."',
cf_member_skin = '{$_POST['cf_member_skin']}',
cf_use_homepage = '{$_POST['cf_use_homepage']}',
cf_req_homepage = '{$_POST['cf_req_homepage']}',
cf_use_tel = '{$_POST['cf_use_tel']}',
cf_req_tel = '{$_POST['cf_req_tel']}',
cf_use_hp = '{$_POST['cf_use_hp']}',
cf_req_hp = '{$_POST['cf_req_hp']}',
cf_use_addr = '{$_POST['cf_use_addr']}',
cf_req_addr = '{$_POST['cf_req_addr']}',
cf_use_signature = '{$_POST['cf_use_signature']}',
cf_req_signature = '{$_POST['cf_req_signature']}',
cf_use_profile = '{$_POST['cf_use_profile']}',
cf_req_profile = '{$_POST['cf_req_profile']}',
cf_register_level = '{$_POST['cf_register_level']}',
cf_register_point = '{$_POST['cf_register_point']}',
cf_icon_level = '{$_POST['cf_icon_level']}',
cf_use_recommend = '{$_POST['cf_use_recommend']}',
cf_recommend_point = '{$_POST['cf_recommend_point']}',
cf_leave_day = '{$_POST['cf_leave_day']}',
cf_search_part = '{$_POST['cf_search_part']}',
cf_email_use = '{$_POST['cf_email_use']}',
cf_email_wr_super_admin = '{$_POST['cf_email_wr_super_admin']}',
cf_email_wr_group_admin = '{$_POST['cf_email_wr_group_admin']}',
cf_email_wr_board_admin = '{$_POST['cf_email_wr_board_admin']}',
cf_email_wr_write = '{$_POST['cf_email_wr_write']}',
cf_email_wr_comment_all = '{$_POST['cf_email_wr_comment_all']}',
cf_email_mb_super_admin = '{$_POST['cf_email_mb_super_admin']}',
cf_email_mb_member = '{$_POST['cf_email_mb_member']}',
cf_email_po_super_admin = '{$_POST['cf_email_po_super_admin']}',
cf_prohibit_id = '{$_POST['cf_prohibit_id']}',
cf_prohibit_email = '{$_POST['cf_prohibit_email']}',
cf_new_del = '{$_POST['cf_new_del']}',
cf_memo_del = '{$_POST['cf_memo_del']}',
cf_visit_del = '{$_POST['cf_visit_del']}',
cf_popular_del = '{$_POST['cf_popular_del']}',
cf_use_jumin = '{$_POST['cf_use_jumin']}',
cf_use_member_icon = '{$_POST['cf_use_member_icon']}',
cf_member_icon_size = '{$_POST['cf_member_icon_size']}',
cf_member_icon_width = '{$_POST['cf_member_icon_width']}',
cf_member_icon_height = '{$_POST['cf_member_icon_height']}',
cf_login_minutes = '{$_POST['cf_login_minutes']}',
cf_image_extension = '{$_POST['cf_image_extension']}',
cf_flash_extension = '{$_POST['cf_flash_extension']}',
cf_movie_extension = '{$_POST['cf_movie_extension']}',
cf_formmail_is_member = '{$_POST['cf_formmail_is_member']}',
cf_page_rows = '{$_POST['cf_page_rows']}',
cf_stipulation = '{$_POST['cf_stipulation']}',
cf_privacy = '{$_POST['cf_privacy']}',
cf_open_modify = '{$_POST['cf_open_modify']}',
cf_memo_send_point = '{$_POST['cf_memo_send_point']}',
cf_mobile_new_skin = '{$_POST['cf_mobile_new_skin']}',
cf_mobile_search_skin = '{$_POST['cf_mobile_search_skin']}',
cf_mobile_connect_skin = '{$_POST['cf_mobile_connect_skin']}',
cf_mobile_member_skin = '{$_POST['cf_mobile_member_skin']}',
cf_gcaptcha_mp3 = '{$_POST['cf_gcaptcha_mp3']}',
cf_editor = '{$_POST['cf_editor']}',
cf_googl_shorturl_apikey = '{$_POST['cf_googl_shorturl_apikey']}',
cf_kcpcert_site_cd = '{$_POST['cf_kcpcert_site_cd']}',
cf_kcpcert_use = '{$_POST['cf_kcpcert_use']}',
cf_facebook_appid = '{$_POST['cf_facebook_appid']}',
cf_facebook_secret = '{$_POST['cf_facebook_secret']}',
cf_twitter_key = '{$_POST['cf_twitter_key']}',
cf_twitter_secret = '{$_POST['cf_twitter_secret']}',
cf_me2day_key = '{$_POST['cf_me2day_key']}',
cf_1_subj = '{$_POST['cf_1_subj']}',
cf_2_subj = '{$_POST['cf_2_subj']}',
cf_3_subj = '{$_POST['cf_3_subj']}',
cf_4_subj = '{$_POST['cf_4_subj']}',
cf_5_subj = '{$_POST['cf_5_subj']}',
cf_6_subj = '{$_POST['cf_6_subj']}',
cf_7_subj = '{$_POST['cf_7_subj']}',
cf_8_subj = '{$_POST['cf_8_subj']}',
cf_9_subj = '{$_POST['cf_9_subj']}',
cf_10_subj = '{$_POST['cf_10_subj']}',
cf_1 = '{$_POST['cf_1']}',
cf_2 = '{$_POST['cf_2']}',
cf_3 = '{$_POST['cf_3']}',
cf_4 = '{$_POST['cf_4']}',
cf_5 = '{$_POST['cf_5']}',
cf_6 = '{$_POST['cf_6']}',
cf_7 = '{$_POST['cf_7']}',
cf_8 = '{$_POST['cf_8']}',
cf_9 = '{$_POST['cf_9']}',
cf_10 = '{$_POST['cf_10']}' ";
sql_query($sql);
//sql_query(" OPTIMIZE TABLE `$g4[config_table]` ");

View File

@ -81,7 +81,6 @@ include_once('./admin.head.php');
<th scope="col">회원아이디</th>
<th scope="col">이름</th>
<th scope="col">별명</th>
<th scope="col">생일</th>
<th scope="col">E-mail</th>
</tr>
</thead>
@ -102,7 +101,6 @@ include_once('./admin.head.php');
<td class="td_mbid"><?php echo $row['mb_id'] ?></td>
<td class="td_mbname"><?php echo $row['mb_name'] ?></td>
<td class="td_mbnick"><?php echo $row['mb_nick'] ?></td>
<td class="td_time"><?php echo $row['mb_birth'] ?></td>
<td><?php echo $row['mb_email'] ?></td>
</tr>
<?php } ?>

View File

@ -43,33 +43,31 @@ $sql = "select ma_subject, ma_content from {$g4['mail_table']} where ma_id = '$m
$ma = sql_fetch($sql);
$subject = $ma['ma_subject'];
$admin = get_admin('super', 'mb_email');
$from_email = $admin['mb_email'];
$cnt = 0;
for ($i=0; $i<count($member_list); $i++)
{
list($email, $mb_id, $name, $nick, $datetime) = explode("||", trim($member_list[$i]));
list($to_email, $mb_id, $name, $nick, $datetime) = explode("||", trim($member_list[$i]));
$sw = preg_match("/[0-9a-zA-Z_]+(\.[0-9a-zA-Z_]+)*@[0-9a-zA-Z_]+(\.[0-9a-zA-Z_]+)*/", $email);
$sw = preg_match("/[0-9a-zA-Z_]+(\.[0-9a-zA-Z_]+)*@[0-9a-zA-Z_]+(\.[0-9a-zA-Z_]+)*/", $to_email);
// 올바른 메일 주소만
if ($sw == true)
{
$cnt++;
$mb_md5 = md5($mb_id.$email.$datetime);
$mb_md5 = md5($mb_id.$to_email.$datetime);
$content = $ma['ma_content'];
$content = preg_replace("/{이름}/", $name, $content);
$content = preg_replace("/{별명}/", $nick, $content);
$content = preg_replace("/{회원아이디}/", $mb_id, $content);
$content = preg_replace("/{이메일}/", $email, $content);
$content = preg_replace("/{이메일}/", $to_email, $content);
$content = $content . "<hr size=0><p><span style='font-size:9pt; font-familye:굴림'>▶ 더 이상 정보 수신을 원치 않으시면 [<a href='".G4_BBS_URL."/email_stop.php?mb_id={$mb_id}&amp;mb_md5={$mb_md5}' target='_blank'>수신거부</a>] 해 주십시오.</span></p>";
mailer($config['cf_title'], $from_email, $email, $subject, $content, 1);
mailer($config['cf_title'], $config['cf_admin_email'], $to_email, $subject, $content, 1);
echo "<script> document.all.cont.innerHTML += '$cnt. $email ($mb_id : $name)<br>'; </script>\n";
echo "<script> document.all.cont.innerHTML += '$cnt. $to_email ($mb_id : $name)<br>'; </script>\n";
//echo "+";
flush();
ob_flush();

View File

@ -12,14 +12,10 @@ include_once(G4_LIB_PATH.'/mailer.lib.php');
$g4['title'] = '메일 테스트';
include_once('./admin.head.php');
if (isset($_POST['mail'])) {
$from_name = '메일검사';
$admin = get_admin('super', 'mb_email');
$from_email = $admin['mb_email'];
$email = explode(',', $mail);
if (isset($_POST['email'])) {
$email = explode(',', $_POST['email']);
for ($i=0; $i<count($email); $i++)
mailer($from_name, $from_email, trim($email[$i]), '[메일검사] 제목', '<span style="font-size:9pt;">[메일검사] 내용<p>이 내용이 제대로 보인다면 보내는 메일 서버에는 이상이 없는것입니다.<p>'.date("Y-m-d H:i:s").'<p>이 메일 주소로는 회신되지 않습니다.</span>', 1);
mailer($config['cf_title'], $config['cf_admin_email'], trim($email[$i]), '[메일검사] 제목', '<span style="font-size:9pt;">[메일검사] 내용<p>이 내용이 제대로 보인다면 보내는 메일 서버에는 이상이 없는것입니다.<p>'.G4_TIME_YMDHIS.'<p>이 메일 주소로는 회신되지 않습니다.</span>', 1);
echo '<section class=\'cbox\'>';
echo '<h2>결과메세지</h2>';
@ -45,13 +41,12 @@ if (isset($_POST['mail'])) {
<p>
메일서버가 정상적으로 동작 중인지 확인할 수 있습니다.<br>
아래 입력칸에 테스트 메일을 발송하실 메일 주소를 입력하시면, [메일검사] 라는 제목으로 테스트 메일을 발송합니다.<br>
여러 곳으로 테스트 메일을 발송하시려면 , 로 메일을 구분하십시오.
</p>
<form name="fsendmailtest" method="post">
<fieldset id="fsendmailtest">
<legend>테스트메일 발송</legend>
<label for="mail">받는 메일주소<strong class="sound_only">필수</strong></label>
<input type="text" name="mail" value="<?php echo $member['mb_email'] ?>" id="mail" required class="required frm_input" size="80">
<label for="email">받는 메일주소<strong class="sound_only">필수</strong></label>
<input type="text" name="email" value="<?php echo $member['mb_email'] ?>" id="email" required class="required email frm_input" size="80">
<input type="submit" value="발송" class="btn_submit">
</fieldset>
</form>

View File

@ -31,7 +31,7 @@ if ($mb['mb_leave_date'] && $mb['mb_leave_date'] <= date("Ymd", G4_SERVER_TIME))
}
if ($config['cf_use_email_certify'] && !preg_match("/[1-9]/", $mb['mb_email_certify'])) {
confirm("{$mb['mb_email']} 메일로 메일인증을 받으셔야 로그인 가능합니다. 다른 메일주소로 인증하시려면 취소를 클릭하시기 바랍니다.", G4_URL, G4_BBS_URL.'/register_email.php?mb_id='.$mb_id);
confirm("{$mb['mb_email']} 메일로 메일인증을 받으셔야 로그인 가능합니다. 다른 메일주소로 변경하여 인증하시려면 취소를 클릭하시기 바랍니다.", G4_URL, G4_BBS_URL.'/register_email.php?mb_id='.$mb_id);
}
@include_once($member_skin_path.'/login_check.skin.php');

View File

@ -59,31 +59,34 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
<thead>
<tr>
<th scope="col">
<label for="chkall" class="sound_only">현재 페이지 게시 전체</label>
<label for="chkall" class="sound_only">게시 전체</label>
<input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);">
</th>
<th scope="col">게시판</th>
</tr>
</thead>
<tbody>
<?php for ($i=0; $i<count($list); $i++) { ?>
<tr>
<?php for ($i=0; $i<count($list); $i++) {
$atc_mark = '';
$atc_bg = '';
if ($list[$i]['bo_table'] == $bo_table) { // 게시물이 현재 속해 있는 게시판이라면
$atc_mark = '<span class="copymove_current">현재<span class="sound_only">게시판</span></span>';
$atc_bg = 'copymove_currentbg';
}
?>
<tr class="<?php echo $atc_bg; ?>">
<td class="td_chk">
<label for="chk<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['bo_table'] ?></label>
<input type="checkbox" id="chk<?php echo $i ?>" name="chk_bo_table[]" value="<?php echo $list[$i]['bo_table'] ?>">
<input type="checkbox" value="<?php echo $list[$i]['bo_table'] ?>" id="chk<?php echo $i ?>" name="chk_bo_table[]">
</td>
<td>
<label for="chk<?php echo $i ?>">
<?php
echo $list[$i]['gr_subject'] . " &gt; ";
$save_gr_subject = $list[$i]['gr_subject'];
?>
<?php echo $list[$i]['bo_subject'] ?> (<?php echo $list[$i]['bo_table'] ?>)
<?php
if ($list[$i]['bo_table'] == $bo_table) {
echo " <- 원본 게시판";
}
?>
<?php
echo $list[$i]['gr_subject'] . ' &gt; ';
$save_gr_subject = $list[$i]['gr_subject'];
?>
<?php echo $list[$i]['bo_subject'] ?> (<?php echo $list[$i]['bo_table'] ?>)
<?php echo $atc_mark; ?>
</label>
</td>
</tr>
@ -92,7 +95,7 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
</table>
<div class="btn_win btn_confirm">
<input type="submit" id="btn_submit" class="btn_submit" value="<?php echo $act ?>">
<input type="submit" value="<?php echo $act ?>" id="btn_submit" class="btn_submit">
</div>
</form>
@ -100,9 +103,9 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
<script>
$(function() {
$(".btn_win").append("<a class=\"btn_cancel\">창닫기</a>");
$(".btn_win").append("<button type=\"button\" class=\"btn_cancel\">창닫기</button>");
$(".btn_win a").click(function() {
$(".btn_win button").click(function() {
window.close();
});
});
@ -148,8 +151,6 @@ function fboardmoveall_submit(f)
}
</script>
</td></tr></table>
<?php
include_once(G4_PATH.'/tail.sub.php');
?>

View File

@ -6,7 +6,7 @@ include_once(G4_LIB_PATH.'/mailer.lib.php');
$mb_id = escape_trim($_POST['mb_id']);
$mb_email = escape_trim($_POST['mb_email']);
$sql = " select mb_datetime from {$g4['member_table']} where mb_id = '{$mb_id}' and mb_email_certify <> '' ";
$sql = " select mb_name, mb_datetime from {$g4['member_table']} where mb_id = '{$mb_id}' and mb_email_certify <> '' ";
$mb = sql_fetch($sql);
if (!$mb) {
alert("이미 메일인증 하신 회원입니다.", G4_URL);
@ -25,6 +25,7 @@ if ($row['cnt']) {
// 인증메일 발송
$subject = '['.$config['cf_title'].'] 인증확인 메일입니다.';
$mb_name = $mb['mb_name'];
$mb_datetime = $mb['mb_datetime'] ? $mb['mb_datetime'] : G4_TIME_YMDHIS;
$mb_md5 = md5($mb_id.$mb_email.$mb_datetime);
$certify_href = G4_BBS_URL.'/email_certify.php?mb_id='.$mb_id.'&amp;mb_md5='.$mb_md5;
@ -34,11 +35,10 @@ include_once ('./register_form_update_mail3.php');
$content = ob_get_contents();
ob_end_clean();
$admin = get_admin('super');
mailer($admin['mb_nick'], $admin['mb_email'], $mb_email, $subject, $content, 1);
mailer($config['cf_title'], $config['cf_admin_email'], $mb_email, $subject, $content, 1);
$sql = " update {$g4['member_table']} set mb_email = '$mb_email' where mb_id = '$mb_id' ";
sql_query($sql);
alert("인증메일을 {$mb_email} 메일로 다시 보내 드렸습니다.\\n\\n{$mb_email} 메일을 확인하여 주십시오.", G4_URL);
alert("인증메일을 {$mb_email} 메일로 다시 보내 드렸습니다.\\n\\n잠시후 {$mb_email} 메일을 확인하여 주십시오.", G4_URL);
?>

View File

@ -141,10 +141,6 @@ if (isset($_FILES['mb_icon']) && is_uploaded_file($_FILES['mb_icon']['tmp_name']
}
}
// 관리자님 회원정보
$admin = get_admin('super');
//===============================================================
// 휴대폰 본인확인
//---------------------------------------------------------------
@ -239,7 +235,7 @@ if ($w == '') {
$content = ob_get_contents();
ob_end_clean();
mailer($admin['mb_nick'], $admin['mb_email'], $mb_email, $subject, $content, 1);
mailer($config['cf_title'], $config['cf_admin_email'], $mb_email, $subject, $content, 1);
}
// 최고관리자님께 메일 발송
@ -251,7 +247,7 @@ if ($w == '') {
$content = ob_get_contents();
ob_end_clean();
mailer($mb_nick, $mb_email, $admin['mb_email'], $subject, $content, 1);
mailer($mb_nick, $mb_email, $config['cf_admin_email'], $subject, $content, 1);
}
// 메일인증 사용하지 않는 경우에만 로그인
@ -337,7 +333,7 @@ if ($config['cf_use_email_certify'] && $old_email != $mb_email) {
$content = ob_get_contents();
ob_end_clean();
mailer($admin['mb_nick'], $admin['mb_email'], $mb_email, $subject, $content, 1);
mailer($config['cf_title'], $config['cf_admin_email'], $mb_email, $subject, $content, 1);
}

View File

@ -136,6 +136,11 @@ define('G4_FILE_PERMISSION', 0644); // 파일 생성시 퍼미션
// 모바일 인지 결정 $_SERVER['HTTP_USER_AGENT']
define('G4_MOBILE_AGENT', 'phone|samsung|lgtel|mobile|skt|nokia|blackberry|android|sony');
// SMTP
// lib/mailer.lib.php 에서 사용
define('G4_SMTP', '127.0.0.1');
/********************
기타 상수
********************/

View File

@ -93,6 +93,11 @@ a:hover, a:focus, a:active {color:#000;text-decoration:underline}
#ft_copy b {color:#fff}
#ft_copy a {position:absolute;top:10px;right:0;color:#fff}
/* 게시물 선택복사 선택이동 */
#copymove {}
.copymove_current {float:right;color:#ff3061}
.copymove_currentbg {background:#f4f4f4}
/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}

View File

@ -101,6 +101,11 @@ a:active {color:#000;text-decoration:underline}
#ft_copy b {color:#fff}
#ft_copy a {color:#fff;text-decoration:none}
/* 게시물 선택복사 선택이동 */
#copymove {}
.copymove_current {float:right;color:#ff3061}
.copymove_currentbg {background:#f4f4f4}
/* PC화면으로 */
#device_change {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}

View File

@ -192,6 +192,7 @@ DROP TABLE IF EXISTS `g4s_config`;
CREATE TABLE IF NOT EXISTS `g4s_config` (
`cf_title` varchar(255) NOT NULL DEFAULT '',
`cf_admin` varchar(255) NOT NULL DEFAULT '',
`cf_admin_email` varchar(255) NOT NULL DEFAULT '',
`cf_include_index` varchar(255) NOT NULL DEFAULT '',
`cf_include_head` varchar(255) NOT NULL DEFAULT '',
`cf_include_tail` varchar(255) NOT NULL DEFAULT '',

View File

@ -3,57 +3,78 @@ if (!defined('_GNUBOARD_')) exit;
// 메일 보내기 (파일 여러개 첨부 가능)
// type : text=0, html=1, text+html=2
function mailer($fname, $fmail, $to, $subject, $content, $type=0, $file='', $cc='', $bcc='')
{
global $config;
global $g4;
function mailer($fname, $fmail, $to, $subject, $content, $type=0, $file="", $cc="", $bcc="")
{
global $config;
global $g4;
// 메일발송 사용을 하지 않는다면
if (!$config['cf_email_use']) return;
// 메일발송 사용을 하지 않는다면
if (!$config['cf_email_use']) return;
$fname = "=?utf-8?B?" . base64_encode($fname) . "?=";
$subject = "=?utf-8?B?" . base64_encode($subject) . "?=";
$boundary = uniqid(time());
$header = "Return-Path: <$fmail>\n";
$header .= "From: $fname <$fmail>\n";
$header .= "Reply-To: <$fmail>\n";
if ($cc) $header .= "Cc: $cc\n";
if ($bcc) $header .= "Bcc: $bcc\n";
$header .= "MIME-Version: 1.0\n";
$header .= "X-Mailer: {$_SERVER['SERVER_ADDR']} : {$_SERVER['REMOTE_ADDR']} : ".G4_URL." : {$_SERVER['PHP_SELF']} : {$_SERVER['HTTP_REFERER']} \n";
$header = "Message-ID: <".generate_mail_id(preg_replace("/@.+$/i","",$to)).">\r\n".
"From:=?utf-8?B?".base64_encode($fname)."?=<$fmail>\r\n";
if ($cc) $header .= "Cc: $cc\n";
if ($bcc) $header .= "Bcc: $bcc\n";
$header .= "MIME-Version: 1.0\n";
$header .= "X-Mailer: SIR Mailer 0.94 : {$_SERVER['SERVER_ADDR']} : {$_SERVER['REMOTE_ADDR']} : ".G4_URL." : {$_SERVER['PHP_SELF']} : {$_SERVER['HTTP_REFERER']} \n";
$header .= "Date: ".date ("D, j M Y H:i:s T",time())."\r\n".
"To: $to\r\n".
"Subject: =?utf-8?B?".base64_encode($subject)."?=\r\n";
if ($file != '') {
$boundary = uniqid('http://sir.co.kr/');
$header .= "Content-type: MULTIPART/MIXED; BOUNDARY=\"$boundary\"\n\n";
$header .= "--$boundary\n";
}
if ($type) {
$header .= "Content-Type: TEXT/HTML; charset=utf-8\n";
if ($type == 2)
$content = nl2br($content);
if ($file == "") {
$header .= "Content-Type: MULTIPART/ALTERNATIVE;\n".
" BOUNDARY=\"$boundary\"\n\n";
} else {
$header .= "Content-Type: TEXT/PLAIN; charset=utf-8\n";
$content = stripslashes($content);
$header .= "Content-Type: MULTIPART/MIXED;\n".
" BOUNDARY=\"$boundary\"\n\n";
}
$header .= "Content-Transfer-Encoding: BASE64\n\n";
$header .= chunk_split(base64_encode($content)) . "\n";
if ($file != '') {
foreach ($file as $f) {
$header .= "\n--$boundary\n";
$header .= "Content-Type: APPLICATION/OCTET-STREAM; name=\"{$f['name']}\"\n";
$header .= "Content-Transfer-Encoding: BASE64\n";
$header .= "Content-Disposition: inline; filename=\"{$f['name']}\"\n";
if ($type == 2)
$content = nl2br($content);
$header .= "\n";
$header .= chunk_split(base64_encode($f['data']));
$header .= "\n";
}
$header .= "--$boundary--\n";
$strip_content = stripslashes(trim($content));
$encode_content = chunk_split(base64_encode($strip_content));
$body = "";
$body .= "\n--$boundary\n";
$body .= "Content-Type: TEXT/PLAIN; charset=utf-8\n";
$body .= "Content-Transfer-Encoding: BASE64\n\n";
$body .= $encode_content;
$body .= "\n--$boundary\n";
if ($type) {
$body .= "Content-Type: TEXT/HTML; charset=utf-8\n";
$body .= "Content-Transfer-Encoding: BASE64\n\n";
$body .= $encode_content;
$body .= "\n--$boundary\n";
}
if ($file != "") {
foreach ($file as $f) {
$body .= "n--$boundary\n";
$body .= "Content-Type: APPLICATION/OCTET-STREAM; name=$fname\n";
$body .= "Content-Transfer-Encoding: BASE64\n";
$body .= "Content-Disposition: inline; filename=$fname\n";
$body .= "\n";
$body .= chunk_split(base64_encode($f['data']));
$body .= "\n";
}
$body .= "--$boundary--\n";
}
$mails['to'] = $to;
$mails['from'] = $fmail;
$mails['text'] = $header.$body;
if (defined(G4_SMTP)) {
ini_set('SMTP', G4_SMTP);
@mail($to, $subject, $body, $header, "-f $fmail");
} else {
new maildaemon($mails);
}
@mail($to, $subject, "", $header);
}
// 파일 첨부시
@ -167,4 +188,176 @@ function verify_email($address, &$error)
$error = '메일 교환기에 도달하지 못하였습니다.';
return false;
}
# jsboard 의 메일보내기 class를 추가합니다. 130808
# http://kldp.net/projects/jsboard/
# mail 보내기 함수 2001.11.30 김정균
# $Id: include/sendmail.php,v 1.4 2009/11/19 05:29:51 oops Exp $
# 서버상의 smtp daemon 에 의존하지 않고 직접 발송하는 smtp class
#
# 특정 배열로 class 에 전달을 하여 메일을 발송한다. 배열은 아래을 참조한다.
#
# debug -> debug 를 할지 안할지를 결정한다.
# ofhtml -> 웹상에서 사용할지 쉘상에서 사용할지를 결정한다.
# from -> 메일을 발송하는 사람의 메일주소
# to -> 메일을 받을 사람의 메일 주소
# text -> 헤더 내용을 포함한 메일 본문
#
class maildaemon {
var $failed = 0;
function __construct($v) {
$this->debug = $v['debug'];
$this->ofhtml = $v['ofhtml'];
if($_SERVER['SERVER_NAME']) $this->helo = $_SERVER['SERVER_NAME'];
if(!$this->helo || preg_match("/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/i",$this->helo))
$this->helo = "JSBoardMessage";
$this->from = $v['from'];
$this->to = $v['to'];
$this->body = $v['text']."\r\n.";
//die($v['text']);
$this->newline = $this->ofhtml ? "<br>\n" : "\n";
$this->mx = $this->getMX($this->to);
if($this->debug) {
echo "DEBUG: ".$this->mx." start".$this->newline;
echo "################################################################".$this->newline;
}
$this->sockets("open");
$this->send("HELO ".$this->helo);
$this->send("MAIL FROM: <".$this->from.">");
$this->send("RCPT TO: <".$this->to.">");
$this->send("data");
$this->send($this->body);
$this->send("quit");
$this->sockets("close");
}
function getMX($email) {
$dev = explode("@",$email);
$account = $dev[0];
$host = $dev[1];
if(checkdnsrr($host,"MX") && getmxrr($host,$mx,$weight)) {
$idx = 0;
for($i=0;$i<sizeof($mx);$i++) {
$dest = $dest ? $dest : $weight[$i];
if($dest > $weight[$i]) {
$dest = $weight[$i];
$idx = $i;
}
}
} else return $host;
return $mx[$idx];
}
# 디버그 함수
# $t -> 1 (debug of socket open,close)
# 0 (regular smtp message)
# $p -> 1 (print detail debug)
#
# return 1 -> success
# return 0 -> failed
#
function debug($str,$t=0,$p=0) {
if($t) {
if(!$str) $this->failed = 1;
if($this->sock) $returnmsg = trim(fgets($this->sock,1024));
} else {
if(!preg_match("/^(220|221|250|251|354)$/",substr(trim($str),0,3)))
$this->failed = 1;
}
# DEBUG mode -> 모든 메세지 출력
if($p) {
if($t) {
$str = "Conncet ".$this->mx;
$str .= $this->failed ? " Failed" : " Success";
$str .= $this->newline."DEBUG: $returnmsg";
}
echo "DEBUG: $str".$this->newline;
}
# DEBUG 모드가 아닐때, 에러 메세지 출력
if(!$p && $this->failed) {
if($this->ofhtml) echo "<SCRIPT>\nalert('$str')\n</SCRIPT>\n";
else "ERROR: $str\n";
}
}
function sockets($option=0) {
switch($option) {
case "open" :
$this->sock = @fsockopen($this->mx,25,$this->errno,$this->errstr,30);
$this->debug($this->sock,1,$this->debug);
break;
default :
if($this->sock) fclose($this->sock);
break;
}
}
function send($str,$chk=0) {
if(!$this->failed) {
if($this->debug) {
if(preg_match("/\r\n/",trim($str)))
$str_debug = trim(str_replace("\r\n","\r\n ",$str));
else $str_debug = $str;
}
fputs($this->sock,"$str\r\n");
$recv = trim(fgets($this->sock,1024));
$recvchk = $recv;
$this->debug($recv,0,$this->debug);
if(preg_match("/Mail From:/i",$str) && preg_match("/exist|require|error/i",$recvchk) && !$chk) {
$this->failed = 0;
$this->send("MAIL FROM: <".$this->to.">",1);
}
}
}
}
function generate_mail_id($uid) {
$id = date("YmdHis",time());
mt_srand((float) microtime() * 1000000);
$randval = mt_rand();
$id .= $randval."@$uid";
return $id;
}
function mail_header($to,$from,$title,$mta=0) {
global $langs,$boundary;
# mail header 를 작성
$boundary = get_boundary_msg();
$header = "Message-ID: <".generate_mail_id(preg_replace("/@.+$/i","",$to)).">\r\n".
"From:=?utf-8?B?".base64_encode('보내는사람')."?=<$from>\r\n".
"MIME-Version: 1.0\r\n";
if(!$mta) $header .= "Date: ".date ("D, j M Y H:i:s T",time())."\r\n".
"To: $to\r\n".
"Subject: $title\r\n";
$header .= "Content-Type: multipart/alternative;\r\n".
" boundary=\"$boundary\"\r\n\r\n";
return $header;
}
function get_boundary_msg() {
$uniqchr = uniqid("");
$one = strtoupper($uniqchr[0]);
$two = strtoupper(substr($uniqchr,0,8));
$three = strtoupper(substr(strrev($uniqchr),0,8));
return "----=_NextPart_000_000${one}_${two}.${three}";
}
?>

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 게시판 목록 */
#bo_list_title {padding:0 1em}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 갤러리 목록 */
#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}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 현재접속자 */
#current_connect_tbl {}
#current_connect_tbl th:nth-of-type(1) {width:50px}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 최근게시물 스킨 (latest) */
.lat {position:relative;margin:0 0 1em;padding:0 1em 1.5em;border-bottom:1px solid #ddd}
.lat ul {margin:0 0 1em;padding:0;list-style:none}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 회원가입 약관 */
#fregister section {padding:1.5em;border-bottom:1px solid #eee;background:#fafafa}
#fregister h2 {margin:0 0 1.5em;text-align:center}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 새글 */
#new_sch {margin:0 0 0.3em;padding:0.3em 0.7em}
#new_tbl {}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 아웃로그인 */
.ol {position:relative;margin:0 0 1em;padding:0 0.5em 0.5em;border-bottom:1px solid #e7f1ed}
.ol h2 {width:0;height:0;overflow:hidden}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 설문조사 스킨 */
#poll {margin:1em 0 0;padding:0 0 1em}
#poll header {position:relative;padding:0 0.5em}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 인기검색어 */
#popular {background:#515151}
#popular div {zoom:1}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 전체검색결과 스킨 */
#sch_res_detail {padding:0 0 1em;border-bottom:1px solid #e9e9e9;text-align:center}
#sch_res_detail legend {position:absolute;font-size:0;line-height:0;overflow:hidden}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
#visit {background:#444}
#visit div {zoom:1}
#visit div:after {display:block;visibility:hidden;clear:both;content:""}

View File

@ -40,7 +40,27 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
</div>
</footer>
<a href="<?php echo $_SERVER['PHP_SELF'].($_SERVER['QUERY_STRING']?'?'.str_replace("&", "&amp;", $_SERVER['QUERY_STRING']).'&amp;':'?').'device=pc'; ?>" id="device_change">PC 버전으로 보기</a>
<?php
$seq = 0;
$href = $_SERVER['PHP_SELF'];
if($_SERVER['QUERY_STRING']) {
$sep = '?';
foreach($_GET as $key=>$val) {
if($key == 'device')
continue;
$href .= $sep.$key.'='.$val;
$sep = '&amp;';
$seq++;
}
}
if($seq)
$href .= '&amp;device=pc';
else
$href .= '?device=pc';
?>
<a href="<?php echo $href; ?>" id="device_change">PC 버전으로 보기</a>
<?php
include_once(G4_PATH."/tail.sub.php");

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 게시판 목록 */
#bo_list_title {margin-bottom:20px;font-size:1.2em;letter-spacing:-0.1em}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 게시판 목록 */
#bo_list_title {margin-bottom:20px;font-size:1.2em;letter-spacing:-0.1em}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 새글 스킨 (latest) */
.lt_pc {float:left;margin-left:20px}
.lt {position:relative;float:left;margin-bottom:20px;padding-bottom:10px;width:354px;height:150px;border-bottom:1px solid #ddd}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 회원가입 약관 */
#fregister section {margin:0 0 20px;padding:20px 0;border-bottom:3px solid #eee}
#fregister h2 {margin:0 0 20px;text-align:center}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 최근게시물 스킨 (new) */
#new_sch {margin-bottom:10px;text-align:right}
#new_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 아웃로그인 스킨 */
.ol {position:relative;padding:15px 15px 14px 14px}
.ol h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 설문조사 스킨 */
#poll {border-top:1px solid #e7f1ed}
#poll header {position:relative;padding:15px 14px 0}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 인기검색어 */
#popular {background:#515151}
#popular div {margin:0 auto;width:980px;zoom:1}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 전체검색결과 스킨 */
#sch_res_detail {padding:0 0 10px;border-bottom:1px solid #e9e9e9;text-align:center}
#sch_res_detail legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}

View File

@ -1,3 +1,6 @@
@charset "utf-8";
/* SIR 지운아빠 */
/* 방문자 집계 */
#visit {background:#444}
#visit div {margin:0 auto;width:980px;zoom:1}

View File

@ -34,9 +34,30 @@ if ($config['cf_include_tail']) {
</div>
</div>
<?php if(!G4_IS_MOBILE) { ?>
<a href="<?php echo $_SERVER['PHP_SELF'].($_SERVER['QUERY_STRING']?'?'.str_replace("&", "&amp;", $_SERVER['QUERY_STRING']).'&amp;':'?').'device=mobile'; ?>" id="device_change">모바일 버전으로 보기</a>
<?php } ?>
<?php
if(!G4_IS_MOBILE) {
$seq = 0;
$href = $_SERVER['PHP_SELF'];
if($_SERVER['QUERY_STRING']) {
$sep = '?';
foreach($_GET as $key=>$val) {
if($key == 'device')
continue;
$href .= $sep.$key.'='.$val;
$sep = '&amp;';
$seq++;
}
}
if($seq)
$href .= '&amp;device=mobile';
else
$href .= '?device=mobile';
?>
<a href="<?php echo $href; ?>" id="device_change">모바일 버전으로 보기</a>
<?php
}
?>
<!-- } 하단 끝 -->