* widget모듈 새 XML 포맷 처리 코드 추가
    * info.xml 파일들 새 포맷으로 변경 

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4390 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
bnu 2008-07-20 02:17:06 +00:00
parent fc876f9d73
commit ef014baa03
34 changed files with 2401 additions and 2115 deletions

View file

@ -9,6 +9,7 @@
$lang->widget_name = 'Widget Name';
$lang->widget_maker = 'Developer';
$lang->widget_license = 'License';
$lang->widget_history = 'Update History';
$lang->widget_info = 'Widget Info';
$lang->widget_code = 'Code';

View file

@ -9,6 +9,7 @@
$lang->widget_name = 'Nombre de Widget';
$lang->widget_maker = 'Desarrollador de Widget';
$lang->widget_license = 'License';
$lang->widget_history = 'Actualizar la historia';
$lang->widget_info = 'información de Widget';
$lang->widget_code = 'Código';

View file

@ -9,6 +9,7 @@
$lang->widget_name = 'ウィジェット名';
$lang->widget_maker = 'ウィジェット作者';
$lang->widget_license = 'License';
$lang->widget_history = '変更内容';
$lang->widget_info = 'ウィジェット情報';
$lang->widget_code = 'コード';

View file

@ -9,7 +9,8 @@
$lang->widget_name = '위젯 이름';
$lang->widget_maker = '위젯 제작자';
$lang->widget_history = '변경사항';
$lang->widget_license = '라이선스';
$lang->widget_history = '변경 이력';
$lang->widget_info = '위젯 정보';
$lang->widget_code = '코드';
$lang->widget_cache = '캐시';

View file

@ -9,6 +9,7 @@
$lang->widget_name = 'Имя виджета';
$lang->widget_maker = 'Разработчик виджета';
$lang->widget_license = 'License';
$lang->widget_history = 'История обновлений';
$lang->widget_info = 'Информация виджета';
$lang->widget_code = 'Код';

View file

@ -9,6 +9,7 @@
$lang->widget_name = '控件名称';
$lang->widget_maker = '控件作者';
$lang->widget_license = 'License';
$lang->widget_history = '更新事项';
$lang->widget_info = '控件信息';
$lang->widget_code = '代码';

View file

@ -6,7 +6,7 @@
<!-- 위젯의 목록 -->
<table cellspacing="0" class="adminTable">
<!--@if($lang_type == 'ko')-->
{@ $col_width = array(0,80,120,80,140,70)}
{@ $col_width = array(0,50,120,80,140,70)}
<!--@else if($lang_type == 'en')-->
{@ $col_width = array(0,80,120,80,140,80)}
<!--@else if($lang_type == 'zh-CN')-->
@ -42,14 +42,18 @@
({$val->widget})
</th>
<td class="tahoma">{$val->version}</td>
<td class="blue"><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">{$val->date}</td>
<td class="tahoma left">{$val->path}</td>
<td class="blue"><a href="{getUrl('','module','widget','act','dispWidgetGenerateCode','selected_widget',$val->widget)}" onclick="popopen(this.href,'widget_code_generate');return false">{$lang->cmd_generate_code}</a></td>
</tr>
<tr>
<td colspan="5" class="left">
{nl2br(trim($val->author->description))}
{nl2br(trim($val->description))}
</td>
</tr>
<!--@end-->

View file

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

View file

