묻고답하기

문서권한 지정 애드온을 사용하고 있는데 보통 문서권한지정이 된 애드온은 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 남기남
쩡님아야 모바일에서 scrolltop 구현 안되는건가요?  
몽키즈 메뉴 게시판 수정후 오류. file  
몽실아빠 탈퇴 혹은 삭제 회원의 닉네임을 금지닉네임으로 넣고 싶습니다. [5] 2015.08.13 by sejin7940
몽키즈 XE 설치 오류 입니다. [1] file 2015.08.13 by 로이조52
몽키즈 XE 설치를 할려고 합니다. [1] 2015.08.13 by 로이조52
쩡님아야 모바일 게시판 레이아웃 스타일 적용이 안되는데요.. 어디서 어떻게 수정해야하는지알려주세용 [3] file 2015.08.13 by 쩡님아야
김나그네 제로보드 초보 조언구합니다 ㅠㅠ.  
맛있는두유GT 로그인 안한상태에서 글 눌렀을때 권한 없다고 나타나는 경고문 대신 로그인 페이지가 나오도록 하는 방법. [2] 2015.08.13 by 똑디
매실696e5 게시판의 게시물 순서를 바꿀수있을까요? [1] 2015.08.13 by 몽실아빠
bb 서브메뉴가 게시판에 의해서 가려지는 경우... [2] file 2015.08.13 by EISOFT
하이콩 제가 db에서 뭘 삭제한 이후로 ㅠㅠ [2] 2015.08.13 by 하이콩
청도아 모바일 URL 및 메인화면 질문합니다. file  
키스미베이베 css소스 하나만 가르쳐주세요 [1] 2015.08.13 by YJSoft
몽키즈 로고를 중간에 딱 맞겠끔 수정할려고 하는데 어떻게 하나요? [1] 2015.08.13 by DoorWeb
뺑두비쌈2 PHP버전이 5.2.17인데 xe는 어떤걸 설치해야 하나요 [2] 2015.08.13 by DoorWeb
MF천월 도와주세요 ㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ [1] 2015.08.13 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 기진곰