묻고답하기

질문의 요지는 레벨아이콘 출력 애드온을 수정하여

특정회원을 레벨아이콘이 아닌 다른 아이콘을 출력하고싶습니다.

예를들면 1~99레벨 아이콘이 아닌 관리자 아이콘을 넣고자 하는것이 목적입니다.


현재는 point_level_icon.lib 파일 레벨아이콘 위치를 구하는 부분 하단에

$oMemberModel = &getModel('member');

$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);

if ($member_info->user_id=="staff")

{         $level_icon = "./modules/point/icons/default/100.gif";     }

else

이렇게 회원 아이디를 넣는 방법으로 추가해서 사용하고 있습니다.


그런데 스텝이 여러명이고 자주 바뀌는터라, 바뀔때마다 자꾸 이 파일을 수정하려니 미치겠어요 ㅠㅠㅠㅠㅠㅠㅠ

그래서 애드온자체를 수정해서 좀 편하게 해보고 싶습니다. 제발..... ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ



일단 아래의 내용을 info에 적당히 추가해주었습니다.

  <extra_vars>

        <var name="staff">

            <title xml:lang="ko">회원 ID</title>

            <description xml:lang="ko">선택하신 회원에 적용 됩니다.

             회원 ID를 여러개 쓰려면

            ,(콤마)로 연결하여 입력하세요.

            (예 : 아이디1,아이디2,아이디3)

            </description>

        </var>

   </extra_vars>



그리고 point_level_icon.lib 에 다음과 같이 추가하였습니다. (하지만...전혀 동작하지 않음)


<?php

    /**

     * @brief 포인트 아이콘 변경을 위한 함수.

     **/

    function pointLevelIconTrans($matches) {

        $member_srl = $matches[3];

        if($member_srl<1) return $matches[0];


        if(!isset($GLOBALS['_pointLevelIcon'][$member_srl])) {

            // 포인트 설정을 구해옴

            if(!$GLOBALS['_pointConfig']) {

                $oModuleModel = &getModel('module');

                $GLOBALS['_pointConfig'] = $oModuleModel->getModuleConfig('point');

            }

            $config = $GLOBALS['_pointConfig'];


            // 포인트 모델을 구해 놓음

            if(!$GLOBALS['_pointModel']) $GLOBALS['_pointModel'] = getModel('point');

            $oPointModel = &$GLOBALS['_pointModel'];


            // 포인트를 구함

            $point = $oPointModel->getPoint($member_srl);


            // 레벨을 구함

            $level = $oPointModel->getLevel($point, $config->level_step);

            $text = $matches[5];


            // 레벨 아이콘의 위치를 구함

            $level_icon = sprintf('%smodules/point/icons/%s/%d.gif', Context::getRequestUri(), $config->level_icon, $level);

$oMemberModel = &getModel('member');

$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);

$tmp_ids = explode(",", $addon_info->staff);

if(in_array($member_info->user_id, $tmp_ids))

{         $level_icon = "./modules/point/icons/default/100.gif";     }

else


            // 최고 레벨이 아니면 다음 레벨로 가기 위한 per을 구함 :: 주석과 실제 내용이 맞지 않아 실제 내용을 수정

            if($level < $config->max_level) {

                $next_point = $config->level_step[$level+1];

                $present_point = $config->level_step[$level];

                if($next_point > 0) { 

                    $per = (int)(($point - $present_point) / ($next_point - $present_point)*100);

                    $per = $per.'%';

                }

            }


            $title = sprintf('%s:%s%s%s, %s:%s/%s', Context::getLang('point'), $point, $config->point_name, $per?' ('.$per.')':'', Context::getLang('level'), $level, $config->max_level);

            $alt = sprintf('[%s:%s]', Context::getLang('level'), $level);


            $GLOBALS['_pointLevelIcon'][$member_srl] = sprintf('<img src="%s" alt="%s" title="%s" style="vertical-align:middle; margin-right:3px;" />', $level_icon, $alt, $title);

        }

        $text = $GLOBALS['_pointLevelIcon'][$member_srl];


        $orig_text = preg_replace('/'.preg_quote($matches[5],'/').'<\/'.$matches[6].'>$/', '', $matches[0]);

        return $orig_text.$text.$matches[5].'</'.$matches[6].'>';

    }

?>


부디 조언부탁드립니다.

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
pentopen 홈페이지 배경을 패턴이미지로 구성을 할경우 트래픽 발생은 어떻게 되나요? [5] 2014.02.16 by pentopen
상해파 XE로 다국어 사이트 운용시 SEO의 운영 방법은?  
권인해 XE 다국에 페이지 설정시 질문..  
trule0425 2월 12일부터 글쓰기 및 게시판 기능이 안되는 경우...  
genezza 스케치북5 레이아웃+게시판 사용중인데 레이아웃 상세설정만 건들면 사이트에서 메뉴가 출력이 안됩니다  
kinetic_flow 모바일에서 exec_json 로 오브젝트 호출이 안됩니다. [2] 2014.02.16 by kinetic_flow
유유히 게시판 view 페이지 하단 리스트 안나오게 할수 없나요?  
anymir 모바일로 볼 때 유튜브 영상이 안보입니다.  
라시야 1.7설치하고 나니 세로메뉴 업데이트 하라고 계속 나오네요..ㅜㅜ [2] 2014.02.16 by matrix
때린데 또때려 접속통계 (counter) 업데이트 오류 관련 [2] 2014.02.16 by silhwang
genezza 내정보 에서 친구보기 탭을 삭제하려면 어떻게 해야되나요?  
김아랑634 패치후 업데이트가 안되는 항목이 있습니다. [1] 2014.02.16 by 김아랑634
루팡쿠팡 XE 초고수분만 들어와주세요. [1] 2014.02.16 by 루팡쿠팡
루팡쿠팡 (아시는분 없으신가요?) - 모바일에서 enter 키가 안먹혀 문단 바꾸기를 할수없는 현상 [1] 2014.02.16 by 루팡쿠팡
trule0425 CDN 과 관련하여 문의드립니다. [4] 2014.02.16 by trule0425
쟈메스 웹페이지 만드는 방법을 알려주세요. [4] 2014.02.16 by 쟈메스
지옥의광대! 댓글알리미 질문r [4] 2014.02.16 by ForHanbi
생컨 임시 저장 글을 메인 위젯페이지가 노출시킵니다 [3] 2014.02.16 by ForHanbi
qegqge 레이아웃 줄위치좀 알려주세요. [2] file 2014.02.16 by qegqge
FireChrome .hjaccess를 이용해 차단을했습니다. [1] 2014.02.15 by Omega3
FireChrome 유튜브전용 게시판이나 컴포넌트 괜찮은거없을까요? [1] 2014.02.15 by neostream
본체 스케치북 게시판을 사용하고 있는데요..  
edwar 최근게시물 위젯 수정 여쭤봅니다 [14] 2014.02.15 by edwar
xe초보자 아이콘샵 추가 설정 질문드립니다.  
한국12 도움좀 부탁드립니다 [widgets/contentextended]  
webgori 검색어 하이라이트 기능  
한국12 도와주세요[widgets/contentextended]  
용호보리차 인덱스된 주소 경로 수정?  
미스백 레벨아이콘 출력 애드온 수정 [2] 2014.02.15 by 미스백
서기에요 CentOS 잘 아시는분 계신가요~~ [2] 2014.02.15 by 서기에요