@ -77,20 +77,80 @@
$buff = '';
// 위젯의 제목, 버전
$buff .= sprintf('$widget_info->widget = "%s";', $widget);
$buff .= sprintf('$widget_info->path = "%s";', $widget_path);
$buff .= sprintf('$widget_info->title = "%s";', $xml_obj->title->body);
$buff .= sprintf('$widget_info->version = "%s";', $xml_obj->attrs->version);
$buff .= sprintf('$widget_info->widget_srl = $widget_srl;');
$buff .= sprintf('$widget_info->widget_title = $widget_title;');
if($xml_obj->version && $xml_obj->attrs->version == '0.2') {
// 위젯의 제목, 버전
$buff .= sprintf('$widget_info->widget = "%s";', $widget);
$buff .= sprintf('$widget_info->path = "%s";', $widget_path);
$buff .= sprintf('$widget_info->title = "%s";', $xml_obj->title->body);
$buff .= sprintf('$widget_info->description = "%s";', $xml_obj->description->body);
$buff .= sprintf('$widget_info->version = "%s";', $xml_obj->version->body);
$buff .= sprintf('$widget_info->date = "%s";', $xml_obj->date->body);
$buff .= sprintf('$widget_info->homepage = "%s";', $xml_obj->link->body);
$buff .= sprintf('$widget_info->license = "%s";', $xml_obj->license->body);
$buff .= sprintf('$widget_info->license_link = "%s";', $xml_obj->license->attrs->link);
$buff .= sprintf('$widget_info->widget_srl = $widget_srl;');
$buff .= sprintf('$widget_info->widget_title = $widget_title;');
// 작성자 정보
$buff .= sprintf('$widget_info->author->name = "%s";', $xml_obj->author->name->body);
$buff .= sprintf('$widget_info->author->email_address = "%s";', $xml_obj->author->attrs->email_address);
$buff .= sprintf('$widget_info->author->homepage = "%s";', $xml_obj->author->attrs->link);
$buff .= sprintf('$widget_info->author->date = "%s";', $xml_obj->author->attrs->date);
$buff .= sprintf('$widget_info->author->description = "%s";', $xml_obj->author->description->body);
// 작성자 정보
if(!is_array($xml_obj->author)) $author_list[] = $xml_obj->author;
else $author_list = $xml_obj->author;
for($i=0; $i < count($author_list); $i++) {
$buff .= sprintf('$widget_info->author['.$i.']->name = "%s";', $author_list[$i]->name->body);
$buff .= sprintf('$widget_info->author['.$i.']->email_address = "%s";', $author_list[$i]->attrs->email_address);
$buff .= sprintf('$widget_info->author['.$i.']->homepage = "%s";', $author_list[$i]->attrs->link);
}
// history
if($xml_obj->history) {
if(!is_array($xml_obj->history)) $history_list[] = $xml_obj->history;
else $history_list = $xml_obj->history;
for($i=0; $i < count($history_list); $i++) {
sscanf($history_list[$i]->attrs->date, '%d-%d-%d', $date_obj->y, $date_obj->m, $date_obj->d);
$date = sprintf('%04d%02d%02d', $date_obj->y, $date_obj->m, $date_obj->d);
$buff .= sprintf('$widget_info->history['.$i.']->description = "%s";', $history_list[$i]->description->body);
$buff .= sprintf('$widget_info->history['.$i.']->version = "%s";', $history_list[$i]->attrs->version);
$buff .= sprintf('$widget_info->history['.$i.']->date = "%s";', $date);
if($history_list[$i]->author) {
(!is_array($history_list[$i]->author)) ? $obj->author_list[] = $history_list[$i]->author : $obj->author_list = $history_list[$i]->author;
for($j=0; $j < count($obj->author_list); $j++) {
$buff .= sprintf('$widget_info->history['.$i.']->author['.$j.']->name = "%s";', $obj->author_list[$j]->name->body);
$buff .= sprintf('$widget_info->history['.$i.']->author['.$j.']->email_address = "%s";', $obj->author_list[$j]->attrs->email_address);
$buff .= sprintf('$widget_info->history['.$i.']->author['.$j.']->homepage = "%s";', $obj->author_list[$j]->attrs->link);
}
}
if($history_list[$i]->log) {
(!is_array($history_list[$i]->log)) ? $obj->log_list[] = $history_list[$i]->log : $obj->log_list = $history_list[$i]->log;
for($j=0; $j < count($obj->log_list); $j++) {
$buff .= sprintf('$widget_info->history['.$i.']->logs['.$j.']->text = "%s";', $obj->log_list[$j]->body);
$buff .= sprintf('$widget_info->history['.$i.']->logs['.$j.']->link = "%s";', $obj->log_list[$j]->attrs->link);
}
}
}
}
} else {
// 위젯의 제목, 버전
$buff .= sprintf('$widget_info->widget = "%s";', $widget);
$buff .= sprintf('$widget_info->path = "%s";', $widget_path);
$buff .= sprintf('$widget_info->title = "%s";', $xml_obj->title->body);
$buff .= sprintf('$widget_info->description = "%s";', $xml_obj->author->description->body);
$buff .= sprintf('$widget_info->version = "%s";', $xml_obj->attrs->version);
$buff .= sprintf('$widget_info->date = "%s";', $xml_obj->author->attrs->date);
$buff .= sprintf('$widget_info->widget_srl = $widget_srl;');
$buff .= sprintf('$widget_info->widget_title = $widget_title;');
// 작성자 정보
$buff .= sprintf('$widget_info->author[0]->name = "%s";', $xml_obj->author->name->body);
$buff .= sprintf('$widget_info->author[0]->email_address = "%s";', $xml_obj->author->attrs->email_address);
$buff .= sprintf('$widget_info->author[0]->homepage = "%s";', $xml_obj->author->attrs->link);
}
// 추가 변수 (템플릿에서 사용할 제작자 정의 변수)
$extra_var_groups = $xml_obj->extra_vars->group;