diff --git a/modules/editor/components/image_link/image_link.class.php b/modules/editor/components/image_link/image_link.class.php new file mode 100644 index 000000000..7d8589f9d --- /dev/null +++ b/modules/editor/components/image_link/image_link.class.php @@ -0,0 +1,57 @@ +upload_target_srl = $upload_target_srl; + $this->component_path = $component_path; + } + + /** + * @brief 에디터에서 처음 요청을 받을 경우 실행이 되는 부분이다. + * execute의 경우 2가지 경우가 생긴다. + * 직접 에디터 아래의 component area로 삽입할 html 코드를 만드는 것과 popup 윈도우를 띄우는 것인데 + * popup윈도우를 띄울 경우는 getPopupContent() 이라는 method가 실행이 되니 구현하여 놓아야 한다 + **/ + function execute() { + + $url = sprintf('./?module=editor&act=dispPopup&target_srl=%s&component=image_link', $this->upload_target_srl); + + $this->add('tpl', ''); + $this->add('open_window', 'Y'); + $this->add('popup_url', $url); + } + + /** + * @brief popup window요청시 다시 call이 될 method. popup window에 출력할 내용을 추가하면 된다 + **/ + function getPopupContent() { + // 템플릿을 미리 컴파일해서 컴파일된 소스를 return + $tpl_path = $this->component_path.'tpl'; + $tpl_file = 'popup.html'; + + Context::set("tpl_path", $tpl_path); + + // 이모티콘을 모두 가져옴 + $image_link_list = FileHandler::readDir($tpl_path.'/images'); + Context::set('image_link_list', $image_link_list); + + require_once("./classes/template/TemplateHandler.class.php"); + $oTemplate = new TemplateHandler(); + return $oTemplate->compile($tpl_path, $tpl_file); + } + + } +?> diff --git a/modules/editor/components/image_link/tpl/popup.css b/modules/editor/components/image_link/tpl/popup.css new file mode 100644 index 000000000..b94734a2a --- /dev/null +++ b/modules/editor/components/image_link/tpl/popup.css @@ -0,0 +1,9 @@ +#emoticon_area { + width:230px; + padding:10px 0px 10px 0px; + text-align:center; +} + +#emoticon_area img { + margin:2px; +} diff --git a/modules/editor/components/image_link/tpl/popup.html b/modules/editor/components/image_link/tpl/popup.html new file mode 100644 index 000000000..657cd1eab --- /dev/null +++ b/modules/editor/components/image_link/tpl/popup.html @@ -0,0 +1,56 @@ + + +
+ +