mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-26 06:39:56 +09:00
for version 1.1.5
git-svn-id: http://xe-core.googlecode.com/svn/trunk@5443 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
commit
6c5a3448ee
232 changed files with 4473 additions and 3104 deletions
|
|
@ -25,6 +25,9 @@ RewriteRule ^([a-zA-Z0-9_]+)/([[:digit:]]+)page$ ./index.php?mid=$1&page=$2 [L]
|
|||
RewriteRule ^rss/([[:digit:]]+){0,14}/([[:digit:]]+){0,14}/([[:digit:]]+)$ ./index.php?module=rss&act=rss&start_date=$1&end_date=$2&page=$3 [L]
|
||||
RewriteRule ^rss/([[:digit:]]+)$ ./index.php?module=rss&act=rss&page=$1 [L]
|
||||
RewriteRule ^rss$ ./index.php?module=rss&act=rss [L]
|
||||
RewriteRule ^atom/([[:digit:]]+){0,14}/([[:digit:]]+){0,14}/([[:digit:]]+)$ ./index.php?module=rss&act=atom&start_date=$1&end_date=$2&page=$3 [L]
|
||||
RewriteRule ^atom/([[:digit:]]+)$ ./index.php?module=rss&act=atom&page=$1 [L]
|
||||
RewriteRule ^atom$ ./index.php?module=rss&act=atom [L]
|
||||
|
||||
# administrator page
|
||||
RewriteRule ^admin$ ./index.php?module=admin [L]
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
<addon version="0.2">
|
||||
<title xml:lang="ko">키워드 링크 애드온</title>
|
||||
<title xml:lang="zh-TW">關鍵字連結</title>
|
||||
<title xml:lang="jp">キーワードリンクアドオン</title>
|
||||
<description xml:lang="ko">
|
||||
게시글과 댓글의 내용중 등록된 키워드에 링크를 걸어주는 애드온입니다.
|
||||
키워드는 콤마(,)로 구분하여 여러개 등록할 수 있습니다.
|
||||
|
|
@ -12,6 +13,11 @@
|
|||
可用逗號(,)區隔多個關鍵字。
|
||||
以第一關鍵字為主。
|
||||
</description>
|
||||
<description xml:lang="jp">
|
||||
本文とコメントの内容中、登録されたキーワードにリンクを貼りつける機能を行います。
|
||||
キーワードは半角コンマ(,)区切りで複数登録が出来ます。
|
||||
先に登録されるキーワードが優先度が高いです。
|
||||
</description>
|
||||
<version>0.1</version>
|
||||
<date>2008-12-20</date>
|
||||
<author email_address="sol@ngleader.com" link="http://ngleader.tistory.com">
|
||||
|
|
@ -28,68 +34,85 @@
|
|||
<var name="cssquery">
|
||||
<title xml:lang="ko">cssquery</title>
|
||||
<title xml:lang="zh-TW">cssquery</title>
|
||||
<title xml:lang="jp">cssquery</title>
|
||||
<description xml:lang="ko">치환할 부분의 jQuery cssquery입니다.
|
||||
xe_board 게시판 스킨이면 공백으로 두면 됩니다.</description>
|
||||
<description xml:lang="zh-TW">치환할 부분의 jQuery cssquery입니다.
|
||||
xe_board 게시판 스킨이면 공백으로 두면 됩니다.</description>
|
||||
<description xml:lang="jp">置き換える部分のjQuery cssqueryです。
|
||||
xe_board掲示板スキンの場合、空白にして下さい。</description>
|
||||
</var>
|
||||
|
||||
<var name="reg_type" type="select">
|
||||
<title xml:lang="ko">링크 방법</title>
|
||||
<title xml:lang="zh-TW">連結方式</title>
|
||||
<title xml:lang="jp">リンクの貼りつけ方</title>
|
||||
<description xml:lang="ko"> 키워드가 여러개 있을때 "첫번째 키워드"에만 링크를 걸 것인지 "모든 키워드"에 걸 것인지 선택합니다.
|
||||
</description>
|
||||
<description xml:lang="zh-TW"> 키워드가 여러개 있을때 "첫번째 키워드"에만 링크를 걸 것인지 "모든 키워드"에 걸 것인지 선택합니다.
|
||||
</description>
|
||||
<options value="">
|
||||
<description xml:lang="jp"> 複数のキーワードの場合、"最初のキーワード"のみ、もしくは "全てのキーワード"にリンクを貼りつけるかを選択します。
|
||||
</description> <options value="">
|
||||
<title xml:lang="ko">첫번째 키워드</title>
|
||||
<title xml:lang="zh-TW">第一關鍵字</title>
|
||||
<title xml:lang="jp">最初のキーワード</title>
|
||||
</options>
|
||||
<options value="g">
|
||||
<title xml:lang="ko">모든 키워드</title>
|
||||
<title xml:lang="zh-TW">所有關鍵字</title>
|
||||
<title xml:lang="jp">全てのキーワード</title>
|
||||
</options>
|
||||
</var>
|
||||
|
||||
<var name="keyword01">
|
||||
<title xml:lang="ko">키워드</title>
|
||||
<title xml:lang="zh-TW">關鍵字</title>
|
||||
<title xml:lang="jp">キーワード</title>
|
||||
</var>
|
||||
<var name="url01">
|
||||
<title xml:lang="ko">링크</title>
|
||||
<title xml:lang="zh-TW">連結</title>
|
||||
<title xml:lang="jp">リンク</title>
|
||||
</var>
|
||||
<var name="keyword02">
|
||||
<title xml:lang="ko">키워드</title>
|
||||
<title xml:lang="zh-TW">關鍵字</title>
|
||||
<title xml:lang="jp">キーワード</title>
|
||||
</var>
|
||||
<var name="url02">
|
||||
<title xml:lang="ko">링크</title>
|
||||
<title xml:lang="zh-TW">連結</title>
|
||||
<title xml:lang="jp">リンク</title>
|
||||
</var>
|
||||
<var name="keyword03">
|
||||
<title xml:lang="ko">키워드</title>
|
||||
<title xml:lang="zh-TW">關鍵字</title>
|
||||
<title xml:lang="jp">キーワード</title>
|
||||
</var>
|
||||
<var name="url03">
|
||||
<title xml:lang="ko">링크</title>
|
||||
<title xml:lang="zh-TW">連結</title>
|
||||
<title xml:lang="jp">リンク</title>
|
||||
</var>
|
||||
<var name="keyword04">
|
||||
<title xml:lang="ko">키워드</title>
|
||||
<title xml:lang="zh-TW">關鍵字</title>
|
||||
<title xml:lang="jp">キーワード</title>
|
||||
</var>
|
||||
<var name="url04">
|
||||
<title xml:lang="ko">링크</title>
|
||||
<title xml:lang="zh-TW">連結</title>
|
||||
<title xml:lang="jp">リンク</title>
|
||||
</var>
|
||||
<var name="keyword05">
|
||||
<title xml:lang="ko">키워드</title>
|
||||
<title xml:lang="zh-TW">關鍵字</title>
|
||||
<title xml:lang="jp">キーワード</title>
|
||||
</var>
|
||||
<var name="url05">
|
||||
<title xml:lang="ko">링크</title>
|
||||
<title xml:lang="zh-TW">連結</title>
|
||||
<title xml:lang="jp">リンク</title>
|
||||
</var>
|
||||
</extra_vars>
|
||||
</addon>
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@
|
|||
// 전역변수에 미리 설정한 데이터가 있다면 그걸 return
|
||||
if(!$GLOBALS['_transImageNameList'][$member_srl]->cached) {
|
||||
$GLOBALS['_transImageNameList'][$member_srl]->cached = true;
|
||||
$image_name_file = sprintf('./files/member_extra_info/image_name/%s%d.gif', getNumberingPath($member_srl), $member_srl);
|
||||
$image_mark_file = sprintf('./files/member_extra_info/image_mark/%s%d.gif', getNumberingPath($member_srl), $member_srl);
|
||||
$image_name_file = sprintf('files/member_extra_info/image_name/%s%d.gif', getNumberingPath($member_srl), $member_srl);
|
||||
$image_mark_file = sprintf('files/member_extra_info/image_mark/%s%d.gif', getNumberingPath($member_srl), $member_srl);
|
||||
if(file_exists($image_name_file)) $GLOBALS['_transImageNameList'][$member_srl]->image_name_file = $image_name_file;
|
||||
else $image_name_file = '';
|
||||
if(file_exists($image_mark_file)) $GLOBALS['_transImageNameList'][$member_srl]->image_mark_file = $image_mark_file;
|
||||
|
|
@ -28,8 +28,8 @@
|
|||
// 이미지이름이나 마크가 없으면 원본 정보를 세팅
|
||||
if(!$image_name_file && !$image_mark_file) return $matches[0];
|
||||
|
||||
if($image_name_file) $nick_name = sprintf('<img src="%s" border="0" alt="id: %s" title="id: %s" style="vertical-align:middle;margin-right:3px" />', $image_name_file, strip_tags($nick_name), strip_tags($nick_name));
|
||||
if($image_mark_file) $nick_name = sprintf('<img src="%s" border="0" alt="id: %s" title="id : %s" style="vertical-align:middle;margin-right:3px"/>%s', $image_mark_file, strip_tags($nick_name), strip_tags($nick_name), $nick_name);
|
||||
if($image_name_file) $nick_name = sprintf('<img src="%s%s" border="0" alt="id: %s" title="id: %s" style="vertical-align:middle;margin-right:3px" />', Context::getRequestUri(),$image_name_file, strip_tags($nick_name), strip_tags($nick_name));
|
||||
if($image_mark_file) $nick_name = sprintf('<img src="%s%s" border="0" alt="id: %s" title="id : %s" style="vertical-align:middle;margin-right:3px"/>%s', Context::getRequestUri(),$image_mark_file, strip_tags($nick_name), strip_tags($nick_name), $nick_name);
|
||||
|
||||
$orig_text = preg_replace('/'.preg_quote($matches[5],'/').'<\/'.$matches[6].'>$/', '', $matches[0]);
|
||||
return $orig_text.$nick_name.'</'.$matches[6].'>';
|
||||
|
|
|
|||
|
|
@ -5,6 +5,13 @@
|
|||
**/
|
||||
class wap extends mobileXE {
|
||||
|
||||
/**
|
||||
* @brief constructor
|
||||
**/
|
||||
function wap() {
|
||||
parent::mobileXE();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief hdml 헤더 출력
|
||||
**/
|
||||
|
|
@ -54,28 +61,28 @@
|
|||
function printBtn() {
|
||||
// 메뉴 형식
|
||||
if($this->hasChilds()) {
|
||||
if($this->prevUrl) {
|
||||
$url = $this->prevUrl;
|
||||
printf('<ce task=go label="%s" dest="%s">%s%s', $url->text, $url->url, $url->text, "\n");
|
||||
}
|
||||
if($this->nextUrl) {
|
||||
$url = $this->nextUrl;
|
||||
printf('<ce task=go label="%s" dest="%s">%s%s', $url->text, $url->url, $url->text, "\n");
|
||||
}
|
||||
if($this->prevUrl) {
|
||||
$url = $this->prevUrl;
|
||||
printf('<ce task=go label="%s" dest="%s">%s%s', $url->text, $url->url, $url->text, "\n");
|
||||
}
|
||||
if($this->homeUrl) {
|
||||
$url = $this->homeUrl;
|
||||
printf('<ce task=go label="%s" dest="%s">%s%s', $url->text, $url->url, $url->text, "\n");
|
||||
}
|
||||
// 컨텐츠 형식
|
||||
} else {
|
||||
if($this->prevUrl) {
|
||||
$url = $this->prevUrl;
|
||||
printf('<a task=gosub label="%s" dest="%s">%s</a>', $url->text, $url->url, $url->text);
|
||||
}
|
||||
if($this->nextUrl) {
|
||||
$url = $this->nextUrl;
|
||||
printf('<a task=gosub label="%s" dest="%s">%s</a>', $url->text, $url->url, $url->text);
|
||||
}
|
||||
if($this->prevUrl) {
|
||||
$url = $this->prevUrl;
|
||||
printf('<a task=gosub label="%s" dest="%s">%s</a>', $url->text, $url->url, $url->text);
|
||||
}
|
||||
if($this->homeUrl) {
|
||||
$url = $this->homeUrl;
|
||||
printf('<a task=gosub label="%s" dest="%s">%s</a>', $url->text, $url->url, $url->text);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,13 @@
|
|||
**/
|
||||
class wap extends mobileXE {
|
||||
|
||||
/**
|
||||
* @brief constructor
|
||||
**/
|
||||
function wap() {
|
||||
parent::mobileXE();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief hdml 헤더 출력
|
||||
**/
|
||||
|
|
@ -37,14 +44,14 @@
|
|||
* @brief 버튼을 출력함
|
||||
**/
|
||||
function printBtn() {
|
||||
if($this->prevUrl) {
|
||||
$url = $this->prevUrl;
|
||||
printf('<a href="%s">%s</a><br>%s', $url->url, $url->text, "\n");
|
||||
}
|
||||
if($this->nextUrl) {
|
||||
$url = $this->nextUrl;
|
||||
printf('<a href="%s">%s</a><br>%s', $url->url, $url->text, "\n");
|
||||
}
|
||||
if($this->prevUrl) {
|
||||
$url = $this->prevUrl;
|
||||
printf('<a href="%s">%s</a><br>%s', $url->url, $url->text, "\n");
|
||||
}
|
||||
if($this->upperUrl) {
|
||||
$url = $this->upperUrl;
|
||||
printf('<btn href="%s" name="%s">%s', $url->url, $url->text, "\n");
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
/**
|
||||
* Mobile XE Library Class ver 0.1
|
||||
* @author zero <zero@zeroboard.com>
|
||||
* @brief WAP 태그 출력을 위한 라이브러리
|
||||
* @brief WAP 태그 출력을 위한 XE 라이브러리
|
||||
**/
|
||||
|
||||
class mobileXE {
|
||||
|
|
@ -24,10 +24,27 @@
|
|||
var $charset = 'euc-kr';
|
||||
var $no = 0;
|
||||
|
||||
// Deck size
|
||||
var $deckSize = 500;
|
||||
// 네비게이션 관련 변수
|
||||
var $menu = null;
|
||||
var $listed_items = null;
|
||||
var $node_list = null;
|
||||
var $index_mid = null;
|
||||
|
||||
// getInstance
|
||||
// Navigation On/ Off 상태 값
|
||||
var $navigationMode = 0;
|
||||
|
||||
// 현재 요청된 XE 모듈 정보
|
||||
var $module_info = null;
|
||||
|
||||
// 현재 실행중인 모듈의 instance
|
||||
var $oModule = null;
|
||||
|
||||
// Deck size
|
||||
var $deckSize = 1024;
|
||||
|
||||
/**
|
||||
* @brief getInstance
|
||||
**/
|
||||
function &getInstance() {
|
||||
static $instance = null;
|
||||
|
||||
|
|
@ -45,12 +62,77 @@
|
|||
|
||||
$mobilePage = (int)Context::get('mpage');
|
||||
if(!$mobilePage) $mobilePage = 1;
|
||||
|
||||
$instance->setMobilePage($mobilePage);
|
||||
}
|
||||
|
||||
return $instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief constructor
|
||||
**/
|
||||
function mobileXE() {
|
||||
// navigation mode 체크
|
||||
if(Context::get('nm')) $this->navigationMode = 1;
|
||||
$this->cmid = (int)Context::get('cmid');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief navigation mode 체크
|
||||
* navigationMode 세팅과 모듈 정보의 menu_srl이 있어야 navigation mode = true로 return
|
||||
**/
|
||||
function isNavigationMode() {
|
||||
return ($this->navigationMode && $this->module_info->menu_srl)?true:false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 현재 요청된 모듈 정보 세팅
|
||||
**/
|
||||
function setModuleInfo(&$module_info) {
|
||||
if($this->module_info) return;
|
||||
$this->module_info = $module_info;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 현재 실행중인 모듈 instance 세팅
|
||||
**/
|
||||
function setModuleInstance(&$oModule) {
|
||||
if($this->oModule) return;
|
||||
|
||||
// instance 저장
|
||||
$this->oModule = $oModule;
|
||||
|
||||
// 현재 모듈의 메뉴가 설정되어 있으면 메뉴 정리
|
||||
$menu_cache_file = sprintf(_XE_PATH_.'files/cache/menu/%d.php', $this->module_info->menu_srl);
|
||||
if(!file_exists($menu_cache_file)) return;
|
||||
|
||||
include $menu_cache_file;
|
||||
|
||||
// 정리된 menu들을 1차원으로 변경
|
||||
$this->getListedItems($menu->list, $listed_items, $node_list);
|
||||
|
||||
$this->listed_items = $listed_items;
|
||||
$this->node_list = $node_list;
|
||||
$this->menu = $menu->list;
|
||||
|
||||
$k = array_keys($node_list);
|
||||
$v = array_values($node_list);
|
||||
$this->index_mid = $k[0];
|
||||
|
||||
// 현재 메뉴의 depth가 1이상이면 상위 버튼을 지정
|
||||
$cur_menu_item = $listed_items[$node_list[$this->module_info->mid]];
|
||||
if($cur_menu_item['parent_srl']) {
|
||||
$parent_srl = $cur_menu_item['parent_srl'];
|
||||
if($parent_srl && $listed_items[$parent_srl]) {
|
||||
$parent_item = $listed_items[$parent_srl];
|
||||
if($parent_item) $this->setUpperUrl(getUrl('','mid',$parent_item['mid']), Context::getLang('cmd_go_upper'));
|
||||
}
|
||||
} elseif (!$this->isNavigationMode()) {
|
||||
$this->setUpperUrl(getUrl('','mid',$this->index_mid,'nm','1','cmid',0), Context::getLang('cmd_view_sitemap'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 접속 브라우저의 헤더를 판단하여 브라우저 타입을 return
|
||||
* 모바일 브라우저가 아닐 경우 null return
|
||||
|
|
@ -61,31 +143,32 @@
|
|||
$userAgent = $_SERVER['HTTP_USER_AGENT'];
|
||||
$wap_sid = $_SERVER['HTTP_X_UP_SUBNO'];
|
||||
|
||||
if(eregi("SKT11", $userAgent)) $browserType = "wml";
|
||||
elseif(eregi("skt", $browserAccept)) $browserType = "wml";
|
||||
elseif(eregi("hdml", $browserAccept)) $browserType = "hdml";
|
||||
elseif(eregi("CellPhone", $userAgent)) $browserType = "mhtml";
|
||||
else $browserType = "html";
|
||||
|
||||
// class 지정 (html일 경우 동작 하지 않도록 함)
|
||||
if($browserType == 'html') return null;
|
||||
|
||||
return $browserType;
|
||||
if(eregi("SKT11", $userAgent)) return "wml";
|
||||
elseif(eregi("skt", $browserAccept)) return "wml";
|
||||
elseif(eregi("hdml", $browserAccept)) return "hdml";
|
||||
elseif(eregi("CellPhone", $userAgent)) return "mhtml";
|
||||
return null;
|
||||
}
|
||||
|
||||
// charset 지정
|
||||
/**
|
||||
* @brief charset 지정
|
||||
**/
|
||||
function setCharSet($charset = 'euc-kr') {
|
||||
if(!$charset) $charset = 'euc-kr';
|
||||
$this->charset = $charset;
|
||||
}
|
||||
|
||||
// 모바일 기기의 용량 제한에 다른 가상 페이지 지정
|
||||
/**
|
||||
* @brief 모바일 기기의 용량 제한에 다른 가상 페이지 지정
|
||||
**/
|
||||
function setMobilePage($page=1) {
|
||||
if(!$page) $page = 1;
|
||||
$this->mobilePage = $page;
|
||||
}
|
||||
|
||||
// 목록형 데이터 설정을 위한 child menu지정
|
||||
/**
|
||||
* @brief 목록형 데이터 설정을 위한 child menu지정
|
||||
**/
|
||||
function setChilds($childs) {
|
||||
// menu개수가 9개 이상일 경우 자체 페이징 처리
|
||||
$menu_count = count($childs);
|
||||
|
|
@ -119,36 +202,71 @@
|
|||
$this->childs = $childs;
|
||||
}
|
||||
|
||||
// menu 출력대상이 있는지 확인
|
||||
/**
|
||||
* @brief menu 출력대상이 있는지 확인
|
||||
**/
|
||||
function hasChilds() {
|
||||
return count($this->childs)?true:0;
|
||||
}
|
||||
|
||||
// child menu반환
|
||||
/**
|
||||
* @brief child menu반환
|
||||
**/
|
||||
function getChilds() {
|
||||
return $this->childs;
|
||||
}
|
||||
|
||||
// title 지정
|
||||
/**
|
||||
* @brief title 지정
|
||||
**/
|
||||
function setTitle($title) {
|
||||
$this->title = $title;
|
||||
}
|
||||
|
||||
// title 반환
|
||||
/**
|
||||
* @brief title 반환
|
||||
**/
|
||||
function getTitle() {
|
||||
return $this->title;
|
||||
}
|
||||
|
||||
// 컨텐츠 지정
|
||||
/**
|
||||
* @brief 컨텐츠 정리
|
||||
* HTML 컨텐츠에서 텍스트와 링크만 추출하는 기능
|
||||
**/
|
||||
function setContent($content) {
|
||||
$content = str_replace(array('&','<','>','"','&nbsp;'), array('&','<','>','"',' '), strip_tags($content));
|
||||
// 링크/줄바꿈을 임의의 문자열로 변경하고 태그 모두 제거
|
||||
$content = strip_tags(preg_replace('/<(\/?)(a|br)/i','[$1$2', $content));
|
||||
|
||||
// 링크/줄바꿈을 다시 원위치
|
||||
$content = preg_replace('/\[(\/?)(a|br)/i','<$1$2', $content);
|
||||
|
||||
// 탭 여백 제거
|
||||
$content = str_replace("\t", "", $content);
|
||||
|
||||
// 2번 이상 반복되는 공백과 줄나눔을 제거
|
||||
$content = preg_replace('/( ){2,}/s', '', $content);
|
||||
$content = preg_replace("/([\r\n]+)/s", "\r\n", $content);
|
||||
$content = str_replace(array("<A","<BR","<Br","<br>","<BR>","<br />"), array("<a","<br","<br","<br/>","<br/>","<br/>"), $content);
|
||||
while(strpos($content, '<br/><br/>')) {
|
||||
$content = str_replace('<br/><br/>','<br/>',$content);
|
||||
}
|
||||
|
||||
// 모바일의 경우 한 덱에 필요한 사이즈가 적어서 내용을 모두 페이지로 나눔
|
||||
$contents = array();
|
||||
while($content) {
|
||||
$tmp = cut_str($content, $this->deckSize, '');
|
||||
$tmp = $this->cutStr($content, $this->deckSize, '');
|
||||
$contents[] = $tmp;
|
||||
$content = substr($content, strlen($tmp));
|
||||
|
||||
//$content = str_replace(array('&','<','>','"','&nbsp;'), array('&','<','>','"',' '), $content);
|
||||
|
||||
$tag_open_pos = strpos($content, '<a');
|
||||
$tag_close_pos = strpos($content, '</a>');
|
||||
if($tag_open_pos!==false && $tag_close_pos || $tag_close_pos < $tag_open_pos) {
|
||||
$contents[count($contents)-1] .= substr($content, 0, $tag_close_pos+4);
|
||||
$content = substr($content, $tag_close_pos+4);
|
||||
}
|
||||
}
|
||||
|
||||
$this->totalPage = count($contents);
|
||||
|
|
@ -169,41 +287,66 @@
|
|||
$this->content = $contents[$this->mobilePage-1];
|
||||
}
|
||||
|
||||
// 컨텐츠 반환
|
||||
/**
|
||||
* @brief byte수로 자르는 함수
|
||||
**/
|
||||
function cutStr($string, $cut_size) {
|
||||
return preg_match('/.{'.$cut_size.'}/su', $string, $arr) ? $arr[0] : $string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컨텐츠 반환
|
||||
**/
|
||||
function getContent() {
|
||||
return $this->content;
|
||||
}
|
||||
|
||||
// home url 지정
|
||||
/**
|
||||
* @brief home url 지정
|
||||
**/
|
||||
function setHomeUrl($url, $text) {
|
||||
if(!$url) $url = '#';
|
||||
$this->homeUrl->url = $url;
|
||||
$this->homeUrl->text = $text;
|
||||
}
|
||||
|
||||
// upper url 지정
|
||||
/**
|
||||
* @brief upper url 지정
|
||||
**/
|
||||
function setUpperUrl($url, $text) {
|
||||
if(!$url) $url = '#';
|
||||
$this->upperUrl->url = $url;
|
||||
$this->upperUrl->text = $text;
|
||||
}
|
||||
|
||||
// prev url 지정
|
||||
/**
|
||||
* @brief prev url 지정
|
||||
**/
|
||||
function setPrevUrl($url, $text) {
|
||||
if(!$url) $url = '#';
|
||||
$this->prevUrl->url = $url;
|
||||
$this->prevUrl->text = $text;
|
||||
}
|
||||
|
||||
// next url 지정
|
||||
/**
|
||||
* @brief next url 지정
|
||||
**/
|
||||
function setNextUrl($url, $text) {
|
||||
if(!$url) $url = '#';
|
||||
$this->nextUrl->url = $url;
|
||||
$this->nextUrl->text = $text;
|
||||
}
|
||||
|
||||
// display
|
||||
/**
|
||||
* @brief display
|
||||
**/
|
||||
function display() {
|
||||
// 홈버튼 지정
|
||||
$this->setHomeUrl(getUrl(), Context::getLang('cmd_go_home'));
|
||||
|
||||
// 제목 지정
|
||||
$this->setTitle(Context::getBrowserTitle());
|
||||
|
||||
ob_start();
|
||||
|
||||
// 헤더를 출력
|
||||
|
|
@ -230,17 +373,118 @@
|
|||
exit();
|
||||
}
|
||||
|
||||
// 페이지 이동
|
||||
/**
|
||||
* @brief 페이지 이동
|
||||
**/
|
||||
function movepage($url) {
|
||||
header("location:$url");
|
||||
exit();
|
||||
}
|
||||
|
||||
// 목록등에서 일련 번호를 리턴한다
|
||||
/**
|
||||
* @brief 목록등에서 일련 번호를 리턴한다
|
||||
**/
|
||||
function getNo() {
|
||||
$this->no++;
|
||||
$str = $this->no;
|
||||
return $str;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief XE의 Menu 모듈이 값을 사용하기 쉽게 정리해주는 함수
|
||||
**/
|
||||
function getListedItems($menu, &$listed_items, &$node_list) {
|
||||
if(!count($menu)) return;
|
||||
foreach($menu as $node_srl => $item) {
|
||||
if(preg_match('/^([a-zA-Z0-9\_\-]+)$/', $item['url'])) {
|
||||
$mid = $item['mid'] = $item['url'];
|
||||
$node_list[$mid] = $node_srl;
|
||||
} else {
|
||||
$mid = $item['mid'] = null;
|
||||
}
|
||||
|
||||
$listed_items[$node_srl] = $item;
|
||||
$this->getListedItems($item['list'], $listed_items, $node_list);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief XE 네비게이션 출력
|
||||
**/
|
||||
function displayNavigationContent() {
|
||||
$childs = array();
|
||||
|
||||
if($this->cmid) {
|
||||
$cur_item = $this->listed_items[$this->cmid];
|
||||
$upper_srl = $cur_item['parent_srl'];;
|
||||
$list = $cur_item['list'];;
|
||||
$this->setUpperUrl(getUrl('cmid',$upper_srl), Context::getLang('cmd_go_upper'));
|
||||
if(preg_match('/^([a-zA-Z0-9\_\-]+)$/', $cur_item['url'])) {
|
||||
$obj = null;
|
||||
$obj['href'] = getUrl('','mid',$cur_item['url']);
|
||||
$obj['link'] = $obj['text'] = '['.$cur_item['text'].']';
|
||||
$childs[] = $obj;
|
||||
}
|
||||
|
||||
} else {
|
||||
$list = $this->menu;
|
||||
$upper_srl = 0;
|
||||
}
|
||||
|
||||
|
||||
if(count($list)) {
|
||||
foreach($list as $key => $val) {
|
||||
if(!$val['text']) continue;
|
||||
$obj = null;
|
||||
if(!count($val['list'])) {
|
||||
$obj['href'] = getUrl('','mid',$val['url']);
|
||||
} else {
|
||||
$obj['href'] = getUrl('cmid',$val['node_srl']);
|
||||
}
|
||||
$obj['link'] = $obj['text'] = $val['text'];
|
||||
$childs[] = $obj;
|
||||
}
|
||||
$this->setChilds($childs);
|
||||
}
|
||||
|
||||
// 출력
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 모듈의 WAP 클래스 객체 생성하여 WAP 준비
|
||||
**/
|
||||
function displayModuleContent() {
|
||||
// 선택된 모듈의 WAP class 객체 생성
|
||||
$oModule = &getWap($this->module_info->module);
|
||||
if(!$oModule || !method_exists($oModule, 'procWAP') ) return;
|
||||
|
||||
$vars = get_object_vars($this->oModule);
|
||||
if(count($vars)) foreach($vars as $key => $val) $oModule->{$key} = $val;
|
||||
|
||||
// 실행
|
||||
$oModule->procWAP($this);
|
||||
|
||||
// 출력
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief WAP 컨텐츠를 별도로 구할 수 없으면 최종 결과물을 출력
|
||||
**/
|
||||
function displayContent() {
|
||||
Context::set('layout','none');
|
||||
|
||||
// 템플릿 컴파일
|
||||
$oTemplate = new TemplateHandler();
|
||||
$oContext = &Context::getInstance();
|
||||
|
||||
$content = $oTemplate->compile($this->oModule->getTemplatePath(), $this->oModule->getTemplateFile());
|
||||
$content = $oContext->transContent($content);
|
||||
$this->setContent($content);
|
||||
|
||||
// 출력
|
||||
$this->display();
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -1,17 +0,0 @@
|
|||
<?php
|
||||
function getListedItems($menu, &$listed_items, &$mid_list) {
|
||||
if(!count($menu)) return;
|
||||
foreach($menu as $node_srl => $item) {
|
||||
if(preg_match('/^([a-zA-Z0-9\_\-]+)$/', $item['url'])) {
|
||||
$mid = $item['mid'] = $item['url'];
|
||||
$mid_list[$node_srl] = $mid;
|
||||
} else {
|
||||
$mid = $item['mid'] = null;
|
||||
}
|
||||
|
||||
$listed_items[$mid] = $item;
|
||||
getListedItems($item['list'], $listed_items, $mid_list);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -5,6 +5,13 @@
|
|||
**/
|
||||
class wap extends mobileXE {
|
||||
|
||||
/**
|
||||
* @brief constructor
|
||||
**/
|
||||
function wap() {
|
||||
parent::mobileXE();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief wml 헤더 출력
|
||||
**/
|
||||
|
|
@ -42,14 +49,14 @@
|
|||
* @brief 버튼을 출력함
|
||||
**/
|
||||
function printBtn() {
|
||||
if($this->prevUrl) {
|
||||
$url = $this->prevUrl;
|
||||
printf('<do type="%s" label="%s"><go href="%s"/></do>%s', $this->getNo(), $url->text, $url->url, "\n");
|
||||
}
|
||||
if($this->nextUrl) {
|
||||
$url = $this->nextUrl;
|
||||
printf('<do type="%s" label="%s"><go href="%s"/></do>%s', $this->getNo(), $url->text, $url->url, "\n");
|
||||
}
|
||||
if($this->prevUrl) {
|
||||
$url = $this->prevUrl;
|
||||
printf('<do type="%s" label="%s"><go href="%s"/></do>%s', $this->getNo(), $url->text, $url->url, "\n");
|
||||
}
|
||||
if($this->homeUrl) {
|
||||
$url = $this->homeUrl;
|
||||
printf('<do type="access" label="%s"><go href="%s"/></do>%s', $url->text, $url->url, "\n");
|
||||
|
|
|
|||
|
|
@ -7,4 +7,5 @@
|
|||
|
||||
$lang->cmd_go_upper = 'Upper';
|
||||
$lang->cmd_go_home = 'Go Home';
|
||||
$lang->cmd_view_sitemap = 'View site map';
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -6,4 +6,5 @@
|
|||
**/
|
||||
$lang->cmd_go_upper = '上位';
|
||||
$lang->cmd_go_home = 'トップへ';
|
||||
$lang->cmd_view_sitemap = 'サイトマップ';
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -7,4 +7,5 @@
|
|||
|
||||
$lang->cmd_go_upper = '상위';
|
||||
$lang->cmd_go_home = '홈으로';
|
||||
$lang->cmd_view_sitemap = '사이트맵 보기';
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -7,4 +7,5 @@
|
|||
|
||||
$lang->cmd_go_upper = '上一级';
|
||||
$lang->cmd_go_home = '首页';
|
||||
$lang->cmd_view_sitemap = 'View site map';
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -7,4 +7,5 @@
|
|||
|
||||
$lang->cmd_go_upper = '回上頁';
|
||||
$lang->cmd_go_home = '回首頁';
|
||||
$lang->cmd_view_sitemap = 'View site map';
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -7,149 +7,50 @@
|
|||
* @brief 모바일XE 애드온
|
||||
*
|
||||
* 헤더정보를 가로채서 모바일에서의 접속일 경우 WAP 태그로 컨텐츠를 출력함
|
||||
**/
|
||||
|
||||
// 재호출을 막기 위한 코드
|
||||
|
||||
// 관련 클래스 파일을 읽음
|
||||
require_once(_XE_PATH_.'addons/mobile/classes/mobile.class.php');
|
||||
require_once(_XE_PATH_.'addons/mobile/classes/mobile.func.php');
|
||||
|
||||
// 모바일 브라우저가 아니면 return
|
||||
if(!mobileXE::getBrowserType()) return;
|
||||
|
||||
// 관리자 페이지이거나 입출력이 XMLRPC일 경우에도 return
|
||||
if(Context::get('module')=='admin' || Context::getRequestMethod()=='XMLRPC' || Context::getResponseMethod()=='XMLRPC' ) return;
|
||||
|
||||
/**
|
||||
* 전처리
|
||||
* 게시판의 경우 목록과 내용을 제대로 보여주기 위해서 모듈 정보를 조작함
|
||||
* 게시판 외의 경우 그냥 첫페이지의 내용을 출력함
|
||||
* 게시판 이외의 모듈 결과값은 차후 적용예정
|
||||
**/
|
||||
if($called_position == 'before_module_proc' && $this->module == 'board') {
|
||||
$this->list_count = $this->module_info->list_count = 9;
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* 동작 시점
|
||||
*
|
||||
* before_module_proc > 모바일 처리를 위해 모듈의 일반 설정을 변경해야 할 경우 호출
|
||||
*
|
||||
* after_module_proc > 모바일 컨텐츠 출력
|
||||
* 동작 조건
|
||||
* 1. called_position == after_module_proc 일 경우에만 동작
|
||||
* 2. 관리자 페이지가 아닐 경우
|
||||
* 3. Context::getRequestMethod()!=='XMLRPC' 일 경우에만
|
||||
* 4. Context::getResponseMethod()!=='XMLRPC' 일 경우에만
|
||||
**/
|
||||
if($called_position != 'after_module_proc') return;
|
||||
|
||||
// 관리자 페이지는 무시
|
||||
if(Context::get('module')=='admin') return;
|
||||
|
||||
// 동작 시점 관리
|
||||
if($called_position != 'before_module_proc' && $called_position != 'after_module_proc' ) return;
|
||||
|
||||
// 모바일 브라우저가 아니라면 무시
|
||||
require_once(_XE_PATH_.'addons/mobile/classes/mobile.class.php');
|
||||
if(!mobileXE::getBrowserType()) return;
|
||||
|
||||
// mobile instance 생성
|
||||
$oMobile = &mobileXE::getInstance();
|
||||
if(!$oMobile) return;
|
||||
|
||||
// 애드온 설정에서 지정된 charset으로 지정
|
||||
$oMobile->setCharSet($addon_info->charset);
|
||||
|
||||
// 모듈의 정보를 구함
|
||||
$module_info = $this->module_info;
|
||||
// 모듈의 정보를 세팅
|
||||
$oMobile->setModuleInfo($this->module_info);
|
||||
|
||||
// 메뉴 정보가 있는지 검사
|
||||
if($module_info->menu_srl) {
|
||||
// 현재 모듈 객체 등록
|
||||
$oMobile->setModuleInstance($this);
|
||||
|
||||
// menu php cache 파일을 호출
|
||||
$menu_cache_file = sprintf(_XE_PATH_.'files/cache/menu/%d.php', $module_info->menu_srl);
|
||||
if(file_exists($menu_cache_file)) {
|
||||
include $menu_cache_file;
|
||||
|
||||
// 정리된 menu들을 1차원으로 변경
|
||||
getListedItems($menu->list, $listed_items, $mid_list);
|
||||
// 네비게이트 모드이거나 WAP class가 있을 경우 미리 컨텐츠를 추출하여 출력/ 종료
|
||||
if($called_position == 'before_module_proc') {
|
||||
|
||||
// url request parameter에 mid값이 없을 경우, 즉 첫페이지 인경우 전체 목록을 구함
|
||||
if(!isset($_GET['mid'])) $childs = $menu->list;
|
||||
// mid가 명시되어 있으면 해당 mid의 childs를 구함
|
||||
else $childs = $listed_items[$module_info->mid]['list'];
|
||||
// 네비게이트 모드이면 네비게이션 컨텐츠 출력
|
||||
if($oMobile->isNavigationMode()) $oMobile->displayNavigationContent();
|
||||
|
||||
// 현재 메뉴의 depth가 1이상이면 상위 버튼을 지정
|
||||
if($module_info->is_default != 'Y') {
|
||||
$cur_menu_item = $listed_items[$module_info->mid];
|
||||
if($cur_menu_item['parent_srl']) {
|
||||
$parent_srl = $cur_menu_item['parent_srl'];
|
||||
if($parent_srl && $mid_list[$parent_srl]) {
|
||||
$parent_item = $listed_items[$mid_list[$parent_srl]];
|
||||
if($parent_item) $oMobile->setUpperUrl(getUrl('','mid',$parent_item['mid']), Context::getLang('cmd_go_upper') );
|
||||
}
|
||||
} else {
|
||||
$oMobile->setUpperUrl(getUrl(), Context::getLang('cmd_go_upper'));
|
||||
}
|
||||
}
|
||||
// WAP class가 있으면 WAP class를 통해 컨텐츠 출력
|
||||
else $oMobile->displayModuleContent();
|
||||
|
||||
// childs 메뉴들을 지정
|
||||
$oMobile->setChilds($childs);
|
||||
}
|
||||
}
|
||||
|
||||
// 만약 childs가 없을 경우 컨텐츠 입력
|
||||
if(!$oMobile->hasChilds()) {
|
||||
|
||||
// 현재 모듈이 게시판일 경우 (다른 모듈의 경우는 차후에..)
|
||||
if($module_info->module == 'board') {
|
||||
|
||||
// 선택된 게시글이 있으면 게시글의 내용을 출력
|
||||
$oDocument = Context::get('oDocument');
|
||||
if($oDocument && $oDocument->isExists()) {
|
||||
// 내용 지정 (태그를 모두 제거한 내용을 설정)
|
||||
$content = strip_tags($oDocument->getContent(false,false,false));
|
||||
$oMobile->setContent( $content );
|
||||
|
||||
// 상위 페이지를 목록으로 돌아가기로 지정
|
||||
$oMobile->setUpperUrl( getUrl('document_srl',''), Context::getLang('cmd_list') );
|
||||
|
||||
// 선택된 게시글이 없으면 목록을 출력
|
||||
} else {
|
||||
$document_list = Context::get('document_list');
|
||||
$childs = array();
|
||||
if($document_list && count($document_list)) {
|
||||
foreach($document_list as $key => $val) {
|
||||
$href = getUrl('mid',$_GET['mid'],'document_srl',$val->document_srl);
|
||||
$text = $val->getTitleText(10);
|
||||
$obj = null;
|
||||
$obj['href'] = $href;
|
||||
$obj['link'] = $obj['text'] = $text;
|
||||
$childs[] = $obj;
|
||||
}
|
||||
$oMobile->setChilds($childs);
|
||||
}
|
||||
|
||||
$page_navigation = Context::get('page_navigation');
|
||||
$totalPage = $page_navigation->last_page;
|
||||
$page = (int)Context::get('page');
|
||||
if(!$page) $page = 1;
|
||||
|
||||
// next/prevUrl 지정
|
||||
if($page>1) $oMobile->setPrevUrl(getUrl('mid',$_GET['mid'],'page',$page-1), sprintf('%s (%d/%d)', Context::getLang('cmd_prev'), $page-1, $totalPage));
|
||||
|
||||
if($page<$totalPage) $oMobile->setNextUrl(getUrl('mid',$_GET['mid'],'page',$page+1), sprintf('%s (%d/%d)', Context::getLang('cmd_next'), $page+1, $totalPage));
|
||||
|
||||
$oMobile->mobilePage = $page;
|
||||
$oMobile->totalPage = $totalPage;
|
||||
}
|
||||
// 게시판 이외의 경우
|
||||
} else {
|
||||
// 레이아웃은 사용하지 않도록 함
|
||||
Context::set('layout','none');
|
||||
|
||||
// 템플릿 컴파일
|
||||
$oTemplate = new TemplateHandler();
|
||||
$oContext = &Context::getInstance();
|
||||
|
||||
$content = $oTemplate->compile($this->getTemplatePath(), $this->getTemplateFile());
|
||||
$content = $oContext->transContent($content);
|
||||
$oMobile->setContent( $content);
|
||||
}
|
||||
// 네비게이트 모드가 아니고 WAP 클래스가 아니면 모듈의 결과를 출력
|
||||
} else if($called_position == 'after_module_proc') {
|
||||
// 내용 준비
|
||||
$oMobile->displayContent();
|
||||
}
|
||||
|
||||
// 홈버튼 지정
|
||||
$oMobile->setHomeUrl(getUrl(), Context::getLang('cmd_go_home'));
|
||||
|
||||
// 제목 지정
|
||||
$oMobile->setTitle(Context::getBrowserTitle());
|
||||
|
||||
// 출력
|
||||
$oMobile->display();
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -26,15 +26,19 @@
|
|||
$text = $matches[5];
|
||||
|
||||
// 레벨 아이콘의 위치를 구함
|
||||
$level_icon = sprintf('./modules/point/icons/%s/%d.gif', $config->level_icon, $level);
|
||||
$level_icon = sprintf('%smodules/point/icons/%s/%d.gif', Context::getRequestUri(), $config->level_icon, $level);
|
||||
|
||||
// 최고 레벨이 아니면 다음 레벨로 가기 위한 per을 구함
|
||||
// 최고 레벨이 아니면 다음 레벨로 가기 위한 per을 구함 :: 주석과 실제 내용이 맞지 않아 실제 내용을 수정
|
||||
if($level < $config->max_level) {
|
||||
$next_point = $config->level_step[$level+1];
|
||||
if($next_point > 0) $per = (int)($point / $next_point*100);
|
||||
$present_point = $config->level_step[$level];
|
||||
if($next_point > 0) {
|
||||
$per = (int)(($point - $present_point) / ($next_point - $present_point)*100);
|
||||
$per = $per.'%';
|
||||
}
|
||||
}
|
||||
|
||||
$title = sprintf('%s:%s%s %s, %s:%s/%s', Context::getLang('point'), $point, $config->point_name, $per?'('.$per.'%)':'', Context::getLang('level'), $level, $config->max_level);
|
||||
$title = sprintf('%s:%s%s%s, %s:%s/%s', Context::getLang('point'), $point, $config->point_name, $per?' ('.$per.')':'', Context::getLang('level'), $level, $config->max_level);
|
||||
$alt = sprintf('[%s:%s]', Context::getLang('level'), $level);
|
||||
|
||||
$GLOBALS['_pointLevelIcon'][$member_srl] = sprintf('<img src="%s" alt="%s" title="%s" style="vertical-align:middle; margin-right:3px;" />', $level_icon, $alt, $title);
|
||||
|
|
|
|||
|
|
@ -1,349 +1,204 @@
|
|||
/**
|
||||
* @brief 화면내에서 상위 영역보다 이미지가 크면 리사이즈를 하고 클릭시 원본을 보여줄수 있도록 변경
|
||||
**/
|
||||
var imageGalleryIndex = new Array();
|
||||
function resizeImageContents() {
|
||||
// 이미지 태그 정규 표현식
|
||||
var img_regx = new RegExp("<img","im");
|
||||
var site_regx = new RegExp("^"+request_uri,"im");
|
||||
|
||||
// xe_content 내의 이미지 요소들에 대한 체크
|
||||
var xe_objs = xGetElementsByClassName("xe_content");
|
||||
for(var j=0;j<xe_objs.length;j++) {
|
||||
(function($){
|
||||
|
||||
var xScreen = null;
|
||||
|
||||
imageGalleryIndex[j] = new Array();
|
||||
// 슬라이드를 위한 블랙 스크린을 만들거나 반환하는 함수
|
||||
function getScreen() {
|
||||
var body = $(document.body);
|
||||
var controls, imgframe, closebtn, prevbtn, nextbtn;
|
||||
|
||||
// 스크린이 없으면 스크린을 만든다.
|
||||
if (!xScreen) {
|
||||
// 검은 스크린
|
||||
xScreen = $("<div>")
|
||||
.attr("id","xe_gallery_screen")
|
||||
.css({
|
||||
position:"absolute",
|
||||
display:"none",
|
||||
backgroundColor:"black",
|
||||
zIndex:500,
|
||||
opacity:0.5
|
||||
});
|
||||
|
||||
// 이미지를 보여주고 컨트롤 버튼을 다룰 레이어
|
||||
controls = $("<div>")
|
||||
.attr("id","xe_gallery_controls")
|
||||
.css({
|
||||
position:"absolute",
|
||||
display:"none",
|
||||
overflow:"hidden",
|
||||
zIndex:510
|
||||
});
|
||||
|
||||
// 닫기 버튼
|
||||
closebtn = $("<img>")
|
||||
.attr("id", "xe_gallery_closebtn")
|
||||
.attr("src", request_uri+"addons/resize_image/iconClose.png")
|
||||
.css({
|
||||
top : "10px"
|
||||
})
|
||||
.click(function(){xScreen.xeHide()})
|
||||
.appendTo(controls);
|
||||
|
||||
// 이전 버튼
|
||||
prevbtn = $("<img>")
|
||||
.attr("id", "xe_gallery_prevbtn")
|
||||
.attr("src", request_uri+"addons/resize_image/iconLeft.png")
|
||||
.css("left","10px")
|
||||
.click(function(){xScreen.xePrev()})
|
||||
.appendTo(controls);
|
||||
|
||||
// 다음 버튼
|
||||
nextbtn = $("<img>")
|
||||
.attr("id", "xe_gallery_nextbtn")
|
||||
.attr("src", request_uri+"addons/resize_image/iconRight.png")
|
||||
.css("right","10px")
|
||||
.click(function(){xScreen.xeNext()})
|
||||
.appendTo(controls);
|
||||
|
||||
// 버튼 공통 속성
|
||||
controls.find("img")
|
||||
.attr({
|
||||
width : 60,
|
||||
height : 60,
|
||||
className : "iePngFix"
|
||||
})
|
||||
.css({
|
||||
position : "absolute",
|
||||
width : "60px",
|
||||
height : "60px",
|
||||
zIndex : 530,
|
||||
cursor : "pointer"
|
||||
});
|
||||
|
||||
// 이미지 홀더
|
||||
imgframe = $("<img>")
|
||||
.attr("id", "xe_gallery_holder")
|
||||
.css("border", "7px solid white")
|
||||
.css("zIndex", 520)
|
||||
.appendTo(controls).draggable();
|
||||
|
||||
var html = xInnerHtml(xe_objs[j]);
|
||||
if(!img_regx.test(html)) continue;
|
||||
body.append(xScreen).append(controls);
|
||||
|
||||
// xScreen 객체를 확장한다.
|
||||
xScreen.xeShow = function() {
|
||||
var clientWidth = $(window).width();
|
||||
var clientHeight = $(window).height();
|
||||
|
||||
$("#xe_gallery_controls,#xe_gallery_screen").css({
|
||||
display:"block",
|
||||
width : clientWidth + "px",
|
||||
height : clientHeight + "px",
|
||||
left : $(document).scrollLeft(),
|
||||
top : $(document).scrollTop()
|
||||
});
|
||||
|
||||
// 모든 이미지에 대한 체크를 시작
|
||||
var objs = xGetElementsByTagName("IMG", xe_objs[j]);
|
||||
closebtn.css("left", Math.round((clientWidth-60)/2) + "px");
|
||||
|
||||
for(var i=0;i<objs.length;i++) {
|
||||
var obj = objs[i];
|
||||
$("#xe_gallery_prevbtn,#xe_gallery_nextbtn").css("top", Math.round( (clientHeight-60)/2 ) + "px");
|
||||
|
||||
// XE내부 프로그램 또는 스킨의 이미지라면 이미지 리사이즈를 하지 않음
|
||||
if(!/\/(modules|addons|classes|common|layouts|libs|widgets)\//i.test(obj.src)) {
|
||||
var parent = obj.parentNode;
|
||||
while(parent) {
|
||||
if(/(document|comment)_([0-9]*)_([0-9]*)/i.test(parent.className) ) break;
|
||||
parent = parent.parentNode;
|
||||
}
|
||||
if(!parent) continue;
|
||||
this.xeMove(0);
|
||||
};
|
||||
xScreen.xeHide = function(event) {
|
||||
xScreen.css("display","none");
|
||||
controls.css("display","none");
|
||||
};
|
||||
xScreen.xePrev = function() {
|
||||
this.xeMove(-1);
|
||||
};
|
||||
xScreen.xeNext = function() {
|
||||
this.xeMove(1);
|
||||
};
|
||||
xScreen.xeMove = function(val) {
|
||||
var clientWidth = $(window).width();
|
||||
var clientHeight = $(window).height();
|
||||
|
||||
this.index += val;
|
||||
|
||||
var dummy = xCreateElement("div");
|
||||
dummy.style.visibility = "hidden";
|
||||
dummy.style.border = "1px solid red";
|
||||
parent.parentNode.insertBefore(dummy, parent);
|
||||
|
||||
var parent_width = xWidth(dummy);
|
||||
parent.parentNode.removeChild(dummy);
|
||||
dummy = null;
|
||||
|
||||
var obj_width = xWidth(obj);
|
||||
var obj_height = xHeight(obj);
|
||||
|
||||
// 만약 선택된 이미지의 가로 크기가 부모의 가로크기보다 크면 리사이즈 (이때 부모의 가로크기 - 2 정도로 지정해줌)
|
||||
if(obj_width > parent_width - 2) {
|
||||
obj.style.cursor = "pointer";
|
||||
var new_w = parent_width - 2;
|
||||
var new_h = Math.round(obj_height * new_w/obj_width);
|
||||
xWidth(obj, new_w);
|
||||
xHeight(obj, new_h);
|
||||
}
|
||||
|
||||
obj.style.cursor = "pointer";
|
||||
|
||||
// 만약 대상 이미지에 링크가 설정되어 있거나 onclick 이벤트가 부여되어 있으면 원본 보기를 하지 않음
|
||||
if(obj.parentNode.nodeName.toLowerCase()!='a' && !obj.getAttribute('onclick')) xAddEventListener(obj,"click", showOriginalImage);
|
||||
|
||||
obj.setAttribute("rel", j+','+imageGalleryIndex[j].length);
|
||||
imageGalleryIndex[j][imageGalleryIndex[j].length] = obj.src;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
xAddEventListener(window, "load", function() { setTimeout(resizeImageContents,1500); });
|
||||
|
||||
/**
|
||||
* @brief 본문내에서 컨텐츠 영역보다 큰 이미지의 경우 원본 크기를 보여줌
|
||||
**/
|
||||
function showOriginalImage(evt) {
|
||||
var e = new xEvent(evt);
|
||||
var obj = e.target;
|
||||
var src = obj.src;
|
||||
var rel = obj.getAttribute('rel');
|
||||
displayOriginalImage(src, rel);
|
||||
prevbtn.css("visibility", (this.index>0)?"visible":"hidden");
|
||||
nextbtn.css("visibility", (this.index<this.list.size()-1)?"visible":"hidden");
|
||||
|
||||
imgframe.attr("src", this.list.eq(this.index).attr("src"))
|
||||
.css({
|
||||
left : Math.round( Math.max( (clientWidth-imgframe.width()-14)/2, 0 ) ) + "px",
|
||||
top : Math.round( Math.max( (clientHeight-imgframe.height()-14)/2, 0 ) ) + "px"
|
||||
});
|
||||
};
|
||||
|
||||
// 스크린을 닫는 상황
|
||||
$(document).scroll(xScreen.xeHide);
|
||||
$(document).keydown(xScreen.xeHide);
|
||||
$(window).resize(xScreen.xeHide);
|
||||
$(window).scroll(xScreen.xeHide);
|
||||
} else {
|
||||
controls = $("#xe_gallery_controls");
|
||||
imgframe = $("#xe_gallery_holder");
|
||||
closebtn = $("#xe_gallery_closebtn");
|
||||
prevbtn = $("#xe_gallery_prevbtn");
|
||||
nextbtn = $("#xe_gallery_nextbtn");
|
||||
}
|
||||
|
||||
return xScreen;
|
||||
}
|
||||
|
||||
function displayOriginalImage(src, rel) {
|
||||
// 투명 배경을 지정
|
||||
var bgObj = xGetElementById("forOriginalImageBGArea");
|
||||
if(!bgObj) {
|
||||
bgObj = xCreateElement("div");
|
||||
bgObj.id = "forOriginalImageBGArea";
|
||||
bgObj.style.visibility = "hidden";
|
||||
bgObj.style.backgroundColor = "#000000";
|
||||
bgObj.style.zIndex = 500;
|
||||
bgObj.style.position = "absolute";
|
||||
document.body.appendChild(bgObj);
|
||||
}
|
||||
xWidth(bgObj, xClientWidth());
|
||||
xHeight(bgObj, xClientHeight());
|
||||
xLeft(bgObj, xScrollLeft());
|
||||
xTop(bgObj, xScrollTop());
|
||||
bgObj.style.opacity = .5;
|
||||
bgObj.style.filter = "alpha(opacity=50);";
|
||||
bgObj.style.visibility = "visible";
|
||||
// 이미지 슬라이드를 보는 함수
|
||||
function slideshow(event) {
|
||||
var container = $(this).parents(".xe_content");
|
||||
var imglist = container.find("img[rel=xe_gallery]");
|
||||
var currentIdx = $.inArray($(this).get(0), imglist.get());
|
||||
var xScreen = getScreen();
|
||||
|
||||
// 스크린을 보여주고
|
||||
xScreen.list = imglist;
|
||||
xScreen.index = currentIdx;
|
||||
xScreen.xeShow();
|
||||
}
|
||||
|
||||
// 원본 이미지 노출을 위한 준비
|
||||
var foreObj = xGetElementById("forOriginalImageArea");
|
||||
if(!foreObj) {
|
||||
foreObj = xCreateElement("div");
|
||||
foreObj.id = "forOriginalImageArea";
|
||||
foreObj.style.visibility = "hidden";
|
||||
foreObj.style.overflow = "hidden";
|
||||
foreObj.style.position = "absolute";
|
||||
foreObj.style.zIndex = 510;
|
||||
document.body.appendChild(foreObj);
|
||||
}
|
||||
xWidth(foreObj, xClientWidth());
|
||||
xHeight(foreObj, xClientHeight());
|
||||
xLeft(foreObj, xScrollLeft());
|
||||
xTop(foreObj, xScrollTop());
|
||||
foreObj.style.visibility = "visible";
|
||||
$(window).load(function(){
|
||||
var regx_skip = /(?:modules|addons|classes|common|layouts|libs|widgets)/i;
|
||||
var regx_parent = /(?:document|comment)_[0-9]+_[0-9]+/i;
|
||||
|
||||
var foreWidth = xWidth(foreObj);
|
||||
var foreHeight = xHeight(foreObj);
|
||||
var xe_content = $(".xe_content");
|
||||
var overflow = xe_content.css("overflow");
|
||||
var width = xe_content.css("width");
|
||||
xe_content.css("overflow","hidden");
|
||||
xe_content.css("width","100%");
|
||||
var offsetWidth = xe_content.attr("offsetWidth");
|
||||
xe_content.css("overflow",overflow);
|
||||
xe_content.css("width",width);
|
||||
|
||||
// 버튼
|
||||
var iconClose = xGetElementById("forOriginalImageIconClose");
|
||||
if(!iconClose) {
|
||||
iconClose = xCreateElement("img");
|
||||
iconClose.id = "forOriginalImageIconClose";
|
||||
iconClose.style.position = "absolute";
|
||||
iconClose.src = request_uri+"addons/resize_image/iconClose.png";
|
||||
iconClose.style.width = iconClose.style.height = "60px";
|
||||
iconClose.className = 'iePngFix';
|
||||
iconClose.style.zIndex = 530;
|
||||
iconClose.style.cursor = "pointer";
|
||||
foreObj.appendChild(iconClose);
|
||||
}
|
||||
iconClose.style.visibility = 'visible';
|
||||
xLeft(iconClose, (foreWidth-60)/2);
|
||||
xTop(iconClose, 10);
|
||||
|
||||
var iconLeft = xGetElementById("forOriginalImageIconLeft");
|
||||
if(!iconLeft) {
|
||||
iconLeft = xCreateElement("img");
|
||||
iconLeft.id = "forOriginalImageIconLeft";
|
||||
iconLeft.style.position = "absolute";
|
||||
iconLeft.src = request_uri+"addons/resize_image/iconLeft.png";
|
||||
iconLeft.style.width = iconLeft.style.height = "60px";
|
||||
iconLeft.style.zIndex = 530;
|
||||
iconLeft.className = 'iePngFix';
|
||||
iconLeft.style.cursor = "pointer";
|
||||
foreObj.appendChild(iconLeft);
|
||||
}
|
||||
iconLeft.onclick = null;
|
||||
xLeft(iconLeft, 10);
|
||||
xTop(iconLeft, (foreHeight-60)/2);
|
||||
iconLeft.style.visibility = 'hidden';
|
||||
|
||||
var iconRight = xGetElementById("forOriginalImageIconRight");
|
||||
if(!iconRight) {
|
||||
iconRight = xCreateElement("img");
|
||||
iconRight.id = "forOriginalImageIconRight";
|
||||
iconRight.style.position = "absolute";
|
||||
iconRight.src = request_uri+"addons/resize_image/iconRight.png";
|
||||
iconRight.style.width = iconRight.style.height = "60px";
|
||||
iconRight.className = 'iePngFix';
|
||||
iconRight.style.zIndex = 530;
|
||||
iconRight.style.cursor = "pointer";
|
||||
foreObj.appendChild(iconRight);
|
||||
}
|
||||
iconRight.onclick = null;
|
||||
xLeft(iconRight, foreWidth - 10 - 60);
|
||||
xTop(iconRight, (foreHeight-60)/2);
|
||||
iconRight.style.visibility = 'hidden';
|
||||
|
||||
|
||||
if(rel) {
|
||||
var tmp = rel.split(',');
|
||||
var j = parseInt(tmp[0],10);
|
||||
var i = parseInt(tmp[1],10);
|
||||
var length = imageGalleryIndex[j].length;
|
||||
|
||||
if(length>1) {
|
||||
|
||||
var prev = i-1;
|
||||
var next = i+1;
|
||||
if(prev>=0) {
|
||||
iconLeft.style.visibility = 'visible';
|
||||
iconLeft.onclick = function() { displayOriginalImage(imageGalleryIndex[j][prev], j+','+prev); }
|
||||
} else {
|
||||
iconLeft.style.visibility = 'hidden';
|
||||
}
|
||||
|
||||
if(next<length) {
|
||||
iconRight.style.visibility = 'visible';
|
||||
iconRight.onclick = function() { displayOriginalImage(imageGalleryIndex[j][next], j+','+next); }
|
||||
} else {
|
||||
iconRight.style.visibility = 'hidden';
|
||||
}
|
||||
// 이미지 목록을 가져와서 리사이즈
|
||||
$(".xe_content img").each(function(){
|
||||
var img = $(this);
|
||||
var src = img.attr("src");
|
||||
var width = img.attr("width");
|
||||
var height = img.attr("height");
|
||||
|
||||
// XE 내부 프로그램 또는 스킨의 이미지라면 이미지 리사이즈를 하지 않음
|
||||
if ( regx_skip.test(src) ) return;
|
||||
|
||||
// 커스텀 속성 추가
|
||||
img.attr("rel", "xe_gallery");
|
||||
|
||||
// 크기를 계산한다
|
||||
if(width>offsetWidth) {
|
||||
img.attr("width",offsetWidth-1);
|
||||
img.attr("height",parseInt(offsetWidth/width*height,10));
|
||||
}
|
||||
|
||||
}
|
||||
// 링크가 설정되어 있거나 onclick 이벤트가 부여되어 있으면 원본 보기를 하지 않음
|
||||
if ( !img.parent("a").size() && !img.attr("onclick") ) {
|
||||
// 스타일 설정
|
||||
img.css("cursor", "pointer");
|
||||
|
||||
// 클릭하면 슬라이드쇼 시작
|
||||
img.click(slideshow);
|
||||
}
|
||||
|
||||
// 원본 이미지를 추가
|
||||
var origObj = xGetElementById("forOriginalImage");
|
||||
if(origObj) foreObj.removeChild(origObj);
|
||||
|
||||
origObj = null;
|
||||
origObj = xCreateElement("img");
|
||||
origObj.id = "forOriginalImage";
|
||||
origObj.style.border = "7px solid #ffffff";
|
||||
origObj.style.visibility = "hidden";
|
||||
origObj.style.cursor = "move";
|
||||
origObj.style.zIndex = 520;
|
||||
foreObj.appendChild(origObj);
|
||||
|
||||
origObj.style.position = "relative";
|
||||
origObj.src = src;
|
||||
|
||||
var objWidth = xWidth(origObj);
|
||||
var objHeight = xHeight(origObj);
|
||||
|
||||
var posX = 0;
|
||||
var posY = 0;
|
||||
|
||||
if(objWidth < foreWidth) posX = parseInt( (foreWidth - objWidth) / 2, 10);
|
||||
if(objHeight < foreHeight) posY = parseInt( (foreHeight - objHeight) / 2, 10);
|
||||
|
||||
xLeft(origObj, posX);
|
||||
xTop(origObj, posY);
|
||||
|
||||
origObj.style.visibility = "visible";
|
||||
|
||||
var sel_list = xGetElementsByTagName("select");
|
||||
for (var i = 0; i < sel_list.length; ++i) sel_list[i].style.visibility = "hidden";
|
||||
|
||||
xAddEventListener(origObj, "mousedown", origImageDragEnable);
|
||||
xAddEventListener(origObj, "dblclick", closeOriginalImage);
|
||||
xAddEventListener(iconClose, "mousedown", closeOriginalImage);
|
||||
xAddEventListener(window, "scroll", closeOriginalImage);
|
||||
xAddEventListener(window, "resize", closeOriginalImage);
|
||||
xAddEventListener(document, 'keydown',closeOriginalImage);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 원본 이미지 보여준 후 닫는 함수
|
||||
**/
|
||||
function closeOriginalImage(evt) {
|
||||
var bgObj = xGetElementById("forOriginalImageBGArea");
|
||||
var foreObj = xGetElementById("forOriginalImageArea");
|
||||
var origObj = xGetElementById("forOriginalImage");
|
||||
var iconClose = xGetElementById("forOriginalImageIconClose");
|
||||
var iconLeft = xGetElementById("forOriginalImageIconLeft");
|
||||
var iconRight = xGetElementById("forOriginalImageIconRight");
|
||||
|
||||
var sel_list = xGetElementsByTagName("select");
|
||||
for (var i = 0; i < sel_list.length; ++i) sel_list[i].style.visibility = "visible";
|
||||
|
||||
xRemoveEventListener(origObj, "mousedown", origImageDragEnable);
|
||||
xRemoveEventListener(origObj, "dblclick", closeOriginalImage);
|
||||
xRemoveEventListener(iconClose, "mousedown", closeOriginalImage);
|
||||
xRemoveEventListener(window, "scroll", closeOriginalImage);
|
||||
xRemoveEventListener(window, "resize", closeOriginalImage);
|
||||
xRemoveEventListener(document, 'keydown',closeOriginalImage);
|
||||
|
||||
bgObj.style.visibility = "hidden";
|
||||
foreObj.style.visibility = "hidden";
|
||||
origObj.style.visibility = "hidden";
|
||||
iconClose.style.visibility = 'hidden';
|
||||
iconLeft.style.visibility = 'hidden';
|
||||
iconRight.style.visibility = 'hidden';
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 원본 이미지 드래그
|
||||
**/
|
||||
var origDragManager = {obj:null, isDrag:false}
|
||||
function origImageDragEnable(evt) {
|
||||
var e = new xEvent(evt);
|
||||
var obj = e.target;
|
||||
if(obj.id != "forOriginalImage") return;
|
||||
|
||||
obj.draggable = true;
|
||||
obj.startX = e.pageX;
|
||||
obj.startY = e.pageY;
|
||||
|
||||
if(!origDragManager.isDrag) {
|
||||
origDragManager.isDrag = true;
|
||||
xAddEventListener(document, "mousemove", origImageDragMouseMove, false);
|
||||
}
|
||||
|
||||
xAddEventListener(document, "mousedown", origImageDragMouseDown, false);
|
||||
}
|
||||
|
||||
function origImageDrag(obj, px, py) {
|
||||
var x = px - obj.startX;
|
||||
var y = py - obj.startY;
|
||||
|
||||
var origObj = xGetElementById("forOriginalImage");
|
||||
xLeft(origObj, xLeft(origObj)+x);
|
||||
xTop(origObj, xTop(origObj)+y);
|
||||
|
||||
obj.startX = px;
|
||||
obj.startY = py;
|
||||
}
|
||||
|
||||
function origImageDragMouseDown(evt) {
|
||||
var e = new xEvent(evt);
|
||||
var obj = e.target;
|
||||
if(obj.id != "forOriginalImage" || !obj.draggable) return;
|
||||
|
||||
if(obj) {
|
||||
xPreventDefault(evt);
|
||||
obj.startX = e.pageX;
|
||||
obj.startY = e.pageY;
|
||||
origDragManager.obj = obj;
|
||||
xAddEventListener(document, 'mouseup', origImageDragMouseUp, false);
|
||||
origImageDrag(obj, e.pageX, e.pageY);
|
||||
}
|
||||
}
|
||||
|
||||
function origImageDragMouseUp(evt) {
|
||||
if(origDragManager.obj) {
|
||||
xPreventDefault(evt);
|
||||
xRemoveEventListener(document, 'mouseup', origImageDragMouseUp, false);
|
||||
xRemoveEventListener(document, 'mousemove', origImageDragMouseMove, false);
|
||||
xRemoveEventListener(document, 'mousemdown', origImageDragMouseDown, false);
|
||||
origDragManager.obj.draggable = false;
|
||||
origDragManager.obj = null;
|
||||
origDragManager.isDrag = false;
|
||||
}
|
||||
}
|
||||
|
||||
function origImageDragMouseMove(evt) {
|
||||
var e = new xEvent(evt);
|
||||
var obj = e.target;
|
||||
if(!obj) return;
|
||||
if(obj.id != "forOriginalImage") {
|
||||
xPreventDefault(evt);
|
||||
xRemoveEventListener(document, 'mouseup', origImageDragMouseUp, false);
|
||||
xRemoveEventListener(document, 'mousemove', origImageDragMouseMove, false);
|
||||
xRemoveEventListener(document, 'mousemdown', origImageDragMouseDown, false);
|
||||
origDragManager.obj.draggable = false;
|
||||
origDragManager.obj = null;
|
||||
origDragManager.isDrag = false;
|
||||
return;
|
||||
}
|
||||
|
||||
xPreventDefault(evt);
|
||||
origDragManager.obj = obj;
|
||||
xAddEventListener(document, 'mouseup', origImageDragMouseUp, false);
|
||||
origImageDrag(obj, e.pageX, e.pageY);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@
|
|||
* @brief 본문내 이미지 조절 애드온
|
||||
**/
|
||||
|
||||
if($called_position == 'after_module_proc' && Context::getResponseMethod()!="XMLRPC") {
|
||||
if($called_position == 'after_module_proc' && Context::getResponseMethod()=="HTML") {
|
||||
Context::loadJavascriptPlugin('ui');
|
||||
Context::addJsFile('./addons/resize_image/js/resize_image.js',false);
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -1203,8 +1203,8 @@
|
|||
// <img|br> 코드 변환
|
||||
$content = preg_replace('/<(img|br)([^>\/]*)(\/>|>)/i','<$1$2 />', $content);
|
||||
|
||||
// 주소/?mid등과 같은 index.php가 명시되지 않은 파일의 target 변경
|
||||
//$content = str_replace(Context::getRequestUri().'?',Context::getRequestUri().'index.php?',$content);
|
||||
// templateHandler의 이미지 경로로 인하여 생기는 절대경로 이미지등의 경로 중복 처리
|
||||
$content = preg_replace('/src=(["|\']?)http:\/\/([^ ]+)http:\/\//is','src=$1http://', $content);
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -623,8 +623,12 @@
|
|||
$type = $this->getColumnType($column_type,$name);
|
||||
$pipe = $v['pipe'];
|
||||
|
||||
$value = $this->getConditionValue($name, $value, $operation, $type, $column_type);
|
||||
$value = $this->getConditionValue('"'.$name.'"', $value, $operation, $type, $column_type);
|
||||
if(!$value) $value = $v['value'];
|
||||
|
||||
$name = $this->autoQuotes($name);
|
||||
$value = $this->autoValueQuotes($value, $output);
|
||||
|
||||
$str = $this->getConditionPart($name, $value, $operation);
|
||||
if($sub_condition) $sub_condition .= ' '.$pipe.' ';
|
||||
$sub_condition .= $str;
|
||||
|
|
|
|||
|
|
@ -161,97 +161,44 @@
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief 디버그 모드일 경우 디버기 메세지 출력
|
||||
* @brief 디버그 모드일 경우 디버깅 메시지 출력
|
||||
*
|
||||
* __DEBUG__가 1이상일 경우 각 부분의 실행시간등을 debugPrint 함수를 이용해서 출력\n
|
||||
* 개발시나 테스트시에 config/config.inc.php의 __DEBUG__를 세팅하고\n
|
||||
* tail -f ./files/_debug_message.php로 하여 console로 확인하면 편리함\n
|
||||
* __DEBUG__ 값이 1 이상이면 __DEBUG_OUTPUT__ 값에 따라 메시지 출력.
|
||||
* __DEBUG__를 세팅하고, __DEBUG_OUTPUT__ == 0 이면
|
||||
* tail -f ./files/_debug_message.php로 하여 console로 확인하면 편리함
|
||||
**/
|
||||
function _debugOutput() {
|
||||
if(!__DEBUG__) return;
|
||||
|
||||
$end = getMicroTime();
|
||||
|
||||
if(__DEBUG_OUTPUT__ != 2 || (__DEBUG_OUTPUT__ == 2 && !version_compare(PHP_VERSION, '5.2.0', '>'))) {
|
||||
// debug string 작성 시작
|
||||
$buff = "\n\n** Debug at ".date('Y-m-d H:i:s')." ************************************************************\n";
|
||||
|
||||
// Request/Response 정보 작성
|
||||
$buff .= "\n- Request/ Response info\n";
|
||||
$buff .= sprintf("\tRequest URI \t\t\t: %s:%s%s%s%s\n", $_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT'], $_SERVER['PHP_SELF'], $_SERVER['QUERY_STRING']?'?':'', $_SERVER['QUERY_STRING']);
|
||||
$buff .= sprintf("\tRequest method \t\t\t: %s\n", $_SERVER['REQUEST_METHOD']);
|
||||
$buff .= sprintf("\tResponse method \t\t: %s\n", Context::getResponseMethod());
|
||||
$buff .= sprintf("\tResponse contents size\t\t: %d byte\n", $this->getContentSize());
|
||||
|
||||
// DB 로그 작성
|
||||
if(__DEBUG__ > 1) {
|
||||
if($GLOBALS['__db_queries__']) {
|
||||
$buff .= "\n- DB Queries\n";
|
||||
$num = 0;
|
||||
foreach($GLOBALS['__db_queries__'] as $query) {
|
||||
$buff .= sprintf("\t%02d. %s (%0.6f sec)\n", ++$num, $query['query'], $query['elapsed_time']);
|
||||
if($query['result'] == 'Success') {
|
||||
$buff .= "\t Query Success\n";
|
||||
} else {
|
||||
$buff .= sprintf("\t Query $s : %d\n\t\t\t %s\n", $query['result'], $query['errno'], $query['errstr']);
|
||||
}
|
||||
}
|
||||
}
|
||||
$buff .= "\n- Elapsed time\n";
|
||||
|
||||
if($GLOBALS['__db_elapsed_time__']) $buff .= sprintf("\tDB queries elapsed time\t\t: %0.5f sec\n", $GLOBALS['__db_elapsed_time__']);
|
||||
}
|
||||
|
||||
// 기타 로그 작성
|
||||
if(__DEBUG__==3) {
|
||||
$buff .= sprintf("\tclass file load elapsed time \t: %0.5f sec\n", $GLOBALS['__elapsed_class_load__']);
|
||||
$buff .= sprintf("\tTemplate compile elapsed time\t: %0.5f sec (%d called)\n", $GLOBALS['__template_elapsed__'], $GLOBALS['__TemplateHandlerCalled__']);
|
||||
$buff .= sprintf("\tXmlParse compile elapsed time\t: %0.5f sec\n", $GLOBALS['__xmlparse_elapsed__']);
|
||||
$buff .= sprintf("\tPHP elapsed time \t\t: %0.5f sec\n", $end-__StartTime__-$GLOBALS['__template_elapsed__']-$GLOBALS['__xmlparse_elapsed__']-$GLOBALS['__db_elapsed_time__']-$GLOBALS['__elapsed_class_load__']);
|
||||
|
||||
// 위젯 실행 시간 작성
|
||||
$buff .= sprintf("\n\tWidgets elapsed time \t\t: %0.5f sec", $GLOBALS['__widget_excute_elapsed__']);
|
||||
|
||||
// 레이아웃 실행 시간
|
||||
$buff .= sprintf("\n\tLayout compile elapsed time \t: %0.5f sec", $GLOBALS['__layout_compile_elapsed__']);
|
||||
|
||||
// 위젯, 에디터 컴포넌트 치환 시간
|
||||
$buff .= sprintf("\n\tTrans widget&editor elapsed time: %0.5f sec\n\n", $GLOBALS['__trans_widget_editor_elapsed__']);
|
||||
}
|
||||
|
||||
// 전체 실행 시간 작성
|
||||
$buff .= sprintf("\tTotal elapsed time \t\t: %0.5f sec", $end-__StartTime__);
|
||||
}
|
||||
|
||||
if(__DEBUG_OUTPUT__ == 1 && Context::getResponseMethod() == 'HTML') {
|
||||
if(__DEBUG_PROTECT__ == 1 && __DEBUG_PROTECT_IP__ != $_SERVER['REMOTE_ADDR']) {
|
||||
$buff = '허용되지 않은 IP 입니다. config/config.inc.php 파일의 __DEBUG_PROTECT_IP__ 상수 값을 자신의 IP로 변경하세요.';
|
||||
}
|
||||
return "<!--\r\n".$buff."\r\n-->";
|
||||
}
|
||||
|
||||
if(__DEBUG_OUTPUT__==0) debugPrint($buff, false);
|
||||
|
||||
// Firebug 콘솔 출력
|
||||
if(__DEBUG_OUTPUT__ == 2 && version_compare(PHP_VERSION, '5.2.0', '>')) {
|
||||
debugPrint(
|
||||
array('Request / Response info >>> '.Context::getResponseMethod().' / '.$_SERVER['REQUEST_METHOD'],
|
||||
array(
|
||||
array('Request URI', 'Request method', 'Response method', 'Response contents size'),
|
||||
array(
|
||||
sprintf("%s:%s%s%s%s", $_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT'], $_SERVER['PHP_SELF'], $_SERVER['QUERY_STRING']?'?':'', $_SERVER['QUERY_STRING']),
|
||||
$_SERVER['REQUEST_METHOD'],
|
||||
Context::getResponseMethod(),
|
||||
$this->getContentSize().' byte'
|
||||
)
|
||||
)
|
||||
),
|
||||
'TABLE'
|
||||
);
|
||||
if(__DEBUG_OUTPUT__ == 2 && version_compare(PHP_VERSION, '5.2.0', '>=')) {
|
||||
static $firephp;
|
||||
if(!isset($firephp)) $firephp = FirePHP::getInstance(true);
|
||||
|
||||
// 기타 로그 작성
|
||||
if(__DEBUG__ == 3 || __DEBUG__ == 1) {
|
||||
debugPrint(
|
||||
if(__DEBUG_PROTECT__ == 1 && __DEBUG_PROTECT_IP__ != $_SERVER['REMOTE_ADDR']) {
|
||||
$firephp->fb('Change the value of __DEBUG_PROTECT_IP__ into your IP address in config/config.user.inc.php or config/config.inc.php', 'The IP address is not allowed.');
|
||||
return;
|
||||
}
|
||||
|
||||
// 전체 실행 시간 출력, Request/Response info 출력
|
||||
if(__DEBUG__ & 2) {
|
||||
$firephp->fb(
|
||||
array('Request / Response info >>> '.$_SERVER['REQUEST_METHOD'].' / '.Context::getResponseMethod(),
|
||||
array(
|
||||
array('Request URI', 'Request method', 'Response method', 'Response contents size'),
|
||||
array(
|
||||
sprintf("%s:%s%s%s%s", $_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT'], $_SERVER['PHP_SELF'], $_SERVER['QUERY_STRING']?'?':'', $_SERVER['QUERY_STRING']),
|
||||
$_SERVER['REQUEST_METHOD'],
|
||||
Context::getResponseMethod(),
|
||||
$this->getContentSize().' byte'
|
||||
)
|
||||
)
|
||||
),
|
||||
'TABLE'
|
||||
);
|
||||
$firephp->fb(
|
||||
array('Elapsed time >>> Total : '.sprintf('%0.5f sec', $end - __StartTime__),
|
||||
array(array('DB queries', 'class file load', 'Template compile', 'XmlParse compile', 'PHP', 'Widgets', 'Trans widget&editor'),
|
||||
array(
|
||||
|
|
@ -269,21 +216,95 @@
|
|||
);
|
||||
}
|
||||
|
||||
// DB 쿼리 로그
|
||||
if(__DEBUG__ > 1) {
|
||||
// DB 쿼리 내역 출력
|
||||
if((__DEBUG__ & 4) && $GLOBALS['__db_queries__']) {
|
||||
$queries_output = array(array('Query', 'Elapsed time', 'Result'));
|
||||
foreach($GLOBALS['__db_queries__'] as $query) {
|
||||
array_push($queries_output, array($query['query'], sprintf('%0.5f', $query['elapsed_time']), $query['result']));
|
||||
}
|
||||
debugPrint(
|
||||
array('DB Queries >>> '.count($GLOBALS['__db_queries__']).' Queries, '.sprintf('%0.5f sec', $GLOBALS['__db_elapsed_time__']), $queries_output),
|
||||
$firephp->fb(
|
||||
array(
|
||||
'DB Queries >>> '.count($GLOBALS['__db_queries__']).' Queries, '.sprintf('%0.5f sec', $GLOBALS['__db_elapsed_time__']),
|
||||
$queries_output
|
||||
),
|
||||
'TABLE'
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// 파일 및 HTML 주석으로 출력
|
||||
} else {
|
||||
// debug string 작성 시작
|
||||
$buff = "** Debug at ".date('Y-m-d H:i:s').str_repeat('*', 60)."\n";
|
||||
|
||||
// 전체 실행 시간 출력, Request/Response info 출력
|
||||
if(__DEBUG__ & 2) {
|
||||
// Request/Response 정보 작성
|
||||
$buff .= "\n- Request/ Response info\n";
|
||||
$buff .= sprintf("\tRequest URI \t\t\t: %s:%s%s%s%s\n", $_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT'], $_SERVER['PHP_SELF'], $_SERVER['QUERY_STRING']?'?':'', $_SERVER['QUERY_STRING']);
|
||||
$buff .= sprintf("\tRequest method \t\t\t: %s\n", $_SERVER['REQUEST_METHOD']);
|
||||
$buff .= sprintf("\tResponse method \t\t: %s\n", Context::getResponseMethod());
|
||||
$buff .= sprintf("\tResponse contents size\t\t: %d byte\n", $this->getContentSize());
|
||||
|
||||
// 전체 실행 시간
|
||||
$buff .= sprintf("\n- Total elapsed time : %0.5f sec\n", $end-__StartTime__);
|
||||
|
||||
$buff .= sprintf("\tclass file load elapsed time \t: %0.5f sec\n", $GLOBALS['__elapsed_class_load__']);
|
||||
$buff .= sprintf("\tTemplate compile elapsed time\t: %0.5f sec (%d called)\n", $GLOBALS['__template_elapsed__'], $GLOBALS['__TemplateHandlerCalled__']);
|
||||
$buff .= sprintf("\tXmlParse compile elapsed time\t: %0.5f sec\n", $GLOBALS['__xmlparse_elapsed__']);
|
||||
$buff .= sprintf("\tPHP elapsed time \t\t: %0.5f sec\n", $end-__StartTime__-$GLOBALS['__template_elapsed__']-$GLOBALS['__xmlparse_elapsed__']-$GLOBALS['__db_elapsed_time__']-$GLOBALS['__elapsed_class_load__']);
|
||||
|
||||
// 위젯 실행 시간 작성
|
||||
$buff .= sprintf("\n\tWidgets elapsed time \t\t: %0.5f sec", $GLOBALS['__widget_excute_elapsed__']);
|
||||
|
||||
// 레이아웃 실행 시간
|
||||
$buff .= sprintf("\n\tLayout compile elapsed time \t: %0.5f sec", $GLOBALS['__layout_compile_elapsed__']);
|
||||
|
||||
// 위젯, 에디터 컴포넌트 치환 시간
|
||||
$buff .= sprintf("\n\tTrans widget&editor elapsed time: %0.5f sec\n", $GLOBALS['__trans_widget_editor_elapsed__']);
|
||||
}
|
||||
|
||||
// DB 로그 작성
|
||||
if(__DEBUG__ & 4) {
|
||||
if($GLOBALS['__db_queries__']) {
|
||||
$buff .= sprintf("\n- DB Queries : %d Queries. %0.5f sec\n", count($GLOBALS['__db_queries__']), $GLOBALS['__db_elapsed_time__']);
|
||||
$num = 0;
|
||||
|
||||
foreach($GLOBALS['__db_queries__'] as $query) {
|
||||
$buff .= sprintf("\t%02d. %s\n\t\t%0.6f sec. ", ++$num, $query['query'], $query['elapsed_time']);
|
||||
if($query['result'] == 'Success') {
|
||||
$buff .= "Query Success\n";
|
||||
} else {
|
||||
$buff .= sprintf("Query $s : %d\n\t\t\t %s\n", $query['result'], $query['errno'], $query['errstr']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// HTML 주석으로 출력
|
||||
if(__DEBUG_OUTPUT__ == 1 && Context::getResponseMethod() == 'HTML') {
|
||||
if(__DEBUG_PROTECT__ == 1 && __DEBUG_PROTECT_IP__ != $_SERVER['REMOTE_ADDR']) {
|
||||
$buff = 'The IP address is not allowed. Change the value of __DEBUG_PROTECT_IP__ into your IP address in config/config.user.inc.php or config/config.inc.php';
|
||||
}
|
||||
return "<!--\r\n".$buff."\r\n-->";
|
||||
}
|
||||
|
||||
// 파일에 출력
|
||||
if(__DEBUG_OUTPUT__ == 0) {
|
||||
$debug_file = _XE_PATH_.'files/_debug_message.php';
|
||||
$debug_output = sprintf("[%s %s:%d]\n%s\n", date('Y-m-d H:i:s'), $file_name, $line_num, print_r($debug_output, true));
|
||||
|
||||
if($display_option === true) $debug_output = str_repeat('=', 40)."\n".$debug_output.str_repeat('-', 40);
|
||||
$debug_output = "\n<?php\n/*".$debug_output."*/\n?>\n";
|
||||
|
||||
if(@!$fp = fopen($debug_file, 'a')) return;
|
||||
fwrite($fp, $debug_output);
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief RequestMethod에 맞춰 헤더 출력
|
||||
***/
|
||||
|
|
|
|||
|
|
@ -18,6 +18,39 @@
|
|||
return $source;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief 특정 디렉토리를 복사
|
||||
**/
|
||||
function copyDir($source_dir, $target_dir, $filter=null,$type=null){
|
||||
$source_dir = FileHandler::getRealPath($source_dir);
|
||||
$target_dir = FileHandler::getRealPath($target_dir);
|
||||
if(!is_dir($source_dir)) return false;
|
||||
|
||||
// target이 없을땐 생성
|
||||
if(!file_exists($target_dir)) FileHandler::makeDir($target_dir);
|
||||
|
||||
if(substr($source_dir, -1) != '/') $source_dir .= '/';
|
||||
if(substr($target_dir, -1) != '/') $target_dir .= '/';
|
||||
|
||||
$oDir = dir($source_dir);
|
||||
while($file = $oDir->read()) {
|
||||
if(substr($file,0,1)=='.') continue;
|
||||
if($filter && preg_match($filter, $file)) continue;
|
||||
if(is_dir($source_dir.$file)){
|
||||
FileHandler::copyDir($source_dir.$file,$target_dir.$file,$type);
|
||||
}else{
|
||||
if($type == 'force'){
|
||||
@unlink($target_dir.$file);
|
||||
}else{
|
||||
if(!file_exists($target_dir.$file)) @copy($source_dir.$file,$target_dir.$file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 파일의 내용을 읽어서 return
|
||||
**/
|
||||
|
|
|
|||
|
|
@ -331,6 +331,10 @@
|
|||
$instance_name = sprintf("%s%s",$module,"API");
|
||||
$class_file = sprintf('%s%s%s.api.php', _XE_PATH_, $class_path, $module);
|
||||
break;
|
||||
case 'wap' :
|
||||
$instance_name = sprintf("%s%s",$module,"WAP");
|
||||
$class_file = sprintf('%s%s%s.wap.php', _XE_PATH_, $class_path, $module);
|
||||
break;
|
||||
case 'class' :
|
||||
$instance_name = $module;
|
||||
$class_file = sprintf('%s%s%s.class.php', _XE_PATH_, $class_path, $module);
|
||||
|
|
|
|||
|
|
@ -66,7 +66,13 @@
|
|||
|
||||
array_unshift($files, array('file' => $path.'/'.$filename, 'media' => 'all'));
|
||||
|
||||
return $this->_getOptimizedRemoved($files);
|
||||
$files = $this->_getOptimizedRemoved($files);
|
||||
if(!count($files)) return $files;
|
||||
|
||||
foreach($files as $key => $val) {
|
||||
if(substr($val['file'],0,2)=='./') $files[$key]['file'] = Context::getRequestUri().substr($val['file'],2);
|
||||
}
|
||||
return $files;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -208,10 +214,15 @@ if(!$cached) {
|
|||
}
|
||||
|
||||
function _replaceCssPath($matches) {
|
||||
static $abpath = null;
|
||||
if(is_null($abpath)) {
|
||||
$url_info = parse_url(Context::getRequestUri());
|
||||
$abpath = $url_info['path'];
|
||||
}
|
||||
$path = str_replace(array('"',"'"),'',$matches[1]);
|
||||
if(preg_match('/^http|^\//i', $path) || preg_match('/\.htc$/i',$path) ) return $matches[0];
|
||||
|
||||
return 'url("../../../../'.$this->tmp_css_path.$path.'")';
|
||||
return 'url("'.$abpath.$this->tmp_css_path.$path.'")';
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
// tpl_file이 비어 있거나 해당 파일이 없으면 return
|
||||
if(!$tpl_file || !file_exists(FileHandler::getRealPath($tpl_file))) return;
|
||||
|
||||
$this->tpl_path = $tpl_path;
|
||||
$this->tpl_path = preg_replace('/^\.\//','',$tpl_path);
|
||||
$this->tpl_file = $tpl_file;
|
||||
|
||||
// compiled된(or 될) 파일이름을 구함
|
||||
|
|
@ -155,12 +155,11 @@
|
|||
$str1 = $matches[0];
|
||||
$str2 = $path = $matches[3];
|
||||
|
||||
if(!preg_match('/^([a-z0-9\_\.])/i',$path)) return $str1;
|
||||
if(substr($path,0,1)=='/') return $str1;
|
||||
|
||||
$path = preg_replace('/^(\.\/|\/)/','',$path);
|
||||
$path = '<?php echo $this->tpl_path?>'.$path;
|
||||
$output = str_replace($str2, $path, $str1);
|
||||
return $output;
|
||||
if(substr($path,0,2)=='./') $path = substr($path,2);
|
||||
$path = '<?php echo Context::getRequestUri().$this->tpl_path; ?>'.$path;
|
||||
return str_replace($str2, $path, $str1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@
|
|||
* 관리자가 지정한 위젯의 style을 구함
|
||||
**/
|
||||
// 가끔 잘못된 코드인 background-image:url(none)이 들어 있을 수가 있는데 이럴 경우 none에 대한 url을 요청하므로 무조건 제거함
|
||||
$style = preg_replace('/background\-image: url\(none\)/is','', $args->style);
|
||||
$style = preg_replace('/background\-image: url\((.+)(\/?)none\)/is','', $args->style);
|
||||
|
||||
// 내부 여백을 둔 것을 구해서 style문으로 미리 변경해 놓음
|
||||
$widget_padding_left = $args->widget_padding_left;
|
||||
|
|
@ -132,7 +132,7 @@
|
|||
case 'widgetContent' :
|
||||
if($args->document_srl) {
|
||||
$oDocument = $oDocumentModel->getDocument($args->document_srl);
|
||||
$body = $oDocument->getContent(false,false,false);
|
||||
$body = $oDocument->getContent(false,false,false, false);
|
||||
} else {
|
||||
$body = base64_decode($args->body);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -472,7 +472,7 @@ function displayMultimedia(src, width, height, options) {
|
|||
var codebase = "";
|
||||
var html = "";
|
||||
|
||||
if(/\.swf/i.test(src)) {
|
||||
if(/\.swf$/i.test(src)) {
|
||||
clsid = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';
|
||||
codebase = "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0";
|
||||
html = '<object classid="'+clsid+'" codebase="'+codebase+'" width="'+width+'" height="'+height+'" flashvars="'+params.flashvars+'">';
|
||||
|
|
@ -485,10 +485,14 @@ function displayMultimedia(src, width, height, options) {
|
|||
html += ''
|
||||
+ '<embed src="'+src+'" autostart="'+autostart+'" width="'+width+'" height="'+height+'" flashvars="'+params.flashvars+'" wmode="'+params.wmode+'"></embed>'
|
||||
+ '</object>';
|
||||
} else if(/\.flv/i.test(src)) {
|
||||
html = '<embed src="'+request_uri+'common/tpl/images/flvplayer.swf" allowfullscreen="true" autostart="'+autostart+'" width="'+width+'" height="'+height+'" flashvars="&file='+src+'&width='+width+'&height='+height+'&autostart='+autostart+'" />';
|
||||
} else {
|
||||
html = '<embed src="'+src+'" autostart="'+autostart+'" width="'+width+'" height="'+height+'"></embed>';
|
||||
} else if(/\.flv$/i.test(src) || /\.mov$/i.test(src) || /\.moov$/i.test(src) || /\.m4v$/i.test(src)) {
|
||||
html = '<embed src="'+request_uri+'common/tpl/images/flvplayer.swf" allowfullscreen="true" autostart="'+autostart+'" width="'+width+'" height="'+height+'" flashvars="&file='+src+'&width='+width+'&height='+height+'&autostart='+autostart+'" wmode="'+params.wmode+'" />';
|
||||
} else {
|
||||
html = '<embed src="'+src+'" autostart="'+autostart+'" width="'+width+'" height="'+height+'"';
|
||||
if(params.wmode == 'transparent') {
|
||||
html += ' windowlessvideo="1"';
|
||||
}
|
||||
html += '></embed>';
|
||||
}
|
||||
document.writeln(html);
|
||||
}
|
||||
|
|
|
|||
1
common/js/plugins/ui/jquery-ui.packed.js
vendored
Normal file
1
common/js/plugins/ui/jquery-ui.packed.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
common/js/plugins/ui/plugin.load
Normal file
1
common/js/plugins/ui/plugin.load
Normal file
|
|
@ -0,0 +1 @@
|
|||
jquery-ui.packed.js
|
||||
|
|
@ -126,6 +126,8 @@
|
|||
$lang->colorset = 'Colorset';
|
||||
$lang->extra_vars = 'Extra Vars';
|
||||
|
||||
$lang->domain = "Domain Name";
|
||||
$lang->url = "URL";
|
||||
$lang->document_url = 'Article URL';
|
||||
$lang->trackback_url = 'Trackback URL';
|
||||
$lang->blog_name = 'Blog Title';
|
||||
|
|
|
|||
|
|
@ -125,6 +125,8 @@
|
|||
$lang->colorset = 'Conjunto de Colores';
|
||||
$lang->extra_vars = 'Variables Extra';
|
||||
|
||||
$lang->domain = "Domain Name";
|
||||
$lang->url = "URL";
|
||||
$lang->document_url = 'URL del Documento';
|
||||
$lang->trackback_url = 'URL del Trackback';
|
||||
$lang->blog_name = 'Titulo del Blog';
|
||||
|
|
|
|||
|
|
@ -126,6 +126,8 @@
|
|||
$lang->colorset = 'Arrangement de couleur';
|
||||
$lang->extra_vars = 'Variables Supplémentaires';
|
||||
|
||||
$lang->domain = "Domain Name";
|
||||
$lang->url = "URL";
|
||||
$lang->document_url = 'Document URL';
|
||||
$lang->trackback_url = 'Rétrolien URL';
|
||||
$lang->blog_name = 'Nom du Blogue';
|
||||
|
|
|
|||
|
|
@ -126,6 +126,8 @@
|
|||
$lang->colorset = 'Colorset';
|
||||
$lang->extra_vars = 'Extra Vars';
|
||||
|
||||
$lang->domain = "Domain Name";
|
||||
$lang->url = "URL";
|
||||
$lang->document_url = 'Artikel-URL';
|
||||
$lang->trackback_url = 'Trackback-URL';
|
||||
$lang->blog_name = 'Blog-Titel';
|
||||
|
|
|
|||
|
|
@ -126,6 +126,8 @@
|
|||
$lang->colorset = 'カラーセット';
|
||||
$lang->extra_vars = '拡張変数';
|
||||
|
||||
$lang->domain = "ドメイン";
|
||||
$lang->url = "URL";
|
||||
$lang->document_url = '書き込みURL';
|
||||
$lang->trackback_url = 'トラックバックURL';
|
||||
$lang->blog_name = 'ブログ名';
|
||||
|
|
|
|||
|
|
@ -126,6 +126,8 @@
|
|||
$lang->colorset = '컬러셋';
|
||||
$lang->extra_vars = '확장변수';
|
||||
|
||||
$lang->domain = "도메인";
|
||||
$lang->url = "URL";
|
||||
$lang->document_url = '게시글 주소';
|
||||
$lang->trackback_url = '엮인글 주소';
|
||||
$lang->blog_name = '블로그이름';
|
||||
|
|
|
|||
|
|
@ -126,6 +126,8 @@
|
|||
$lang->colorset = 'Цветовой набор';
|
||||
$lang->extra_vars = 'Доп. перем.';
|
||||
|
||||
$lang->domain = "Domain Name";
|
||||
$lang->url = "URL";
|
||||
$lang->document_url = 'Адрес статьи';
|
||||
$lang->trackback_url = 'Адрес трекбек';
|
||||
$lang->blog_name = 'Название блога';
|
||||
|
|
|
|||
|
|
@ -126,6 +126,8 @@
|
|||
$lang->colorset = '颜色设定';
|
||||
$lang->extra_vars = '扩展变数';
|
||||
|
||||
$lang->domain = "域名";
|
||||
$lang->url = "URL";
|
||||
$lang->document_url = '文章地址';
|
||||
$lang->trackback_url = '引用地址';
|
||||
$lang->blog_name = '博客名称';
|
||||
|
|
|
|||
|
|
@ -126,6 +126,8 @@
|
|||
$lang->colorset = '顏色設定';
|
||||
$lang->extra_vars = '延伸變數';
|
||||
|
||||
$lang->domain = "域名";
|
||||
$lang->url = "網址";
|
||||
$lang->document_url = '連結網址';
|
||||
$lang->trackback_url = '引用';
|
||||
$lang->blog_name = '部落格名稱';
|
||||
|
|
|
|||
|
|
@ -42,6 +42,10 @@
|
|||
<!--@end-->
|
||||
<!--@if($rss_url)-->
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="{$rss_url}" />
|
||||
<link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{$atom_url}" />
|
||||
<!--@elseif($site_module_info->mid == $mid)-->
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="{getUrl('','module','rss','act','rss')}" />
|
||||
<link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{getUrl('','module','rss','act','atom')}" />
|
||||
<!--@end-->
|
||||
|
||||
{@ $ssl_actions = Context::getSSLActions() }
|
||||
|
|
|
|||
|
|
@ -1,93 +1,100 @@
|
|||
<?php
|
||||
@error_reporting(E_ALL ^ E_NOTICE);
|
||||
|
||||
/**
|
||||
* @file config/config.inc.php
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief 기본적으로 사용하는 class파일의 include 및 환경 설정을 함
|
||||
**/
|
||||
|
||||
@error_reporting(E_ALL ^ E_NOTICE);
|
||||
|
||||
if(!defined('__ZBXE__')) exit();
|
||||
|
||||
/**
|
||||
* @brief XE의 전체 버전 표기
|
||||
* 이 내용은 XE의 버전을 관리자 페이지에 표시하기 위한 용도이며
|
||||
* config.inc.php의 수정이 없더라도 공식 릴리즈시에 수정되어 함께 배포되어야 함
|
||||
* 이 파일의 수정이 없더라도 공식 릴리즈시에 수정되어 함께 배포되어야 함
|
||||
**/
|
||||
define('__ZBXE_VERSION__', '1.1.4');
|
||||
|
||||
/**
|
||||
* @brief 디버깅 메세지 출력
|
||||
* 0 : 디버그 메세지를 생성/ 출력하지 않음
|
||||
* 1 : 전체 실행 시간에 대해서만 메세지 생성/ 출력
|
||||
* 2 : 1 + DB 쿼리
|
||||
* 3 : 모든 로그
|
||||
**/
|
||||
define('__DEBUG__', 0);
|
||||
|
||||
/**
|
||||
* @brief 디버그 메세지의 출력 장소
|
||||
* 0 : files/_debug_message.php 에 연결하여 출력
|
||||
* 1 : Response Method 가 XML 형식이 아닐 경우 브라우저에 최하단에 주석으로 표시
|
||||
* 2 : Firebug 콘솔에 출력 (PHP 5.2 이상. firebug / firephp 플러그인 필요)
|
||||
**/
|
||||
define('__DEBUG_OUTPUT__', 0);
|
||||
|
||||
/**
|
||||
* @brief FirePHP 콘솔 및 브라우저 주석 출력 보안
|
||||
* 0 : 제한 없음 (권장하지 않음)
|
||||
* 1 : 지정한 IP 주소에만 허용
|
||||
**/
|
||||
define('__DEBUG_PROTECT__', 1);
|
||||
define('__DEBUG_PROTECT_IP__', '127.0.0.1');
|
||||
|
||||
/**
|
||||
* @brief DB 오류 메세지 출력 정의
|
||||
* 0 : 출력하지 않음
|
||||
* 1 : files/_debug_db_query.php 에 연결하여 출력
|
||||
**/
|
||||
define('__DEBUG_DB_OUTPUT__', 0);
|
||||
|
||||
/**
|
||||
* @brief DB 쿼리중 정해진 시간을 넘기는 쿼리의 로그 남김
|
||||
* 0 : 로그를 남기지 않음
|
||||
* 0 이상 : 단위를 초로 하여 지정된 초 이상의 실행시간이 걸린 쿼리를 로그로 남김
|
||||
* 로그파일은 ./files/_db_slow_query.php 파일로 저장됨
|
||||
**/
|
||||
define('__LOG_SLOW_QUERY__', 0);
|
||||
|
||||
/**
|
||||
* @brief ob_gzhandler를 이용한 압축 기능을 강제로 사용하거나 끄는 옵션
|
||||
* 0 : 사용하지 않음
|
||||
* 1 : 사용함
|
||||
* 대부분의 서버에서는 문제가 없는데 특정 서버군에서 압축전송시 IE에서 오동작을 일으키는경우가 있음
|
||||
**/
|
||||
define('__OB_GZHANDLER_ENABLE__', 1);
|
||||
define('__ZBXE_VERSION__', '1.1.5');
|
||||
|
||||
/**
|
||||
* @brief zbXE가 설치된 장소의 base path를 구함
|
||||
**/
|
||||
define('_XE_PATH_', str_replace('config/config.inc.php', '', str_replace('\\', '/', __FILE__)));
|
||||
|
||||
/**
|
||||
* @brief 기본 설정에 우선하는 사용자 설정 파일
|
||||
*/
|
||||
if(file_exists(_XE_PATH_.'config/config.user.inc.php')) {
|
||||
require _XE_PATH_.'config/config.user.inc.php';
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 디버깅 메시지 출력 (비트 값)
|
||||
* 0 : 디버그 메시지를 생성/ 출력하지 않음
|
||||
* 1 : debugPrint() 함수를 통한 메시지 출력
|
||||
* 2 : 소요시간, Request/Response info 출력
|
||||
* 4 : DB 쿼리 내역 출력
|
||||
**/
|
||||
if(!defined('__DEBUG__')) define('__DEBUG__', 0);
|
||||
|
||||
/**
|
||||
* @brief 디버그 메세지의 출력 장소
|
||||
* 0 : files/_debug_message.php 에 연결하여 출력
|
||||
* 1 : HTML 최하단에 주석으로 출력 (Response Method가 HTML 일 때)
|
||||
* 2 : Firebug 콘솔에 출력 (PHP >= 5.2.0. Firebug/FirePHP 플러그인 필요)
|
||||
**/
|
||||
if(!defined('__DEBUG_OUTPUT__')) define('__DEBUG_OUTPUT__', 0);
|
||||
|
||||
/**
|
||||
* @brief FirePHP 콘솔 및 브라우저 주석 출력 보안
|
||||
* 0 : 제한 없음 (권장하지 않음)
|
||||
* 1 : 지정한 IP 주소에만 허용
|
||||
**/
|
||||
if(!defined('__DEBUG_PROTECT__')) define('__DEBUG_PROTECT__', 1);
|
||||
if(!defined('__DEBUG_PROTECT_IP__')) define('__DEBUG_PROTECT_IP__', '127.0.0.1');
|
||||
|
||||
/**
|
||||
* @brief DB 오류 메세지 출력 정의
|
||||
* 0 : 출력하지 않음
|
||||
* 1 : files/_debug_db_query.php 에 연결하여 출력
|
||||
**/
|
||||
if(!defined('__DEBUG_DB_OUTPUT__')) define('__DEBUG_DB_OUTPUT__', 0);
|
||||
|
||||
/**
|
||||
* @brief DB 쿼리중 정해진 시간을 넘기는 쿼리의 로그 남김
|
||||
* 0 : 로그를 남기지 않음
|
||||
* 0 이상 : 단위를 초로 하여 지정된 초 이상의 실행시간이 걸린 쿼리를 로그로 남김
|
||||
* 로그파일은 ./files/_db_slow_query.php 파일로 저장됨
|
||||
**/
|
||||
if(!defined('__LOG_SLOW_QUERY__')) define('__LOG_SLOW_QUERY__', 0);
|
||||
|
||||
/**
|
||||
* @brief ob_gzhandler를 이용한 압축 기능을 강제로 사용하거나 끄는 옵션
|
||||
* 0 : 사용하지 않음
|
||||
* 1 : 사용함
|
||||
* 대부분의 서버에서는 문제가 없는데 특정 서버군에서 압축전송시 IE에서 오동작을 일으키는경우가 있음
|
||||
**/
|
||||
if(!defined('__OB_GZHANDLER_ENABLE__')) define('__OB_GZHANDLER_ENABLE__', 1);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief Firebug 콘솔 출력 사용시 관련 파일 require
|
||||
**/
|
||||
if(__DEBUG_OUTPUT__ == 2 && version_compare(phpversion(), '5.2', '>') == 1) {
|
||||
require_once _XE_PATH_.'libs/FirePHPCore/FirePHP.class.php';
|
||||
if((__DEBUG_OUTPUT__ == 2) && version_compare(PHP_VERSION, '5.2.0', '>=')) {
|
||||
require _XE_PATH_.'libs/FirePHPCore/FirePHP.class.php';
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 간단하게 사용하기 위한 함수 정의한 파일 require
|
||||
**/
|
||||
require_once(_XE_PATH_.'config/func.inc.php');
|
||||
require_once(_XE_PATH_.'config/func.inc.php');
|
||||
|
||||
|
||||
if(__DEBUG__) define('__StartTime__', getMicroTime());
|
||||
|
||||
/**
|
||||
* @brief 기본적인 class 파일 include
|
||||
*
|
||||
* php5 기반으로 바꾸게 되면 _autoload를 이용할 수 있기에 제거 대상
|
||||
* @TODO : PHP5 기반으로 바꾸게 되면 _autoload()를 이용할 수 있기에 제거 대상
|
||||
**/
|
||||
if(__DEBUG__) define('__ClassLoadStartTime__', getMicroTime());
|
||||
require_once(_XE_PATH_.'classes/object/Object.class.php');
|
||||
|
|
|
|||
|
|
@ -147,6 +147,15 @@
|
|||
return getModule($module_name, 'api');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief module의 wap 객체 생성용
|
||||
* @param module_name 모듈이름
|
||||
* @return module wap class instance
|
||||
**/
|
||||
function &getWAP($module_name) {
|
||||
return getModule($module_name, 'wap');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief module의 상위 class 객체 생성용
|
||||
* @param module_name 모듈이름
|
||||
|
|
@ -386,40 +395,44 @@
|
|||
* ./files/_debug_message.php 파일에 $buff 내용을 출력한다.
|
||||
* tail -f ./files/_debug_message.php 하여 계속 살펴 볼 수 있다
|
||||
**/
|
||||
function debugPrint($buff = null, $display_option = true) {
|
||||
function debugPrint($debug_output = null, $display_option = true) {
|
||||
if(!(__DEBUG__ & 1)) return;
|
||||
|
||||
static $firephp;
|
||||
$bt = debug_backtrace();
|
||||
if(is_array($bt)) $first = array_shift($bt);
|
||||
$file_name = array_pop(explode(DIRECTORY_SEPARATOR, $first['file']));
|
||||
$line_num = $first['line'];
|
||||
|
||||
if(__DEBUG_OUTPUT__ == 0 || (__DEBUG_OUTPUT__ == 2 && version_compare(phpversion(), '5.2', '>') != 1) ) {
|
||||
$debug_file = _XE_PATH_.'files/_debug_message.php';
|
||||
$buff = sprintf("[%s %s:%d]\n%s\n", date('Y-m-d H:i:s'), $file_name, $line_num, print_r($buff, true));
|
||||
|
||||
if($display_option === true) $buff = "\n====================================\n".$buff."------------------------------------\n";
|
||||
$buff = "\n<?php\n/*".$buff."*/\n?>\n";
|
||||
if(@!$fp = fopen($debug_file, 'a')) return;
|
||||
fwrite($fp, $buff);
|
||||
fclose($fp);
|
||||
|
||||
} elseif(__DEBUG_OUTPUT__ == 2 && version_compare(phpversion(), '5.2', '>') == 1) {
|
||||
if(__DEBUG_OUTPUT__ == 2 && version_compare(PHP_VERSION, '5.2.0', '>=')) {
|
||||
if(!isset($firephp)) $firephp = FirePHP::getInstance(true);
|
||||
$label = sprintf('%s:%d', $file_name, $line_num);
|
||||
// FirePHP 옵션
|
||||
if($display_option === 'TABLE') {
|
||||
$label = $display_option;
|
||||
}
|
||||
$label = sprintf('[%s:%d] ', $file_name, $line_num);
|
||||
|
||||
if(__DEBUG_PROTECT__ == 1 && __DEBUG_PROTECT_IP__ != $_SERVER['REMOTE_ADDR']) {
|
||||
$buff = '허용되지 않은 IP 입니다. config/config.inc.php 파일의 __DEBUG_PROTECT_IP__ 상수 값을 자신의 IP로 변경하세요.';
|
||||
// FirePHP 옵션 체크
|
||||
if($display_option === 'TABLE') $label = $display_option;
|
||||
|
||||
// __DEBUG_PROTECT__ 옵션으로 지정된 IP와 접근 IP가 동일한지 체크
|
||||
if(__DEBUG_PROTECT__ === 1 && __DEBUG_PROTECT_IP__ != $_SERVER['REMOTE_ADDR']) {
|
||||
$debug_output = 'The IP address is not allowed. Change the value of __DEBUG_PROTECT_IP__ into your IP address in config/config.user.inc.php or config/config.inc.php';
|
||||
$label = null;
|
||||
}
|
||||
|
||||
$firephp->fb($buff, $label);
|
||||
$firephp->fb($debug_output, $label);
|
||||
|
||||
} else {
|
||||
$debug_file = _XE_PATH_.'files/_debug_message.php';
|
||||
$debug_output = sprintf("[%s %s:%d]\n%s\n", date('Y-m-d H:i:s'), $file_name, $line_num, print_r($debug_output, true));
|
||||
|
||||
if($display_option === true) $debug_output = str_repeat('=', 40)."\n".$debug_output.str_repeat('-', 40);
|
||||
$debug_output = "\n<?php\n/*".$debug_output."*/\n?>\n";
|
||||
|
||||
if(@!$fp = fopen($debug_file, 'a')) return;
|
||||
fwrite($fp, $debug_output);
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief microtime() return
|
||||
* @return float
|
||||
|
|
@ -712,4 +725,4 @@
|
|||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
@ -1,219 +1,220 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<layout version="0.2">
|
||||
<title xml:lang="ko">XE 블로그 기본 스킨</title>
|
||||
<title xml:lang="jp">XEブログのデフォルトスキン</title>
|
||||
<title xml:lang="zh-CN">XE博客默认皮肤</title>
|
||||
<title xml:lang="en">Default Skin of XE blog</title>
|
||||
<title xml:lang="ge">Standard-Skin von XE Blog</title>
|
||||
<title xml:lang="es">Cuidado de la Piel por defecto de XE blog</title>
|
||||
<title xml:lang="ru">По умолчанию Кожа XE блоге</title>
|
||||
<title xml:lang="zh-TW">XE部落格預設面板</title>
|
||||
<description xml:lang="ko">
|
||||
XE 블로그 기본 스킨입니다.
|
||||
디자인 : 서기정 (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : 소지훈
|
||||
</description>
|
||||
<description xml:lang="jp">
|
||||
XEブログの基本スキンです。
|
||||
デザイン:ソギジョン (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : Ju-Hoon So
|
||||
</description>
|
||||
<description xml:lang="zh-CN">
|
||||
XE博客默认皮肤。
|
||||
设计 : Ki-Jeong Seo (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : Ju-Hoon So
|
||||
</description>
|
||||
<description xml:lang="en">
|
||||
This is default skin of XE blog.
|
||||
Design : Ki-Jeong Seo (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : Ju-Hoon So
|
||||
</description>
|
||||
<description xml:lang="ge">
|
||||
Dies ist der Standard-Skin XE-Blog.
|
||||
Design: Ki-Seo Jeong (http://blog.naver.com/addcozy)
|
||||
HTML / CSS: Ju-Hoon Also
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
Esto es por defecto de la piel XE blog.
|
||||
Diseño: Ki-Jeong Seo (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : Ju-Hoon So
|
||||
</description>
|
||||
<description xml:lang="ru">
|
||||
Это умолчанию кожи XE блоге.
|
||||
Дизайн: Ki-Jeong Seo (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : Ju-Hoon So
|
||||
</description>
|
||||
<description xml:lang="zh-TW">
|
||||
XE部落格預設面板。
|
||||
設計 : Ki-Jeong Seo (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : Ju-Hoon So
|
||||
</description>
|
||||
<version>0.1</version>
|
||||
<date>2008-02-26</date>
|
||||
|
||||
<author email_address="zero@zeroboard.com" link="http://blog.nzeo.com">
|
||||
<name xml:lang="ko">zero</name>
|
||||
<name xml:lang="jp">zero</name>
|
||||
<name xml:lang="zh-CN">zero</name>
|
||||
<name xml:lang="en">zero</name>
|
||||
<name xml:lang="ge">zero</name>
|
||||
<name xml:lang="es">zero</name>
|
||||
<name xml:lang="ru">zero</name>
|
||||
<name xml:lang="zh-TW">zero</name>
|
||||
</author>
|
||||
|
||||
<extra_vars>
|
||||
<var name="colorset" type="select">
|
||||
<title xml:lang="ko">컬러셋</title>
|
||||
<title xml:lang="jp">カラーセット</title>
|
||||
<title xml:lang="zh-CN">颜色</title>
|
||||
<title xml:lang="en">Colorset</title>
|
||||
<title xml:lang="ge">Colorset</title>
|
||||
<title xml:lang="es">Set de Colores</title>
|
||||
<title xml:lang="ru">Colorset</title>
|
||||
<title xml:lang="zh-TW">顏色設定</title>
|
||||
<description xml:lang="ko">원하시는 컬러셋을 선택해주세요.</description>
|
||||
<description xml:lang="jp">希望するカラーセットを選択してください。</description>
|
||||
<description xml:lang="zh-CN">请选择颜色。</description>
|
||||
<description xml:lang="en">Please select a colorset you want.</description>
|
||||
<description xml:lang="ge">Bitte wählen Sie ein colorset Sie wollen.</description>
|
||||
<description xml:lang="ru">Выберите colorset хотите.</description>
|
||||
<description xml:lang="es">Seleccione set de colores que desea.</description>
|
||||
<description xml:lang="zh-TW">請選擇顏色。</description>
|
||||
<options value="blue">
|
||||
<title xml:lang="ko">파란색 (기본)</title>
|
||||
<title xml:lang="jp">青 (default)</title>
|
||||
<title xml:lang="zh-CN">蓝色 (default)</title>
|
||||
<title xml:lang="en">Blue (default)</title>
|
||||
<title xml:lang="ge">Blue (Standard)</title>
|
||||
<title xml:lang="es">Azul (default)</title>
|
||||
<title xml:lang="ru">Blue (default)</title>
|
||||
<title xml:lang="zh-TW">藍色(預設)</title>
|
||||
</options>
|
||||
<options value="gray">
|
||||
<title xml:lang="ko">회색</title>
|
||||
<title xml:lang="jp">灰色背景</title>
|
||||
<title xml:lang="zh-CN">灰色背景</title>
|
||||
<title xml:lang="en">Gray</title>
|
||||
<title xml:lang="ge">Gray</title>
|
||||
<title xml:lang="es">Gray</title>
|
||||
<title xml:lang="ru">Gray</title>
|
||||
<title xml:lang="zh-TW">灰色</title>
|
||||
</options>
|
||||
<options value="orange">
|
||||
<title xml:lang="ko">오렌지</title>
|
||||
<title xml:lang="jp">Orange</title>
|
||||
<title xml:lang="zh-CN">Orange</title>
|
||||
<title xml:lang="en">Orange</title>
|
||||
<title xml:lang="ge">Orange</title>
|
||||
<title xml:lang="es">Orange</title>
|
||||
<title xml:lang="ru">Orange</title>
|
||||
<title xml:lang="zh-TW">橘色</title>
|
||||
</options>
|
||||
<options value="violet">
|
||||
<title xml:lang="ko">보라색</title>
|
||||
<title xml:lang="jp">Violet</title>
|
||||
<title xml:lang="zh-CN">Violet</title>
|
||||
<title xml:lang="en">Violet</title>
|
||||
<title xml:lang="ge">Violett</title>
|
||||
<title xml:lang="es">Violet</title>
|
||||
<title xml:lang="ru">Violet</title>
|
||||
<title xml:lang="zh-TW">紫色</title>
|
||||
</options>
|
||||
<options value="green">
|
||||
<title xml:lang="ko">초록색</title>
|
||||
<title xml:lang="jp">緑</title>
|
||||
<title xml:lang="zh-CN">绿色</title>
|
||||
<title xml:lang="en">Green</title>
|
||||
<title xml:lang="ge">Grün</title>
|
||||
<title xml:lang="es">Verde</title>
|
||||
<title xml:lang="ru">Green</title>
|
||||
<title xml:lang="zh-TW">綠色</title>
|
||||
</options>
|
||||
</var>
|
||||
<var name="target_mid" type="text">
|
||||
<title xml:lang="ko">기본 모듈</title>
|
||||
<title xml:lang="jp">デフォルトモジュール</title>
|
||||
<title xml:lang="zh-CN">默认模块</title>
|
||||
<title xml:lang="en">Basic module</title>
|
||||
<title xml:lang="ge">Basismodul</title>
|
||||
<title xml:lang="es">Módulo Básico</title>
|
||||
<title xml:lang="ru">Основной модуль</title>
|
||||
<title xml:lang="zh-TW">預設模組</title>
|
||||
<description xml:lang="ko">기본 모듈을 지정해주시면 레이아웃에서 표시되는 위젯들이 정상적으로 동작을 하게 됩니다</description>
|
||||
<description xml:lang="jp">デフォルトモジュールを指定するとレイアウトで表示されるウィジェットが正常に作動するようになります。</description>
|
||||
<description xml:lang="zh-CN">为了让博客系统中的控件正常运作,在这里必须得指定默认版面模块名。</description>
|
||||
<description xml:lang="en">The widgets that are being displayed in the layout will work properly if you select the basic module</description>
|
||||
<description xml:lang="ge">Die Widgets, die angezeigt werden im Layout wird ordnungsgemäß funktionieren, wenn Sie das Basismodul</description>
|
||||
<description xml:lang="es">Los reproductores que se muestran en el diseño funcionará correctamente si selecciona el módulo básico</description>
|
||||
<description xml:lang="ru">В виджеты, которые отображаются в формате будет работать правильно, если вы выбираете основной модуль</description>
|
||||
<description xml:lang="zh-TW">要讓部落格系統中的控件正常運作,必須要指定預設討論板模組名稱。</description>
|
||||
</var>
|
||||
<var name="background_image" type="image">
|
||||
<title xml:lang="ko">배경 이미지</title>
|
||||
<title xml:lang="jp">背景イメージ</title>
|
||||
<title xml:lang="zh-CN">背景图片</title>
|
||||
<title xml:lang="en">Background Image</title>
|
||||
<title xml:lang="es">Imagen de fondo</title>
|
||||
<title xml:lang="ru">Фоновое изображение</title>
|
||||
<title xml:lang="zh-TW">背景圖片</title>
|
||||
<description xml:lang="ko">배경 이미지를 사용하시려면 등록해주세요.</description>
|
||||
<description xml:lang="jp">背景イメージを使う場合は、登録してください。</description>
|
||||
<description xml:lang="zh-CN">要想使用背景图片请在这里上传。</description>
|
||||
<description xml:lang="en">Please input if you want to use background image.</description>
|
||||
<description xml:lang="ge">Bitte geben Sie, wenn Sie verwenden wollen Hintergrundbild.</description>
|
||||
<description xml:lang="es">Entre, por favor, si desea utilizar la imagen de fondo.</description>
|
||||
<description xml:lang="ru">Введите, если вы хотите использовать фоновое изображение.</description>
|
||||
<description xml:lang="zh-TW">請在這裡上傳想要使用的背景圖片。</description>
|
||||
</var>
|
||||
<var name="profile_image" type="image">
|
||||
<title xml:lang="ko">프로필 이미지</title>
|
||||
<title xml:lang="jp">プロフィールイメージ</title>
|
||||
<title xml:lang="zh-CN">博客头像</title>
|
||||
<title xml:lang="en">Profile Image</title>
|
||||
<title xml:lang="ge">Profil Bilder</title>
|
||||
<title xml:lang="es">Perfil de Imagen</title>
|
||||
<title xml:lang="ru">Профиль Изображение</title>
|
||||
<title xml:lang="zh-TW">部落格頭像</title>
|
||||
<description xml:lang="ko">프로필 이미지를 입력해 주세요 (가로 사이즈는 160px이 가장 보기 좋습니다)</description>
|
||||
<description xml:lang="jp">プロフィールイメージを入力してください(横幅は「160px」が一番適しています)。</description>
|
||||
<description xml:lang="zh-CN">请上传博客个性头像(推荐宽度为160px)。</description>
|
||||
<description xml:lang="en">Please input profile image (It is recommended to set width as 160px)</description>
|
||||
<description xml:lang="ge">itte geben Sie Ihre Image-Profil (Es wird empfohlen, Breite 160px)</description>
|
||||
<description xml:lang="es">Por favor, el perfil de entrada de imagen (Se recomienda configurar el ancho de 160px)</description>
|
||||
<description xml:lang="ru">Введите профиля изображения (Рекомендуется устанавливать ширину, 160px)</description>
|
||||
<description xml:lang="zh-TW">請上傳部落格頭像(最適寬度 160px)。</description>
|
||||
</var>
|
||||
<var name="profile" type="textarea">
|
||||
<title xml:lang="ko">프로필</title>
|
||||
<title xml:lang="jp">プロフィール</title>
|
||||
<title xml:lang="zh-CN">简介</title>
|
||||
<title xml:lang="en">Profile</title>
|
||||
<title xml:lang="ge">Profil</title>
|
||||
<title xml:lang="es">Perfil</title>
|
||||
<title xml:lang="ru">Профиль</title>
|
||||
<title xml:lang="zh-TW">簡介</title>
|
||||
<description lang="ko">간단한 프로필을 입력해주세요</description>
|
||||
<description lang="jp">簡単なプロフィールを入力してください。</description>
|
||||
<description lang="zh-CN">请输入简单介绍。</description>
|
||||
<description lang="en">Please input your simple profile</description>
|
||||
<description lang="ge">Bitte geben Sie Ihre Simple Profile</description>
|
||||
<description lang="es">Por favor, introduzca su perfil simple</description>
|
||||
<description lang="ru">Введите простое профиль</description>
|
||||
<description lang="zh-TW">請輸入簡單說明。</description>
|
||||
</var>
|
||||
</extra_vars>
|
||||
|
||||
<menus>
|
||||
<menu name="top_menu" maxdepth="1" default="true">
|
||||
<title xml:lang="ko">상단 메뉴</title>
|
||||
<title xml:lang="jp">上段メニュー</title>
|
||||
<title xml:lang="zh-CN">菜单</title>
|
||||
<title xml:lang="en">Top Menu</title>
|
||||
<title xml:lang="ge">Top-Menü</title>
|
||||
<title xml:lang="es">Menú superior</title>
|
||||
<title xml:lang="ru">Главное меню</title>
|
||||
<title xml:lang="zh-TW">主選單</title>
|
||||
</menu>
|
||||
</menus>
|
||||
</layout>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<layout version="0.2">
|
||||
<title xml:lang="ko">XE 블로그 기본 스킨</title>
|
||||
<title xml:lang="jp">XEブログのデフォルトスキン</title>
|
||||
<title xml:lang="zh-CN">XE博客默认皮肤</title>
|
||||
<title xml:lang="en">Default Skin of XE blog</title>
|
||||
<title xml:lang="ge">Standard-Skin von XE Blog</title>
|
||||
<title xml:lang="es">Cuidado de la Piel por defecto de XE blog</title>
|
||||
<title xml:lang="ru">По умолчанию Кожа XE блоге</title>
|
||||
<title xml:lang="zh-TW">XE部落格預設面板</title>
|
||||
<description xml:lang="ko">
|
||||
XE 블로그 기본 스킨입니다.
|
||||
디자인 : 서기정 (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : 소지훈
|
||||
</description>
|
||||
<description xml:lang="jp">
|
||||
XEブログの基本スキンです。
|
||||
デザイン:ソギジョン (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : Ju-Hoon So
|
||||
</description>
|
||||
<description xml:lang="zh-CN">
|
||||
XE博客默认皮肤。
|
||||
设计 : Ki-Jeong Seo (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : Ju-Hoon So
|
||||
</description>
|
||||
<description xml:lang="en">
|
||||
This is default skin of XE blog.
|
||||
Design : Ki-Jeong Seo (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : Ju-Hoon So
|
||||
</description>
|
||||
<description xml:lang="ge">
|
||||
Dies ist der Standard-Skin XE-Blog.
|
||||
Design: Ki-Seo Jeong (http://blog.naver.com/addcozy)
|
||||
HTML / CSS: Ju-Hoon Also
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
Esto es por defecto de la piel XE blog.
|
||||
Diseño: Ki-Jeong Seo (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : Ju-Hoon So
|
||||
</description>
|
||||
<description xml:lang="ru">
|
||||
Это умолчанию кожи XE блоге.
|
||||
Дизайн: Ki-Jeong Seo (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : Ju-Hoon So
|
||||
</description>
|
||||
<description xml:lang="zh-TW">
|
||||
XE部落格預設面板。
|
||||
設計 : Ki-Jeong Seo (http://blog.naver.com/addcozy)
|
||||
HTML/CSS : Ju-Hoon So
|
||||
</description>
|
||||
<version>0.1</version>
|
||||
<date>2008-02-26</date>
|
||||
<link>http://blog.nzeo.com</link>
|
||||
|
||||
<author email_address="zero@zeroboard.com" link="http://blog.nzeo.com">
|
||||
<name xml:lang="ko">zero</name>
|
||||
<name xml:lang="jp">zero</name>
|
||||
<name xml:lang="zh-CN">zero</name>
|
||||
<name xml:lang="en">zero</name>
|
||||
<name xml:lang="ge">zero</name>
|
||||
<name xml:lang="es">zero</name>
|
||||
<name xml:lang="ru">zero</name>
|
||||
<name xml:lang="zh-TW">zero</name>
|
||||
</author>
|
||||
|
||||
<extra_vars>
|
||||
<var name="colorset" type="select">
|
||||
<title xml:lang="ko">컬러셋</title>
|
||||
<title xml:lang="jp">カラーセット</title>
|
||||
<title xml:lang="zh-CN">颜色</title>
|
||||
<title xml:lang="en">Colorset</title>
|
||||
<title xml:lang="ge">Colorset</title>
|
||||
<title xml:lang="es">Set de Colores</title>
|
||||
<title xml:lang="ru">Colorset</title>
|
||||
<title xml:lang="zh-TW">顏色設定</title>
|
||||
<description xml:lang="ko">원하시는 컬러셋을 선택해주세요.</description>
|
||||
<description xml:lang="jp">希望するカラーセットを選択してください。</description>
|
||||
<description xml:lang="zh-CN">请选择颜色。</description>
|
||||
<description xml:lang="en">Please select a colorset you want.</description>
|
||||
<description xml:lang="ge">Bitte wählen Sie ein colorset Sie wollen.</description>
|
||||
<description xml:lang="ru">Выберите colorset хотите.</description>
|
||||
<description xml:lang="es">Seleccione set de colores que desea.</description>
|
||||
<description xml:lang="zh-TW">請選擇顏色。</description>
|
||||
<options value="blue">
|
||||
<title xml:lang="ko">파란색 (기본)</title>
|
||||
<title xml:lang="jp">青 (default)</title>
|
||||
<title xml:lang="zh-CN">蓝色 (default)</title>
|
||||
<title xml:lang="en">Blue (default)</title>
|
||||
<title xml:lang="ge">Blue (Standard)</title>
|
||||
<title xml:lang="es">Azul (default)</title>
|
||||
<title xml:lang="ru">Blue (default)</title>
|
||||
<title xml:lang="zh-TW">藍色(預設)</title>
|
||||
</options>
|
||||
<options value="gray">
|
||||
<title xml:lang="ko">회색</title>
|
||||
<title xml:lang="jp">灰色背景</title>
|
||||
<title xml:lang="zh-CN">灰色背景</title>
|
||||
<title xml:lang="en">Gray</title>
|
||||
<title xml:lang="ge">Gray</title>
|
||||
<title xml:lang="es">Gray</title>
|
||||
<title xml:lang="ru">Gray</title>
|
||||
<title xml:lang="zh-TW">灰色</title>
|
||||
</options>
|
||||
<options value="orange">
|
||||
<title xml:lang="ko">오렌지</title>
|
||||
<title xml:lang="jp">Orange</title>
|
||||
<title xml:lang="zh-CN">Orange</title>
|
||||
<title xml:lang="en">Orange</title>
|
||||
<title xml:lang="ge">Orange</title>
|
||||
<title xml:lang="es">Orange</title>
|
||||
<title xml:lang="ru">Orange</title>
|
||||
<title xml:lang="zh-TW">橘色</title>
|
||||
</options>
|
||||
<options value="violet">
|
||||
<title xml:lang="ko">보라색</title>
|
||||
<title xml:lang="jp">Violet</title>
|
||||
<title xml:lang="zh-CN">Violet</title>
|
||||
<title xml:lang="en">Violet</title>
|
||||
<title xml:lang="ge">Violett</title>
|
||||
<title xml:lang="es">Violet</title>
|
||||
<title xml:lang="ru">Violet</title>
|
||||
<title xml:lang="zh-TW">紫色</title>
|
||||
</options>
|
||||
<options value="green">
|
||||
<title xml:lang="ko">초록색</title>
|
||||
<title xml:lang="jp">緑</title>
|
||||
<title xml:lang="zh-CN">绿色</title>
|
||||
<title xml:lang="en">Green</title>
|
||||
<title xml:lang="ge">Grün</title>
|
||||
<title xml:lang="es">Verde</title>
|
||||
<title xml:lang="ru">Green</title>
|
||||
<title xml:lang="zh-TW">綠色</title>
|
||||
</options>
|
||||
</var>
|
||||
<var name="target_mid" type="text">
|
||||
<title xml:lang="ko">기본 모듈</title>
|
||||
<title xml:lang="jp">デフォルトモジュール</title>
|
||||
<title xml:lang="zh-CN">默认模块</title>
|
||||
<title xml:lang="en">Basic module</title>
|
||||
<title xml:lang="ge">Basismodul</title>
|
||||
<title xml:lang="es">Módulo Básico</title>
|
||||
<title xml:lang="ru">Основной модуль</title>
|
||||
<title xml:lang="zh-TW">預設模組</title>
|
||||
<description xml:lang="ko">기본 모듈을 지정해주시면 레이아웃에서 표시되는 위젯들이 정상적으로 동작을 하게 됩니다</description>
|
||||
<description xml:lang="jp">デフォルトモジュールを指定するとレイアウトで表示されるウィジェットが正常に作動するようになります。</description>
|
||||
<description xml:lang="zh-CN">为了让博客系统中的控件正常运作,在这里必须得指定默认版面模块名。</description>
|
||||
<description xml:lang="en">The widgets that are being displayed in the layout will work properly if you select the basic module</description>
|
||||
<description xml:lang="ge">Die Widgets, die angezeigt werden im Layout wird ordnungsgemäß funktionieren, wenn Sie das Basismodul</description>
|
||||
<description xml:lang="es">Los reproductores que se muestran en el diseño funcionará correctamente si selecciona el módulo básico</description>
|
||||
<description xml:lang="ru">В виджеты, которые отображаются в формате будет работать правильно, если вы выбираете основной модуль</description>
|
||||
<description xml:lang="zh-TW">要讓部落格系統中的控件正常運作,必須要指定預設討論板模組名稱。</description>
|
||||
</var>
|
||||
<var name="background_image" type="image">
|
||||
<title xml:lang="ko">배경 이미지</title>
|
||||
<title xml:lang="jp">背景イメージ</title>
|
||||
<title xml:lang="zh-CN">背景图片</title>
|
||||
<title xml:lang="en">Background Image</title>
|
||||
<title xml:lang="es">Imagen de fondo</title>
|
||||
<title xml:lang="ru">Фоновое изображение</title>
|
||||
<title xml:lang="zh-TW">背景圖片</title>
|
||||
<description xml:lang="ko">배경 이미지를 사용하시려면 등록해주세요.</description>
|
||||
<description xml:lang="jp">背景イメージを使う場合は、登録してください。</description>
|
||||
<description xml:lang="zh-CN">要想使用背景图片请在这里上传。</description>
|
||||
<description xml:lang="en">Please input if you want to use background image.</description>
|
||||
<description xml:lang="ge">Bitte geben Sie, wenn Sie verwenden wollen Hintergrundbild.</description>
|
||||
<description xml:lang="es">Entre, por favor, si desea utilizar la imagen de fondo.</description>
|
||||
<description xml:lang="ru">Введите, если вы хотите использовать фоновое изображение.</description>
|
||||
<description xml:lang="zh-TW">請在這裡上傳想要使用的背景圖片。</description>
|
||||
</var>
|
||||
<var name="profile_image" type="image">
|
||||
<title xml:lang="ko">프로필 이미지</title>
|
||||
<title xml:lang="jp">プロフィールイメージ</title>
|
||||
<title xml:lang="zh-CN">博客头像</title>
|
||||
<title xml:lang="en">Profile Image</title>
|
||||
<title xml:lang="ge">Profil Bilder</title>
|
||||
<title xml:lang="es">Perfil de Imagen</title>
|
||||
<title xml:lang="ru">Профиль Изображение</title>
|
||||
<title xml:lang="zh-TW">部落格頭像</title>
|
||||
<description xml:lang="ko">프로필 이미지를 입력해 주세요 (가로 사이즈는 160px이 가장 보기 좋습니다)</description>
|
||||
<description xml:lang="jp">プロフィールイメージを入力してください(横幅は「160px」が一番適しています)。</description>
|
||||
<description xml:lang="zh-CN">请上传博客个性头像(推荐宽度为160px)。</description>
|
||||
<description xml:lang="en">Please input profile image (It is recommended to set width as 160px)</description>
|
||||
<description xml:lang="ge">itte geben Sie Ihre Image-Profil (Es wird empfohlen, Breite 160px)</description>
|
||||
<description xml:lang="es">Por favor, el perfil de entrada de imagen (Se recomienda configurar el ancho de 160px)</description>
|
||||
<description xml:lang="ru">Введите профиля изображения (Рекомендуется устанавливать ширину, 160px)</description>
|
||||
<description xml:lang="zh-TW">請上傳部落格頭像(最適寬度 160px)。</description>
|
||||
</var>
|
||||
<var name="profile" type="textarea">
|
||||
<title xml:lang="ko">프로필</title>
|
||||
<title xml:lang="jp">プロフィール</title>
|
||||
<title xml:lang="zh-CN">简介</title>
|
||||
<title xml:lang="en">Profile</title>
|
||||
<title xml:lang="ge">Profil</title>
|
||||
<title xml:lang="es">Perfil</title>
|
||||
<title xml:lang="ru">Профиль</title>
|
||||
<title xml:lang="zh-TW">簡介</title>
|
||||
<description lang="ko">간단한 프로필을 입력해주세요</description>
|
||||
<description lang="jp">簡単なプロフィールを入力してください。</description>
|
||||
<description lang="zh-CN">请输入简单介绍。</description>
|
||||
<description lang="en">Please input your simple profile</description>
|
||||
<description lang="ge">Bitte geben Sie Ihre Simple Profile</description>
|
||||
<description lang="es">Por favor, introduzca su perfil simple</description>
|
||||
<description lang="ru">Введите простое профиль</description>
|
||||
<description lang="zh-TW">請輸入簡單說明。</description>
|
||||
</var>
|
||||
</extra_vars>
|
||||
|
||||
<menus>
|
||||
<menu name="top_menu" maxdepth="1" default="true">
|
||||
<title xml:lang="ko">상단 메뉴</title>
|
||||
<title xml:lang="jp">上段メニュー</title>
|
||||
<title xml:lang="zh-CN">菜单</title>
|
||||
<title xml:lang="en">Top Menu</title>
|
||||
<title xml:lang="ge">Top-Menü</title>
|
||||
<title xml:lang="es">Menú superior</title>
|
||||
<title xml:lang="ru">Главное меню</title>
|
||||
<title xml:lang="zh-TW">主選單</title>
|
||||
</menu>
|
||||
</menus>
|
||||
</layout>
|
||||
|
|
|
|||
|
|
@ -1,200 +1,201 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<layout version="0.2">
|
||||
<title xml:lang="ko">XE 공식 사이트 레이아웃</title>
|
||||
<title xml:lang="jp">XEオフィシャルレイアウト</title>
|
||||
<title xml:lang="en">XE Official website layout</title>
|
||||
<title xml:lang="ge">XE Offizielle Website-Layout</title>
|
||||
<title xml:lang="ru">XE Официальный сайт макет</title>
|
||||
<title xml:lang="es">Diseño oficial de la página web de XE</title>
|
||||
<title xml:lang="zh-CN">XE 官方网站布局</title>
|
||||
<title xml:lang="zh-TW">XE 官方網站版面</title>
|
||||
<description xml:lang="ko">
|
||||
XE 공식 사이트 레이아웃입니다.
|
||||
디자인 : 이소라
|
||||
퍼블리싱 : 정찬명
|
||||
레이아웃 제작 : zero
|
||||
</description>
|
||||
<description xml:lang="jp">
|
||||
XEのオフィシャルサイトのレイアウトです。
|
||||
デザイン:イ ソラ
|
||||
パブリシング:ジョン チャンミョン
|
||||
レイアウト作成:Zero
|
||||
</description>
|
||||
<description xml:lang="en">
|
||||
This layout is the XE Official website layout.
|
||||
Designer : So-Ra Lee
|
||||
HTML/CSS : Chan-Myung Jeong
|
||||
Layout producer : zero
|
||||
</description>
|
||||
<description xml:lang="ge">
|
||||
Dieses Layout ist das XE Offizielle Website-Layout.
|
||||
Designer: So-Ra Lee
|
||||
HTML / CSS: Chan-Myung Jeong
|
||||
Layout Hersteller: Zero
|
||||
</description>
|
||||
<description xml:lang="ru">
|
||||
Этот формат является XE Официальный сайт компоновку.
|
||||
Дизайнер: So-Ra Lee
|
||||
HTML / CSS: Chan-Myung Jeong
|
||||
Макет производителя: ноль
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
Este diseño is el diseño oficial de la página web de Zerobard XE.
|
||||
Deseñador : So-Ra Lee
|
||||
HTML/CSS : Chan-Myung Jeong
|
||||
Productor del diseño : zero
|
||||
</description>
|
||||
<description xml:lang="zh-CN">
|
||||
XE官方网站布局。
|
||||
设计 : So-Ra Lee
|
||||
HTML/CSS : Chan-Myung Jeong
|
||||
布局 : zero
|
||||
</description>
|
||||
<description xml:lang="zh-TW">
|
||||
XE官方網站版面。
|
||||
設計 : So-Ra Lee
|
||||
HTML/CSS : Chan-Myung Jeong
|
||||
版面設計 : zero
|
||||
</description>
|
||||
<version>0.1</version>
|
||||
<date>2007-08-01</date>
|
||||
|
||||
<author email_address="zero@zeroboard.com" link="http://blog.nzeo.com">
|
||||
<name xml:lang="ko">zero</name>
|
||||
<name xml:lang="jp">zero</name>
|
||||
<name xml:lang="en">zero</name>
|
||||
<name xml:lang="ge">zero</name>
|
||||
<name xml:lang="ru">zero</name>
|
||||
<name xml:lang="es">zero</name>
|
||||
<name xml:lang="zh-CN">zero</name>
|
||||
<name xml:lang="zh-TW">zero</name>
|
||||
</author>
|
||||
|
||||
<extra_vars>
|
||||
<var name="colorset" type="select">
|
||||
<title xml:lang="ko">컬러셋</title>
|
||||
<title xml:lang="jp">カラーセット</title>
|
||||
<title xml:lang="zh-CN">颜色</title>
|
||||
<title xml:lang="zh-TW">顏色設定</title>
|
||||
<title xml:lang="en">Colorset</title>
|
||||
<title xml:lang="ge">Colorset</title>
|
||||
<title xml:lang="ru">Colorset</title>
|
||||
<title xml:lang="es">Set de colores</title>
|
||||
<description xml:lang="ko">원하시는 컬러셋을 선택해주세요.</description>
|
||||
<description xml:lang="jp">希望するカラーセットを選択してください。</description>
|
||||
<description xml:lang="zh-CN">请选择颜色。</description>
|
||||
<description xml:lang="zh-TW">請選擇顏色。</description>
|
||||
<description xml:lang="en">Please select a colorset you want.</description>
|
||||
<description xml:lang="ge">Bitte wählen Sie ein colorset Sie wollen.</description>
|
||||
<description xml:lang="ru">Выберите colorset хотите.</description>
|
||||
<description xml:lang="es">Seleccione set de colores que desea.</description>
|
||||
<options value="default">
|
||||
<title xml:lang="ko">기본</title>
|
||||
<title xml:lang="jp">デフォルト</title>
|
||||
<title xml:lang="en">Basic</title>
|
||||
<title xml:lang="ge">Basic</title>
|
||||
<title xml:lang="ru">Базовые</title>
|
||||
<title xml:lang="es">Básico</title>
|
||||
<title xml:lang="zh-CN">默认</title>
|
||||
<title xml:lang="zh-TW">預設</title>
|
||||
</options>
|
||||
<options value="black">
|
||||
<title xml:lang="ko">검은색</title>
|
||||
<title xml:lang="jp">黒</title>
|
||||
<title xml:lang="en">Black</title>
|
||||
<title xml:lang="ge">Schwarz</title>
|
||||
<title xml:lang="ru">Черного</title>
|
||||
<title xml:lang="es">Negro</title>
|
||||
<title xml:lang="zh-CN">黑色</title>
|
||||
<title xml:lang="zh-TW">黑色</title>
|
||||
</options>
|
||||
<options value="white">
|
||||
<title xml:lang="ko">하얀색</title>
|
||||
<title xml:lang="jp">白</title>
|
||||
<title xml:lang="en">white</title>
|
||||
<title xml:lang="ge">weiß</title>
|
||||
<title xml:lang="ru">белый</title>
|
||||
<title xml:lang="es">Blanco</title>
|
||||
<title xml:lang="zh-CN">白色</title>
|
||||
<title xml:lang="zh-TW">白色</title>
|
||||
</options>
|
||||
</var>
|
||||
<var name="logo_image" type="image">
|
||||
<title xml:lang="ko">로고이미지</title>
|
||||
<title xml:lang="jp">ロゴイメージ</title>
|
||||
<title xml:lang="zh-CN">LOGO图片</title>
|
||||
<title xml:lang="zh-TW">LOGO圖片</title>
|
||||
<title xml:lang="en">Logo image</title>
|
||||
<title xml:lang="ge">Logobildes</title>
|
||||
<title xml:lang="ru">Изображения логотипа</title>
|
||||
<title xml:lang="es">Imagen del logotipo</title>
|
||||
<description xml:lang="ko">레이아웃의 상단에 표시될 로고이미지를 입력하세요. (세로길이가 23px인 투명이미지가 가장 어울립니다)</description>
|
||||
<description xml:lang="jp">レイアウトの上段に表示されるロゴイメージを入力してください。 (縦幅が23pxである透明イメージが最も合います。)</description>
|
||||
<description xml:lang="zh-CN">请输入显示在布局顶部的LOGO图片。(高度为23px的透明图片为适。)</description>
|
||||
<description xml:lang="zh-TW">請輸入在版面上端要顯示的LOGO圖片。(適當高度為23px的透明圖片。)</description>
|
||||
<description xml:lang="en">Please input a logo image which will be displayed on the top of layout. (Transparent image with height of 23px is recommended.)</description>
|
||||
<description xml:lang="ge">Bitte geben Sie ein Logo das Bild wird auf dem oberen Layout. (Transparent Bild mit einer Höhe von 23px wird empfohlen).</description>
|
||||
<description xml:lang="ru">Введите логотип изображение, которое будет отображаться в верхней части формы. (Прозрачный изображение с высотой 23px рекомендуется.)</description>
|
||||
<description xml:lang="es">Ingresar una imagen para logotipo. ( Se recomienda una imagen de fondo transparente con una altura de 23px.</description>
|
||||
</var>
|
||||
<var name="index_url" type="text">
|
||||
<title xml:lang="ko">홈 페이지 URL</title>
|
||||
<title xml:lang="jp">ホームページURL</title>
|
||||
<title xml:lang="zh-CN">主页地址</title>
|
||||
<title xml:lang="zh-TW">主頁網址</title>
|
||||
<title xml:lang="en">Homepage URL</title>
|
||||
<title xml:lang="ge">Homepage URL</title>
|
||||
<title xml:lang="ru">Домашняя страница URL</title>
|
||||
<title xml:lang="es">URL de la página web</title>
|
||||
<description xml:lang="ko">로고를 클릭시에 이동할 홈 페이지 URL을 입력해 주세요.</description>
|
||||
<description xml:lang="jp">ロゴをクリックした時に移動するホームページのURLを入力してください。</description>
|
||||
<description xml:lang="zh-CN">点击网站LOGO时要移动的页面URL。</description>
|
||||
<description xml:lang="zh-TW">請輸入當用戶按了網站LOGO後,要前往的頁面網址。</description>
|
||||
<description xml:lang="en">Please input the URL to redirect when user clicks the logo</description>
|
||||
<description xml:lang="ge">Bitte geben Sie die URL umzuleiten, wenn Benutzer klickt das Logo</description>
|
||||
<description xml:lang="ru">Пожалуйста, введите URL для перенаправления, когда пользователь нажимает логотип</description>
|
||||
<description xml:lang="es">Ingresar el URL de la página web para redireccionar al pulsar el logotipo</description>
|
||||
</var>
|
||||
<var name="background_image" type="image">
|
||||
<title xml:lang="ko">배경 이미지</title>
|
||||
<title xml:lang="jp">背景イメージ</title>
|
||||
<title xml:lang="zh-CN">背景图片</title>
|
||||
<title xml:lang="zh-TW">背景圖片</title>
|
||||
<title xml:lang="en">Background Image</title>
|
||||
<title xml:lang="ge">Hintergrundbild</title>
|
||||
<title xml:lang="ru">Фоновое изображение</title>
|
||||
<title xml:lang="es">Imagen de fondo</title>
|
||||
<description xml:lang="ko">배경 이미지를 사용하시려면 등록해주세요.</description>
|
||||
<description xml:lang="jp">背景イメージを使う場合は、登録してください。</description>
|
||||
<description xml:lang="zh-CN">要想使用背景图片请在这里上传。</description>
|
||||
<description xml:lang="zh-TW">請在這裡上傳想要使用的背景圖片。</description>
|
||||
<description xml:lang="en">Please input if you want to use background image.</description>
|
||||
<description xml:lang="ge">Bitte geben Sie, wenn Sie verwenden wollen Hintergrundbild.</description>
|
||||
<description xml:lang="ru">Введите, если вы хотите использовать фоновое изображение.</description>
|
||||
<description xml:lang="es">Ingresar imagen de fondo si desea usar.</description>
|
||||
</var>
|
||||
</extra_vars>
|
||||
|
||||
<menus>
|
||||
<menu name="main_menu" maxdepth="3" default="true">
|
||||
<title xml:lang="ko">상단 메뉴</title>
|
||||
<title xml:lang="jp">上段メニュー</title>
|
||||
<title xml:lang="zh-CN">主菜单</title>
|
||||
<title xml:lang="zh-TW">主選單</title>
|
||||
<title xml:lang="en">Top menu</title>
|
||||
<title xml:lang="ge">Top Menü</title>
|
||||
<title xml:lang="ru">Верхнее меню</title>
|
||||
<title xml:lang="es">Menú Principal</title>
|
||||
</menu>
|
||||
<menu name="bottom_menu" maxdepth="1">
|
||||
<title xml:lang="ko">하단 메뉴 </title>
|
||||
<title xml:lang="jp">下段メニュー</title>
|
||||
<title xml:lang="zh-CN">底部菜单</title>
|
||||
<title xml:lang="zh-TW">底部選單</title>
|
||||
<title xml:lang="en">Bottom menu</title>
|
||||
<title xml:lang="ge">Bottom-Menü</title>
|
||||
<title xml:lang="ru">Внизу меню</title>
|
||||
<title xml:lang="es">Menú Inferior </title>
|
||||
</menu>
|
||||
</menus>
|
||||
</layout>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<layout version="0.2">
|
||||
<title xml:lang="ko">XE 공식 사이트 레이아웃</title>
|
||||
<title xml:lang="jp">XEオフィシャルレイアウト</title>
|
||||
<title xml:lang="en">XE Official website layout</title>
|
||||
<title xml:lang="ge">XE Offizielle Website-Layout</title>
|
||||
<title xml:lang="ru">XE Официальный сайт макет</title>
|
||||
<title xml:lang="es">Diseño oficial de la página web de XE</title>
|
||||
<title xml:lang="zh-CN">XE 官方网站布局</title>
|
||||
<title xml:lang="zh-TW">XE 官方網站版面</title>
|
||||
<description xml:lang="ko">
|
||||
XE 공식 사이트 레이아웃입니다.
|
||||
디자인 : 이소라
|
||||
퍼블리싱 : 정찬명
|
||||
레이아웃 제작 : zero
|
||||
</description>
|
||||
<description xml:lang="jp">
|
||||
XEのオフィシャルサイトのレイアウトです。
|
||||
デザイン:イ ソラ
|
||||
パブリシング:ジョン チャンミョン
|
||||
レイアウト作成:Zero
|
||||
</description>
|
||||
<description xml:lang="en">
|
||||
This layout is the XE Official website layout.
|
||||
Designer : So-Ra Lee
|
||||
HTML/CSS : Chan-Myung Jeong
|
||||
Layout producer : zero
|
||||
</description>
|
||||
<description xml:lang="ge">
|
||||
Dieses Layout ist das XE Offizielle Website-Layout.
|
||||
Designer: So-Ra Lee
|
||||
HTML / CSS: Chan-Myung Jeong
|
||||
Layout Hersteller: Zero
|
||||
</description>
|
||||
<description xml:lang="ru">
|
||||
Этот формат является XE Официальный сайт компоновку.
|
||||
Дизайнер: So-Ra Lee
|
||||
HTML / CSS: Chan-Myung Jeong
|
||||
Макет производителя: ноль
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
Este diseño is el diseño oficial de la página web de Zerobard XE.
|
||||
Deseñador : So-Ra Lee
|
||||
HTML/CSS : Chan-Myung Jeong
|
||||
Productor del diseño : zero
|
||||
</description>
|
||||
<description xml:lang="zh-CN">
|
||||
XE官方网站布局。
|
||||
设计 : So-Ra Lee
|
||||
HTML/CSS : Chan-Myung Jeong
|
||||
布局 : zero
|
||||
</description>
|
||||
<description xml:lang="zh-TW">
|
||||
XE官方網站版面。
|
||||
設計 : So-Ra Lee
|
||||
HTML/CSS : Chan-Myung Jeong
|
||||
版面設計 : zero
|
||||
</description>
|
||||
<version>0.1</version>
|
||||
<date>2007-08-01</date>
|
||||
<link>http://blog.nzeo.com</link>
|
||||
|
||||
<author email_address="zero@zeroboard.com" link="http://blog.nzeo.com">
|
||||
<name xml:lang="ko">zero</name>
|
||||
<name xml:lang="jp">zero</name>
|
||||
<name xml:lang="en">zero</name>
|
||||
<name xml:lang="ge">zero</name>
|
||||
<name xml:lang="ru">zero</name>
|
||||
<name xml:lang="es">zero</name>
|
||||
<name xml:lang="zh-CN">zero</name>
|
||||
<name xml:lang="zh-TW">zero</name>
|
||||
</author>
|
||||
|
||||
<extra_vars>
|
||||
<var name="colorset" type="select">
|
||||
<title xml:lang="ko">컬러셋</title>
|
||||
<title xml:lang="jp">カラーセット</title>
|
||||
<title xml:lang="zh-CN">颜色</title>
|
||||
<title xml:lang="zh-TW">顏色設定</title>
|
||||
<title xml:lang="en">Colorset</title>
|
||||
<title xml:lang="ge">Colorset</title>
|
||||
<title xml:lang="ru">Colorset</title>
|
||||
<title xml:lang="es">Set de colores</title>
|
||||
<description xml:lang="ko">원하시는 컬러셋을 선택해주세요.</description>
|
||||
<description xml:lang="jp">希望するカラーセットを選択してください。</description>
|
||||
<description xml:lang="zh-CN">请选择颜色。</description>
|
||||
<description xml:lang="zh-TW">請選擇顏色。</description>
|
||||
<description xml:lang="en">Please select a colorset you want.</description>
|
||||
<description xml:lang="ge">Bitte wählen Sie ein colorset Sie wollen.</description>
|
||||
<description xml:lang="ru">Выберите colorset хотите.</description>
|
||||
<description xml:lang="es">Seleccione set de colores que desea.</description>
|
||||
<options value="default">
|
||||
<title xml:lang="ko">기본</title>
|
||||
<title xml:lang="jp">デフォルト</title>
|
||||
<title xml:lang="en">Basic</title>
|
||||
<title xml:lang="ge">Basic</title>
|
||||
<title xml:lang="ru">Базовые</title>
|
||||
<title xml:lang="es">Básico</title>
|
||||
<title xml:lang="zh-CN">默认</title>
|
||||
<title xml:lang="zh-TW">預設</title>
|
||||
</options>
|
||||
<options value="black">
|
||||
<title xml:lang="ko">검은색</title>
|
||||
<title xml:lang="jp">黒</title>
|
||||
<title xml:lang="en">Black</title>
|
||||
<title xml:lang="ge">Schwarz</title>
|
||||
<title xml:lang="ru">Черного</title>
|
||||
<title xml:lang="es">Negro</title>
|
||||
<title xml:lang="zh-CN">黑色</title>
|
||||
<title xml:lang="zh-TW">黑色</title>
|
||||
</options>
|
||||
<options value="white">
|
||||
<title xml:lang="ko">하얀색</title>
|
||||
<title xml:lang="jp">白</title>
|
||||
<title xml:lang="en">white</title>
|
||||
<title xml:lang="ge">weiß</title>
|
||||
<title xml:lang="ru">белый</title>
|
||||
<title xml:lang="es">Blanco</title>
|
||||
<title xml:lang="zh-CN">白色</title>
|
||||
<title xml:lang="zh-TW">白色</title>
|
||||
</options>
|
||||
</var>
|
||||
<var name="logo_image" type="image">
|
||||
<title xml:lang="ko">로고이미지</title>
|
||||
<title xml:lang="jp">ロゴイメージ</title>
|
||||
<title xml:lang="zh-CN">LOGO图片</title>
|
||||
<title xml:lang="zh-TW">LOGO圖片</title>
|
||||
<title xml:lang="en">Logo image</title>
|
||||
<title xml:lang="ge">Logobildes</title>
|
||||
<title xml:lang="ru">Изображения логотипа</title>
|
||||
<title xml:lang="es">Imagen del logotipo</title>
|
||||
<description xml:lang="ko">레이아웃의 상단에 표시될 로고이미지를 입력하세요. (세로길이가 23px인 투명이미지가 가장 어울립니다)</description>
|
||||
<description xml:lang="jp">レイアウトの上段に表示されるロゴイメージを入力してください。 (縦幅が23pxである透明イメージが最も合います。)</description>
|
||||
<description xml:lang="zh-CN">请输入显示在布局顶部的LOGO图片。(高度为23px的透明图片为适。)</description>
|
||||
<description xml:lang="zh-TW">請輸入在版面上端要顯示的LOGO圖片。(適當高度為23px的透明圖片。)</description>
|
||||
<description xml:lang="en">Please input a logo image which will be displayed on the top of layout. (Transparent image with height of 23px is recommended.)</description>
|
||||
<description xml:lang="ge">Bitte geben Sie ein Logo das Bild wird auf dem oberen Layout. (Transparent Bild mit einer Höhe von 23px wird empfohlen).</description>
|
||||
<description xml:lang="ru">Введите логотип изображение, которое будет отображаться в верхней части формы. (Прозрачный изображение с высотой 23px рекомендуется.)</description>
|
||||
<description xml:lang="es">Ingresar una imagen para logotipo. ( Se recomienda una imagen de fondo transparente con una altura de 23px.</description>
|
||||
</var>
|
||||
<var name="index_url" type="text">
|
||||
<title xml:lang="ko">홈 페이지 URL</title>
|
||||
<title xml:lang="jp">ホームページURL</title>
|
||||
<title xml:lang="zh-CN">主页地址</title>
|
||||
<title xml:lang="zh-TW">主頁網址</title>
|
||||
<title xml:lang="en">Homepage URL</title>
|
||||
<title xml:lang="ge">Homepage URL</title>
|
||||
<title xml:lang="ru">Домашняя страница URL</title>
|
||||
<title xml:lang="es">URL de la página web</title>
|
||||
<description xml:lang="ko">로고를 클릭시에 이동할 홈 페이지 URL을 입력해 주세요.</description>
|
||||
<description xml:lang="jp">ロゴをクリックした時に移動するホームページのURLを入力してください。</description>
|
||||
<description xml:lang="zh-CN">点击网站LOGO时要移动的页面URL。</description>
|
||||
<description xml:lang="zh-TW">請輸入當用戶按了網站LOGO後,要前往的頁面網址。</description>
|
||||
<description xml:lang="en">Please input the URL to redirect when user clicks the logo</description>
|
||||
<description xml:lang="ge">Bitte geben Sie die URL umzuleiten, wenn Benutzer klickt das Logo</description>
|
||||
<description xml:lang="ru">Пожалуйста, введите URL для перенаправления, когда пользователь нажимает логотип</description>
|
||||
<description xml:lang="es">Ingresar el URL de la página web para redireccionar al pulsar el logotipo</description>
|
||||
</var>
|
||||
<var name="background_image" type="image">
|
||||
<title xml:lang="ko">배경 이미지</title>
|
||||
<title xml:lang="jp">背景イメージ</title>
|
||||
<title xml:lang="zh-CN">背景图片</title>
|
||||
<title xml:lang="zh-TW">背景圖片</title>
|
||||
<title xml:lang="en">Background Image</title>
|
||||
<title xml:lang="ge">Hintergrundbild</title>
|
||||
<title xml:lang="ru">Фоновое изображение</title>
|
||||
<title xml:lang="es">Imagen de fondo</title>
|
||||
<description xml:lang="ko">배경 이미지를 사용하시려면 등록해주세요.</description>
|
||||
<description xml:lang="jp">背景イメージを使う場合は、登録してください。</description>
|
||||
<description xml:lang="zh-CN">要想使用背景图片请在这里上传。</description>
|
||||
<description xml:lang="zh-TW">請在這裡上傳想要使用的背景圖片。</description>
|
||||
<description xml:lang="en">Please input if you want to use background image.</description>
|
||||
<description xml:lang="ge">Bitte geben Sie, wenn Sie verwenden wollen Hintergrundbild.</description>
|
||||
<description xml:lang="ru">Введите, если вы хотите использовать фоновое изображение.</description>
|
||||
<description xml:lang="es">Ingresar imagen de fondo si desea usar.</description>
|
||||
</var>
|
||||
</extra_vars>
|
||||
|
||||
<menus>
|
||||
<menu name="main_menu" maxdepth="3" default="true">
|
||||
<title xml:lang="ko">상단 메뉴</title>
|
||||
<title xml:lang="jp">上段メニュー</title>
|
||||
<title xml:lang="zh-CN">主菜单</title>
|
||||
<title xml:lang="zh-TW">主選單</title>
|
||||
<title xml:lang="en">Top menu</title>
|
||||
<title xml:lang="ge">Top Menü</title>
|
||||
<title xml:lang="ru">Верхнее меню</title>
|
||||
<title xml:lang="es">Menú Principal</title>
|
||||
</menu>
|
||||
<menu name="bottom_menu" maxdepth="1">
|
||||
<title xml:lang="ko">하단 메뉴 </title>
|
||||
<title xml:lang="jp">下段メニュー</title>
|
||||
<title xml:lang="zh-CN">底部菜单</title>
|
||||
<title xml:lang="zh-TW">底部選單</title>
|
||||
<title xml:lang="en">Bottom menu</title>
|
||||
<title xml:lang="ge">Bottom-Menü</title>
|
||||
<title xml:lang="ru">Внизу меню</title>
|
||||
<title xml:lang="es">Menú Inferior </title>
|
||||
</menu>
|
||||
</menus>
|
||||
</layout>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
</div>
|
||||
|
||||
<div id="popBody">
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->title}</div></th>
|
||||
|
|
@ -13,18 +12,20 @@
|
|||
<th scope="row"><div>{$lang->author}</div></th>
|
||||
<td>
|
||||
<!--@foreach($addon_info->author as $author)-->
|
||||
{$author->name} (<a href="{$author->homepage}" onclick="window.open(this.href);return false;">{$author->homepage}</a>, <a href="mailto:{$author->email_address}">{$author->email_address}</a>)<br />
|
||||
{$author->name} <!--@if($author->homepage || $author->email_address)-->(<!--@if($author->homepage)--><a href="{$author->homepage}" onclick="window.open(this.href);return false;">{$author->homepage}</a><!--@end--><!--@if($author->homepage && $author->email_address)-->, <!--@end--><!--@if($author->email_address)--><a href="mailto:{$author->email_address}">{$author->email_address}</a><!--@end-->)<!--@end--><br />
|
||||
<!--@endforeach-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@if($addon_info->homepage)-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->homepage}</div></th>
|
||||
<td><a href="{$addon_info->homepage}" onclick="window.open(this.href);return false;">{$addon_info->homepage}</a></td>
|
||||
</tr>
|
||||
</tr><!--@end-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->regdate}</div></th>
|
||||
<td>{zdate($addon_info->date, 'Y-m-d')}</td>
|
||||
</tr>
|
||||
<!--@if($addon_info->license || $addon_info->license_link)-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->addon_license}</div></th>
|
||||
<td>
|
||||
|
|
@ -33,11 +34,12 @@
|
|||
<p><a href="{$addon_info->license_link}" onclick="window.close(); return false;">{$addon_info->license_link}</a></p>
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
</tr><!--@end-->
|
||||
<!--@if($addon_info->description)-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->description}</div></th>
|
||||
<td>{nl2br(trim($addon_info->description))}</td>
|
||||
</tr>
|
||||
</tr><!--@end-->
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
{nl2br($val->description)}
|
||||
{nl2br($val->description)}
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
|
|
|
|||
|
|
@ -54,16 +54,16 @@
|
|||
$lang->yesterday = "Yesterday";
|
||||
$lang->today = "Today";
|
||||
|
||||
$lang->cmd_lang_select = "언어선택";
|
||||
$lang->about_cmd_lang_select = "선택된 언어들만 서비스 됩니다";
|
||||
$lang->about_recompile_cache = "쓸모없어졌거나 잘못된 캐시파일들을 정리할 수 있습니다";
|
||||
$lang->use_ssl = "SSL 사용";
|
||||
$lang->cmd_lang_select = "langue";
|
||||
$lang->about_cmd_lang_select = "La langue choisie seulement sera servie";
|
||||
$lang->about_recompile_cache = "Vous pouvez arranger les fichiers inutils ou les fichiers invalides d'antémémoire";
|
||||
$lang->use_ssl = "Utiliser SSL";
|
||||
$lang->ssl_options = array(
|
||||
'none' => "사용안함",
|
||||
'optional' => "선택적으로",
|
||||
'always' => "항상사용"
|
||||
'none' => "Ne Pas utiliser",
|
||||
'optional' => "Optionnel",
|
||||
'always' => "Toujours"
|
||||
);
|
||||
$lang->about_use_ssl = "선택적으로에서는 회원가입/정보수정등의 지정된 action에서 SSL을 사용하고 항상 사용은 모든 서비스가 SSL을 이용하게 됩니다.";
|
||||
$lang->server_ports = "서버포트지정";
|
||||
$lang->about_server_ports = "HTTP는 80, HTTPS는 443이외의 다른 포트를 사용하는 경우에 포트를 지정해주어야합니다.";
|
||||
$lang->about_use_ssl = "Si l'on choisit 'Optionnel' , on utilise protocole SSL seulement dans quelques services comme inscription ou modification. Si l'on choisit 'Toujours', on utilise protocole SSL dans tous les services.";
|
||||
$lang->server_ports = "déclarer le port de serveur";
|
||||
$lang->about_server_ports = "Si l'on ne veut pas utiliser le port 80 pour HTTP mais un autre port, ou bien, si l'on ne veut pas utiliser le port 443 pour HTTPS mais un autre port, on doit déclarer les ports.";
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ ul.localNavigation li.on a { background-position:right top; padding:8px 15px 5px
|
|||
|
||||
#popHeadder, #popHistoryHeadder { margin-bottom:10px;}
|
||||
#popHeadder h1, #popHistoryHeadder h1 { background:url("../images/top_head_title_bg.gif") repeat-x left top; font-size:1em; border:1px solid #E3E3E2; padding:9px; color:#555555; margin:0; }
|
||||
#popBody, #popHistoryBody { width:600px; padding:10px; background:#ffffff;}
|
||||
#popBody, #popHistoryBody { width:600px; padding:10px; background:#ffffff; *zoom:1; position:relative;}
|
||||
#popHistoryBody { height: 200px; overflow: auto; padding-right:0; }
|
||||
#popFooter { width:620px; background:#70A2C6; border-top:1px solid #e8e8e7; padding:.5em 0 .5em 0; overflow:hidden; }
|
||||
#popFooter .close { position:relative; left:50%; margin-left:-1em; float:left;}
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@
|
|||
<td class="number center">{$val->version}</td>
|
||||
<td class="nowrap">
|
||||
<!--@foreach($val->author as $author)-->
|
||||
<a href="{$author->homepage}" onclick="window.open(this.href);return false;">{$author->name}</a>
|
||||
<!--@if($author->homepage)--><a href="{$author->homepage}" onclick="window.open(this.href);return false;"><!--@end-->{$author->name}<!--@if($author->homepage)--></a><!--@end-->
|
||||
<!--@endforeach-->
|
||||
</td>
|
||||
<td class="number center <!--@if($val->created_table_count != $val->table_count)-->alert<!--@end-->">
|
||||
|
|
|
|||
|
|
@ -43,6 +43,15 @@
|
|||
$oModule->add('oDocument',$this->arrangeContent(Context::get('oDocument')));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 컨텐츠의 파일 목록
|
||||
**/
|
||||
function dispBoardContentFileList(&$oModule) {
|
||||
$oModule->add('file_list',$this->arrangeFile(Context::get('file_list')));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 태그 목록
|
||||
**/
|
||||
|
|
@ -50,8 +59,10 @@
|
|||
$oModule->add('tag_list',Context::get('tag_list'));
|
||||
}
|
||||
|
||||
|
||||
function dispBoardConentCommentList(&$oModule) {
|
||||
/**
|
||||
* @brief 컨텐츠의 코멘트 목록
|
||||
**/
|
||||
function dispBoardContentCommentList(&$oModule) {
|
||||
$oModule->add('comment_list',$this->arrangeComment(Context::get('comment_list')));
|
||||
}
|
||||
|
||||
|
|
@ -83,5 +94,24 @@
|
|||
}
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
||||
function arrangeFile($file_list) {
|
||||
$output = array();
|
||||
if(count($file_list)) {
|
||||
foreach($file_list as $key => $val){
|
||||
$item = null;
|
||||
$item->sid = $val->sid;
|
||||
$item->download_count = $val->download_count;
|
||||
$item->source_filename = $val->source_filename;
|
||||
$item->uploaded_filename = $val->uploaded_filename;
|
||||
$item->file_size = $val->file_size;
|
||||
$item->regdate = $val->regdate;
|
||||
$item->download_url = $val->download_url;
|
||||
$output[] = $item;
|
||||
}
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -25,7 +25,8 @@
|
|||
$obj->module_srl = $this->module_srl;
|
||||
if($obj->is_notice!='Y'||!$this->grant->manager) $obj->is_notice = 'N';
|
||||
|
||||
if(!$obj->title) $obj->title = cut_str(strip_tags($obj->content),20,'...');
|
||||
settype($obj->title, "string");
|
||||
if($obj->title == '') $obj->title = cut_str(strip_tags($obj->content),20,'...');
|
||||
|
||||
// 관리자가 아니라면 게시글 색상/굵기 제거
|
||||
if(!$this->grant->manager) {
|
||||
|
|
|
|||
|
|
@ -67,8 +67,7 @@
|
|||
/**
|
||||
* 카테고리를 사용하는지 확인후 사용시 카테고리 목록을 구해와서 Context에 세팅
|
||||
**/
|
||||
$this->dispBoardCatogoryList();
|
||||
|
||||
$this->dispBoardCategoryList();
|
||||
|
||||
/**
|
||||
* 목록이 노출될때 같이 나오는 검색 옵션을 정리하여 스킨에서 쓸 수 있도록 context set
|
||||
|
|
@ -98,7 +97,7 @@
|
|||
$this->setTemplateFile('list');
|
||||
}
|
||||
|
||||
function dispBoardCatogoryList(){
|
||||
function dispBoardCategoryList(){
|
||||
if($this->module_info->use_category=='Y') {
|
||||
$oDocumentModel = &getModel('document');
|
||||
Context::set('category_list', $oDocumentModel->getCategoryList($this->module_srl));
|
||||
|
|
@ -113,10 +112,8 @@
|
|||
$document_srl = Context::get('document_srl');
|
||||
$page = Context::get('page');
|
||||
|
||||
// document model 객체를 생성
|
||||
$oDocumentModel = &getModel('document');
|
||||
|
||||
// 혹시 선택된 문서가 있다면 해당 문서에 대한 객체를 생성함 (일단 빈객체를 만드는 것은 선택된 글이 없을때 스킨에서 object 오류발생하는 것을 막기 위함)
|
||||
// 혹시 선택된 문서가 있다면 해당 문서에 대한 객체를 생성함
|
||||
// (일단 빈객체를 만드는 것은 선택된 글이 없을때 스킨에서 object 오류발생하는 것을 막기 위함)
|
||||
$oDocument = $oDocumentModel->getDocument(0);
|
||||
|
||||
// document_srl이 있다면 해당 글을 구해와서 $oDocument로 세팅
|
||||
|
|
@ -177,6 +174,14 @@
|
|||
Context::set('oDocument', $oDocument);
|
||||
}
|
||||
|
||||
|
||||
function dispBoardContentFileList(){
|
||||
$oDocumentModel = &getModel('document');
|
||||
$document_srl = Context::get('document_srl');
|
||||
$oDocument = $oDocumentModel->getDocument($document_srl);
|
||||
Context::set('file_list',$oDocument->getUploadedFiles());
|
||||
}
|
||||
|
||||
function dispBoardContentCommentList(){
|
||||
$oDocumentModel = &getModel('document');
|
||||
$document_srl = Context::get('document_srl');
|
||||
|
|
@ -202,6 +207,7 @@
|
|||
function dispBoardContentList(){
|
||||
$oDocumentModel = &getModel('document');
|
||||
$args->module_srl = $this->module_srl; ///< 현재 모듈의 module_srl
|
||||
|
||||
// 목록을 구하기 위한 대상 모듈/ 페이지 수/ 목록 수/ 페이지 목록 수에 대한 옵션 설정
|
||||
$args->page = Context::get('page');; ///< 페이지
|
||||
$args->list_count = $this->list_count; ///< 한페이지에 보여줄 글 수
|
||||
|
|
|
|||
115
modules/board/board.wap.php
Normal file
115
modules/board/board.wap.php
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
<?php
|
||||
/**
|
||||
* @class boardWAP
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief board 모듈의 WAP class
|
||||
**/
|
||||
|
||||
class boardWAP extends board {
|
||||
|
||||
/**
|
||||
* @brief wap procedure method
|
||||
**/
|
||||
function procWAP(&$oMobile) {
|
||||
// 권한 체크
|
||||
if(!$this->grant->list || $this->module_info->consultation == 'Y') return $oMobile->setContent(Context::getLang('msg_not_permitted'));
|
||||
|
||||
// document model 객체 생성
|
||||
$oDocumentModel = &getModel('document');
|
||||
|
||||
// 선택된 게시글이 있을 경우
|
||||
$document_srl = Context::get('document_srl');
|
||||
if($document_srl) {
|
||||
$oDocument = $oDocumentModel->getDocument($document_srl);
|
||||
if($oDocument->isExists()) {
|
||||
// 권한 확인
|
||||
if(!$this->grant->view) return $oMobile->setContent(Context::getLang('msg_not_permitted'));
|
||||
|
||||
// 글 제목 설정
|
||||
Context::setBrowserTitle($oDocument->getTitleText());
|
||||
|
||||
// 댓글 보기 일 경우
|
||||
if($this->act=='dispBoardContentCommentList') {
|
||||
|
||||
$oCommentModel = &getModel('comment');
|
||||
$output = $oCommentModel->getCommentList($oDocument->document_srl, 0, false, $oDocument->getCommentCount());
|
||||
|
||||
$content = '';
|
||||
if(count($output->data)) {
|
||||
foreach($output->data as $key => $val){
|
||||
$oComment = new commentItem();
|
||||
$oComment->setAttribute($val);
|
||||
if(!$oComment->isAccessible()) continue;
|
||||
$content .= "<b>".$oComment->getNickName()."</b> (".$oComment->getRegdate("Y-m-d").")<br>\r\n".$oComment->getContent(false,false)."<br>\r\n";
|
||||
}
|
||||
}
|
||||
|
||||
// 내용 설정
|
||||
$oMobile->setContent( $content );
|
||||
|
||||
// 상위 페이지를 목록으로 돌아가기로 지정
|
||||
$oMobile->setUpperUrl( getUrl('act',''), Context::getLang('cmd_go_upper') );
|
||||
|
||||
// 댓글 보기가 아니면 글 보여줌
|
||||
} else {
|
||||
|
||||
// 내용 지정 (태그를 모두 제거한 내용을 설정)
|
||||
$content = strip_tags($oDocument->getContent(false,false,false));
|
||||
|
||||
|
||||
// 내용 상단에 정보 출력 (댓글 보기 링크 포함)
|
||||
$content = Context::getLang('replies').' : <a href="'.getUrl('act','dispBoardContentCommentList').'">'.$oDocument->getCommentCount().'</a><br>'."\r\n".$content;
|
||||
$content = '<b>'.$oDocument->getNickName()."</b> (".$oDocument->getRegdate("Y-m-d").")<br>\r\n".$content;
|
||||
|
||||
// 내용 설정
|
||||
$oMobile->setContent( $content );
|
||||
|
||||
// 상위 페이지를 목록으로 돌아가기로 지정
|
||||
$oMobile->setUpperUrl( getUrl('document_srl',''), Context::getLang('cmd_list') );
|
||||
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// 게시글 목록
|
||||
$args->module_srl = $this->module_srl;
|
||||
$args->page = Context::get('page');;
|
||||
$args->list_count = 9;
|
||||
$args->sort_index = $this->module_info->order_target?$this->module_info->order_target:'list_order';
|
||||
$args->order_type = $this->module_info->order_type?$this->module_info->order_type:'asc';
|
||||
$output = $oDocumentModel->getDocumentList($args, $this->except_notice);
|
||||
$document_list = $output->data;
|
||||
$page_navigation = $output->page_navigation;
|
||||
|
||||
$childs = array();
|
||||
if($document_list && count($document_list)) {
|
||||
foreach($document_list as $key => $val) {
|
||||
$href = getUrl('mid',$_GET['mid'],'document_srl',$val->document_srl);
|
||||
$obj = null;
|
||||
$obj['href'] = $val->getPermanentUrl();
|
||||
|
||||
$title = $val->getTitleText();
|
||||
if($val->getCommentCount()) $title .= ' ['.$val->getCommentCount().']';
|
||||
$obj['link'] = $obj['text'] = '['.$val->getNickName().'] '.$title;
|
||||
$childs[] = $obj;
|
||||
}
|
||||
$oMobile->setChilds($childs);
|
||||
}
|
||||
|
||||
$totalPage = $page_navigation->last_page;
|
||||
$page = (int)Context::get('page');
|
||||
if(!$page) $page = 1;
|
||||
|
||||
// next/prevUrl 지정
|
||||
if($page>1) $oMobile->setPrevUrl(getUrl('mid',$_GET['mid'],'page',$page-1), sprintf('%s (%d/%d)', Context::getLang('cmd_prev'), $page-1, $totalPage));
|
||||
|
||||
if($page<$totalPage) $oMobile->setNextUrl(getUrl('mid',$_GET['mid'],'page',$page+1), sprintf('%s (%d/%d)', Context::getLang('cmd_next'), $page+1, $totalPage));
|
||||
|
||||
$oMobile->mobilePage = $page;
|
||||
$oMobile->totalPage = $totalPage;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -86,7 +86,7 @@
|
|||
<action name="dispBoardContentView" type="view" />
|
||||
<action name="dispBoardCatogoryList" type="view" />
|
||||
<action name="dispBoardContentCommentList" type="view" />
|
||||
|
||||
<action name="dispBoardContentFileList" type="view" />
|
||||
|
||||
<action name="dispBoardTagList" type="view" />
|
||||
<action name="dispBoardWrite" type="view" />
|
||||
|
|
|
|||
|
|
@ -110,11 +110,11 @@
|
|||
<!--@if($is_logged)-->
|
||||
<span class="button {$btn_class}"><input type="button" value="{$lang->cmd_temp_save}" onclick="doDocumentSave(this); return false;" /></span>
|
||||
<span class="button {$btn_class}"><input type="button" value="{$lang->cmd_load}" onclick="doDocumentLoad(this); return false;" /></span>
|
||||
<span class="button {$btn_class}"><input type="button" value="{$lang->cmd_back}" onclick="location.href='{getUrl('act','')}'" /></span>
|
||||
<!--@end-->
|
||||
</div>
|
||||
|
||||
<div class="fr gap1">
|
||||
<span class="button {$btn_class}"><input type="button" value="{$lang->cmd_back}" onclick="location.href='{getUrl('act','')}'" /></span>
|
||||
<span class="button {$btn_class}"><input type="button" value="{$lang->cmd_preview}" onclick="doDocumentPreview(this); return false;" /></span>
|
||||
<span class="button {$btn_class}"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -92,8 +92,12 @@
|
|||
<span class="button"><input type="button" value="{$lang->cmd_temp_save}" onclick="doDocumentSave(this); return false;" /></span>
|
||||
<span class="button"><input type="button" value="{$lang->cmd_load}" onclick="doDocumentLoad(this); return false;" /></span>
|
||||
<!--@end-->
|
||||
</div>
|
||||
|
||||
<div class="fr gap1">
|
||||
<span class="button"><input type="button" value="{$lang->cmd_preview}" onclick="doDocumentPreview(this); return false;" /></span>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clear"></div>
|
||||
|
|
|
|||
|
|
@ -22,7 +22,13 @@
|
|||
<p>{$lang->about_category_color}</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->expand}</div></th>
|
||||
<td>
|
||||
<input type="checkbox" name="expand" value="Y" <!--@if($category_info->expand=="Y")-->checked="checked"<!--@end--> class="checkbox" />
|
||||
<p>{$lang->about_expand}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr >
|
||||
<th scope="row2"><div>{$lang->category_group_srls} <input type="checkbox" onclick="XE.checkboxToggleAll('group_srls'); return false;" /></div></th>
|
||||
<td>
|
||||
|
|
|
|||
|
|
@ -17,18 +17,20 @@
|
|||
<th scope="row"><div>{$lang->skin_author}</div></th>
|
||||
<td>
|
||||
<!--@foreach($skin_info->author as $author)-->
|
||||
{$author->name} (<a href="{$author->homepage}" onclick="window.open(this.href);return false;">{$author->homepage}</a>, <a href="mailto:{$author->email_address}">{$author->email_address}</a>)<br />
|
||||
{$author->name} <!--@if($author->homepage || $author->email_address)-->(<!--@if($author->homepage)--><a href="{$author->homepage}" onclick="window.open(this.href);return false;">{$author->homepage}</a><!--@end--><!--@if($author->homepage && $author->email_address)-->, <!--@end--><!--@if($author->email_address)--><a href="mailto:{$author->email_address}">{$author->email_address}</a><!--@end-->)<!--@end--><br />
|
||||
<!--@endforeach-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@if($skin_info->homepage)-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->homepage}</div></th>
|
||||
<td><a href="{$skin_info->homepage}" onclick="window.open(this.href);return false;">{$skin_info->homepage}</a></td>
|
||||
</tr>
|
||||
</tr><!--@end-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->date}</div></th>
|
||||
<td>{zdate($skin_info->date, 'Y-m-d')} </td>
|
||||
</tr>
|
||||
<!--@if($skin_info->license || $skin_info->license_link)-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->skin_license}</div></th>
|
||||
<td>
|
||||
|
|
@ -36,13 +38,13 @@
|
|||
<!--@if($skin_info->license_link)-->
|
||||
<p><a href="{$skin_info->license_link}" onclick="window.close(); return false;">{$skin_info->license_link}</a></p>
|
||||
<!--@end-->
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tr><!--@end-->
|
||||
<!--@if($skin_info->description)-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->description}</div></th>
|
||||
<td>{nl2br(trim($skin_info->description))}</td>
|
||||
</tr>
|
||||
</tr><!--@end-->
|
||||
</table>
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
<script type="text/javascript">
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
top.location.href = top.location.href;
|
||||
//]]>
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@
|
|||
return htmlspecialchars($content);
|
||||
}
|
||||
|
||||
function getContent($add_popup_menu = true, $add_content_info = true) {
|
||||
function getContent($add_popup_menu = true, $add_content_info = true, $add_xe_content_class = true) {
|
||||
if($this->isSecret() && !$this->isAccessible()) return Context::getLang('msg_is_secret');
|
||||
|
||||
$content = $this->get('content');
|
||||
|
|
@ -195,7 +195,7 @@
|
|||
);
|
||||
// 컨텐츠에 대한 조작이 필요하지 않더라도 xe_content라는 클래스명을 꼭 부여
|
||||
} else {
|
||||
$content = sprintf('<div class="xe_content">%s</div>', $content);
|
||||
if($add_xe_content_class) $content = sprintf('<div class="xe_content">%s</div>', $content);
|
||||
}
|
||||
|
||||
return $content;
|
||||
|
|
|
|||
|
|
@ -68,9 +68,8 @@
|
|||
* @brief pageview 등록
|
||||
**/
|
||||
function insertPageView() {
|
||||
$args->regdate = date("Ymd");
|
||||
$args->regdate = '0, '.date('Ymd');
|
||||
executeQuery('counter.updateCounterPageview', $args);
|
||||
executeQuery('counter.updateTotalCounterPageview');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -6,6 +6,6 @@
|
|||
<column name="pageview" default="plus(1)" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="regdate" var="regdate" notnull="notnull" />
|
||||
<condition operation="in" column="regdate" var="regdate" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -112,58 +112,6 @@
|
|||
|
||||
$oModuleModel = &getModel('module');
|
||||
|
||||
// 모듈 카테고리 목록을 구함
|
||||
$module_categories = $oModuleModel->getModuleCategories();
|
||||
|
||||
// 모듈의 목록을 가져옴
|
||||
$site_module_info = Context::get('site_module_info');
|
||||
$args->site_srl = $site_module_info->site_srl;
|
||||
$module_list = $oModuleModel->getMidList($args);
|
||||
|
||||
// 사이트 운영자가 아닌 경우
|
||||
if(!$oModuleModel->isSiteAdmin()) {
|
||||
$logged_info = Context::get('logged_info');
|
||||
$user_id = $logged_info->user_id;
|
||||
$group_list = $logged_info->group_list;
|
||||
|
||||
if($logged_info->is_admin != 'Y') {
|
||||
foreach($module_list as $key => $val) {
|
||||
$info = $oModuleModel->arrangeModuleInfo($val);
|
||||
|
||||
// 직접 최고 관리자로 지정이 안되어 있으면 그룹을 체크
|
||||
if(!in_array($user_id, $info->admin_id)) {
|
||||
|
||||
$is_granted = false;
|
||||
$manager_group = $info->grants['manager'];
|
||||
if(count($group_list) && count($manager_group)) {
|
||||
foreach($group_list as $group_srl => $group_info) {
|
||||
if(in_array($group_srl, $manager_group)) {
|
||||
$is_granted = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!$is_granted) unset($module_list[$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 게시판만 뽑자
|
||||
foreach($module_list as $module_srl => $module) {
|
||||
if($module->module != 'board') unset($module_list[$module_srl]);
|
||||
}
|
||||
|
||||
// module_category와 module의 조합
|
||||
if($module_categories) {
|
||||
foreach($module_list as $module_srl => $module) {
|
||||
$module_categories[$module->module_category_srl]->list[$module_srl] = $module;
|
||||
}
|
||||
} else {
|
||||
$module_categories[0]->list = $module_list;
|
||||
}
|
||||
|
||||
|
||||
// 모듈 카테고리 목록과 모듈 목록의 조합
|
||||
if(count($module_list)>1) Context::set('module_list', $module_categories);
|
||||
|
||||
|
|
|
|||
|
|
@ -137,7 +137,8 @@
|
|||
}
|
||||
|
||||
// 제목이 없으면 내용에서 추출
|
||||
if(!$obj->title) $obj->title = cut_str(strip_tags($obj->content),20,'...');
|
||||
settype($obj->title, "string");
|
||||
if($obj->title == '') $obj->title = cut_str(strip_tags($obj->content),20,'...');
|
||||
|
||||
// 내용에서 XE만의 태그를 삭제
|
||||
$obj->content = preg_replace('!<\!--(Before|After)(Document|Comment)\(([0-9]+),([0-9]+)\)-->!is', '', $obj->content);
|
||||
|
|
@ -238,7 +239,8 @@
|
|||
}
|
||||
|
||||
// 제목이 없으면 내용에서 추출
|
||||
if(!$obj->title) $obj->title = cut_str(strip_tags($obj->content),20,'...');
|
||||
settype($obj->title, "string");
|
||||
if($obj->title == '') $obj->title = cut_str(strip_tags($obj->content),20,'...');
|
||||
|
||||
// 내용에서 XE만의 태그를 삭제
|
||||
$obj->content = preg_replace('!<\!--(Before|After)(Document|Comment)\(([0-9]+),([0-9]+)\)-->!is', '', $obj->content);
|
||||
|
|
|
|||
|
|
@ -235,7 +235,7 @@
|
|||
return htmlspecialchars($content);
|
||||
}
|
||||
|
||||
function getContent($add_popup_menu = true, $add_content_info = true, $resource_realpath = false) {
|
||||
function getContent($add_popup_menu = true, $add_content_info = true, $resource_realpath = false, $add_xe_content_class = true) {
|
||||
if(!$this->document_srl) return;
|
||||
|
||||
if($this->isSecret() && !$this->isGranted()) return Context::getLang('msg_is_secret');
|
||||
|
|
@ -271,7 +271,7 @@
|
|||
);
|
||||
// 컨텐츠에 대한 조작이 필요하지 않더라도 xe_content라는 클래스명을 꼭 부여
|
||||
} else {
|
||||
$content = sprintf('<div class="xe_content">%s</div>', $content);
|
||||
if($add_xe_content_class) $content = sprintf('<div class="xe_content">%s</div>', $content);
|
||||
}
|
||||
|
||||
// resource_realpath가 true이면 내용내 이미지의 경로를 절대 경로로 변경
|
||||
|
|
@ -282,9 +282,21 @@
|
|||
return $content;
|
||||
}
|
||||
|
||||
/**
|
||||
* 에디터 코드가 변환된 내용 반환
|
||||
**/
|
||||
function getTransContent($add_popup_menu = true, $add_content_info = true, $resource_realpath = false, $add_xe_content_class = true) {
|
||||
$oContext = &Context::getInstance();
|
||||
|
||||
$content = $this->getContent($add_popup_menu, $add_content_info, $resource_realpath, $add_xe_content_class);
|
||||
$content = $oContext->transContent($content);
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
function getSummary($str_size = 50) {
|
||||
// 영문이나 숫자가 연결되어서 20개 이상으로 연결시에 강제 띄움 시도
|
||||
$content = preg_replace('/([a-z0-9\-\+:\/\.\~,\|\!\@\#\$\%\^\&\*\(\)\_\+]){20,}/is',"$0 ",$this->getContent(false,false));
|
||||
// 영문이나 숫자가 연결되어서 20개 이상으로 연결시에 강제 띄움 시도 - {20,}으로 길이를 정하면, 20개 이상 문자열 맨 마지막에 스페이스를 추가할 뿐 원하는 의도는 달성되지 못함
|
||||
$content = preg_replace('/([a-z0-9\+:\/\.\~,\|\!\@\#\$\%\^\&\*\(\)\_]){20}/is',"$0-",$this->getContent(false,false));
|
||||
|
||||
// 태그 제거
|
||||
$content = preg_replace('!<([^>]*?)>!is','', $content);
|
||||
|
|
|
|||
|
|
@ -485,7 +485,8 @@
|
|||
* @brief 특정 카테고리에 child가 있는지 체크
|
||||
**/
|
||||
function getCategoryChlidCount($category_srl) {
|
||||
$output = executeQuery('document.getChildCategoryCount');
|
||||
$args->category_srl = $category_srl;
|
||||
$output = executeQuery('document.getChildCategoryCount',$args);
|
||||
if($output->data->count > 0) return true;
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,22 +25,12 @@
|
|||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@if(count($document_list) && $module_list)-->
|
||||
<!--@if(count($document_list))-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->move_target_module}</div></th>
|
||||
<td>
|
||||
<select id="target_module" name="target_module" class="w400" onchange="doGetCategoryFromModule(this); return false;">
|
||||
<!--@foreach($module_list as $module_category_srl => $modules )-->
|
||||
<!--@if($modules->title)-->
|
||||
<option disabled="disabled">{$modules->title}</option>
|
||||
<!--@else-->
|
||||
<option disabled="disabled"> </option>
|
||||
<!--@end-->
|
||||
<!--@foreach($modules->list as $key => $val)-->
|
||||
<option value="{$val->module_srl}"> {$val->browser_title} ({$val->mid})</option>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</select>
|
||||
<input type="hidden" name="target_module" id="target_module" value="" />
|
||||
<input type="text" name="_target_module" id="_target_module" class="inputTypeText w300" value="" /><a href="{getUrl('','module','module','act','dispModuleAdminSelectList','id','target_module','type','single')}" onclick="popopen(this.href,'ModuleSelect');return false;" class="button green"><span>{$lang->cmd_select}</span></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
|
|||
|
|
@ -27,10 +27,7 @@ function completeManageDocument(ret_obj) {
|
|||
}
|
||||
|
||||
/* 선택된 모듈의 카테고리 목록을 가져오는 함수 */
|
||||
function doGetCategoryFromModule(obj) {
|
||||
if(!obj) return;
|
||||
var module_srl = obj.options[obj.selectedIndex].value;
|
||||
|
||||
function doGetCategoryFromModule(module_srl) {
|
||||
var params = new Array();
|
||||
params['module_srl'] = module_srl;
|
||||
|
||||
|
|
@ -85,3 +82,11 @@ function doCancelDeclare() {
|
|||
function completeCancelDeclare(ret_obj) {
|
||||
location.reload();
|
||||
}
|
||||
|
||||
function insertSelectedModule(id, module_srl, mid, browser_title) {
|
||||
var obj= xGetElementById('_'+id);
|
||||
var sObj = xGetElementById(id);
|
||||
sObj.value = module_srl;
|
||||
obj.value = browser_title+' ('+mid+')';
|
||||
doGetCategoryFromModule(module_srl);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@
|
|||
$link_url = $xml_obj->attrs->link_url;
|
||||
$open_window = $xml_obj->attrs->open_window;
|
||||
$style = $xml_obj->attrs->style;
|
||||
$margin = (int)$xml_obj->attrs->margin;
|
||||
|
||||
if(!$alt) {
|
||||
$tmp_arr = explode('/',$src);
|
||||
|
|
@ -64,15 +65,26 @@
|
|||
$attr_output[] = "alt=\"".$alt."\"";
|
||||
$attr_output[] = "title=\"".$alt."\"";
|
||||
}
|
||||
if($margin) {
|
||||
$style = trim(preg_replace('/margin[a-z\-]*[ ]*:[ ]*[0-9 a-z]+(;| )/i','', $style)).';';
|
||||
$style = str_replace(';;',';',$style);
|
||||
if($style == ';') $style = '';
|
||||
$style .= ' margin:'.$margin.'px;';
|
||||
}
|
||||
if($align) $attr_output[] = "align=\"".$align."\"";
|
||||
|
||||
if(preg_match("/\.png$/i",$src)) $attr_output[] = "class=\"iePngFix\"";
|
||||
|
||||
if($width) $attr_output[] = 'width="'.$width.'"';
|
||||
if($height) $attr_output[] = 'height="'.$height.'"';
|
||||
if($border) $attr_output[] = 'border="'.$border.'"';
|
||||
if($border) {
|
||||
$style = trim(preg_replace('/border[a-z\-]*[ ]*:[ ]*[0-9 a-z]+(;| )/i','', $style)).';';
|
||||
$style = str_replace(';;',';',$style);
|
||||
if($style == ';') $style = '';
|
||||
$style .= ' border-style: solid; border-width:'.$border.'px;';
|
||||
}
|
||||
|
||||
$code = sprintf("<img %s style=\"%s\" />", implode(" ",$attr_output), $style);
|
||||
$code = sprintf("<img %s style=\"%s\" />", implode(' ',$attr_output), $style);
|
||||
|
||||
if($link_url) {
|
||||
if($open_window =='Y') $code = sprintf('<a href="%s" onclick="window.open(this.href);return false;">%s</a>', $link_url, $code);
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
$lang->image_align_right = "Right of Article";
|
||||
$lang->image_border = "Border Thickness";
|
||||
$lang->urllink_url = "URL";
|
||||
$lang->image_margin = 'Image Margin';
|
||||
|
||||
$lang->about_url_link_open_window = "Make the link to open as a new window";
|
||||
$lang->cmd_get_scale = "Get Image Size";
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
$lang->image_align_right = "Derecho de articulo";
|
||||
$lang->image_border = "Grosor de Fronteras";
|
||||
$lang->urllink_url = "URL";
|
||||
$lang->image_margin = 'Image Margin';
|
||||
|
||||
$lang->about_url_link_open_window = "Hacer el vinculo para abrir una nueva ventana";
|
||||
$lang->cmd_get_scale = "Obtener tamano de la imagen";
|
||||
|
|
|
|||
|
|
@ -14,9 +14,10 @@
|
|||
$lang->image_align_middle = "中央揃え";
|
||||
$lang->image_align_right = "右揃え";
|
||||
$lang->image_border = "ボーダー";
|
||||
$lang->image_margin = '外側の空白(Margin)';
|
||||
|
||||
$lang->urllink_open_window = "新しいウィンドウで開く";
|
||||
$lang->about_url_link_open_window = "チェックすると、リンクをクリックした時に新しいウィンドウで開きます。";
|
||||
$lang->about_url_link_open_window = "チェックすると、リンクをクリックする際、新しいウィンドウで開きます。";
|
||||
|
||||
$lang->cmd_get_scale = "イメージサイズ表示";
|
||||
$lang->cmd_get_scale = "イメージサイズを計算";
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -5,18 +5,19 @@
|
|||
* @brief 위지윅에디터(editor) 모듈 > 이미지링크(image_link) 컴포넌트의 언어팩
|
||||
**/
|
||||
|
||||
$lang->image_url = "이미지 경로";
|
||||
$lang->image_alt = "설명 입력";
|
||||
$lang->image_scale = "이미지크기";
|
||||
$lang->image_align = "정렬 방법 ";
|
||||
$lang->image_align_normal = "한 문단을 차지";
|
||||
$lang->image_align_left = "글의 왼쪽으로";
|
||||
$lang->image_align_middle = "가운데";
|
||||
$lang->image_align_right = "글의 우측으로";
|
||||
$lang->image_border = "경계선 두께";
|
||||
$lang->image_url = '이미지 경로';
|
||||
$lang->image_alt = '설명 입력';
|
||||
$lang->image_scale = '이미지크기';
|
||||
$lang->image_align = '정렬 방법';
|
||||
$lang->image_align_normal = '한 문단을 차지';
|
||||
$lang->image_align_left = '글의 왼쪽으로';
|
||||
$lang->image_align_middle = '가운데';
|
||||
$lang->image_align_right = '글의 우측으로';
|
||||
$lang->image_border = '경계선 두께';
|
||||
$lang->image_margin = '바깥 여백';
|
||||
|
||||
$lang->urllink_open_window = "새창열기";
|
||||
$lang->about_url_link_open_window = "선택하시면 링크 선택시 새창으로 열립니다";
|
||||
$lang->urllink_open_window = '새창열기';
|
||||
$lang->about_url_link_open_window = '선택하시면 링크 선택시 새창으로 열립니다';
|
||||
|
||||
$lang->cmd_get_scale = "크기 구하기";
|
||||
$lang->cmd_get_scale = '크기 구하기';
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
$lang->image_align_right = "Право";
|
||||
$lang->image_border = "Толщина рамки";
|
||||
$lang->urllink_url = "URL";
|
||||
$lang->image_margin = 'Image Margin';
|
||||
|
||||
$lang->about_url_link_open_window = "Создайте ссылку для открытия в новом окне";
|
||||
$lang->cmd_get_scale = "Получить размер изображения";
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
$lang->image_align_right = "内容右侧";
|
||||
$lang->image_border = "边框粗细";
|
||||
$lang->urllink_url = "URL";
|
||||
$lang->image_margin = 'Image Margin';
|
||||
|
||||
$lang->about_url_link_open_window = "将在新窗口中打开链接。";
|
||||
$lang->cmd_get_scale = "获得图片大小";
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
$lang->image_align_right = "靠右";
|
||||
$lang->image_border = "邊框粗細";
|
||||
$lang->urllink_url = "網址";
|
||||
$lang->image_margin = 'Image Margin';
|
||||
|
||||
$lang->about_url_link_open_window = "開啟連結於新視窗。";
|
||||
$lang->cmd_get_scale = "取得圖片大小";
|
||||
|
|
|
|||
|
|
@ -79,6 +79,10 @@
|
|||
<th scope="row"><div>{$lang->image_border}</div></th>
|
||||
<td><input type="text" id="image_border" value="0" size="2" class="inputTypeText" />px</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->image_margin}</div></th>
|
||||
<td><input type="text" id="image_margin" value="0" size="2" class="inputTypeText" />px</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="popFooter" class="tCenter">
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ function getImage() {
|
|||
node.style.cssFloat : node.style.styleFloat;
|
||||
if(!align) align = node.style.verticalAlign?
|
||||
node.style.verticalAlign : node.getAttribute("align");
|
||||
var margin = node.style.margin ?
|
||||
node.style.margin.match("[0-9]+") : node.getAttribute("margin");
|
||||
var alt = node.getAttribute("alt");
|
||||
var width = xWidth(node);
|
||||
var height = xHeight(node);
|
||||
|
|
@ -51,7 +53,13 @@ function getImage() {
|
|||
default : xGetElementById("align_normal").checked = true; break;
|
||||
}
|
||||
|
||||
xGetElementById("image_border").value = border;
|
||||
if(margin) {
|
||||
xGetElementById('image_margin').value = margin;
|
||||
}
|
||||
|
||||
if(border) {
|
||||
xGetElementById("image_border").value = border;
|
||||
}
|
||||
|
||||
xGetElementById("width").value = width;
|
||||
xGetElementById("height").value = height;
|
||||
|
|
@ -87,6 +95,7 @@ function insertImage(obj) {
|
|||
else if(xGetElementById("align_middle").checked==true) align = "vertical-align: middle";
|
||||
else if(xGetElementById("align_right").checked==true) align = "float: right";
|
||||
var border = parseInt(xGetElementById("image_border").value,10);
|
||||
var margin = parseInt(xGetElementById("image_margin").value,10);
|
||||
|
||||
var width = xGetElementById("width").value;
|
||||
var height = xGetElementById("height").value;
|
||||
|
|
@ -97,18 +106,21 @@ function insertImage(obj) {
|
|||
}
|
||||
|
||||
url = url.replace(request_uri,'');
|
||||
var text = "<img editor_component=\"image_link\" src=\""+url+"\" ";
|
||||
var text = "<img editor_component=\"image_link\" src=\""+url+"\"";
|
||||
if(alt) text+= " alt=\""+alt+"\"";
|
||||
if(width) text+= " width=\""+width+"\" ";
|
||||
if(height) text+= " height=\""+height+"\" ";
|
||||
if(link_url) text+= " link_url=\""+link_url+"\" ";
|
||||
if(open_window=='Y') text+= " open_window=\"Y\" ";
|
||||
if(align || border){
|
||||
if(width) text+= " width=\""+width+"\"";
|
||||
if(height) text+= " height=\""+height+"\"";
|
||||
if(link_url) text+= " link_url=\""+link_url+"\"";
|
||||
if(open_window=='Y') text+= " open_window=\"Y\"";
|
||||
if(align || border || margin){
|
||||
text+= " style=\"";
|
||||
if(align) text+= align+"; ";
|
||||
if(border) text+= "border: solid "+border+"px; ";
|
||||
if(margin) text+= "margin: "+margin+"px; ";
|
||||
text+= "\" ";
|
||||
}
|
||||
if(border) text+= " border=\""+border+"\""
|
||||
if(margin) text+= " margin=\""+margin+"\""
|
||||
text+= " />";
|
||||
|
||||
opener.editorFocus(opener.editorPrevSrl);
|
||||
|
|
|
|||
|
|
@ -52,15 +52,15 @@
|
|||
$lang->edit->fontsize = 'Size';
|
||||
$lang->edit->use_paragraph = 'Paragraph Function';
|
||||
$lang->edit->fontlist = array(
|
||||
'Arial',
|
||||
'Arial Black',
|
||||
'Tahoma',
|
||||
'Verdana',
|
||||
'Sans-serif',
|
||||
'Serif',
|
||||
'Monospace',
|
||||
'Cursive',
|
||||
'Fantasy',
|
||||
'Arial'=>'Arial',
|
||||
'Arial Black'=>'Arial Black',
|
||||
'Tahoma'=>'Tahoma',
|
||||
'Verdana'=>'Verdana',
|
||||
'Sans-serif'=>'Sans-serif',
|
||||
'Serif'=>'Serif',
|
||||
'Monospace'=>'Monospace',
|
||||
'Cursive'=>'Cursive',
|
||||
'Fantasy'=>'Fantasy',
|
||||
);
|
||||
|
||||
$lang->edit->header = 'Style';
|
||||
|
|
@ -75,6 +75,26 @@
|
|||
|
||||
$lang->edit->submit = 'Submit';
|
||||
|
||||
$lang->edit->fontcolor = 'Text Color';
|
||||
$lang->edit->fontbgcolor = 'Background Color';
|
||||
$lang->edit->bold = 'Bold';
|
||||
$lang->edit->italic = 'Italic';
|
||||
$lang->edit->underline = 'Underline';
|
||||
$lang->edit->strike = 'Strike';
|
||||
$lang->edit->sup = 'Sup';
|
||||
$lang->edit->sub = 'Sub';
|
||||
$lang->edit->redo = 'Re Do';
|
||||
$lang->edit->undo = 'Un Do';
|
||||
$lang->edit->align_left = 'Align Left';
|
||||
$lang->edit->align_center = 'Align Center';
|
||||
$lang->edit->align_right = 'Align Right';
|
||||
$lang->edit->align_justify = 'Align Justify';
|
||||
$lang->edit->add_indent = 'Indent';
|
||||
$lang->edit->remove_indent = 'Outdent';
|
||||
$lang->edit->list_number = 'Orderd List';
|
||||
$lang->edit->list_bullet = 'Unordered List';
|
||||
$lang->edit->remove_format = 'Style Remover';
|
||||
|
||||
$lang->edit->help_remove_format = 'Tags in selected area will be removed';
|
||||
$lang->edit->help_strike_through = 'Strike will be on the words';
|
||||
$lang->edit->help_align_full = 'Align left and right';
|
||||
|
|
@ -85,8 +105,8 @@
|
|||
$lang->edit->help_italic = 'Make italic font';
|
||||
$lang->edit->help_underline = 'Underline font';
|
||||
$lang->edit->help_strike = 'Strike font';
|
||||
$lang->edit->help_sup = 'Sup';
|
||||
$lang->edit->help_sub = 'Sub';
|
||||
$lang->edit->help_sup = 'Superscript';
|
||||
$lang->edit->help_sub = 'Subscript';
|
||||
$lang->edit->help_redo = 'Redo';
|
||||
$lang->edit->help_undo = 'Undo';
|
||||
$lang->edit->help_align_left = 'Align left';
|
||||
|
|
@ -96,7 +116,14 @@
|
|||
$lang->edit->help_remove_indent = 'Remove indent';
|
||||
$lang->edit->help_list_number = 'Apply number list';
|
||||
$lang->edit->help_list_bullet = 'Apply bullet list';
|
||||
$lang->edit->help_use_paragrapth = 'Press Ctrl+Enter to use paragraph. (Press Alt+S to submit)';
|
||||
$lang->edit->help_use_paragraph = 'Press Ctrl+Enter to use paragraph. (Press Alt+S to submit)';
|
||||
|
||||
$lang->edit->url = 'URL';
|
||||
$lang->edit->blockquote = 'Blockquote';
|
||||
$lang->edit->table = 'Table';
|
||||
$lang->edit->image = 'Image';
|
||||
$lang->edit->multimedia = 'Movie';
|
||||
$lang->edit->emoticon = 'Emoticon';
|
||||
|
||||
$lang->edit->upload = 'Attachment';
|
||||
$lang->edit->upload_file = 'Attach';
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
$lang->msg_component_is_inserted = 'El componente seleccionado ya esta insertado';
|
||||
$lang->msg_component_is_first_order = 'El componente seleccionado se localiza en la primera posición';
|
||||
$lang->msg_component_is_last_order = 'El componente seleccionado se localiza en la última posición';
|
||||
$lang->msg_load_saved_doc = 'Existe un documento guardado automáticamente ¿desea recuperarlo ?\nDespués de guardar el documento escrito, el documento autoguardado sera eliminado.';
|
||||
$lang->msg_load_saved_doc = "Existe un documento guardado automáticamente ¿desea recuperarlo ?\nDespués de guardar el documento escrito, el documento autoguardado sera eliminado.";
|
||||
$lang->msg_auto_saved = 'Documento guardado automáticamente';
|
||||
|
||||
$lang->cmd_disable = 'Desactivado';
|
||||
|
|
@ -52,15 +52,15 @@
|
|||
$lang->edit->fontsize = 'Tamaño';
|
||||
$lang->edit->use_paragraph = 'Párrafo';
|
||||
$lang->edit->fontlist = array(
|
||||
'Arial',
|
||||
'Arial Black',
|
||||
'Tahoma',
|
||||
'Verdana',
|
||||
'Sans-serif',
|
||||
'Serif',
|
||||
'Monospace',
|
||||
'Cursive',
|
||||
'Fantasy',
|
||||
'Arial'=>'Arial',
|
||||
'Arial Black'=>'Arial Black',
|
||||
'Tahoma'=>'Tahoma',
|
||||
'Verdana'=>'Verdana',
|
||||
'Sans-serif'=>'Sans-serif',
|
||||
'Serif'=>'Serif',
|
||||
'Monospace'=>'Monospace',
|
||||
'Cursive'=>'Cursive',
|
||||
'Fantasy'=>'Fantasy',
|
||||
);
|
||||
|
||||
$lang->edit->header = 'Estilo';
|
||||
|
|
@ -75,6 +75,26 @@
|
|||
|
||||
$lang->edit->submit = 'Confirmar';
|
||||
|
||||
$lang->edit->fontcolor = 'Text Color';
|
||||
$lang->edit->fontbgcolor = 'Background Color';
|
||||
$lang->edit->bold = 'Bold';
|
||||
$lang->edit->italic = 'Italic';
|
||||
$lang->edit->underline = 'Underline';
|
||||
$lang->edit->strike = 'Strike';
|
||||
$lang->edit->sup = 'Sup';
|
||||
$lang->edit->sub = 'Sub';
|
||||
$lang->edit->redo = 'Re Do';
|
||||
$lang->edit->undo = 'Un Do';
|
||||
$lang->edit->align_left = 'Align Left';
|
||||
$lang->edit->align_center = 'Align Center';
|
||||
$lang->edit->align_right = 'Align Right';
|
||||
$lang->edit->align_justify = 'Align Justify';
|
||||
$lang->edit->add_indent = 'Indent';
|
||||
$lang->edit->remove_indent = 'Outdent';
|
||||
$lang->edit->list_number = 'Orderd List';
|
||||
$lang->edit->list_bullet = 'Unordered List';
|
||||
$lang->edit->remove_format = 'Style Remover';
|
||||
|
||||
$lang->edit->help_fontcolor = 'Selecciona el color de las letras';
|
||||
$lang->edit->help_fontbgcolor = 'Selecciona el color del fondo de la letras';
|
||||
$lang->edit->help_bold = 'Letra gruesa';
|
||||
|
|
@ -92,7 +112,14 @@
|
|||
$lang->edit->help_remove_indent = 'Quitar tabulación';
|
||||
$lang->edit->help_list_number = 'Aplicar la lista con números';
|
||||
$lang->edit->help_list_bullet = 'Aplicar la lista con símbolos';
|
||||
$lang->edit->help_use_paragrapth = 'Presiona Ctrl+Enter para usar el párrafo (Presiona Alt+S para guardar)';
|
||||
$lang->edit->help_use_paragraph = 'Presiona Ctrl+Enter para usar el párrafo (Presiona Alt+S para guardar)';
|
||||
|
||||
$lang->edit->url = 'URL';
|
||||
$lang->edit->blockquote = 'Blockquote';
|
||||
$lang->edit->table = 'Table';
|
||||
$lang->edit->image = 'Image';
|
||||
$lang->edit->multimedia = 'Movie';
|
||||
$lang->edit->emoticon = 'Emoticon';
|
||||
|
||||
$lang->edit->upload = 'Adjuntar';
|
||||
$lang->edit->upload_file = 'Archivo adjunto';
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
$lang->msg_component_is_inserted = 'Composant choisi est déjà entré';
|
||||
$lang->msg_component_is_first_order = 'Composant choisi est localisé à la première position';
|
||||
$lang->msg_component_is_last_order = 'Composant choisi est localisé à la position dernière';
|
||||
$lang->msg_load_saved_doc = 'Il y a un article conservé automatiquement. Voulez-vous le réstaurer?\nL\'esquisse conservé automatiquement va être débarrasser après conserver l\'article courant.';
|
||||
$lang->msg_load_saved_doc = "Il y a un article conservé automatiquement. Voulez-vous le réstaurer?\nL'esquisse conservé automatiquement va être débarrasser après conserver l'article courant.";
|
||||
$lang->msg_auto_saved = 'Conservé automatiquement';
|
||||
|
||||
$lang->cmd_disable = 'Invalider';
|
||||
|
|
@ -52,15 +52,15 @@
|
|||
$lang->edit->fontsize = 'Mesure';
|
||||
$lang->edit->use_paragraph = 'Fonctions sur Paragraphe';
|
||||
$lang->edit->fontlist = array(
|
||||
'Arial',
|
||||
'Arial Black',
|
||||
'Tahoma',
|
||||
'Verdana',
|
||||
'Sans-serif',
|
||||
'Serif',
|
||||
'Monospace',
|
||||
'Cursive',
|
||||
'Fantasy',
|
||||
'Arial'=>'Arial',
|
||||
'Arial Black'=>'Arial Black',
|
||||
'Tahoma'=>'Tahoma',
|
||||
'Verdana'=>'Verdana',
|
||||
'Sans-serif'=>'Sans-serif',
|
||||
'Serif'=>'Serif',
|
||||
'Monospace'=>'Monospace',
|
||||
'Cursive'=>'Cursive',
|
||||
'Fantasy'=>'Fantasy',
|
||||
);
|
||||
|
||||
$lang->edit->header = 'Style';
|
||||
|
|
@ -75,6 +75,26 @@
|
|||
|
||||
$lang->edit->submit = 'Soumettre';
|
||||
|
||||
$lang->edit->fontcolor = 'Text Color';
|
||||
$lang->edit->fontbgcolor = 'Background Color';
|
||||
$lang->edit->bold = 'Bold';
|
||||
$lang->edit->italic = 'Italic';
|
||||
$lang->edit->underline = 'Underline';
|
||||
$lang->edit->strike = 'Strike';
|
||||
$lang->edit->sup = 'Sup';
|
||||
$lang->edit->sub = 'Sub';
|
||||
$lang->edit->redo = 'Re Do';
|
||||
$lang->edit->undo = 'Un Do';
|
||||
$lang->edit->align_left = 'Align Left';
|
||||
$lang->edit->align_center = 'Align Center';
|
||||
$lang->edit->align_right = 'Align Right';
|
||||
$lang->edit->align_justify = 'Align Justify';
|
||||
$lang->edit->add_indent = 'Indent';
|
||||
$lang->edit->remove_indent = 'Outdent';
|
||||
$lang->edit->list_number = 'Orderd List';
|
||||
$lang->edit->list_bullet = 'Unordered List';
|
||||
$lang->edit->remove_format = 'Style Remover';
|
||||
|
||||
$lang->edit->help_remove_format = 'Supprimer les balises dans l\'endroit sélectionné';
|
||||
$lang->edit->help_strike_through = 'Représenter la ligne d\'annulation sur les lettres.';
|
||||
$lang->edit->help_align_full = 'Aligner pleinement selon largeur';
|
||||
|
|
@ -96,7 +116,14 @@
|
|||
$lang->edit->help_remove_indent = 'Enlever un Rentré';
|
||||
$lang->edit->help_list_number = 'Appliquer la liste numroté';
|
||||
$lang->edit->help_list_bullet = 'Appliquer la liste à puces';
|
||||
$lang->edit->help_use_paragrapth = 'Appuyez Ctrl+Enter pour séparer les paragraphe. (Appuyez Alt+S pour conserver)';
|
||||
$lang->edit->help_use_paragraph = 'Appuyez Ctrl+Enter pour séparer les paragraphe. (Appuyez Alt+S pour conserver)';
|
||||
|
||||
$lang->edit->url = 'URL';
|
||||
$lang->edit->blockquote = 'Blockquote';
|
||||
$lang->edit->table = 'Table';
|
||||
$lang->edit->image = 'Image';
|
||||
$lang->edit->multimedia = 'Movie';
|
||||
$lang->edit->emoticon = 'Emoticon';
|
||||
|
||||
$lang->edit->upload = 'Attacher';
|
||||
$lang->edit->upload_file = 'Attacher un(des) Fichier(s)';
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
$lang->msg_component_is_inserted = '選択されたコンポーネントは既に入力されています。';
|
||||
$lang->msg_component_is_first_order = '選択されたコンポーネントは最初に位置しています。';
|
||||
$lang->msg_component_is_last_order = '選択されたコンポーネントは最後に位置しています。';
|
||||
$lang->msg_load_saved_doc = '自動保存された書き込みがあります。復旧しますか?\n書き終わってから登録すると前の自動保存データは削除されます。';
|
||||
$lang->msg_load_saved_doc = "自動保存された書き込みがあります。復旧しますか?\n書き終わってから登録すると前の自動保存データは削除されます。";
|
||||
$lang->msg_auto_saved = '自動保存されました。';
|
||||
|
||||
$lang->cmd_disable = '未使用';
|
||||
|
|
@ -37,33 +37,33 @@
|
|||
$lang->enable_component_grant = 'コンポーネント使用権限';
|
||||
$lang->enable_html_grant = 'HTML編集権限';
|
||||
$lang->enable_autosave = '自動保存使用';
|
||||
$lang->height_resizable = '高さの調節';
|
||||
$lang->height_resizable = '高さの調整';
|
||||
$lang->editor_height = 'エディターの高さ';
|
||||
|
||||
$lang->about_editor_skin = 'エディターのスキンの選択が出来ます。';
|
||||
$lang->about_upload_file_grant = 'ファイル添付可能な権限の設定が出来ます。(選択なしの場合、誰でも添付が可能)';
|
||||
$lang->about_default_component_grant = 'エディターでの基本コンポーネントを使用可能な権限の設定が出来ます。(選択なしの場合、誰でも利用可能)';
|
||||
$lang->about_editor_height = 'エディターの基本高さを設定します。';
|
||||
$lang->about_editor_height_resizable = 'エディターの高さを直接変更出来るようにします。';
|
||||
$lang->about_enable_html_grant = 'HTML編集権限を付与します。';
|
||||
$lang->about_editor_height_resizable = 'エディターの高さを変更出来るようにします。';
|
||||
$lang->about_enable_html_grant = 'HTML編集権限を設定します。';
|
||||
$lang->about_enable_autosave = '書き込みのとき、自動保存機能をオンにします。';
|
||||
|
||||
$lang->edit->fontname = 'フォント';
|
||||
$lang->edit->fontsize = 'フォントサイズ';
|
||||
$lang->edit->use_paragraph = '段落機能';
|
||||
$lang->edit->fontlist = array(
|
||||
'MS Pゴシック',
|
||||
'MS P明朝',
|
||||
'MS UI Gothic',
|
||||
'Arial',
|
||||
'Arial Black',
|
||||
'Tahoma',
|
||||
'Verdana',
|
||||
'Sans-serif',
|
||||
'Serif',
|
||||
'Monospace',
|
||||
'Cursive',
|
||||
'Fantasy',
|
||||
'MS PGothic'=>'MS Pゴシック',
|
||||
'MS PMincho'=>'MS P明朝',
|
||||
'MS UI Gothic'=>'MS UI Gothic',
|
||||
'Arial'=>'Arial',
|
||||
'Arial Black'=>'Arial Black',
|
||||
'Tahoma'=>'Tahoma',
|
||||
'Verdana'=>'Verdana',
|
||||
'Sans-serif'=>'Sans-serif',
|
||||
'Serif'=>'Serif',
|
||||
'Monospace'=>'Monospace',
|
||||
'Cursive'=>'Cursive',
|
||||
'Fantasy'=>'Fantasy',
|
||||
);
|
||||
|
||||
$lang->edit->header = '見出し';
|
||||
|
|
@ -78,6 +78,26 @@
|
|||
|
||||
$lang->edit->submit = '送信';
|
||||
|
||||
$lang->edit->fontcolor = 'テキストの色';
|
||||
$lang->edit->fontbgcolor = 'ハイライト カラー';
|
||||
$lang->edit->bold = '太字';
|
||||
$lang->edit->italic = '斜体';
|
||||
$lang->edit->underline = '下線';
|
||||
$lang->edit->strike = '取り消し線';
|
||||
$lang->edit->sup = '上付き文字';
|
||||
$lang->edit->sub = '下付き文字';
|
||||
$lang->edit->redo = '繰り返し';
|
||||
$lang->edit->undo = '元に戻す';
|
||||
$lang->edit->align_left = '左揃え';
|
||||
$lang->edit->align_center = '中央揃え';
|
||||
$lang->edit->align_right = '右揃え';
|
||||
$lang->edit->align_justify = '均等割付';
|
||||
$lang->edit->add_indent = 'インデント増';
|
||||
$lang->edit->remove_indent = 'インデント減';
|
||||
$lang->edit->list_number = '番号付リスト';
|
||||
$lang->edit->list_bullet = '箇条書き';
|
||||
$lang->edit->remove_format = '書式をクリア';
|
||||
|
||||
$lang->edit->help_remove_format = '選択領域の中のタグを消します。';
|
||||
$lang->edit->help_strike_through = 'テキストに取り消し線を表示します。';
|
||||
$lang->edit->help_align_full = '左右の余白に合わせて文字列を配置します。';
|
||||
|
|
@ -88,8 +108,8 @@
|
|||
$lang->edit->help_italic = 'テキストを斜体にします。';
|
||||
$lang->edit->help_underline = 'テキストに下線(アンダーライン)を引きます。';
|
||||
$lang->edit->help_strike = '取り消し線を引きます。';
|
||||
$lang->edit->help_sup = 'Sup';
|
||||
$lang->edit->help_sub = 'Sub';
|
||||
$lang->edit->help_sup = '上付き文字';
|
||||
$lang->edit->help_sub = '下付き文字';
|
||||
$lang->edit->help_redo = '繰り返し';
|
||||
$lang->edit->help_undo = '元に戻す';
|
||||
$lang->edit->help_align_left = 'テキストを左揃えで表示します。';
|
||||
|
|
@ -97,9 +117,16 @@
|
|||
$lang->edit->help_align_right = 'テキストを右揃えで表示します。';
|
||||
$lang->edit->help_add_indent = 'インデントを増やします。';
|
||||
$lang->edit->help_remove_indent = 'インデントを減らします。';
|
||||
$lang->edit->help_list_number = '段落番号';
|
||||
$lang->edit->help_list_number = '番号付リスト';
|
||||
$lang->edit->help_list_bullet = '箇条書き';
|
||||
$lang->edit->help_use_paragrapth = '段落機能を使用する場合は、「Ctrl+Enter」を押します(書き終わった後、「Alt+S」を押すと保存されます)。';
|
||||
$lang->edit->help_use_paragraph = '段落機能を使用する場合は、「Ctrl+Enter」を押します(書き終わった後、「Alt+S」を押すと保存されます)。';
|
||||
|
||||
$lang->edit->url = 'リンク';
|
||||
$lang->edit->blockquote = '引用文';
|
||||
$lang->edit->table = '表';
|
||||
$lang->edit->image = 'イメージ';
|
||||
$lang->edit->multimedia = '動画';
|
||||
$lang->edit->emoticon = '絵文字';
|
||||
|
||||
$lang->edit->upload = '添付';
|
||||
$lang->edit->upload_file = 'ファイル添付';
|
||||
|
|
@ -120,6 +147,4 @@
|
|||
$lang->edit->help = 'ヘルプ';
|
||||
$lang->edit->help_command = 'ショートカット‐キーの説明';
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -19,14 +19,14 @@
|
|||
|
||||
$lang->about_component = '컴포넌트 소개';
|
||||
$lang->about_component_grant = '기본 컴포넌트외의 확장 컴포넌트 기능을 사용할 수 있는 권한을 지정할 수 있습니다.<br /> (모두 해제시 아무나 사용 가능합니다)';
|
||||
$lang->about_component_mid = '에디터 컴포넌트가 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)';
|
||||
$lang->about_component_mid = '에디터 컴포넌트가 사용될 대상을 지정할 수 있습니다.<br />(모두 해제 시 모든 대상에서 사용 가능합니다)';
|
||||
|
||||
$lang->msg_component_is_not_founded = '%s 에디터 컴포넌트를 찾을 수 없습니다';
|
||||
$lang->msg_component_is_inserted = '선택하신 컴포넌트는 이미 입력되어 있습니다';
|
||||
$lang->msg_component_is_first_order = '선택하신 컴포넌트는 첫번째에 위치하고 있습니다';
|
||||
$lang->msg_component_is_last_order = '선택하신 컴포넌트는 마지막에 위치하고 있습니다';
|
||||
$lang->msg_load_saved_doc = "자동저장된 글이 있습니다. 복구하시겠습니까?\n글을 다 쓰신 후 저장하시면 자동저장본은 사라집니다";
|
||||
$lang->msg_auto_saved = "자동 저장되었습니다";
|
||||
$lang->msg_component_is_not_founded = '%s 에디터 컴포넌트를 찾을 수 없습니다.';
|
||||
$lang->msg_component_is_inserted = '선택하신 컴포넌트는 이미 입력되어 있습니다.';
|
||||
$lang->msg_component_is_first_order = '선택하신 컴포넌트는 첫번째에 위치하고 있습니다.';
|
||||
$lang->msg_component_is_last_order = '선택하신 컴포넌트는 마지막에 위치하고 있습니다.';
|
||||
$lang->msg_load_saved_doc = "자동 저장된 글이 있습니다. 복구하시겠습니까?\n글을 다 쓰신 후 저장하시면 자동 저장본은 사라집니다.";
|
||||
$lang->msg_auto_saved = "자동 저장되었습니다.";
|
||||
|
||||
$lang->cmd_disable = "비활성";
|
||||
$lang->cmd_enable = "활성";
|
||||
|
|
@ -41,29 +41,29 @@
|
|||
$lang->editor_height = '에디터 높이';
|
||||
|
||||
$lang->about_editor_skin = '에디터 스킨을 선택하실 수 있습니다';
|
||||
$lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다 (모두 해제시 아무나 첨부 가능합니다)';
|
||||
$lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)';
|
||||
$lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다';
|
||||
$lang->about_editor_height_resizable = '에디터의 높이를 직접 변경할 수 있도록 허용합니다';
|
||||
$lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다. (모두 해제 시 아무나 첨부 가능합니다)';
|
||||
$lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제 시 아무나 사용 가능합니다)';
|
||||
$lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다.';
|
||||
$lang->about_editor_height_resizable = '에디터의 높이를 직접 변경할 수 있도록 허용합니다.';
|
||||
$lang->about_enable_html_grant = 'HTML편집 권한을 부여할 수 있습니다.';
|
||||
$lang->about_enable_autosave = '글작성시 자동 저장 기능을 활성화 시킬 수 있습니다';
|
||||
$lang->about_enable_autosave = '글 작성시 자동 저장 기능을 활성화 시킬 수 있습니다.';
|
||||
|
||||
$lang->edit->fontname = '글꼴';
|
||||
$lang->edit->fontsize = '크기';
|
||||
$lang->edit->use_paragraph = '문단기능';
|
||||
$lang->edit->fontlist = array(
|
||||
'Dotum',
|
||||
'Gulim',
|
||||
'Batang',
|
||||
'Arial',
|
||||
'Arial Black',
|
||||
'Tahoma',
|
||||
'Verdana',
|
||||
'Sans-serif',
|
||||
'Serif',
|
||||
'Monospace',
|
||||
'Cursive',
|
||||
'Fantasy',
|
||||
'Dotum' => '돋움',
|
||||
'Gulim' => '굴림',
|
||||
'Batang' => '바탕',
|
||||
'Arial' => 'Arial',
|
||||
'Arial Black' => 'Arial Black',
|
||||
'Tahoma' => 'Tahoma',
|
||||
'Verdana' => 'Verdana',
|
||||
'Sans-serif' => 'Sans-serif',
|
||||
'Serif' => 'Serif',
|
||||
'Monospace' => 'Monospace',
|
||||
'Cursive' => 'Cursive',
|
||||
'Fantasy' => 'Fantasy',
|
||||
);
|
||||
|
||||
$lang->edit->header = '형식';
|
||||
|
|
@ -78,28 +78,55 @@
|
|||
|
||||
$lang->edit->submit = '확인';
|
||||
|
||||
$lang->edit->help_remove_format = '선택된 영역 내의 태그를 지웁니다';
|
||||
$lang->edit->help_strike_through = '글자에 취소선을 표시합니다';
|
||||
$lang->edit->help_align_full = '좌우 폭에 맞게 정렬을 합니다';
|
||||
$lang->edit->fontcolor = '글자 색';
|
||||
$lang->edit->fontbgcolor = '글자 배경색';
|
||||
$lang->edit->bold = '진하게';
|
||||
$lang->edit->italic = '기울임';
|
||||
$lang->edit->underline = '밑줄';
|
||||
$lang->edit->strike = '취소선';
|
||||
$lang->edit->sup = '위 첨자';
|
||||
$lang->edit->sub = '아래 첨자';
|
||||
$lang->edit->redo = '다시 실행';
|
||||
$lang->edit->undo = '되돌리기';
|
||||
$lang->edit->align_left = '왼쪽 정렬';
|
||||
$lang->edit->align_center = '가운데 정렬';
|
||||
$lang->edit->align_right = '오른쪽 정렬';
|
||||
$lang->edit->align_justify = '양쪽 정렬';
|
||||
$lang->edit->add_indent = '들여쓰기';
|
||||
$lang->edit->remove_indent = '내어쓰기';
|
||||
$lang->edit->list_number = '번호 매기기';
|
||||
$lang->edit->list_bullet = '목록';
|
||||
$lang->edit->remove_format = '글맵시 지우기';
|
||||
|
||||
$lang->edit->help_fontcolor = '글자의 색상을 지정합니다';
|
||||
$lang->edit->help_fontbgcolor = '글자의 배경색상을 지정합니다';
|
||||
$lang->edit->help_bold = '글자를 진하게 합니다';
|
||||
$lang->edit->help_italic = '글자를 기울이게 합니다';
|
||||
$lang->edit->help_underline = '밑줄을 긋습니다';
|
||||
$lang->edit->help_strike = '취소선을 긋습니다';
|
||||
$lang->edit->help_sup = '윗첨자를 입력합니다.';
|
||||
$lang->edit->help_sub = '아랫첨자를 입력합니다.';
|
||||
$lang->edit->help_redo = '다음 동작으로 돌아갑니다';
|
||||
$lang->edit->help_undo = '이전 동작으로 돌아갑니다';
|
||||
$lang->edit->help_align_left = '왼쪽 정렬을 합니다';
|
||||
$lang->edit->help_align_center = '가운데 정렬을 합니다';
|
||||
$lang->edit->help_align_right = '오른쪽 정렬을 합니다';
|
||||
$lang->edit->help_add_indent = '들여쓰기를 합니다';
|
||||
$lang->edit->help_remove_indent = '들여쓰기를 제거합니다';
|
||||
$lang->edit->help_list_number = '숫자로된 목록을 적용합니다';
|
||||
$lang->edit->help_list_bullet = '기호로된 목록을 적용합니다';
|
||||
$lang->edit->help_use_paragrapth = '문단 나누기를 하시려면 ctrl-엔터를 누르시면 됩니다. (글 작성완료후 alt-S를 누르면 저장이 됩니다)';
|
||||
$lang->edit->help_remove_format = '선택된 영역 내의 태그를 지웁니다.';
|
||||
$lang->edit->help_strike_through = '글자에 취소선을 표시합니다.';
|
||||
$lang->edit->help_align_full = '좌우 폭에 맞게 정렬을 합니다.';
|
||||
|
||||
$lang->edit->help_fontcolor = '글자의 색상을 지정합니다.';
|
||||
$lang->edit->help_fontbgcolor = '글자의 배경색상을 지정합니다.';
|
||||
$lang->edit->help_bold = '글자를 진하게 합니다.';
|
||||
$lang->edit->help_italic = '글자를 기울이게 합니다.';
|
||||
$lang->edit->help_underline = '밑줄을 긋습니다.';
|
||||
$lang->edit->help_strike = '취소선을 긋습니다.';
|
||||
$lang->edit->help_sup = '위 첨자를 입력합니다.';
|
||||
$lang->edit->help_sub = '아래 첨자를 입력합니다.';
|
||||
$lang->edit->help_redo = '다음 동작으로 돌아갑니다.';
|
||||
$lang->edit->help_undo = '이전 동작으로 돌아갑니다.';
|
||||
$lang->edit->help_align_left = '왼쪽 정렬을 합니다.';
|
||||
$lang->edit->help_align_center = '가운데 정렬을 합니다.';
|
||||
$lang->edit->help_align_right = '오른쪽 정렬을 합니다.';
|
||||
$lang->edit->help_add_indent = '단락의 들여쓰기 수준을 높입니다.';
|
||||
$lang->edit->help_remove_indent = '단락의 들여쓰기 수준을 낮춥니다.';
|
||||
$lang->edit->help_list_number = '숫자로된 목록을 적용합니다.';
|
||||
$lang->edit->help_list_bullet = '기호로된 목록을 적용합니다.';
|
||||
$lang->edit->help_use_paragraph = '문단 나누기를 하시려면 Ctrl+Enter를 누르시면 됩니다. (글 작성완료 후 Alt+S를 누르면 저장이 됩니다.)';
|
||||
|
||||
$lang->edit->url = '링크';
|
||||
$lang->edit->blockquote = '인용문';
|
||||
$lang->edit->table = '표';
|
||||
$lang->edit->image = '그림';
|
||||
$lang->edit->multimedia = '동영상';
|
||||
$lang->edit->emoticon = '이모티콘';
|
||||
|
||||
$lang->edit->upload = '첨부';
|
||||
$lang->edit->upload_file = '파일 첨부';
|
||||
|
|
@ -111,7 +138,7 @@
|
|||
$lang->edit->icon_align_middle = '가운데 정렬';
|
||||
$lang->edit->icon_align_right = '글의 우측으로';
|
||||
|
||||
$lang->about_dblclick_in_editor = '배경, 글자, 이미지, 인용문등에서 더블클릭을 하시면 상세한 컴포넌트 설정이 가능합니다';
|
||||
$lang->about_dblclick_in_editor = '배경, 글자, 이미지, 인용문등에서 더블클릭을 하시면 상세한 컴포넌트 설정이 가능합니다.';
|
||||
|
||||
|
||||
$lang->edit->rich_editor = '스타일 편집기';
|
||||
|
|
@ -120,6 +147,4 @@
|
|||
$lang->edit->help = '도움말';
|
||||
$lang->edit->help_command = '단축키 안내';
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
$lang->msg_component_is_inserted = 'Выбранный компонент уже присутствует';
|
||||
$lang->msg_component_is_first_order = 'Выбранный компонент находится на первой позиции';
|
||||
$lang->msg_component_is_last_order = 'Выбранный компонент находится на последней позиции';
|
||||
$lang->msg_load_saved_doc = 'Существует автоматически сохраненная статья. Хотите ли Вы ее восстановить?\nАвтоматически сохраненный черновик будет отменен после сохранения текущей статьи';
|
||||
$lang->msg_load_saved_doc = "Существует автоматически сохраненная статья. Хотите ли Вы ее восстановить?\nАвтоматически сохраненный черновик будет отменен после сохранения текущей статьи";
|
||||
$lang->msg_auto_saved = 'Автоматически сохранено';
|
||||
|
||||
$lang->cmd_disable = 'Неавтивно';
|
||||
|
|
@ -52,15 +52,15 @@
|
|||
$lang->edit->fontsize = 'Размер';
|
||||
$lang->edit->use_paragraph = 'Функции параграфа';
|
||||
$lang->edit->fontlist = array(
|
||||
'Arial',
|
||||
'Arial Black',
|
||||
'Tahoma',
|
||||
'Verdana',
|
||||
'Sans-serif',
|
||||
'Serif',
|
||||
'Monospace',
|
||||
'Cursive',
|
||||
'Fantasy',
|
||||
'Arial'=>'Arial',
|
||||
'Arial Black'=>'Arial Black',
|
||||
'Tahoma'=>'Tahoma',
|
||||
'Verdana'=>'Verdana',
|
||||
'Sans-serif'=>'Sans-serif',
|
||||
'Serif'=>'Serif',
|
||||
'Monospace'=>'Monospace',
|
||||
'Cursive'=>'Cursive',
|
||||
'Fantasy'=>'Fantasy',
|
||||
);
|
||||
|
||||
$lang->edit->header = 'Стиль';
|
||||
|
|
@ -75,6 +75,26 @@
|
|||
|
||||
$lang->edit->submit = 'Принять';
|
||||
|
||||
$lang->edit->fontcolor = 'Text Color';
|
||||
$lang->edit->fontbgcolor = 'Background Color';
|
||||
$lang->edit->bold = 'Bold';
|
||||
$lang->edit->italic = 'Italic';
|
||||
$lang->edit->underline = 'Underline';
|
||||
$lang->edit->strike = 'Strike';
|
||||
$lang->edit->sup = 'Sup';
|
||||
$lang->edit->sub = 'Sub';
|
||||
$lang->edit->redo = 'Re Do';
|
||||
$lang->edit->undo = 'Un Do';
|
||||
$lang->edit->align_left = 'Align Left';
|
||||
$lang->edit->align_center = 'Align Center';
|
||||
$lang->edit->align_right = 'Align Right';
|
||||
$lang->edit->align_justify = 'Align Justify';
|
||||
$lang->edit->add_indent = 'Indent';
|
||||
$lang->edit->remove_indent = 'Outdent';
|
||||
$lang->edit->list_number = 'Orderd List';
|
||||
$lang->edit->list_bullet = 'Unordered List';
|
||||
$lang->edit->remove_format = 'Style Remover';
|
||||
|
||||
$lang->edit->help_fontcolor = 'Выберать цвет шрифта';
|
||||
$lang->edit->help_fontbgcolor = 'Выберать цвет фона шрифта';
|
||||
$lang->edit->help_bold = 'Сделать шрифт жирным';
|
||||
|
|
@ -92,7 +112,14 @@
|
|||
$lang->edit->help_remove_indent = 'Удалить отступ';
|
||||
$lang->edit->help_list_number = 'Применить числовой список';
|
||||
$lang->edit->help_list_bullet = 'Применить маркированный список';
|
||||
$lang->edit->help_use_paragrapth = 'Нажмите Ctrl+Enter, чтобы отметить параграф. (Нажмите Alt+S , чтобы сохранить)';
|
||||
$lang->edit->help_use_paragraph = 'Нажмите Ctrl+Enter, чтобы отметить параграф. (Нажмите Alt+S , чтобы сохранить)';
|
||||
|
||||
$lang->edit->url = 'URL';
|
||||
$lang->edit->blockquote = 'Blockquote';
|
||||
$lang->edit->table = 'Table';
|
||||
$lang->edit->image = 'Image';
|
||||
$lang->edit->multimedia = 'Movie';
|
||||
$lang->edit->emoticon = 'Emoticon';
|
||||
|
||||
$lang->edit->upload = 'Вложение';
|
||||
$lang->edit->upload_file = 'Вложить';
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
$lang->msg_component_is_inserted = '您选择的组件已插入!';
|
||||
$lang->msg_component_is_first_order = '您选择的组件已到最上端位置!';
|
||||
$lang->msg_component_is_last_order = '您选择的组件已到最下端位置!';
|
||||
$lang->msg_load_saved_doc = '有自动保存的内容, 确定要恢复吗?\n保存内容后,自动保存的文本将会被删除。';
|
||||
$lang->msg_load_saved_doc = "有自动保存的内容, 确定要恢复吗?\n保存内容后,自动保存的文本将会被删除。";
|
||||
$lang->msg_auto_saved = '已自动保存!';
|
||||
|
||||
$lang->cmd_disable = '非激活';
|
||||
|
|
@ -52,19 +52,19 @@
|
|||
$lang->edit->fontsize = '大小';
|
||||
$lang->edit->use_paragraph = '段落功能';
|
||||
$lang->edit->fontlist = array(
|
||||
'仿宋_GB2312',
|
||||
'黑体',
|
||||
'楷体_GB2312',
|
||||
'宋体',
|
||||
'Arial',
|
||||
'Arial Black',
|
||||
'Tahoma',
|
||||
'Verdana',
|
||||
'Sans-serif',
|
||||
'Serif',
|
||||
'Monospace',
|
||||
'Cursive',
|
||||
'Fantasy',
|
||||
'仿宋_GB2312'=>'仿宋_GB2312',
|
||||
'黑体'=>'黑体',
|
||||
'楷体_GB2312'=>'楷体_GB2312',
|
||||
'宋体'=>'宋体',
|
||||
'Arial'=>'Arial',
|
||||
'Arial Black'=>'Arial Black',
|
||||
'Tahoma'=>'Tahoma',
|
||||
'Verdana'=>'Verdana',
|
||||
'Sans-serif'=>'Sans-serif',
|
||||
'Serif'=>'Serif',
|
||||
'Monospace'=>'Monospace',
|
||||
'Cursive'=>'Cursive',
|
||||
'Fantasy'=>'Fantasy',
|
||||
);
|
||||
|
||||
$lang->edit->header = '样式';
|
||||
|
|
@ -79,6 +79,26 @@
|
|||
|
||||
$lang->edit->submit = '确认';
|
||||
|
||||
$lang->edit->fontcolor = 'Text Color';
|
||||
$lang->edit->fontbgcolor = 'Background Color';
|
||||
$lang->edit->bold = 'Bold';
|
||||
$lang->edit->italic = 'Italic';
|
||||
$lang->edit->underline = 'Underline';
|
||||
$lang->edit->strike = 'Strike';
|
||||
$lang->edit->sup = 'Sup';
|
||||
$lang->edit->sub = 'Sub';
|
||||
$lang->edit->redo = 'Re Do';
|
||||
$lang->edit->undo = 'Un Do';
|
||||
$lang->edit->align_left = 'Align Left';
|
||||
$lang->edit->align_center = 'Align Center';
|
||||
$lang->edit->align_right = 'Align Right';
|
||||
$lang->edit->align_justify = 'Align Justify';
|
||||
$lang->edit->add_indent = 'Indent';
|
||||
$lang->edit->remove_indent = 'Outdent';
|
||||
$lang->edit->list_number = 'Orderd List';
|
||||
$lang->edit->list_bullet = 'Unordered List';
|
||||
$lang->edit->remove_format = 'Style Remover';
|
||||
|
||||
$lang->edit->help_fontcolor = '文本颜色';
|
||||
$lang->edit->help_fontbgcolor = '背景颜色';
|
||||
$lang->edit->help_bold = '粗体';
|
||||
|
|
@ -96,7 +116,14 @@
|
|||
$lang->edit->help_remove_indent = '清除缩进';
|
||||
$lang->edit->help_list_number = '有序列表';
|
||||
$lang->edit->help_list_bullet = '无序列表';
|
||||
$lang->edit->help_use_paragrapth = '分段请按 ctrl+回车. (发表主题快捷键:alt+S)';
|
||||
$lang->edit->help_use_paragraph = '分段请按 ctrl+回车. (发表主题快捷键:alt+S)';
|
||||
|
||||
$lang->edit->url = 'URL';
|
||||
$lang->edit->blockquote = 'Blockquote';
|
||||
$lang->edit->table = 'Table';
|
||||
$lang->edit->image = 'Image';
|
||||
$lang->edit->multimedia = 'Movie';
|
||||
$lang->edit->emoticon = 'Emoticon';
|
||||
|
||||
$lang->edit->upload = '上传';
|
||||
$lang->edit->upload_file = '上传附件';
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
$lang->msg_component_is_inserted = '您選擇的組件已插入!';
|
||||
$lang->msg_component_is_first_order = '您選擇的組件已達最頂端位置!';
|
||||
$lang->msg_component_is_last_order = '您選擇的組件已達最底端位置!';
|
||||
$lang->msg_load_saved_doc = '有自動儲存的內容,確定要恢復嗎?\n儲存內容後,自動儲存的內容將會被刪除。';
|
||||
$lang->msg_load_saved_doc = "有自動儲存的內容,確定要恢復嗎?\n儲存內容後,自動儲存的內容將會被刪除。";
|
||||
$lang->msg_auto_saved = '已自動儲存!';
|
||||
|
||||
$lang->cmd_disable = '暫停';
|
||||
|
|
@ -52,18 +52,18 @@
|
|||
$lang->edit->fontsize = '大小';
|
||||
$lang->edit->use_paragraph = '段落功能';
|
||||
$lang->edit->fontlist = array(
|
||||
'新細明體',
|
||||
'標楷體',
|
||||
'細明體',
|
||||
'Arial',
|
||||
'Arial Black',
|
||||
'Tahoma',
|
||||
'Verdana',
|
||||
'Sans-serif',
|
||||
'Serif',
|
||||
'Monospace',
|
||||
'Cursive',
|
||||
'Fantasy',
|
||||
'新細明體'=>'新細明體',
|
||||
'標楷體'=>'標楷體',
|
||||
'細明體'=>'細明體',
|
||||
'Arial'=>'Arial',
|
||||
'Arial Black'=>'Arial Black',
|
||||
'Tahoma'=>'Tahoma',
|
||||
'Verdana'=>'Verdana',
|
||||
'Sans-serif'=>'Sans-serif',
|
||||
'Serif'=>'Serif',
|
||||
'Monospace'=>'Monospace',
|
||||
'Cursive'=>'Cursive',
|
||||
'Fantasy'=>'Fantasy',
|
||||
);
|
||||
|
||||
$lang->edit->header = '樣式';
|
||||
|
|
@ -78,6 +78,26 @@
|
|||
|
||||
$lang->edit->submit = '確認';
|
||||
|
||||
$lang->edit->fontcolor = 'Text Color';
|
||||
$lang->edit->fontbgcolor = 'Background Color';
|
||||
$lang->edit->bold = 'Bold';
|
||||
$lang->edit->italic = 'Italic';
|
||||
$lang->edit->underline = 'Underline';
|
||||
$lang->edit->strike = 'Strike';
|
||||
$lang->edit->sup = 'Sup';
|
||||
$lang->edit->sub = 'Sub';
|
||||
$lang->edit->redo = 'Re Do';
|
||||
$lang->edit->undo = 'Un Do';
|
||||
$lang->edit->align_left = 'Align Left';
|
||||
$lang->edit->align_center = 'Align Center';
|
||||
$lang->edit->align_right = 'Align Right';
|
||||
$lang->edit->align_justify = 'Align Justify';
|
||||
$lang->edit->add_indent = 'Indent';
|
||||
$lang->edit->remove_indent = 'Outdent';
|
||||
$lang->edit->list_number = 'Orderd List';
|
||||
$lang->edit->list_bullet = 'Unordered List';
|
||||
$lang->edit->remove_format = 'Style Remover';
|
||||
|
||||
$lang->edit->help_remove_format = '移除格式';
|
||||
$lang->edit->help_strike_through = '文字刪除線';
|
||||
$lang->edit->help_align_full = '左右對齊';
|
||||
|
|
@ -99,7 +119,14 @@
|
|||
$lang->edit->help_remove_indent = '凸排';
|
||||
$lang->edit->help_list_number = '編號';
|
||||
$lang->edit->help_list_bullet = '清單符號';
|
||||
$lang->edit->help_use_paragrapth = '換行請按 ctrl+backspace (快速發表主題:alt+S)';
|
||||
$lang->edit->help_use_paragraph = '換行請按 ctrl+backspace (快速發表主題:alt+S)';
|
||||
|
||||
$lang->edit->url = 'URL';
|
||||
$lang->edit->blockquote = 'Blockquote';
|
||||
$lang->edit->table = 'Table';
|
||||
$lang->edit->image = 'Image';
|
||||
$lang->edit->multimedia = 'Movie';
|
||||
$lang->edit->emoticon = 'Emoticon';
|
||||
|
||||
$lang->edit->upload = '上傳';
|
||||
$lang->edit->upload_file = '上傳附檔';
|
||||
|
|
|
|||
|
|
@ -1,16 +1,15 @@
|
|||
<!--// 기본 js/언어파일 로드 -->
|
||||
<!--%import("../../tpl/js/editor_common.js")-->
|
||||
|
||||
<!--@if($colorset == "white_texteditor" || $colorset == "black_texteditor" )-->
|
||||
<!--@if($colorset == "black_texteditor")-->
|
||||
<!--@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_texteditor" || $colorset == "black_text_nohtml" || $colorset == "black_text_usehtml")-->
|
||||
<!--%import("css/black.css")-->
|
||||
{@ $editor_class = "black" }
|
||||
<!--@else-->
|
||||
<!--%import("css/white.css")-->
|
||||
<!--@end-->
|
||||
|
||||
<!--%import("js/xe_interface.js")-->
|
||||
<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-->" />
|
||||
<textarea id="editor_{$editor_sequence}" style="height:{$editor_height}px;" cols="10" rows="10"></textarea>
|
||||
</div>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
|
|
@ -54,16 +53,16 @@
|
|||
</ul>
|
||||
|
||||
<!-- 에디터 -->
|
||||
<div id="xeEditor_{$editor_sequence}" class="xeEditor rich" >
|
||||
<div id="xeEditor_{$editor_sequence}" class="xeEditor rich">
|
||||
<!-- class="xeEditor rich" | class="xeEditor html" -->
|
||||
|
||||
<div id="xeEditorOption_{$editor_sequence}" class="toolBox" >
|
||||
<div id="xeEditorOption_{$editor_sequence}" class="toolBox">
|
||||
|
||||
<!--@if($enable_default_component)-->
|
||||
<!-- 기본 컴포넌트 출력 -->
|
||||
<ul class="do item">
|
||||
<li class="undo"><button type="button" onclick="editorUnDo(this,'{$editor_sequence}')" id="editor_undo_{$editor_sequence}" title="Ctrl+Z:Un Do"><span>Un Do</span></button></li>
|
||||
<li class="redo"><button type="button" onclick="editorReDo(this,'{$editor_sequence}')" id="editor_redo_{$editor_sequence}" title="Ctrl+Y:Re Do"><span>Re Do</span></button></li>
|
||||
<li class="undo"><button type="button" onclick="editorUnDo(this,'{$editor_sequence}')" id="editor_undo_{$editor_sequence}" title="Ctrl+Z:{$lang->edit->undo}"><span>{$lang->edit->undo}</span></button></li>
|
||||
<li class="redo"><button type="button" onclick="editorReDo(this,'{$editor_sequence}')" id="editor_redo_{$editor_sequence}" title="Ctrl+Y:{$lang->edit->redo}"><span>{$lang->edit->redo}</span></button></li>
|
||||
</ul>
|
||||
|
||||
<ul class="type item">
|
||||
|
|
@ -91,43 +90,43 @@
|
|||
<select onchange="editorChangeFontName(this,'{$editor_sequence}')" id="editor_font_{$editor_sequence}">
|
||||
<option value="">{$lang->edit->fontname}</option>
|
||||
<!--@foreach($lang->edit->fontlist as $key=>$obj)-->
|
||||
<option style="font-family:{$obj}" value="{$obj}">{$obj}</option>
|
||||
<option style="font-family:{$key}" value="{$key}">{$obj}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="style item">
|
||||
<li class="bold"><button type="button" title="Ctrl+B:{$lang->edit->help_bold}" id="component_{$editor_sequence}_Bold"><span>Bold</span></button></li>
|
||||
<li class="underline"><button type="button" title="Ctrl+U:{$lang->edit->help_underline}" id="component_{$editor_sequence}_Underline"><span>Underline</span></button></li>
|
||||
<li class="italic"><button type="button" title="Ctrl+I:{$lang->edit->help_italic}" id="component_{$editor_sequence}_Italic"><span>Italic</span></button></li>
|
||||
<li class="strike"><button type="button" title="{$lang->edit->help_strike_through}" id="component_{$editor_sequence}_StrikeThrough"><span>Strike</span></button></li>
|
||||
<li class="sup"><button type="button" title="{$lang->edit->help_sup}" id="component_{$editor_sequence}_Superscript"><span>Sup</span></button></li>
|
||||
<li class="sub"><button type="button" title="{$lang->edit->help_sub}" id="component_{$editor_sequence}_Subscript"><span>Sub</span></button></li>
|
||||
<li class="txColor"><button type="button" title="{$lang->edit->help_fontcolor}" id="component_{$editor_sequence}_colorpicker_text"><span>Text Color</span></button></li>
|
||||
<li class="bgColor"><button type="button" title="{$lang->edit->help_fontbgcolor}" id="component_{$editor_sequence}_colorpicker_bg"><span>Background Color</span></button></li>
|
||||
<li class="styleRemover"><button type="button" title="Ctrl+D:{$lang->edit->help_remove_format}" id="component_{$editor_sequence}_RemoveFormat"><span>Style Remover</span></button></li>
|
||||
<li class="bold"><button type="button" title="Ctrl+B:{$lang->edit->help_bold}" id="component_{$editor_sequence}_Bold"><span>{$lang->edit->bold}</span></button></li>
|
||||
<li class="underline"><button type="button" title="Ctrl+U:{$lang->edit->help_underline}" id="component_{$editor_sequence}_Underline"><span>{$lang->edit->underline}</span></button></li>
|
||||
<li class="italic"><button type="button" title="Ctrl+I:{$lang->edit->help_italic}" id="component_{$editor_sequence}_Italic"><span>{$lang->edit->italic}</span></button></li>
|
||||
<li class="strike"><button type="button" title="{$lang->edit->help_strike_through}" id="component_{$editor_sequence}_StrikeThrough"><span>{$lang->edit->strike}</span></button></li>
|
||||
<li class="sup"><button type="button" title="{$lang->edit->help_sup}" id="component_{$editor_sequence}_Superscript"><span>{$lang->edit->sup}</span></button></li>
|
||||
<li class="sub"><button type="button" title="{$lang->edit->help_sub}" id="component_{$editor_sequence}_Subscript"><span>{$lang->edit->sub}</span></button></li>
|
||||
<li class="txColor"><button type="button" title="{$lang->edit->help_fontcolor}" id="component_{$editor_sequence}_colorpicker_text"><span>{$lang->edit->fontcolor}</span></button></li>
|
||||
<li class="bgColor"><button type="button" title="{$lang->edit->help_fontbgcolor}" id="component_{$editor_sequence}_colorpicker_bg"><span>{$lang->edit->fontbgcolor}</span></button></li>
|
||||
<li class="styleRemover"><button type="button" title="Ctrl+D:{$lang->edit->help_remove_format}" id="component_{$editor_sequence}_RemoveFormat"><span>{$lang->edit->remove_format}</span></button></li>
|
||||
</ul>
|
||||
|
||||
<ul class="paragraph item">
|
||||
<li class="alignLeft"><button type="button" title="{$lang->edit->help_align_left}" id="component_{$editor_sequence}_JustifyLeft"><span>Align Left</span></button></li>
|
||||
<li class="alignCenter"><button type="button" title="{$lang->edit->help_align_center}" id="component_{$editor_sequence}_JustifyCenter"><span>Align Center</span></button></li>
|
||||
<li class="alignRight"><button type="button" title="{$lang->edit->help_align_right}" id="component_{$editor_sequence}_JustifyRight"><span>Align Right</span></button></li>
|
||||
<li class="alignJustify"><button type="button" title="{$lang->edit->help_align_full}" id="component_{$editor_sequence}_JustifyFull"><span>Align Justify</span></button></li>
|
||||
<li class="orderedList"><button type="button" title="{$lang->edit->help_list_number}" id="component_{$editor_sequence}_InsertOrderedList"><span>Orderd List</span></button></li>
|
||||
<li class="unorderedList"><button type="button" title="{$lang->edit->help_list_bullet}" id="component_{$editor_sequence}_InsertUnorderedList"><span>Unordered List</span></button></li>
|
||||
<li class="outdent"><button type="button" title="{$lang->edit->help_remove_indent}" id="component_{$editor_sequence}_Outdent"><span>Outdent</span></button></li>
|
||||
<li class="indent"><button type="button" title="{$lang->edit->help_add_indent}" id="component_{$editor_sequence}_Indent"><span>Indent</span></button></li>
|
||||
<li class="alignLeft"><button type="button" title="{$lang->edit->help_align_left}" id="component_{$editor_sequence}_JustifyLeft"><span>{$lang->edit->align_left}</span></button></li>
|
||||
<li class="alignCenter"><button type="button" title="{$lang->edit->help_align_center}" id="component_{$editor_sequence}_JustifyCenter"><span>{$lang->edit->align_center}</span></button></li>
|
||||
<li class="alignRight"><button type="button" title="{$lang->edit->help_align_right}" id="component_{$editor_sequence}_JustifyRight"><span>{$lang->edit->align_right}</span></button></li>
|
||||
<li class="alignJustify"><button type="button" title="{$lang->edit->help_align_full}" id="component_{$editor_sequence}_JustifyFull"><span>{$lang->edit->align_justify}</span></button></li>
|
||||
<li class="orderedList"><button type="button" title="{$lang->edit->help_list_number}" id="component_{$editor_sequence}_InsertOrderedList"><span>{$lang->edit->list_number}</span></button></li>
|
||||
<li class="unorderedList"><button type="button" title="{$lang->edit->help_list_bullet}" id="component_{$editor_sequence}_InsertUnorderedList"><span>{$lang->edit->list_bullet}</span></button></li>
|
||||
<li class="outdent"><button type="button" title="{$lang->edit->help_remove_indent}" id="component_{$editor_sequence}_Outdent"><span>{$lang->edit->remove_indent}</span></button></li>
|
||||
<li class="indent"><button type="button" title="{$lang->edit->help_add_indent}" id="component_{$editor_sequence}_Indent"><span>{$lang->edit->add_indent}</span></button></li>
|
||||
</ul>
|
||||
|
||||
<ul class="extension1 item">
|
||||
<li class="url"><button type="button" title="Ctrl+L:URL" id="component_1_url_link"><span>URL</span></button></li>
|
||||
<li class="blockquote"><button type="button" title="Blockquote" id="component_1_quotation"><span>Blockquote</span></button></li>
|
||||
<li class="table"><button type="button" title="Table" id="component_1_table_maker"><span>Table</span></button></li>
|
||||
<li class="image"><button type="button" title="Image" id="component_1_image_link"><span>Image</span></button></li>
|
||||
<li class="movie"><button type="button" title="Movie" id="component_1_multimedia_link"><span>Movie</span></button></li>
|
||||
<!--<li class="file"><button type="button" title="File" id="component_1_file"><span>Movie</span></button></li>-->
|
||||
<li class="emoticon"><button type="button" title="Emoticon" id="component_1_emoticon"><span>Emoticon</span></button></li>
|
||||
<li class="url"><button type="button" title="Ctrl+L:{$lang->edit->url}" id="component_1_url_link"><span>{$lang->edit->url}</span></button></li>
|
||||
<li class="blockquote"><button type="button" title="{$lang->edit->blockquote}" id="component_1_quotation"><span>{$lang->edit->blockquote}</span></button></li>
|
||||
<li class="table"><button type="button" title="{$lang->edit->table}" id="component_1_table_maker"><span>{$lang->edit->table}</span></button></li>
|
||||
<li class="image"><button type="button" title="{$lang->edit->image}" id="component_1_image_link"><span>{$lang->edit->image}</span></button></li>
|
||||
<li class="movie"><button type="button" title="{$lang->edit->multimedia}" id="component_1_multimedia_link"><span>{$lang->edit->multimedia}</span></button></li>
|
||||
<!--<li class="file"><button type="button" title="File" id="component_1_file"><span>{$lang->edit->multimedia}</span></button></li>-->
|
||||
<li class="emoticon"><button type="button" title="{$lang->edit->emoticon}" id="component_1_emoticon"><span>{$lang->edit->emoticon}</span></button></li>
|
||||
</ul>
|
||||
|
||||
<!--@end-->
|
||||
|
|
@ -155,17 +154,17 @@
|
|||
<!--@if(!$_COOKIE['EditorInfo'])-->
|
||||
<!-- 에디터 안내 출력 -->
|
||||
<li>{$lang->about_dblclick_in_editor}</li>
|
||||
<li>{$lang->edit->help_use_paragrapth}</li>
|
||||
<li>{$lang->edit->help_use_paragraph}</li>
|
||||
<!--@end-->
|
||||
<li>{$lang->edit->help_command}
|
||||
<ul>
|
||||
<li>Un Do : Ctrl+Z</li>
|
||||
<li>Re Do : Ctrl+Y</li>
|
||||
<li>Bold : Ctrl+B</li>
|
||||
<li>Underline : Ctrl+U</li>
|
||||
<li>Italic : Ctrl+I</li>
|
||||
<li>Style Remover : Ctrl+D</li>
|
||||
<li>URL : Ctrl+L</li>
|
||||
<li>{$lang->edit->undo} : Ctrl+Z</li>
|
||||
<li>{$lang->edit->redo} : Ctrl+Y</li>
|
||||
<li>{$lang->edit->bold} : Ctrl+B</li>
|
||||
<li>{$lang->edit->underline} : Ctrl+U</li>
|
||||
<li>{$lang->edit->italic} : Ctrl+I</li>
|
||||
<li>{$lang->edit->remove_format} : Ctrl+D</li>
|
||||
<li>{$lang->edit->url} : Ctrl+L</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
function editorStartTextarea(editor_sequence, content_key, primary_key) {
|
||||
var obj = xGetElementById('editor_'+editor_sequence);
|
||||
var use_html = xGetElementById('htm_'+editor_sequence).value;
|
||||
obj.form.setAttribute('editor_sequence', editor_sequence);
|
||||
|
||||
obj.style.width = '99%';
|
||||
|
|
@ -10,13 +11,30 @@ function editorStartTextarea(editor_sequence, content_key, primary_key) {
|
|||
editorRelKeys[editor_sequence]["func"] = editorGetContentTextarea;
|
||||
|
||||
var content = obj.form[content_key].value;
|
||||
content = content.replace(/<br([^>]+)>/ig,"");
|
||||
if(use_html) {
|
||||
content = content.replace(/<br([^>]*)>/ig,"\n");
|
||||
if(use_html!='br') {
|
||||
content = content.replace(/</g, "<");
|
||||
content = content.replace(/>/g, ">");
|
||||
content = content.replace(/"/g, '"');
|
||||
content = content.replace(/&/g, "&");
|
||||
}
|
||||
}
|
||||
obj.value = content;
|
||||
}
|
||||
|
||||
function editorGetContentTextarea(editor_sequence) {
|
||||
var obj = xGetElementById('editor_'+editor_sequence);
|
||||
var use_html = xGetElementById('htm_'+editor_sequence).value;
|
||||
var content = obj.value.trim();
|
||||
content = content.replace(/(\r\n|\n)/g, "<br />$1");
|
||||
if(use_html) {
|
||||
if(use_html!='br') {
|
||||
content = content.replace(/&/g, "&");
|
||||
content = content.replace(/</g, "<");
|
||||
content = content.replace(/>/g, ">");
|
||||
content = content.replace(/\"/g, """);
|
||||
}
|
||||
content = content.replace(/(\r\n|\n)/g, "<br />");
|
||||
}
|
||||
return content;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,57 +1,93 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<skin version="0.2">
|
||||
<title xml:lang="ko">XE 기본 에디터</title>
|
||||
<title xml:lang="zh-CN">XE编辑器默认皮肤</title>
|
||||
<title xml:lang="jp">XE基本エディター</title>
|
||||
<title xml:lang="zh-TW">XE預設編輯器面板</title>
|
||||
<description xml:lang="ko">개발 : zero (http://blog.nzeo.com)</description>
|
||||
<description xml:lang="zh-CN">程序 : zero (http://blog.nzeo.com)</description>
|
||||
<description xml:lang="jp">開発 : zero (http://blog.nzeo.com)</description>
|
||||
<description xml:lang="zh-TW">開發 : zero (http://blog.nzeo.com)</description>
|
||||
<version>0.1</version>
|
||||
<date>2007-02-28</date>
|
||||
|
||||
<author email_address="zero@zeroboard.com" link="http://blog.nzeo.com">
|
||||
<name xml:lang="ko">zero</name>
|
||||
<name xml:lang="zh-CN">Zero</name>
|
||||
<name xml:lang="jp">zero</name>
|
||||
<name xml:lang="zh-TW">zero</name>
|
||||
</author>
|
||||
<colorset>
|
||||
<color name="white">
|
||||
<title xml:lang="ko">하얀색(기본)</title>
|
||||
<title xml:lang="jp">白(デフォルト)</title>
|
||||
<title xml:lang="zh-CN">白色(基本)</title>
|
||||
<title xml:lang="en">White (default)</title>
|
||||
<title xml:lang="es">Blanco (por defecto)</title>
|
||||
<title xml:lang="zh-TW">白色(預設)</title>
|
||||
</color>
|
||||
<color name="black">
|
||||
<title xml:lang="ko">검은색</title>
|
||||
<title xml:lang="jp">黒</title>
|
||||
<title xml:lang="en">Black</title>
|
||||
<title xml:lang="ru">Черного</title>
|
||||
<title xml:lang="es">Negro</title>
|
||||
<title xml:lang="zh-CN">黑色</title>
|
||||
<title xml:lang="zh-TW">黑色</title>
|
||||
</color>
|
||||
<color name="white_texteditor">
|
||||
<title xml:lang="ko">하얀색 텍스트편집기</title>
|
||||
<title xml:lang="jp">White Text Editor</title>
|
||||
<title xml:lang="en">White Text Editor</title>
|
||||
<title xml:lang="ru">White Text Editor</title>
|
||||
<title xml:lang="es">White Text Editor</title>
|
||||
<title xml:lang="zh-CN">White Text Editor</title>
|
||||
<title xml:lang="zh-TW">白色文字編輯器</title>
|
||||
</color>
|
||||
<color name="black_texteditor">
|
||||
<title xml:lang="ko">검은색 텍스트편집기</title>
|
||||
<title xml:lang="jp">Black Text Editor</title>
|
||||
<title xml:lang="en">Black Text Editor</title>
|
||||
<title xml:lang="ru">Black Text Editor</title>
|
||||
<title xml:lang="es">Black Text Editor</title>
|
||||
<title xml:lang="zh-CN">Black Text Editor</title>
|
||||
<title xml:lang="zh-TW">黑色文字編輯器</title>
|
||||
</color>
|
||||
</colorset>
|
||||
</skin>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<skin version="0.2">
|
||||
<title xml:lang="ko">XE 기본 에디터</title>
|
||||
<title xml:lang="zh-CN">XE编辑器默认皮肤</title>
|
||||
<title xml:lang="jp">XE基本エディター</title>
|
||||
<title xml:lang="zh-TW">XE預設編輯器面板</title>
|
||||
<description xml:lang="ko">개발 : zero (http://blog.nzeo.com)</description>
|
||||
<description xml:lang="zh-CN">程序 : zero (http://blog.nzeo.com)</description>
|
||||
<description xml:lang="jp">開発 : zero (http://blog.nzeo.com)</description>
|
||||
<description xml:lang="zh-TW">開發 : zero (http://blog.nzeo.com)</description>
|
||||
<version>0.1</version>
|
||||
<date>2007-02-28</date>
|
||||
|
||||
<author email_address="zero@zeroboard.com" link="http://blog.nzeo.com">
|
||||
<name xml:lang="ko">zero</name>
|
||||
<name xml:lang="zh-CN">Zero</name>
|
||||
<name xml:lang="jp">zero</name>
|
||||
<name xml:lang="zh-TW">zero</name>
|
||||
</author>
|
||||
<colorset>
|
||||
<color name="white">
|
||||
<title xml:lang="ko">하얀색(기본)</title>
|
||||
<title xml:lang="jp">白(デフォルト)</title>
|
||||
<title xml:lang="zh-CN">白色(基本)</title>
|
||||
<title xml:lang="en">White (default)</title>
|
||||
<title xml:lang="es">Blanco (por defecto)</title>
|
||||
<title xml:lang="zh-TW">白色(預設)</title>
|
||||
</color>
|
||||
<color name="black">
|
||||
<title xml:lang="ko">검은색</title>
|
||||
<title xml:lang="jp">黒</title>
|
||||
<title xml:lang="en">Black</title>
|
||||
<title xml:lang="ru">Черного</title>
|
||||
<title xml:lang="es">Negro</title>
|
||||
<title xml:lang="zh-CN">黑色</title>
|
||||
<title xml:lang="zh-TW">黑色</title>
|
||||
</color>
|
||||
<color name="white_texteditor">
|
||||
<title xml:lang="ko">하얀색 텍스트편집기(자동 줄 바꿈)</title>
|
||||
<title xml:lang="jp">白色テキストエディター(自動に改行を入れる)</title>
|
||||
<title xml:lang="en">White Text Editor(Auto Line Break)</title>
|
||||
<title xml:lang="ru">White Text Editor(Auto Line Break)</title>
|
||||
<title xml:lang="es">White Text Editor(Auto Line Break)</title>
|
||||
<title xml:lang="zh-CN">White Text Editor(Auto Line Break)</title>
|
||||
<title xml:lang="zh-TW">白色文字編輯器(Auto Line Break)</title>
|
||||
</color>
|
||||
<color name="black_texteditor">
|
||||
<title xml:lang="ko">검은색 텍스트편집기(자동 줄 바꿈)</title>
|
||||
<title xml:lang="jp">黒色テキストエディター(自動に改行を入れる)</title>
|
||||
<title xml:lang="en">Black Text Editor(Auto Line Break)</title>
|
||||
<title xml:lang="ru">Black Text Editor(Auto Line Break)</title>
|
||||
<title xml:lang="es">Black Text Editor(Auto Line Break)</title>
|
||||
<title xml:lang="zh-CN">Black Text Editor(Auto Line Break)</title>
|
||||
<title xml:lang="zh-TW">黑色文字編輯器(Auto Line Break)</title>
|
||||
</color>
|
||||
<color name="white_text_usehtml">
|
||||
<title xml:lang="ko">하얀색 텍스트편집기(HTML 사용)</title>
|
||||
<title xml:lang="jp">白色テキストエディター(HTMLタグを使う)</title>
|
||||
<title xml:lang="en">White Text Editor(Use HTML)</title>
|
||||
<title xml:lang="ru">White Text Editor(Use HTML)</title>
|
||||
<title xml:lang="es">White Text Editor(Use HTML)</title>
|
||||
<title xml:lang="zh-CN">White Text Editor(Use HTML)</title>
|
||||
<title xml:lang="zh-TW">白色文字編輯器(Use HTML)</title>
|
||||
</color>
|
||||
<color name="black_text_usehtml">
|
||||
<title xml:lang="ko">검은색 텍스트편집기(HTML 사용)</title>
|
||||
<title xml:lang="jp">黒色テキストエディター(HTMLタグを使う)</title>
|
||||
<title xml:lang="en">Black Text Editor(Use HTML)</title>
|
||||
<title xml:lang="ru">Black Text Editor(Use HTML)</title>
|
||||
<title xml:lang="es">Black Text Editor(Use HTML)</title>
|
||||
<title xml:lang="zh-CN">Black Text Editor(Use HTML)</title>
|
||||
<title xml:lang="zh-TW">黑色文字編輯器(Use HTML)</title>
|
||||
</color>
|
||||
<color name="white_text_nohtml">
|
||||
<title xml:lang="ko">하얀색 텍스트편집기(HTML 사용 안함)</title>
|
||||
<title xml:lang="jp">白色テキストエディター(HTMLタグを使わない)</title>
|
||||
<title xml:lang="en">White Text Editor(No HTML)</title>
|
||||
<title xml:lang="ru">White Text Editor(No HTML)</title>
|
||||
<title xml:lang="es">White Text Editor(No HTML)</title>
|
||||
<title xml:lang="zh-CN">White Text Editor(No HTML)</title>
|
||||
<title xml:lang="zh-TW">白色文字編輯器(No HTML)</title>
|
||||
</color>
|
||||
<color name="black_text_nohtml">
|
||||
<title xml:lang="ko">검은색 텍스트편집기(HTML 사용 안함)</title>
|
||||
<title xml:lang="jp">黒色テキストエディター(HTMLタグを使わない)</title>
|
||||
<title xml:lang="en">Black Text Editor(No HTML)</title>
|
||||
<title xml:lang="ru">Black Text Editor(No HTML)</title>
|
||||
<title xml:lang="es">Black Text Editor(No HTML)</title>
|
||||
<title xml:lang="zh-CN">Black Text Editor(No HTML)</title>
|
||||
<title xml:lang="zh-TW">黑色文字編輯器(No HTML)</title>
|
||||
</color>
|
||||
</colorset>
|
||||
</skin>
|
||||
|
|
|
|||
|
|
@ -11,31 +11,33 @@
|
|||
<th scope="row"><div>{$lang->component_author}</div></th>
|
||||
<td>
|
||||
<!--@foreach($component->author as $author)-->
|
||||
{$author->name} (<a href="{$author->homepage}" onclick="window.open(this.href);return false;">{$author->homepage}</a>, <a href="mailto:{$author->email_address}">{$author->email_address}</a>)<br />
|
||||
{$author->name} <!--@if($author->homepage || $author->email_address)-->(<!--@if($author->homepage)--><a href="{$author->homepage}" onclick="window.open(this.href);return false;">{$author->homepage}</a><!--@end--><!--@if($author->homepage && $author->email_address)-->, <!--@end--><!--@if($author->email_address)--><a href="mailto:{$author->email_address}">{$author->email_address}</a><!--@end-->)<!--@end--><br />
|
||||
<!--@end-->
|
||||
</tr>
|
||||
<!--@if($component->homepage)-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->homepage}</div></th>
|
||||
<td class="blue"><a href="{$component->homepage}" onclick="window.open(this.href);return false;">{$component->homepage}</a> </td>
|
||||
</tr>
|
||||
<td class="blue"><a href="{$component->homepage}" onclick="window.open(this.href);return false;">{$component->homepage}</a></td>
|
||||
</tr><!--@end-->
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->regdate}</div></th>
|
||||
<td>{zdate(str_replace('-',"",$component->date), 'Y-m-d')}</td>
|
||||
</tr>
|
||||
<!--@if($component->license || $component->license_link)-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->component_license}</div></th>
|
||||
<td>
|
||||
{nl2br(trim($component->license))}
|
||||
<!--@if($layout_info->license_link)-->
|
||||
<!--@if($component->license_link)-->
|
||||
<p><a href="{$component->license_link}" onclick="window.close(); return false;">{$component->license_link}</a></p>
|
||||
<!--@end-->
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tr><!--@end-->
|
||||
<!--@if($component->description)-->
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->component_description}</div></th>
|
||||
<td>{nl2br(trim($component->description))}</td>
|
||||
</tr>
|
||||
</tr><!--@end-->
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -81,6 +81,8 @@
|
|||
$config->allowed_filesize = Context::get('allowed_filesize');
|
||||
$config->allowed_attach_size = Context::get('allowed_attach_size');
|
||||
$config->allowed_filetypes = Context::get('allowed_filetypes');
|
||||
$config->allow_outlink = Context::get('allow_outlink');
|
||||
$config->allow_outlink_site = Context::get('allow_outlink_site');
|
||||
|
||||
// module Controller 객체 생성하여 입력
|
||||
$oModuleController = &getController('module');
|
||||
|
|
@ -101,6 +103,8 @@
|
|||
|
||||
$download_grant = trim(Context::get('download_grant'));
|
||||
|
||||
$file_config->allow_outlink = Context::get('allow_outlink');
|
||||
$file_config->allow_outlink_site = Context::get('allow_outlink_site');
|
||||
$file_config->allowed_filesize = Context::get('allowed_filesize');
|
||||
$file_config->allowed_attach_size = Context::get('allowed_attach_size');
|
||||
$file_config->allowed_filetypes = Context::get('allowed_filetypes');
|
||||
|
|
|
|||
|
|
@ -54,8 +54,28 @@
|
|||
$file_obj = $oFileModel->getFile($file_srl);
|
||||
if($file_obj->file_srl!=$file_srl || $file_obj->sid!=$sid || $file_obj->isvalid!='Y') return $this->stop('msg_not_permitted_download');
|
||||
|
||||
// 파일 다운로드 권한이 있는지 확인
|
||||
$file_module_config = $oFileModel->getFileModuleConfig($file_obj->module_srl);
|
||||
// 파일 외부링크 차단
|
||||
if($file_module_config->allow_outlink == 'N') {
|
||||
$referer = parse_url($_SERVER["HTTP_REFERER"]);
|
||||
if($referer['host'] != $_SERVER['HTTP_HOST']) {
|
||||
if($file_module_config->allow_outlink_site) {
|
||||
$allow_outlink_site_array = array();
|
||||
$allow_outlink_site_array = explode("\n", $file_module_config->allow_outlink_site);
|
||||
if(!is_array($allow_outlink_site_array)) $allow_outlink_site_array[0] = $file_module_config->allow_outlink_site;
|
||||
foreach($allow_outlink_site_array as $val) {
|
||||
$site = parse_url(trim($val));
|
||||
if($site['host'] == $referer['host']) {
|
||||
$file_module_config->allow_outlink = 'Y';
|
||||
break;
|
||||
}
|
||||
}
|
||||
if($file_module_config->allow_outlink != 'Y') return $this->stop('msg_not_permitted_download');
|
||||
}
|
||||
else return $this->stop('msg_not_permitted_download');
|
||||
}
|
||||
}
|
||||
// 파일 다운로드 권한이 있는지 확인
|
||||
if(is_array($file_module_config->download_grant) && count($file_module_config->download_grant)>0) {
|
||||
if(!Context::get('is_logged')) return $this->stop('msg_not_permitted_download');
|
||||
$logged_info = Context::get('logged_info');
|
||||
|
|
@ -263,7 +283,7 @@
|
|||
}
|
||||
|
||||
// 이미지인지 기타 파일인지 체크하여 upload path 지정
|
||||
if(preg_match("/\.(jpg|jpeg|gif|png|wmv|wma|mpg|mpeg|avi|swf|flv|mp3|asaf|wav|asx|midi|asf)$/i", $file_info['name'])) {
|
||||
if(preg_match("/\.(jpg|jpeg|gif|png|wmv|wma|mpg|mpeg|avi|swf|flv|mp1|mp2|mp3|asaf|wav|asx|mid|midi|asf|mov|moov|qt|rm|ram|ra|rmm|m4v)$/i", $file_info['name'])) {
|
||||
$path = sprintf("./files/attach/images/%s/%s", $module_srl,getNumberingPath($upload_target_srl,3));
|
||||
$filename = $path.$file_info['name'];
|
||||
$direct_download = 'Y';
|
||||
|
|
@ -423,7 +443,7 @@
|
|||
$old_file = $file_info->uploaded_filename;
|
||||
|
||||
// 이미지인지 기타 파일인지 체크하여 이동할 위치 정함
|
||||
if(preg_match("/\.(jpg|jpeg|gif|png|wmv|wma|mpg|mpeg|avi|swf|flv|mp3|asaf|wav|asx|midi|asf)$/i", $file_info->source_filename)) {
|
||||
if(preg_match("/\.(jpg|jpeg|gif|png|wmv|wma|mpg|mpeg|avi|swf|flv|mp1|mp2|mp3|asaf|wav|asx|mid|midi|asf|mov|moov|qt|rm|ram|ra|rmm|m4v)$/i", $file_info->source_filename)) {
|
||||
$path = sprintf("./files/attach/images/%s/%s/", $target_module_srl,$target_srl);
|
||||
$new_file = $path.$file_info->source_filename;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -93,18 +93,23 @@
|
|||
$config->allowed_attach_size = $file_config->allowed_attach_size;
|
||||
$config->allowed_filetypes = $file_config->allowed_filetypes;
|
||||
$config->download_grant = $file_config->download_grant;
|
||||
$config->allow_outlink = $file_config->allow_outlink;
|
||||
$config->allow_outlink_site = $file_config->allow_outlink_site;
|
||||
}
|
||||
|
||||
// 전체 파일첨부 속성을 먼저 따른다
|
||||
if(!$config->allowed_filesize) $config->allowed_filesize = $file_module_config->allowed_filesize;
|
||||
if(!$config->allowed_attach_size) $config->allowed_attach_size = $file_module_config->allowed_attach_size;
|
||||
if(!$config->allowed_filetypes) $config->allowed_filetypes = $file_module_config->allowed_filetypes;
|
||||
if(!$config->allow_outlink) $config->allow_outlink = $file_module_config->allow_outlink;
|
||||
if(!$config->allow_outlink_site) $config->allow_outlink_site = $file_module_config->allow_outlink_site;
|
||||
if(!$config->download_grant) $config->download_grant = $file_module_config->download_grant;
|
||||
|
||||
// 그래도 없으면 default로
|
||||
if(!$config->allowed_filesize) $config->allowed_filesize = '2';
|
||||
if(!$config->allowed_attach_size) $config->allowed_attach_size = '3';
|
||||
if(!$config->allowed_filetypes) $config->allowed_filetypes = '*.*';
|
||||
if(!$config->allow_outlink) $config->allow_outlink = 'Y';
|
||||
if(!$config->download_grant) $config->download_grant = array();
|
||||
|
||||
return $config;
|
||||
|
|
|
|||
|
|
@ -1,46 +1,50 @@
|
|||
<?php
|
||||
/**
|
||||
* @file modules/file/lang/en.lang.php
|
||||
* @author zero <zero@nzeo.com>
|
||||
* @brief Attachment module's basic language pack
|
||||
**/
|
||||
|
||||
$lang->file = 'Attachment';
|
||||
$lang->file_name = 'File Name';
|
||||
$lang->file_size = 'File Size';
|
||||
$lang->download_count = 'Number of Downloads';
|
||||
$lang->status = 'Status';
|
||||
$lang->is_valid = 'Valid';
|
||||
$lang->is_stand_by = 'Stand by';
|
||||
$lang->file_list = 'Attachments List';
|
||||
$lang->allowed_filesize = 'Maximum File Size';
|
||||
$lang->allowed_attach_size = 'Maximum Attachments';
|
||||
$lang->allowed_filetypes = 'Allowed Extensions';
|
||||
$lang->enable_download_group = 'Download Allowed Groups';
|
||||
|
||||
$lang->about_allowed_filesize = 'You can assign file size limit for each file. (Exclude administrators)';
|
||||
$lang->about_allowed_attach_size = 'You can assign file size limit for each document. (Exclude administrators)';
|
||||
$lang->about_allowed_filetypes = 'Only allowed extentsions can be attached. To allow an extension, use "*.[extention]". To allow multiple extensions, use ";" between each extension.<br />ex) *.* or *.jpg;*.gif;<br />(Exclude Administrators)';
|
||||
|
||||
$lang->cmd_delete_checked_file = 'Delete Selected Item(s)';
|
||||
$lang->cmd_move_to_document = 'Move to Document';
|
||||
$lang->cmd_download = 'Download';
|
||||
|
||||
$lang->msg_not_permitted_download = 'You do not have permission to download';
|
||||
$lang->msg_cart_is_null = 'Please select file(s) to delete';
|
||||
$lang->msg_checked_file_is_deleted = '%d attachment(s) was(were) deleted';
|
||||
$lang->msg_exceeds_limit_size = 'File size of attachment is bigger than allowed size.';
|
||||
|
||||
|
||||
$lang->file_search_target_list = array(
|
||||
'filename' => 'File Name',
|
||||
'filesize' => 'File Size (byte, over)',
|
||||
'filesize_mega' => 'File Size (mbyte, over)',
|
||||
'download_count' => 'Downloads (over)',
|
||||
'regdate' => 'Registered Date',
|
||||
'user_id' => 'User UD',
|
||||
'user_name' => 'User Name',
|
||||
'nick_name' => 'Nickname',
|
||||
'ipaddress' => 'IP Address',
|
||||
);
|
||||
?>
|
||||
<?php
|
||||
/**
|
||||
* @file modules/file/lang/en.lang.php
|
||||
* @author zero <zero@nzeo.com>
|
||||
* @brief Attachment module's basic language pack
|
||||
**/
|
||||
|
||||
$lang->file = 'Attachment';
|
||||
$lang->file_name = 'File Name';
|
||||
$lang->file_size = 'File Size';
|
||||
$lang->download_count = 'Number of Downloads';
|
||||
$lang->status = 'Status';
|
||||
$lang->is_valid = 'Valid';
|
||||
$lang->is_stand_by = 'Stand by';
|
||||
$lang->file_list = 'Attachments List';
|
||||
$lang->allow_outlink = '파일 외부 링크';
|
||||
$lang->allow_outlink_site = '파일 외부 허용 사이트';
|
||||
$lang->allowed_filesize = 'Maximum File Size';
|
||||
$lang->allowed_attach_size = 'Maximum Attachments';
|
||||
$lang->allowed_filetypes = 'Allowed Extensions';
|
||||
$lang->enable_download_group = 'Download Allowed Groups';
|
||||
|
||||
$lang->about_allow_outlink = '리퍼러에 따라 파일 외부 링크를 차단할 수 있습니다.(*.wmv, *.mp3등 미디어 파일 제외)';
|
||||
$lang->about_allow_outlink_site = '파일 외부 링크 설정에 관계 없이 허용하는 사이트 주소입니다. 여러개 입력시에 줄을 바꿔서 구분해주세요.<br />ex)http://www.zeroboard.com';
|
||||
$lang->about_allowed_filesize = 'You can assign file size limit for each file. (Exclude administrators)';
|
||||
$lang->about_allowed_attach_size = 'You can assign file size limit for each document. (Exclude administrators)';
|
||||
$lang->about_allowed_filetypes = 'Only allowed extentsions can be attached. To allow an extension, use "*.[extention]". To allow multiple extensions, use ";" between each extension.<br />ex) *.* or *.jpg;*.gif;<br />(Exclude Administrators)';
|
||||
|
||||
$lang->cmd_delete_checked_file = 'Delete Selected Item(s)';
|
||||
$lang->cmd_move_to_document = 'Move to Document';
|
||||
$lang->cmd_download = 'Download';
|
||||
|
||||
$lang->msg_not_permitted_download = 'You do not have permission to download';
|
||||
$lang->msg_cart_is_null = 'Please select file(s) to delete';
|
||||
$lang->msg_checked_file_is_deleted = '%d attachment(s) was(were) deleted';
|
||||
$lang->msg_exceeds_limit_size = 'File size of attachment is bigger than allowed size.';
|
||||
|
||||
|
||||
$lang->file_search_target_list = array(
|
||||
'filename' => 'File Name',
|
||||
'filesize' => 'File Size (byte, over)',
|
||||
'filesize_mega' => 'File Size (mbyte, over)',
|
||||
'download_count' => 'Downloads (over)',
|
||||
'regdate' => 'Registered Date',
|
||||
'user_id' => 'User UD',
|
||||
'user_name' => 'User Name',
|
||||
'nick_name' => 'Nickname',
|
||||
'ipaddress' => 'IP Address',
|
||||
);
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
/**
|
||||
* @archivo modules/file/lang/es.lang.php
|
||||
* @autor zero <zero@nzeo.com>
|
||||
* @sumario Paquete del idioma español para los archivos adjuntos
|
||||
* @sumario Paquete del idioma espaA±ol para los archivos adjuntos
|
||||
**/
|
||||
|
||||
$lang->file = 'Adjuntar archivos';
|
||||
|
|
@ -13,12 +13,16 @@
|
|||
$lang->is_valid = 'Válido';
|
||||
$lang->is_stand_by = 'En espera';
|
||||
$lang->file_list = 'Lista de archivos adjuntos';
|
||||
$lang->allow_outlink = '파일 외부 링크';
|
||||
$lang->allow_outlink_site = '파일 외부 허용 사이트';
|
||||
$lang->allowed_filesize = 'Límite del tamaño del archivo adjunto';
|
||||
$lang->allowed_attach_size = 'Límite del tamaño total de los archivos adjuntos por documento';
|
||||
$lang->allowed_filetypes = 'Tipos de archivos permitidos';
|
||||
$lang->enable_download_group = 'Descargar permitió grupos';
|
||||
|
||||
$lang->about_allowed_filesize = 'Puede definir el límite del tamaño del archivo adjunto. (exceptuando el administrador)';
|
||||
$lang->about_allow_outlink = '리퍼러에 따라 파일 외부 링크를 차단할 수 있습니다.(*.wmv, *.mp3등 미디어 파일 제외)';
|
||||
$lang->about_allow_outlink_site = '파일 외부 링크 설정에 관계 없이 허용하는 사이트 주소입니다. 여러개 입력시에 줄을 바꿔서 구분해주세요.<br />ex)http://www.zeroboard.com';
|
||||
$lang->about_allowed_filesize = 'Puede definir el límite del tamaño del archivo adjunto. (exceptuando el administrador)';
|
||||
$lang->about_allowed_attach_size = 'Puede definir el límite del tamaño total de los archivos adjuntos por documento. (exceptuando el administrador)';
|
||||
$lang->about_allowed_filetypes = 'Puede definir las extensiones de los archivos permitidos. Para permitir una extensión use "*.extensión". Para permitir más de una extensión use ";".<br />ej) *.* o *.jpg;*.gif;etc.<br />(exceptuando el administrador)';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,45 +1,49 @@
|
|||
<?php
|
||||
/**
|
||||
* @file modules/file/lang/fr.lang.php
|
||||
* @author zero <zero@nzeo.com> Traduit par Pierre Duvent <PierreDuvent@gmail.com>
|
||||
* @brief Paquet du langage en français pour le module d\'Annexe
|
||||
**/
|
||||
|
||||
$lang->file = 'Annexe';
|
||||
$lang->file_name = 'Nom du Fichier';
|
||||
$lang->file_size = 'Mesure du Fichier';
|
||||
$lang->download_count = 'Somme du Téléchargé';
|
||||
$lang->status = 'Statut';
|
||||
$lang->is_valid = 'Valide';
|
||||
$lang->is_stand_by = 'Attente';
|
||||
$lang->file_list = 'Liste des Annexes';
|
||||
$lang->allowed_filesize = 'Mesure du Fichier Maximum';
|
||||
$lang->allowed_attach_size = 'Somme des Annexes Maximum';
|
||||
$lang->allowed_filetypes = 'Extensions consentis';
|
||||
$lang->enable_download_group = 'Groupe permis de télécharger';
|
||||
|
||||
$lang->about_allowed_filesize = 'Vous pouvez désigner la limite de mesure pour chaque fichier. (Exclure administrateurs)';
|
||||
$lang->about_allowed_attach_size = 'Vous pouvez désigner la limite de mesure pour chaque document. (Exclure administrateurs)';
|
||||
$lang->about_allowed_filetypes = 'Extensions consentis seulement peuvent être attachés. Pour consentir une extension, utilisez "*.[extention]". Pour consentir plusieurs extensions, utilisez ";" entre chaque extension.<br />ex) *.* ou *.jpg;*.gif;<br />(Exclure Administrateurs)';
|
||||
|
||||
$lang->cmd_delete_checked_file = 'Supprimer item(s) slectionné(s)';
|
||||
$lang->cmd_move_to_document = 'Bouger au Document';
|
||||
$lang->cmd_download = 'Télécharger';
|
||||
|
||||
$lang->msg_not_permitted_download = 'Vous n\'êtes pas permis(e) de télécharger';
|
||||
$lang->msg_cart_is_null = 'Choisissez un(des) fichier(s) à supprimer';
|
||||
$lang->msg_checked_file_is_deleted = '%d Annexe(s) est(sont) supprimé(s)';
|
||||
$lang->msg_exceeds_limit_size = 'La mesure de l\'(des) Annexe(s) est plus grande que celle consentie.';
|
||||
|
||||
$lang->file_search_target_list = array(
|
||||
'filename' => 'Nom de Fichier',
|
||||
'filesize' => 'Mesure de Fichier (octet, surplus)',
|
||||
'filesize_mega' => '파일크기 (Mb, 이상)',
|
||||
'download_count' => 'Téléchargés (surplus)',
|
||||
'user_id' => '아이디',
|
||||
'user_name' => '이름',
|
||||
'nick_name' => '닉네임',
|
||||
'regdate' => 'Enrgistré',
|
||||
'ipaddress' => 'Adresse IP',
|
||||
);
|
||||
?>
|
||||
<?php
|
||||
/**
|
||||
* @file modules/file/lang/fr.lang.php
|
||||
* @author zero <zero@nzeo.com> Traduit par Pierre Duvent <PierreDuvent@gmail.com>
|
||||
* @brief Paquet du langage en francais pour le module d\'Annexe
|
||||
**/
|
||||
|
||||
$lang->file = 'Annexe';
|
||||
$lang->file_name = 'Nom du Fichier';
|
||||
$lang->file_size = 'Mesure du Fichier';
|
||||
$lang->download_count = 'Somme du Telecharge';
|
||||
$lang->status = 'Statut';
|
||||
$lang->is_valid = 'Valide';
|
||||
$lang->is_stand_by = 'Attente';
|
||||
$lang->file_list = 'Liste des Annexes';
|
||||
$lang->allow_outlink = '파일 외부 링크';
|
||||
$lang->allow_outlink_site = '파일 외부 허용 사이트';
|
||||
$lang->allowed_filesize = 'Mesure du Fichier Maximum';
|
||||
$lang->allowed_attach_size = 'Somme des Annexes Maximum';
|
||||
$lang->allowed_filetypes = 'Extensions consentis';
|
||||
$lang->enable_download_group = 'Groupe permis de telecharger';
|
||||
|
||||
$lang->about_allow_outlink = '리퍼러에 따라 파일 외부 링크를 차단할 수 있습니다.(*.wmv, *.mp3등 미디어 파일 제외)';
|
||||
$lang->about_allow_outlink_site = '파일 외부 링크 설정에 관계 없이 허용하는 사이트 주소입니다. 여러개 입력시에 줄을 바꿔서 구분해주세요.<br />ex)http://www.zeroboard.com';
|
||||
$lang->about_allowed_filesize = 'Vous pouvez designer la limite de mesure pour chaque fichier. (Exclure administrateurs)';
|
||||
$lang->about_allowed_attach_size = 'Vous pouvez designer la limite de mesure pour chaque document. (Exclure administrateurs)';
|
||||
$lang->about_allowed_filetypes = 'Extensions consentis seulement peuvent etre attaches. Pour consentir une extension, utilisez "*.[extention]". Pour consentir plusieurs extensions, utilisez ";" entre chaque extension.<br />ex) *.* ou *.jpg;*.gif;<br />(Exclure Administrateurs)';
|
||||
|
||||
$lang->cmd_delete_checked_file = 'Supprimer item(s) slectionne(s)';
|
||||
$lang->cmd_move_to_document = 'Bouger au Document';
|
||||
$lang->cmd_download = 'Telecharger';
|
||||
|
||||
$lang->msg_not_permitted_download = 'Vous n\'etes pas permis(e) de telecharger';
|
||||
$lang->msg_cart_is_null = 'Choisissez un(des) fichier(s) a supprimer';
|
||||
$lang->msg_checked_file_is_deleted = '%d Annexe(s) est(sont) supprime(s)';
|
||||
$lang->msg_exceeds_limit_size = 'La mesure de l\'(des) Annexe(s) est plus grande que celle consentie.';
|
||||
|
||||
$lang->file_search_target_list = array(
|
||||
'filename' => 'Nom de Fichier',
|
||||
'filesize' => 'Mesure de Fichier (octet, surplus)',
|
||||
'filesize_mega' => '파일크기 (Mb, 이상)',
|
||||
'download_count' => 'Telecharges (surplus)',
|
||||
'user_id' => '아이디',
|
||||
'user_name' => '이름',
|
||||
'nick_name' => '닉네임',
|
||||
'regdate' => 'Enrgistre',
|
||||
'ipaddress' => 'Adresse IP',
|
||||
);
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -1,45 +1,49 @@
|
|||
<?php
|
||||
/**
|
||||
* @file modules/file/lang/jp.lang.php
|
||||
* @author zero <zero@nzeo.com> 翻訳:RisaPapa、ミニミ
|
||||
* @brief 添付ファイル(file)モジュールの基本言語パッケージ
|
||||
**/
|
||||
|
||||
$lang->file = '添付ファイル';
|
||||
$lang->file_name = 'ファイル名';
|
||||
$lang->file_size = 'ファイルサイズ';
|
||||
$lang->download_count = 'ダウンロード数';
|
||||
$lang->status = '状態';
|
||||
$lang->is_valid = '有効';
|
||||
$lang->is_stand_by = '待機';
|
||||
$lang->file_list = '添付ファイルリスト';
|
||||
$lang->allowed_filesize = 'ファイルサイズ制限';
|
||||
$lang->allowed_attach_size = '書き込みへの添付制限';
|
||||
$lang->allowed_filetypes = '添付可能な拡張子';
|
||||
$lang->enable_download_group = 'ダウンロード可能グループ';
|
||||
|
||||
$lang->about_allowed_filesize = '一つのファイルに対して、アップロードできるファイルの最大サイズを指定します(管理者除外)。';
|
||||
$lang->about_allowed_attach_size = '一つの書き込みに対して、添付できる最大サイズを指定します(管理者除外)。';
|
||||
$lang->about_allowed_filetypes = 'アップロードできるように設定されたファイルのみが添付できます。"*.拡張子"で指定し、 ";"で区切って任意の拡張子を追加して指定できます(管理者除外)。<br />ex) *.* or *.jpg;*.gif;<br />';
|
||||
|
||||
$lang->cmd_delete_checked_file = '選択リスト削除';
|
||||
$lang->cmd_move_to_document = '書き込みに移動する';
|
||||
$lang->cmd_download = 'ダウンロード';
|
||||
|
||||
$lang->msg_not_permitted_download = 'ダウンロード権限がありません。';
|
||||
$lang->msg_cart_is_null = '削除するファイルを選択してください';
|
||||
$lang->msg_checked_file_is_deleted = '%d個の添付ファイルを削除しました';
|
||||
$lang->msg_exceeds_limit_size = 'ファイルサイズの制限を超えたため、添付できません。';
|
||||
|
||||
$lang->file_search_target_list = array(
|
||||
'filename' => 'ファイル名',
|
||||
'filesize' => 'ファイルサイズ((Byte以上)',
|
||||
'filesize_mega' => 'ファイルサイズ (Mb、以上)',
|
||||
'download_count' => 'ダウンロード数(以上)',
|
||||
'user_id' => 'ユーザーID',
|
||||
'user_name' => '名前',
|
||||
'nick_name' => 'ニックネーム',
|
||||
'regdate' => '登録日',
|
||||
'ipaddress' => 'IPアドレス',
|
||||
);
|
||||
?>
|
||||
<?php
|
||||
/**
|
||||
* @file modules/file/lang/jp.lang.php
|
||||
* @author zero <zero@nzeo.com> 翻訳:RisaPapa、ミニミ
|
||||
* @brief 添付ファイル(file)モジュールの基本言語パッケージ
|
||||
**/
|
||||
|
||||
$lang->file = '添付ファイル';
|
||||
$lang->file_name = 'ファイル名';
|
||||
$lang->file_size = 'ファイルサイズ';
|
||||
$lang->download_count = 'ダウンロード数';
|
||||
$lang->status = '状態';
|
||||
$lang->is_valid = '有効';
|
||||
$lang->is_stand_by = '待機';
|
||||
$lang->file_list = '添付ファイルリスト';
|
||||
$lang->allow_outlink = '外部からのファイルリンク';
|
||||
$lang->allow_outlink_site = '外部からのファイルリンクを許可するサイト';
|
||||
$lang->allowed_filesize = 'ファイルサイズ制限';
|
||||
$lang->allowed_attach_size = '書き込みへの添付制限';
|
||||
$lang->allowed_filetypes = '添付可能な拡張子';
|
||||
$lang->enable_download_group = 'ダウンロード可能グループ';
|
||||
|
||||
$lang->about_allow_outlink = 'リファラーによって外部からのファイルリンクを制御出来ます。(*.wmv, *.mp3などのメディアファイルは除く)';
|
||||
$lang->about_allow_outlink_site = '外部からのファイルリンク設定に構わず、常に外部からのリンクを許可するURLです。複数登録時には、改行で記入して下さい。<br />ex)http://www.zeroboard.com';
|
||||
$lang->about_allowed_filesize = '一つのファイルに対して、アップロードできるファイルの最大サイズを指定します(管理者除外)。';
|
||||
$lang->about_allowed_attach_size = '一つの書き込みに対して、添付できる最大サイズを指定します(管理者除外)。';
|
||||
$lang->about_allowed_filetypes = 'アップロードできるように設定されたファイルのみが添付できます。"*.拡張子"で指定し、 ";"で区切って任意の拡張子を追加して指定できます(管理者除外)。<br />ex) *.* or *.jpg;*.gif;<br />';
|
||||
|
||||
$lang->cmd_delete_checked_file = '選択リスト削除';
|
||||
$lang->cmd_move_to_document = '書き込みに移動する';
|
||||
$lang->cmd_download = 'ダウンロード';
|
||||
|
||||
$lang->msg_not_permitted_download = 'ダウンロード権限がありません。';
|
||||
$lang->msg_cart_is_null = '削除するファイルを選択してください';
|
||||
$lang->msg_checked_file_is_deleted = '%d個の添付ファイルを削除しました';
|
||||
$lang->msg_exceeds_limit_size = 'ファイルサイズの制限を超えたため、添付できません。';
|
||||
|
||||
$lang->file_search_target_list = array(
|
||||
'filename' => 'ファイル名',
|
||||
'filesize' => 'ファイルサイズ((Byte以上)',
|
||||
'filesize_mega' => 'ファイルサイズ (Mb、以上)',
|
||||
'download_count' => 'ダウンロード数(以上)',
|
||||
'user_id' => 'ユーザーID',
|
||||
'user_name' => '名前',
|
||||
'nick_name' => 'ニックネーム',
|
||||
'regdate' => '登録日',
|
||||
'ipaddress' => 'IPアドレス',
|
||||
);
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -13,11 +13,15 @@
|
|||
$lang->is_valid = '유효';
|
||||
$lang->is_stand_by = '대기';
|
||||
$lang->file_list = '첨부 파일 목록';
|
||||
$lang->allow_outlink = '파일 외부 링크';
|
||||
$lang->allow_outlink_site = '파일 외부 허용 사이트';
|
||||
$lang->allowed_filesize = '파일 제한 크기';
|
||||
$lang->allowed_attach_size = '문서 첨부 제한';
|
||||
$lang->allowed_filetypes = '허용 확장자';
|
||||
$lang->enable_download_group = '다운로드 가능 그룹';
|
||||
|
||||
$lang->about_allow_outlink = '리퍼러에 따라 파일 외부 링크를 차단할 수 있습니다.(*.wmv, *.mp3등 미디어 파일 제외)';
|
||||
$lang->about_allow_outlink_site = '파일 외부 링크 설정에 관계 없이 허용하는 사이트 주소입니다. 여러개 입력시에 줄을 바꿔서 구분해주세요.<br />ex)http://www.zeroboard.com';
|
||||
$lang->about_allowed_filesize = '하나의 파일에 대해 최고 용량을 지정할 수 있습니다. (관리자는 제외)';
|
||||
$lang->about_allowed_attach_size = '하나의 문서에 첨부할 수 있는 최고 용량을 지정할 수 있습니다. (관리자는 제외)';
|
||||
$lang->about_allowed_filetypes = '허용한 확장자만 첨부할 수 있습니다. "*.확장자"로 지정할 수 있고 ";" 으로 여러개 지정이 가능합니다.<br />ex) *.* or *.jpg;*.gif;<br />(관리자는 제외)';
|
||||
|
|
|
|||
|
|
@ -1,45 +1,49 @@
|
|||
<?php
|
||||
/**
|
||||
* @file ru.lang.php
|
||||
* @author zero <zero@nzeo.com> | translation by Maslennikov Evgeny aka X-[Vr]bL1s5 | e-mail: x-bliss[a]tut.by; ICQ: 225035467;
|
||||
* @brief Russian basic language pack
|
||||
**/
|
||||
|
||||
$lang->file = 'Вложение';
|
||||
$lang->file_name = 'Имя файла';
|
||||
$lang->file_size = 'Размер файла';
|
||||
$lang->download_count = 'Скачано';
|
||||
$lang->status = 'Состояние';
|
||||
$lang->is_valid = 'Верно';
|
||||
$lang->is_stand_by = 'Ожидание';
|
||||
$lang->file_list = 'Список Вложений';
|
||||
$lang->allowed_filesize = 'Лимит размера файла';
|
||||
$lang->allowed_attach_size = 'Общий лимит размера';
|
||||
$lang->allowed_filetypes = 'Разрешенные расширения';
|
||||
$lang->enable_download_group = 'Группы с разрешением на скачивание';
|
||||
|
||||
$lang->about_allowed_filesize = 'Вы можете присвоить лимит на размер для каждого файла. (Исключая администраторов)';
|
||||
$lang->about_allowed_attach_size = 'Вы можете присвоить лимит на размер для каждого документа. (Исключая администраторов';
|
||||
$lang->about_allowed_filetypes = 'Только файлы с разрешенными расширениями могут быть вложены. Чтобы разрешить расширение, ипользуйте "*.расширение". Чтобы разрешить несколько расширений, используйте ";" между ними.<br />например: *.* или *.jpg;*.gif;<br />(Исключая администраторов)';
|
||||
|
||||
$lang->cmd_delete_checked_file = 'Удалить Выделенные';
|
||||
$lang->cmd_move_to_document = 'Переместить в документ';
|
||||
$lang->cmd_download = 'Скачать';
|
||||
|
||||
$lang->msg_not_permitted_download = 'У Вас нет прав доступа для скачивания';
|
||||
$lang->msg_cart_is_null = 'Выберите файл, который Вы хотите удалить';
|
||||
$lang->msg_checked_file_is_deleted = 'Всего %d вложений было удалено';
|
||||
$lang->msg_exceeds_limit_size = 'Вложение провалено: превышен лимит размера файлов';
|
||||
|
||||
$lang->file_search_target_list = array(
|
||||
'filename' => 'Имя файла',
|
||||
'filesize' => 'Размер файла (байт, Выше)',
|
||||
'filesize_mega' => '파일크기 (Mb, 이상)',
|
||||
'download_count' => 'Скачано (Выше)',
|
||||
'user_id' => '아이디',
|
||||
'user_name' => '이름',
|
||||
'nick_name' => '닉네임',
|
||||
'regdate' => 'Дата',
|
||||
'ipaddress' => 'IP-Адрес',
|
||||
);
|
||||
?>
|
||||
<?php
|
||||
/**
|
||||
* @file ru.lang.php
|
||||
* @author zero <zero@nzeo.com> | translation by Maslennikov Evgeny aka X-[Vr]bL1s5 | e-mail: x-bliss[a]tut.by; ICQ: 225035467;
|
||||
* @brief Russian basic language pack
|
||||
**/
|
||||
|
||||
$lang->file = 'Вложение';
|
||||
$lang->file_name = 'Имя файла';
|
||||
$lang->file_size = 'Размер файла';
|
||||
$lang->download_count = 'Скачано';
|
||||
$lang->status = 'Состояние';
|
||||
$lang->is_valid = 'Верно';
|
||||
$lang->is_stand_by = 'Ожидание';
|
||||
$lang->file_list = 'Список Вложений';
|
||||
$lang->allow_outlink = '파일 외부 링크';
|
||||
$lang->allow_outlink_site = '파일 외부 허용 사이트';
|
||||
$lang->allowed_filesize = 'Лимит размера файла';
|
||||
$lang->allowed_attach_size = 'Общий лимит размера';
|
||||
$lang->allowed_filetypes = 'Разрешенные расширения';
|
||||
$lang->enable_download_group = 'Группы с разрешением на скачивание';
|
||||
|
||||
$lang->about_allow_outlink = '리퍼러에 따라 파일 외부 링크를 차단할 수 있습니다.(*.wmv, *.mp3등 미디어 파일 제외)';
|
||||
$lang->about_allow_outlink_site = '파일 외부 링크 설정에 관계 없이 허용하는 사이트 주소입니다. 여러개 입력시에 줄을 바꿔서 구분해주세요.<br />ex)http://www.zeroboard.com';
|
||||
$lang->about_allowed_filesize = 'Вы можете присвоить лимит на размер для каждого файла. (Исключая администраторов)';
|
||||
$lang->about_allowed_attach_size = 'Вы можете присвоить лимит на размер для каждого документа. (Исключая администраторов';
|
||||
$lang->about_allowed_filetypes = 'Только файлы с разрешенными расширениями могут быть вложены. Чтобы разрешить расширение, ипользуйте "*.расширение". Чтобы разрешить несколько расширений, используйте ";" между ними.<br />например: *.* или *.jpg;*.gif;<br />(Исключая администраторов)';
|
||||
|
||||
$lang->cmd_delete_checked_file = 'Удалить Выделенные';
|
||||
$lang->cmd_move_to_document = 'Переместить в документ';
|
||||
$lang->cmd_download = 'Скачать';
|
||||
|
||||
$lang->msg_not_permitted_download = 'У Вас нет прав доступа для скачивания';
|
||||
$lang->msg_cart_is_null = 'Выберите файл, который Вы хотите удалить';
|
||||
$lang->msg_checked_file_is_deleted = 'Всего %d вложений было удалено';
|
||||
$lang->msg_exceeds_limit_size = 'Вложение провалено: превышен лимит размера файлов';
|
||||
|
||||
$lang->file_search_target_list = array(
|
||||
'filename' => 'Имя файла',
|
||||
'filesize' => 'Размер файла (байт, Выше)',
|
||||
'filesize_mega' => '파일크기 (Mb, 이상)',
|
||||
'download_count' => 'Скачано (Выше)',
|
||||
'user_id' => '아이디',
|
||||
'user_name' => '이름',
|
||||
'nick_name' => '닉네임',
|
||||
'regdate' => 'Дата',
|
||||
'ipaddress' => 'IP-Адрес',
|
||||
);
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -13,12 +13,16 @@
|
|||
$lang->is_valid = '有效';
|
||||
$lang->is_stand_by = '等待';
|
||||
$lang->file_list = '附件目录';
|
||||
$lang->allowed_filesize = '文件大小限制';
|
||||
$lang->allow_outlink = '파일 외부 링크';
|
||||
$lang->allow_outlink_site = '파일 외부 허용 사이트';
|
||||
$lang->allowed_filesize = '文件大小限制';
|
||||
$lang->allowed_attach_size = '上传限制';
|
||||
$lang->allowed_filetypes = '可用扩展名';
|
||||
$lang->enable_download_group = '允许下载的用户组';
|
||||
|
||||
$lang->about_allowed_filesize = '最大单个上传文件大小(管理员不受此限制)。';
|
||||
$lang->about_allow_outlink = '리퍼러에 따라 파일 외부 링크를 차단할 수 있습니다.(*.wmv, *.mp3등 미디어 파일 제외)';
|
||||
$lang->about_allow_outlink_site = '파일 외부 링크 설정에 관계 없이 허용하는 사이트 주소입니다. 여러개 입력시에 줄을 바꿔서 구분해주세요.<br />ex)http://www.zeroboard.com';
|
||||
$lang->about_allowed_filesize = '最大单个上传文件大小(管理员不受此限制)。';
|
||||
$lang->about_allowed_attach_size = '每个主题最大上传文件大小(管理员不受此限制)。';
|
||||
$lang->about_allowed_filetypes = '只允许上传指定的扩展名。 可以用"*.扩展名"来指定或用 ";"来 区分多个扩展名<br />例) *.* or *.jpg;*.gif;<br />(管理员不受此限制)';
|
||||
|
||||
|
|
|
|||
|
|
@ -13,12 +13,16 @@
|
|||
$lang->is_valid = '有效';
|
||||
$lang->is_stand_by = '等待';
|
||||
$lang->file_list = '檔案清單';
|
||||
$lang->allow_outlink = '파일 외부 링크';
|
||||
$lang->allow_outlink_site = '파일 외부 허용 사이트';
|
||||
$lang->allowed_filesize = '檔案大小限制';
|
||||
$lang->allowed_attach_size = '上傳限制';
|
||||
$lang->allowed_filetypes = '允許檔案類型';
|
||||
$lang->enable_download_group = '允許下載的用戶組';
|
||||
|
||||
$lang->about_allowed_filesize = '最大單一上傳檔案大小(管理員不受此限制)。';
|
||||
$lang->about_allow_outlink = '리퍼러에 따라 파일 외부 링크를 차단할 수 있습니다.(*.wmv, *.mp3등 미디어 파일 제외)';
|
||||
$lang->about_allow_outlink_site = '파일 외부 링크 설정에 관계 없이 허용하는 사이트 주소입니다. 여러개 입력시에 줄을 바꿔서 구분해주세요.<br />ex)http://www.zeroboard.com';
|
||||
$lang->about_allowed_filesize = '最大單一上傳檔案大小(管理員不受此限制)。';
|
||||
$lang->about_allowed_attach_size = '每個主題最大上傳檔案大小(管理員不受此限制)。';
|
||||
$lang->about_allowed_filetypes = '設定允許上傳的檔案類型。 可以用"*.副檔名"來指定或用 ";"來 區分多個副檔名<br />例) *.* or *.jpg;*.gif;<br />(管理員不受此限制)';
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,23 @@
|
|||
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, insert_config)">
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<tr class="row2">
|
||||
<th scope="col"><div>{$lang->allow_outlink}</div></th>
|
||||
<td>
|
||||
<select name="allow_outlink">
|
||||
<option value="Y"<!--@if($config->allow_outlink=='Y')--> selected="selected"<!--@end-->>{$lang->enable}</option>
|
||||
<option value="N"<!--@if($config->allow_outlink=='N')--> selected="selected"<!--@end-->>{$lang->disable}</option>
|
||||
</select>
|
||||
<p>{$lang->about_allow_outlink}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="col"><div>{$lang->allow_outlink_site}</div></th>
|
||||
<td>
|
||||
<textarea name="allow_outlink_site" cols="70">{$config->allow_outlink_site}</textarea>
|
||||
<p>{$lang->about_allow_outlink_site}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th scope="col"><div>{$lang->allowed_filesize}</div></th>
|
||||
<td>
|
||||
|
|
|
|||
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