mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-10 04:24:14 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@525 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
21b95da718
commit
f61c19760c
4 changed files with 136 additions and 0 deletions
57
modules/editor/components/image_link/image_link.class.php
Normal file
57
modules/editor/components/image_link/image_link.class.php
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @class image_link
|
||||||
|
* @author zero (zero@nzeo.com)
|
||||||
|
* @brief 에디터에서 url링크하는 기능 제공. 단순 팝업.
|
||||||
|
**/
|
||||||
|
|
||||||
|
class image_link extends EditorHandler {
|
||||||
|
|
||||||
|
// upload_target_srl 는 에디터에서 필수로 달고 다녀야 함....
|
||||||
|
var $upload_target_srl = 0;
|
||||||
|
var $component_path = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief upload_target_srl과 컴포넌트의 경로를 받음
|
||||||
|
**/
|
||||||
|
function image_link($upload_target_srl, $component_path) {
|
||||||
|
$this->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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
?>
|
||||||
9
modules/editor/components/image_link/tpl/popup.css
Normal file
9
modules/editor/components/image_link/tpl/popup.css
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
#emoticon_area {
|
||||||
|
width:230px;
|
||||||
|
padding:10px 0px 10px 0px;
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#emoticon_area img {
|
||||||
|
margin:2px;
|
||||||
|
}
|
||||||
56
modules/editor/components/image_link/tpl/popup.html
Normal file
56
modules/editor/components/image_link/tpl/popup.html
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<title>add Image</title>
|
||||||
|
<link rel='stylesheet' href='../css/editor.css' type='text/css' />
|
||||||
|
<script type='text/javascript' src='../../common/js/x.js'></script>
|
||||||
|
<script type='text/javascript' src='../../common/js/common.js'></script>
|
||||||
|
<script type='text/javascript' src='../js/editor.js'></script>
|
||||||
|
<script type='text/javascript'>
|
||||||
|
function insertImage() {
|
||||||
|
if(typeof(opener)=='undefined') return;
|
||||||
|
|
||||||
|
var fo_obj = xGetElementById("fo");
|
||||||
|
var url = fo_obj.url.value;
|
||||||
|
var align = fo_obj.align.options[fo_obj.align.selectedIndex].value;
|
||||||
|
if(url) {
|
||||||
|
opener.editorInsertImage(url, align);
|
||||||
|
opener.editorFocus(opener.editorPrevSrl);
|
||||||
|
}
|
||||||
|
self.close();
|
||||||
|
}
|
||||||
|
xAddEventListener(window, 'load', setFixedPopupSize);
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body class="editor_pop_body">
|
||||||
|
<form action='./' method='post' id="fo" onSubmit="return false" style="display:inline">
|
||||||
|
<div id='zone_AddUrl' class="editor_window">
|
||||||
|
<table width="380" border="0" cellspacing="1" cellpadding="0">
|
||||||
|
<col width="50" />
|
||||||
|
<col width="*" />
|
||||||
|
<tr>
|
||||||
|
<td class="editor_field">url</td>
|
||||||
|
<td><input type='text' name='url' class="editor_input" value='<?=$_GET['file_url']?>'/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="editor_field">type</td>
|
||||||
|
<td>
|
||||||
|
<select name='align'>
|
||||||
|
<option value=''>normal</option>
|
||||||
|
<option value='left'>left</option>
|
||||||
|
<option value='right'>right</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2" height="40">
|
||||||
|
<input type='button' class="editor_submit" value='Insert' onClick='insertImage()' />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
14
modules/editor/components/image_link/tpl/popup.js
Normal file
14
modules/editor/components/image_link/tpl/popup.js
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
function insertEmoticon(obj) {
|
||||||
|
if(typeof(opener)=='undefined') return;
|
||||||
|
|
||||||
|
var text = "<img src=\""+obj.src+"\" border=\"0\" alt=\"emoticon\" />";
|
||||||
|
|
||||||
|
opener.editorFocus(opener.editorPrevSrl);
|
||||||
|
|
||||||
|
var iframe_obj = opener.editorGetIFrame(opener.editorPrevSrl)
|
||||||
|
|
||||||
|
opener.editorReplaceHTML(iframe_obj, text);
|
||||||
|
opener.editorFocus(opener.editorPrevSrl);
|
||||||
|
|
||||||
|
window.close();
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue