#492 addon모듈 새 XML 포맷 반영

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4358 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
bnu 2008-07-15 04:27:07 +00:00
parent 88ed871193
commit 02dd06a661
12 changed files with 153 additions and 37 deletions

View file

@ -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에 설정된 내역을 가져온다

View file

@ -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.<br />(All targets will be selected when nothing is selected)";

View file

@ -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 = "애드온이 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";

View file

@ -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é.<br />(Tout sera choisi quand rien n'est choisi.)";

View file

@ -9,6 +9,7 @@
$lang->addon_info = 'アドオン情報';
$lang->addon_maker = 'アドオン作者';
$lang->addon_license = 'License';
$lang->addon_history = '変更内容';
$lang->about_addon_mid = "애드온이 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";

View file

@ -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 = "애드온이 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->about_addon = '애드온은 html결과물을 출력하기 보다 동작을 제어하는 역할을 합니다.<br />원하시는 애드온을 on/ off하시는 것만으로 사이트 운영에 유용한 기능을 연동할 수 있습니다.';

View file

@ -9,6 +9,7 @@
$lang->addon_info = 'Информация об аддоне';
$lang->addon_maker = 'Автор аддона';
$lang->addon_license = 'License';
$lang->addon_history = 'История аддона';
$lang->about_addon_mid = "애드온이 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";

View file

@ -9,6 +9,7 @@
$lang->addon_info = '插件信息';
$lang->addon_maker = '插件作者';
$lang->addon_license = 'License';
$lang->addon_history = '更新纪录 ';
$lang->about_addon_mid = "可以指定使用插件的对象。<br />(全部解除表示可用在所有对象。)";

View file

@ -13,24 +13,72 @@
</tr>
<tr>
<th scope="row">{$lang->author}</th>
<td class="blue"><a href="mailto:{$addon_info->author->email_address}">{$addon_info->author->name}</a></td>
<td class="blue">
<!--@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 />
<!--@endforeach-->
</td>
</tr>
<tr>
<th scope="row">{$lang->homepage}</th>
<td class="blue"><a href="{$addon_info->author->homepage}" onclick="window.open(this.href);return false;">{$addon_info->author->homepage}</a></td>
<td class="blue"><a href="{$addon_info->homepage}" onclick="window.open(this.href);return false;">{$addon_info->homepage}</a></td>
</tr>
<tr>
<th scope="row">{$lang->regdate}</th>
<td>{$addon_info->author->date}</td>
<td>{zdate($addon_info->date, 'Y-m-d')}</td>
</tr>
<tr>
<th scope="row">{$lang->addon_license}</th>
<td>
{nl2br(trim($addon_info->license))}
<!--@if($addon_info->license_link)-->
<p><a href="{$addon_info->license_link}" onclick="window.close(); return false;">{$addon_info->license_link}</a></p>
<!--@end-->
</td>
</tr>
<tr>
<th scope="row">{$lang->description}</th>
<td>{nl2br(trim($addon_info->author->description))}</td>
<td>{nl2br(trim($addon_info->description))}</td>
</tr>
</table>
</div>
<!--@if($addon_info->history)-->
<div id="popHistoryHeadder">
<h3>{$lang->addon_history}</h3>
</div>
<div id="popHistoryBody">
<table cellspacing="0" class="adminTable">
<col width="100" />
<col />
<!--@foreach($addon_info->history as $history)-->
<tr>
<th scope="row">
{$history->version}<br />
{$history->date}
</th>
<td>
<!--@foreach($history->author as $author)-->
<p>{$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>)</p>
<!--@endforeach-->
<!--@if($addon_info->description)-->
<p>{nl2br(trim($history->description))}</p>
<!--@endif-->
<!--@if($history->logs)-->
<ul>
<!--@foreach($history->logs as $log)--><li>{$log}</li><!--@endforeach-->
</ul>
<!--@endif-->
</td>
</tr>
<!--@endforeach-->
</table>
</div>
<!--@endif-->
<div id="popFooter" class="tCenter">
<a href="#" onclick="window.close(); return false;" class="button"><span>{$lang->cmd_close}</span></a>
</div>

View file

@ -50,8 +50,12 @@
({$val->addon})
</th>
<td class="tahoma">{$val->version}</td>
<td><a href="{$val->author->homepage}" onclick="window.open(this.href);return false;">{$val->author->name}</a></td>
<td class="tahoma">{$val->author->date}</td>
<td>
<!--@foreach($val->author as $author)-->
<a href="{$author->homepage}" onclick="window.open(this.href);return false;">{$author->name}</a>
<!--@endforeach-->
</td>
<td class="tahoma">{zdate($val->date, 'Y-m-d')}</td>
<td class="tahoma">{$val->path}</td>
<td><a href="{getUrl('','module','addon','act','dispAddonAdminSetup','selected_addon',$val->addon)}" onclick="popopen(this.href,'addon_info');return false" class="blue">{$lang->cmd_setup}</a></td>
<td>
@ -64,7 +68,7 @@
</tr>
<tr>
<td colspan="6">
{nl2br($val->author->description)}
{nl2br($val->description)}
</td>
</tr>
<!--@end-->

View file

@ -15,15 +15,19 @@
<col />
<tr>
<th scope="row"><label for="textfield1">{$lang->title}</label></th>
<td>{$addon_info->title} ver. {$addon_info->version}</td>
<td>{$addon_info->title} ver. {$addon_info->version} ({zdate($addon_info->date, 'Y-m-d')})</td>
</tr>
<tr>
<th scope="row"><label for="textfield2">{$lang->author}</label></th>
<td><a href="mailto:{$addon_info->author->email_address}">{$addon_info->author->name}</a></td>
<th scope="row">{$lang->author}</th>
<td class="blue">
<!--@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 />
<!--@endforeach-->
</td>
</tr>
<tr>
<th scope="row"><label for="textfield2">{$lang->homepage}</label></th>
<td><a href="{$addon_info->author->homepage}" onclick="window.open(this.href);return false;">{$addon_info->author->homepage}</a></td>
<td><a href="{$addon_info->homepage}" onclick="window.open(this.href);return false;">{$addon_info->homepage}</a></td>
</tr>
<!--@foreach($addon_info->extra_vars as $id => $var)-->

View file

@ -125,9 +125,10 @@ h4 .view { color:#158692; padding-right:.6em; font:bold .9em Tahoma; background:
.buttonTypeGo { border:none; cursor:pointer; width:24px; height:20px; position:relative; top:-1px; font:.75em Tahoma; text-align:center; background:url(../images/buttonTypeInput24.gif) no-repeat; }
#popHeadder { height:40px; background:url(../images/popupTopBg.png) repeat-x left top; padding:10px;}
#popHeadder 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 { width:600px; padding:10px; background:#ffffff;}
#popHeadder, #popHistoryHeadder { height:40px; background:url(../images/popupTopBg.png) repeat-x left top; padding: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;}
#popHistoryBody { height: 200px; overflow: auto; padding-right:0; }
#popFooter { width:620px; background:#f7f7f6; border-top:1px solid #e8e8e7; padding:.5em 0 .5em 0; overflow:hidden; }
#popFooter .close { position:relative; left:50%; margin-left:-1em; float:left;}