묻고답하기

문서권한 지정 애드온을 사용하고 있는데 보통 문서권한지정이 된 애드온은 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 남기남
김해운 꼭 답변해주세요.^^;; 유료계정서비스를 할려고하는데...... [5] 2007.08.10
최창희 짜증나 죽겠습니다...apache 까는 거... [3] 2007.08.10
김해랑 tt.ws, we.ro, wi.ro, xc.ws, rg.ro 이런게... [5] 2007.08.10
이태운 냉유 -_-;; 게시판에서요 [3] 2007.08.10
도토리™ 마우스 대면 바뀌는 롤오버 [2] 2007.08.10
김상현 cromess 였던가? 미니 윈도우 띄우기 질문 [1] 2007.08.10
한지원 04b폰트 포토샵에서쓸때의 크기좀..; [2] 2007.08.10
아시카 이메일 관련 질문합니다. 아웃룩사용.. [1] 2007.08.10
실제상황 권한설정은 어떻게?... [2] 2007.08.10
박영창 아파치가 외부에서 들어오는 사람들을 받아들이지 않습니다. [5] 2007.08.10
프리실라 게시판에 이미지 사진 올리구 싶은데 ... [1] 2007.08.10
민성훈 rand에서... [1] 2007.08.10
심진용 음악파일 형식에 따라 배경음악 테그 다르게 쓰기...  
이치카 포토샵에 폰트가 안먹어요-_-..; [1] 2007.08.10
순수주의 access 자료 mysql로 넘길때.. 암화화 작업에 대해서..  
RiiX select 태그에 각각 다른 스크립트를 걸고 싶습니다. [3] 2007.08.10
Roronoa 폰트 다운로드에 관한 질문입니다. [1] 2007.08.10
飛行청소년 궁금한게있는데요! [2] 2007.08.10
김해운 쥘문...........ㅠㅠ [2] 2007.08.10
zerOme 아쿠아 버튼같기도 한데.. 혹시 요청같은것도 가능한가요? 포토샵 작업... [4] 2007.08.10
충량 게시판 스킨 만들때요; [1] 2007.08.10
정기성 텔넷안쓰고 펄주소찾을려면어떻게해야합니까? [1] 2007.08.10
세영 제로보드제목 색바꾸는법이요. T_T [1] 2007.08.10
써니 동시접속자수가 일정한도를 넘어을때 메세지 띄우는 방법좀.. [1] 2007.08.10
이혜미 새로운글이 안보일때.  
최혜원 <계정질문> 이거 누구나 꼭 ~ ! 봐주셨으면 감사하겠습니다! [5] 2007.08.10
김한새결 신의키스님 홈페이지가 안들어가지는문제.. [4] 2007.08.10
김현수 html에서 플레쉬 불러오는 법좀알려주세여 [3] 2007.08.10
박형진 노프레임에서 테이블이 달라져요  
김방현 (Flash MX)Scene에서 작업한 애니매이션을 Symbol로 저장하려면..? [2] 2007.08.10