묻고답하기

문서권한 지정 애드온을 사용하고 있는데 보통 문서권한지정이 된 애드온은 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 남기남
SulEYa 간단한 - CSS수정 문의,, file  
사진속일상 xe 1.8 업글후 스케치치북 게시판 썸네일이 안나와요 [4] 2015.08.13 by 뵤로뤙
꾸링 1.7.X 에서 ckeditor 사용 [4] 2015.08.13 by 도라미
kyo961912 외부페이지 적용한 부분만 플래시가 2개씩 뜹니다.  
꾸링 IE11 URL에디터 기능 잘 되시나요..? [4] file 2015.08.13 by 꾸링
MF천월 채팅방 새창으로 띄우기  
꾸링 사용되고있는 애드온과 모듈이 상당히 많은데 속도에 영향이 있을까요..? [2] 2015.08.12 by 꾸링
낮에 헤더 로고이미지를 클릭하면 웹페이지의 첫화면으로 이동하는 방법이.. [2] 2015.08.12 by 낮에
주문365닷컴 게시판에서 댓글 에디터 입력창이 나타나지 않는 오류 [1] 2015.08.12 by 닉이
집에가는길 회원가입 페이지 [1] 2015.08.12 by sejin7940
인생예술가 회원정보 저장되는 곳 질문.. mysql인지.. 파일형태인지.. [2] 2015.08.12 by 인생예술가
푸푸맘 문서권한지정애드온 secret 아이콘 바꾸기  
14학번김영경 용량  
히나토아휴 커뮤니티 사이트의 서버호스팅 유지 방안에 관련해 문의 드립니다. [4] 2015.08.12 by 기진곰
sagnmoo 안녕하세요!  
hellojdy 섬네일을 특정 이미지로 고정하는 방법이 있나요?? [1] 2015.08.12 by YJSoft
I-JEX info.xml 설정값을 FTP에서 수정하려 합니다. [6] 2015.08.12 by I-JEX
오늘은삽질왕 오류메시지창의 oops를 한글로 고쳤더니 완전 깨져서 나옵니다.!! [4] file 2015.08.12 by 오늘은삽질왕
윤이이뻐 1.8.7로 설치후 사이트맵 생성및 조회 안되는 현상.. [2] file 2015.08.12 by YJSoft
StarDrag XE자료실에 자료 사용 질문 [1] 2015.08.12 by 기진곰
newi xe mid숨기기  
newi XE 열람 속도를 더 빠르게 하려면 어떻게 하면 될까요 ?? [1] 2015.08.12 by DoorWeb
ggogi 모바일에서 드랍다운 메뉴 만들기 [1] file 2015.08.12 by DoorWeb
내마음집 www빼고 홈페이지 접속시 로그인에 실패합니다. [2] 2015.08.12 by 내마음집
thdwjdtjr 로그인시 이메일로 하는 것을 아이디로 변경 방법 [1] 2015.08.12 by DoorWeb
OEZ 자료실 resource 모듈 다운로드 카운트 변형질문!! [2] 2015.08.12 by OEZ
초보해외유저 사용자 정의 부분을 입맛에 맛도록 어찌 할까요? [4] 2015.08.12 by 초보해외유저
OndineJ 댓글 자동저장 기능을 없애고 싶습니다.  
사랑해요XE 이 랜덤 스크립트를 랜덤으로 뿌려주려면 어떻게 해야하나요?  
chips14 contact 게시판에서 글쓰기 오류가 납니다. [3] 2015.08.12 by 로이조52