메뉴 건너뛰기

XE : Xpress Engine




XE 포럼

카르마님의 외부이미지 저장 애드온이 있습니다.

문서 저장시 외부 이미지를 복사하고 저장하면 로컬서버로 간편하게 저장이 됩니다.

링크가 깨지는 것을 예방할 수 있는 효과가 있습니다.


최근에 문서를 저장할 때가 아니라, 문서를 읽을 때 외부이미지 저장기능이 작동하면 좋겠다는 생각을 했습니다.


그런데 생각만큼 되지 않는군요.

제가 생각한 방식은 이렇습니다.


<?php
    if(!defined('__ZBXE__') && !defined('__XE__')) exit();
 
    /**
     * @outimage.addon.php
     * @author 카르마(http://www.wildgreen.co.kr)
     *
     **/
 
    require_once('./addons/auto_outimage/auto_outimage.func.php'); // 함수가져오기

    if(Context::get('module')=='admin') return; // 관리자 모듈에서는 실행않음

if($called_position == 'before_display_content') {

            $var = $this->variables;
            $document_srl = $var[document_srl];
            if(!$document_srl) return;
            $module_info = $oModuleModel->getModuleInfoByDocumentSrl($document_srl);
            $args->document_srl = $document_srl;
            $output =  executeQuery('document.getDocument', $args);
            $content = $output->data->content;
            //$oDocument = $oDocumentModel->getDocument($document_srl);
            // $content = $oDocument->getContent(false,false,false,false);
 
            $upload_target_srl = $document_srl;
            $oFileController = &getController('file');
 
            $contImg = extractImage($content);
            if(count($contImg)) {
                $replace = $content;
                foreach($contImg as $src) {
                    $ri_localfile = geRitLocalFile($src,$ri_avoid_domain,'N');
                    if(strcmp($src,$ri_localfile)==true)
                    {
                        $url = parse_url($ri_localfile);
                        $path_parts = pathinfo($url['path']);
                        $file_info['name']=$path_parts['basename'];
                        $file_info['tmp_name']=$ri_localfile;
                        $file_obj = $oFileController->insertFile($file_info,$module_info->module_srl,$upload_target_srl,0,true);
                        if(@$file_obj->variables['uploaded_filename']!=null) $replace = str_replace($src,$file_obj->variables['uploaded_filename'],$replace);
                        @unlink($ri_localfile);
                    }
                }
                $obj->module_srl = $module_info->module_srl;
                $obj->content = $replace;
                $obj->document_srl = $document_srl;
                executeQuery('addons.auto_outimage.updateDocument', $obj);
            }
        }  


?>


$called_position 에 대한 저의 이해가 떨어져서 인지, 작동이 안되네요.

문서저장 때와 문서읽을 때의 executeQuery 실행여부도 어떻게 확인해야 하는지 알수가 없네요.


애드온의 작동여부를 확인할 수 있는 디버깅 기법이 따로 있는지요?

지금 이 소스에서 어떤 문제가 있는지 고견을 부탁드립니다.

번호 글쓴이 제목 최종 글
공지 XE 공식사이트 운영 변경에 따른 안내 [19] 2014.04.21 by 착한악마
공지 XE 웹마스터 포럼 개설 안내 [2] 2014.04.21 by 키스투엑스이
공지 BNU XE 이슈 등록은 Github 프로젝트를 이용해주세요. [11] 2014.03.19 by 월드와이드독
3766 말똥이 홍보용 배너 모듈? [2] 2013.07.03 by 말똥이
3765 큰성565 혹시 생성된 게시판을 통채로 삭제해도 괜찮은가요..? [2] 2013.07.03 by 큰성565
3764 CKEQ 1.7.3.4 버전에서 위젯 쪽 확장변수 적용이 잘 되는지 궁금합니다.  
3763 코도치 비밀정보관련 [2] file 2013.07.02 by 코도치
3762 sipjaga99 sub 페이지 to 도메인 연결...  
3761 초보개발자 DB Error가 나면서 서버가 2시간마다 한번씩 다운이 됩니다. [4] 2013.07.02 by 초보개발자
3760 달빛영혼 데이터 백업 문제입니다. ㅇ,.ㅇ 첨부파일등등 [3] 2013.07.01 by 달빛영혼
3759 YJSoft 공사중 애드온... [12] file 2013.07.01 by 아루히
3758 몽실아빠 인기검색어 출력위젯 정녕 없나요 ? [1] 2013.07.01 by 溺內
3757 로스트(ROST) 갑자기 관리자페이지 편집.제작툴이 이상함 [2] 2013.06.30 by 로스트(ROST)
3756 CMD Xzet 1.4.5.20 (XE 1.4.x 보안 패치) - 2013/03/10 [19] 2013.06.30 by xe매니아
3755 짤막한글 해외 캐시 서버 구축...  
3754 우진홈 IPGUARD 모듈 베타 - 도움이 필요합니다...^^ [9] file 2013.06.29 by 우진홈
3753 skullacy 음... 이상하네요.. 익스에서 가상도메인이 안돼..  
3752 Lansi XE는 돌릴만한 서버 사양이 어느 정도인가요 [5] 2013.06.28 by Lansi
3751 쿡래빗 배너 슬라이드 직접 개발하나요? [2] 2013.06.28 by 쿡래빗
3750 푸시아 XE와 이니시스 모바일 결제  
3749 조인잡 여기 xe 공홈 언어가 뭘로 되있져? [2] 2013.06.27 by S야옹이
3748 Xiso 회원 쪽지발송 대안이 필요합니다. [20] 2013.06.27 by 혼ME
» 하얀마법 외부이미지 저장애드온의 새로운 접근법 [5] 2013.06.27 by 조인잡