글 수 47
========================== board/basic/list.skin.php ================================ 1. 카테고리 불러오기 <? if ($is_category) { ?> <a href="<?=$list[$i][ca_name_href]?>"><?=$list[$i][ca_name]?></a> <? } ?> 2. 글작성일 <?=$list[$i][datetime]?> 3. 링크1 방문자수 <?=$list[$i][wr_link1_hit]?> 4. 조회수 <?=$list[$i][wr_hit]?> 5. 이미지출력 <? $image = urlencode($list[$i][file][0][file]); if (preg_match("/\.(gif|jpg|png)$/i", $image)) { // 첫번째 파일이 이미지라면 ?> <a href='<?=$list[$i][href]?>'><img src='<?=$g4[path]?>/data/file/<?=$bo_table?>/<?=$image?>' width='100' title='<?=$list[$i][wr_subject]?>' border=1 style='border-color:#dddbdb;'></a> <? } ?> 6. 이미지출력(noimage) <? $image = urlencode($list[$i][file][0][file]); if (preg_match("/\.(gif|jpg|png)$/i", $image)) { // 첫번째 파일이 이미지라면 ?> <a href='<?=$list[$i][href]?>'><img src='<?=$g4[path]?>/data/file/<?=$bo_table?>/<?=$image?>' width='$image_width' height='$image_height' title='<?=$list[$i][wr_subject]?>' border=1 style='border-color:#dddbdb;'></a> <? } else { ?> <img src='<?=$board_skin_path?>/img/noimage.gif' width='$image_width' height='$image_height' style='border:#cdcdcd solid 1px'></a> <? } ?> 7. 지정한 길이만큼 자르기 <?=cut_str($list[$i][wr_content],300,"...");?> 8. 링크1 출력 <? if ($list[$i][wr_link1]) { ?> <a href='<?=$list[$i][link_href][1]?>' target=_blank><?=cut_str($list[$i][wr_link1], 35)?></a> <?}?> 9. 현재위치표시 <!-- 현재위치표시 --> 현재위치 : <a href='<?=$g4[path]?>'>Home</a> <? if($bo_table) { //게시판에 들어 갔을 경우 if($group[gr_subject]!=''){ echo " > <a href='$g4[path]/bbs/group.php?gr_id=$group[gr_id]'>$group[gr_subject]</a>"; }// 그룹이름 출력 if($board[bo_subject]!='') { // 게시판이름 출력 echo " > <a href='$g4[path]/bbs/board.php?bo_table=$board[bo_table]'>$board[bo_subject]</a>"; } } else { echo " >$html_title"; }//일반페이지에 접속했을 경우 // echo cut_str($write[wr_subject], 25); // 게시물 제목 출력, 현재는 미표시, #제거하면 표시 ?> <? if ($is_category) { ?> > <select name=sca onchange="location='<?=$category_location?>'+this.value;"><option value=''>전체</option><?=$category_option?></select> <? } ?> 10. 한줄 카테고리 (1) <? if ($is_category) { ?> <? $cnt = 1; $sql = " SELECT bo_category_list FROM $g4[board_table] WHERE bo_table = '$bo_table' "; $row = sql_fetch($sql); $arr = explode("|", $row[bo_category_list]); // 구분자가 , 로 되어 있음 $str = ""; $str .= "<tr>"; for ($i=0; $i<count($arr); $i++) if (trim($arr[$i])) { $sql1 = " SELECT count(*) as cCount FROM $write_table WHERE ca_name = '$arr[$i]' and wr_comment >= 0 "; $row1 = sql_fetch($sql1); $str .= "<td><a href='./board.php?bo_table=$bo_table&sca=$arr[$i]'>$arr[$i] ($row1[cCount])</a></td>"; if ($cnt == $cnt_bo_1) { $cnt = 0; $str .= "</tr><tr>"; } $cnt++; } $sql2 = " SELECT count(*) as cCount FROM $write_table WHERE wr_comment >= 0 "; $row2 = sql_fetch($sql2); $Total_Cat = $row2[cCount] ?> <table width=100% border=0 cellspacing=0 cellpadding=0> <tr><td class=list_line style="height:2px;"></td></tr> </table> <table width=99% cellspacing=1 cellpadding=4> <col width=100></col> <col width=8></col> <col width=10></col> <col width=></col> <tr valign=top bgcolor=white> <td> <table width=100% border=0 cellspacing=0 cellpadding=0 style=table-layout:fixed> <tr> <td align=center><NOBR><a href='./board.php?bo_table=<?=$bo_table?>'>전체</a><BR>(<?=$Total_Cat?>)</NOBR></td> </tr> </table> </td> <td width=8 class=list_line style="padding:0px;"></td> <td></td> <td style='word-break:break-all;'> <table width=100% border=0 cellspacing=0 cellpadding=0> <tr><td><span class="content"><?=$str?></span></td></tr> </table> </td> </tr> </table> <table width=100% border=0 cellspacing=0 cellpadding=0> <tr><td class="list_line" style="height:1px;"></td></tr> <tr><td height=10></td></tr> </table> <? } ?> 11. 한줄 카테고리 (2) <? if ($is_category) { ?> <? $cnt = 1; $sql = " SELECT bo_category_list FROM $g4[board_table] WHERE bo_table = '$bo_table' "; $row = sql_fetch($sql); $arr = explode("|", $row[bo_category_list]); // 구분자가 , 로 되어 있음 $str .= ""; for ($i=0; $i<count($arr); $i++) if (trim($arr[$i])) { $sql1 = " SELECT count(*) as cCount FROM $write_table WHERE ca_name = '$arr[$i]' and wr_comment >= 0 "; $row1 = sql_fetch($sql1); $str .= "<a href='./board.php?bo_table=$bo_table&sca=$arr[$i]'>$arr[$i] ($row1[cCount])</a> "; if ($cnt == $cnt_bo_1) { $cnt = 0; $str .= ""; } $cnt++; } $sql2 = " SELECT count(*) as cCount FROM $write_table WHERE wr_comment >= 0 "; $row2 = sql_fetch($sql2); $Total_Cat = $row2[cCount] ?> <a href='./board.php?bo_table=<?=$bo_table?>'>전체(<?=$Total_Cat?>)</a> <?=$str?> <? } ?> 12. 여분필드 <?=$list[$i][wr_1]?> 13. 리스트에서 바로 자료 다운 echo "<a href="\".$g4[bbs_path]."/download.php?bo_table=".$bo_table."&wr_id=".$list[$i][wr_id]."&no=".$j."\">"; $j ==>> 첫번째 파일을 받고 싶을경우 $j 대신 1로 대입하면 된다. //sir 카이루님 =================================================================================== ======================= board/basic/view.skin.php ========================= 1. 작성일 <?=substr($view[wr_datetime],2,14)?> 2. 글쓴이 <?=$view[name]?> 3. 제목 <?=$view[subject]?> 4. 카테고리 <? if ($is_category) { echo ($category_name ? "[$view[ca_name]] " : ""); } ?> 5. IP <? if ($is_ip_view) { echo " ($ip)"; } ?> 6. 조회 <?=$view[wr_hit]?> 7. 추천 <? if ($is_good) echo "<b>추천</b>($view[wr_good])";?> 8. 비추천 <? if ($is_nogood) echo "<b>비추천</b>($view[wr_nogood])";?> 9. 첨부파일보기 - 일반게시판 - <? // 파일 출력 for ($i=0; $i<=count($view[file]); $i++) { if ($view[file][$i][view]) echo $view[file][$i][view] . "<p>"; } ?> 10. 첨부파일보기 - 답사기 형식 - <table width=100% border=0 cellpadding=0 cellspacing=0> <tr> <? echo "\n"; $td_width = (int)(100 / $mod); // 파일 출력 $k = 0; for ($i=0; $i<=count($view[file]); $i++) { if (!$view[file][$i][view]) continue; if ($k>0 && $k%$mod==0) echo "</tr><tr>\n"; //preg_match("/\{설명\:$k\:([^\}]*)\}/e", $view[wr_content], $m); echo $m[1]; echo <<<HEREDOC <td width='{$td_width}%' valign=top> <table width=100% cellpadding=4> <tr><td align=center>{$view[file][$i][view]}</td></tr> <tr><td><span class="content">{$view[file][$i][content]}</span></td></tr> </table> </td> HEREDOC; $k++; } ?> </tr> </table> <script language="JavaScript"> // HTML 로 넘어온 <img ... > 태그의 폭이 테이블폭보다 크다면 테이블폭을 적용한다. function resize_image() { var target = document.getElementsByName('target_resize_image[]'); var image_width = parseInt('<?=$image_width?>'); var image_height = 0; for(i=0; i<target.length; i++) { // 원래 사이즈를 저장해 놓는다 target[i].tmp_width = target[i].width; target[i].tmp_height = target[i].height; // 이미지 폭이 테이블 폭보다 크다면 테이블폭에 맞춘다 if(target[i].width > image_width) { image_height = parseFloat(target[i].width / target[i].height) target[i].width = image_width; target[i].height = parseInt(image_width / image_height); } } } window.onload = resize_image; </script> 11. 추가필드 <?=$view[wr_1]?> 12. 현재글의 스크랩 카운트 <? // 현재글의 스크랩 카운트를 구한다 $sql = "select count(*) as cnt from $g4[scrap_table] where bo_table='$bo_table' and wr_id = $wr_id"; $row=sql_fetch($sql); $scrap_count=$row[cnt]; ?> 그리고 갯수를 표시하고 싶은곳에 다음처럼 처리한다. <? if($scrap_count > 0) echo "이글의 스크랩 카운트 : $scrap_count"; ?> //sir root님 13. 첨부파일 분리 <? // 첫번째 파일 불러오기 for ($i=0; $i<=0; $i++) { if ($view[file][$i][view]) echo $view[file][$i][view] . "<p>"; } ?> <? // 두번째 파일부터 출력 for ($i=1; $i<=count($view[file]); $i++) { if ($view[file][$i][view]) echo $view[file][$i][view] . "<p>"; } ?> <? if ($view[file][1][view]) { //만약 두번째 파일이 있다면 그 이후의 파일들을 출력?> <table width=100% cellpadding=0 cellspacing=5 bgcolor=efefef><tr><td> <table width=100% cellpadding=8 cellspacing=0 style='border:1px solid #cccccc'><tr><td bgcolor=ffffff> <table width=100% cellpadding=2> <tr> <td style='word-break:break-all;' class='lh' height=100 valign='top'> <div align=center> <? // 두번째 파일부터 출력 for ($i=1; $i<=count($view[file]); $i++) { if ($view[file][$i][view]) echo $view[file][$i][view] . "<p>"; } ?> </div> </td> </tr> </table> </td></tr></table> </td></tr></table> <br> <? } ?> <script language="JavaScript"> // HTML 로 넘어온 <img ... > 태그의 폭이 테이블폭보다 크다면 테이블폭을 적용한다. function resize_image() { var target = document.getElementsByName('target_resize_image[]'); var image_width = parseInt('<?=$image_width?>'); var image_height = 0; for(i=0; i<target.length; i++) { // 원래 사이즈를 저장해 놓는다 target[i].tmp_width = target[i].width; target[i].tmp_height = target[i].height; // 이미지 폭이 테이블 폭보다 크다면 테이블폭에 맞춘다 if(target[i].width > image_width) { image_height = parseFloat(target[i].width / target[i].height) target[i].width = image_width; target[i].height = parseInt(image_width / image_height); } } } window.onload = resize_image; </script> =================================================================================== =========================== board/basic/write.skin.php =========================== 1. 추가필드 <input name=wr_1 itemname="wr_1" value="<?=$write[wr_1]?>"> //sir root님 =================================================================================== ========================== outlogin/basic/outlogin.skin.2.php ========================= 1. 아웃로그인스킨에서 회원이 스크랩 한 글이 몇개인지 outlogin.skin.2.php 소스의 PHP부분에 아래 소스를 넣고 <? // 스크랩 전체 갯수알아옴 $scrap = mysql_fetch_array(mysql_query("select count(ms_id) from $g4[scrap_table] where mb_id='$member[mb_id]'")); $scrap = $scrap[0]; ?> 나타낼곳에 아래의 소스 삽입 <a href="javascript:win_scrap();">스크랩 : <?=$scrap?>개</a> //sir 착한아이님 2. 아웃로그인에 회원 아이콘 보이기 <? $mb_id=$member[mb_id]; $mb_dir="$g4[path]/data/member/".substr($mb_id,0,2); $mb_icon="$mb_dir/$mb_id.gif"; if(file_exists($mb_icon)) $mb_icon="<img src="\"$mb_dir/$mb_id.gif\" border=0 alt=$mb_id align=absmiddle>"; else $mb_icon=""; ?> <strong><?=$mb_icon?> <?=$nick?></strong>님 //sir 그리고님 =================================================================================== ========================= member/basic/register_form.skin.php ==================== 1. 여분필드(mb_x) 회원 가입/수정에 사용하기 <input type=text name='mb_1' itemname='mb_1' value='<?=$member[mb_1]?>'> <input type=text name='mb_2' itemname='mb_2' value='<?=$member[mb_2]?>'> 2. 여분필드(mb_x) input type이 checkbox인것 <input type=checkbox name=mb_1 value='1' <?=($w=='' || $member[mb_1])?'checked':'';?>>mb_1 <input type=checkbox name=mb_2 value='1' <?=($w=='' || $member[mb_2])?'checked':'';?>>mb_2 ======================================================================================== ========================= 일반페이지 ==================== 1. 지정레벨 이하면 경고문구 <? if ($member[mb_level] < 5) { echo " <script language='javascript'> alert('지정된 회원만 이용가능합니다.'); history.go(-1); </script>"; exit; } ?> ======================================================================================== =================== G4에서 가, 감 및 변경된 변수와 필드들(g3 => g4) ====================== $cfg[write_table_prefix] => $g4[write_prefix] mysql_fetch_array => sql_fetch_array $sselect => $sfl $stext => $stx $ssort => $sst $sorder => $sod $cfg[write_table_prefix] = "gb_write_"; // 게시판 테이블의 접두사 => $g4[table_prefix] = "g4_"; // 테이블명 접두사 $g4[write_prefix] = $g4[table_prefix] . "write_"; // 게시판 테이블명 접두사 변경된 테이블 $cfg[table_default] => $g4[config_table] // 기본환경설정 테이블 $cfg[table_group] => $g4[group_table] // 그룹 설정 테이블 $cfg[table_group_member] => $g4[group_member_table] // 그룹회원 설정 테이블 $cfg[table_board] => $g4[board_table] // 게시판 설정 테이블 $cfg[table_login] => $g4[login_table] // 로그인 테이블 (접속자수) $cfg[table_member] => $g4[member_table] // 회원 테이블 $cfg[table_memo] => $g4[memo_table] // 메모 테이블 $cfg[table_zip] => $g4[zip_table] // 우편번호 테이블 $cfg[table_vote] => $g4[poll_table] // 투표 테이블 $cfg[table_vote_etc] => $g4[poll_etc_table] // 투표 기타의견 테이블 $cfg[table_point] => $g4[point_table] // 포인트 테이블 $cfg[table_count] => $g4[visit_table] // 카운터 테이블 $cfg[table_count_sum] => $g4[visit_sum_table] // 카운터 합계 테이블 추가된 테이블 $g4[auth_table] = $g4[table_prefix] . "auth"; // 관리권한 설정 테이블 $g4[board_file_table] = $g4[table_prefix] . "board_file"; // 게시판 첨부파일 테이블 $g4[board_new_table] = $g4[table_prefix] . "board_new"; // 게시판 새글 테이블 $g4[mail_table] = $g4[table_prefix] . "mail"; // 회원메일 테이블 $g4[popular_table] = $g4[table_prefix] . "popular"; // 인기검색어 테이블 $g4[scrap_table] = $g4[table_prefix] . "scrap"; // 게시글 스크랩 테이블 bo_total_count => bo_count_write => bo_count_comment bo_gallery_width => bo_gallery_cols {$cfg[write_table_prefix]}{$row[bo_table]} => {$g4[write_prefix]}{$row[bo_table]} 글 : wr_is_comment = 0, wr_comment > 0 코멘트 : wr_is_comment = 1, wr_comment < 0 /////////////////////////////////////////////////////////////