mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-21 11:22:34 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@789 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
fdffc30fec
commit
810f30cf6b
21 changed files with 99 additions and 94 deletions
|
|
@ -4,7 +4,7 @@
|
|||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">
|
||||
사용자의 이름을 이미지로 대체하거나 마크이미지를 나타내는 애드온
|
||||
사용자의 이름을 이미지로 대체하거나 마크이미지를 나타내는 애드온입니다.
|
||||
회원 관리에서 이미지이름이나 마크이미지를 설정하여야 한다.
|
||||
</description>
|
||||
</author>
|
||||
|
|
|
|||
|
|
@ -6,13 +6,19 @@
|
|||
* @author zero (zero@nzeo.com)
|
||||
* @brief 사용자의 이름을 이미지로 바꾸거나 닉 아이콘을 추가하는 애드온
|
||||
*
|
||||
* 이 addOn은 화면을 출력하는 바로 앞 단계에서 요청이 올때 작동하도록 한다.
|
||||
* 이 addOn은 모든 처리가 끝나고 화면에 출력하기 바로 전에 요청이 되어서
|
||||
* 사용자의 이름으로 등록된 부분을 찾아서 정규표현식으로 변환을 합니다.
|
||||
* 사용자의 이름은 <div class="member_회원번호">....</div> 로 정의가 되어야 합니다.
|
||||
* 이렇게 정의된 부분의 회원번호를 구해서 이미지이름, 이미지마크가 있는지를 확인하여 있으면
|
||||
* 내용을 변경해버립니다.
|
||||
*
|
||||
* 내용 변경은 MemberController::transImageName method를 이용해서 변경합니다.
|
||||
**/
|
||||
|
||||
// 출력 되기 바로 직전이 아니라면 모두 무시
|
||||
if($called_position != "before_display_content") return;
|
||||
|
||||
// 출력문서중에서 <div class="member_번호">content</div>를 찾아서 변경
|
||||
// 출력문서중에서 <div class="member_번호">content</div>를 찾아 MemberController::transImageName() 를 이용하여 변경
|
||||
$oMemberController = &getController('member');
|
||||
$output = preg_replace_callback('!<div([^\>]*)member_([0-9]*)([^\>]*)>(.*?)\<\/div\>!is', array($oMemberController, 'transImageName'), $output);
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -4,9 +4,8 @@
|
|||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">
|
||||
1. 새쪽지가 올 경우 팝업으로 알려줍니다.
|
||||
2. 다른 회원의 아이디 클릭시 나타나는 팝업메뉴에 쪽지 보내기를 추가합니다.
|
||||
3. 로그인 플러그인이나 게시판 상단에 쪽지의 갯수를 표시합니다.
|
||||
1. 다른 회원의 아이디 클릭시 나타나는 팝업메뉴에 쪽지 보내기를 추가합니다.
|
||||
2. 새쪽지가 올 경우 팝업으로 알려줍니다.
|
||||
</description>
|
||||
</author>
|
||||
</addon>
|
||||
|
|
|
|||
|
|
@ -2,15 +2,18 @@
|
|||
if(!__ZBXE__) exit();
|
||||
|
||||
/**
|
||||
* @file message.addon.php
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief 쪽지기능을 사이트내에 연결
|
||||
*
|
||||
* 1. MemberModel::getMemberMenu 다음 -> menu_list에 쪽지 보내기 기능 추가
|
||||
* 2. before
|
||||
**/
|
||||
* @file message.addon.php
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief 쪽지기능을 사이트내에 연결
|
||||
*
|
||||
* 1. 게시판등의 페이지에서 사용자 이름을 클릭시 요청되는 MemberModel::getMemberMenu 후에 $menu_list에 쪽지 발송 링크 추가
|
||||
* 2. 새로운 쪽지가 왔을 경우 팝업으로 띄움
|
||||
**/
|
||||
|
||||
// MemberModel::getMemberMenu의 결과값인 menu_list에 쪽지 관련 기능 추가 (아이디 클릭시 팝업메뉴)
|
||||
/**
|
||||
* 1. 게시판등의 페이지에서 사용자 이름을 클릭시 요청되는 MemberModel::getMemberMenu 후에 $menu_list에 쪽지 발송 링크 추가
|
||||
* 조건 : called_position == 'after_module_proc', module = 'member', act = 'getMemberMenu'
|
||||
**/
|
||||
if($called_position == 'after_module_proc' && $this->module == 'member' && $this->act == 'getMemberMenu') {
|
||||
|
||||
// 비로그인 사용자라면 패스
|
||||
|
|
@ -26,18 +29,26 @@
|
|||
// 언어파일 읽음
|
||||
Context::loadLang($addon_path."lang");
|
||||
|
||||
// 템플릿에서 사용되기 전의 menu_list
|
||||
// 템플릿에서 사용되기 전의 menu_list를 가져옴
|
||||
$menu_list = $this->get('menu_list');
|
||||
|
||||
$menu_list .= sprintf("\n%s,winopen('%s','messageBox','width=10,height=10,left=10,top=10,resizable=no,scrollbars=no,toolbars=no')", Context::getLang('cmd_send_message'), './?module=message&act=dispSendMessage&target_member_srl='.$member_srl);
|
||||
// 쪽지 발송 메뉴를 만듬
|
||||
$menu_str = Context::getLang('cmd_send_message');
|
||||
$menu_link = sprintf('./?module=message&act=dispSendMessage&target_member_srl=%s',$member_srl);
|
||||
|
||||
// 메뉴에 새로 만든 쪽지 발송 메뉴를 추가
|
||||
$menu_list .= sprintf("\n%s,%s", $menu_str, $menu_link);
|
||||
|
||||
// 템플릿에 적용되게 하기 위해 module의 variables에 재등록
|
||||
$this->add('menu_list', $menu_list);
|
||||
|
||||
// 출력 되기 바로 직전일 경우
|
||||
} else if($called_position == "before_display_content") {
|
||||
/**
|
||||
* 2. 새로운 쪽지가 왔을 경우 팝업으로 띄움
|
||||
* 조건 : called_position = 'before_display_content'
|
||||
**/
|
||||
} else if($called_position == 'before_display_content') {
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<addon version="0.1">
|
||||
<title xml:lang="ko">네이버 검색 연동 애드온</title>
|
||||
<title xml:lang="en">naver search addon</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<name xml:lang="en">zero</name>
|
||||
<description xml:lang="ko">
|
||||
글을 작성시 네이버의 검색서버에 해당 글의 상황을 보냅니다.
|
||||
내용을 보내는 것이 아니라 글의 url만 보내고 글에서 선택한 공개옵션에 따라서 크롤링을 하게 됩니다.
|
||||
네이버 검색서버 연동을 하시면 사이트의 검색 기능을 네이버의 검색서버를 이용하실 수 있게 됩니다.
|
||||
</description>
|
||||
<description xml:lang="en">naver search addon</description>
|
||||
</author>
|
||||
</addon>
|
||||
|
|
|
|||
|
|
@ -6,24 +6,17 @@
|
|||
* @author zero (zero@nzeo.com)
|
||||
* @brief 네이버 검색 연동 애드온
|
||||
*
|
||||
* addOn은 ModuleObject 에서 모듈이 불러지기 전/후에 include되는 것으로 실행을 한다.
|
||||
* 즉 별도의 interface가 필요한 것이 아니고 모듈의 일부라고 판단하여 코드를 작성하면 된다.
|
||||
* 네이버 검색 연동 애드온은 모듈이 실행된 후에 동작을 한다.
|
||||
* board 모듈의 procInsertDocument, procDeleteDocument action일 때만 특정 서버로 발송을 한다.
|
||||
**/
|
||||
|
||||
// called_position이 before일때만 실행
|
||||
if($called_position != 'after_module_proc') return;
|
||||
|
||||
// 이 애드온이 동작할 대상 (이 부분은 특별히 정해진 규약이 없다)
|
||||
$effecived_target = array(
|
||||
'board' => array('procInsertDocument', 'procDeleteDocument'),
|
||||
);
|
||||
if($this->module != 'board' && ($this->act != 'procInsertDocument' || $this->act != 'procDeleteDocument')) return;
|
||||
|
||||
// spam filter모듈이 적용될 module+act를 체크
|
||||
if(!in_array($this->act, $effecived_target[$this->module])) return;
|
||||
|
||||
// 해당 글의 URL을 구함
|
||||
// 검색 서버로 발송할 url을 구함
|
||||
$url = sprintf('%s?document_srl=%s',Context::getRequestUri(), Context::get('document_srl'));
|
||||
|
||||
// URL을 네이버 검색 서버로 발송
|
||||
//@todo 차후 개발
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<addon version="0.1">
|
||||
<title xml:lang="ko">레인보우 링크 애드온</title>
|
||||
<title xml:lang="en">rainbow link addon</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<name xml:lang="en">zero</name>
|
||||
<description xml:lang="ko">
|
||||
링크가 걸린 글의 색을 무지개색으로 나타냅니다.
|
||||
rainbow.js를 header에 추가하여 링크가 걸린 글의 색을 무지개색으로 나타냅니다.
|
||||
이 애드온의 rainbow.js는 <a href="http://www.dynamicdrive.com" target="_blank">Dynamicdrive.com</a>에 저작권이 있습니다.
|
||||
</description>
|
||||
<description xml:lang="en">rainbow link</description>
|
||||
</author>
|
||||
</addon>
|
||||
|
|
|
|||
|
|
@ -2,25 +2,17 @@
|
|||
if(!__ZBXE__) exit();
|
||||
|
||||
/**
|
||||
* @file spamfilter.addon.php
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief Rainbow link addon
|
||||
*
|
||||
* 링크가 걸린 텍스트에 마우스 오버를 하면 무지개색으로 변하게 하는 애드온입니다.
|
||||
* rainbow.js는 http://www.dynamicdrive.com에서 제작하였으며 저작권을 가지고 있습니다.
|
||||
**/
|
||||
* @file rainbow.addon.php
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief Rainbow link addon
|
||||
*
|
||||
* 링크가 걸린 텍스트에 마우스 오버를 하면 무지개색으로 변하게 하는 애드온입니다.
|
||||
* rainbow.js 파일만 추가하는 것으로 끝납니다.
|
||||
* rainbow.js는 http://www.dynamicdrive.com에서 제작하였으며 저작권을 가지고 있습니다.
|
||||
* before_display_content 에서만 요청이 됩니다.
|
||||
**/
|
||||
|
||||
// admin 모듈의 경우 무조건 패스
|
||||
/*
|
||||
if(Context::get('module') == 'admin') {
|
||||
$this->rainbow_link_is_called = true;
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
// 한번이라도 요청이 되었다면 패스
|
||||
if($GLOBALS['_rainbow_link_is_called']) return;
|
||||
$GLOBALS['_rainbow_link_is_called'] = true;
|
||||
if($called_position != 'before_display_content') return;
|
||||
|
||||
// 현재 애드온의 위치를 구함
|
||||
$oAddOnModel = &getModel('addon');
|
||||
|
|
|
|||
|
|
@ -1,14 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<addon version="0.1">
|
||||
<title xml:lang="ko">스팸필터 애드온</title>
|
||||
<title xml:lang="en">spamfilter addon</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<name xml:lang="en">zero</name>
|
||||
<description xml:lang="ko">
|
||||
스팸 필터링을 담당합니다.
|
||||
SpamFilter 모듈을 이용하여 글/코멘트/트랙백 등록 이전에 스팸 필터링 및 도배 방지를 합니다.
|
||||
자세한 설정은 " 스팸필터 모듈" 에서 해주세요.
|
||||
</description>
|
||||
<description xml:lang="en">do spam filtering</description>
|
||||
</author>
|
||||
</addon>
|
||||
|
|
|
|||
|
|
@ -2,15 +2,15 @@
|
|||
if(!__ZBXE__) exit();
|
||||
|
||||
/**
|
||||
* @file spamfilter.addon.php
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief 스팸필터링 애드온
|
||||
*
|
||||
* addOn은 ModuleObject 에서 모듈이 불러지기 전/후에 include되는 것으로 실행을 한다.
|
||||
* 즉 별도의 interface가 필요한 것이 아니고 모듈의 일부라고 판단하여 코드를 작성하면 된다.
|
||||
**/
|
||||
* @file spamfilter.addon.php
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief 스팸필터링 애드온
|
||||
*
|
||||
* 스팸필터 애드온은 SpamFilter 모듈을 이용합니다.
|
||||
* 글/코멘트/트랙백 등록 이전에만 실행이 됩니다.
|
||||
**/
|
||||
|
||||
// called_position가 before일때만 실행
|
||||
// called_position가 before_module_proc 일때만 실행
|
||||
if($this->called_position != 'before_module_proc') return;
|
||||
|
||||
// 이 애드온이 동작할 대상 (이 부분은 특별히 정해진 규약이 없다)
|
||||
|
|
@ -43,10 +43,10 @@
|
|||
break;
|
||||
}
|
||||
|
||||
// 현재 모듈의 관리자이거나 그에 준하는 manager권한이면 그냥 패스~
|
||||
// 현재 모듈의 관리자이거나 그에 준하는 manager권한이면 그냥 패스
|
||||
if($this->grant->is_admin || $this->grant->manager) return;
|
||||
|
||||
// 현 접속자의 ip address를 변수화
|
||||
// 현 접속자의 ip address를 구함
|
||||
$ipaddress = $_SERVER['REMOTE_ADDR'];
|
||||
|
||||
// spamfilter 모듈 객체 생성
|
||||
|
|
|
|||
|
|
@ -54,6 +54,14 @@
|
|||
return getModule($module_name, 'class');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief DB::executeQuery() 의 alias
|
||||
**/
|
||||
function executeQuery($query_id, $args) {
|
||||
$oDB = &DB::getInstance();
|
||||
return $oDB->executeQuery($query_id, $args);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Context::getUrl($args_list)를 쓰기 쉽게 함수로 선언
|
||||
* @param args_list 제한없는 args
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@
|
|||
$addon_info->author->email_address = $xml_obj->author->attrs->email_address;
|
||||
$addon_info->author->homepage = $xml_obj->author->attrs->link;
|
||||
$addon_info->author->date = $xml_obj->author->attrs->date;
|
||||
$addon_info->author->description = $xml_obj->author->description->body;
|
||||
$addon_info->author->description = trim($xml_obj->author->description->body);
|
||||
|
||||
// history
|
||||
if(!is_array($xml_obj->history->author)) $history[] = $xml_obj->history->author;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@
|
|||
<actions>
|
||||
<action name="dispIndex" type="view" standalone="true" admin_index="true" />
|
||||
<action name="dispAddonInfo" type="view" standalone="true" />
|
||||
<action name="procToggleActivateAddon" type="controller" standalone="true" />
|
||||
<action name="procAddonToggleActivate" type="controller" standalone="true" />
|
||||
</actions>
|
||||
</module>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
</tables>
|
||||
<columns>
|
||||
<column name="module" default="module" notnull="notnull" />
|
||||
<column name="type" default="type" notnull="notnull" />
|
||||
<column name="action" default="action" notnull="notnull" />
|
||||
</columns>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<table name="action_foward">
|
||||
<column name="module" type="varchar" size="80" notnull="notnull" unique="idx_foward" />
|
||||
<column name="type" type="varchar" size="15" notnull="notnull" unique="idx_foward"/>
|
||||
<column name="action" type="varchar" size="255" notnull="notnull" unique="idx_foward"/>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @class login_info
|
||||
* @author zero (zero@nzeo.com)
|
||||
|
|
@ -14,7 +13,7 @@
|
|||
/**
|
||||
* @brief 플러그인의 실행 부분
|
||||
* ./plugins/플러그인/conf/info.xml에 선언한 extra_vars를 args로 받는다
|
||||
* 결과를 만든후 return 해주어야 한다
|
||||
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
||||
**/
|
||||
function proc($args) {
|
||||
// 변수 설정
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
|
||||
<!-- colorset의 값에 따라 css 파일을 import 한다 -->
|
||||
<!--@if($colorset=="normal"||!$colorset)-->
|
||||
<!--%import("normal/style.css")-->
|
||||
<!--@end-->
|
||||
<!-- 로그인 사용자일 경우 -->
|
||||
|
||||
<!-- 로그인 사용자일 경우 로그인 정보를 출력 -->
|
||||
<!--@if($logged_info)-->
|
||||
|
||||
<!--%import("./filter/logout.xml")-->
|
||||
|
|
@ -38,7 +39,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 비로그인 사용자일 경우 -->
|
||||
<!-- 비로그인 사용자일 경우 로그인 폼을 출력 -->
|
||||
<!--@else-->
|
||||
<!--%import("./filter/login.xml")-->
|
||||
|
||||
|
|
|
|||
|
|
@ -9,25 +9,25 @@
|
|||
<var id="title">
|
||||
<name xml:lang="ko">제목</name>
|
||||
<type>text</type>
|
||||
<description xml:lang="ko">설명</description>
|
||||
<description xml:lang="ko">최근 게시물의 제목으로 출력됩니다.</description>
|
||||
</var>
|
||||
<var id="order_target">
|
||||
<name xml:lang="ko">정렬 대상</name>
|
||||
<type>select</type>
|
||||
<description xml:lang="ko">설명</description>
|
||||
<description xml:lang="ko">등록된 순서 또는 변경된 순서로 정렬을 할 수 있습니다.</description>
|
||||
<options>
|
||||
<name xml:lang="ko">시간순</name>
|
||||
<name xml:lang="ko">최신 등록순</name>
|
||||
<value>list_order</value>
|
||||
</options>
|
||||
<options>
|
||||
<name xml:lang="ko">업데이트순</name>
|
||||
<name xml:lang="ko">최근 변경순</name>
|
||||
<value>update_order</value>
|
||||
</options>
|
||||
</var>
|
||||
<var id="order_type">
|
||||
<name xml:lang="ko">정렬 방법</name>
|
||||
<type>select</type>
|
||||
<description xml:lang="ko">설명</description>
|
||||
<description xml:lang="ko">정렬대상을 내림차순 또는 올림차순으로 정렬할 수 있습니다.</description>
|
||||
<options>
|
||||
<name xml:lang="ko">내림차순</name>
|
||||
<value>desc</value>
|
||||
|
|
@ -40,12 +40,12 @@
|
|||
<var id="list_count">
|
||||
<name xml:lang="ko">목록수</name>
|
||||
<type>text</type>
|
||||
<description xml:lang="ko">설명</description>
|
||||
<description xml:lang="ko">출력될 목록의 수를 정하실 수 있습니다. (기본 5개)</description>
|
||||
</var>
|
||||
<var id="mid_list">
|
||||
<name xml:lang="ko">대상 모듈</name>
|
||||
<type>mid_list</type>
|
||||
<description xml:lang="ko">설명</description>
|
||||
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
|
||||
</var>
|
||||
</extra_vars>
|
||||
</plugin>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @class newest_document
|
||||
* @author zero (zero@nzeo.com)
|
||||
|
|
@ -11,8 +10,9 @@
|
|||
|
||||
/**
|
||||
* @brief 플러그인의 실행 부분
|
||||
* ./plugins/플러그인/conf/info.xml에 선언한 extra_vars를 args로 받는다
|
||||
* 결과를 만든후 return 해주어야 한다
|
||||
*
|
||||
* ./plugins/플러그인/conf/info.xml 에 선언한 extra_vars를 args로 받는다
|
||||
* 결과를 만든후 print가 아니라 return 해주어야 한다
|
||||
**/
|
||||
function proc($args) {
|
||||
// 플러그인 자체적으로 설정한 변수들을 체크
|
||||
|
|
@ -28,6 +28,7 @@
|
|||
$obj->sort_index = $order_target;
|
||||
$obj->list_count = $list_count;
|
||||
|
||||
// document 모듈의 model 객체를 받아서 getDocumentList() method를 실행
|
||||
$oDocumentModel = &getModel('document');
|
||||
$output = $oDocumentModel->getDocumentList($obj);
|
||||
|
||||
|
|
@ -48,7 +49,5 @@
|
|||
$oTemplate = new TemplateHandler();
|
||||
return $oTemplate->compile($tpl_path, $tpl_file);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,11 @@
|
|||
<!-- 설정된 컬러셋의 종류에 따라서 css파일을 import 합니다 -->
|
||||
|
||||
<!--@if($colorset=="normal"||!$colorset)-->
|
||||
<!--%import("normal/style.css")-->
|
||||
|
||||
<!--@elseif($colorset=="blue")-->
|
||||
<!--%import("blue/style.css")-->
|
||||
|
||||
<!--@end-->
|
||||
|
||||
<div class="newest_document_default_{$colorset}">
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@
|
|||
<title xml:lang="ko">최신글 목록 기본 스킨</title>
|
||||
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">newest_document의 기본 스킨</description>
|
||||
<description xml:lang="ko">최신글 목록 플러그인의 기본 스킨</description>
|
||||
</maker>
|
||||
<colorset>
|
||||
<color name="normal">
|
||||
<title xml:lang="ko">기본</title>
|
||||
<title xml:lang="ko">기본 컬러</title>
|
||||
</color>
|
||||
<color name="blue">
|
||||
<title xml:lang="ko">푸른색</title>
|
||||
<title xml:lang="ko">푸른계통의 컬러</title>
|
||||
</color>
|
||||
</colorset>
|
||||
<skin>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue