묻고답하기

문서권한 지정 애드온을 사용하고 있는데 보통 문서권한지정이 된 애드온은 secret 자물쇠 아이콘이 붙는데 이 아이콘을 바꿔주고 싶습니다. xe/module/document/tpl/icon 파일에 따로 다른 아이콘 'aa'를 만들어 넣고 그 아이콘이 뜨게 하고 싶은데 아래에서 어떤 부분은 바꿔주면 될까요?

 

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

<?php
    if(!defined("__ZBXE__")) exit();

    /**
     * @appoint_view_user.addon.php
     * @author phiDel(phidel@foxb.kr)
     * @brief 문서보기 지정 에드온
     **/

    //에러시 패스
    if($this->error) return;

    $addon_idx = 909090;
    $addon_opt1 = $addon_info->is_nickname == 'S'?'소속 그룹':($addon_info->is_nickname == 'Y'?'닉네임':'아이디');
    $addon_group_list = $addon_info->group_list?$addon_info->group_list:'준회원,정회원,관리그룹';

    if($called_position == 'after_module_proc'){
        if($this->act=='dispBoardWrite'){

            $val = null;
            $val->module_srl = $this->module_srl;
            $val->idx = $addon_idx;
            $val->name = '문서보기 권한';
            $val->type = $addon_info->is_nickname == 'S'?'checkbox':'text';
            $val->default = $addon_info->is_nickname == 'S'?$addon_group_list:'';
            $val->desc = '지정한 유저 ('.$addon_opt1.') 에게만 문서보기 권한을 줍니다.'.($addon_info->is_nickname == 'S'?'':' (복수 등록은 , 로 구분)');
            $val->is_required = 'N';
            $val->search = 'N';
            $val->eid = 'addon_appoint_view_user';
            $val->value = '';

            $document_srl = Context::get('document_srl');

            if($document_srl)
            {
                $args->document_srl = $document_srl;
                $tmp_output = executeQuery('addons.appoint_view_user.getDocumentExtra', $args);
                if($tmp_output->toBool()){
                    $extra_vars=unserialize($tmp_output->data->extra_vars);
                    $val->value = $extra_vars->avuser;
                }
            }

            $obj = null;
            $obj = new ExtraItem($val->module_srl, $val->idx, $val->name, $val->type, $val->default, $val->desc, $val->is_required, $val->search, $val->value,  $val->eid);

            $extra_keys = Context::get('extra_keys');
            $extra_keys[$val->idx] = $obj;

            Context::set('extra_keys', $extra_keys);

        }elseif($this->act=='procBoardInsertDocument' && $this->variables['document_srl']){
            $val = Context::get('extra_vars'.$addon_idx);
            Context::set('extra_vars'.$addon_idx, null);

            if($val) $val = preg_replace("/\s+/","",$val);
            if($addon_info->is_nickname == 'S') $val = preg_replace("/\|\@\|/",",",$val);

            $args->document_srl = $this->variables['document_srl'];

            
            $tmp_output = executeQuery('addons.appoint_view_user.getDocumentExtra', $args);

            if($tmp_output->toBool()){
                $extra_vars=unserialize($tmp_output->data->extra_vars);
                if($val) $extra_vars->avuser = $val; else unset($extra_vars->avuser);
                $args->extra_vars = serialize($extra_vars);

                if($val){
                    unset($args->title);
                    if(preg_match('/^1.8/', __ZBXE_VERSION__) || preg_match('/^1.5/', __ZBXE_VERSION__)) {
                        $args->status = 'SECRET';
                    } else {
                        $args->is_secret = 'Y';
                    }

                    if($addon_info->is_display_user == 'Y'){
                        $args->title = $addon_opt1.' "'.$val.'" 님만 보세요.';
                    }
                }

                $tmp_output = executeQuery('addons.appoint_view_user.updateDocumentExtra', $args);
            }
        }elseif(($this->act=='dispBoardContent' || $this->act=='getBoardCommentPage') && Context::get('document_srl')){
            $document_srl = Context::get('document_srl');

            // 권한이 있으면 권한을 제거후 읽기만 가능하게
            if($_SESSION['own_document'][$document_srl] && $_SESSION['appoint_view_user'][$document_srl]){
                unset($_SESSION['own_document'][$document_srl]);
                $oDocument = Context::get('oDocument');
                $oDocument->variables['status'] = 'PUBLIC';
                $oDocument->variables['is_secret'] = 'Y';
                Context::set('oDocument', $oDocument);
            }

            unset($_SESSION['appoint_view_user'][$document_srl]);

        }

    }elseif($called_position == 'before_module_proc'){
        if(($this->act=='dispBoardContent' || $this->act=='getBoardCommentPage') && Context::get('document_srl')){

            unset($_SESSION['appoint_view_user'][$document_srl]);
            $document_srl = Context::get('document_srl');

            $logged_info = Context::get('logged_info');
            if(!$logged_info || $logged_info->is_admin == 'Y' || $logged_info->denied =='Y' || $_SESSION['own_document'][$document_srl]) return;

            $args->document_srl = $document_srl;
            $tmp_output = executeQuery('addons.appoint_view_user.getDocumentExtra', $args);

            if($tmp_output->toBool()){
                $extra_vars=unserialize($tmp_output->data->extra_vars);
                if($extra_vars->avuser){
                    if($addon_info->is_nickname == 'S'){
                        $users = $logged_info->group_list;
                        $avuser = explode(',',$extra_vars->avuser);
                        foreach($avuser as $l_user){
                            $_SESSION['appoint_view_user'][$document_srl] = $l_user && in_array($l_user, $users);
                            if($_SESSION['appoint_view_user'][$document_srl]) break;
                        }
                    }else{
                        $users = explode(',',$extra_vars->avuser);
                        $l_user = ($addon_info->is_nickname == 'Y'?$logged_info->nick_name:$logged_info->user_id);
                        $_SESSION['appoint_view_user'][$document_srl] = $l_user && in_array($l_user,$users);
                    }

                    // 권한을 줘서 모든 정보를 얻어옴
                    $_SESSION['own_document'][$document_srl] = $_SESSION['appoint_view_user'][$document_srl];
                }
            }
        }
    }
?>

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
김희락 홈페이지 전체 화면의 위치 조정하기. [1] 2007.08.10
최영환 나모웹에디터 레이어에 관한 질문입니다. [1] 2007.08.10
호영찬 저기 질문 [1] 2007.08.10
新유진생각 [질문] 저기 외부로그인에서요.. [2] 2007.08.10
한지원 FTP에 관한 질문이예요.. [4] 2007.08.10
seeman21 퓨라드 BBS를 수정하려는데요....  
에이시♬ 폴더에 암호 거는 것 [1] 2007.08.10
Elbum™ PHP챗팅프로그램에대해 질문이여.. [2] 2007.08.10
박영배 배경음악 asf 말고 mp3 로 링크 시킬데 없나요?  
박영배 My Sql 을 이용한 bgm player (사랑비같은..) [1] 2007.08.10
김진아 정말 초짜에요..-_- [3] 2007.08.10
김민수 자바스크립트에서 screenX,screenY가 안 먹는데요  
스프라이트 플래시 메뉴 링크 좀 BoA~주세요 (ㅡ,.ㅡ) [2] 2007.08.10
카루스[SiZZ] 이번에도 노프레임 관련;; [1] 2007.08.10
카르페디엠 이 아이콘같은건 어떻게 만드나요? [3] 2007.08.10
황동민 [질문] 한개의 i-frame 에서 다른 한개의 i-frame 으로의 타겟 지정. [1] 2007.08.10
¤ΚΘru(ちよ父) 오에카키등 에플릿 안떠요....  
슈퍼니나노 엔지오 홈페이지에서..  
정우재 메인화면이 안 뜹니다. [2] 2007.08.10
조용백 이런 mysql 사용중인데요. 다음과 같은 결과를 얻기 위해서 쿼리를 어떻게 해야 할까요.. [1] 2007.08.10
GEO [포토샵7] 필터 중에..  
장워니 [질문]네모난 메뉴에 갖다대면요.. [1] 2007.08.10
::쫑아:: 카운터...  
^야리꾸리^ 이런건 어떤 식으로 불러와야 하나요? [2] 2007.08.10
memoriez 포토샵 7.0에서 글씨크기가.. -.-  
김방현 (Flash MX)Scene에서 작업한 애니매이션을 Symbol로 저장하려면..? [2] 2007.08.10
박형진 노프레임에서 테이블이 달라져요  
김현수 html에서 플레쉬 불러오는 법좀알려주세여 [3] 2007.08.10
김한새결 신의키스님 홈페이지가 안들어가지는문제.. [4] 2007.08.10
최혜원 <계정질문> 이거 누구나 꼭 ~ ! 봐주셨으면 감사하겠습니다! [5] 2007.08.10