win_open 스크립트...하나만 알려주세요 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

win_open 스크립트...하나만 알려주세요 정보

win_open 스크립트...하나만 알려주세요

본문

달력에서 팝업을 올릴려고하는데
스킨 다운 받은것에 win_open가 없다고 하네요..

win_open 스크립트 좀 알려주세요

해당 스킨 : http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=94961&sca=%EB%8B%AC%EB%A0%A5&page=3

소스는 이거입니다.

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
global $is_admin;
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
$dlfwjd = "#99CCFF";//일정배경색

// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");

// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
    $day = 1;
    $spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
    $year = $year - ($month < 3);
    $result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
    return $result;
}

$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];

// 오늘
$today = getdate($g4[server_time]);
$mon  = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);

if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];

$yyyy = (int)$yyyy;
$mm = (int)$mm;

$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
    while ($line = each($f)) {
        $tmp = explode("|", $line[value]);
        $nal[$tmp[0]] = $tmp;
        //print_r2($nal);
    }
}

$spacer = spacer($yyyy, $mm);

$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
    $endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경

// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));

$dt[wday] = $spacer;

// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];

$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
    $yyyy_before--;
    $mm_before = 12;
}

$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
    $yyyy_after++;
    $mm_after = 1;
}

$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";

?>
<!-- Line top start -->

            <table width="174" border="0" cellpadding="0" cellspacing="0" align="center">
                <tr>
                    <td align="center" valign="top" bgcolor="FFFFFF" style="padding:0px">
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td width='5'></td>
<td height="20" class='cookie'><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$bo_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'><img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:쿠키; font-size:9pt; color:#FB6900;'>&nbsp;<?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a><? if ($is_admin == "super") { ?><?}?>
</td>
</tr>
</table>
<!-- Title end -->
<table width="186" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$cday = 1;
$sel_mon = sprintf("%02d",$mm);
$today_sql = "SELECT * FROM g4_write_"."$bo_table WHERE left(wr_link1,6) <= '$yyyy$sel_mon'  and left(wr_link2,6) >= '$yyyy$sel_mon'  ORDER BY wr_id ASC";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row[wr_link1],6,2);
$arry_name[$arry_day]=substr($row[wr_link1],0,8);
$titals[$arry_day]=$row[wr_subject];
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 =  substr("0".$day,-2);
if($arry_name[$day2]){
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td class='cookie' style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' title='{$titals[$day2]}' onclick=\"javascript:win_open('$g4[path]/pop_schedule.php?bo_table=$bo_table&year=$yyyy&month=$mm2&day=$day2', 'schedule', 'left=50, top=50, width=300, height=400, scrollbars=1');\">";
}else{
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td class='cookie' style='padding:1px;font-size:8pt;' id='id$i$k' align=center title='{$titals[$day2]}'>";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($arry_name[$day2]){
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$dlfwjd';</script>";
}
echo $day;
if ($arry_name[$day2]){
echo "";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo "&nbsp;";
} else
echo "&nbsp;";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>

</td>
</tr>
</table>
<!-- Line bottom end -->

댓글 전체

function win_open(url,name,option){
 window.open(url,name,option);
}

위처럼 함수를 만들어도 되고

window.open('$g4[path]/pop_schedule.php?bo_table=$bo_table&year=$yyyy&month=$mm2&day=$day2', 'schedule', 'left=50, top=50, width=300, height=400, scrollbars=1');

이렇게 open 함수를 바로 call 하셔도 됩니다
마인드님 감사합니다..잘 되네요..

한가지만 더 여쭈어 볼게요
팝업 안띄우고 해당 날짜 클릭하면 바로 가게 할려면 어찌 해야 하나요?
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 =  substr("0".$day,-2);
if($arry_name[$day2]){
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td class='cookie' style='padding:1px;font-size:8pt;cursor:pointer;' id='id$i$k' align=center style='cursor:hand;' title='{$titals[$day2]}' onclick=\"javascript:win_open('$g4[path]/pop_schedule.php?bo_table=$bo_table&year=$yyyy&month=$mm2&day=$day2', 'schedule', 'left=0, top=0, width=300, height=250, scrollbars=1');\">";
}else{
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td class='cookie' style='padding:1px;font-size:8pt;' id='id$i$k' align=center title='{$titals[$day2]}'>";


위에 소스에서 클릭하면 팝업 안 올리고 바로 게시판으로 가게 할려면 어찌 해야 하나요?
전체 16 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT