웹마스터 팁

modules/document/document.item.php 파일에 getThumbnail() 함수를 참고하여 원본 이미지 주소를 가져오도록 하였습니다.

목적은 widget_lightgallery_skin 의 경우 첨부파일에 대해서만 작동을 하는데 첨부파일이 아닌 본문 삽입 이미지인 경우에도 작동하도록 하기 위함입니다.

 

        /* 썸네일 방식으로 원본 이미지 주소 가져오기 */

        function getThumbnail_oriSrc_min()

        {

                // Return false if the document doesn't exist

                if(!$this->document_srl) return;

                // If not specify its height, create a square

                if(!$height) $height = $width;

                // Return false if neither attachement nor image files in the document

                if(!$this->get('uploaded_count') && !preg_match("!<img!is", $this->get('content'))) return;

                // Get thumbnai_type information from document module's configuration

                if(!in_array($thumbnail_type, array('crop','ratio')))

                {

                        $config = $GLOBALS['__document_config__'];

                        if(!$config)

                        {

                                $oDocumentModel = &getModel('document');

                                $config = $oDocumentModel->getDocumentConfig();

                                $GLOBALS['__document_config__'] = $config;

                        }

                        $thumbnail_type = $config->thumbnail_type;

                }

 

                        // thumb_image 강제 지정 기능 - sejin7940 ( 120714 - 시작)

                        $args->document_srl = $this->document_srl;

                        $output = executeQuery('document.getDocument', $args, $this->columnList);

                        $thumb_image_srl = $output->data->thumb_image;

                        if($thumb_image_srl) {

                                // Find an iamge file among attached files if exists

                                if($this->get('uploaded_count')) {

                                        $oFileModel = &getModel('file');

                                        $file_list = $oFileModel->getFiles($this->document_srl);

                                        if(count($file_list)) {

                                                foreach($file_list as $file) {

                                                        if($thumb_image_srl == $file->file_srl) {

                                                                if(!preg_match("/\.(jpg|png|jpeg|gif|bmp)$/i",$file->source_filename)) continue;

                                                                $source_file = $file->uploaded_filename;

                                                                if(!file_exists($source_file)) $source_file = null;

                                                                else break;

                                                        }

                                                }

                                        }

                                        if($source_file){

                                                                                                return $source_file;

                                        }

                                }

                        }

                        // thumb_image 강제 지정 기능 - sejin7940 ( 120714 - 끝)

 

                // Define thumbnail information

                // Target File

                $source_file = null;

                // Find an iamge file among attached files if exists

                if($this->get('uploaded_count'))

                {

                        $oFileModel = &getModel('file');

                        $file_list = $oFileModel->getFiles($this->document_srl, array(), 'file_srl', true);

                        if(count($file_list))

                        {

                                foreach($file_list as $file)

                                {

                                        if($file->direct_download!='Y') continue;

                                        if(!preg_match("/\.(jpg|png|jpeg|gif|bmp)$/i",$file->source_filename)) continue;

 

                                        $source_file = $file->uploaded_filename;

                                        if(!file_exists($source_file)) $source_file = null;

                                        else break;

                                }

                        }

                }

                // If not exists, file an image file from the content

                if(!$source_file)

                {

                        $content = $this->get('content');

                        $target_src = null;

                        preg_match_all("!src=(\"|')([^\"' ]*?)(\"|')!is", $content, $matches, PREG_SET_ORDER);

                        $cnt = count($matches);

                        for($i=0;$i<$cnt;$i++)

                        {

                                $target_src = trim($matches[$i][2]);

                                if(!preg_match("/\.(jpg|png|jpeg|gif|bmp)$/i",$target_src)) continue;

                                if(preg_match('/\/(common|modules|widgets|addons|layouts)\//i', $target_src)) continue;

                                else

                                {

                                        if(!preg_match('/^(http|https):\/\//i',$target_src)) $target_src = Context::getRequestUri().$target_src;

 

                                                                                if(!$target_src) continue;

                                                                                else

                                                                                {

                                                                                            $source_file = $target_src;

                                                break;

                                                                                }

                                }

                        }

                }

 

                if($source_file)

                {

                                                return $source_file;

                }

 

                return;

        }

 
제목 글쓴이 날짜
file 모듈 insertFile() manual_insert 시 디렉토리생성 에러 문제 해결 방법 onTrust 2019.01.02
모듈에서 무조건 JSON/XML 형식으로 출력하기 [1] Devel0per 2015.04.03
새글/업데이트/이미지/동영상/첨부파일 아이콘 없애기 [18] file 老姜君 2008.11.21
무료 psd, html 탬플릿, 아이콘 사이트공유합니다. 허허길드짱 2018.11.27
act로 다른 페이지 보여주기 [1] 이온디 2018.07.25
단축url API 사용하시는 분들... 미스터강 2018.06.01
확장변수값 계산하여 게시판 리스트에 출력하기(총계 게시판) [1] file klaist 2009.11.30
PHP 뮤텍스 락 설치법(memcached 활용) [1] 에이트 2018.09.03
PHP 뮤텍스 락 설치법(redis 활용) 에이트 2018.09.11
위젯 가운데 정렬 하는법 [3] 불금 2015.07.05
요즘 제가 jquery 웹앱 솔루션을 개발했습니다. [2] file 안드류KIM 2018.04.03
썸네일 방식으로 이미지 원본 주소 가져오기 에이트 2018.08.22
다른 서버 간 서브도메인 쿠키 공유 에이트 2018.08.04
DB를 손쉽게 관리 [1] EISOFT 2018.07.15
CKEditor 이용시 몇가지 유용한 설정 [11] prologos 2015.05.02
Google 스프레드시트에서 구글 번역으로 XE 다국어 내용 만들기(Lang.xml 용도) file 달빛늑대 2018.07.17
Code-Highlighter 3.0.83 가로 스크롤바를 어디론가 보내 버리고 싶으신 분. 달빛늑대 2018.07.16
[수정]알림센터 Lite에 메일발송 기능을 추가하기 [11] file 매실茶 2013.11.25
고정도메인 host 변경하기 해피정닷컴 2016.03.11
도메인 변경 또는 설치 폴더 변경시 이미지 주소변경하기 file 해피정닷컴 2018.06.08