mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-11 04:52:14 +09:00
1.2.4 개발버전을 trunk로 복사
git-svn-id: http://xe-core.googlecode.com/svn/trunk@6673 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
commit
af67622f54
385 changed files with 14829 additions and 12600 deletions
|
|
@ -1,5 +1,8 @@
|
||||||
RewriteEngine On
|
RewriteEngine On
|
||||||
|
|
||||||
|
# reserve XE Layout Template Source File (*.html)
|
||||||
|
RewriteRule ^layouts/(.+)/(.+).html$ ./index.php [L]
|
||||||
|
|
||||||
# static files
|
# static files
|
||||||
RewriteRule ^(.+)/files/member_extra_info/(.*) ./files/member_extra_info/$2 [L]
|
RewriteRule ^(.+)/files/member_extra_info/(.*) ./files/member_extra_info/$2 [L]
|
||||||
RewriteRule ^(.+)/files/attach/(.*) ./files/attach/$2 [L]
|
RewriteRule ^(.+)/files/attach/(.*) ./files/attach/$2 [L]
|
||||||
|
|
|
||||||
|
|
@ -243,7 +243,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
debugPrint($obj->content);
|
|
||||||
|
|
||||||
// 문서 번호 설정
|
// 문서 번호 설정
|
||||||
$document_srl = getNextSequence();
|
$document_srl = getNextSequence();
|
||||||
|
|
@ -265,7 +264,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$obj->content = str_replace($uploaded_target_path,sprintf('/files/attach/images/%s/%s%s', $this->module_srl, getNumberingPath($document_srl,3), $filename), $obj->content);
|
$obj->content = str_replace($uploaded_target_path,sprintf('./files/attach/images/%s/%s%s', $this->module_srl, getNumberingPath($document_srl,3), $filename), $obj->content);
|
||||||
|
|
||||||
$oDocumentController = &getController('document');
|
$oDocumentController = &getController('document');
|
||||||
$obj->allow_comment = 'Y';
|
$obj->allow_comment = 'Y';
|
||||||
|
|
@ -356,7 +355,7 @@
|
||||||
$obj->uploaded_count += $file_count;
|
$obj->uploaded_count += $file_count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$obj->content = str_replace($uploaded_target_path,sprintf('/files/attach/images/%s/%s%s', $this->module_srl, getNumberingPath($document_srl,3), $filename), $obj->content);
|
$obj->content = str_replace($uploaded_target_path,sprintf('./files/attach/images/%s/%s%s', $this->module_srl, getNumberingPath($document_srl,3), $filename), $obj->content);
|
||||||
|
|
||||||
$oDocumentController = &getController('document');
|
$oDocumentController = &getController('document');
|
||||||
$output = $oDocumentController->updateDocument($oDocument,$obj);
|
$output = $oDocumentController->updateDocument($oDocument,$obj);
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
|
|
||||||
$target_acts = array('procBoardInsertDocument','procBoardInsertComment','procIssuetrackerInsertIssue','procIssuetrackerInsertHistory');
|
$target_acts = array('procBoardInsertDocument','procBoardInsertComment','procIssuetrackerInsertIssue','procIssuetrackerInsertHistory');
|
||||||
if($addon_info->apply_find_account=='apply') $target_acts[] = 'procMemberFindAccount';
|
if($addon_info->apply_find_account=='apply') $target_acts[] = 'procMemberFindAccount';
|
||||||
|
if($addon_info->apply_resend_auth_mail=='apply') $target_acts[] = 'procMemberResendAuthMail';
|
||||||
|
|
||||||
Context::addHtmlHeader('<script type="text/javascript"> var captchaTargetAct = new Array("'.implode('","',$target_acts).'"); </script>');
|
Context::addHtmlHeader('<script type="text/javascript"> var captchaTargetAct = new Array("'.implode('","',$target_acts).'"); </script>');
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -96,5 +96,27 @@
|
||||||
<title xml:lang="zh-TW">적용</title>
|
<title xml:lang="zh-TW">적용</title>
|
||||||
</options>
|
</options>
|
||||||
</var>
|
</var>
|
||||||
|
<var name="apply_resend_auth_mail" type="select">
|
||||||
|
<title xml:lang="ko">인증 메일 재발송 적용</title>
|
||||||
|
<title xml:lang="zh-CN">인증 메일 재발송 적용</title>
|
||||||
|
<title xml:lang="jp">인증 메일 재발송 적용</title>
|
||||||
|
<title xml:lang="zh-TW">인증 메일 재발송 적용</title>
|
||||||
|
<description xml:lang="ko">적용으로 하시면 인증 메일 재발송 기능에도 적용되어 악의적인 봇(또는 프로그램)에 의한 메일 발송을 막을 수 있습니다.</description>
|
||||||
|
<description xml:lang="zh-CN">적용으로 하시면 인증 메일 재발송 기능에도 적용되어 악의적인 봇(또는 프로그램)에 의한 메일 발송을 막을 수 있습니다.</description>
|
||||||
|
<description xml:lang="jp">적용으로 하시면 인증 메일 재발송 기능에도 적용되어 악의적인 봇(또는 프로그램)에 의한 메일 발송을 막을 수 있습니다.</description>
|
||||||
|
<description xml:lang="zh-TW">적용으로 하시면 인증 메일 재발송 기능에도 적용되어 악의적인 봇(또는 프로그램)에 의한 메일 발송을 막을 수 있습니다.</description>
|
||||||
|
<options value="">
|
||||||
|
<title xml:lang="ko">적용하지 않음</title>
|
||||||
|
<title xml:lang="zh-CN">적용하지 않음</title>
|
||||||
|
<title xml:lang="jp">적용하지 않음</title>
|
||||||
|
<title xml:lang="zh-TW">적용하지 않음</title>
|
||||||
|
</options>
|
||||||
|
<options value="apply">
|
||||||
|
<title xml:lang="ko">적용</title>
|
||||||
|
<title xml:lang="zh-CN">적용</title>
|
||||||
|
<title xml:lang="jp">적용</title>
|
||||||
|
<title xml:lang="zh-TW">적용</title>
|
||||||
|
</options>
|
||||||
|
</var>
|
||||||
</extra_vars>
|
</extra_vars>
|
||||||
</addon>
|
</addon>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
* @brief English Language Pack
|
* @brief English Language Pack
|
||||||
**/
|
**/
|
||||||
|
|
||||||
$lang->about_captcha = "Choose an image whose name is listed below";
|
$lang->about_captcha = "Please choose an image whose name is listed below";
|
||||||
$lang->target_captcha = array(
|
$lang->target_captcha = array(
|
||||||
"airplane" => "airplane",
|
"airplane" => "airplane",
|
||||||
"apple" => "apple",
|
"apple" => "apple",
|
||||||
|
|
|
||||||
|
|
@ -445,7 +445,7 @@
|
||||||
|
|
||||||
// 변환 후 출력
|
// 변환 후 출력
|
||||||
if(strtolower($this->charset) == 'utf-8') print $content;
|
if(strtolower($this->charset) == 'utf-8') print $content;
|
||||||
else print iconv('UTF-8',$this->charset."//TRANSLIT", $content);
|
else print iconv('UTF-8',$this->charset."//TRANSLIT//IGNORE", $content);
|
||||||
|
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,13 @@
|
||||||
* @brief 日本語言語パッケージ
|
* @brief 日本語言語パッケージ
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
// 言語選択部分 by misol
|
||||||
|
$lang->president_lang = '現在言語';
|
||||||
|
$lang->select_lang = '言語選択';
|
||||||
|
$lang->lang_return = '戻る';
|
||||||
|
|
||||||
$lang->cmd_go_upper = '上位メニュー';
|
$lang->cmd_go_upper = '上位メニュー';
|
||||||
$lang->cmd_go_home = 'トップへ';
|
$lang->cmd_go_home = 'トップへ';
|
||||||
$lang->cmd_view_sitemap = 'サイトマップ';
|
$lang->cmd_view_sitemap = 'サイトマップ';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,10 @@
|
||||||
* @author zero (zero@nzeo.com) 翻譯:royallin
|
* @author zero (zero@nzeo.com) 翻譯:royallin
|
||||||
* @brief XE行動上網正體中文語言
|
* @brief XE行動上網正體中文語言
|
||||||
**/
|
**/
|
||||||
|
// lang select by misol
|
||||||
|
$lang->president_lang = '已選擇語言';
|
||||||
|
$lang->select_lang = '選擇語言';
|
||||||
|
$lang->lang_return = '返回';
|
||||||
|
|
||||||
$lang->cmd_go_upper = '回上頁';
|
$lang->cmd_go_upper = '回上頁';
|
||||||
$lang->cmd_go_home = '回首頁';
|
$lang->cmd_go_home = '回首頁';
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
</description>
|
</description>
|
||||||
<description xml:lang="en">
|
<description xml:lang="en">
|
||||||
This addon displays level icon in front of the user name when you are using the point system.
|
This addon displays level icon in front of the user name when you are using the point system.
|
||||||
You can choose the level icon on Module > Point System.
|
You can choose the level icon in Module > Point System.
|
||||||
</description>
|
</description>
|
||||||
<description xml:lang="ge">
|
<description xml:lang="ge">
|
||||||
Dieses Addon zeigt Level Icon vor dem Benutzernamen, wenn Sie die Punkte-System.
|
Dieses Addon zeigt Level Icon vor dem Benutzernamen, wenn Sie die Punkte-System.
|
||||||
|
|
|
||||||
|
|
@ -157,47 +157,69 @@ function slideshow(event) {
|
||||||
xScreen.xeShow();
|
xScreen.xeShow();
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).ready(function(){
|
/* DOM READY */
|
||||||
var regx_skip = /(?:modules|addons|classes|common|layouts|libs|widgets)/i;
|
$(function() {
|
||||||
var regx_parent = /(?:document|comment)_[0-9]+_[0-9]+/i;
|
var regx_skip = /(?:(modules|addons|classes|common|layouts|libs|widgets|widgetstyles)\/)/i;
|
||||||
|
var regx_allow_i6pngfix = /(?:common\/tpl\/images\/blank\.gif$)/i;
|
||||||
|
/**
|
||||||
|
* 본문 폭 구하기 위한 개체
|
||||||
|
* IE6에서 본문폭을 넘는 이미지가 있으면 그 크기로 구해지는 문제 우회용
|
||||||
|
**/
|
||||||
|
var dummy = $('<div style="height:1; overflow:hidden; opacity:0; display:block; clear:both;"></div>');
|
||||||
|
|
||||||
$(".xe_content").each(function() {
|
/**
|
||||||
$(this).find("img").each(function(){
|
* 리사이즈 실행 함수
|
||||||
var img = $(this);
|
**/
|
||||||
var width = img.attr("width");
|
function doResize(contentWidth, count) {
|
||||||
if(!width) width = img.width();
|
// 재시도 회수 제한
|
||||||
img.attr("orig_width",width);
|
if(!count) count = 0;
|
||||||
img.attr("width",1);
|
if(count >= 10) return;
|
||||||
|
|
||||||
|
var $img = this;
|
||||||
|
var beforSize = {'width':$img.width(), 'height':$img.height()};
|
||||||
|
|
||||||
|
// 이미지 사이즈를 구하지 못했을 때 재시도
|
||||||
|
if(!beforSize.width || !beforSize.height) {
|
||||||
|
setTimeout(function() {
|
||||||
|
doResize.call($img, contentWidth, ++count)
|
||||||
|
}, 200);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 리사이즈 필요 없으면 리턴
|
||||||
|
if(beforSize.width <= contentWidth) return;
|
||||||
|
|
||||||
|
var resize_ratio = contentWidth / beforSize.width;
|
||||||
|
|
||||||
|
$img
|
||||||
|
.removeAttr('width').removeAttr('height')
|
||||||
|
.css({
|
||||||
|
'width':contentWidth,
|
||||||
|
'height':parseInt(beforSize.height * resize_ratio, 10)
|
||||||
});
|
});
|
||||||
var offsetWidth = $(this).width();
|
|
||||||
|
|
||||||
$(this).find("img").each(function(){
|
|
||||||
var img = $(this);
|
|
||||||
var src = img.attr("src");
|
|
||||||
img.attr("width",img.attr("orig_width"));
|
|
||||||
img.removeAttr("orig_width",'');
|
|
||||||
var width = img.attr("width");
|
|
||||||
var height = img.attr("height");
|
|
||||||
|
|
||||||
// XE 내부 프로그램 또는 스킨의 이미지라면 이미지 리사이즈를 하지 않음
|
|
||||||
if ( !regx_skip.test(src) ) {
|
|
||||||
// 커스텀 속성 추가
|
|
||||||
img.attr("rel", "xe_gallery");
|
|
||||||
|
|
||||||
// 크기를 계산한다
|
|
||||||
if(width>offsetWidth) {
|
|
||||||
img.attr("width",offsetWidth-10);
|
|
||||||
img.attr("height",parseInt(offsetWidth/width*height,10));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 링크가 설정되어 있거나 onclick 이벤트가 부여되어 있으면 원본 보기를 하지 않음
|
$('div.xe_content').each(function() {
|
||||||
if ( !img.parent("a").size() && !img.attr("onclick") ) {
|
dummy.appendTo(this);
|
||||||
// 스타일 설정
|
var contentWidth = dummy.width();
|
||||||
img.css("cursor", "pointer");
|
dummy.remove();
|
||||||
|
if(!contentWidth) return;
|
||||||
|
|
||||||
// 클릭하면 슬라이드쇼 시작
|
$('img', this).each(function() {
|
||||||
img.click(slideshow);
|
var $img = $(this);
|
||||||
}
|
var imgSrc = $img.attr('src');
|
||||||
|
if(regx_skip.test(imgSrc) && !regx_allow_i6pngfix.test(imgSrc)) return;
|
||||||
|
|
||||||
|
$img.attr('rel', 'xe_gallery');
|
||||||
|
|
||||||
|
doResize.call($img, contentWidth);
|
||||||
|
});
|
||||||
|
|
||||||
|
/* live 이벤트로 적용 (image_gallery 컴포넌트와의 호환 위함) */
|
||||||
|
$('img[rel=xe_gallery]', this).live('mouseover', function() {
|
||||||
|
var $img = $(this);
|
||||||
|
if(!$img.parent('a').length && !$img.attr('onclick')) {
|
||||||
|
$img.css('cursor', 'pointer').click(slideshow);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,14 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<addon version="0.2">
|
<addon version="0.2">
|
||||||
<title xml:lang="ko">SmartphonePhone XE 애드온</title>
|
<title xml:lang="ko">SmartPhone XE 애드온</title>
|
||||||
<title xml:lang="zh-TW">SmartphonePhone XE</title>
|
<title xml:lang="en">SmartPhone XE</title>
|
||||||
<title xml:lang="jp">SmartphonePhone XE アドオン</title>
|
<title xml:lang="zh-TW">SmartPhone XE</title>
|
||||||
|
<title xml:lang="jp">SmartPhone XE アドオン</title>
|
||||||
<description xml:lang="ko">
|
<description xml:lang="ko">
|
||||||
IPhone (touch) 등, smartphone 에서 접속시 최적화된 화면을 보여줍니다.
|
IPhone (touch) 등, smartphone 에서 접속시 최적화된 화면을 보여줍니다.
|
||||||
|
</description>
|
||||||
|
<description xml:lang="en">
|
||||||
|
This addon displays the best screen for users who use smartphones like IPhone (touch).
|
||||||
</description>
|
</description>
|
||||||
<description xml:lang="zh-TW">
|
<description xml:lang="zh-TW">
|
||||||
以 IPhone (touch) 和 smartphone 瀏覽時會以最適當的畫面顯示。
|
以 IPhone (touch) 和 smartphone 瀏覽時會以最適當的畫面顯示。
|
||||||
|
|
@ -16,6 +20,7 @@
|
||||||
<date>2009-04-20</date>
|
<date>2009-04-20</date>
|
||||||
<author email_address="haneul0318@gmail.com" link="http://seungyeop.kr">
|
<author email_address="haneul0318@gmail.com" link="http://seungyeop.kr">
|
||||||
<name xml:lang="ko">haneul</name>
|
<name xml:lang="ko">haneul</name>
|
||||||
|
<name xml:lang="en">haneul</name>
|
||||||
<name xml:lang="zh-TW">haneul</name>
|
<name xml:lang="zh-TW">haneul</name>
|
||||||
<name xml:lang="jp">haneul</name>
|
<name xml:lang="jp">haneul</name>
|
||||||
</author>
|
</author>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,15 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<addon version="0.2">
|
<addon version="0.2">
|
||||||
<title xml:lang="ko">위키 링크 애드온</title>
|
<title xml:lang="ko">위키 링크 애드온</title>
|
||||||
|
<title xml:lang="en">Wiki Linker</title>
|
||||||
<title xml:lang="zh-CN">维基链接插件</title>
|
<title xml:lang="zh-CN">维基链接插件</title>
|
||||||
<title xml:lang="zh-TW">維基百科</title>
|
<title xml:lang="zh-TW">維基百科</title>
|
||||||
<title xml:lang="jp">wikiリンクアドオン</title>
|
<title xml:lang="jp">wikiリンクアドオン</title>
|
||||||
<description xml:lang="ko">
|
<description xml:lang="ko">
|
||||||
위키 링크를 추가해주는 애드온.
|
위키 링크를 추가해주는 애드온.
|
||||||
|
</description>
|
||||||
|
<description xml:lang="en">
|
||||||
|
This addon adds wiki link.
|
||||||
</description>
|
</description>
|
||||||
<description xml:lang="zh-CN">
|
<description xml:lang="zh-CN">
|
||||||
给维基模块添加链接的插件。
|
给维基模块添加链接的插件。
|
||||||
|
|
@ -21,6 +25,7 @@
|
||||||
|
|
||||||
<author email_address="haneul0318@gmail.com" link="http://blog.nzeo.com">
|
<author email_address="haneul0318@gmail.com" link="http://blog.nzeo.com">
|
||||||
<name xml:lang="ko">haneul</name>
|
<name xml:lang="ko">haneul</name>
|
||||||
|
<name xml:lang="en">haneul</name>
|
||||||
<name xml:lang="zh-CN">haneul</name>
|
<name xml:lang="zh-CN">haneul</name>
|
||||||
<name xml:lang="zh-TW">haneul</name>
|
<name xml:lang="zh-TW">haneul</name>
|
||||||
<name xml:lang="jp">haneul</name>
|
<name xml:lang="jp">haneul</name>
|
||||||
|
|
|
||||||
|
|
@ -338,7 +338,7 @@
|
||||||
**/
|
**/
|
||||||
function checkSSO() {
|
function checkSSO() {
|
||||||
// GET 접속이 아니거나 설치가 안되어 있으면 패스
|
// GET 접속이 아니거나 설치가 안되어 있으면 패스
|
||||||
if(Context::getRequestMethod()!='GET' || !Context::isInstalled()) return true;
|
if(Context::getRequestMethod()!='GET' || !Context::isInstalled() || in_array(Context::get('act'),array('rss','atom'))) return true;
|
||||||
|
|
||||||
// DB info에 설정된 Default URL이 없다면 무조건 무사통과
|
// DB info에 설정된 Default URL이 없다면 무조건 무사통과
|
||||||
$default_url = trim($this->db_info->default_url);
|
$default_url = trim($this->db_info->default_url);
|
||||||
|
|
@ -359,8 +359,11 @@
|
||||||
} else {
|
} else {
|
||||||
// SSO 결과를 받는 경우 session_name() 세팅
|
// SSO 결과를 받는 경우 session_name() 세팅
|
||||||
if(Context::get('SSOID')) {
|
if(Context::get('SSOID')) {
|
||||||
setcookie(session_name(), Context::get('SSOID'), 0, '/');
|
$session_name = Context::get('SSOID');
|
||||||
header("location:".getUrl('SSOID',''));
|
setcookie(session_name(), $session_name);
|
||||||
|
|
||||||
|
$url = preg_replace('/([\?\&])$/','',str_replace('SSOID='.$session_name,'',Context::getRequestUrl()));
|
||||||
|
header("location:".$url);
|
||||||
return false;
|
return false;
|
||||||
// SSO 결과를 요청
|
// SSO 결과를 요청
|
||||||
} else if($_COOKIE['sso']!=md5(Context::getRequestUri()) && !Context::get('SSOID')) {
|
} else if($_COOKIE['sso']!=md5(Context::getRequestUri()) && !Context::get('SSOID')) {
|
||||||
|
|
@ -768,128 +771,139 @@
|
||||||
**/
|
**/
|
||||||
function _getUrl($num_args=0, $args_list=array(), $domain = null) {
|
function _getUrl($num_args=0, $args_list=array(), $domain = null) {
|
||||||
static $site_module_info = null;
|
static $site_module_info = null;
|
||||||
if($domain) $is_site = true;
|
|
||||||
else $is_site = false;
|
|
||||||
|
|
||||||
if(is_null($site_module_info)) {
|
// 가상 사이트 정보를 구함
|
||||||
$site_module_info = Context::get('site_module_info');
|
if(is_null($site_module_info)) $site_module_info = Context::get('site_module_info');
|
||||||
}
|
|
||||||
|
|
||||||
// SiteID 요청시 전처리
|
// SiteID 요청시 전처리 ($domain이 vid 형식일 경우 $domain값을 없애고 vid로 처리하도록 함)
|
||||||
if($domain && isSiteID($domain)) {
|
if($domain && isSiteID($domain)) {
|
||||||
$vid = $domain;
|
$vid = $domain;
|
||||||
$domain = '';
|
$domain = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
// SiteID가 요청되지 않았다면 현재 site_module_info에서 SiteID 판별
|
// $domain, $vid값이 없을 경우(= 현재 사이트 정보를 이용함)
|
||||||
if(!$vid && $site_module_info->domain && isSiteID($site_module_info->domain)) {
|
if(!$domain && !$vid) {
|
||||||
$vid = $site_module_info->domain;
|
if($site_module_info->domain && isSiteID($site_module_info->domain)) $vid = $site_module_info->domain;
|
||||||
|
else $domain = $site_module_info->domain;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$domain) {
|
// $domain값이 있을 경우 현재 요청된 도메인과 비교해서 동일할 경우 제거 그렇지 않으면 http 프로토콜을 제거하고 제일 뒤에 / 를 붙임
|
||||||
if($site_module_info->domain && !isSiteID($site_module_info->domain)) $domain = $site_module_info->domain;
|
if($domain) {
|
||||||
|
$domain_info = parse_url($domain);
|
||||||
|
$current_info = parse_url($_SERVER['HTTP_HOST'].getScriptPath());
|
||||||
|
if($domain_info['host'].$domain_info['path']==$current_info['host'].$current_info['path']) unset($domain);
|
||||||
else {
|
else {
|
||||||
if($this->db_info->default_url) $domain = $this->db_info->default_url;
|
|
||||||
else if(!$domain) $domain = Context::getRequestUri();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$domain = preg_replace('/^(http|https):\/\//i','', trim($domain));
|
$domain = preg_replace('/^(http|https):\/\//i','', trim($domain));
|
||||||
if(substr($domain,-1) != '/') $domain .= '/';
|
if(substr($domain,-1) != '/') $domain .= '/';
|
||||||
|
|
||||||
if(!$this->get_vars || $args_list[0]=='') {
|
|
||||||
$get_vars = null;
|
|
||||||
if(is_array($args_list) && $args_list[0]=='') {
|
|
||||||
array_shift($args_list);
|
|
||||||
$num_args = count($args_list);
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 변수 정리
|
||||||
|
$get_vars = null;
|
||||||
|
|
||||||
|
// GET 변수가 없거나 변수 초기화 지정이 되었을 경우
|
||||||
|
if(!$this->get_vars || $args_list[0]=='') {
|
||||||
|
// 요청받은 변수가 있고 첫번째 인자가 '' 라서 초기화를 해야 할 경우 요청받은 변수를 정리
|
||||||
|
if(is_array($args_list) && $args_list[0]=='') array_shift($args_list);
|
||||||
|
// 초기화를 원하지 않을 경우 GET 변수를 배열로 처리
|
||||||
} else {
|
} else {
|
||||||
$get_vars = get_object_vars($this->get_vars);
|
$get_vars = get_object_vars($this->get_vars);
|
||||||
}
|
}
|
||||||
|
|
||||||
for($i=0;$i<$num_args;$i=$i+2) {
|
// 새로 꾸미기를 원하는 변수를 정리
|
||||||
|
for($i=0,$c=count($args_list);$i<$c;$i=$i+2) {
|
||||||
$key = $args_list[$i];
|
$key = $args_list[$i];
|
||||||
$val = trim($args_list[$i+1]);
|
$val = trim($args_list[$i+1]);
|
||||||
|
|
||||||
|
// 값이 없으면 GET변수에서 해당 키를 제거
|
||||||
if(!isset($val)) {
|
if(!isset($val)) {
|
||||||
unset($get_vars[$key]);
|
unset($get_vars[$key]);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
// 새로운 변수를 정리
|
||||||
$get_vars[$key] = $val;
|
$get_vars[$key] = $val;
|
||||||
}
|
}
|
||||||
unset($get_vars['vid']);
|
|
||||||
|
// 변수중 vid, rnd값 제거
|
||||||
unset($get_vars['rnd']);
|
unset($get_vars['rnd']);
|
||||||
if(isset($get_vars['page'])&&$get_vars['page']<2) unset($get_vars['page']);
|
if($vid) $get_vars['vid'] = $vid;
|
||||||
|
else unset($get_vars['vid']);
|
||||||
|
|
||||||
/* member module중의 쪽지함/친구 관리 기능이 communication 모듈로 이전하여 하위 호환성을 위한 act값 변경 */
|
if(count($get_vars)) {
|
||||||
if($get_vars['act'] == 'dispMemberFriend') $get_vars['act'] = 'dispCommunicationFriend';
|
foreach($get_vars as $key => $val) {
|
||||||
elseif($get_vars['act'] == 'dispMemberMessages') $get_vars['act'] = 'dispCommunicationMessages';
|
if(!trim($val)) unset($get_vars[$key]);
|
||||||
/* 기존의 action의 값이 바뀌어서 이를 강제 변경 */
|
|
||||||
elseif($get_vars['act'] == 'dispDocumentAdminManageDocument') $get_vars['act'] = 'dispDocumentManageDocument';
|
|
||||||
elseif($get_vars['act'] == 'dispModuleAdminSelectList') $get_vars['act'] = 'dispModuleSelectList';
|
|
||||||
|
|
||||||
if($get_vars['act'] && $this->isExistsSSLAction($get_vars['act'])) $path = $this->getRequestUri(ENFORCE_SSL, $domain);
|
|
||||||
else $path = $this->getRequestUri(RELEASE_SSL, $domain);
|
|
||||||
|
|
||||||
$var_count = count($get_vars);
|
|
||||||
if(!$var_count) {
|
|
||||||
if(!$is_site) return $path;
|
|
||||||
if($vid) {
|
|
||||||
if($this->allow_rewrite) $path .= $vid;
|
|
||||||
else $path .= '?vid='.$vid;
|
|
||||||
}
|
}
|
||||||
return $path;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// rewrite모듈을 사용할때 getUrl()을 이용한 url 생성
|
// action명이 변경되었던 것에 대해 호환성을 유지하기 위한 강제 값 변경
|
||||||
// 2009. 4. 8 mid, document_srl, site id, entry 를 제외하고는 rewrite rule 사용하지 않도록 변경
|
switch($get_vars['act']) {
|
||||||
|
case 'dispMemberFriend' : $get_vars['act'] = 'dispCommunicationFriend'; break;
|
||||||
|
case 'dispMemberMessages' : $get_vars['act'] = 'dispCommunicationMessages'; break;
|
||||||
|
case 'dispDocumentAdminManageDocument' : $get_vars['act'] = 'dispDocumentManageDocument'; break;
|
||||||
|
case 'dispModuleAdminSelectList' : $get_vars['act'] = 'dispModuleSelectList'; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// URL 구성
|
||||||
|
$query = null;
|
||||||
|
if($var_count = count($get_vars)) {
|
||||||
|
// rewrite mod 사용시
|
||||||
if($this->allow_rewrite) {
|
if($this->allow_rewrite) {
|
||||||
if(count($get_vars)) foreach($get_vars as $key => $value) if(!isset($value) || $value === '') unset($get_vars[$key]);
|
|
||||||
|
|
||||||
$var_keys = array_keys($get_vars);
|
$var_keys = array_keys($get_vars);
|
||||||
asort($var_keys);
|
asort($var_keys);
|
||||||
$target = implode('.',$var_keys);
|
$target = implode('.',$var_keys);
|
||||||
|
|
||||||
if($vid) $rpath = $path.$vid .'/';
|
|
||||||
else $rpath = $path;
|
|
||||||
|
|
||||||
switch($target) {
|
switch($target) {
|
||||||
case 'mid' :
|
case 'vid' : $query = $get_vars['vid']; break;
|
||||||
return $rpath.$get_vars['mid'];
|
case 'mid' : $query = $get_vars['mid']; break;
|
||||||
case 'document_srl' :
|
case 'document_srl' : $query = $get_vars['document_srl']; break;
|
||||||
return $rpath.$get_vars['document_srl'];
|
case 'document_srl.mid' : $query = $get_vars['mid'].'/'.$get_vars['document_srl']; break;
|
||||||
case 'document_srl.mid' :
|
case 'entry.mid' : $query = $get_vars['mid'].'/entry/'.$get_vars['entry']; break;
|
||||||
return sprintf('%s%s/%s',$rpath,$get_vars['mid'],$get_vars['document_srl']);
|
case 'act.document_srl.key' : $query = $get_vars['act']=='trackback'?$get_vars['document_srl'].'/'.$get_vars['key'].'/'.$get_vars['act']:''; break;
|
||||||
case 'entry.mid' :
|
case 'mid.vid' : $query = $get_vars['vid'].'/'.$get_vars['mid']; break;
|
||||||
return sprintf('%s%s/entry/%s',$rpath,$get_vars['mid'],$get_vars['entry']);
|
case 'document_srl.vid' : $query = $get_vars['vid'].'/'.$get_vars['document_srl']; break;
|
||||||
case 'act.document_srl.key' :
|
case 'document_srl.mid.vid' : $query = $get_vars['vid'].'/'.$get_vars['mid'].'/'.$get_vars['document_srl']; break;
|
||||||
if($get_vars['act']=='trackback') return sprintf('%s%s/%s/%s', $rpath,$get_vars['document_srl'],$get_vars['key'],$get_vars['act']);
|
case 'entry.mid.vid' : $query = $get_vars['vid'].'/'.$get_vars['mid'].'/entry/'.$get_vars['entry']; break;
|
||||||
break;
|
case 'act.document_srl.key.vid' : $query = $get_vars['act']=='trackback'?$get_vars['vid'].'/'.$get_vars['document_srl'].'/'.$get_vars['key'].'/'.$get_vars['act']:''; break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// rewrite 모듈을 사용하지 않고 인자의 값이 2개 이상이거나 rewrite모듈을 위한 인자로 적당하지 않을 경우
|
// rewrite mod 미사용 또는 query값이 생성되지 않았을 경우 get argument로 생성
|
||||||
if($vid) $url = 'vid='.$vid;
|
if(!$query) {
|
||||||
foreach($get_vars as $key => $val) {
|
foreach($get_vars as $key => $val) {
|
||||||
if(!isset($val)) continue;
|
|
||||||
if(is_array($val) && count($val)) {
|
if(is_array($val) && count($val)) {
|
||||||
foreach($val as $k => $v) {
|
foreach($val as $k => $v) $query .= ($query?'&':'').$key.'['.$k.']='.urlencode($v);
|
||||||
$url .= ($url?'&':'').$key.'['.$k.']='.urlencode($v);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
$url .= ($url?'&':'').$key.'='.urlencode($val);
|
$query .= ($query?'&':'').$key.'='.urlencode($val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $path.'?'.htmlspecialchars($url);
|
if($query) $query = '?'.$query;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// XE가 설치된 절대 경로를 구해서 query를 완성
|
||||||
|
|
||||||
|
// 항상 SSL을 이용하고 현재 SSL이 아닌 경우 https에 대한 prefix를 붙임
|
||||||
|
if(Context::get('_use_ssl')=='always') {
|
||||||
|
if($_SERVER['HTTPS']!='on') $query = $this->getRequestUri(ENFORCE_SSL, $domain).$query;
|
||||||
|
// 상황에 따라 혹은 지정된 대상만 SSL 취급될 경우
|
||||||
|
} else {
|
||||||
|
// SSL상태인데 대상이 SSL이 아닌 경우
|
||||||
|
if($_SERVER['HTTPS']=='on') $query = $this->getRequestUri(ENFORCE_SSL, $domain).$query;
|
||||||
|
// SSL 상태가 아니면 domain값에 따라 query 완성
|
||||||
|
else if($domain) $query = $this->getRequestUri(FOLLOW_REQUEST_SSL, $domain).$query;
|
||||||
|
else $query = getScriptPath().$query;
|
||||||
|
}
|
||||||
|
return htmlspecialchars($query);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 요청이 들어온 URL에서 argument를 제거하여 return
|
* @brief 요청이 들어온 URL에서 argument를 제거하여 return
|
||||||
**/
|
**/
|
||||||
function getRequestUri($ssl_mode = FOLLOW_REQUEST_SSL, $domain = null) {
|
function getRequestUri($ssl_mode = FOLLOW_REQUEST_SSL, $domain = null) {
|
||||||
|
static $url = array();
|
||||||
|
|
||||||
// HTTP Request가 아니면 패스
|
// HTTP Request가 아니면 패스
|
||||||
if(!isset($_SERVER['SERVER_PROTOCOL'])) return ;
|
if(!isset($_SERVER['SERVER_PROTOCOL'])) return ;
|
||||||
|
|
||||||
static $url = array();
|
|
||||||
if(Context::get('_use_ssl') == "always") $ssl_mode = ENFORCE_SSL;
|
if(Context::get('_use_ssl') == "always") $ssl_mode = ENFORCE_SSL;
|
||||||
|
|
||||||
if($domain) $domain_key = md5($domain);
|
if($domain) $domain_key = md5($domain);
|
||||||
|
|
@ -930,7 +944,7 @@
|
||||||
if(Context::get("_http_port") && Context::get("_http_port") != 80) {
|
if(Context::get("_http_port") && Context::get("_http_port") != 80) {
|
||||||
$url_info['port'] = Context::get("_http_port");
|
$url_info['port'] = Context::get("_http_port");
|
||||||
}
|
}
|
||||||
else
|
elseif($url_info['port']==80)
|
||||||
{
|
{
|
||||||
unset($url_info['port']);
|
unset($url_info['port']);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
var $password = NULL; ///< password
|
var $password = NULL; ///< password
|
||||||
var $database = NULL; ///< database
|
var $database = NULL; ///< database
|
||||||
var $prefix = 'xe'; ///< XE에서 사용할 테이블들의 prefix (한 DB에서 여러개의 XE 설치 가능)
|
var $prefix = 'xe'; ///< XE에서 사용할 테이블들의 prefix (한 DB에서 여러개의 XE 설치 가능)
|
||||||
|
var $idx_no = 0; // 인덱스 생성시 사용할 카운터
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief firebird에서 사용될 column type
|
* @brief firebird에서 사용될 column type
|
||||||
|
|
@ -30,8 +31,8 @@
|
||||||
'number' => 'INTEGER',
|
'number' => 'INTEGER',
|
||||||
'varchar' => 'VARCHAR',
|
'varchar' => 'VARCHAR',
|
||||||
'char' => 'CHAR',
|
'char' => 'CHAR',
|
||||||
'text' => 'BLOB SUB_TYPE TEXT SEGMENT SIZE 20',
|
'text' => 'BLOB SUB_TYPE TEXT SEGMENT SIZE 32',
|
||||||
'bigtext' => 'BLOB SUB_TYPE TEXT SEGMENT SIZE 20',
|
'bigtext' => 'BLOB SUB_TYPE TEXT SEGMENT SIZE 32',
|
||||||
'date' => 'VARCHAR(14)',
|
'date' => 'VARCHAR(14)',
|
||||||
'float' => 'FLOAT',
|
'float' => 'FLOAT',
|
||||||
);
|
);
|
||||||
|
|
@ -563,24 +564,15 @@
|
||||||
|
|
||||||
if(count($index_list)) {
|
if(count($index_list)) {
|
||||||
foreach($index_list as $key => $val) {
|
foreach($index_list as $key => $val) {
|
||||||
// index name = prefix + table name + index_list
|
// index_name = prefix + 'idx_' + no
|
||||||
// index name 크기가 31byte로 제한되어 있어 중복되지 않을만큼 테이블명을 줄임
|
// index name 크기가 31byte로 제한되어 있어 일련번호로 대체
|
||||||
// prefix name을 2byte 보다 크게 할 경우 31byte를 넘는 index name이 생김
|
$this->idx_no++;
|
||||||
// 더 좋은 방법을 찾아봐야겠음.
|
|
||||||
$tok = strtok($table_name, "_");
|
|
||||||
$index_name = $this->prefix;
|
$index_name = $this->prefix;
|
||||||
$tok = strtok("_");
|
$index_name .= "idx_";
|
||||||
$index_name .= substr($tok, 0, 2);
|
$index_name .= sprintf("%04d", $this->idx_no);
|
||||||
$index_name .= substr($tok, -1, 1);
|
|
||||||
$tok = strtok("_");
|
|
||||||
while($tok !== false) {
|
|
||||||
$index_name .= substr($tok, 0, 1);
|
|
||||||
$tok = strtok("_");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
$schema = sprintf("CREATE INDEX \"%s\" ON \"%s\" (\"%s\");",
|
||||||
$schema = sprintf("CREATE INDEX \"%s_%s\" ON \"%s\" (\"%s\");",
|
$index_name, $table_name, implode($val, "\",\""));
|
||||||
$index_name, $key, $table_name, implode($val, "\",\""));
|
|
||||||
$output = $this->_query($schema);
|
$output = $this->_query($schema);
|
||||||
//commit();
|
//commit();
|
||||||
@ibase_commit($this->fd);
|
@ibase_commit($this->fd);
|
||||||
|
|
@ -723,25 +715,15 @@
|
||||||
ibase_blob_add($blh, $value);
|
ibase_blob_add($blh, $value);
|
||||||
$value = ibase_blob_close($blh);
|
$value = ibase_blob_close($blh);
|
||||||
}
|
}
|
||||||
else if($output->column_type[$name]!='number') {
|
else if($output->column_type[$name]=='number') {
|
||||||
//$value = "'".$value."'";
|
// 연산식이 들어갔을 경우 컬럼명이 있는 지 체크해 더블쿼터를 넣어줌
|
||||||
}
|
preg_match("/(?i)[a-z][a-z0-9_-]+/", $value, $matches);
|
||||||
elseif(!$value || is_numeric($value)) {
|
|
||||||
$value = (int)$value;
|
foreach($matches as $key => $val) {
|
||||||
|
$value = str_replace($val, "\"".$val."\"", $value);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(strlen($value) != 0) {
|
if($matches != null) {
|
||||||
$pos = strpos($value, '+');
|
|
||||||
if($pos == 0) $pos = strpos($value, '-');
|
|
||||||
if($pos == 0) $pos = strpos($value, '*');
|
|
||||||
if($pos == 0) {
|
|
||||||
$pos = strpos($value, '/');
|
|
||||||
if(substr_count($value, ".") > 1) $pos = 0; // value에 url주소가 들어가는경우
|
|
||||||
}
|
|
||||||
|
|
||||||
if($pos != 0) {
|
|
||||||
$substr = substr($value, 0, $pos);
|
|
||||||
$value = '"'.$substr.'"'.substr($value, $pos, strlen($value));
|
|
||||||
$column_list[] = sprintf("\"%s\" = %s", $name, $value);
|
$column_list[] = sprintf("\"%s\" = %s", $name, $value);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -110,6 +110,11 @@
|
||||||
|
|
||||||
$pattern = '/src=("|\'){1}(\.\/)?(files\/attach|files\/cache|files\/faceOff|files\/member_extra_info|modules|common|widgets|widgetstyle|layouts|addons)\/([^"\']+)\.(jpg|jpeg|png|gif)("|\'){1}/s';
|
$pattern = '/src=("|\'){1}(\.\/)?(files\/attach|files\/cache|files\/faceOff|files\/member_extra_info|modules|common|widgets|widgetstyle|layouts|addons)\/([^"\']+)\.(jpg|jpeg|png|gif)("|\'){1}/s';
|
||||||
$output = preg_replace($pattern, 'src=$1'.$real_path.'$3/$4.$5$6', $output);
|
$output = preg_replace($pattern, 'src=$1'.$real_path.'$3/$4.$5$6', $output);
|
||||||
|
|
||||||
|
if(Context::get('vid')) {
|
||||||
|
$pattern = '/\/'.Context::get('vid').'\?([^=]+)=/is';
|
||||||
|
$output = preg_replace($pattern, '/?$1=', $output);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 간혹 background-image에 url(none) 때문에 request가 한번 더 일어나는 경우가 생기는 것을 방지
|
// 간혹 background-image에 url(none) 때문에 request가 한번 더 일어나는 경우가 생기는 것을 방지
|
||||||
|
|
|
||||||
|
|
@ -110,13 +110,6 @@
|
||||||
//if($this->module && $module_info->module != $this->module) unset($module_info);
|
//if($this->module && $module_info->module != $this->module) unset($module_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 모듈을 여전히(;;) 못 찾고 모듈번호(module_srl)가 있으면 해당 모듈을 구함
|
|
||||||
// module_srl로 대상 모듈을 찾는 것을 주석 처리함.
|
|
||||||
if((!$this->module || $this->module != 'admin') && !$module_info && $this->module_srl) {
|
|
||||||
$module_info = $oModuleModel->getModuleInfoByModuleSrl($this->module_srl);
|
|
||||||
//if($this->module && $module_info->module != $this->module) unset($module_info);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 역시 모듈을 못 찾았고 $module이 없다면 기본 모듈을 찾아봄
|
// 역시 모듈을 못 찾았고 $module이 없다면 기본 모듈을 찾아봄
|
||||||
if(!$module_info && !$this->module) $module_info = $site_module_info;
|
if(!$module_info && !$this->module) $module_info = $site_module_info;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,11 +86,16 @@
|
||||||
// module model 객체 생성
|
// module model 객체 생성
|
||||||
$oModuleModel = &getModel('module');
|
$oModuleModel = &getModel('module');
|
||||||
|
|
||||||
// 사이트 관리자이면 로그인 정보의 is_admin 에 'Y'로 세팅
|
|
||||||
//if($oModuleModel->isSiteAdmin($logged_info)) $logged_info->is_admin = 'Y';
|
|
||||||
|
|
||||||
// XE에서 access, manager (== is_admin) 는 고정된 권한명이며 이와 관련된 권한 설정
|
// XE에서 access, manager (== is_admin) 는 고정된 권한명이며 이와 관련된 권한 설정
|
||||||
|
$module_srl = Context::get('module_srl');
|
||||||
|
if(!$module_info->mid && preg_match('/^([0-9]+)$/',$module_srl)) {
|
||||||
|
$request_module = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
|
||||||
|
if($request_module->module_srl == $module_srl) {
|
||||||
|
$grant = $oModuleModel->getGrant($request_module, $logged_info);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
$grant = $oModuleModel->getGrant($module_info, $logged_info, $xml_info);
|
$grant = $oModuleModel->getGrant($module_info, $logged_info, $xml_info);
|
||||||
|
}
|
||||||
|
|
||||||
// 현재 모듈의 access 권한이 없으면 권한 없음 표시
|
// 현재 모듈의 access 권한이 없으면 권한 없음 표시
|
||||||
//if(!$grant->access) return $this->stop("msg_not_permitted");
|
//if(!$grant->access) return $this->stop("msg_not_permitted");
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
|
@charset "utf-8";
|
||||||
/* Calendar */
|
/* Calendar */
|
||||||
.ui-calendar {display:none; padding:25px 15px 15px 15px; position:absolute; border:2px solid #737373; background:#fff; color:#333;}
|
.ui-calendar {display:none; padding:25px 15px 15px 15px; position:absolute; border:2px solid #737373; background:#fff; color:#333; *zoom:1;}
|
||||||
.ui-calendar .close{ position:absolute; top:10px; right:15px; width:17px; height:17px; border:0; padding:0; background:url(./img/buttonCloseLayerX.gif) no-repeat center center; cursor:pointer;}
|
.ui-calendar .close{ position:absolute; _display:block !important; top:10px; right:15px; width:17px; height:17px; border:0; padding:0; background:url(./img/buttonCloseLayerX.gif) no-repeat center center; cursor:pointer; *zoom:1;}
|
||||||
.ui-calendar .close span{ position:absolute; width:0; height:0; font-size:0; line-height:0; overflow:hidden; z-index:-1; visibility:hidden;}
|
.ui-calendar .close span{ position:absolute; width:0; height:0; font-size:0; line-height:0; overflow:hidden; z-index:-1; visibility:hidden;}
|
||||||
.ui-calendar table{ border:0; border-spacing:0; _width:200px;}
|
.ui-calendar table{ border:0; border-spacing:0; _width:200px;}
|
||||||
.ui-calendar caption{ font-weight:bold; text-align:center; position:relative;}
|
.ui-calendar caption{ font-weight:bold; text-align:center; position:relative;}
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ function xml_response_filter(oXml, callback_func, response_tags, callback_func_a
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ret_obj["redirect_url"]) {
|
if(ret_obj["redirect_url"]) {
|
||||||
location.href=ret_obj["redirect_url"];
|
location.href=ret_obj["redirect_url"].replace(/&/g,'&');
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@
|
||||||
$lang->cmd_select = '選択';
|
$lang->cmd_select = '選択';
|
||||||
$lang->cmd_select_all = 'すべて選択';
|
$lang->cmd_select_all = 'すべて選択';
|
||||||
$lang->cmd_unselect_all = 'すべて解除';
|
$lang->cmd_unselect_all = 'すべて解除';
|
||||||
$lang->cmd_reverse_all = "選択の反転";
|
$lang->cmd_reverse_all = '選択の反転';
|
||||||
$lang->cmd_close_all = 'すべて閉じる';
|
$lang->cmd_close_all = 'すべて閉じる';
|
||||||
$lang->cmd_open_all = 'すべて開く';
|
$lang->cmd_open_all = 'すべて開く';
|
||||||
$lang->cmd_reload = 'リロード';
|
$lang->cmd_reload = 'リロード';
|
||||||
|
|
@ -61,8 +61,8 @@
|
||||||
$lang->cmd_scrap = 'スクラップ';
|
$lang->cmd_scrap = 'スクラップ';
|
||||||
$lang->cmd_preview = 'プレビュー';
|
$lang->cmd_preview = 'プレビュー';
|
||||||
$lang->cmd_reset = '初期化';
|
$lang->cmd_reset = '初期化';
|
||||||
$lang->cmd_remake_cache = "キャッシュファイル再生成";
|
$lang->cmd_remake_cache = 'キャッシュファイル再生成';
|
||||||
$lang->cmd_publish = "発行";
|
$lang->cmd_publish = '発行';
|
||||||
$lang->cmd_layout_setup = 'レイアウト設定';
|
$lang->cmd_layout_setup = 'レイアウト設定';
|
||||||
$lang->cmd_layout_edit = 'レイアウト編集';
|
$lang->cmd_layout_edit = 'レイアウト編集';
|
||||||
$lang->cmd_search_by_ipaddress = 'IPアドレスで検索';
|
$lang->cmd_search_by_ipaddress = 'IPアドレスで検索';
|
||||||
|
|
@ -124,7 +124,7 @@
|
||||||
$lang->file = 'ファイル';
|
$lang->file = 'ファイル';
|
||||||
|
|
||||||
$lang->mid = 'モジュール名';
|
$lang->mid = 'モジュール名';
|
||||||
$lang->sid = 'Site Name';
|
$lang->sid = 'バーチャル(Virtual)サイト名';
|
||||||
$lang->layout = 'レイアウト';
|
$lang->layout = 'レイアウト';
|
||||||
$lang->widget = 'ウィジェット';
|
$lang->widget = 'ウィジェット';
|
||||||
$lang->module = 'モジュール';
|
$lang->module = 'モジュール';
|
||||||
|
|
@ -132,8 +132,8 @@
|
||||||
$lang->colorset = 'カラーセット';
|
$lang->colorset = 'カラーセット';
|
||||||
$lang->extra_vars = '拡張変数';
|
$lang->extra_vars = '拡張変数';
|
||||||
|
|
||||||
$lang->domain = "ドメイン";
|
$lang->domain = 'ドメイン';
|
||||||
$lang->url = "URL";
|
$lang->url = 'URL';
|
||||||
$lang->document_url = '書き込みURL';
|
$lang->document_url = '書き込みURL';
|
||||||
$lang->trackback_url = 'トラックバックURL';
|
$lang->trackback_url = 'トラックバックURL';
|
||||||
$lang->blog_name = 'ブログ名';
|
$lang->blog_name = 'ブログ名';
|
||||||
|
|
@ -284,19 +284,18 @@
|
||||||
$lang->cmd_check_ftp_connect = 'FTP接続をテストする';
|
$lang->cmd_check_ftp_connect = 'FTP接続をテストする';
|
||||||
$lang->about_ftp_info = "
|
$lang->about_ftp_info = "
|
||||||
FTP情報は次の場合、利用されます。<br />
|
FTP情報は次の場合、利用されます。<br />
|
||||||
1. サーバー側のPHPの設定中、「safe_mode=On」になった際、FTP情報を用いてXEが正常に働くようにします。
|
1. サーバー側のPHPの設定中、「safe_mode=On」になった際、FTP情報を用いてXEが正常に働くようにします。<br />
|
||||||
<br/>
|
|
||||||
2. FTP経由でXEの自動アップデート等に使われます。<br />
|
2. FTP経由でXEの自動アップデート等に使われます。<br />
|
||||||
FTP情報は「files/config/ftp.config.php」の中に保存されます。<br />
|
FTP情報は「files/config/ftp.config.php」の中に保存されます。<br />
|
||||||
また、XEのインストールの後、管理者画面からFTP情報の変更・削除が可能です。(省略可能) <br />
|
また、XEのインストールの後、管理者画面からFTP情報の変更・削除が可能です。(省略可能) <br />
|
||||||
";
|
";
|
||||||
|
|
||||||
$lang->msg_safe_mode_ftp_needed = "PHPのsafe_modeがOnの場合、FTP情報を登録することで、XEのインストール及び利用が可能になります。";
|
$lang->msg_safe_mode_ftp_needed = 'PHPのsafe_modeがOnの場合、FTP情報を登録することで、XEのインストール及び利用が可能になります。';
|
||||||
$lang->msg_ftp_not_connected = "localhostへのFTP接続エラーが発生しました。FTPポート(port)番号をはじめ、FTPサービスが可能であるかをご確認下さい。";
|
$lang->msg_ftp_not_connected = 'localhostへのFTP接続エラーが発生しました。FTPポート(port)番号をはじめ、FTPサービスが可能であるかをご確認下さい。';
|
||||||
$lang->msg_ftp_invalid_auth_info = "ログインが失敗しました。 FTPアクセス情報を再度ご確認下さい。";
|
$lang->msg_ftp_invalid_auth_info = 'ログインが失敗しました。 FTPアクセス情報を再度ご確認下さい。';
|
||||||
$lang->msg_ftp_mkdir_fail = "FTPを用いたディレクトリ生成に失敗しました。FTPサーバーの設定を再度ご確認下さい。";
|
$lang->msg_ftp_mkdir_fail = 'FTPを用いたディレクトリ生成に失敗しました。FTPサーバーの設定を再度ご確認下さい。';
|
||||||
$lang->msg_ftp_chmod_fail = "FTPを用いたディレクトリパーミッション(permission)変更に失敗しました。FTPサーバーの設定を再度ご確認下さい。";
|
$lang->msg_ftp_chmod_fail = 'FTPを用いたディレクトリパーミッション(permission)変更に失敗しました。FTPサーバーの設定を再度ご確認下さい。';
|
||||||
$lang->msg_ftp_connect_success = "FTP接続に成功しました。";
|
$lang->msg_ftp_connect_success = 'FTP接続に成功しました。';
|
||||||
|
|
||||||
// xml filterで用いられているjavascript用のアラートメッセージ
|
// xml filterで用いられているjavascript用のアラートメッセージ
|
||||||
$lang->filter->isnull = '%sを入力して下さい。';
|
$lang->filter->isnull = '%sを入力して下さい。';
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
// 기본적으로 사용되는 action 언어
|
// 기본적으로 사용되는 action 언어
|
||||||
$lang->cmd_write = '쓰기';
|
$lang->cmd_write = '쓰기';
|
||||||
$lang->cmd_reply = '답글';
|
$lang->cmd_reply = '댓글';
|
||||||
$lang->cmd_delete = '삭제';
|
$lang->cmd_delete = '삭제';
|
||||||
$lang->cmd_modify = '수정';
|
$lang->cmd_modify = '수정';
|
||||||
$lang->cmd_edit = '편집';
|
$lang->cmd_edit = '편집';
|
||||||
|
|
@ -247,7 +247,7 @@
|
||||||
$lang->failed_voted = '추천하실 수 없습니다';
|
$lang->failed_voted = '추천하실 수 없습니다';
|
||||||
$lang->failed_blamed = '비추천하실 수 없습니다';
|
$lang->failed_blamed = '비추천하실 수 없습니다';
|
||||||
$lang->failed_declared = '신고를 하실 수 없습니다';
|
$lang->failed_declared = '신고를 하실 수 없습니다';
|
||||||
$lang->fail_to_delete_have_children = '답글이 있어서 삭제할 수 없습니다';
|
$lang->fail_to_delete_have_children = '댓글이 있어서 삭제할 수 없습니다';
|
||||||
|
|
||||||
$lang->confirm_submit = '등록하시겠습니까?';
|
$lang->confirm_submit = '등록하시겠습니까?';
|
||||||
$lang->confirm_logout = '로그아웃하시겠습니까?';
|
$lang->confirm_logout = '로그아웃하시겠습니까?';
|
||||||
|
|
|
||||||
|
|
@ -41,11 +41,12 @@
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
<!--@if($rss_url)-->
|
<!--@if($rss_url)-->
|
||||||
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="{$rss_url}" />
|
<link rel="alternate" type="application/rss+xml" title="RSS" href="{$rss_url}" />
|
||||||
<link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{$atom_url}" />
|
<link rel="alternate" type="application/atom+xml" title="Atom" href="{$atom_url}" />
|
||||||
<!--@elseif(Context::isInstalled() && $site_module_info->mid == $mid)-->
|
<!--@end-->
|
||||||
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="{getUrl('','module','rss','act','rss')}" />
|
<!--@if($general_rss_url)-->
|
||||||
<link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{getUrl('','module','rss','act','atom')}" />
|
<link rel="alternate" type="application/rss+xml" title="Site RSS" href="{$general_rss_url}" />
|
||||||
|
<link rel="alternate" type="application/atom+xml" title="Site Atom" href="{$general_atom_url}" />
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
{@ $ssl_actions = Context::getSSLActions() }
|
{@ $ssl_actions = Context::getSSLActions() }
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
* @brief XE의 전체 버전 표기
|
* @brief XE의 전체 버전 표기
|
||||||
* 이 파일의 수정이 없더라도 공식 릴리즈시에 수정되어 함께 배포되어야 함
|
* 이 파일의 수정이 없더라도 공식 릴리즈시에 수정되어 함께 배포되어야 함
|
||||||
**/
|
**/
|
||||||
define('__ZBXE_VERSION__', '1.2.3');
|
define('__ZBXE_VERSION__', '1.2.4');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief zbXE가 설치된 장소의 base path를 구함
|
* @brief zbXE가 설치된 장소의 base path를 구함
|
||||||
|
|
|
||||||
14
index.php
14
index.php
|
|
@ -7,7 +7,7 @@
|
||||||
* Request Argument에서 mid, act로 module 객체를 찾아서 생성하고 \n
|
* Request Argument에서 mid, act로 module 객체를 찾아서 생성하고 \n
|
||||||
* 모듈 정보를 세팅함
|
* 모듈 정보를 세팅함
|
||||||
*
|
*
|
||||||
* @mainpage 첫페이지
|
* @mainpage XpressEngine
|
||||||
* @section intro 소개
|
* @section intro 소개
|
||||||
* XE 는 오픈 프로젝트로 개발되는 오픈 소스입니다.\n
|
* XE 는 오픈 프로젝트로 개발되는 오픈 소스입니다.\n
|
||||||
* 자세한 내용은 아래 링크를 참조하세요.
|
* 자세한 내용은 아래 링크를 참조하세요.
|
||||||
|
|
@ -25,6 +25,7 @@
|
||||||
* GNU 일반 공중 사용 허가서는 이 프로그램과 함께 제공됩니다. 만약, 이 문서가 누락되어 있다면 자유 소프트웨어\n
|
* GNU 일반 공중 사용 허가서는 이 프로그램과 함께 제공됩니다. 만약, 이 문서가 누락되어 있다면 자유 소프트웨어\n
|
||||||
* 재단으로 문의하시기 바랍니다. \n
|
* 재단으로 문의하시기 바랍니다. \n
|
||||||
* (자유 소프트웨어 재단: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA)
|
* (자유 소프트웨어 재단: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA)
|
||||||
|
*
|
||||||
**/
|
**/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -45,18 +46,9 @@
|
||||||
$oContext->init();
|
$oContext->init();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief SSO 인증 확인이 불필요할때 모듈 동작
|
* @brief default_url 이 설정되어 있고 현재 url이 default_url과 다르면 SSO인증을 위한 rediret 시도 후 모듈 동작
|
||||||
**/
|
**/
|
||||||
if($oContext->checkSSO()) {
|
if($oContext->checkSSO()) {
|
||||||
/**
|
|
||||||
* @brief ModuleHandler 객체를 생성/ 실행
|
|
||||||
*
|
|
||||||
* 모듈 핸들러는 Request Argument를 바탕으로 모듈을 찾아서\n
|
|
||||||
* 객체를 생성하고 기본 정보를 setting 해준다.\n
|
|
||||||
* ModuleHandler는 이 외에도 설치가 되어 있는지에 대한 체크를\n
|
|
||||||
* 하여 미설치시 Install 모듈을 실행하도록 한다\n
|
|
||||||
* 그리고 해당 모듈을 실행후 컨텐츠를 출력한다\n
|
|
||||||
**/
|
|
||||||
$oModuleHandler = new ModuleHandler();
|
$oModuleHandler = new ModuleHandler();
|
||||||
if($oModuleHandler->init()) {
|
if($oModuleHandler->init()) {
|
||||||
$oModule = &$oModuleHandler->procModule();
|
$oModule = &$oModuleHandler->procModule();
|
||||||
|
|
|
||||||
|
|
@ -174,8 +174,8 @@ dl.widgetDivider dd{ display:none; margin:0;}
|
||||||
.widgetTree a strong{ letter-spacing:-1px; cursor:pointer; _cursor /**/:hand;}
|
.widgetTree a strong{ letter-spacing:-1px; cursor:pointer; _cursor /**/:hand;}
|
||||||
.widgetTree ul{ position:relative; display:block; padding:3px 0 0 0 !important; zoom:1;}
|
.widgetTree ul{ position:relative; display:block; padding:3px 0 0 0 !important; zoom:1;}
|
||||||
.widgetTree ul li{ list-style:none; position:relative; padding:3px 0 2px 8px; white-space:nowrap;}
|
.widgetTree ul li{ list-style:none; position:relative; padding:3px 0 2px 8px; white-space:nowrap;}
|
||||||
.widgetTree ul li a,
|
.widgetTree ul li .nav_tree_label,
|
||||||
.widgetTree ul li span.nav_tree_label{ position:relative; left:16px; _left /**/:0; top:0;}
|
.widgetTree ul li .sum{ position:relative; left:16px; _left /**/:0; top:0; font-style:normal;}
|
||||||
.widgetTree ul li a.selected {font-weight:bold;}
|
.widgetTree ul li a.selected {font-weight:bold;}
|
||||||
.widgetTree ul li button{ display:inline-block; position:relative; _left /**/:-16px; *top:-2px; width:13px; height:13px; *width:17px; *height:17px; margin:0 -13px 0 0; *margin:0 -17px -1px -2px; text-indent:-10000px; *text-indent:0; *font:0/0 Sans-serif; border:none; cursor:pointer; _cursor /**/:hand;}
|
.widgetTree ul li button{ display:inline-block; position:relative; _left /**/:-16px; *top:-2px; width:13px; height:13px; *width:17px; *height:17px; margin:0 -13px 0 0; *margin:0 -17px -1px -2px; text-indent:-10000px; *text-indent:0; *font:0/0 Sans-serif; border:none; cursor:pointer; _cursor /**/:hand;}
|
||||||
.widgetTree ul li ul{ display:none; padding:2px 0 0 0 !important; margin:0 0 -2px 6px; background-position:left top;}
|
.widgetTree ul li ul{ display:none; padding:2px 0 0 0 !important; margin:0 0 -2px 6px; background-position:left top;}
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,9 @@
|
||||||
|
|
||||||
<form action="{getUrl()}" method="post" class="widgetSearch">
|
<form action="{getUrl()}" method="post" class="widgetSearch">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
|
<!--@if($vid)-->
|
||||||
<input type="hidden" name="vid" value="{$vid}" />
|
<input type="hidden" name="vid" value="{$vid}" />
|
||||||
|
<!--@end-->
|
||||||
<input type="hidden" name="mid" value="{$mid}" />
|
<input type="hidden" name="mid" value="{$mid}" />
|
||||||
<input type="hidden" name="act" value="IS" />
|
<input type="hidden" name="act" value="IS" />
|
||||||
<input type="hidden" name="search_target" value="title" />
|
<input type="hidden" name="search_target" value="title" />
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,9 @@
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{$lang->cmd_search}</legend>
|
<legend>{$lang->cmd_search}</legend>
|
||||||
|
|
||||||
|
<!--@if($vid)-->
|
||||||
<input type="hidden" name="vid" value="{$vid}" />
|
<input type="hidden" name="vid" value="{$vid}" />
|
||||||
|
<!--@end-->
|
||||||
<input type="hidden" name="mid" value="{$layout_info->target_mid}" />
|
<input type="hidden" name="mid" value="{$layout_info->target_mid}" />
|
||||||
<input type="hidden" name="search_target" value="title_content" />
|
<input type="hidden" name="search_target" value="title_content" />
|
||||||
<input name="search_keyword" type="text" class="inputTypeText w110" value="<!--@if($search_keyword)-->{htmlspecialchars($search_keyword)}<!--@end-->" />
|
<input name="search_keyword" type="text" class="inputTypeText w110" value="<!--@if($search_keyword)-->{htmlspecialchars($search_keyword)}<!--@end-->" />
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,9 @@
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form action="{getUrl()}" method="post" id="isSearch">
|
<form action="{getUrl()}" method="post" id="isSearch">
|
||||||
|
<!--@if($vid)-->
|
||||||
<input type="hidden" name="vid" value="{$vid}" />
|
<input type="hidden" name="vid" value="{$vid}" />
|
||||||
|
<!--@end-->
|
||||||
<input type="hidden" name="mid" value="{$mid}" />
|
<input type="hidden" name="mid" value="{$mid}" />
|
||||||
<input type="hidden" name="act" value="IS" />
|
<input type="hidden" name="act" value="IS" />
|
||||||
<input type="hidden" name="search_target" value="title_content" />
|
<input type="hidden" name="search_target" value="title_content" />
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,6 @@
|
||||||
$lang->addon_license = 'ライセンス';
|
$lang->addon_license = 'ライセンス';
|
||||||
$lang->addon_history = '変更履歴';
|
$lang->addon_history = '変更履歴';
|
||||||
|
|
||||||
$lang->about_addon_mid = "アドオンが使われる対象を指定します。<br />(選択なしの場合、全てのモジュールが利用可能対象)";
|
$lang->about_addon_mid = 'アドオンが使われる対象を指定します。<br />(選択なしの場合、全てのモジュールが利用可能対象)';
|
||||||
$lang->about_addon = 'アドオンは、HTMLの出力をコントロールするというより、動作を制御する役割をします。お好みのアドオンを「使用/未使用」に設定するだけで、サイトの運営に有用な機能が利用出来ます。';
|
$lang->about_addon = 'アドオンは、HTMLの出力をコントロールすると言うより、動作を制御する役割をします。お好みのアドオンを「使用/未使用」に設定するだけで、サイトの運営に有用な機能が利用出来ます。';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,9 @@
|
||||||
$newest_news_url = sprintf("http://news.xpressengine.com/%s/news.php", Context::getLangType());
|
$newest_news_url = sprintf("http://news.xpressengine.com/%s/news.php", Context::getLangType());
|
||||||
$cache_file = sprintf("%sfiles/cache/newest_news.%s.cache.php", _XE_PATH_,Context::getLangType());
|
$cache_file = sprintf("%sfiles/cache/newest_news.%s.cache.php", _XE_PATH_,Context::getLangType());
|
||||||
if(!file_exists($cache_file) || filemtime($cache_file)+ 60*60 < time()) {
|
if(!file_exists($cache_file) || filemtime($cache_file)+ 60*60 < time()) {
|
||||||
|
// 네트웍 상태로 데이터를 가져오지 못할 상황을 고려해 일단 filemtime을 변경하여 관리자 페이지 refresh시에 다시 읽ㅇ 오지 않도록 함
|
||||||
|
// 뉴스를 보지는 못하지만 관리자 페이지 접속은 이상없도록 함
|
||||||
|
FileHandler::writeFile($cache_file,'');
|
||||||
FileHandler::getRemoteFile($newest_news_url, $cache_file);
|
FileHandler::getRemoteFile($newest_news_url, $cache_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,59 +24,59 @@
|
||||||
'system' => 'システム管理',
|
'system' => 'システム管理',
|
||||||
);
|
);
|
||||||
|
|
||||||
$lang->newest_news = "最新ニュース";
|
$lang->newest_news = '最新ニュース';
|
||||||
|
|
||||||
$lang->env_setup = "環境設定";
|
$lang->env_setup = '環境設定';
|
||||||
$lang->default_url = '基本URL';
|
$lang->default_url = '基本URL';
|
||||||
$lang->about_sso_url = "複数のバーチャル(Virtual)サイトを運営する場合、どちらからログインしてもバーチャル(Virtual)サイトの間でログイン情報を維持出来るようにするためには、基本になるサイトでのXEをインストールしたurlを登録して下さい。 (例: http://ドメイン/インストールパス)";
|
$lang->about_default_url = '複数のバーチャル(Virtual)サイトを運営する場合、どちらからログインしてもバーチャル(Virtual)サイトの間でログイン情報を維持出来るようにするためには、基本になるサイトでのXEをインストールしたurlを登録して下さい。 (例: http://ドメイン/インストールパス)';
|
||||||
|
|
||||||
|
|
||||||
$lang->env_information = "環境情報";
|
$lang->env_information = '環境情報';
|
||||||
$lang->current_version = "インストールバージョン";
|
$lang->current_version = 'インストールバージョン';
|
||||||
$lang->current_path = "インストールパス";
|
$lang->current_path = 'インストールパス';
|
||||||
$lang->released_version = "最新バージョン";
|
$lang->released_version = '最新バージョン';
|
||||||
$lang->about_download_link = "インストールされたバージョンより新しいバージョンが配布されています。\n「ダウンロード」リンクをクリックするとダウンロード出来ます。";
|
$lang->about_download_link = "インストールされたバージョンより新しいバージョンが配布されています。\n「ダウンロード」リンクをクリックするとダウンロード出来ます。";
|
||||||
|
|
||||||
$lang->item_module = "モジュールリスト";
|
$lang->item_module = 'モジュールリスト';
|
||||||
$lang->item_addon = "アドオンリスト";
|
$lang->item_addon = 'アドオンリスト';
|
||||||
$lang->item_widget = "ウィジェットリスト";
|
$lang->item_widget = 'ウィジェットリスト';
|
||||||
$lang->item_layout = "レイアウトリスト";
|
$lang->item_layout = 'レイアウトリスト';
|
||||||
|
|
||||||
$lang->module_name = "モジュール名";
|
$lang->module_name = 'モジュール名';
|
||||||
$lang->addon_name = "アドオン名";
|
$lang->addon_name = 'アドオン名';
|
||||||
$lang->version = "バージョン";
|
$lang->version = 'バージョン';
|
||||||
$lang->author = "制作者";
|
$lang->author = '制作者';
|
||||||
$lang->table_count = "テーブル数";
|
$lang->table_count = 'テーブル数';
|
||||||
$lang->installed_path = "インストールパス";
|
$lang->installed_path = 'インストールパス';
|
||||||
|
|
||||||
$lang->cmd_shortcut_management = "メニューの編集";
|
$lang->cmd_shortcut_management = 'メニューの編集';
|
||||||
|
|
||||||
$lang->msg_is_not_administrator = '管理者だけアクセス出来ます';
|
$lang->msg_is_not_administrator = '管理者だけアクセス出来ます';
|
||||||
$lang->msg_manage_module_cannot_delete = 'モジュール、アドオン、ウィジェットのショットカットは削除出来ません。';
|
$lang->msg_manage_module_cannot_delete = 'モジュール、アドオン、ウィジェットのショットカットは削除出来ません。';
|
||||||
$lang->msg_default_act_is_null = 'デフォルトの管理者のアクションが指定されていないため、ショットカットを登録することが出来ません。';
|
$lang->msg_default_act_is_null = 'デフォルトの管理者のアクションが指定されていないため、ショットカットを登録することが出来ません。';
|
||||||
|
|
||||||
$lang->welcome_to_xe = 'XEの管理者ページです。';
|
$lang->welcome_to_xe = 'XEの管理者ページです。';
|
||||||
$lang->about_admin_page = "管理者ページはまだ未完成です。\nクローズベータバージョンの期間に、多くの方々からご意見をいただきながら、必ず必要なコンテンツを埋めていきたいと思います。";
|
$lang->about_admin_page = "管理者ページはまだ未完成です。\nクローズベータバージョンの期間に、多くの方々からご意見をいただきながら、必ず完成したいと思います。";
|
||||||
$lang->about_lang_env = "初めてサイトに訪問したユーザーに対し、上記の選択した言語でサイトを表示させるためには、必ず下記の「保存」ボタンをクリックして適用して下さい。";
|
$lang->about_lang_env = '初めてサイトに訪問したユーザーに対し、上記の選択した言語でサイトを表示させるためには、必ず下記の「保存」ボタンをクリックして適用して下さい。';
|
||||||
|
|
||||||
$lang->xe_license = 'XEのライセンスはGPLです。';
|
$lang->xe_license = 'XEのライセンスはGPLです。';
|
||||||
$lang->about_shortcut = 'よく使用するモジュールに登録されたショートカットは削除出来ます。';
|
$lang->about_shortcut = 'よく使用するモジュールに登録されたショートカットは削除出来ます。';
|
||||||
|
|
||||||
$lang->yesterday = "昨日";
|
$lang->yesterday = '昨日';
|
||||||
$lang->today = "今日";
|
$lang->today = '今日';
|
||||||
|
|
||||||
$lang->cmd_lang_select = "言語選択";
|
$lang->cmd_lang_select = '言語選択';
|
||||||
$lang->about_cmd_lang_select = "選択された言語だけでサービスを行います。";
|
$lang->about_cmd_lang_select = '選択された言語だけでサービスを行います。';
|
||||||
$lang->about_recompile_cache = "要らないかごみのキャッシューファイルを整理します。";
|
$lang->about_recompile_cache = '要らないかごみのキャッシューファイルを整理します。';
|
||||||
$lang->use_ssl = "SSL環境設定";
|
$lang->use_ssl = 'SSL環境設定';
|
||||||
$lang->ssl_options = array(
|
$lang->ssl_options = array(
|
||||||
'none' => "使わない",
|
'none' => '使わない',
|
||||||
'optional' => "部分的に使う",
|
'optional' => '部分的に使う',
|
||||||
'always' => "常に使う"
|
'always' => '常に使う'
|
||||||
);
|
);
|
||||||
$lang->about_use_ssl = "「部分的に使う場合」は「会員登録/会員情報変更」など特定のactionでSSLを利用する場合、「常に使う」は全てのサービスがSSLを使う場合に選択します。";
|
$lang->about_use_ssl = '「部分的に使う場合」は「会員登録/会員情報変更」など特定のactionでSSLを利用する場合、「常に使う」は全てのサービスがSSLを使う場合に選択します。';
|
||||||
$lang->server_ports = "サーバーポート指定";
|
$lang->server_ports = 'サーバーポート指定';
|
||||||
$lang->about_server_ports = "一般的に使われているHTTPの80、HTTPSの443以外の他のポートを使うために、ポートを指定して下さい。";
|
$lang->about_server_ports = '一般的に使われているHTTPの80、HTTPSの443以外の他のポートを使うために、ポートを指定して下さい。';
|
||||||
$lang->use_db_session = 'DBで認証セッション管理';
|
$lang->use_db_session = 'DBで認証セッション管理';
|
||||||
$lang->about_db_session = '認証の時に使われるPHPセッションをDBで使う機能です。<br />ウェブサーバーの負荷が低いサイトではこの機能をオフにすることでむしろサイトのレスポンスが向上されることもあります。<br />また、この機能をオンにすると、「現在ログイン中の会員」の機能が不可になります。';
|
$lang->about_db_session = '認証の時に使われるPHPセッションをDBで使う機能です。<br />ウェブサーバーの負荷が低いサイトではこの機能をオフにすることでむしろサイトのレスポンスが向上されることもあります。<br />また、この機能をオンにすると、「現在ログイン中の会員」の機能が不可になります。';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,7 @@
|
||||||
.boxModelControler .buttonArea{ padding:15px 0 0 0; text-align:center;}
|
.boxModelControler .buttonArea{ padding:15px 0 0 0; text-align:center;}
|
||||||
|
|
||||||
#popup_content { border:2px solid #777; margin:0; font-size:12px; background:#fff; position:relative;}
|
#popup_content { border:2px solid #777; margin:0; font-size:12px; background:#fff; position:relative;}
|
||||||
#popup_content .xButton { position:absolute; top:9px; right:18px; width:15px; height:14px; background-color:transparent; background:url(../img/buttonClose.gif) no-repeat; border:0; cursor:pointer; overflow:hidden; }
|
#popup_content .xButton { position:absolute; top:9px; right:18px; width:15px; height:14px; padding:0; background-color:transparent; background:url(../img/buttonClose.gif) no-repeat; border:0; cursor:pointer; overflow:hidden; }
|
||||||
#popup_content .xButton span { position:relative; z-index:-1; visibility:hidden; }
|
#popup_content .xButton span { position:relative; z-index:-1; visibility:hidden; }
|
||||||
#popup_content * { font-size:12px; }
|
#popup_content * { font-size:12px; }
|
||||||
#popHeadder h4.xeAdmin, #popHeadder h1.xeAdmin, #popHeadder h3.xeAdmin { font-size:14px !important; font-family:Dotum !important; background:#f4f4f4 !important; padding:8px 30px 8px 15px !important; letter-spacing:-1px !important; border:none !important; margin:0 !important;}
|
#popHeadder h4.xeAdmin, #popHeadder h1.xeAdmin, #popHeadder h3.xeAdmin { font-size:14px !important; font-family:Dotum !important; background:#f4f4f4 !important; padding:8px 30px 8px 15px !important; letter-spacing:-1px !important; border:none !important; margin:0 !important;}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
<!--%import("../../install/lang")-->
|
<!--%import("../../install/lang")-->
|
||||||
<!--%import("../../module/tpl/js/module_admin.js",optimized=false)-->
|
<!--%import("../../module/tpl/js/module_admin.js",optimized=false)-->
|
||||||
|
<!--%import("../../session/tpl/js/session.js",optimized=false)-->
|
||||||
<!--%import("../../addon/tpl/js/addon.js",optimized=false)-->
|
<!--%import("../../addon/tpl/js/addon.js",optimized=false)-->
|
||||||
<!--%import("../../addon/tpl/filter/toggle_activate_addon.xml")-->
|
<!--%import("../../addon/tpl/filter/toggle_activate_addon.xml")-->
|
||||||
|
|
||||||
|
|
@ -201,6 +202,19 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
<h4 class="xeAdmin">{$lang->cmd_remake_cache}</h4>
|
||||||
|
<table cellspacing="0" class="rowTable">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<span class="button black strong"><input type="button" value="{$lang->cmd_remake_cache}" onclick="doRecompileCacheFile(); return false;"/></span>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<span class="button black strong"><input type="button" value="{$lang->cmd_clear_session}" onclick="doClearSession(); return false; "/></span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
<!--@if($news)-->
|
<!--@if($news)-->
|
||||||
<h4 class="xeAdmin">{$lang->newest_news}</h4>
|
<h4 class="xeAdmin">{$lang->newest_news}</h4>
|
||||||
|
|
|
||||||
|
|
@ -23,27 +23,22 @@
|
||||||
function moduleInstall() {
|
function moduleInstall() {
|
||||||
// action forward에 등록 (관리자 모드에서 사용하기 위함)
|
// action forward에 등록 (관리자 모드에서 사용하기 위함)
|
||||||
$oModuleController = &getController('module');
|
$oModuleController = &getController('module');
|
||||||
|
$oModuleModel = &getModel('module');
|
||||||
|
|
||||||
// 2007. 10. 17 아이디 클릭시 나타나는 팝업메뉴에 작성글 보기 기능 추가
|
// 2007. 10. 17 아이디 클릭시 나타나는 팝업메뉴에 작성글 보기 기능 추가
|
||||||
$oModuleController->insertTrigger('member.getMemberMenu', 'board', 'controller', 'triggerMemberMenu', 'after');
|
$oModuleController->insertTrigger('member.getMemberMenu', 'board', 'controller', 'triggerMemberMenu', 'after');
|
||||||
|
|
||||||
// 기본 게시판 생성
|
// 기본 게시판 생성
|
||||||
$output = executeQuery('module.getDefaultMidInfo');
|
$args->site_srl = 0;
|
||||||
if($output->data) return new Object();
|
$output = executeQuery('module.getSite', $args);
|
||||||
|
if(!$output->data->index_module_srl) {
|
||||||
// 기본 모듈을 찾음
|
|
||||||
$oModuleModel = &getModel('module');
|
|
||||||
$site_args->site_srl = 0;
|
|
||||||
$mid_list = $oModuleModel->getMidList($site_args);
|
|
||||||
if(!count($mid_list)) {
|
|
||||||
$args->mid = 'board';
|
$args->mid = 'board';
|
||||||
$args->module = 'board';
|
$args->module = 'board';
|
||||||
$args->browser_title = 'test module';
|
$args->browser_title = 'XpressEngine';
|
||||||
$args->skin = 'xe_default';
|
$args->skin = 'xe_default';
|
||||||
$args->site_srl = 0;
|
$args->site_srl = 0;
|
||||||
$output = $oModuleController->insertModule($args);
|
$output = $oModuleController->insertModule($args);
|
||||||
$module_srl = $output->get('module_srl');
|
$module_srl = $output->get('module_srl');
|
||||||
|
|
||||||
$site_args->site_srl = 0;
|
$site_args->site_srl = 0;
|
||||||
$site_args->index_module_srl = $module_srl;
|
$site_args->index_module_srl = $module_srl;
|
||||||
$oModuleController = &getController('module');
|
$oModuleController = &getController('module');
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
**/
|
**/
|
||||||
function getDefaultListConfig($module_srl) {
|
function getDefaultListConfig($module_srl) {
|
||||||
// 가상번호, 제목, 등록일, 수정일, 닉네임, 아이디, 이름, 조회수, 추천수 추가
|
// 가상번호, 제목, 등록일, 수정일, 닉네임, 아이디, 이름, 조회수, 추천수 추가
|
||||||
$virtual_vars = array( 'no', 'title', 'regdate', 'last_update', 'nick_name', 'user_id', 'user_name', 'readed_count', 'voted_count' );
|
$virtual_vars = array( 'no', 'title', 'regdate', 'last_update', 'last_post', 'nick_name', 'user_id', 'user_name', 'readed_count', 'voted_count','thumbnail','summary');
|
||||||
foreach($virtual_vars as $key) {
|
foreach($virtual_vars as $key) {
|
||||||
$extra_vars[$key] = new ExtraItem($module_srl, -1, Context::getLang($key), $key, 'N', 'N', 'N', null);
|
$extra_vars[$key] = new ExtraItem($module_srl, -1, Context::getLang($key), $key, 'N', 'N', 'N', null);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,9 @@
|
||||||
$lang->cmd_manage_menu = 'Manage Menus';
|
$lang->cmd_manage_menu = 'Manage Menus';
|
||||||
$lang->list_target_item = 'Target Item';
|
$lang->list_target_item = 'Target Item';
|
||||||
$lang->list_display_item = 'Display Item';
|
$lang->list_display_item = 'Display Item';
|
||||||
|
$lang->summary = 'Summary';
|
||||||
|
$lang->thumbnail = 'Thumbnail';
|
||||||
|
$lang->last_post = 'Last post';
|
||||||
|
|
||||||
// Item
|
// Item
|
||||||
$lang->search_result = 'Search Result';
|
$lang->search_result = 'Search Result';
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,9 @@
|
||||||
$lang->cmd_manage_menu = 'Manejo del menú';
|
$lang->cmd_manage_menu = 'Manejo del menú';
|
||||||
$lang->list_target_item = 'Target Item';
|
$lang->list_target_item = 'Target Item';
|
||||||
$lang->list_display_item = 'Display Item';
|
$lang->list_display_item = 'Display Item';
|
||||||
|
$lang->summary = '요약';
|
||||||
|
$lang->thumbnail = '썸네일';
|
||||||
|
$lang->last_post = '최종 글';
|
||||||
$lang->cmd_remake_cache = 'Rehacer archivo caché';
|
$lang->cmd_remake_cache = 'Rehacer archivo caché';
|
||||||
$lang->cmd_layout_setup = 'Configuración del diseño';
|
$lang->cmd_layout_setup = 'Configuración del diseño';
|
||||||
$lang->cmd_layout_edit = 'Editar el diseño';
|
$lang->cmd_layout_edit = 'Editar el diseño';
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,9 @@
|
||||||
$lang->cmd_manage_menu = 'Administration de Menu';
|
$lang->cmd_manage_menu = 'Administration de Menu';
|
||||||
$lang->list_target_item = 'Target Item';
|
$lang->list_target_item = 'Target Item';
|
||||||
$lang->list_display_item = 'Display Item';
|
$lang->list_display_item = 'Display Item';
|
||||||
|
$lang->summary = '요약';
|
||||||
|
$lang->thumbnail = '썸네일';
|
||||||
|
$lang->last_post = '최종 글';
|
||||||
// Item
|
// Item
|
||||||
$lang->search_result = 'Résultat de la Recherche';
|
$lang->search_result = 'Résultat de la Recherche';
|
||||||
$lang->consultation = 'Consultation';
|
$lang->consultation = 'Consultation';
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,9 @@
|
||||||
$lang->cmd_manage_menu = 'メニュー管理';
|
$lang->cmd_manage_menu = 'メニュー管理';
|
||||||
$lang->list_target_item = 'ターゲットアイテム';
|
$lang->list_target_item = 'ターゲットアイテム';
|
||||||
$lang->list_display_item = '表示アイテム';
|
$lang->list_display_item = '表示アイテム';
|
||||||
|
$lang->summary = '요약';
|
||||||
|
$lang->thumbnail = '썸네일';
|
||||||
|
$lang->last_post = '최종 글';
|
||||||
|
|
||||||
|
|
||||||
// 項目
|
// 項目
|
||||||
|
|
@ -29,7 +32,7 @@
|
||||||
// その他
|
// その他
|
||||||
$lang->about_layout_setup = 'ブログのレイアウトのコードを直接修正します。ウィジェットコードを好きなところに入力、又は管理して下さい。';
|
$lang->about_layout_setup = 'ブログのレイアウトのコードを直接修正します。ウィジェットコードを好きなところに入力、又は管理して下さい。';
|
||||||
$lang->about_board_category = 'ブログのカテゴリを作成します。<br />ブログのカテゴリが誤作動する場合、「キャッシュファイルの再生性」を手動で行うことで解決出来ます。';
|
$lang->about_board_category = 'ブログのカテゴリを作成します。<br />ブログのカテゴリが誤作動する場合、「キャッシュファイルの再生性」を手動で行うことで解決出来ます。';
|
||||||
$lang->about_except_notice = "リストの上段に常に表示されるお知らせの書き込みを一般リストからお知らせの書き込みが表示されないようにします。";
|
$lang->about_except_notice = 'リストの上段に常に表示されるお知らせの書き込みを一般リストからお知らせの書き込みが表示されないようにします。';
|
||||||
$lang->about_use_anonymous = '匿名掲示板として活用出来ます。スキン設定で登録者の情報を表示しないに設定をお勧めします。';
|
$lang->about_use_anonymous = '匿名掲示板として活用出来ます。スキン設定で登録者の情報を表示しないに設定をお勧めします。';
|
||||||
$lang->about_board = '掲示板の生成、および管理するモジュールです。';
|
$lang->about_board = '掲示板の生成、および管理するモジュールです。';
|
||||||
$lang->about_consultation = "相談機能とは、管理権限のない会員に本人の書き込みだけを表示する機能です。\n但し、相談機能を使用する際は、非会員の書き込みは自動的に禁止されます。";
|
$lang->about_consultation = "相談機能とは、管理権限のない会員に本人の書き込みだけを表示する機能です。\n但し、相談機能を使用する際は、非会員の書き込みは自動的に禁止されます。";
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,9 @@
|
||||||
$lang->cmd_manage_menu = '메뉴관리';
|
$lang->cmd_manage_menu = '메뉴관리';
|
||||||
$lang->list_target_item = '대상 항목';
|
$lang->list_target_item = '대상 항목';
|
||||||
$lang->list_display_item = '표시 항목';
|
$lang->list_display_item = '표시 항목';
|
||||||
|
$lang->summary = '요약';
|
||||||
|
$lang->thumbnail = '썸네일';
|
||||||
|
$lang->last_post = '최종 글';
|
||||||
|
|
||||||
// 항목
|
// 항목
|
||||||
$lang->search_result = '검색결과';
|
$lang->search_result = '검색결과';
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,9 @@
|
||||||
$lang->cmd_manage_menu = 'Управление меню';
|
$lang->cmd_manage_menu = 'Управление меню';
|
||||||
$lang->list_target_item = 'Target Item';
|
$lang->list_target_item = 'Target Item';
|
||||||
$lang->list_display_item = 'Display Item';
|
$lang->list_display_item = 'Display Item';
|
||||||
|
$lang->summary = '요약';
|
||||||
|
$lang->thumbnail = '썸네일';
|
||||||
|
$lang->last_post = '최종 글';
|
||||||
$lang->cmd_make_child = 'Добавить дочернюю категорию';
|
$lang->cmd_make_child = 'Добавить дочернюю категорию';
|
||||||
$lang->cmd_enable_move_category = "Изменить позицию категории (Перетащите верхнее меню после выделения)";
|
$lang->cmd_enable_move_category = "Изменить позицию категории (Перетащите верхнее меню после выделения)";
|
||||||
$lang->cmd_remake_cache = 'Перепостроить файл кеша';
|
$lang->cmd_remake_cache = 'Перепостроить файл кеша';
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,9 @@
|
||||||
$lang->cmd_manage_menu = '菜单管理';
|
$lang->cmd_manage_menu = '菜单管理';
|
||||||
$lang->list_target_item = '备选项';
|
$lang->list_target_item = '备选项';
|
||||||
$lang->list_display_item = '显示项';
|
$lang->list_display_item = '显示项';
|
||||||
|
$lang->summary = '요약';
|
||||||
|
$lang->thumbnail = '썸네일';
|
||||||
|
$lang->last_post = '최종 글';
|
||||||
|
|
||||||
|
|
||||||
// 项目
|
// 项目
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,9 @@
|
||||||
$lang->cmd_manage_menu = '選單管理';
|
$lang->cmd_manage_menu = '選單管理';
|
||||||
$lang->list_target_item = '目標項目';
|
$lang->list_target_item = '目標項目';
|
||||||
$lang->list_display_item = '顯示項目';
|
$lang->list_display_item = '顯示項目';
|
||||||
|
$lang->summary = '요약';
|
||||||
|
$lang->thumbnail = '썸네일';
|
||||||
|
$lang->last_post = '최종 글';
|
||||||
|
|
||||||
|
|
||||||
// 項目
|
// 項目
|
||||||
|
|
|
||||||
|
|
@ -123,7 +123,7 @@ Jeong, Chan Myeong 070601~070630
|
||||||
|
|
||||||
.replyBox { padding:10px; color:#666666; border:1px solid #e0e1db; margin-top:.5em;}
|
.replyBox { padding:10px; color:#666666; border:1px solid #e0e1db; margin-top:.5em;}
|
||||||
.replyBox .replyItem { background-color:#FFFFFF; padding:.6em .8em .6em .6em; line-height:1.25em; clear:both; border-bottom:1px dotted #EEEEEE; list-style:none;}
|
.replyBox .replyItem { background-color:#FFFFFF; padding:.6em .8em .6em .6em; line-height:1.25em; clear:both; border-bottom:1px dotted #EEEEEE; list-style:none;}
|
||||||
.replyBox p { display:inline; margin-bottom:1em;}
|
.replyBox p { display:inline; }
|
||||||
.replyBox .author { float:left; padding:0 .3em 0 0; color:#3074a5; margin:0 .3em .5em 0;}
|
.replyBox .author { float:left; padding:0 .3em 0 0; color:#3074a5; margin:0 .3em .5em 0;}
|
||||||
.replyBox .author a { color:#3074a5; margin-right:.3em; text-decoration:none; }
|
.replyBox .author a { color:#3074a5; margin-right:.3em; text-decoration:none; }
|
||||||
.replyBox .voted { float:left; font-size:.9em; color:#AAAAAA; margin:0 .3em .5em 1em;}
|
.replyBox .voted { float:left; font-size:.9em; color:#AAAAAA; margin:0 .3em .5em 1em;}
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@
|
||||||
<!--@if($grant->view && $module_info->default_style != 'blog')-->
|
<!--@if($grant->view && $module_info->default_style != 'blog')-->
|
||||||
<div class="boardSearch">
|
<div class="boardSearch">
|
||||||
<form action="{getUrl()}" method="get" onsubmit="return procFilter(this, search)" id="fo_search">
|
<form action="{getUrl()}" method="get" onsubmit="return procFilter(this, search)" id="fo_search">
|
||||||
|
<!--@if($vid)-->
|
||||||
|
<input type="hidden" name="vid" value="{$vid}" />
|
||||||
|
<!--@end-->
|
||||||
<input type="hidden" name="mid" value="{$mid}" />
|
<input type="hidden" name="mid" value="{$mid}" />
|
||||||
<input type="hidden" name="category" value="{$category}" />
|
<input type="hidden" name="category" value="{$category}" />
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -142,8 +142,8 @@
|
||||||
|
|
||||||
<!-- 목록, 수정/삭제 버튼 -->
|
<!-- 목록, 수정/삭제 버튼 -->
|
||||||
<div class="contentButton">
|
<div class="contentButton">
|
||||||
<!--@if($module_info->default_style != 'blog')-->
|
<!--@if($module_info->default_style != 'blog' || ($module_info->default_style == 'blog' && Context::get('document_srl')))-->
|
||||||
<a href="{getUrl('document_srl','')}" class="button {$btn_class}"><span>{$lang->cmd_list}</span></a>
|
<a href="{getUrl('document_srl','')}" class="button {$btn_class}"><span><!--@if($module_info->default_style != 'blog')-->{$lang->cmd_list}<!--@else-->{$lang->cmd_view_all}<!--@end--></span></a>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
<!--@if($oDocument->isEditable())-->
|
<!--@if($oDocument->isEditable())-->
|
||||||
<a href="{getUrl('act','dispBoardWrite','document_srl',$oDocument->document_srl,'comment_srl','')}" class="button {$btn_class}"><span>{$lang->cmd_modify}</span></a>
|
<a href="{getUrl('act','dispBoardWrite','document_srl',$oDocument->document_srl,'comment_srl','')}" class="button {$btn_class}"><span>{$lang->cmd_modify}</span></a>
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,9 @@
|
||||||
<form action="{getUrl()}" method="get" onsubmit="return procFilter(this, search)" id="fo_search" class="boardSearchForm">
|
<form action="{getUrl()}" method="get" onsubmit="return procFilter(this, search)" id="fo_search" class="boardSearchForm">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>Board Search</legend>
|
<legend>Board Search</legend>
|
||||||
|
<!--@if($vid)-->
|
||||||
|
<input type="hidden" name="vid" value="{$vid}" />
|
||||||
|
<!--@end-->
|
||||||
<input type="hidden" name="mid" value="{$mid}" />
|
<input type="hidden" name="mid" value="{$mid}" />
|
||||||
<input type="hidden" name="category" value="{$category}" />
|
<input type="hidden" name="category" value="{$category}" />
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
|
|
||||||
<p>"{$lang->msg_is_secret}"</p>
|
<p>"{$lang->msg_is_secret}"</p>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><label for="cpw">비밀번호</label> :</dt>
|
<dt><label for="cpw">{$lang->password}</label> :</dt>
|
||||||
<dd><input type="password" name="password" id="cpw" class="inputText" /><span class="button red"><input type="submit" value="{$lang->cmd_input}" /></span></dd>
|
<dd><input type="password" name="password" id="cpw" class="inputText" /><span class="button red"><input type="submit" value="{$lang->cmd_input}" /></span></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
|
@ -124,9 +124,9 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="boardNavigation">
|
<div class="boardNavigation">
|
||||||
<!--@if($module_info->default_style != 'blog')-->
|
<!--@if($module_info->default_style != 'blog' || ($module_info->default_style == 'blog' && Context::get('document_srl')))-->
|
||||||
<div class="buttonLeft">
|
<div class="buttonLeft">
|
||||||
<a href="{getUrl('document_srl','')}" class="button"><span>{$lang->cmd_list}</span></a>
|
<a href="{getUrl('document_srl','')}" class="button"><span><!--@if($module_info->default_style != 'blog')-->{$lang->cmd_list}<!--@else-->{$lang->cmd_view_all}<!--@end--></span></a>
|
||||||
</div>
|
</div>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
<!--@if(!$form_include)--><!--#include("header.html")--><!--@end-->
|
<!--@if(!$form_include)--><!--#include("header.html")--><!--@end-->
|
||||||
|
|
||||||
sadf
|
|
||||||
<div class="smallBox w400">
|
<div class="smallBox w400">
|
||||||
|
|
||||||
<div class="header">
|
<div class="header">
|
||||||
|
|
|
||||||
|
|
@ -175,6 +175,7 @@
|
||||||
<span class="button black strong"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
<span class="button black strong"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||||
<span class="button"><input type="button" value="{$lang->cmd_back}" onclick="history.back(); return false;" /></span>
|
<span class="button"><input type="button" value="{$lang->cmd_back}" onclick="history.back(); return false;" /></span>
|
||||||
</th>
|
</th>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
<input type="hidden" name="act" value="{$act}" />
|
<input type="hidden" name="act" value="{$act}" />
|
||||||
<select name="module_category_srl">
|
<select name="module_category_srl">
|
||||||
<option value="">{$lang->module_category}</option>
|
<option value="">{$lang->module_category}</option>
|
||||||
|
<option value="0" <!--@if($module_category_srl==="0")-->selected="selected"<!--@end-->>{$lang->not_exists}</option>
|
||||||
<!--@foreach($module_category as $key => $val)-->
|
<!--@foreach($module_category as $key => $val)-->
|
||||||
<option value="{$key}" <!--@if($module_category_srl==$key)-->selected="selected"<!--@end-->>{$val->title}</option>
|
<option value="{$key}" <!--@if($module_category_srl==$key)-->selected="selected"<!--@end-->>{$val->title}</option>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
@ -53,7 +54,7 @@
|
||||||
<td><a href="{getSiteUrl($val->domain,'','mid',$val->mid)}" onclick="window.open(this.href); return false;">{$val->browser_title}</a></td>
|
<td><a href="{getSiteUrl($val->domain,'','mid',$val->mid)}" onclick="window.open(this.href); return false;">{$val->browser_title}</a></td>
|
||||||
<td>{zdate($val->regdate,"Y-m-d")}</td>
|
<td>{zdate($val->regdate,"Y-m-d")}</td>
|
||||||
<td><a href="{getUrl('act','dispBoardAdminBoardInfo','module_srl',$val->module_srl)}" class="buttonSet buttonSetting"><span>{$lang->cmd_setup}</span></a></td>
|
<td><a href="{getUrl('act','dispBoardAdminBoardInfo','module_srl',$val->module_srl)}" class="buttonSet buttonSetting"><span>{$lang->cmd_setup}</span></a></td>
|
||||||
<td><a href="./?module=module&act=dispModuleAdminCopyModule&module_srl={$val->module_srl}" onclick="popopen(this.href);return false;" class="buttonSet buttonCopy"><span>{$lang->cmd_copy}</span></a></td>
|
<td><a href="{getUrl('','module','module','act','dispModuleAdminCopyModule','module_srl',$val->module_srl)}" onclick="popopen(this.href);return false;" class="buttonSet buttonCopy"><span>{$lang->cmd_copy}</span></a></td>
|
||||||
<td><a href="{getUrl('act','dispBoardAdminDeleteBoard','module_srl', $val->module_srl)}" class="buttonSet buttonDelete"><span>{$lang->cmd_delete}</span></a></td>
|
<td><a href="{getUrl('act','dispBoardAdminDeleteBoard','module_srl', $val->module_srl)}" class="buttonSet buttonDelete"><span>{$lang->cmd_delete}</span></a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
|
||||||
|
|
@ -255,7 +255,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPermanentUrl() {
|
function getPermanentUrl() {
|
||||||
return getUrl('','document_srl',$this->get('document_srl')).'#comment_'.$this->get('comment_srl');
|
$url = getUrl('','document_srl',$this->get('document_srl')).'#comment_'.$this->get('comment_srl');
|
||||||
|
if(substr($url,0,1)=='/') $url = substr(Context::getRequestUri(),0,-1).$url;
|
||||||
|
return $url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -274,12 +276,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function hasUploadedFiles() {
|
function hasUploadedFiles() {
|
||||||
if($this->isSecret() && !$this->isGranted()) return false;
|
if(($this->isSecret() && !$this->isAccessible()) && !$this->isGranted()) return false;
|
||||||
return $this->get('uploaded_count')? true : false;
|
return $this->get('uploaded_count')? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getUploadedFiles() {
|
function getUploadedFiles() {
|
||||||
if($this->isSecret() && !$this->isGranted()) return;
|
if(($this->isSecret() && !$this->isAccessible()) && !$this->isGranted()) return;
|
||||||
if(!$this->get('uploaded_count')) return;
|
if(!$this->get('uploaded_count')) return;
|
||||||
|
|
||||||
$oFileModel = &getModel('file');
|
$oFileModel = &getModel('file');
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
'T' => '保存箱',
|
'T' => '保存箱',
|
||||||
);
|
);
|
||||||
|
|
||||||
$lang->readed_date = "開封時間";
|
$lang->readed_date = '開封時間';
|
||||||
|
|
||||||
$lang->sender = '送信者';
|
$lang->sender = '送信者';
|
||||||
$lang->receiver = '受信者';
|
$lang->receiver = '受信者';
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
</select>
|
</select>
|
||||||
<select name="editor_colorset" id="sel_editor_colorset" style="display:none">
|
<select name="editor_colorset" id="sel_editor_colorset" style="display:none">
|
||||||
</select>
|
</select>
|
||||||
<script "text/javascript">//<![CDATA[
|
<script type="text/javascript">//<![CDATA[
|
||||||
getEditorSkinColorList('{$communication_config->editor_skin}','{$communication_config->editor_colorset}');
|
getEditorSkinColorList('{$communication_config->editor_skin}','{$communication_config->editor_colorset}');
|
||||||
//]]></script>
|
//]]></script>
|
||||||
</td>
|
</td>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
* @brief 日本語言語パッケージ(基本的な内容のみ)
|
* @brief 日本語言語パッケージ(基本的な内容のみ)
|
||||||
**/
|
**/
|
||||||
|
|
||||||
$lang->counter = "カウンター";
|
$lang->counter = 'カウンター';
|
||||||
$lang->cmd_select_date = '日付選択';
|
$lang->cmd_select_date = '日付選択';
|
||||||
$lang->cmd_select_counter_type = array(
|
$lang->cmd_select_counter_type = array(
|
||||||
'hour' => '時間帯別',
|
'hour' => '時間帯別',
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
$args->alias_srl = getNextSequence();
|
$args->alias_srl = getNextSequence();
|
||||||
$args->module_srl = $module_srl;
|
$args->module_srl = $module_srl;
|
||||||
$args->document_srl = $document_srl;
|
$args->document_srl = $document_srl;
|
||||||
$args->alias_title = $alias_title;
|
$args->alias_title = urldecode($alias_title);
|
||||||
$query = "document.insertAlias";
|
$query = "document.insertAlias";
|
||||||
$output = executeQuery($query, $args);
|
$output = executeQuery($query, $args);
|
||||||
return $output;
|
return $output;
|
||||||
|
|
@ -501,6 +501,9 @@
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// update category
|
||||||
|
if($oDocument->get('category_srl')) $this->updateCategoryCount($oDocument->get('module_srl'),$oDocument->get('category_srl'));
|
||||||
|
|
||||||
// commit
|
// commit
|
||||||
$oDB->commit();
|
$oDB->commit();
|
||||||
|
|
||||||
|
|
@ -824,7 +827,7 @@
|
||||||
function updateCategoryCount($module_srl, $category_srl, $document_count = 0) {
|
function updateCategoryCount($module_srl, $category_srl, $document_count = 0) {
|
||||||
// document model 객체 생성
|
// document model 객체 생성
|
||||||
$oDocumentModel = &getModel('document');
|
$oDocumentModel = &getModel('document');
|
||||||
if(!$document_count) $document_count = $oDocumentModel->getCategoryDocumentCount($category_srl);
|
if(!$document_count) $document_count = $oDocumentModel->getCategoryDocumentCount($module_srl,$category_srl);
|
||||||
|
|
||||||
$args->category_srl = $category_srl;
|
$args->category_srl = $category_srl;
|
||||||
$args->document_count = $document_count;
|
$args->document_count = $document_count;
|
||||||
|
|
@ -998,7 +1001,13 @@
|
||||||
**/
|
**/
|
||||||
function procDocumentInsertCategory($args = null) {
|
function procDocumentInsertCategory($args = null) {
|
||||||
// 입력할 변수 정리
|
// 입력할 변수 정리
|
||||||
if(!$args) $args = Context::gets('module_srl','category_srl','parent_srl','title','expand','group_srls','color');
|
if(!$args) $args = Context::gets('module_srl','category_srl','parent_srl','title','expand','group_srls','color','mid');
|
||||||
|
|
||||||
|
if(!$args->module_srl && $args->mid){
|
||||||
|
$mid = $args->mid;
|
||||||
|
unset($args->mid);
|
||||||
|
$args->module_srl = $this->module_srl;
|
||||||
|
}
|
||||||
|
|
||||||
// 권한 체크
|
// 권한 체크
|
||||||
$oModuleModel = &getModel('module');
|
$oModuleModel = &getModel('module');
|
||||||
|
|
@ -1587,6 +1596,5 @@
|
||||||
$this->setError(-1);
|
$this->setError(-1);
|
||||||
$this->setMessage('success_updated');
|
$this->setMessage('success_updated');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -301,9 +301,10 @@
|
||||||
* 에디터 코드가 변환된 내용 반환
|
* 에디터 코드가 변환된 내용 반환
|
||||||
**/
|
**/
|
||||||
function getTransContent($add_popup_menu = true, $add_content_info = true, $resource_realpath = false, $add_xe_content_class = true) {
|
function getTransContent($add_popup_menu = true, $add_content_info = true, $resource_realpath = false, $add_xe_content_class = true) {
|
||||||
$oContext = &Context::getInstance();
|
$oEditorController = &getController('editor');
|
||||||
|
|
||||||
$content = $this->getContent($add_popup_menu, $add_content_info, $resource_realpath, $add_xe_content_class);
|
$content = $this->getContent($add_popup_menu, $add_content_info, $resource_realpath, $add_xe_content_class);
|
||||||
|
$content = $oEditorController->transComponent($content);
|
||||||
|
|
||||||
return $content;
|
return $content;
|
||||||
}
|
}
|
||||||
|
|
@ -376,7 +377,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPermanentUrl() {
|
function getPermanentUrl() {
|
||||||
return getUrl('','document_srl',$this->document_srl);
|
$url = getUrl('','document_srl',$this->get('document_srl'));
|
||||||
|
if(substr($url,0,1)=='/') {
|
||||||
|
if($_SERVER['HTTPS']=='on') $http_url = 'https://';
|
||||||
|
else $http_url = 'http://';
|
||||||
|
$url = $http_url.$_SERVER['HTTP_HOST'].$url;
|
||||||
|
}
|
||||||
|
return $url;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTrackbackUrl() {
|
function getTrackbackUrl() {
|
||||||
|
|
@ -465,9 +472,19 @@
|
||||||
if(!$output->toBool() || !count($output->data)) return;
|
if(!$output->toBool() || !count($output->data)) return;
|
||||||
|
|
||||||
// 구해온 목록을 commentItem 객체로 만듬
|
// 구해온 목록을 commentItem 객체로 만듬
|
||||||
|
// 계층구조에 따라 부모글에 관리권한이 있으면 자식글에는 보기 권한을 줌
|
||||||
|
$accessible = array();
|
||||||
foreach($output->data as $key => $val) {
|
foreach($output->data as $key => $val) {
|
||||||
$oCommentItem = new commentItem();
|
$oCommentItem = new commentItem();
|
||||||
$oCommentItem->setAttribute($val);
|
$oCommentItem->setAttribute($val);
|
||||||
|
|
||||||
|
// 권한이 있는 글에 대해 임시로 권한이 있음을 설정
|
||||||
|
if($oCommentItem->isGranted()) $accessible[$val->comment_srl] = true;
|
||||||
|
|
||||||
|
// 현재 댓글이 비밀글이고 부모글이 있는 답글이고 부모글에 대해 관리 권한이 있으면 보기 가능하도록 수정
|
||||||
|
if($val->parent_srl>0 && $val->is_secret == 'Y' && !$oCommentItem->isAccessible() && $accessible[$val->parent_srl]===true) {
|
||||||
|
$oCommentItem->setAccessible();
|
||||||
|
}
|
||||||
$comment_list[$val->comment_srl] = $oCommentItem;
|
$comment_list[$val->comment_srl] = $oCommentItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -703,7 +703,8 @@
|
||||||
/**
|
/**
|
||||||
* @brief 카테고리에 속한 문서의 갯수를 구함
|
* @brief 카테고리에 속한 문서의 갯수를 구함
|
||||||
**/
|
**/
|
||||||
function getCategoryDocumentCount($category_srl) {
|
function getCategoryDocumentCount($module_srl, $category_srl) {
|
||||||
|
$args->module_srl = $module_srl;
|
||||||
$args->category_srl = $category_srl;
|
$args->category_srl = $category_srl;
|
||||||
$output = executeQuery('document.getCategoryDocumentCount', $args);
|
$output = executeQuery('document.getCategoryDocumentCount', $args);
|
||||||
return (int)$output->data->count;
|
return (int)$output->data->count;
|
||||||
|
|
@ -903,8 +904,10 @@
|
||||||
function getDocumentSrlByAlias($mid, $alias)
|
function getDocumentSrlByAlias($mid, $alias)
|
||||||
{
|
{
|
||||||
if(!$mid || !$alias) return null;
|
if(!$mid || !$alias) return null;
|
||||||
|
$site_module_info = Context::get('site_module_info');
|
||||||
$args->mid = $mid;
|
$args->mid = $mid;
|
||||||
$args->alias_title = $alias;
|
$args->alias_title = $alias;
|
||||||
|
$args->site_srl = $site_module_info->site_srl;
|
||||||
$output = executeQuery('document.getDocumentSrlByAlias', $args);
|
$output = executeQuery('document.getDocumentSrlByAlias', $args);
|
||||||
if(!$output->data) return null;
|
if(!$output->data) return null;
|
||||||
else return $output->data->document_srl;
|
else return $output->data->document_srl;
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
$oModuleModel = &getModel('module');
|
$oModuleModel = &getModel('module');
|
||||||
$document_config = $oModuleModel->getModulePartConfig('document', $module_srl);
|
if($current_module_srl)
|
||||||
|
{
|
||||||
|
$document_config = $oModuleModel->getModulePartConfig('document', $current_module_srl);
|
||||||
|
}
|
||||||
if(!isset($document_config->use_history)) $document_config->use_history = 'N';
|
if(!isset($document_config->use_history)) $document_config->use_history = 'N';
|
||||||
Context::set('document_config', $document_config);
|
Context::set('document_config', $document_config);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
$lang->category_group_srls = 'グループ制限';
|
$lang->category_group_srls = 'グループ制限';
|
||||||
|
|
||||||
$lang->cmd_make_child = '下位カテゴリ追加';
|
$lang->cmd_make_child = '下位カテゴリ追加';
|
||||||
$lang->cmd_enable_move_category = "カテゴリ位置変更(選択後上のメニューをドラッグして下さい)";
|
$lang->cmd_enable_move_category = 'カテゴリ位置変更(選択後上のメニューをドラッグして下さい)';
|
||||||
|
|
||||||
$lang->about_category_title = 'カテゴリ名を入力して下さい。';
|
$lang->about_category_title = 'カテゴリ名を入力して下さい。';
|
||||||
$lang->about_expand = 'チェックすると常に展開された状態になります。';
|
$lang->about_expand = 'チェックすると常に展開された状態になります。';
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
$lang->msg_is_secret = '非公開設定の書き込みです。';
|
$lang->msg_is_secret = '非公開設定の書き込みです。';
|
||||||
$lang->msg_checked_document_is_deleted = '%d個の書き込みが削除されました。';
|
$lang->msg_checked_document_is_deleted = '%d個の書き込みが削除されました。';
|
||||||
|
|
||||||
$lang->move_target_module = "移動対象モジュール";
|
$lang->move_target_module = '移動対象モジュール';
|
||||||
|
|
||||||
// 管理者ページで検索する内容
|
// 管理者ページで検索する内容
|
||||||
$lang->search_target_list = array(
|
$lang->search_target_list = array(
|
||||||
|
|
@ -66,14 +66,14 @@
|
||||||
'ipaddress' => 'IPアドレス',
|
'ipaddress' => 'IPアドレス',
|
||||||
);
|
);
|
||||||
|
|
||||||
$lang->alias = "アリアス(Alias)";
|
$lang->alias = 'アリアス(Alias)';
|
||||||
$lang->history = "履歴";
|
$lang->history = '履歴';
|
||||||
$lang->about_use_history = "履歴機能を使用するかを設定します。履歴機能を使用すると文書修正のバージョンを管理し、過去のバージョンから復元することも可能です。";
|
$lang->about_use_history = '履歴機能を使用するかを設定します。履歴機能を使用すると文書修正のバージョンを管理し、過去のバージョンから復元することも可能です。';
|
||||||
$lang->trace_only = "記録だけ残す";
|
$lang->trace_only = '記録だけ残す';
|
||||||
|
|
||||||
$lang->cmd_trash = "ごみ箱";
|
$lang->cmd_trash = "ごみ箱";
|
||||||
$lang->cmd_restore = "復元";
|
$lang->cmd_restore = "差し戻し";
|
||||||
$lang->cmd_restore_all = "すべて復元";
|
$lang->cmd_restore_all = "すべて差し戻し";
|
||||||
|
|
||||||
$lang->in_trash = "ごみ箱";
|
$lang->in_trash = "ごみ箱";
|
||||||
$lang->trash_nick_name = "削除者のニックネーム";
|
$lang->trash_nick_name = "削除者のニックネーム";
|
||||||
|
|
|
||||||
|
|
@ -7,5 +7,6 @@
|
||||||
</columns>
|
</columns>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="category_srl" var="category_srl" filter="number" notnull="notnull" />
|
<condition operation="equal" column="category_srl" var="category_srl" filter="number" notnull="notnull" />
|
||||||
|
<condition operation="equal" column="module_srl" var="module_srl" filter="number" notnull="notnull" pipe="and" />
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,8 @@
|
||||||
<column name="document_srl" />
|
<column name="document_srl" />
|
||||||
</columns>
|
</columns>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="alias_title" var="alias_title" filter="number" notnull="notnull" />
|
<condition operation="equal" column="alias_title" var="alias_title" notnull="notnull" />
|
||||||
|
<condition operation="equal" column="modules.site_srl" var="site_srl" filter="number" notnull="notnull" pipe="and" />
|
||||||
<condition operation="equal" column="modules.mid" var="mid" filter="number" notnull="notnull" pipe="and" />
|
<condition operation="equal" column="modules.mid" var="mid" filter="number" notnull="notnull" pipe="and" />
|
||||||
<condition operation="equal" column="modules.module_srl" var="document_aliases.module_srl" filter="number" notnull="notnull" pipe="and" />
|
<condition operation="equal" column="modules.module_srl" var="document_aliases.module_srl" filter="number" notnull="notnull" pipe="and" />
|
||||||
</conditions>
|
</conditions>
|
||||||
|
|
|
||||||
15
modules/document/queries/updateDocumentOrder.xml
Normal file
15
modules/document/queries/updateDocumentOrder.xml
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
<query id="updateDocumentOrder" action="update">
|
||||||
|
<tables>
|
||||||
|
<table name="documents" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="module_srl" var="module_srl" filter="number" default="0" />
|
||||||
|
<column name="regdate" var="regdate" default="curdate()" />
|
||||||
|
<column name="last_update" var="last_update" default="curdate()" />
|
||||||
|
<column name="list_order" var="list_order" />
|
||||||
|
<column name="update_order" var="update_order" default="0" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="equal" column="document_srl" var="document_srl" filter="number" notnull="notnull" />
|
||||||
|
</conditions>
|
||||||
|
</query>
|
||||||
|
|
@ -9,6 +9,6 @@ $lang->used_collapse = '折りたたみ機能を使う';
|
||||||
$lang->hidden_linenumber = '行番号を隠す';
|
$lang->hidden_linenumber = '行番号を隠す';
|
||||||
$lang->hidden_controls = 'ツールバーを隠す';
|
$lang->hidden_controls = 'ツールバーを隠す';
|
||||||
|
|
||||||
$lang->file_path = 'ファイルパス';
|
$lang->file_path = 'ファイルのパス';
|
||||||
$lang->description = '説明';
|
$lang->description = '説明';
|
||||||
$lang->first_line = '開始する行番号';
|
$lang->first_line = '開始する行番号';
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,13 @@
|
||||||
**/
|
**/
|
||||||
function getPopupContent() {
|
function getPopupContent() {
|
||||||
// 이모티콘 디렉토리 목록을 가져옴
|
// 이모티콘 디렉토리 목록을 가져옴
|
||||||
$emoticon_list = FileHandler::readDir($this->emoticon_path);
|
$emoticon_dirs = FileHandler::readDir($this->emoticon_path);
|
||||||
|
$emoticon_list = array();
|
||||||
|
if($emoticon_dirs) {
|
||||||
|
foreach($emoticon_dirs as $emoticon) {
|
||||||
|
if(preg_match("/^([a-z0-9\_]+)$/i", $emoticon)) $emoticon_list[] = $emoticon;
|
||||||
|
}
|
||||||
|
}
|
||||||
Context::set('emoticon_list', $emoticon_list);
|
Context::set('emoticon_list', $emoticon_list);
|
||||||
|
|
||||||
// 첫번째 이모티콘 디렉토리의 이미지 파일을 구함
|
// 첫번째 이모티콘 디렉토리의 이미지 파일을 구함
|
||||||
|
|
|
||||||
|
|
@ -72,11 +72,8 @@ function start_list_gallery() {
|
||||||
obj.image.style.marginBottom = "10px";
|
obj.image.style.marginBottom = "10px";
|
||||||
obj.image.style.display = "block";
|
obj.image.style.display = "block";
|
||||||
|
|
||||||
// resize_scale이 1이 아니면, 즉 리사이즈 되었다면 해당 이미지 클릭시 원본을 새창으로 띄워줌
|
// 리사이즈 되었다면 resize_image 애드온의 slideshow() 기능 사용
|
||||||
if(resize_scale!=1 && typeof(showOriginalImage)=='function') {
|
if(resize_scale != 1) obj.image.rel = 'xe_gallery';
|
||||||
obj.image.style.cursor = 'pointer';
|
|
||||||
xAddEventListener(obj.image, 'click', showOriginalImage);
|
|
||||||
}
|
|
||||||
|
|
||||||
zone.appendChild(obj.image);
|
zone.appendChild(obj.image);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,14 @@
|
||||||
|
|
||||||
$src = str_replace(array('&','"'), array('&','&qout;'), $src);
|
$src = str_replace(array('&','"'), array('&','&qout;'), $src);
|
||||||
$src = str_replace('&amp;', '&', $src);
|
$src = str_replace('&amp;', '&', $src);
|
||||||
|
// 이미지 주소를 request uri가 포함된 주소로 변환 (rss출력, 등등을 위함)
|
||||||
|
$temp_src = explode('/', $src);
|
||||||
|
if($temp_src[0]=='.') $src = Context::getRequestUri().substr($src, 2);
|
||||||
|
elseif($temp_src[0]=='' && $src) {
|
||||||
|
if($_SERVER['HTTPS']=='on') $http_src = 'https://';
|
||||||
|
else $http_src = 'http://';
|
||||||
|
$src = $http_src.$_SERVER['HTTP_HOST'].$src;
|
||||||
|
}
|
||||||
if(!$alt) $alt = $src;
|
if(!$alt) $alt = $src;
|
||||||
|
|
||||||
$attr_output = array();
|
$attr_output = array();
|
||||||
|
|
|
||||||
|
|
@ -5,19 +5,19 @@
|
||||||
* @brief ウィジウィグエディター(editor)モジュール > イメージリンク(image_link)コンポネント言語パッケージ
|
* @brief ウィジウィグエディター(editor)モジュール > イメージリンク(image_link)コンポネント言語パッケージ
|
||||||
**/
|
**/
|
||||||
|
|
||||||
$lang->image_url = "イメージパス";
|
$lang->image_url = 'イメージパス';
|
||||||
$lang->image_alt = "説明(Alt)入力";
|
$lang->image_alt = '説明(Alt)入力';
|
||||||
$lang->image_scale = "イメージサイズ";
|
$lang->image_scale = 'イメージサイズ';
|
||||||
$lang->image_align = "アライン位置";
|
$lang->image_align = 'アライン位置';
|
||||||
$lang->image_align_normal = "一段落";
|
$lang->image_align_normal = '一段落';
|
||||||
$lang->image_align_left = "左揃え";
|
$lang->image_align_left = '左揃え';
|
||||||
$lang->image_align_middle = "中央揃え";
|
$lang->image_align_middle = '中央揃え';
|
||||||
$lang->image_align_right = "右揃え";
|
$lang->image_align_right = '右揃え';
|
||||||
$lang->image_border = "ボーダー";
|
$lang->image_border = 'ボーダー';
|
||||||
$lang->image_margin = '外側の空白(Margin)';
|
$lang->image_margin = '外側の空白(Margin)';
|
||||||
|
|
||||||
$lang->urllink_open_window = "新しいウィンドウで開く";
|
$lang->urllink_open_window = '新しいウィンドウで開く';
|
||||||
$lang->about_url_link_open_window = "チェックすると、リンクをクリックする際、新しいウィンドウで開きます。";
|
$lang->about_url_link_open_window = 'チェックすると、リンクをクリックする際、新しいウィンドウで開きます。';
|
||||||
|
|
||||||
$lang->cmd_get_scale = "イメージサイズを計算";
|
$lang->cmd_get_scale = 'イメージサイズを計算';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -10,4 +10,9 @@
|
||||||
$lang->multimedia_width = "가로크기";
|
$lang->multimedia_width = "가로크기";
|
||||||
$lang->multimedia_height = "세로크기";
|
$lang->multimedia_height = "세로크기";
|
||||||
$lang->multimedia_auto_start = "자동시작";
|
$lang->multimedia_auto_start = "자동시작";
|
||||||
|
$lang->multimedia_wmode = '위치';
|
||||||
|
|
||||||
|
$lang->multimedia_wmode_window = '항상 위';
|
||||||
|
$lang->multimedia_wmode_opaque = '배경 불투명';
|
||||||
|
$lang->multimedia_wmode_transparent = '배경 투명';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -53,12 +53,19 @@
|
||||||
if($auto_start!="true") $auto_start = "false";
|
if($auto_start!="true") $auto_start = "false";
|
||||||
else $auto_start = "true";
|
else $auto_start = "true";
|
||||||
|
|
||||||
|
$wmode = $xml_obj->attrs->wmode;
|
||||||
|
if($wmode == 'window') $wmode = 'window';
|
||||||
|
elseif($wmode == 'opaque') $wmode = 'opaque';
|
||||||
|
else $wmode = 'transparent';
|
||||||
|
|
||||||
|
|
||||||
$caption = $xml_obj->body;
|
$caption = $xml_obj->body;
|
||||||
|
|
||||||
$src = str_replace(array('&','"'), array('&','&qout;'), $src);
|
$src = str_replace(array('&','"'), array('&','&qout;'), $src);
|
||||||
$src = str_replace('&amp;', '&', $src);
|
$src = str_replace('&amp;', '&', $src);
|
||||||
|
|
||||||
return sprintf("<div><script type=\"text/javascript\">displayMultimedia(\"%s\", \"%s\",\"%s\", { autostart : %s });</script></div>", $src, $width, $height, $auto_start);
|
if(Context::getResponseMethod() != "XMLRPC") return sprintf("<script type=\"text/javascript\">displayMultimedia(\"%s\", \"%s\",\"%s\", { \"autostart\" : %s, \"wmode\" : \"%s\" });</script>", $src, $width, $height, $auto_start, $wmode);
|
||||||
|
else return sprintf("<div style=\"width: %dpx; height: %dpx;\"><span style=\"position:relative; top:%dpx;left:%d\"><img src=\"%s\" /><br />Attached Multimedia</span></div>", $width, $height, ($height/2-16), ($width/2-31), Context::getRequestUri().'./modules/editor/components/multimedia_link/tpl/multimedia_link_component.gif');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,16 @@
|
||||||
<th scope="row"><div>{$lang->multimedia_auto_start}</div></th>
|
<th scope="row"><div>{$lang->multimedia_auto_start}</div></th>
|
||||||
<td><input type="checkbox" id="multimedia_auto_start" value="Y" /></td>
|
<td><input type="checkbox" id="multimedia_auto_start" value="Y" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row"><div>{$lang->multimedia_wmode}</div></th>
|
||||||
|
<td>
|
||||||
|
<select name="multimedia_wmode">
|
||||||
|
<option value="window">{$lang->multimedia_wmode_window}</option>
|
||||||
|
<option value="opaque">{$lang->multimedia_wmode_opaque}</option>
|
||||||
|
<option value="transparent" selected="selected">{$lang->multimedia_wmode_transparent}</option>
|
||||||
|
</select>
|
||||||
|
<p>{$lang->about_ccl_allow_modification}</p>
|
||||||
|
</td>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div id="popFooter">
|
<div id="popFooter">
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,9 @@ function getMultimedia() {
|
||||||
var width = xWidth(node);
|
var width = xWidth(node);
|
||||||
var height = xHeight(node);
|
var height = xHeight(node);
|
||||||
var auto_start = node.getAttribute("auto_start");
|
var auto_start = node.getAttribute("auto_start");
|
||||||
|
var wmode = node.getAttribute("wmode");
|
||||||
|
|
||||||
|
var fo_obj = xGetElementById('fo');
|
||||||
|
|
||||||
xGetElementById("multimedia_url").value = url;
|
xGetElementById("multimedia_url").value = url;
|
||||||
xGetElementById("multimedia_caption").value = caption;
|
xGetElementById("multimedia_caption").value = caption;
|
||||||
|
|
@ -21,6 +24,9 @@ function getMultimedia() {
|
||||||
xGetElementById("multimedia_height").value = height-4;
|
xGetElementById("multimedia_height").value = height-4;
|
||||||
if(auto_start=="true") xGetElementById("multimedia_auto_start").checked = true;
|
if(auto_start=="true") xGetElementById("multimedia_auto_start").checked = true;
|
||||||
|
|
||||||
|
if(wmode == 'window') fo_obj.multimedia_wmode.selectedIndex = 0;
|
||||||
|
else if(wmode == 'opaque') fo_obj.multimedia_wmode.selectedIndex = 1;
|
||||||
|
else fo_obj.multimedia_wmode.selectedIndex = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
function insertMultimedia(obj) {
|
function insertMultimedia(obj) {
|
||||||
|
|
@ -29,6 +35,9 @@ function insertMultimedia(obj) {
|
||||||
var url = xGetElementById("multimedia_url").value;
|
var url = xGetElementById("multimedia_url").value;
|
||||||
url = url.replace(request_uri,'');
|
url = url.replace(request_uri,'');
|
||||||
// url = encodeURI(url);
|
// url = encodeURI(url);
|
||||||
|
var fo_obj = xGetElementById('fo');
|
||||||
|
|
||||||
|
var wmode = fo_obj.multimedia_wmode.options[fo_obj.multimedia_wmode.selectedIndex].value;
|
||||||
|
|
||||||
var caption = xGetElementById("multimedia_caption").value;
|
var caption = xGetElementById("multimedia_caption").value;
|
||||||
|
|
||||||
|
|
@ -46,7 +55,7 @@ function insertMultimedia(obj) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var text = "<img src=\"./common/tpl/images/blank.gif\" editor_component=\"multimedia_link\" multimedia_src=\""+url+"\" width=\""+width+"\" height=\""+height+"\" style=\"display:block;width:"+width+"px;height:"+height+"px;border:2px dotted #4371B9;background:url(./modules/editor/components/multimedia_link/tpl/multimedia_link_component.gif) no-repeat center;\" auto_start=\""+auto_start+"\" alt=\""+caption+"\" />";
|
var text = "<img src=\"./common/tpl/images/blank.gif\" editor_component=\"multimedia_link\" multimedia_src=\""+url+"\" width=\""+width+"\" height=\""+height+"\" wmode=\""+wmode+"\" style=\"display:block;width:"+width+"px;height:"+height+"px;border:2px dotted #4371B9;background:url(./modules/editor/components/multimedia_link/tpl/multimedia_link_component.gif) no-repeat center;\" auto_start=\""+auto_start+"\" alt=\""+caption+"\" />";
|
||||||
|
|
||||||
opener.editorFocus(opener.editorPrevSrl);
|
opener.editorFocus(opener.editorPrevSrl);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,5 +22,7 @@
|
||||||
<action name="procEditorAdminDisableComponent" type="controller" standalone="true" />
|
<action name="procEditorAdminDisableComponent" type="controller" standalone="true" />
|
||||||
<action name="procEditorAdminMoveListOrder" type="controller" standalone="true" />
|
<action name="procEditorAdminMoveListOrder" type="controller" standalone="true" />
|
||||||
<action name="procEditorAdminSetupComponent" type="controller" standalone="true" />
|
<action name="procEditorAdminSetupComponent" type="controller" standalone="true" />
|
||||||
|
|
||||||
|
<action name="procEditorLoadSavedDocument" type="controller" standalone="true" />
|
||||||
</actions>
|
</actions>
|
||||||
</module>
|
</module>
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,15 @@
|
||||||
function checkUpdate() {
|
function checkUpdate() {
|
||||||
$oModuleModel = &getModel('module');
|
$oModuleModel = &getModel('module');
|
||||||
|
|
||||||
|
$oDB = &DB::getInstance();
|
||||||
|
|
||||||
|
// 2009. 06. 15 자동저장시 module_srl 을 저장
|
||||||
|
if(!$oDB->isColumnExists("editor_autosave","module_srl")) return true;
|
||||||
|
|
||||||
|
// 2009. 06. 15 module_srl을 인덱스로
|
||||||
|
if(!$oDB->isIndexExists("editor_autosave","idx_module_srl")) return true;
|
||||||
|
|
||||||
|
|
||||||
// 2007. 10. 17 글의 입력(신규 or 수정)이 일어날때마다 자동 저장된 문서를 삭제하는 trigger 추가
|
// 2007. 10. 17 글의 입력(신규 or 수정)이 일어날때마다 자동 저장된 문서를 삭제하는 trigger 추가
|
||||||
if(!$oModuleModel->getTrigger('document.insertDocument', 'editor', 'controller', 'triggerDeleteSavedDoc', 'after')) return true;
|
if(!$oModuleModel->getTrigger('document.insertDocument', 'editor', 'controller', 'triggerDeleteSavedDoc', 'after')) return true;
|
||||||
if(!$oModuleModel->getTrigger('document.updateDocument', 'editor', 'controller', 'triggerDeleteSavedDoc', 'after')) return true;
|
if(!$oModuleModel->getTrigger('document.updateDocument', 'editor', 'controller', 'triggerDeleteSavedDoc', 'after')) return true;
|
||||||
|
|
@ -59,6 +68,9 @@
|
||||||
// 2009. 04. 14 editor component 변환 코드를 trigger로 독립
|
// 2009. 04. 14 editor component 변환 코드를 trigger로 독립
|
||||||
if(!$oModuleModel->getTrigger('display', 'editor', 'controller', 'triggerEditorComponentCompile', 'before')) return true;
|
if(!$oModuleModel->getTrigger('display', 'editor', 'controller', 'triggerEditorComponentCompile', 'before')) return true;
|
||||||
|
|
||||||
|
// 2009. 06. 19 사용하지 않는 트리거 제거
|
||||||
|
if($oModuleModel->getTrigger('file.getIsPermitted', 'editor', 'controller', 'triggerSrlSetting', 'before')) return true;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -69,6 +81,17 @@
|
||||||
$oModuleModel = &getModel('module');
|
$oModuleModel = &getModel('module');
|
||||||
$oModuleController = &getController('module');
|
$oModuleController = &getController('module');
|
||||||
|
|
||||||
|
$oDB = &DB::getInstance();
|
||||||
|
|
||||||
|
// 자동저장시 module_srl 을 저장 2009.6.15
|
||||||
|
if(!$oDB->isColumnExists("editor_autosave","module_srl"))
|
||||||
|
$oDB->addColumn("editor_autosave","module_srl","number",11);
|
||||||
|
|
||||||
|
// module_srl을 인덱스로
|
||||||
|
if(!$oDB->isIndexExists("editor_autosave","idx_module_srl"))
|
||||||
|
$oDB->addIndex("editor_autosave","idx_module_srl", "module_srl");
|
||||||
|
|
||||||
|
|
||||||
// 2007. 10. 17 글의 입력(신규 or 수정)이 일어날때마다 자동 저장된 문서를 삭제하는 trigger 추가
|
// 2007. 10. 17 글의 입력(신규 or 수정)이 일어날때마다 자동 저장된 문서를 삭제하는 trigger 추가
|
||||||
if(!$oModuleModel->getTrigger('document.insertDocument', 'editor', 'controller', 'triggerDeleteSavedDoc', 'after'))
|
if(!$oModuleModel->getTrigger('document.insertDocument', 'editor', 'controller', 'triggerDeleteSavedDoc', 'after'))
|
||||||
$oModuleController->insertTrigger('document.insertDocument', 'editor', 'controller', 'triggerDeleteSavedDoc', 'after');
|
$oModuleController->insertTrigger('document.insertDocument', 'editor', 'controller', 'triggerDeleteSavedDoc', 'after');
|
||||||
|
|
@ -83,6 +106,10 @@
|
||||||
if(!$oModuleModel->getTrigger('display', 'editor', 'controller', 'triggerEditorComponentCompile', 'before'))
|
if(!$oModuleModel->getTrigger('display', 'editor', 'controller', 'triggerEditorComponentCompile', 'before'))
|
||||||
$oModuleController->insertTrigger('display', 'editor', 'controller', 'triggerEditorComponentCompile', 'before');
|
$oModuleController->insertTrigger('display', 'editor', 'controller', 'triggerEditorComponentCompile', 'before');
|
||||||
|
|
||||||
|
// 2009. 06. 19 사용하지 않는 트리거 제거
|
||||||
|
if($oModuleModel->getTrigger('file.getIsPermitted', 'editor', 'controller', 'triggerSrlSetting', 'before'))
|
||||||
|
$oModuleController->deleteTrigger('file.getIsPermitted', 'editor', 'controller', 'triggerSrlSetting', 'before');
|
||||||
|
|
||||||
return new Object(0, 'success_updated');
|
return new Object(0, 'success_updated');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
**/
|
**/
|
||||||
function procEditorSaveDoc() {
|
function procEditorSaveDoc() {
|
||||||
|
|
||||||
$this->deleteSavedDoc();
|
$this->deleteSavedDoc(false);
|
||||||
|
|
||||||
$args->document_srl = Context::get('document_srl');
|
$args->document_srl = Context::get('document_srl');
|
||||||
$args->content = Context::get('content');
|
$args->content = Context::get('content');
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
**/
|
**/
|
||||||
function procEditorRemoveSavedDoc() {
|
function procEditorRemoveSavedDoc() {
|
||||||
$oEditorController = &getController('editor');
|
$oEditorController = &getController('editor');
|
||||||
$oEditorController->deleteSavedDoc();
|
$oEditorController->deleteSavedDoc(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -92,6 +92,7 @@
|
||||||
}
|
}
|
||||||
if(count($font_list)) $editor_config->content_font = '"'.implode('","',$font_list).'"';
|
if(count($font_list)) $editor_config->content_font = '"'.implode('","',$font_list).'"';
|
||||||
}
|
}
|
||||||
|
$editor_config->content_font_size = Context::get('content_font_size');
|
||||||
$editor_config->sel_editor_colorset = Context::get('sel_editor_colorset');
|
$editor_config->sel_editor_colorset = Context::get('sel_editor_colorset');
|
||||||
$editor_config->sel_comment_editor_colorset = Context::get('sel_comment_editor_colorset');
|
$editor_config->sel_comment_editor_colorset = Context::get('sel_comment_editor_colorset');
|
||||||
|
|
||||||
|
|
@ -171,7 +172,14 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$content_font = $editor_config->content_font;
|
$content_font = $editor_config->content_font;
|
||||||
if($content_font) Context::addHtmlHeader('<style type="text/css" charset="UTF-8"> .xe_content { font-family:'.$content_font.'; } </style>');
|
$content_font_size = $editor_config->content_font_size;
|
||||||
|
if($content_font || $content_font_size) {
|
||||||
|
$buff = '<style type="text/css" charset="UTF-8"> .xe_content { ';
|
||||||
|
if($content_font) $buff .= 'font-family:'.$content_font.';';
|
||||||
|
if($content_font_size) $buff .= 'font-size:'.$content_font_size.';';
|
||||||
|
$buff .= ' }; </style>';
|
||||||
|
Context::addHtmlHeader($buff);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$content = $this->transComponent($content);
|
$content = $this->transComponent($content);
|
||||||
|
|
@ -214,23 +222,52 @@
|
||||||
**/
|
**/
|
||||||
function doSaveDoc($args) {
|
function doSaveDoc($args) {
|
||||||
|
|
||||||
|
if(!$args->document_srl) $args->document_srl = $_SESSION['upload_info'][$editor_sequence]->upload_target_srl;
|
||||||
if(Context::get('is_logged')) {
|
if(Context::get('is_logged')) {
|
||||||
$logged_info = Context::get('logged_info');
|
$logged_info = Context::get('logged_info');
|
||||||
$args->member_srl = $logged_info->member_srl;
|
$args->member_srl = $logged_info->member_srl;
|
||||||
} else {
|
} else {
|
||||||
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
||||||
}
|
}
|
||||||
|
// module_srl이 없으면 현재 모듈
|
||||||
|
if(!$args->module_srl) {
|
||||||
|
$args->module_srl = Context::get('module_srl');
|
||||||
|
}
|
||||||
|
if(!$args->module_srl) {
|
||||||
|
$current_module_info = Context::get('current_module_info');
|
||||||
|
$args->module_srl = $current_module_info->module_srl;
|
||||||
|
}
|
||||||
|
|
||||||
// 저장
|
// 저장
|
||||||
return executeQuery('editor.insertSavedDoc', $args);
|
return executeQuery('editor.insertSavedDoc', $args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 자동 저장글 Srl 로드 - XE 이전 버전 사용자를 위함.
|
||||||
|
**/
|
||||||
|
function procEditorLoadSavedDocument() {
|
||||||
|
$editor_sequence = Context::get('editor_sequence');
|
||||||
|
$primary_key = Context::get('primary_key');
|
||||||
|
$oEditorModel = &getModel('editor');
|
||||||
|
$oFileController = &getController('file');
|
||||||
|
|
||||||
|
$saved_doc = $oEditorModel->getSavedDoc(null);
|
||||||
|
|
||||||
|
$oFileController->setUploadInfo($editor_sequence, $saved_doc->document_srl);
|
||||||
|
$vars = $this->getVariables();
|
||||||
|
$this->add("editor_sequence", $editor_sequence);
|
||||||
|
$this->add("key", $primary_key);
|
||||||
|
$this->add("title", $saved_doc->title);
|
||||||
|
$this->add("content", $saved_doc->content);
|
||||||
|
$this->add("document_srl", $saved_doc->document_srl);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 게시글의 입력/수정이 일어났을 경우 자동 저장문서를 제거하는 trigger
|
* @brief 게시글의 입력/수정이 일어났을 경우 자동 저장문서를 제거하는 trigger
|
||||||
**/
|
**/
|
||||||
function triggerDeleteSavedDoc(&$obj) {
|
function triggerDeleteSavedDoc(&$obj) {
|
||||||
$this->deleteSavedDoc();
|
$this->deleteSavedDoc(false);
|
||||||
return new Object();
|
return new Object();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -238,13 +275,33 @@
|
||||||
* @brief 자동 저장된 글을 삭제
|
* @brief 자동 저장된 글을 삭제
|
||||||
* 현재 접속한 사용자를 기준
|
* 현재 접속한 사용자를 기준
|
||||||
**/
|
**/
|
||||||
function deleteSavedDoc() {
|
function deleteSavedDoc($mode = false) {
|
||||||
if(Context::get('is_logged')) {
|
if(Context::get('is_logged')) {
|
||||||
$logged_info = Context::get('logged_info');
|
$logged_info = Context::get('logged_info');
|
||||||
$args->member_srl = $logged_info->member_srl;
|
$args->member_srl = $logged_info->member_srl;
|
||||||
} else {
|
} else {
|
||||||
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
||||||
}
|
}
|
||||||
|
$args->module_srl = Context::get('module_srl');
|
||||||
|
// module_srl이 없으면 현재 모듈
|
||||||
|
if(!$args->module_srl) {
|
||||||
|
$current_module_info = Context::get('current_module_info');
|
||||||
|
$args->module_srl = $current_module_info->module_srl;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 자동저장된 값이 혹시 이미 등록된 글인지 확인
|
||||||
|
$output = executeQuery('editor.getSavedDocument', $args);
|
||||||
|
$saved_doc = $output->data;
|
||||||
|
if(!$saved_doc) return;
|
||||||
|
|
||||||
|
$oDocumentModel = &getModel('document');
|
||||||
|
$oSaved = $oDocumentModel->getDocument($saved_doc->document_srl);
|
||||||
|
if(!$oSaved->isExists()) {
|
||||||
|
if($mode) {
|
||||||
|
$output = executeQuery('editor.getSavedDocument', $args);
|
||||||
|
$output = ModuleHandler::triggerCall('editor.deleteSavedDoc', 'after', $saved_doc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 일단 이전 저장본 삭제
|
// 일단 이전 저장본 삭제
|
||||||
return executeQuery('editor.deleteSavedDoc', $args);
|
return executeQuery('editor.deleteSavedDoc', $args);
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@
|
||||||
|
|
||||||
if(!$editor_config->editor_skin) $editor_config->editor_skin = 'xpresseditor';
|
if(!$editor_config->editor_skin) $editor_config->editor_skin = 'xpresseditor';
|
||||||
if(!$editor_config->comment_editor_skin) $editor_config->comment_editor_skin = 'xpresseditor';
|
if(!$editor_config->comment_editor_skin) $editor_config->comment_editor_skin = 'xpresseditor';
|
||||||
//if(!$editor_config->content_style) $editor_config->content_style = 'xeStyle';
|
if(!$editor_config->content_style) $editor_config->content_style = 'default';
|
||||||
|
|
||||||
return $editor_config;
|
return $editor_config;
|
||||||
}
|
}
|
||||||
|
|
@ -67,14 +67,16 @@
|
||||||
else $allow_fileupload = true;
|
else $allow_fileupload = true;
|
||||||
|
|
||||||
// content_style 세팅
|
// content_style 세팅
|
||||||
if(!$option->content_style) $option->content_style = 'xeStyle';
|
if(!$option->content_style) $option->content_style = 'default';
|
||||||
Context::set('content_style', $option->content_style);
|
Context::set('content_style', $option->content_style);
|
||||||
|
|
||||||
// 기본 글꼴 지정
|
// 기본 글꼴 지정
|
||||||
Context::set('content_font', $option->content_font);
|
Context::set('content_font', $option->content_font);
|
||||||
|
Context::set('content_font_size', $option->content_font_size);
|
||||||
|
|
||||||
// 자동 저장 유무 옵션 설정
|
// 자동 저장 유무 옵션 설정 글 수정시는 사용 안함
|
||||||
if(!$option->enable_autosave) $enable_autosave = false;
|
if(!$option->enable_autosave) $enable_autosave = false;
|
||||||
|
elseif(Context::get($option->primary_key_name)) $enable_autosave = false;
|
||||||
else $enable_autosave = true;
|
else $enable_autosave = true;
|
||||||
|
|
||||||
// 기본 에디터 컴포넌트 사용 설정
|
// 기본 에디터 컴포넌트 사용 설정
|
||||||
|
|
@ -203,6 +205,9 @@
|
||||||
}
|
}
|
||||||
Context::set('editor_path', $tpl_path);
|
Context::set('editor_path', $tpl_path);
|
||||||
|
|
||||||
|
// load editor skin lang
|
||||||
|
Context::loadLang($tpl_path.'lang');
|
||||||
|
|
||||||
// tpl 파일을 compile한 결과를 return
|
// tpl 파일을 compile한 결과를 return
|
||||||
$oTemplate = new TemplateHandler();
|
$oTemplate = new TemplateHandler();
|
||||||
return $oTemplate->compile($tpl_path, $tpl_file);
|
return $oTemplate->compile($tpl_path, $tpl_file);
|
||||||
|
|
@ -224,6 +229,7 @@
|
||||||
$config->editor_skin = $editor_config->editor_skin;
|
$config->editor_skin = $editor_config->editor_skin;
|
||||||
$config->content_style = $editor_config->content_style;
|
$config->content_style = $editor_config->content_style;
|
||||||
$config->content_font = $editor_config->content_font;
|
$config->content_font = $editor_config->content_font;
|
||||||
|
$config->content_font_size = $editor_config->content_font_size;
|
||||||
$config->sel_editor_colorset = $editor_config->sel_editor_colorset;
|
$config->sel_editor_colorset = $editor_config->sel_editor_colorset;
|
||||||
$config->upload_file_grant = $editor_config->upload_file_grant;
|
$config->upload_file_grant = $editor_config->upload_file_grant;
|
||||||
$config->enable_default_component_grant = $editor_config->enable_default_component_grant;
|
$config->enable_default_component_grant = $editor_config->enable_default_component_grant;
|
||||||
|
|
@ -235,6 +241,7 @@
|
||||||
$config->editor_skin = $editor_config->comment_editor_skin;
|
$config->editor_skin = $editor_config->comment_editor_skin;
|
||||||
$config->content_style = $editor_config->content_style;
|
$config->content_style = $editor_config->content_style;
|
||||||
$config->content_font = $editor_config->content_font;
|
$config->content_font = $editor_config->content_font;
|
||||||
|
$config->content_font_size = $editor_config->content_font_size;
|
||||||
$config->sel_editor_colorset = $editor_config->sel_comment_editor_colorset;
|
$config->sel_editor_colorset = $editor_config->sel_comment_editor_colorset;
|
||||||
$config->upload_file_grant = $editor_config->comment_upload_file_grant;
|
$config->upload_file_grant = $editor_config->comment_upload_file_grant;
|
||||||
$config->enable_default_component_grant = $editor_config->enable_comment_default_component_grant;
|
$config->enable_default_component_grant = $editor_config->enable_comment_default_component_grant;
|
||||||
|
|
@ -256,6 +263,7 @@
|
||||||
$option->skin = $config->editor_skin;
|
$option->skin = $config->editor_skin;
|
||||||
$option->content_style = $config->content_style;
|
$option->content_style = $config->content_style;
|
||||||
$option->content_font = $config->content_font;
|
$option->content_font = $config->content_font;
|
||||||
|
$option->content_font_size = $config->content_font_size;
|
||||||
$option->colorset = $config->sel_editor_colorset;
|
$option->colorset = $config->sel_editor_colorset;
|
||||||
|
|
||||||
// 파일 업로드 권한 체크
|
// 파일 업로드 권한 체크
|
||||||
|
|
@ -329,6 +337,12 @@
|
||||||
} else {
|
} else {
|
||||||
$auto_save_args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
$auto_save_args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
||||||
}
|
}
|
||||||
|
$auto_save_args->module_srl = Context::get('module_srl');
|
||||||
|
// module_srl이 없으면 현재 모듈
|
||||||
|
if(!$auto_save_args->module_srl) {
|
||||||
|
$current_module_info = Context::get('current_module_info');
|
||||||
|
$auto_save_args->module_srl = $current_module_info->module_srl;
|
||||||
|
}
|
||||||
|
|
||||||
// DB에서 자동저장 데이터 추출
|
// DB에서 자동저장 데이터 추출
|
||||||
$output = executeQuery('editor.getSavedDocument', $auto_save_args);
|
$output = executeQuery('editor.getSavedDocument', $auto_save_args);
|
||||||
|
|
@ -344,16 +358,16 @@
|
||||||
|
|
||||||
// 자동저장 데이터에 문서번호가 있고 이 번호에 파일이 있다면 파일을 모두 이동하고
|
// 자동저장 데이터에 문서번호가 있고 이 번호에 파일이 있다면 파일을 모두 이동하고
|
||||||
// 해당 문서 번호를 editor_sequence로 세팅함
|
// 해당 문서 번호를 editor_sequence로 세팅함
|
||||||
if($saved_doc->document_srl) {
|
if($saved_doc->document_srl && $upload_target_srl && !Context::get('document_srl')) {
|
||||||
$module_srl = Context::get('module_srl');
|
$saved_doc->module_srl = $auto_save_args->module_srl;
|
||||||
$oFileController = &getController('file');
|
$oFileController = &getController('file');
|
||||||
$oFileController->moveFile($saved_doc->document_srl, $module_srl, $upload_target_srl);
|
$oFileController->moveFile($saved_doc->document_srl, $saved_doc->module_srl, $upload_target_srl);
|
||||||
}
|
}
|
||||||
$saved_doc->document_srl = $upload_target_srl;
|
else if($upload_target_srl) $saved_doc->document_srl = $upload_target_srl;
|
||||||
|
|
||||||
// 자동 저장 데이터 변경
|
// 자동 저장 데이터 변경
|
||||||
$oEditorController = &getController('editor');
|
$oEditorController = &getController('editor');
|
||||||
$oEditorController->deleteSavedDoc();
|
$oEditorController->deleteSavedDoc(false);
|
||||||
$oEditorController->doSaveDoc($saved_doc);
|
$oEditorController->doSaveDoc($saved_doc);
|
||||||
|
|
||||||
return $saved_doc;
|
return $saved_doc;
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
$lang->component_grant = 'Permission Setting';
|
$lang->component_grant = 'Permission Setting';
|
||||||
$lang->content_style = 'Content Style';
|
$lang->content_style = 'Content Style';
|
||||||
$lang->content_font = 'Content Font';
|
$lang->content_font = 'Content Font';
|
||||||
|
$lang->content_font_size = 'Content Font Size';
|
||||||
|
|
||||||
$lang->about_component = 'About component';
|
$lang->about_component = 'About component';
|
||||||
$lang->about_component_grant = 'Selected group(s) will be able to use expanded components of editor.<br />(Leave them blank if you want all groups to have permission)';
|
$lang->about_component_grant = 'Selected group(s) will be able to use expanded components of editor.<br />(Leave them blank if you want all groups to have permission)';
|
||||||
|
|
@ -43,8 +44,9 @@
|
||||||
$lang->editor_height = 'Height of Editor';
|
$lang->editor_height = 'Height of Editor';
|
||||||
|
|
||||||
$lang->about_editor_skin = 'You may select the skin of editor.';
|
$lang->about_editor_skin = 'You may select the skin of editor.';
|
||||||
$lang->about_content_style = '문서 편집 및 내용 출력시 원하는 서식을 지정할 수 있습니다';
|
$lang->about_content_style = 'You may select style for editting article or displaying content';
|
||||||
$lang->about_content_font = '문서 편집 및 내용 출력시 원하는 폰트를 지정할 수 있습니다.<br/>지정하지 않으면 사용자 설정에 따르게 됩니다<br/> ,(콤마)로 여러 폰트를 지정할 수 있습니다.';
|
$lang->about_content_font = 'You may select font for editting article or displaying content.<br/>Default font is your own font<br/> Please use comma(,) for multiple input.';
|
||||||
|
$lang->about_content_font_size = 'You may select font size for editting article or displaying content.<br/>Please input units such as px or em.';
|
||||||
$lang->about_upload_file_grant = 'Selected group(s) will be able to upload files. (Leave them blank if you want all groups to have permission)';
|
$lang->about_upload_file_grant = 'Selected group(s) will be able to upload files. (Leave them blank if you want all groups to have permission)';
|
||||||
$lang->about_default_component_grant = 'Selected group(s) will be able to use default components of editor. (Leave them blank if you want all groups to have permission)';
|
$lang->about_default_component_grant = 'Selected group(s) will be able to use default components of editor. (Leave them blank if you want all groups to have permission)';
|
||||||
$lang->about_editor_height = 'You may set the height of editor.';
|
$lang->about_editor_height = 'You may set the height of editor.';
|
||||||
|
|
@ -154,67 +156,69 @@
|
||||||
$lang->edit->hyperlink = 'Hyperlink';
|
$lang->edit->hyperlink = 'Hyperlink';
|
||||||
$lang->edit->target_blank = 'New Window';
|
$lang->edit->target_blank = 'New Window';
|
||||||
|
|
||||||
$lang->edit->quotestyle1 = '왼쪽 실선';
|
$lang->edit->quotestyle1 = 'Left Solid';
|
||||||
$lang->edit->quotestyle2 = '인용부호';
|
$lang->edit->quotestyle2 = 'Quote';
|
||||||
$lang->edit->quotestyle3 = '실선';
|
$lang->edit->quotestyle3 = 'Solid';
|
||||||
$lang->edit->quotestyle4 = '실선 + 배경';
|
$lang->edit->quotestyle4 = 'Solid + Background';
|
||||||
$lang->edit->quotestyle5 = '굵은 실선';
|
$lang->edit->quotestyle5 = 'Bold Solid';
|
||||||
$lang->edit->quotestyle6 = '점선';
|
$lang->edit->quotestyle6 = 'Dotted';
|
||||||
$lang->edit->quotestyle7 = '점선 + 배경';
|
$lang->edit->quotestyle7 = 'Dotted + Background';
|
||||||
$lang->edit->quotestyle8 = '적용 취소';
|
$lang->edit->quotestyle8 = 'Cancel';
|
||||||
|
|
||||||
|
|
||||||
$lang->edit->jumptoedit = '편집 도구모음 건너뛰기';
|
$lang->edit->jumptoedit = 'Skip Edit Toolbox';
|
||||||
$lang->edit->set_sel = '칸 수 지정';
|
$lang->edit->set_sel = 'Set Cell Count';
|
||||||
$lang->edit->row = '행';
|
$lang->edit->row = 'Row';
|
||||||
$lang->edit->col = '열';
|
$lang->edit->col = 'Column';
|
||||||
$lang->edit->add_one_row = '1행추가';
|
$lang->edit->add_one_row = 'Add 1 Row';
|
||||||
$lang->edit->del_one_row = '1행삭제';
|
$lang->edit->del_one_row = 'Remove 1 Row';
|
||||||
$lang->edit->add_one_col = '1열추가';
|
$lang->edit->add_one_col = 'Add 1 Column';
|
||||||
$lang->edit->del_one_col = '1열삭제';
|
$lang->edit->del_one_col = 'Remove 1 Column';
|
||||||
|
|
||||||
$lang->edit->table_config = '표 속성 지정';
|
$lang->edit->table_config = 'Table Config';
|
||||||
$lang->edit->border_width = '테두리 굵기';
|
$lang->edit->border_width = 'Border Width';
|
||||||
$lang->edit->border_color = '테두리 색';
|
$lang->edit->border_color = 'Border Color';
|
||||||
$lang->edit->add = '더하기';
|
$lang->edit->add = 'Add';
|
||||||
$lang->edit->del = '빼기';
|
$lang->edit->del = 'Sub';
|
||||||
$lang->edit->search_color = '색상찾기';
|
$lang->edit->search_color = 'Search Colors';
|
||||||
$lang->edit->table_backgroundcolor = '표 배경색';
|
$lang->edit->table_backgroundcolor = 'Table Background Color';
|
||||||
$lang->edit->special_character = '특수문자';
|
$lang->edit->special_character = 'Special Characters';
|
||||||
$lang->edit->insert_special_character = '특수문자 삽입';
|
$lang->edit->insert_special_character = 'Insert Special Characters';
|
||||||
$lang->edit->close_special_character = '특수문자 레이어 닫기';
|
$lang->edit->close_special_character = 'Close Special Characters Layer';
|
||||||
$lang->edit->symbol = '일반기호';
|
$lang->edit->symbol = 'Symbols';
|
||||||
$lang->edit->number_unit = '숫자와 단위';
|
$lang->edit->number_unit = 'Numbers and Units';
|
||||||
$lang->edit->circle_bracket = '원,괄호';
|
$lang->edit->circle_bracket = 'Circles, Brackets';
|
||||||
$lang->edit->korean = 'Korean';
|
$lang->edit->korean = 'Korean';
|
||||||
$lang->edit->greece = 'Greek';
|
$lang->edit->greece = 'Greek';
|
||||||
$lang->edit->Latin = 'Latin';
|
$lang->edit->Latin = 'Latin';
|
||||||
$lang->edit->japan = 'Japanese';
|
$lang->edit->japan = 'Japanese';
|
||||||
$lang->edit->selected_symbol = '선택한 기호';
|
$lang->edit->selected_symbol = 'Selected Symbols';
|
||||||
|
|
||||||
$lang->edit->search_replace = 'Find/Replace';
|
$lang->edit->search_replace = 'Find/Replace';
|
||||||
$lang->edit->close_search_replace = '찾기/바꾸기 레이어 닫기';
|
$lang->edit->close_search_replace = 'Close Find/Replace Layer';
|
||||||
$lang->edit->replace_all = 'Replace All';
|
$lang->edit->replace_all = 'Replace All';
|
||||||
$lang->edit->search_words = '찾을단어';
|
$lang->edit->search_words = 'Words to Find';
|
||||||
$lang->edit->replace_words = '바꿀단어';
|
$lang->edit->replace_words = 'Words to Replace';
|
||||||
$lang->edit->next_search_words = '다음찾기';
|
$lang->edit->next_search_words = 'Find Next';
|
||||||
$lang->edit->edit_height_control = '입력창 크기 조절';
|
$lang->edit->edit_height_control = 'Set Edit Form Size';
|
||||||
|
|
||||||
$lang->edit->merge_cells = 'Merge Table Cells';
|
$lang->edit->merge_cells = 'Merge Table Cells';
|
||||||
$lang->edit->split_row = '행 분할';
|
$lang->edit->split_row = 'Split Row';
|
||||||
$lang->edit->split_col = '열 분할';
|
$lang->edit->split_col = 'Split Column';
|
||||||
|
|
||||||
$lang->edit->toggle_list = '목록 접기/펼치기';
|
$lang->edit->toggle_list = 'Fold/Unfold';
|
||||||
$lang->edit->minimize_list = '최소화';
|
$lang->edit->minimize_list = 'Minimize';
|
||||||
|
|
||||||
$lang->edit->move = '이동';
|
$lang->edit->move = 'Move';
|
||||||
$lang->edit->materials = '글감보관함';
|
$lang->edit->materials = 'Materials';
|
||||||
$lang->edit->temporary_savings = '임시저장목록';
|
$lang->edit->temporary_savings = 'Temporary Saved List';
|
||||||
|
|
||||||
$lang->edit->drag_here = '글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
$lang->edit->drag_here = 'You can start writting with a selected paragraph from paragraph toolbar below.<br />If there is an article in temporary saved list, you can drag it to edit form.';
|
||||||
|
|
||||||
$lang->edit->paging_prev = '이전';
|
$lang->edit->paging_prev = 'Prev';
|
||||||
$lang->edit->paging_next = '다음';
|
$lang->edit->paging_next = 'Next';
|
||||||
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
$lang->edit->paging_prev_help = 'Move to previous page.';
|
||||||
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
$lang->edit->paging_next_help = 'Move to next page.';
|
||||||
|
|
||||||
|
$lang->edit->toc = 'Table of Contents';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
$lang->component_grant = 'Ajuste de las atribuciones';
|
$lang->component_grant = 'Ajuste de las atribuciones';
|
||||||
$lang->content_style = 'Content Style';
|
$lang->content_style = 'Content Style';
|
||||||
$lang->content_font = 'Content Font';
|
$lang->content_font = 'Content Font';
|
||||||
|
$lang->content_font_size = '문서 폰트 크기';
|
||||||
|
|
||||||
$lang->about_component = 'Presentación del componente';
|
$lang->about_component = 'Presentación del componente';
|
||||||
$lang->about_component_grant = 'Usted puede configurar el permiso de utilizar la ampliación de los componentes de editor.<br /> (Todo el mundo tendría permiso si no comprobado)';
|
$lang->about_component_grant = 'Usted puede configurar el permiso de utilizar la ampliación de los componentes de editor.<br /> (Todo el mundo tendría permiso si no comprobado)';
|
||||||
|
|
@ -45,6 +46,7 @@
|
||||||
$lang->about_editor_skin = 'Usted puede seleccionar la piel del editor.';
|
$lang->about_editor_skin = 'Usted puede seleccionar la piel del editor.';
|
||||||
$lang->about_content_style = '문서 편집 및 내용 출력시 원하는 서식을 지정할 수 있습니다';
|
$lang->about_content_style = '문서 편집 및 내용 출력시 원하는 서식을 지정할 수 있습니다';
|
||||||
$lang->about_content_font = '문서 편집 및 내용 출력시 원하는 폰트를 지정할 수 있습니다.<br/>지정하지 않으면 사용자 설정에 따르게 됩니다<br/> ,(콤마)로 여러 폰트를 지정할 수 있습니다.';
|
$lang->about_content_font = '문서 편집 및 내용 출력시 원하는 폰트를 지정할 수 있습니다.<br/>지정하지 않으면 사용자 설정에 따르게 됩니다<br/> ,(콤마)로 여러 폰트를 지정할 수 있습니다.';
|
||||||
|
$lang->about_content_font_size = '문서 편집 및 내용 출력시 원하는 폰트의 크기를 지정할 수 있습니다.<br/>12px, 1em등 단위까지 포함해서 입력해주세요.';
|
||||||
$lang->about_upload_file_grant = 'Usted puede configurar el permiso de archivo adjunto. (Todo el mundo tendría permiso si no comprobado)';
|
$lang->about_upload_file_grant = 'Usted puede configurar el permiso de archivo adjunto. (Todo el mundo tendría permiso si no comprobado)';
|
||||||
$lang->about_default_component_grant = 'Usted puede configurar el permiso de uso de los componentes de editor por defecto. (Todo el mundo tendría permiso si no comprobado)';
|
$lang->about_default_component_grant = 'Usted puede configurar el permiso de uso de los componentes de editor por defecto. (Todo el mundo tendría permiso si no comprobado)';
|
||||||
$lang->about_editor_height = 'Usted puede configurar la altura del editor.';
|
$lang->about_editor_height = 'Usted puede configurar la altura del editor.';
|
||||||
|
|
@ -207,10 +209,12 @@
|
||||||
$lang->edit->materials = '글감보관함';
|
$lang->edit->materials = '글감보관함';
|
||||||
$lang->edit->temporary_savings = '임시저장목록';
|
$lang->edit->temporary_savings = '임시저장목록';
|
||||||
|
|
||||||
$lang->edit->drag_here = '글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
$lang->edit->drag_here = '아래의 단락추가 툴바에서 원하는 유형의 단락을 추가해 글 쓰기를 시작하세요.<br />글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
||||||
|
|
||||||
$lang->edit->paging_prev = '이전';
|
$lang->edit->paging_prev = '이전';
|
||||||
$lang->edit->paging_next = '다음';
|
$lang->edit->paging_next = '다음';
|
||||||
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
||||||
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
||||||
|
|
||||||
|
$lang->edit->toc = '목차';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
$lang->component_grant = 'Configuration de la Permission';
|
$lang->component_grant = 'Configuration de la Permission';
|
||||||
$lang->content_style = 'Content Style';
|
$lang->content_style = 'Content Style';
|
||||||
$lang->content_font = 'Content Font';
|
$lang->content_font = 'Content Font';
|
||||||
|
$lang->content_font_size = '문서 폰트 크기';
|
||||||
|
|
||||||
$lang->about_component = 'Sur le Composant';
|
$lang->about_component = 'Sur le Composant';
|
||||||
$lang->about_component_grant = 'Vous pouvez configurer la Permission d\'utiliser des composants additionnels de l\'Editeur.<br /> (Tout le monde aura la Permission si vous ne cochez rien)';
|
$lang->about_component_grant = 'Vous pouvez configurer la Permission d\'utiliser des composants additionnels de l\'Editeur.<br /> (Tout le monde aura la Permission si vous ne cochez rien)';
|
||||||
|
|
@ -45,6 +46,7 @@
|
||||||
$lang->about_editor_skin = 'Vous pouvez choisir l\'habillage de l\'Editeur.';
|
$lang->about_editor_skin = 'Vous pouvez choisir l\'habillage de l\'Editeur.';
|
||||||
$lang->about_content_style = '문서 편집 및 내용 출력시 원하는 서식을 지정할 수 있습니다';
|
$lang->about_content_style = '문서 편집 및 내용 출력시 원하는 서식을 지정할 수 있습니다';
|
||||||
$lang->about_content_font = '문서 편집 및 내용 출력시 원하는 폰트를 지정할 수 있습니다.<br/>지정하지 않으면 사용자 설정에 따르게 됩니다<br/> ,(콤마)로 여러 폰트를 지정할 수 있습니다.';
|
$lang->about_content_font = '문서 편집 및 내용 출력시 원하는 폰트를 지정할 수 있습니다.<br/>지정하지 않으면 사용자 설정에 따르게 됩니다<br/> ,(콤마)로 여러 폰트를 지정할 수 있습니다.';
|
||||||
|
$lang->about_content_font_size = '문서 편집 및 내용 출력시 원하는 폰트의 크기를 지정할 수 있습니다.<br/>12px, 1em등 단위까지 포함해서 입력해주세요.';
|
||||||
$lang->about_upload_file_grant = 'Vous pouvez configurer la permission d\'attacher les fichiers. (Tout le monde aura la permission si vous ne cochez rien)';
|
$lang->about_upload_file_grant = 'Vous pouvez configurer la permission d\'attacher les fichiers. (Tout le monde aura la permission si vous ne cochez rien)';
|
||||||
$lang->about_default_component_grant = 'Vous pouvez configurer la permission d\'utiliser les Composants Par Défaut de l\'Editeur. (Tout le monde aura la permission si vous ne cochez rien)';
|
$lang->about_default_component_grant = 'Vous pouvez configurer la permission d\'utiliser les Composants Par Défaut de l\'Editeur. (Tout le monde aura la permission si vous ne cochez rien)';
|
||||||
$lang->about_editor_height = 'Vous pouvez configurer l\'hauteur de l\'Editeur.';
|
$lang->about_editor_height = 'Vous pouvez configurer l\'hauteur de l\'Editeur.';
|
||||||
|
|
@ -211,10 +213,12 @@
|
||||||
$lang->edit->materials = '글감보관함';
|
$lang->edit->materials = '글감보관함';
|
||||||
$lang->edit->temporary_savings = '임시저장목록';
|
$lang->edit->temporary_savings = '임시저장목록';
|
||||||
|
|
||||||
$lang->edit->drag_here = '글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
$lang->edit->drag_here = '아래의 단락추가 툴바에서 원하는 유형의 단락을 추가해 글 쓰기를 시작하세요.<br />글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
||||||
|
|
||||||
$lang->edit->paging_prev = '이전';
|
$lang->edit->paging_prev = '이전';
|
||||||
$lang->edit->paging_next = '다음';
|
$lang->edit->paging_next = '다음';
|
||||||
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
||||||
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
||||||
|
|
||||||
|
$lang->edit->toc = '목차';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
$lang->component_grant = '権限設定';
|
$lang->component_grant = '権限設定';
|
||||||
$lang->content_style = 'コンテンツスタイル';
|
$lang->content_style = 'コンテンツスタイル';
|
||||||
$lang->content_font = 'コンテンツフォント';
|
$lang->content_font = 'コンテンツフォント';
|
||||||
|
$lang->content_font_size = '문서 폰트 크기';
|
||||||
|
|
||||||
$lang->about_component = 'コンポーネント情報';
|
$lang->about_component = 'コンポーネント情報';
|
||||||
$lang->about_component_grant = '基本コンポーネント以外の拡張コンポーネント機能が利用可能な権限の設定が出来ます。<br />(選択なしの場合、誰でも利用可能)';
|
$lang->about_component_grant = '基本コンポーネント以外の拡張コンポーネント機能が利用可能な権限の設定が出来ます。<br />(選択なしの場合、誰でも利用可能)';
|
||||||
|
|
@ -45,6 +46,7 @@
|
||||||
$lang->about_editor_skin = 'エディターのスキンの選択が出来ます。';
|
$lang->about_editor_skin = 'エディターのスキンの選択が出来ます。';
|
||||||
$lang->about_content_style = 'コンテンツの編集、および内容表示の際のスタイルを指定します。';
|
$lang->about_content_style = 'コンテンツの編集、および内容表示の際のスタイルを指定します。';
|
||||||
$lang->about_content_font = 'コンテンツの編集、および内容表示の際のフォントを指定します。<br/>指定してない場合、ユーザーの設定を従います。<br/> 半角コンマ(,)区切りで複数フォントの登録が出来ます。';
|
$lang->about_content_font = 'コンテンツの編集、および内容表示の際のフォントを指定します。<br/>指定してない場合、ユーザーの設定を従います。<br/> 半角コンマ(,)区切りで複数フォントの登録が出来ます。';
|
||||||
|
$lang->about_content_font_size = '문서 편집 및 내용 출력시 원하는 폰트의 크기를 지정할 수 있습니다.<br/>12px, 1em등 단위까지 포함해서 입력해주세요.';
|
||||||
$lang->about_upload_file_grant = 'ファイル添付可能な権限の設定が出来ます。(選択なしの場合、誰でも添付が可能)';
|
$lang->about_upload_file_grant = 'ファイル添付可能な権限の設定が出来ます。(選択なしの場合、誰でも添付が可能)';
|
||||||
$lang->about_default_component_grant = 'エディターでの基本コンポーネントを使用可能な権限の設定が出来ます。(選択なしの場合、誰でも利用可能)';
|
$lang->about_default_component_grant = 'エディターでの基本コンポーネントを使用可能な権限の設定が出来ます。(選択なしの場合、誰でも利用可能)';
|
||||||
$lang->about_editor_height = 'エディターの基本高さを設定します。';
|
$lang->about_editor_height = 'エディターの基本高さを設定します。';
|
||||||
|
|
@ -83,7 +85,7 @@
|
||||||
$lang->edit->submit = '送信';
|
$lang->edit->submit = '送信';
|
||||||
|
|
||||||
$lang->edit->fontcolor = 'テキストの色';
|
$lang->edit->fontcolor = 'テキストの色';
|
||||||
$lang->edit->fontbgcolor = 'ハイライト カラー';
|
$lang->edit->fontbgcolor = 'テキストの背景色';
|
||||||
$lang->edit->bold = '太字';
|
$lang->edit->bold = '太字';
|
||||||
$lang->edit->italic = '斜体';
|
$lang->edit->italic = '斜体';
|
||||||
$lang->edit->underline = '下線';
|
$lang->edit->underline = '下線';
|
||||||
|
|
@ -175,7 +177,7 @@
|
||||||
$lang->edit->add_one_col = '1列追加';
|
$lang->edit->add_one_col = '1列追加';
|
||||||
$lang->edit->del_one_col = '1列削除';
|
$lang->edit->del_one_col = '1列削除';
|
||||||
|
|
||||||
$lang->edit->table_config = '표属性の設定';
|
$lang->edit->table_config = 'テーブル属性の設定';
|
||||||
$lang->edit->border_width = '外枠太さ';
|
$lang->edit->border_width = '外枠太さ';
|
||||||
$lang->edit->border_color = '外枠色';
|
$lang->edit->border_color = '外枠色';
|
||||||
$lang->edit->add = '挿入';
|
$lang->edit->add = '挿入';
|
||||||
|
|
@ -206,17 +208,19 @@
|
||||||
$lang->edit->split_row = '行の挿入';
|
$lang->edit->split_row = '行の挿入';
|
||||||
$lang->edit->split_col = '列の挿入';
|
$lang->edit->split_col = '列の挿入';
|
||||||
|
|
||||||
$lang->edit->toggle_list = '목록 접기/펼치기';
|
$lang->edit->toggle_list = 'リストを折りたたむ/展開する';
|
||||||
$lang->edit->minimize_list = '최소화';
|
$lang->edit->minimize_list = '最小化';
|
||||||
|
|
||||||
$lang->edit->move = '이동';
|
$lang->edit->move = '移動';
|
||||||
$lang->edit->materials = '글감보관함';
|
$lang->edit->materials = '文面テンプレート保存箱';
|
||||||
$lang->edit->temporary_savings = '임시저장목록';
|
$lang->edit->temporary_savings = '下書きリスト';
|
||||||
|
|
||||||
$lang->edit->drag_here = '글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
$lang->edit->drag_here = '下の段落追加ツールバーから、好きなタイプの段落を追加してから書き込みを始めて下さい。<br />文面テンプレート保存箱の中からここにドラッグ・アンド・ドロップ出来ます。';
|
||||||
|
|
||||||
$lang->edit->paging_prev = '이전';
|
$lang->edit->paging_prev = '前へ';
|
||||||
$lang->edit->paging_next = '다음';
|
$lang->edit->paging_next = '次へ';
|
||||||
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
$lang->edit->paging_prev_help = '前のページへ移動します。';
|
||||||
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
$lang->edit->paging_next_help = '次のページへ移動します。';
|
||||||
|
|
||||||
|
$lang->edit->toc = 'リスト';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
$lang->component_grant = '권한설정';
|
$lang->component_grant = '권한설정';
|
||||||
$lang->content_style = '문서 서식';
|
$lang->content_style = '문서 서식';
|
||||||
$lang->content_font = '문서 폰트';
|
$lang->content_font = '문서 폰트';
|
||||||
|
$lang->content_font_size = '문서 폰트 크기';
|
||||||
|
|
||||||
$lang->about_component = '컴포넌트 소개';
|
$lang->about_component = '컴포넌트 소개';
|
||||||
$lang->about_component_grant = '기본 컴포넌트외의 확장 컴포넌트 기능을 사용할 수 있는 권한을 지정할 수 있습니다.<br /> (모두 해제시 아무나 사용 가능합니다)';
|
$lang->about_component_grant = '기본 컴포넌트외의 확장 컴포넌트 기능을 사용할 수 있는 권한을 지정할 수 있습니다.<br /> (모두 해제시 아무나 사용 가능합니다)';
|
||||||
|
|
@ -45,6 +46,7 @@
|
||||||
$lang->about_editor_skin = '에디터 스킨을 선택하실 수 있습니다';
|
$lang->about_editor_skin = '에디터 스킨을 선택하실 수 있습니다';
|
||||||
$lang->about_content_style = '문서 편집 및 내용 출력시 원하는 서식을 지정할 수 있습니다';
|
$lang->about_content_style = '문서 편집 및 내용 출력시 원하는 서식을 지정할 수 있습니다';
|
||||||
$lang->about_content_font = '문서 편집 및 내용 출력시 원하는 폰트를 지정할 수 있습니다.<br/>지정하지 않으면 사용자 설정에 따르게 됩니다<br/> ,(콤마)로 여러 폰트를 지정할 수 있습니다.';
|
$lang->about_content_font = '문서 편집 및 내용 출력시 원하는 폰트를 지정할 수 있습니다.<br/>지정하지 않으면 사용자 설정에 따르게 됩니다<br/> ,(콤마)로 여러 폰트를 지정할 수 있습니다.';
|
||||||
|
$lang->about_content_font_size = '문서 편집 및 내용 출력시 원하는 폰트의 크기를 지정할 수 있습니다.<br/>12px, 1em등 단위까지 포함해서 입력해주세요.';
|
||||||
$lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다. (모두 해제 시 아무나 첨부 가능합니다)';
|
$lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다. (모두 해제 시 아무나 첨부 가능합니다)';
|
||||||
$lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제 시 아무나 사용 가능합니다)';
|
$lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제 시 아무나 사용 가능합니다)';
|
||||||
$lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다.';
|
$lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다.';
|
||||||
|
|
@ -210,13 +212,16 @@
|
||||||
$lang->edit->minimize_list = '최소화';
|
$lang->edit->minimize_list = '최소화';
|
||||||
|
|
||||||
$lang->edit->move = '이동';
|
$lang->edit->move = '이동';
|
||||||
|
$lang->edit->refresh = '새로고침';
|
||||||
$lang->edit->materials = '글감보관함';
|
$lang->edit->materials = '글감보관함';
|
||||||
$lang->edit->temporary_savings = '임시저장목록';
|
$lang->edit->temporary_savings = '임시저장목록';
|
||||||
|
|
||||||
$lang->edit->drag_here = '글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
$lang->edit->drag_here = '아래의 단락추가 툴바에서 원하는 유형의 단락을 추가해 글 쓰기를 시작하세요.<br />글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
||||||
|
|
||||||
$lang->edit->paging_prev = '이전';
|
$lang->edit->paging_prev = '이전';
|
||||||
$lang->edit->paging_next = '다음';
|
$lang->edit->paging_next = '다음';
|
||||||
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
||||||
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
||||||
|
|
||||||
|
$lang->edit->toc = '목차';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
$lang->component_grant = 'Настройки прав доступа';
|
$lang->component_grant = 'Настройки прав доступа';
|
||||||
$lang->content_style = 'Content Style';
|
$lang->content_style = 'Content Style';
|
||||||
$lang->content_font = 'Content Font';
|
$lang->content_font = 'Content Font';
|
||||||
|
$lang->content_font_size = '문서 폰트 크기';
|
||||||
|
|
||||||
$lang->about_component = 'О компоненте';
|
$lang->about_component = 'О компоненте';
|
||||||
$lang->about_component_grant = 'Только выбранным группам позволено использование.<br /> (Каждый может использовать его, если режим выключен)';
|
$lang->about_component_grant = 'Только выбранным группам позволено использование.<br /> (Каждый может использовать его, если режим выключен)';
|
||||||
|
|
@ -45,6 +46,7 @@
|
||||||
$lang->about_editor_skin = '에디터 스킨을 선택하실 수 있습니다';
|
$lang->about_editor_skin = '에디터 스킨을 선택하실 수 있습니다';
|
||||||
$lang->about_content_style = '문서 편집 및 내용 출력시 원하는 서식을 지정할 수 있습니다';
|
$lang->about_content_style = '문서 편집 및 내용 출력시 원하는 서식을 지정할 수 있습니다';
|
||||||
$lang->about_content_font = '문서 편집 및 내용 출력시 원하는 폰트를 지정할 수 있습니다.<br/>지정하지 않으면 사용자 설정에 따르게 됩니다<br/> ,(콤마)로 여러 폰트를 지정할 수 있습니다.';
|
$lang->about_content_font = '문서 편집 및 내용 출력시 원하는 폰트를 지정할 수 있습니다.<br/>지정하지 않으면 사용자 설정에 따르게 됩니다<br/> ,(콤마)로 여러 폰트를 지정할 수 있습니다.';
|
||||||
|
$lang->about_content_font_size = '문서 편집 및 내용 출력시 원하는 폰트의 크기를 지정할 수 있습니다.<br/>12px, 1em등 단위까지 포함해서 입력해주세요.';
|
||||||
$lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다 (모두 해제시 아무나 첨부 가능합니다)';
|
$lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다 (모두 해제시 아무나 첨부 가능합니다)';
|
||||||
$lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)';
|
$lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)';
|
||||||
$lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다';
|
$lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다';
|
||||||
|
|
@ -207,10 +209,12 @@
|
||||||
$lang->edit->materials = '글감보관함';
|
$lang->edit->materials = '글감보관함';
|
||||||
$lang->edit->temporary_savings = '임시저장목록';
|
$lang->edit->temporary_savings = '임시저장목록';
|
||||||
|
|
||||||
$lang->edit->drag_here = '글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
$lang->edit->drag_here = '아래의 단락추가 툴바에서 원하는 유형의 단락을 추가해 글 쓰기를 시작하세요.<br />글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
||||||
|
|
||||||
$lang->edit->paging_prev = '이전';
|
$lang->edit->paging_prev = '이전';
|
||||||
$lang->edit->paging_next = '다음';
|
$lang->edit->paging_next = '다음';
|
||||||
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
||||||
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
||||||
|
|
||||||
|
$lang->edit->toc = '목차';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
$lang->component_grant = '权限设置';
|
$lang->component_grant = '权限设置';
|
||||||
$lang->content_style = 'Content Style';
|
$lang->content_style = 'Content Style';
|
||||||
$lang->content_font = 'Content Font';
|
$lang->content_font = 'Content Font';
|
||||||
|
$lang->content_font_size = '문서 폰트 크기';
|
||||||
|
|
||||||
$lang->about_component = '组件简介';
|
$lang->about_component = '组件简介';
|
||||||
$lang->about_component_grant = '可以设置除默认组件外的扩展组件使用权限<br />(全部解除时任何用户都可以使用)。';
|
$lang->about_component_grant = '可以设置除默认组件外的扩展组件使用权限<br />(全部解除时任何用户都可以使用)。';
|
||||||
|
|
@ -45,6 +46,7 @@
|
||||||
$lang->about_editor_skin = '可以选择编辑器皮肤。';
|
$lang->about_editor_skin = '可以选择编辑器皮肤。';
|
||||||
$lang->about_content_style = '문서 편집 및 내용 출력시 원하는 서식을 지정할 수 있습니다';
|
$lang->about_content_style = '문서 편집 및 내용 출력시 원하는 서식을 지정할 수 있습니다';
|
||||||
$lang->about_content_font = '문서 편집 및 내용 출력시 원하는 폰트를 지정할 수 있습니다.<br/>지정하지 않으면 사용자 설정에 따르게 됩니다<br/> ,(콤마)로 여러 폰트를 지정할 수 있습니다.';
|
$lang->about_content_font = '문서 편집 및 내용 출력시 원하는 폰트를 지정할 수 있습니다.<br/>지정하지 않으면 사용자 설정에 따르게 됩니다<br/> ,(콤마)로 여러 폰트를 지정할 수 있습니다.';
|
||||||
|
$lang->about_content_font_size = '문서 편집 및 내용 출력시 원하는 폰트의 크기를 지정할 수 있습니다.<br/>12px, 1em등 단위까지 포함해서 입력해주세요.';
|
||||||
$lang->about_upload_file_grant = '可以设置上传文件的权限(全部解除为无限制)。';
|
$lang->about_upload_file_grant = '可以设置上传文件的权限(全部解除为无限制)。';
|
||||||
$lang->about_default_component_grant = '可以设置编辑器默认组件的使用权限(全部解除为无限制)。';
|
$lang->about_default_component_grant = '可以设置编辑器默认组件的使用权限(全部解除为无限制)。';
|
||||||
$lang->about_editor_height = '可以指定编辑器的默认高度。';
|
$lang->about_editor_height = '可以指定编辑器的默认高度。';
|
||||||
|
|
@ -213,10 +215,12 @@
|
||||||
$lang->edit->materials = '글감보관함';
|
$lang->edit->materials = '글감보관함';
|
||||||
$lang->edit->temporary_savings = '임시저장목록';
|
$lang->edit->temporary_savings = '임시저장목록';
|
||||||
|
|
||||||
$lang->edit->drag_here = '글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
$lang->edit->drag_here = '아래의 단락추가 툴바에서 원하는 유형의 단락을 추가해 글 쓰기를 시작하세요.<br />글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
||||||
|
|
||||||
$lang->edit->paging_prev = '이전';
|
$lang->edit->paging_prev = '이전';
|
||||||
$lang->edit->paging_next = '다음';
|
$lang->edit->paging_next = '다음';
|
||||||
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
||||||
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
||||||
|
|
||||||
|
$lang->edit->toc = '목차';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
$lang->component_grant = '權限設置';
|
$lang->component_grant = '權限設置';
|
||||||
$lang->content_style = '內容樣式';
|
$lang->content_style = '內容樣式';
|
||||||
$lang->content_font = '內容字體';
|
$lang->content_font = '內容字體';
|
||||||
|
$lang->content_font_size = '문서 폰트 크기';
|
||||||
|
|
||||||
$lang->about_component = '組件簡介';
|
$lang->about_component = '組件簡介';
|
||||||
$lang->about_component_grant = '除預設組件外,可設置延伸組件的使用權限<br />(全部解除時,任何用戶都可使用)。';
|
$lang->about_component_grant = '除預設組件外,可設置延伸組件的使用權限<br />(全部解除時,任何用戶都可使用)。';
|
||||||
|
|
@ -45,6 +46,7 @@
|
||||||
$lang->about_editor_skin = '選擇編輯器面板。';
|
$lang->about_editor_skin = '選擇編輯器面板。';
|
||||||
$lang->about_content_style = '문서 편집 및 내용 출력시 원하는 서식을 지정할 수 있습니다';
|
$lang->about_content_style = '문서 편집 및 내용 출력시 원하는 서식을 지정할 수 있습니다';
|
||||||
$lang->about_content_font = '문서 편집 및 내용 출력시 원하는 폰트를 지정할 수 있습니다.<br/>지정하지 않으면 사용자 설정에 따르게 됩니다<br/> ,(콤마)로 여러 폰트를 지정할 수 있습니다.';
|
$lang->about_content_font = '문서 편집 및 내용 출력시 원하는 폰트를 지정할 수 있습니다.<br/>지정하지 않으면 사용자 설정에 따르게 됩니다<br/> ,(콤마)로 여러 폰트를 지정할 수 있습니다.';
|
||||||
|
$lang->about_content_font_size = '문서 편집 및 내용 출력시 원하는 폰트의 크기를 지정할 수 있습니다.<br/>12px, 1em등 단위까지 포함해서 입력해주세요.';
|
||||||
$lang->about_upload_file_grant = '設置上傳檔案的權限(全部解除為無限制)。';
|
$lang->about_upload_file_grant = '設置上傳檔案的權限(全部解除為無限制)。';
|
||||||
$lang->about_default_component_grant = '設置編輯器預設組件的使用權限(全部解除為無限制)。';
|
$lang->about_default_component_grant = '設置編輯器預設組件的使用權限(全部解除為無限制)。';
|
||||||
$lang->about_editor_height = '指定編輯器的預設高度。';
|
$lang->about_editor_height = '指定編輯器的預設高度。';
|
||||||
|
|
@ -214,10 +216,12 @@
|
||||||
$lang->edit->materials = '글감보관함';
|
$lang->edit->materials = '글감보관함';
|
||||||
$lang->edit->temporary_savings = '임시저장목록';
|
$lang->edit->temporary_savings = '임시저장목록';
|
||||||
|
|
||||||
$lang->edit->drag_here = '글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
$lang->edit->drag_here = '아래의 단락추가 툴바에서 원하는 유형의 단락을 추가해 글 쓰기를 시작하세요.<br />글감 보관함에 글이 있으면 이곳으로 끌어 넣기 할 수 있습니다.';
|
||||||
|
|
||||||
$lang->edit->paging_prev = '이전';
|
$lang->edit->paging_prev = '이전';
|
||||||
$lang->edit->paging_next = '다음';
|
$lang->edit->paging_next = '다음';
|
||||||
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
$lang->edit->paging_prev_help = '이전 페이지로 이동합니다.';
|
||||||
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
$lang->edit->paging_next_help = '다음 페이지로 이동합니다.';
|
||||||
|
|
||||||
|
$lang->edit->toc = '목차';
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,10 @@
|
||||||
<tables>
|
<tables>
|
||||||
<table name="editor_autosave" />
|
<table name="editor_autosave" />
|
||||||
</tables>
|
</tables>
|
||||||
|
<columns />
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="member_srl" var="member_srl" />
|
<condition operation="equal" column="module_srl" var="module_srl" />
|
||||||
<condition operation="equal" column="ipaddress" var="ipaddress" />
|
<condition operation="equal" column="member_srl" var="member_srl" pipe="and" />
|
||||||
|
<condition operation="equal" column="ipaddress" var="ipaddress" pipe="and" />
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
</tables>
|
</tables>
|
||||||
<columns />
|
<columns />
|
||||||
<conditions>
|
<conditions>
|
||||||
|
<condition operation="equal" column="module_srl" var="module_srl" />
|
||||||
<condition operation="equal" column="member_srl" var="member_srl" pipe="and" />
|
<condition operation="equal" column="member_srl" var="member_srl" pipe="and" />
|
||||||
<condition operation="equal" column="ipaddress" var="ipaddress" pipe="and" />
|
<condition operation="equal" column="ipaddress" var="ipaddress" pipe="and" />
|
||||||
</conditions>
|
</conditions>
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
<table name="editor_autosave" />
|
<table name="editor_autosave" />
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
|
<column name="module_srl" var="module_srl" />
|
||||||
<column name="member_srl" var="member_srl" />
|
<column name="member_srl" var="member_srl" />
|
||||||
<column name="ipaddress" var="ipaddress" />
|
<column name="ipaddress" var="ipaddress" />
|
||||||
<column name="document_srl" var="document_srl" />
|
<column name="document_srl" var="document_srl" />
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
<table name="editor_autosave">
|
<table name="editor_autosave">
|
||||||
<column name="member_srl" type="number" size="11" default="0" index="idx_member_srl" />
|
<column name="member_srl" type="number" size="11" default="0" index="idx_member_srl" />
|
||||||
<column name="ipaddress" type="varchar" size="128" index="idx_ipaddress" />
|
<column name="ipaddress" type="varchar" size="128" index="idx_ipaddress" />
|
||||||
|
<column name="module_srl" type="number" size="11" index="idx_module_srl" />
|
||||||
<column name="document_srl" type="number" size="11" default="0" notnull="notnull" />
|
<column name="document_srl" type="number" size="11" default="0" notnull="notnull" />
|
||||||
<column name="title" type="varchar" size="250" />
|
<column name="title" type="varchar" size="250" />
|
||||||
<column name="content" type="bigtext" notnull="notnull" />
|
<column name="content" type="bigtext" notnull="notnull" />
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
<!-- 자동저장용 폼 -->
|
<!-- 자동저장용 폼 -->
|
||||||
<!--@if($enable_autosave)-->
|
<!--@if($enable_autosave)-->
|
||||||
|
<input type="hidden" name="_saved_doc_srl" value="{$saved_doc->document_srl}" />
|
||||||
<input type="hidden" name="_saved_doc_title" value="{htmlspecialchars($saved_doc->title)}" />
|
<input type="hidden" name="_saved_doc_title" value="{htmlspecialchars($saved_doc->title)}" />
|
||||||
<input type="hidden" name="_saved_doc_content" value="{htmlspecialchars($saved_doc->content)}" />
|
<input type="hidden" name="_saved_doc_content" value="{htmlspecialchars($saved_doc->content)}" />
|
||||||
<input type="hidden" name="_saved_doc_message" value="{$lang->msg_load_saved_doc}" />
|
<input type="hidden" name="_saved_doc_message" value="{$lang->msg_load_saved_doc}" />
|
||||||
|
|
|
||||||
|
|
@ -51,13 +51,22 @@ function editorStart_fck(editor, element, editor_sequence, content_key, editor_h
|
||||||
if(typeof(fo_obj._saved_doc_title)!="undefined" ) { ///<< _saved_doc_title field가 없으면 자동저장 하지 않음
|
if(typeof(fo_obj._saved_doc_title)!="undefined" ) { ///<< _saved_doc_title field가 없으면 자동저장 하지 않음
|
||||||
var saved_title = fo_obj._saved_doc_title.value;
|
var saved_title = fo_obj._saved_doc_title.value;
|
||||||
var saved_content = fo_obj._saved_doc_content.value;
|
var saved_content = fo_obj._saved_doc_content.value;
|
||||||
|
var saved_srl = fo_obj._saved_doc_srl.value;
|
||||||
if(saved_title || saved_content) {
|
if(saved_title || saved_content) {
|
||||||
// 자동저장된 문서 활용여부를 물은 후 사용하지 않는다면 자동저장된 문서 삭제
|
// 자동저장된 문서 활용여부를 물은 후 사용하지 않는다면 자동저장된 문서 삭제
|
||||||
if(confirm(fo_obj._saved_doc_message.value)) {
|
if(confirm(fo_obj._saved_doc_message.value)) {
|
||||||
if(typeof(fo_obj.title)!='undefined') fo_obj.title.value = saved_title;
|
if(typeof(fo_obj.title)!='undefined') fo_obj.title.value = saved_title;
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
|
editorRelKeys[editor_sequence]['primary'].value = saved_srl;
|
||||||
setContent(editor_sequence,saved_content);
|
setContent(editor_sequence,saved_content);
|
||||||
}, 100);
|
}, 100);
|
||||||
|
xAddEventListener(window,"load",function() { var param = new Array();
|
||||||
|
param['editor_sequence'] = editor_sequence;
|
||||||
|
param['primary_key'] = primary_key;
|
||||||
|
param['mid'] = current_mid;
|
||||||
|
var response_tags = new Array("error","message","editor_sequence","key","title","content","document_srl");
|
||||||
|
exec_xml('editor',"procEditorLoadSavedDocument", param, null, response_tags);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
editorRemoveSavedDoc();
|
editorRemoveSavedDoc();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
/* Layout Selector */
|
/* Layout Selector */
|
||||||
.xpress-editor{ position:relative; background:transparent;}
|
.xpress-editor{ position:relative; background:transparent;}
|
||||||
.xpress-editor #smart_content{ position:relative; clear:both; margin:0 0 10px 0; border:1px solid #c2c2c2; *zoom:1; z-index:5; background:#fff;}
|
.xpress-editor #smart_content{ position:relative; clear:both; margin:0 0 10px 0; border:1px solid #c2c2c2; *zoom:1; z-index:5; background:#fff;}
|
||||||
|
.xpress-editor.black #smart_content {background:transparent;}
|
||||||
.xpress-editor #smart_footer{ position:relative; text-align:center; padding:10px 0;}
|
.xpress-editor #smart_footer{ position:relative; text-align:center; padding:10px 0;}
|
||||||
|
|
||||||
/* Footer */
|
/* Footer */
|
||||||
|
|
|
||||||
|
|
@ -4,16 +4,17 @@
|
||||||
<!--// 기본 JS 로드 -->
|
<!--// 기본 JS 로드 -->
|
||||||
<!--%import("../../tpl/js/editor_common.js")-->
|
<!--%import("../../tpl/js/editor_common.js")-->
|
||||||
|
|
||||||
<!--@if($colorset == "white_texteditor" || $colorset == "black_texteditor" || $colorset == "white_text_nohtml" || $colorset == "black_text_nohtml" || $colorset == "white_text_usehtml" || $colorset == "black_text_usehtml")-->
|
<!--@if($colorset == "black" || $colorset == "black_texteditor" || $colorset == "black_text_nohtml" || $colorset == "black_text_usehtml")-->
|
||||||
<!--%import("js/xe_textarea.js")-->
|
|
||||||
<!--@if($colorset == "black_texteditor" || $colorset == "black_text_nohtml" || $colorset == "black_text_usehtml")-->
|
|
||||||
<!--%import("css/black.css")-->
|
<!--%import("css/black.css")-->
|
||||||
{@ $editor_class = "black" }
|
{@ $editor_class = "black" }
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
|
<!--@if($colorset == "white_texteditor" || $colorset == "black_texteditor" || $colorset == "white_text_nohtml" || $colorset == "black_text_nohtml" || $colorset == "white_text_usehtml" || $colorset == "black_text_usehtml")-->
|
||||||
|
<!--%import("js/xe_textarea.js")-->
|
||||||
|
|
||||||
<div class="xeTextEditor {$editor_class}">
|
<div class="xeTextEditor {$editor_class}">
|
||||||
<input type="hidden" id="htm_{$editor_sequence}" value="<!--@if($colorset == "white_text_nohtml" || $colorset == "black_text_nohtml")-->n<!--@end--><!--@if($colorset == "white_texteditor" || $colorset == "white_texteditor")-->br<!--@end-->" />
|
<input type="hidden" id="htm_{$editor_sequence}" value="<!--@if($colorset == "white_text_nohtml" || $colorset == "black_text_nohtml")-->n<!--@end--><!--@if($colorset == "white_texteditor" || $colorset == "white_texteditor")-->br<!--@end-->" />
|
||||||
<textarea id="editor_{$editor_sequence}" style="height:{$editor_height}px;" cols="5" rows="50" class="inputTextarea"></textarea>
|
<textarea id="editor_{$editor_sequence}" style="height:{$editor_height}px;" cols="50" rows="5" class="inputTextarea"></textarea>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">//<![CDATA[
|
<script type="text/javascript">//<![CDATA[
|
||||||
editorStartTextarea({$editor_sequence}, "{$editor_content_key_name}", "{$editor_primary_key_name}");
|
editorStartTextarea({$editor_sequence}, "{$editor_content_key_name}", "{$editor_primary_key_name}");
|
||||||
|
|
@ -28,12 +29,13 @@
|
||||||
<!-- 자동저장용 폼 -->
|
<!-- 자동저장용 폼 -->
|
||||||
|
|
||||||
<!--@if($enable_autosave)-->
|
<!--@if($enable_autosave)-->
|
||||||
|
<input type="hidden" name="_saved_doc_srl" value="{$saved_doc->document_srl}" />
|
||||||
<input type="hidden" name="_saved_doc_title" value="{htmlspecialchars($saved_doc->title)}" />
|
<input type="hidden" name="_saved_doc_title" value="{htmlspecialchars($saved_doc->title)}" />
|
||||||
<input type="hidden" name="_saved_doc_content" value="{htmlspecialchars($saved_doc->content)}" />
|
<input type="hidden" name="_saved_doc_content" value="{htmlspecialchars($saved_doc->content)}" />
|
||||||
<input type="hidden" name="_saved_doc_message" value="{$lang->msg_load_saved_doc}" />
|
<input type="hidden" name="_saved_doc_message" value="{$lang->msg_load_saved_doc}" />
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
<!-- 에디터 -->
|
<!-- 에디터 -->
|
||||||
<div class="xpress-editor {$colorset}">
|
<div class="xpress-editor {$editor_class}">
|
||||||
<div id="smart_content"> <a href="#xe-editor-container-{$editor_sequence}" class="skip">» {$lang->edit->jumptoedit}</a>
|
<div id="smart_content"> <a href="#xe-editor-container-{$editor_sequence}" class="skip">» {$lang->edit->jumptoedit}</a>
|
||||||
|
|
||||||
<!--@if($enable_default_component||$enable_component||$html_mode)-->
|
<!--@if($enable_default_component||$enable_component||$html_mode)-->
|
||||||
|
|
@ -47,7 +49,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="type">
|
<ul class="type">
|
||||||
<li class="xpress_xeditor_ui_format">
|
<li class="xpress_xeditor_ui_format">
|
||||||
<select class="xpress_xeditor_ui_format_select" disabled="true">
|
<select class="xpress_xeditor_ui_format_select" disabled="disabled">
|
||||||
<option value="">{$lang->edit->header}</option>
|
<option value="">{$lang->edit->header}</option>
|
||||||
<!--@foreach($lang->edit->header_list as $key=>$obj)-->
|
<!--@foreach($lang->edit->header_list as $key=>$obj)-->
|
||||||
<option value="{$key}">{$obj}</option>
|
<option value="{$key}">{$obj}</option>
|
||||||
|
|
@ -55,7 +57,7 @@
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
<li class="xpress_xeditor_ui_fontName">
|
<li class="xpress_xeditor_ui_fontName">
|
||||||
<select class="xpress_xeditor_ui_fontName_select" disabled="true">
|
<select class="xpress_xeditor_ui_fontName_select" disabled="disabled">
|
||||||
<option value="">{$lang->edit->fontname}</option>
|
<option value="">{$lang->edit->fontname}</option>
|
||||||
<!--@foreach($lang->edit->fontlist as $key=>$obj)-->
|
<!--@foreach($lang->edit->fontlist as $key=>$obj)-->
|
||||||
<option value="{$key}" style="font-family:{$key}">{$obj}</option>
|
<option value="{$key}" style="font-family:{$key}">{$obj}</option>
|
||||||
|
|
@ -63,7 +65,7 @@
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
<li class="xpress_xeditor_ui_fontSize">
|
<li class="xpress_xeditor_ui_fontSize">
|
||||||
<select class="xpress_xeditor_ui_fontSize_select" disabled="true">
|
<select class="xpress_xeditor_ui_fontSize_select" disabled="disabled">
|
||||||
<option value="">{$lang->edit->fontsize}</option>
|
<option value="">{$lang->edit->fontsize}</option>
|
||||||
<option value="9px" style="font-size:9px">9px</option>
|
<option value="9px" style="font-size:9px">9px</option>
|
||||||
<option value="10px" style="font-size:10px">10px</option>
|
<option value="10px" style="font-size:10px">10px</option>
|
||||||
|
|
@ -78,7 +80,7 @@
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
<li class="xpress_xeditor_ui_lineHeight">
|
<li class="xpress_xeditor_ui_lineHeight">
|
||||||
<select class="xpress_xeditor_ui_lineHeight_select" disabled="true">
|
<select class="xpress_xeditor_ui_lineHeight_select" disabled="disabled">
|
||||||
<option value="">{$lang->edit->lineheight}</option>
|
<option value="">{$lang->edit->lineheight}</option>
|
||||||
<option value="1">100%</option>
|
<option value="1">100%</option>
|
||||||
<option value="1.2">120%</option>
|
<option value="1.2">120%</option>
|
||||||
|
|
@ -500,14 +502,14 @@
|
||||||
//]]></script>
|
//]]></script>
|
||||||
<!-- 파일 업로드 영역 -->
|
<!-- 파일 업로드 영역 -->
|
||||||
<div id="fileUploader_{$editor_sequence}" class="fileUploader">
|
<div id="fileUploader_{$editor_sequence}" class="fileUploader">
|
||||||
<div class="preview {$editor_class}" id="preview_uploaded_{$editor_sequence}"></div>
|
<div class="preview {$btn_class}" id="preview_uploaded_{$editor_sequence}"></div>
|
||||||
<div class="fileListArea {$editor_class}">
|
<div class="fileListArea {$btn_class}">
|
||||||
<select id="uploaded_file_list_{$editor_sequence}" multiple="multiple" class="fileList" title="Attached File List"><option></option></select>
|
<select id="uploaded_file_list_{$editor_sequence}" multiple="multiple" class="fileList" title="Attached File List"><option></option></select>
|
||||||
</div>
|
</div>
|
||||||
<div class="fileUploadControl">
|
<div class="fileUploadControl">
|
||||||
<span class="button {$editor_class}" id="swfUploadButton{$editor_sequence}"><button type="button">{$lang->edit->upload_file}</button></span>
|
<span class="button {$btn_class}" id="swfUploadButton{$editor_sequence}"><button type="button">{$lang->edit->upload_file}</button></span>
|
||||||
<span class="button {$editor_class}"><button type="button" onclick="removeUploadedFile('{$editor_sequence}');return false;">{$lang->edit->delete_selected}</button></span>
|
<span class="button {$btn_class}"><button type="button" onclick="removeUploadedFile('{$editor_sequence}');return false;">{$lang->edit->delete_selected}</button></span>
|
||||||
<span class="button {$editor_class}"><button type="button" onclick="insertUploadedFile('{$editor_sequence}');return false;">{$lang->edit->link_file}</button></span>
|
<span class="button {$btn_class}"><button type="button" onclick="insertUploadedFile('{$editor_sequence}');return false;">{$lang->edit->link_file}</button></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="file_attach_info" id="uploader_status_{$editor_sequence}">{$upload_status}</div>
|
<div class="file_attach_info" id="uploader_status_{$editor_sequence}">{$upload_status}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -517,7 +519,7 @@
|
||||||
<script type="text/javascript">//<![CDATA[
|
<script type="text/javascript">//<![CDATA[
|
||||||
var editor_path = "{$editor_path}";
|
var editor_path = "{$editor_path}";
|
||||||
var auto_saved_msg = "{$lang->msg_auto_saved}";
|
var auto_saved_msg = "{$lang->msg_auto_saved}";
|
||||||
var oEditor = editorStart_xe("{$editor_sequence}", "{$editor_primary_key_name}", "{$editor_content_key_name}", "{$editor_height}", "{$colorset}", "{$content_style}",'{$content_font}');
|
var oEditor = editorStart_xe("{$editor_sequence}", "{$editor_primary_key_name}", "{$editor_content_key_name}", "{$editor_height}", "{$colorset}", "{$content_style}",'{$content_font}','{$content_font_size}');
|
||||||
//]]></script>
|
//]]></script>
|
||||||
|
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
|
||||||
|
|
@ -3187,6 +3187,35 @@ xe.XE_EditingArea_WYSIWYG = jQuery.Class({
|
||||||
this._disableWYSIWYG();
|
this._disableWYSIWYG();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
$ON_EVENT_EDITING_AREA_KEYDOWN : function(oEvent) {
|
||||||
|
// ctrl-left/right add/remove indent
|
||||||
|
if(!oEvent.ctrlKey) return;
|
||||||
|
|
||||||
|
switch(oEvent.keyCode) {
|
||||||
|
// outdent
|
||||||
|
case 37 :
|
||||||
|
this.oApp.exec("EXECCOMMAND", ["outdent", false, false]);
|
||||||
|
break;
|
||||||
|
// indent
|
||||||
|
case 39 :
|
||||||
|
this.oApp.exec("EXECCOMMAND", ["indent", false, false]);
|
||||||
|
break;
|
||||||
|
// h1 ~ h6, normal
|
||||||
|
case 49 :
|
||||||
|
case 50 :
|
||||||
|
case 51 :
|
||||||
|
case 52 :
|
||||||
|
case 53 :
|
||||||
|
case 54 :
|
||||||
|
this.oApp.exec("EXECCOMMAND", ["FormatBlock", false, '<h'+(oEvent.keyCode-48)+'>']);
|
||||||
|
break;
|
||||||
|
default :
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
oEvent.preventDefault(); oEvent.stopPropagation();
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
$ON_EVENT_EDITING_AREA_KEYUP : function(oEvent){
|
$ON_EVENT_EDITING_AREA_KEYUP : function(oEvent){
|
||||||
// 33, 34: page up/down, 35,36: end/home, 37,38,39,40: left, up, right, down
|
// 33, 34: page up/down, 35,36: end/home, 37,38,39,40: left, up, right, down
|
||||||
if(oEvent.keyCode == 229 || oEvent.keyCode == 13 || oEvent.altKey || oEvent.ctrlKey || (oEvent.keyCode >= 33 && oEvent.keyCode <= 40) || oEvent.keyCode == 16) return;
|
if(oEvent.keyCode == 229 || oEvent.keyCode == 13 || oEvent.altKey || oEvent.ctrlKey || (oEvent.keyCode >= 33 && oEvent.keyCode <= 40) || oEvent.keyCode == 16) return;
|
||||||
|
|
@ -3294,13 +3323,9 @@ xe.XE_EditingArea_WYSIWYG = jQuery.Class({
|
||||||
|
|
||||||
_enableWYSIWYG : function(){
|
_enableWYSIWYG : function(){
|
||||||
if (jQuery.browser.msie){
|
if (jQuery.browser.msie){
|
||||||
var fake = jQuery('<input type="text" style="position:absolute;width:1px;height:1px;left:-9px">');
|
this.doc.body.disabled = true;
|
||||||
jQuery(document.body).prepend(fake);
|
|
||||||
fake.focus();
|
|
||||||
|
|
||||||
this.doc.body.contentEditable = true;
|
this.doc.body.contentEditable = true;
|
||||||
|
this.doc.body.removeAttribute('disabled');
|
||||||
setTimeout(function(){fake.remove()}, 100);
|
|
||||||
} else {
|
} else {
|
||||||
this.doc.designMode = "on";
|
this.doc.designMode = "on";
|
||||||
}
|
}
|
||||||
|
|
@ -5465,21 +5490,25 @@ xe.XE_XHTMLFormatter = $.Class({
|
||||||
|
|
||||||
|
|
||||||
// remove all useless styles
|
// remove all useless styles
|
||||||
|
/*
|
||||||
sContent = sContent.replace(regex_meanless_css1, function(m0,m1,m2,m3){
|
sContent = sContent.replace(regex_meanless_css1, function(m0,m1,m2,m3){
|
||||||
m2 = m2.replace(regex_meanless_css2, '');
|
m2 = m2.replace(regex_meanless_css2, '');
|
||||||
|
|
||||||
return '<'+m1+(m2?' style="'+m2+'"':'')+m3+'>';
|
return '<'+m1+(m2?' style="'+m2+'"':'')+m3+'>';
|
||||||
});
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
// remove all useless classes
|
// remove all useless classes
|
||||||
|
/*
|
||||||
sContent = sContent.replace(regex_class, function(m0,m1,m2,m3,m4,m5){
|
sContent = sContent.replace(regex_class, function(m0,m1,m2,m3,m4,m5){
|
||||||
var cls = jQuery.trim((m2 || m3 || m4 || "").replace(regex_class2, ''));
|
var cls = jQuery.trim((m2 || m3 || m4 || "").replace(regex_class2, ''));
|
||||||
|
|
||||||
return '<'+(m1||"")+(cls?' class="'+cls+'"':'')+(m5||"")+'>';
|
return '<'+(m1||"")+(cls?' class="'+cls+'"':'')+(m5||"")+'>';
|
||||||
});
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
// remove all event handler
|
// remove all event handler
|
||||||
sContent = sContent.replace(regex_handler, '<$1$2>');
|
//sContent = sContent.replace(regex_handler, '<$1$2>');
|
||||||
|
|
||||||
// remove all id
|
// remove all id
|
||||||
//sContent = sContent.replace(regex_id, '<$1$2>');
|
//sContent = sContent.replace(regex_id, '<$1$2>');
|
||||||
|
|
@ -5521,6 +5550,7 @@ xe.XE_XHTMLFormatter = $.Class({
|
||||||
return '<'+m2+' '+m3+'>';
|
return '<'+m2+' '+m3+'>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
if (replace_tags[m2]) {
|
if (replace_tags[m2]) {
|
||||||
stack.push({tag:m2, state:'deleted'});
|
stack.push({tag:m2, state:'deleted'});
|
||||||
|
|
||||||
|
|
@ -5602,6 +5632,7 @@ xe.XE_XHTMLFormatter = $.Class({
|
||||||
state = (jQuery.inArray(m2,allow_tags) < 0)?'deleted':'';
|
state = (jQuery.inArray(m2,allow_tags) < 0)?'deleted':'';
|
||||||
if (state == 'deleted') return '';
|
if (state == 'deleted') return '';
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
stack.push({tag:m2, state:state});
|
stack.push({tag:m2, state:state});
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -5737,8 +5768,11 @@ xe.XE_AutoSave = jQuery.Class({
|
||||||
},
|
},
|
||||||
|
|
||||||
$ON_MSG_APP_READY : function() {
|
$ON_MSG_APP_READY : function() {
|
||||||
|
var elSrl = jQuery(this.form._saved_doc_srl);
|
||||||
var elTitle = jQuery(this.form._saved_doc_title);
|
var elTitle = jQuery(this.form._saved_doc_title);
|
||||||
var elContent = jQuery(this.form._saved_doc_content);
|
var elContent = jQuery(this.form._saved_doc_content);
|
||||||
|
|
||||||
|
var doc_srl = jQuery.trim(elSrl.val());
|
||||||
var title = jQuery.trim(elTitle.val());
|
var title = jQuery.trim(elTitle.val());
|
||||||
var content = jQuery.trim(elContent.val());
|
var content = jQuery.trim(elContent.val());
|
||||||
|
|
||||||
|
|
@ -5746,6 +5780,7 @@ xe.XE_AutoSave = jQuery.Class({
|
||||||
if (confirm(this.form._saved_doc_message.value)) {
|
if (confirm(this.form._saved_doc_message.value)) {
|
||||||
jQuery(this.form.title).val(title);
|
jQuery(this.form.title).val(title);
|
||||||
this.oApp.setIR(content);
|
this.oApp.setIR(content);
|
||||||
|
if(typeof(editorGetAutoSavedDoc) == 'function') editorGetAutoSavedDoc(this.form);
|
||||||
} else {
|
} else {
|
||||||
editorRemoveSavedDoc();
|
editorRemoveSavedDoc();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,11 @@ if (!window.xe) xe = {};
|
||||||
|
|
||||||
xe.Editors = [];
|
xe.Editors = [];
|
||||||
|
|
||||||
function editorStart_xe(editor_sequence, primary_key, content_key, editor_height, colorset, content_style, content_font) {
|
function editorStart_xe(editor_sequence, primary_key, content_key, editor_height, colorset, content_style, content_font, content_font_size) {
|
||||||
if(typeof(colorset)=='undefined') colorset = 'white';
|
if(typeof(colorset)=='undefined') colorset = 'white';
|
||||||
if(typeof(content_style)=='undefined') content_style = 'xeStyle';
|
if(typeof(content_style)=='undefined') content_style = 'xeStyle';
|
||||||
if(typeof(content_font)=='undefined') content_font= '';
|
if(typeof(content_font)=='undefined') content_font= '';
|
||||||
|
if(typeof(content_font_size)=='undefined') content_font_size= '';
|
||||||
|
|
||||||
var target_src = request_uri+'modules/editor/styles/'+content_style+'/editor.html';
|
var target_src = request_uri+'modules/editor/styles/'+content_style+'/editor.html';
|
||||||
|
|
||||||
|
|
@ -54,6 +55,7 @@ function editorStart_xe(editor_sequence, primary_key, content_key, editor_height
|
||||||
oEditor.getFrame = function(){ return oWYSIWYGIFrame;}
|
oEditor.getFrame = function(){ return oWYSIWYGIFrame;}
|
||||||
|
|
||||||
var content = form[content_key].value;
|
var content = form[content_key].value;
|
||||||
|
if(xFF && !content) content = '<p> </p>';
|
||||||
|
|
||||||
// src, href, url의 XE 상대경로를 http로 시작하는 full path로 변경
|
// src, href, url의 XE 상대경로를 http로 시작하는 full path로 변경
|
||||||
content = content.replace(/(src=|href=|url\()("|\')*([^"\'\)]+)("|\'|\))*(\s|>)*/ig, function(m0,m1,m2,m3,m4,m5) {
|
content = content.replace(/(src=|href=|url\()("|\')*([^"\'\)]+)("|\'|\))*(\s|>)*/ig, function(m0,m1,m2,m3,m4,m5) {
|
||||||
|
|
@ -150,6 +152,9 @@ function editorStart_xe(editor_sequence, primary_key, content_key, editor_height
|
||||||
if(content_font && !doc.body.style.fontFamily) {
|
if(content_font && !doc.body.style.fontFamily) {
|
||||||
doc.body.style.fontFamily = content_font;
|
doc.body.style.fontFamily = content_font;
|
||||||
}
|
}
|
||||||
|
if(content_font_size && !doc.body.style.fontSize) {
|
||||||
|
doc.body.style.fontSize = content_font_size;
|
||||||
|
}
|
||||||
|
|
||||||
// run
|
// run
|
||||||
oEditor.run();
|
oEditor.run();
|
||||||
|
|
@ -168,7 +173,10 @@ function editorGetContentTextarea_xe(editor_sequence) {
|
||||||
|
|
||||||
if (!oEditor) return '';
|
if (!oEditor) return '';
|
||||||
|
|
||||||
return oEditor.getIR();
|
var str = oEditor.getIR();
|
||||||
|
if(!jQuery.trim(str.replace(/( |<\/?(p|br|span|div)([^>]+)?>)/ig, ''))) return '';
|
||||||
|
|
||||||
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
function editorGetIframe(srl) {
|
function editorGetIframe(srl) {
|
||||||
|
|
@ -188,6 +196,18 @@ function editorReplaceHTML(iframe_obj, content) {
|
||||||
editorRelKeys[srl]["pasteHTML"](content);
|
editorRelKeys[srl]["pasteHTML"](content);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function editorGetAutoSavedDoc(form) {
|
||||||
|
var param = new Array();
|
||||||
|
param['mid'] = current_mid;
|
||||||
|
param['editor_sequence'] = form.getAttribute('editor_sequence')
|
||||||
|
setTimeout(function() {
|
||||||
|
var response_tags = new Array("error","message","editor_sequence","title","content","document_srl");
|
||||||
|
exec_xml('editor',"procEditorLoadSavedDocument", param, function(a,b,c) { editorRelKeys[param['editor_sequence']]['primary'].value = a['document_srl']; if(typeof(uploadSettingObj[param['editor_sequence']]) == 'object') editorUploadInit(uploadSettingObj[param['editor_sequence']], true); }, response_tags);
|
||||||
|
|
||||||
|
}, 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// WYSIWYG 모드를 저장하는 확장기능
|
// WYSIWYG 모드를 저장하는 확장기능
|
||||||
xe.XE_GET_WYSYWYG_MODE = jQuery.Class({
|
xe.XE_GET_WYSYWYG_MODE = jQuery.Class({
|
||||||
name : "XE_GET_WYSYWYG_MODE",
|
name : "XE_GET_WYSYWYG_MODE",
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@
|
||||||
|
|
||||||
<!-- 자동저장용 폼 -->
|
<!-- 자동저장용 폼 -->
|
||||||
<!--@if($enable_autosave)-->
|
<!--@if($enable_autosave)-->
|
||||||
|
<input type="hidden" name="_saved_doc_srl" value="{$saved_doc->document_srl}" />
|
||||||
<input type="hidden" name="_saved_doc_title" value="{htmlspecialchars($saved_doc->title)}" />
|
<input type="hidden" name="_saved_doc_title" value="{htmlspecialchars($saved_doc->title)}" />
|
||||||
<input type="hidden" name="_saved_doc_content" value="{htmlspecialchars($saved_doc->content)}" />
|
<input type="hidden" name="_saved_doc_content" value="{htmlspecialchars($saved_doc->content)}" />
|
||||||
<input type="hidden" name="_saved_doc_message" value="{$lang->msg_load_saved_doc}" />
|
<input type="hidden" name="_saved_doc_message" value="{$lang->msg_load_saved_doc}" />
|
||||||
|
|
@ -77,7 +78,7 @@
|
||||||
<select id="uploaded_file_list_{$editor_sequence}" multiple="multiple" size="5" class="fileList"></select>
|
<select id="uploaded_file_list_{$editor_sequence}" multiple="multiple" size="5" class="fileList"></select>
|
||||||
</div>
|
</div>
|
||||||
<div class="fileUploadControl">
|
<div class="fileUploadControl">
|
||||||
<span id="swfUploadButton{$editor_sequence}"><span class="button"><button type="button">{$lang->edit->upload_file}</button></span></span>
|
<span id="swfUploadButton{$editor_sequence}" style="display : block; float:left;"><span class="button"><button type="button">{$lang->edit->upload_file}</button></span></span>
|
||||||
<a href="#" onclick="removeUploadedFile('{$editor_sequence}');return false;" class="button"><span>{$lang->edit->delete_selected}</span></a>
|
<a href="#" onclick="removeUploadedFile('{$editor_sequence}');return false;" class="button"><span>{$lang->edit->delete_selected}</span></a>
|
||||||
<a href="#" onclick="insertUploadedFile('{$editor_sequence}');return false;" class="button"><span>{$lang->edit->link_file}</span></a>
|
<a href="#" onclick="insertUploadedFile('{$editor_sequence}');return false;" class="button"><span>{$lang->edit->link_file}</span></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -46,12 +46,21 @@ function editorStart_xq(editor, element, editor_sequence, content_key, editor_he
|
||||||
|
|
||||||
var saved_title = fo_obj._saved_doc_title.value;
|
var saved_title = fo_obj._saved_doc_title.value;
|
||||||
var saved_content = fo_obj._saved_doc_content.value;
|
var saved_content = fo_obj._saved_doc_content.value;
|
||||||
|
var saved_srl = fo_obj._saved_doc_srl.value;
|
||||||
|
|
||||||
if(saved_title || saved_content) {
|
if(saved_title || saved_content) {
|
||||||
// 자동저장된 문서 활용여부를 물은 후 사용하지 않는다면 자동저장된 문서 삭제
|
// 자동저장된 문서 활용여부를 물은 후 사용하지 않는다면 자동저장된 문서 삭제
|
||||||
if(confirm(fo_obj._saved_doc_message.value)) {
|
if(confirm(fo_obj._saved_doc_message.value)) {
|
||||||
if(typeof(fo_obj.title)!='undefined') fo_obj.title.value = saved_title;
|
if(typeof(fo_obj.title)!='undefined') fo_obj.title.value = saved_title;
|
||||||
editorRelKeys[editor_sequence]['content'].value = saved_content;
|
editorRelKeys[editor_sequence]['content'].value = saved_content;
|
||||||
|
editorRelKeys[editor_sequence]['primary'].value = saved_srl;
|
||||||
|
xAddEventListener(window,"load",function() { var param = new Array();
|
||||||
|
param['editor_sequence'] = editor_sequence;
|
||||||
|
param['primary_key'] = primary_key;
|
||||||
|
param['mid'] = current_mid;
|
||||||
|
var response_tags = new Array("error","message","editor_sequence","key","title","content","document_srl");
|
||||||
|
exec_xml('editor',"procEditorLoadSavedDocument", param, null, response_tags);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
editorRemoveSavedDoc();
|
editorRemoveSavedDoc();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
/* NHN > UIT Center > Open UI Technology Team > Jeong Chan Myeong(dece24@nhncorp.com) */
|
/* NHN > UIT Center > Open UI Technology Team > Jeong Chan Myeong(dece24@nhncorp.com) */
|
||||||
|
|
||||||
html, body { height:100%; background-color:transparent; padding:0; margin:0;}
|
html, body { height:100%; background-color:transparent; padding:0; margin:0;}
|
||||||
.xe_content{ color:#000; font-size:12px;}
|
.xe_content{ color:#000; font-size:12px; line-height:1.5;}
|
||||||
|
|
||||||
.xe_content blockquote.q1,
|
.xe_content blockquote.q1,
|
||||||
.xe_content blockquote.q2,
|
.xe_content blockquote.q2,
|
||||||
|
|
@ -19,3 +19,5 @@ html, body { height:100%; background-color:transparent; padding:0; margin:0;}
|
||||||
.xe_content blockquote.q5{ border:2px solid #707070;}
|
.xe_content blockquote.q5{ border:2px solid #707070;}
|
||||||
.xe_content blockquote.q6{ border:1px dashed #707070;}
|
.xe_content blockquote.q6{ border:1px dashed #707070;}
|
||||||
.xe_content blockquote.q7{ border:1px dashed #707070; background:#fbfbfb;}
|
.xe_content blockquote.q7{ border:1px dashed #707070; background:#fbfbfb;}
|
||||||
|
|
||||||
|
.xe_content p { margin:0; padding:0; }
|
||||||
|
|
|
||||||
|
|
@ -18,3 +18,5 @@
|
||||||
.xe_content blockquote.q5{ border:2px solid #707070;}
|
.xe_content blockquote.q5{ border:2px solid #707070;}
|
||||||
.xe_content blockquote.q6{ border:1px dashed #707070;}
|
.xe_content blockquote.q6{ border:1px dashed #707070;}
|
||||||
.xe_content blockquote.q7{ border:1px dashed #707070; background:#fbfbfb;}
|
.xe_content blockquote.q7{ border:1px dashed #707070; background:#fbfbfb;}
|
||||||
|
|
||||||
|
.xe_content p { margin:0;}
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,15 @@
|
||||||
<input type="text" name="content_font" value="{str_replace(array('"','\''),'',$editor_config->content_font)}" class="inputTypeText w400" />
|
<input type="text" name="content_font" value="{str_replace(array('"','\''),'',$editor_config->content_font)}" class="inputTypeText w400" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th rowspan="2"><div>{$lang->content_font_size}</div></th>
|
||||||
|
<td colspan="2"><p>{$lang->about_content_font_size}</p></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">
|
||||||
|
<input type="text" name="content_font_size" value="{$editor_config->content_font_size}" class="inputTypeText w80" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th rowspan="2"><div>{$lang->editor_height}</div></th>
|
<th rowspan="2"><div>{$lang->editor_height}</div></th>
|
||||||
<td colspan="2"><p>{$lang->about_editor_height}</p></td>
|
<td colspan="2"><p>{$lang->about_editor_height}</p></td>
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,13 @@ function editorStart(editor_sequence, primary_key, content_key, editor_height, f
|
||||||
if(confirm(fo_obj._saved_doc_message.value)) {
|
if(confirm(fo_obj._saved_doc_message.value)) {
|
||||||
if(typeof(fo_obj.title)!='undefined') fo_obj.title.value = saved_title;
|
if(typeof(fo_obj.title)!='undefined') fo_obj.title.value = saved_title;
|
||||||
editorRelKeys[editor_sequence]['content'].value = saved_content;
|
editorRelKeys[editor_sequence]['content'].value = saved_content;
|
||||||
|
|
||||||
|
var param = new Array();
|
||||||
|
param['editor_sequence'] = editor_sequence;
|
||||||
|
param['primary_key'] = primary_key;
|
||||||
|
param['mid'] = current_mid;
|
||||||
|
var response_tags = new Array("error","message","editor_sequence","key","title","content","document_srl");
|
||||||
|
exec_xml('editor',"procEditorLoadSavedDocument", param, getAutoSavedSrl, response_tags);
|
||||||
} else {
|
} else {
|
||||||
editorRemoveSavedDoc();
|
editorRemoveSavedDoc();
|
||||||
}
|
}
|
||||||
|
|
@ -559,3 +566,12 @@ function setPreviewHeight(editor_sequence){
|
||||||
if(h < 400) h=400;
|
if(h < 400) h=400;
|
||||||
xHeight('editor_preview_'+editor_sequence,h+20);
|
xHeight('editor_preview_'+editor_sequence,h+20);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getAutoSavedSrl(ret_obj, response_tags, c) {
|
||||||
|
var editor_sequence = ret_obj['editor_sequence'];
|
||||||
|
var primary_key = ret_obj['key'];
|
||||||
|
var fo_obj = editorGetForm(editor_sequence);
|
||||||
|
|
||||||
|
fo_obj[primary_key].value = ret_obj['document_srl'];
|
||||||
|
if(uploadSettingObj[editor_sequence]) editorUploadInit(uploadSettingObj[editor_sequence], true);
|
||||||
|
}
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue