묻고답하기

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

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

예를들면 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 남기남
genezza 에디터를 사용해서 파일을 수정하면 한글이 깨져 나옵니다 [8] 2014.02.17 by genezza
남자인간 1.7.4 업데이트 이후에 PC로 회원가입이 오류납니다 [3] 2014.02.17 by DJKain
jfamilyclub godaddy 호스팅으로 설치가 전혀 진행되지않습니다 [3] 2014.02.17 by 유샤인
KSG2013 쉬운설치 할려고 XE admin 들어가서 봤는데... 설치목록이 0이라 뜨네요... [2] file 2014.02.17 by KSG2013
보소보소 (급질문) 회원가입 화면에서 이름만 입력이 되지 않습니다, [2] 2014.02.17 by 보소보소
아프리카토니 관리자 메뉴에서 사이트 매뉴 편집 누루면 창에 수신 데이터 없슴 이라 나옴  
edwar 메인 페이지 메뉴에서 감추는 법 없을까요???  
카네모치 호스팅에 관한 질문 [5] 2014.02.16 by Luatic™
라피에르 호스팅 연장문의 서버 php및 mysql버젼 (PHP 5.2.17, MYSQL 5.1.15) 너무 낮은 버전인가요? [6] 2014.02.16 by Luatic™
hon 스케치북 게시판 질문드립니다  
boayo 파일첨부시 에러 file  
FireChrome 글작성같이 act를 처리할떄 짧은주소가 적용되게하는법이없을까요? [2] 2014.02.16 by FireChrome
웹엔진 XML 쿼리 에러  
Fidelity DB 에서 게시글 이동 시키기 [2] 2014.02.16 by Fidelity
오락실주인 XE 음악사이트 가능할까요 ? [6] 2014.02.16 by Fidelity
따뜻 스케치북5 쓰는데... 분류보이고 분류명을 제목처럼 쓰려면 어떻게 하나여? [2] file 2014.02.16 by 따뜻
FireChrome 기본적으로 깔려있는 oembed애드온을 수정하고싶습니다.  
qegqge 배경이 2개로나오는데 하나로나오겐할순없나여? [1] file 2014.02.16 by XEMANIA
창유니 혹시 리눅스 Bind9로 라운드로빈방식 DNS분산했을 때 Xpressengine작  
한국12 고수님들  
최황삼 XE 1.7.4로 upgrade한 이후, 기본언어를 '한국어'로 하려면? [8] file 2014.02.16 by 최황삼
초코파이 특정그릅 회원 닉네임 앞에 특수문자 출력하기  
genezza 스케치북5 게시판 모바일에서 어떤글을 클릭하든 특정글(맨첫글)로 이동하는 현상  
Coma 메뉴를 삭제하던 중 삭제가 안되어서  
xe초보자 게시판 이모티콘 에디터 외에 사용하는 방법  
지옥의광대! 신디케이션 문의 [4] 2014.02.16 by oksky
pentopen 홈페이지 배경을 패턴이미지로 구성을 할경우 트래픽 발생은 어떻게 되나요? [5] 2014.02.16 by pentopen
상해파 XE로 다국어 사이트 운용시 SEO의 운영 방법은?  
권인해 XE 다국에 페이지 설정시 질문..  
trule0425 2월 12일부터 글쓰기 및 게시판 기능이 안되는 경우...