이소스를 g4s 용으로 바꾸면..
본문
<?
/*
ziumsoft 2013. 05
*/
include_once("./_common.php");
//-- $latest_skin_path, $table_name, $reloadtime(초), $firstload 1:첫 실행, 0:첫 실행 아님, $boardlist:적용한 보드 목록
$my_new_reply_list = ""; //-- 반응글 정보
$new_reply_alimi = 0;
$code_id = md5($member[mb_id]);
$boardlist = preg_replace("/\s+/", "", base64_decode($boardlist));
$aboardlist = explode(",", $boardlist);
for($i = 0; $i < count($aboardlist); $i++) $aboardname[$i] = "g4s_write_".$aboardlist[$i];
//-- 아이디로 검색 된 레코드가 없으면 아이디가 포함 된 빈 레코드 추가
if($firstload) {
$rdFirst = sql_fetch("select wr_id from $table_name where wr_subject='$code_id'");
if(!$rdFirst[wr_id] && $member[mb_id]) {
sql_query("insert into $table_name set wr_subject='$code_id'");
}
}
//-- 마지막 확인 후 지정한 시간이 지났음?
$pretime = date("Y-m-d H:i:s", time()-$reloadtime+10);
$rdAlimi = sql_fetch("select wr_id, wr_1, wr_content from $table_name where wr_subject='$code_id' and (wr_1<'$pretime' or wr_1='')");
$rdAlimi[wr_content] = base64_decode($rdAlimi[wr_content]);
if($rdAlimi[wr_id]) { //-- 첫 호출이거나 마지막 확인 후 지정한 시간 지났음
for($i = 0; $i < count($aboardlist); $i++) {
$repRes = sql_query("select wr_id, wr_num, wr_name, wr_reply, wr_parent, wr_datetime, wr_is_comment, wr_comment, wr_comment_reply, mb_id, wr_subject from $aboardname[$i] where wr_datetime>'$rdAlimi[wr_1]' and mb_id<>'$member[mb_id]' order by wr_num asc");
while($repData = mysql_fetch_array($repRes)) {
if(!((!$repData[wr_is_comment]) && ($repData[wr_id] == $repData[wr_parent]) && (!$repData[wr_reply]))){
if($repData[wr_reply]) {
$upRecA = substr($repData[wr_reply], 0, strlen($repData[wr_reply])-1);
$recRes = sql_fetch("select wr_id, mb_id, wr_name, wr_subject, wr_datetime from $aboardname[$i] where wr_num='$repData[wr_num]' and wr_is_comment='0' and wr_reply='$upRecA' and mb_id='$member[mb_id]'");
if($recRes[wr_id]) $my_new_reply_list .= $repData[wr_datetime] . "[#!!#]" . str_replace("g4s_write_", "", $aboardname[$i]) . "[#!!#]".$repData[wr_id] . "[#!!#]".$repData[wr_name] . "[#!!#]" . cut_str($recRes[wr_subject], 60) . "[#!!#]답글[#@@#]";
}
if(($repData[wr_is_comment] == "1") && ($repData[wr_comment_reply])) {
$upRecA = substr($repData[wr_comment_reply], 0, strlen($repData[wr_comment_reply])-1);
$recRes = sql_fetch("select wr_id, mb_id, wr_content from $aboardname[$i] where wr_num='$repData[wr_num]' and wr_comment='$repData[wr_comment]' and wr_comment_reply='$upRecA' and mb_id='$member[mb_id]'");
if($recRes[wr_id]) $my_new_reply_list .= $repData[wr_datetime] . "[#!!#]" . str_replace("g4s_write_", "", $aboardname[$i]) . "[#!!#]".$recRes[wr_id] . "#c_".$repData[wr_id] . "[#!!#]".$repData[wr_name] . "[#!!#]" . cut_str($recRes[wr_content], 60) . "[#!!#]답댓글[#@@#]";
}
if(($repData[wr_is_comment] == "1") && (!$repData[wr_comment_reply])) {
$recRes = sql_fetch("select wr_id, mb_id, wr_subject from $aboardname[$i] where wr_num='$repData[wr_num]' and wr_id='$repData[wr_parent]' and mb_id='$member[mb_id]'");
if($recRes[wr_id]) $my_new_reply_list .= $repData[wr_datetime] . "[#!!#]" . str_replace("g4s_write_", "", $aboardname[$i]) . "[#!!#]" . $recRes[wr_id] . "#c_" . $repData[wr_id] . "[#!!#]" . $repData[wr_name] . "[#!!#]" . cut_str($recRes[wr_subject], 60) . "[#!!#]댓글[#@@#]";
}
}
}
}
}
if($my_new_reply_list) { //-- 새 반응 글 있음
$new_reply_alimi = 1;
$my_new_reply_list .= $rdAlimi[wr_content];
if($code == "0") echo "<script language='javascript'>$('#zs_alimi_icon').css('display', 'block');</script>";
}else{ //-- 새 반응 글 없음
if($firstload) {
$rdAlimi = sql_fetch("select wr_id, wr_1, wr_content from $table_name where wr_subject='$code_id'");
$rdAlimi[wr_content] = base64_decode($rdAlimi[wr_content]);
$my_new_reply_list = $rdAlimi[wr_content];
}
}
$a_new_reply_list = explode("[#@@#]", $my_new_reply_list);
$a_new_reply_list = array_unique($a_new_reply_list); //-- 배열 중복 값 정리
rsort($a_new_reply_list); //-- 역순 정렬
$overcnt = count($a_new_reply_list) - 10;
if($overcnt > 0) for($j = 0; $j < $overcnt; $j++) array_pop($a_new_reply_list);
if($new_reply_alimi || $firstload) {
$reply_info_list = array();
for($i = 0; $i < count($a_new_reply_list); $i++) {
if($a_new_reply_list[$i]) {
$temp_reply = explode("[#!!#]", $a_new_reply_list[$i]);
$reply_info_list[$i][0] = $temp_reply[1]; //-- 게시판 이름
$reply_info_list[$i][1] = $temp_reply[2]; //-- 글번호
$reply_info_list[$i][2] = $temp_reply[3]; //-- 글쓴이
$reply_info_list[$i][3] = $temp_reply[4]; //-- 제목
$reply_info_list[$i][4] = $temp_reply[5]; //-- 답댓글
$reply_info_list[$i][5] = $temp_reply[0]; //-- 날짜
$reply_info_list[$i][6] = "<a id=reply_href href='../../../bbs/board.php?bo_table=".$temp_reply[1]."&wr_id=".$temp_reply[2]."' target='_blank'>"; //-- 게시판 링크
}
}
include_once("new.reply.skin.php"); //-- 알리미 스킨
//-- 마지막 확인 시간 수정.
$nowtime = date("Y-m-d H:i:s");
$my_new_reply_list = base64_encode($my_new_reply_list);
if($code == "1")
$reNewReply = sql_query("update $table_name set wr_1='$nowtime', wr_content='$my_new_reply_list' where wr_subject='$code_id'");
} else {
echo "new_reply_none"; //-- 새 반응 글 없음
}
?>
g4용 아고라 댓글 알림이인데요...
g4s에서 쓸라하니
select wr_id, wr_num, wr_name, wr_reply, wr_parent, wr_datetime, wr_is_comment, wr_comment, wr_comment_reply, mb_id, wr_subject from g4s_write_ where wr_datetime>'' and mb_id<>'admin' order by wr_num asc
1146 : Table 'test.g4s_write_' doesn't exist
error file : /skin/latest/zm.alimi/new.reply.load.php
이렇게 뜨는군요...
상단에 올린 코드가 new.reply.load.php 내용입니다...
왜이러는걸까요..기존 소스에서 제가 g4_ 를 g4s_ 로 바꾸긴했는데
너무어렵네요 g4s ㅜㅜ
답변 2
$table_name 이 네임에 test가 적용되있는데, 올려주신 코드에서는 정의된 부분이 없네요.
아마도 config나 다른부분에서 있을텐데 해당내용만으로 드릴수있는 답변은 말그대로
1146 : Table 'test.g4s_write_' doesn't exist
이답변밖에 없네요... g4와 g4s의 db구조자체도 틀리고 사용하신 스킨에서 또다른 디비를 다루게된다면
조금 힘드실수있습니다...
아마도 config나 다른부분에서 있을텐데 해당내용만으로 드릴수있는 답변은 말그대로
1146 : Table 'test.g4s_write_' doesn't exist
이답변밖에 없네요... g4와 g4s의 db구조자체도 틀리고 사용하신 스킨에서 또다른 디비를 다루게된다면
조금 힘드실수있습니다...
MySQL에서 테이블을 만들면 어떨까요.
g4s_write_ 이 부분 앞에 test. 이 부분이 있어서 안되는 듯 하네요
g4s_write_ 이 부분 앞에 test. 이 부분이 있어서 안되는 듯 하네요
답변을 작성하시기 전에 로그인 해주세요.