[G4] 포인트별 이름 색깔지정 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

[G4] 포인트별 이름 색깔지정 정보

[G4] 포인트별 이름 색깔지정

본문

제홈피 게시판에 적용 되어있는 포인트별로 이름의 색깔이 바뀌는 팁입니다.
까만도둑님께서 올리신 포인트별 자동레벨 아이콘을 응용해서 바꿔보았습니다.
http://sir.co.kr/bbs/tb.php/g4_tiptech/62
개인적으로 레벨아이콘을 붙히면 지져분해 보여서요...^^;
 
우선, 아래의 소스를 복사해서 새php파일에 붙혀넣고 그 새파일의 파일명을
developer.lib.php
파일을 넣어야할 폴더명 /자신의그누폴더명/extend/
 
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//포인트별 닉네임 색깔지정
function point_color($mb_id) {
global $g4, $member, $is_admin, $list, $i;
$sql = "select mb_nick,mb_name, mb_point, mb_level, mb_id from $g4[member_table] where mb_id='$mb_id'";
$result = sql_query($sql);
$data = sql_fetch_array($result);
$is_admin = is_admin($mb_id);
$ic_point = $data[mb_point];
$ic_mb_id = $data[mb_nick];//특정회원 지정색
$ic_guest = $list[$i][wr_name];
if($is_admin == 'super') //최고 관리자색
              {echo "<a href=\"javascript:;\" onClick=\"showSideView(this, '$mb_id', '$name', '$email', '$homepage');\" title=\"{$title_mb_id}{$title_name}\"><font color='#E80000'>쥬니어</font></a>";}
else if($ic_mb_id == '테스트') //특정회원 지정색
              {echo "<a href=\"javascript:;\" onClick=\"showSideView(this, '$mb_id', '$name', '$email', '$homepage');\" title=\"{$title_mb_id}{$title_name}\"><font color='#FF86C2'>테스트</font></a>";}
else if(!$ic_point) //비회원 지정색
              {echo "<a href=\"javascript:;\" onClick=\"showSideView(this, '$mb_id', '$name', '$email', '$homepage');\" title=\"{$title_mb_id}{$title_name}\"><font color='#B0B0B0'>".$ic_guest."</font></a>";}
else if($ic_point <= 1000) //1점 이상 1,000점 이하 지정색
              {echo "<a href=\"javascript:;\" onClick=\"showSideView(this, '$mb_id', '$name', '$email', '$homepage');\" title=\"{$title_mb_id}{$title_name}\"><font color='#FFC900'>".$ic_mb_id."</font></a>";}
      else if($ic_point <= 3000) //1,001점 이상 3,000점 이하 지정색
              {echo "<a href=\"javascript:;\" onClick=\"showSideView(this, '$mb_id', '$name', '$email', '$homepage');\" title=\"{$title_mb_id}{$title_name}\"><font color='#FFBB00'>".$ic_mb_id."</font></a>";}
      else if($ic_point <= 7000) //3,001점 이상 7,000점 이하 지정색
              {echo "<a href=\"javascript:;\" onClick=\"showSideView(this, '$mb_id', '$name', '$email', '$homepage');\" title=\"{$title_mb_id}{$title_name}\"><font color='#FF9900'>".$ic_mb_id."</font></a>";}
      else if($ic_point <= 15000) //7,001점 이상 15,000점 이하 지정색
              {echo "<a href=\"javascript:;\" onClick=\"showSideView(this, '$mb_id', '$name', '$email', '$homepage');\" title=\"{$title_mb_id}{$title_name}\"><font color='#8080C0'>".$ic_mb_id."</font></a>";}
      else if($ic_point <= 30000) //15,001점 이상 30,000점 이하 지정색
              {echo "<a href=\"javascript:;\" onClick=\"showSideView(this, '$mb_id', '$name', '$email', '$homepage');\" title=\"{$title_mb_id}{$title_name}\"><font color='#0080C0'>".$ic_mb_id."</font></a>";}
      else if($ic_point <= 60000) //30,001점 이상 60,000점 이하 지정색
              {echo "<a href=\"javascript:;\" onClick=\"showSideView(this, '$mb_id', '$name', '$email', '$homepage');\" title=\"{$title_mb_id}{$title_name}\"><font color='#FF3300'>".$ic_mb_id."</font></a>";}
      else if($ic_point <= 100000) //60,001점 이상 100,000점 이하 지정색
              {echo "<a href=\"javascript:;\" onClick=\"showSideView(this, '$mb_id', '$name', '$email', '$homepage');\" title=\"{$title_mb_id}{$title_name}\"><font color='#FF5500'>".$ic_mb_id."</font></a>";}
      else if($ic_point <= 200000) //100,001점 이상 200,000점 이하 지정색
              {echo "<a href=\"javascript:;\" onClick=\"showSideView(this, '$mb_id', '$name', '$email', '$homepage');\" title=\"{$title_mb_id}{$title_name}\"><font color='#FF4400'>".$ic_mb_id."</font></a>";}
      else if($ic_point <= 300000) //200,001점 이상 300,000점 이하 지정색
              {echo "<a href=\"javascript:;\" onClick=\"showSideView(this, '$mb_id', '$name', '$email', '$homepage');\" title=\"{$title_mb_id}{$title_name}\"><font color='#FF3300'>".$ic_mb_id."</font></a>";}
      else if($ic_point>=300001) //300,001점 이상 지정색
              {echo "<a href=\"javascript:;\" onClick=\"showSideView(this, '$mb_id', '$name', '$email', '$homepage');\" title=\"{$title_mb_id}{$title_name}\"><font color='#FF2200'>".$ic_mb_id."</font></a>";}
}
 
 
저의 경우는 게시판에 표시되는 이름이 모두 별명으로 표시되어서 위에 보시면 $ic_mb_id = $data[mb_nick];//특정회원 지정색 ← 이 부분.
데이터를 찾을때 닉네임으로 찾으라고 정해버렸습니다. 분명 모든 분들이 저와 똑같이 사용하시지 않을것으로 압니다.  위에 부분을 자신의 게시판에 맞게 바꿔주세요. 예를 들면, $data[mb_id]; $data[mb_name];  이라던가...
소스가 굉장히 지져분하고 무식한데, 그게 제 한계네요..^^;
원래 까만도둑님의 소스대로 간단히 하다가 사이드뷰가 열리지 않는것을 알고, 사이드뷰가 열리는 링크소스를 억지로 붙혔습니다. 그러다보니, 관리자모드에서 사이드뷰 활성화,비활성화의 체크가 먹히지 않게 되었습니다. 이점 양해바랍니다. ㅜ.ㅜ
 
주의할점- 맨위에 보시면 <?  ← 이걸로 시작을 열어놓고 맨밑에 닫아놓칠 않았는데, 저같은 경우는  ?> 요렇게 닫아놓으니 에러가 발생하더군요.
그래서 일부러 열어놓았습니다만, 혹시라도 에러가 나시는 분들은 밑에 한번 닫아줘보세요. 원래 닫아야하는건지 않닫아야 하는건지 초보자라 잘 모르겠군요.
 
이걸 응용해서 레벨별로 색깔을 지정할수 있습니다. 간단하니 밑에 같이 붙혀드릴께요. 파일만드는 법과 파일을 넣는 법은 위에 것과 똑같습니다.
 
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

//레벨별 닉네임 색깔지정
function level_color($mb_id) {
global $g4, $member, $is_admin;
$sql = "select mb_nick, mb_level, mb_id from $g4[member_table] where mb_id='$mb_id'";
$result = sql_query($sql);
$data = sql_fetch_array($result);
$is_admin = is_admin($mb_id);
$ic_level = $data[mb_level];
$ic_mb_id = $data[mb_nick];//특정회원 지정색
if($is_admin == 'super') //최고 관리자 색
              {echo "<font color='#E80000'>쥬니어</font></a>";}
else if($ic_mb_id == '테스트') //특정회원 지정색
              {echo "<font color='#FF86C2'>테스트</font></a>";}
else if(!$ic_level) //비회원 지정색
              {echo "<font color='#CECECE'>".$ic_mb_id."</font></a>";}
else if($ic_level == 1) //레벨 1 일때
              {echo "<font color='#808080'>".$ic_mb_id."</font></a>";}
      else if($ic_level == 2) //레벨 2 일때
              {echo "<font color='#FF8800'>".$ic_mb_id."</font></a>";}
      else if($ic_level == 3) //레벨 3 일때
              {echo "<font color='#FF7700'>".$ic_mb_id."</font></a>";}
      else if($ic_level == 4) //레벨 4 일때
              {echo "<font color='#CCCC00'>".$ic_mb_id."</font></a>";}
      else if($ic_level == 5) //레벨 5 일때
              {echo "<font color='#009900'>".$ic_mb_id."</font></a>";}
      else if($ic_level == 6) //레벨 6  일때
              {echo "<font color='#0080C0'>".$ic_mb_id."</font></a>";}
      else if($ic_level == 7) //레벨 7 일때
              {echo "<font color='#FF7700'>".$ic_mb_id."</font></a>";}
      else if($ic_level == 8) //레벨 8 일때
              {echo "<font color='#FF7700'>".$ic_mb_id."</font></a>";}
      else if($ic_level == 9) //레벨 9 일때
              {echo "<font color='#9B009B'>".$ic_mb_id."</font></a>";}
}
 
 
주의 - 레벨별 색깔지정은 사이드뷰링크 소스를 뺐습니다. 원하시는 분은 위에 포인트별 색깔지정의 것을 복사해서 쓰세요.


-----------------------------------------------------------------------------------------------------------------------------------------

* 포인트별 색깔지정 소스를

게시판 리스트에 불러들일때
skin/board/스킨명/list.skin.php파일의 <?=$list[$i][name]?> ← 이름에 덮어씌웁니다.
<?= point_color($list[$i][mb_id])?>

게시판 글읽기 레벨 아이콘
skin/board/각스킨/view.skin.php파일의 <?=$name?>  ← 이름에 덮어씌웁니다.
<?= point_color($write[mb_id])?>

코멘트 글읽기 레벨 아이콘
skin/board/각스킨/view_comment.skin.php파일의<?=$list[$i][name]?>  ← 이름에 덮어씌웁니다.
<?= point_color($list[$i][mb_id])?>

* 레벨별 색깔지정 소스를

게시판 리스트에 불러들일때
skin/board/스킨명/list.skin.php파일의 <?=$list[$i][name]?> ← 이름에 덮어씌웁니다.
<?= level_color($list[$i][mb_id])?>

게시판 글읽기 레벨 아이콘
skin/board/각스킨/view.skin.php파일의 <?=$name?>  ← 이름에 덮어씌웁니다.
<?= level_color($write[mb_id])?>

코멘트 글읽기 레벨 아이콘
skin/board/각스킨/view_comment.skin.php파일의<?=$list[$i][name]?>  ← 이름에 덮어씌웁니다.
<?= level_color($list[$i][mb_id])?>




검색해보니 다른분도 까만도둑님 소스를 응용하셨더군요... 그래서 올릴까말까 하다 올렸는데,
비슷한거 계속 올리지 말라 하시면 지우도록 하겠습니다.
추천
0
  • 복사

댓글 9개

비슷할 지라도 소스마다 특징이 있기때문에 필요한 분들에게는 매우 유용한 소스입니다.
좋은 팁 올려주셔서 진심으로 감사드립니다.
© SIRSOFT
현재 페이지 제일 처음으로