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

This commit is contained in:
chicpro
2013-01-04 09:01:26 +09:00
14 changed files with 153 additions and 57 deletions

View File

@ -180,7 +180,7 @@ if ($member['mb_id'] && ($is_admin == 'super' || $group['gr_admin'] == $member['
include_once('./board_head.php');
echo '<script src="'.$g4['path'].'/js/sideview.js"></script>';
echo "<script src=\"".$g4['path']."/js/sideview.js\"></script>";
// 게시물 아이디가 있다면 게시물 보기를 INCLUDE
if (isset($wr_id) && $wr_id) {

View File

@ -2,22 +2,24 @@
/* 초기화 */
html {overflow-y:scroll}
body {font-size:1em}
body {background:#f5f4ed;font-size:1em}
html, body, h1, h2, h3, h4, h5, h6 {margin:0;padding:0}
h1, h2, h3, h4, h5, h6 {font-family:"dotum"}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}
header ul, nav ul {margin:0;padding:0;list-style:none}
table {border-collapse:collapse;border-spacing:0} tfoot td {font-weight:bold;text-align:center}
form, img {border:0}
input, img {vertical-align:middle}
p {margin:10px 0;line-height:1.5em}
input {margin:0;padding:0;font-family:"dotum"}
p {margin:5px 0;padding:10px 0;line-height:1.5em}
/* 이미지 등비율 리사이징 */
.img_fix {float:left;width:100%;height:auto}
/* 내용 건너뛰기 */
#to_content a {display:block;position:absolute;top:0;left:0;margin:5px;height:0;text-decoration:none;overflow:hidden}
#to_content a {display:block;position:absolute;top:0;left:0;height:0;text-decoration:none;overflow:hidden}
#to_content a:focus,
#to_content a:active {height:auto;padding:5px 10px;border:1px solid #000;background:#333;color:#fff;font-size:0.75em;overflow:auto}
#to_content a:active {padding:10px 0;width:100%;height:auto;background:#333;color:#fff;text-align:center;overflow:auto}
/* 그누보드4s 설치 완료 메세지 */
#install_done {position:absolute;margin-top:-30px;width:100%;height:580px;background:#e7ebee}
@ -27,32 +29,72 @@ p {margin:10px 0;line-height:1.5em}
#install_done div span {position:absolute;top:-28px;left:0;width:700px;height:580px;background:url("../img/install_done.jpg")}
/* 레이아웃 - 상단 */
#header {z-index:3;position:relative;margin-bottom:30px;height:100px;border-bottom:1px solid #ddd}
#header {z-index:3;position:relative;margin-bottom:30px}
#header h1 {height:0;overflow:hidden}
#logo {position:absolute;top:40px;left:50px}
/* 로고 */
#logo {background:#494946;text-align:center}
#logo a {display:inline-block;padding:20px 30px}
#tnb {position:absolute;top:43px;left:140px;zoom:1}
/* 상단메뉴 */
#tnb {padding-left:50px;border-top:1px solid #eee;border-bottom:1px solid #ddd;background:#fff;zoom:1}
#tnb:after {display:block;visibility:hidden;clear:both;content:""}
#tnb li {float:left;margin-right:15px}
#tnb a {display:block;padding:10px;color:#333;font-family:"dotum";font-size:0.9em;font-weight:bold;text-decoration:none}
#tnb li {float:left;margin-left:-1px}
#tnb a {display:block;padding:20px;border-right:1px solid #eee;border-left:1px solid #eee;color:#595959;font-family:"dotum";font-size:0.875em;font-weight:bold;text-decoration:none}
#tnb a:hover,
#tnb a:focus {background:#faf9f5}
#hdsch {position:absolute;top:47px;right:45px;padding:0;border:1px solid #d7d7d7;background:#f8f9fa}
#hdsch legend {position:absolute;top:-1000px}
#hdsch_stx {margin:5px 0 5px 5px;height:16px;width:163px;border:0;background:transparent}
#hdsch_stx:focus {background:#e7ebee;outline:0}
/* 전체검색 */
#hdsch {position:absolute;top:90px;right:50px;margin:0;padding:0;border:1px solid #ddd;background:#f1f6f7}
#hdsch legend {position:absolute;top:-1000px;width:0;height:0;overflow:hidden}
#hdsch_stx {margin:5px 0 5px 5px;height:16px;width:166px;border:0;background:transparent}
#hdsch_stx:focus {background:#434f54;color:#fff}
#hdsch_submit {position:relative;margin-left:-5px}
.outlogin {position:absolute;top:130px;right:50px;font-size:0.75em}
/* 사이드 네비게이션: 아웃로그인, 설문조사 등 */
#snb {position:absolute;top:150px;right:50px;font-family:"dotum"}
/* 아웃로그인 */
.outlogin {margin-bottom:5px;padding:10px 10px 0;width:178px;border:1px solid #b3b2ad;background:#f0f0ed}
.outlogin h2 {height:0;overflow:hidden}
/* 로그인 전 */
#ol_before {font-size:0.7em}
#ol_before fieldset {padding:0;border:0}
#ol_before legend {height:0;overflow:hidden}
#ol_before input:focus {background:#434f54;color:#fff}
#ol_before ul {position:relative;top:0;left:90px;margin:10px 0;width:90px;zoom:1}
#ol_before ul:after {display:block;visibility:hidden;clear:both;content:""}
#ol_before li {float:left;margin-right:5px}
#ol_before a {color:#696969;text-decoration:none;letter-spacing:-0.1em}
#ol_mb_id{display:block;margin-bottom:3px;padding:0 5px;width:163px;height:22px;border:1px solid #d7d7d7;background:#fff;line-height:1.6em}
#ol_mb_id_label {z-index:2;position:absolute;top:17px;left:20px;color:#696969}
#ol_mb_pw {display:block;padding:0 5px;width:100px;height:22px;border:1px solid #d7d7d7;background:#fff;line-height:1.6em}
#ol_mb_pw_label {z-index:2;position:absolute;top:45px;left:20px;color:#696969}
#auto_login {position:absolute;top:71px;left:13px}
#auto_login_label {position:absolute;top:72px;left:28px;color:#696969;letter-spacing:-0.1em}
#ol_submit {position:absolute;top:38px;right:12px;width:60px;height:24px;border:1px solid #b7b7b7;background:#fff;font-size:1em;font-weight:bold;letter-spacing:-0.1em}
/* 로그인 후 */
#ol_after {padding-bottom:10px;font-size:0.75em}
#ol_after a {color:#000;text-decoration:none}
#ol_after header {padding:5px 0 7px;border-bottom:1px solid #ddd;text-align:center}
#ol_after li a {display:block;position:relative;padding:7px 0 5px}
#ol_after li span {position:absolute;top:7px;right:0}
#ol_after footer {padding-top:7px;border-top:1px solid #ddd;text-align:center}
#ol_after footer a {display:inline-block;padding:0 5px}
#poll {position:absolute;top:250px;right:50px;font-size:0.75em}
/* 설문조사 */
#poll {width:198px;border:1px solid #b3b2ad;background:#fff;font-size:0.75em}
#poll header {padding:10px 10px 1px;background:#f0f0ed}
#poll h2 {display:inline-block;font-size:1em}
#poll p {padding:0}
#poll ul {margin:10px}
#poll li {margin:7px 0}
#poll footer {padding:10px 10px 15px;text-align:center}
#poll footer input {padding:0 15px;height:24px;border:0;background:#333;color:#fff;font-size:0.9em;letter-spacing:-0.1em;vertical-align:top}
#poll footer a {display:inline-block;padding:0 5px;height:22px;border:1px solid #b7b7b7;background:#fff;color:#000;font-size:0.9em;vertical-align:top;text-decoration:none;letter-spacing:-0.1em;line-height:2.1em}
/* 레이아웃 중간 */
#wrapper {z-index:2;position:relative;margin-right:270px;padding-left:50px;min-height:520px;height:auto !important;height:520px}
#wrapper {z-index:2;clear:both;position:relative;margin-right:270px;padding-left:50px;min-height:520px;height:auto !important;height:520px}
/* 레이아웃 하단 */
#footer {z-index:1;position:relative;margin-top:30px;padding:15px 0 20px;border-top:1px solid #ddd;color:#595959;font-size:0.75em}
@ -61,6 +103,7 @@ p {margin:10px 0;line-height:1.5em}
#footer h2 {width:100px;color:#000;font-size:1em}
#footer a {color:#595959;text-decoration:none}
/* 방문자집계 */
#visit {margin-bottom:10px;zoom:1}
#visit:after {display:block;visibility:hidden;clear:both;content:""}
#visit h2 {float:left}
@ -70,10 +113,12 @@ p {margin:10px 0;line-height:1.5em}
#visit dd {float:left;margin:0 15px 0 5px;color:#000;font-style:italic}
#visit a {float:left;font-weight:bold}
/* 현재접속자 */
#current_connect {margin-bottom:10px;zoom:1}
#current_connect:after {display:block;visibility:hidden;clear:both;content:""}
#current_connect h2 {float:left}
/*인기검색어 */
#popular {margin-bottom:10px;zoom:1}
#popular:after {display:block;visibility:hidden;clear:both;content:""}
#popular h2 {float:left}
@ -81,8 +126,15 @@ p {margin:10px 0;line-height:1.5em}
#popular ul:after {display:block;visibility:hidden;clear:both;content:""}
#popular li {float:left;margin-right:20px}
#footer p {position:absolute;top:15px;right:50px}
/* 카피라이트 */
#footer p {position:absolute;top:25px;right:50px}
/* 테이블 */
table {margin-bottom:10px;width:100%}
caption {padding:10px 0 15px;text-align:left;font-size:1em;font-weight:bold}
/* ##################################################################### 스킨 및 컨텐츠 */
/* 현재접속자 */
/* pagination */
.pg {margin-bottom:30px;font-size:0.875em;text-align:center}
.pg_page, .pg_current {display:inline-block;position:relative;margin-left:-6px;padding:0 10px;height:25px;border:1px solid #ddd;background:#fff;line-height:1.9em;vertical-align:middle}
.pg_page {text-decoration:none}
.pg_current {font-weight:normal}

View File

@ -36,14 +36,17 @@ include_once($g4['path'].'/lib/popular.lib.php');
<fieldset id="hdsch">
<legend>사이트 내 전체검색</legend>
<input type="text" id="hdsch_stx" name="stx" title="검색어" maxlength="20">
<input type="image" id="hdsch_submit" src="<?=$g4['path']?>/img/btn_search.jpg" value="검색">
<input type="image" id="hdsch_submit" src="<?=$g4['path']?>/img/btn_search.jpg" title="검색">
</fieldset>
</form>
<?=outlogin('neo'); // 외부 로그인 ?>
<?=poll('neo'); // 설문조사 ?>
<div id="snb">
<?=outlogin('neo'); // 외부 로그인 ?>
<?=poll('neo'); // 설문조사 ?>
</div>
</header>
<? /* ?>
<? /* if ($index || 게시판이 하나도 없을때) {?>
<!-- 설치 완료 메세지 -->
<article id="install_done">
<h1>Welcome to Gnuboard 4s</h1>
@ -68,6 +71,7 @@ include_once($g4['path'].'/lib/popular.lib.php');
</section>
</article>
<!-- 설치 완료 메세지 끝 -->
<? */ ?>
<? }*/ ?>
<div id="wrapper">
<div id="wrapper">
<? if (!$bo_table) {?><h1><?=$g4['title']?></h1><?}?>

View File

@ -48,6 +48,7 @@ header("Pragma: no-cache"); // HTTP/1.0
<head>
<meta charset="<?=$g4['charset']?>">
<title><?=$g4['title']?></title>
<meta http-equiv='X-UA-Compatible' content='IE=Edge' />
<? if (isset($administrator)) { ?>
<link rel="stylesheet" href="<?=$g4['path']?>/css/adm.css?=<?=date("md")?>">
<? } else { ?>
@ -72,6 +73,7 @@ var g4_is_ie = navigator.userAgent.toLowerCase().indexOf("msie") != -1;
<script src="<?=$g4['path']?>/js/jquery-1.4.2.min.js"></script>
<script src="<?=$g4['path']?>/js/common.js"></script>
<script src="<?=$g4['path']?>/js/wrest.js"></script>
<script src="<?=$g4['path']?>/js/html5.js"></script>
<?
if (!empty($g4['js_file'])) {
foreach ($g4['js_file'] as $key=>$value) {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 715 B

After

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,7 +1,7 @@
<?php
include_once('./_common.php');
include_once($g4['path'].'/lib/latest.lib.php');
$index = 1;
$g4['title'] = '';
include_once('./_head.php');
?>

3
js/html5.js Normal file
View File

@ -0,0 +1,3 @@
/*! HTML5 Shiv vpre3.6 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
Uncompressed source: https://github.com/aFarkas/html5shiv */
(function(a,b){function h(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function i(){var a=l.elements;return typeof a=="string"?a.split(" "):a}function j(a){var b={},c=a.createElement,f=a.createDocumentFragment,g=f();a.createElement=function(a){if(!l.shivMethods)return c(a);var f;return b[a]?f=b[a].cloneNode():e.test(a)?f=(b[a]=c(a)).cloneNode():f=c(a),f.canHaveChildren&&!d.test(a)?g.appendChild(f):f},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+i().join().replace(/\w+/g,function(a){return c(a),g.createElement(a),'c("'+a+'")'})+");return n}")(l,g)}function k(a){var b;return a.documentShived?a:(l.shivCSS&&!f&&(b=!!h(a,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),g||(b=!j(a)),b&&(a.documentShived=b),a)}var c=a.html5||{},d=/^<|^(?:button|form|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,f,g;(function(){var c=b.createElement("a");c.innerHTML="<xyz></xyz>",f="hidden"in c,f&&typeof injectElementWithStyles=="function"&&injectElementWithStyles("#modernizr{}",function(b){b.hidden=!0,f=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).display=="none"}),g=c.childNodes.length==1||function(){try{b.createElement("a")}catch(a){return!0}var c=b.createDocumentFragment();return typeof c.cloneNode=="undefined"||typeof c.createDocumentFragment=="undefined"||typeof c.createElement=="undefined"}()})();var l={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:k};a.html5=l,k(b)})(this,document)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 B

After

Width:  |  Height:  |  Size: 51 B

View File

@ -7,7 +7,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">이름</th>
<th scope="col">닉네임 혹은 아이피</th>
<th scope="col">링크</th>
</tr>
</thead>

View File

@ -32,25 +32,50 @@ else
?>
<section id="ol_before" class="outlogin">
<h2>사이트 회원</h2>
<h2>사이트 멤버쉽</h2>
<!-- 로그인 전 외부로그인 시작 -->
<form name="fhead" method="post" action="<?=$action_url?>" onsubmit="return fhead_submit(this);" autocomplete="off">
<fieldset>
<legend>로그인</legend>
<input type="hidden" name="url" value="<?=$outlogin_url?>">
<label for="mb_id">아이디</label>
<input type="text" id="mb_id" name="mb_id" maxlength="20" required>
<label for="mb_password">패스워드</label>
<input type="password" id="mb_password" name="mb_password" maxlength="20">
<label for="ol_mb_id" id="ol_mb_id_label">아이디</label>
<input type="text" id="ol_mb_id" name="mb_id" maxlength="20" required>
<label for="ol_mb_pw" id="ol_mb_pw_label">패스워드</label>
<input type="password" id="ol_mb_pw" name="mb_password" maxlength="20">
<input type="checkbox" id="auto_login" name="auto_login" value="1" onclick="if (this.checked) { if (confirm('자동로그인을 사용하시면 다음부터 회원아이디와 패스워드를 입력하실 필요가 없습니다.\n\n\공공장소에서는 개인정보가 유출될 수 있으니 사용을 자제하여 주십시오.\n\n자동로그인을 사용하시겠습니까?')) { this.checked = true; } else { this.checked = false; } }">
<label for="auto_login">자동로그인</label>
<input type="submit" value="로그인">
<a href="javascript:win_password_lost();">아이디/패스워드 찾기</a>
<a href="<?=$g4['bbs_path']?>/register.php">회원가입</a>
<label for="auto_login" id="auto_login_label">자동로그인</label>
<input type="submit" id="ol_submit" value="로그인">
<ul>
<li><a href="<?=$g4['bbs_path']?>/register.php">회원가입</a></li>
<li><a href="javascript:win_password_lost();">정보찾기</a></li>
</ul>
</fieldset>
</form>
</section>
<script>
$(document).ready(function(){
$omi = $('#ol_mb_id');
$omp = $('#ol_mb_pw');
$omi_label = $('#ol_mb_id_label');
$omp_label = $('#ol_mb_pw_label');
$omi.focus(function() {
$omi_label.css('visibility','hidden');
});
$omp.focus(function() {
$omp_label.css('visibility','hidden');
});
$omi.blur(function() {
$this = $(this);
if($this.attr('id') == "ol_mb_id" && $this.attr('value') == "") $omi_label.css('visibility','visible');
});
$omp.blur(function() {
$this = $(this);
if($this.attr('id') == "ol_mb_pw" && $this.attr('value') == "") $omp_label.css('visibility','visible');
});
});
</script>
<script>
function fhead_submit(f)
{

View File

@ -4,14 +4,20 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
<!-- 로그인 후 외부로그인 시작 -->
<section id="ol_after" class="outlogin">
<h2>나의 회원정보</h2>
<?=$nick?>님
<? if ($is_admin == 'super' || $is_auth) { ?><a href="<?=$g4['admin_path']?>/">관리자</a><? } ?>
<a href="javascript:win_point();">포인트 : <?=$point?>점</a>
<a href="<?=$g4['bbs_path']?>/member_confirm.php?url=register_form.php">정보수정</a>
<a href="javascript:win_memo();">쪽지 <?=$memo_not_read?>통</a>
<a href="javascript:win_scrap();">스크랩</a>
<a href="<?=$g4['bbs_path']?>/logout.php">로그아웃</a>
<header>
<h2>나의 회원정보</h2>
<strong><?=$nick?></strong>님
<? if ($is_admin == 'super' || $is_auth) { ?><a href="<?=$g4['admin_path']?>/">관리자</a><? } ?>
</header>
<ul>
<li><a href="javascript:win_memo();">안 읽은 쪽지 <span><?=$memo_not_read?>통</span></a></li>
<li><a href="javascript:win_point();">포인트 <span><?=$point?>점</span></a></li>
</ul>
<footer>
<a href="javascript:win_scrap();">스크랩</a>
<a href="<?=$g4['bbs_path']?>/member_confirm.php?url=register_form.php">정보수정</a>
<a href="<?=$g4['bbs_path']?>/logout.php">로그아웃</a>
</footer>
</section>
<script>
@ -19,7 +25,7 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
function member_leave()
{
if (confirm("정말 회원에서 탈퇴 하시겠습니까?"))
location.href = "<?=$g4['bbs_path']?>/member_confirm.php?url=member_leave.php";
location.href = "<?=$g4['bbs_path']?>/member_confirm.php?url=member_leave.php";
}
</script>
<!-- 로그인 후 외부로그인 끝 -->

View File

@ -18,16 +18,20 @@ $po = sql_fetch(" select * from $g4[poll_table] where po_id = '$po_id' ");
<input type="hidden" name="po_id" value="<?=$po_id?>">
<input type="hidden" name="skin_dir" value="<?=$skin_dir?>">
<section id="poll">
<h2>설문조사</h2>
<? if ($is_admin == "super") { ?><a href="<?=$g4[admin_path]?>/poll_form.php?w=u&amp;po_id=<?=$po_id?>">설문조사 관리</a><? } ?>
<?=$po['po_subject']?>
<ul>
<? for ($i=1; $i<=9 && $po["po_poll{$i}"]; $i++) { ?>
<li><input type="radio" name="gb_poll" value="<?=$i?>" id='gb_poll_<?=$i?>'> <label for='gb_poll_<?=$i?>'><?=$po['po_poll'.$i]?></label></li>
<? } ?>
</ul>
<input type="submit" value="투표하기">
<a href="javascript:;" onclick="poll_result('<?=$po_id?>');">결과보기</a>
<header>
<h2>설문조사</h2>
<? if ($is_admin == "super") { ?><a href="<?=$g4[admin_path]?>/poll_form.php?w=u&amp;po_id=<?=$po_id?>">설문조사 관리</a><? } ?>
<p><?=$po['po_subject']?></p>
</header>
<ul>
<? for ($i=1; $i<=9 && $po["po_poll{$i}"]; $i++) { ?>
<li><input type="radio" name="gb_poll" value="<?=$i?>" id='gb_poll_<?=$i?>'> <label for='gb_poll_<?=$i?>'><?=$po['po_poll'.$i]?></label></li>
<? } ?>
</ul>
<footer>
<input type="submit" value="투표하기">
<a href="javascript:;" onclick="poll_result('<?=$po_id?>');">결과보기</a>
</footer>
</section>
</form>