스킨폴더에 있는 스킨으로 방문자가 맘대로 바꿔본다?? > 그누4 팁자료실

그누4 팁자료실

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

스킨폴더에 있는 스킨으로 방문자가 맘대로 바꿔본다?? 정보

스킨폴더에 있는 스킨으로 방문자가 맘대로 바꿔본다??

본문

멀쩡한 게시판 스킨을 방문자 맘대로 바꿔서 볼 수 있다 ???

    작업시 하나의 게시판에서 여러개의 스킨을 바꿔보면서 스킨 적용상태를 점검하는데 그만입니다.
    갤러리 같은 곳에 아주 간단한 목록용 텍스트 타입 스킨을 따로 만들어서 보여주는 정도로 응용해도 괜찮을듯 합니다.

본격적인 스킨 작업을 하시려는 분께 드리는 플소위의 뽀어넛쓰 입니다.

    마구마구 바꿔보다가 편리하게 제자리로 돌려놓을 수 있게 했습니다.
    원래 설정으로 되돌리기가 귀찮아서 않쓰다가 오늘 전체 목록 추출과 설정으로 되돌리기를 붙였습니다.

  사용법 : 헤더 파일의 게시판 바로윗부분에 해당하는 위치에 붙여넣으시기만 하면 됩니다.
              아래 소스 그대로 붙일경우 관리자 권한일때만 보입니다.

  미리보기 : 링크의 아무 게시판이나 들어가 보세요.
                잠시만 열어둡니다.

  유창화님, rolo님, kail님 감사합니다.

<?
//session 기록 - kail, rolo님
//http://www.sir.co.kr/bbs/tb.php/g4_qa/19444
if ($is_admin == "super" || $is_auth) {
  if ($board['bo_table']) {
    if($_GET['bs']) {    //bs 세션 기록
      $bs = $_GET['bs'];
      session_register($bo_table);
      $_SESSION[ $bo_table]= $bs;
    }
    else if($_SESSION[ $bo_table]) {    //bs 세션 스킨
      $bs = $_SESSION[ $bo_table];
    }
    else {    //환경설정 스킨
      $bs = $board['bo_skin'];
    }

    $board_skin_path = "$g4[path]/skin/board/$bs";    //common.php 에서 정의된 스킨 설정을 교체

    //스킨 디렉토리 목록 추출(유창화님 코드참조) 플록
    $skin_dir = $g4['path'] . "/skin/board";
    $d = dir($skin_dir);
    if (isset($board['bo_table']) && is_dir($skin_dir)) {
      while (false !== ($entry = $d->read())) {
        if (substr($entry, 0, 1) != '.' && $entry != 'index.php') {
          $style = "";
          if ($bs == $entry)//해당 스킨 표시
          $style = " style='font-weight:bold; color:darkblue;' ";
          $skin_name = "<span $style>" . cut_str($entry, 30, '') . "</span>";

          $skin_link .= "<a href=' " . preg_replace("/&bs=(.*)/i","",$_SERVER[REQUEST_URI]) . "&bs=" . $entry. " '> " . $skin_name . "</a>,";
        }
      }
    }
    $d->close();
   
    ?><span style="color:blue;">● 아래 스킨 목록에서 바꿔보고 싶은 스킨을 선택하세요.<?=$skin_cnt?> <a href="<?=preg_replace("/&bs=(.*)/i","",$_SERVER[REQUEST_URI])?>&bs=<?=$board['bo_skin']?>" style="color:red;">관리자가 설정한 스킨으로 복원</a><br></span><?
    echo $skin_link;//스킨목록
  }//session
}//adm
?>
추천
1
  • 복사

댓글 6개

감사합니다.
작업용으로도 그만이고,
실제 응용하면 몇군데 쓰일곳이 있을것 같습니다.
간단하지만 세션을 이해하는데 도움이 되었습니다.
응용하기 나름일듯 합니다.^^;
테스트 페이지는 이시간 이후로 원래 설정대로 잠갔습니다.^^
테스트 자체가 그리 복잡하지 않으니 자신의 계정에서 테스트 해보시기 바랍니다.
앗 한발 늦었군요 ㅠㅠ

방문자 지정이면서 세션기록이라면... 선택했던 스킨으로 계속 접속이 되기까지 하나보군요!

멋집니다 ^^
© SIRSOFT
현재 페이지 제일 처음으로