diff --git a/modules/addon/addon.admin.model.php b/modules/addon/addon.admin.model.php
index 760c1c071..99d695e17 100644
--- a/modules/addon/addon.admin.model.php
+++ b/modules/addon/addon.admin.model.php
@@ -84,30 +84,82 @@
if(!$xml_obj) return;
- $info->title = $xml_obj->title->body;
- // 작성자 정보
- $addon_info->addon_name = $addon;
- $addon_info->title = $xml_obj->title->body;
- $addon_info->version = $xml_obj->attrs->version;
- $addon_info->author->name = $xml_obj->author->name->body;
- $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 = trim($xml_obj->author->description->body);
+ // 애드온 정보
+ if($xml_obj->version && $xml_obj->attrs->version == '0.2') {
+ // addon format 0.2
+ $addon_info->title = $xml_obj->title->body;
+ $addon_info->description = trim($xml_obj->description->body);
+ $addon_info->version = $xml_obj->version->body;
+ $addon_info->homepage = $xml_obj->link->body;
+ sscanf($xml_obj->date->body, '%d-%d-%d', $date_obj->y, $date_obj->m, $date_obj->d);
+ $addon_info->date = sprintf('%04d%02d%02d', $date_obj->y, $date_obj->m, $date_obj->d);
+ $addon_info->license = $xml_obj->license->body;
+ $addon_info->license_link = $xml_obj->license->attrs->link;
+
+ if(!is_array($xml_obj->author)) $author_list[] = $xml_obj->author;
+ else $author_list = $xml_obj->author;
+
+ foreach($author_list as $author) {
+ unset($author_obj);
+ $author_obj->name = $author->name->body;
+ $author_obj->email_address = $author->attrs->email_address;
+ $author_obj->homepage = $author->attrs->link;
+ $addon_info->author[] = $author_obj;
+ }
+
+ } else {
+ // addon format 0.1
+ $addon_info->addon_name = $addon;
+ $addon_info->title = $xml_obj->title->body;
+ $addon_info->description = trim($xml_obj->author->description->body);
+ $addon_info->version = $xml_obj->attrs->version;
+ sscanf($xml_obj->author->attrs->date, '%d. %d. %d', $date_obj->y, $date_obj->m, $date_obj->d);
+ $addon_info->date = sprintf('%04d%02d%02d', $date_obj->y, $date_obj->m, $date_obj->d);
+ $author_obj->name = $xml_obj->author->name->body;
+ $author_obj->email_address = $xml_obj->author->attrs->email_address;
+ $author_obj->homepage = $xml_obj->author->attrs->link;
+ $addon_info->author[] = $author_obj;
+
+ }
// history
- if(!is_array($xml_obj->history->author)) $history[] = $xml_obj->history->author;
- else $history = $xml_obj->history->author;
+ if($xml_obj->history) {
+ if(!is_array($xml_obj->history)) $history[] = $xml_obj->history;
+ else $history = $xml_obj->history;
- foreach($history as $item) {
- unset($obj);
- $obj->name = $item->name->body;
- $obj->email_address = $item->attrs->email_address;
- $obj->homepage = $item->attrs->link;
- $obj->date = $item->attrs->date;
- $obj->description = $item->description->body;
- $addon_info->history[] = $obj;
+ foreach($history as $item) {
+ unset($obj);
+
+ if($item->author) {
+ (!is_array($item->author)) ? $obj->author_list[] = $item->author : $obj->author_list = $item->author;
+
+ foreach($obj->author_list as $author) {
+ unset($author_obj);
+ $author_obj->name = $author->name->body;
+ $author_obj->email_address = $author->attrs->email_address;
+ $author_obj->homepage = $author->attrs->link;
+ $obj->author[] = $author_obj;
+ }
+ }
+
+ $obj->name = $item->name->body;
+ $obj->email_address = $item->attrs->email_address;
+ $obj->homepage = $item->attrs->link;
+ $obj->version = $item->attrs->version;
+ $obj->date = $item->attrs->date;
+ $obj->description = $item->description->body;
+
+ if($item->log) {
+ (!is_array($item->log)) ? $obj->log[] = $item->log : $obj->log = $item->log;
+
+ foreach($obj->log as $log) {
+ $obj->logs[] = $log->body;
+ }
+ }
+
+ $addon_info->history[] = $obj;
+ }
}
// DB에 설정된 내역을 가져온다
diff --git a/modules/addon/lang/en.lang.php b/modules/addon/lang/en.lang.php
index 10cb2ab68..4029e1bcc 100644
--- a/modules/addon/lang/en.lang.php
+++ b/modules/addon/lang/en.lang.php
@@ -9,6 +9,7 @@
$lang->addon_info = 'Summary of this Addon';
$lang->addon_maker = 'Author of this Addon';
+ $lang->addon_license = 'License';
$lang->addon_history = 'Addon History';
$lang->about_addon_mid = "Addons can select targets.
(All targets will be selected when nothing is selected)";
diff --git a/modules/addon/lang/es.lang.php b/modules/addon/lang/es.lang.php
index b814f6398..ffa27627f 100644
--- a/modules/addon/lang/es.lang.php
+++ b/modules/addon/lang/es.lang.php
@@ -9,6 +9,7 @@
$lang->addon_info = 'Información de Addon';
$lang->addon_maker = 'Autor de Addon';
+ $lang->addon_license = 'License';
$lang->addon_history = 'Historia de Addon ';
$lang->about_addon_mid = "애드온이 사용될 대상을 지정할 수 있습니다.
(모두 해제시 모든 대상에서 사용 가능합니다)";
diff --git a/modules/addon/lang/fr.lang.php b/modules/addon/lang/fr.lang.php
index 148b4a59d..7feae3b77 100644
--- a/modules/addon/lang/fr.lang.php
+++ b/modules/addon/lang/fr.lang.php
@@ -9,6 +9,7 @@
$lang->addon_info = 'Le résumé de la Compagnon';
$lang->addon_maker = 'L\'Auteur de la Compagnon';
+ $lang->addon_license = 'License';
$lang->addon_history = 'L\'Histoire de la Compagnon';
$lang->about_addon_mid = "On peut choisir des objets dans lesquels la Compagnon soit utilisé.
(Tout sera choisi quand rien n'est choisi.)";
diff --git a/modules/addon/lang/jp.lang.php b/modules/addon/lang/jp.lang.php
index 081305285..1cd5e1719 100644
--- a/modules/addon/lang/jp.lang.php
+++ b/modules/addon/lang/jp.lang.php
@@ -9,6 +9,7 @@
$lang->addon_info = 'アドオン情報';
$lang->addon_maker = 'アドオン作者';
+ $lang->addon_license = 'License';
$lang->addon_history = '変更内容';
$lang->about_addon_mid = "애드온이 사용될 대상을 지정할 수 있습니다.
(모두 해제시 모든 대상에서 사용 가능합니다)";
diff --git a/modules/addon/lang/ko.lang.php b/modules/addon/lang/ko.lang.php
index 5ec6e43f1..0b471e5fa 100644
--- a/modules/addon/lang/ko.lang.php
+++ b/modules/addon/lang/ko.lang.php
@@ -2,14 +2,15 @@
/**
* @file ko.lang.php
* @author zero (zero@nzeo.com)
- * @brief 한국어 언어팩
+ * @brief 한국어 언어팩
**/
- $lang->addon = "애드온";
+ $lang->addon = '애드온';
$lang->addon_info = '애드온정보';
$lang->addon_maker = '애드온 제작자';
- $lang->addon_history = '변경 사항 ';
+ $lang->addon_license = '라이센스';
+ $lang->addon_history = '변경 이력';
$lang->about_addon_mid = "애드온이 사용될 대상을 지정할 수 있습니다.
(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->about_addon = '애드온은 html결과물을 출력하기 보다 동작을 제어하는 역할을 합니다.
원하시는 애드온을 on/ off하시는 것만으로 사이트 운영에 유용한 기능을 연동할 수 있습니다.';
diff --git a/modules/addon/lang/ru.lang.php b/modules/addon/lang/ru.lang.php
index c87c767b7..8c1c02f78 100644
--- a/modules/addon/lang/ru.lang.php
+++ b/modules/addon/lang/ru.lang.php
@@ -9,6 +9,7 @@
$lang->addon_info = 'Информация об аддоне';
$lang->addon_maker = 'Автор аддона';
+ $lang->addon_license = 'License';
$lang->addon_history = 'История аддона';
$lang->about_addon_mid = "애드온이 사용될 대상을 지정할 수 있습니다.
(모두 해제시 모든 대상에서 사용 가능합니다)";
diff --git a/modules/addon/lang/zh-CN.lang.php b/modules/addon/lang/zh-CN.lang.php
index acd4f2a73..f7f6fc7d5 100644
--- a/modules/addon/lang/zh-CN.lang.php
+++ b/modules/addon/lang/zh-CN.lang.php
@@ -9,6 +9,7 @@
$lang->addon_info = '插件信息';
$lang->addon_maker = '插件作者';
+ $lang->addon_license = 'License';
$lang->addon_history = '更新纪录 ';
$lang->about_addon_mid = "可以指定使用插件的对象。
(全部解除表示可用在所有对象。)";
diff --git a/modules/addon/tpl/addon_info.html b/modules/addon/tpl/addon_info.html
index ac66289d9..d4553c6a7 100644
--- a/modules/addon/tpl/addon_info.html
+++ b/modules/addon/tpl/addon_info.html
@@ -13,24 +13,72 @@
|
+ {$history->version} + {$history->date} + |
+
+
+ {$author->name} ({$author->homepage} / {$author->email_address}) + + +{nl2br(trim($history->description))} + + +
|
+
|---|