git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7643 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2010-08-24 05:03:10 +00:00
parent fd444dea19
commit ac3d283020
7 changed files with 107 additions and 7 deletions

View file

@ -2,11 +2,11 @@
<module version="0.2">
<title xml:lang="ko">Syndication</title>
<description xml:lang="ko">검색서비스업체와 직접 통신을 통해 컨텐츠를 잘 검색되도록 하는 Syndication 규약을 따라 정보를 주고받는 모듈</description>
<version>0.2</version>
<date>2010-03-12</date>
<version>1.0</version>
<date>2010-06-23</date>
<category>interlock</category>
<author email_address="developers@xpressengine.com" link="http://dev.naver.com/projects/syndication">
<name xml:lang="ko">XE</name>
<author email_address="developers@xpressengine.com" link="http://www.xpressengine.com">
<name xml:lang="ko">NHN</name>
</author>
</module>

View file

@ -4,9 +4,9 @@
<permissions />
<actions>
<action name="getSyndicationList" type="model" standalone="true" />
<action name="dispSyndicationAdminConfig" type="view" standalone="true" admin_index="true" />
<action name="procSyndicationAdminInsertService" type="controller" standalone="true" />
<action name="procSyndicationAdminCheckSitePingResult" type="controller" standalone="true" />
<action name="procSyndicationAdminCheckApiStatus" type="controller" standalone="true" />
</actions>
</module>

View file

@ -13,4 +13,20 @@
$lang->msg_site_url_is_null = '사이트 주소를 입력해주세요';
$lang->success_applied = '적용되었습니다';
$lang->msg_ping_test_error = 'Ping 테스트 에러입니다. 도메인 및 서버 설정을 확인해주세요';
$lang->msg_success_ping_test = '정상적 동작으로 확인되었습니다.';
$lang->cmd_check_syndication_echo = 'Syndication 문서 출력 동작확인';
$lang->cmd_check_syndication_status = '연결상태 확인';
$lang->site = '사이트';
$lang->syndication_synic_start_date = '서버 등록일';
$lang->syndication_synic_last_date = '마지막 업데이트';
$lang->syndication_visit_ok_count = 'Ping 연속접속 성공 횟수';
$lang->syndication_visit_fail_count = 'Ping 실패 횟수';
$lang->syndication_status_result = '상태정보';
$lang->syndication_sync_article = '동기화 문서';
$lang->syndication_status = '동기화 상태';
?>

View file

@ -11,8 +11,10 @@
<tr>
<th scope="row"><div>{$lang->my_syndication_url}</div></th>
<td>
http://<input type="text" name="site_url" value="{$site_url}" class="inputTypeText siteUrl" />
http://<input type="text" id="site_url" name="site_url" value="{$site_url}" class="inputTypeText siteUrl" />
<span class="button green"><input type="button" value="{$lang->cmd_check_syndication_echo}" onclick="pingSite(jQuery('#site_url').val())" /></span>
<p>{$lang->about_my_syndication_url}</p>
<p class="ping_test_result"></p>
</td>
</tr>
<tr>
@ -23,9 +25,11 @@
<li>
<input type="checkbox" name="target_services" value="{$val->service}" id="target_service_{$val->service}" <!--@if($val->selected)-->checked="checked"<!--@end--> />
<label for="target_service_{$val->service}">{$val->service}</label>
<!--@if($val->selected)--><span class="button green small"><input type="button" value="{$lang->cmd_check_syndication_status}" onclick="checkSyndicationStatus('{$val->service}')" /></span><!--@end-->
</li>
<!--@end-->
</ul>
<div class="print_result_status"></div>
<p>{$lang->about_syndication}</p>
</td>
</tr>

View file

@ -6,3 +6,12 @@ ul.syndiService li { padding:10px 0; margin:0;}
select.exceptModuleList { width:400px; }
ul.midCommand { margin:20px 0 0 0; padding:0; list-style:none; }
ul.midCommand li { display:inline; margin:0 20px 0 0; padding:0;}
/* Vertical Bar Graph */
.vGraph{ padding:20px 0;}
.vGraph ul{ margin:0; padding:0; height:100px; border:1px solid #ddd; border-top:0; border-right:0; font-size:11px; font-family:Tahoma, Geneva, sans-serif; list-style:none;}
.vGraph ul:after{ content:""; display:block; clear:both;}
.vGraph li{ float:left; display:inline; width:8%; height:100%; margin:0 3%; position:relative; text-align:center; white-space:nowrap;}
.vGraph .gTerm{ position:relative; display:inline-block; width:100%; height:20px; line-height:20px; margin:0 -100% -20px 0; padding:100px 0 0 0; vertical-align:bottom; color:#767676; font-weight:bold;}
.vGraph .gBar{ position:relative; display:inline-block; width:100%; margin:-1px 0 0 0; border:1px solid #ccc; border-bottom:0; background:#e9e9e9; vertical-align:bottom;}
.vGraph .gBar span{ position:absolute; width:100%; top:-20px; left:0; color:#767676;}

View file

@ -23,3 +23,33 @@ function doSyncExceptModules(id) {
}
xGetElementById(id).value = selected_module_srls.join(',');
}
function pingSite(site_url){
jQuery('p.ping_test_result').html('');
var response_tags = new Array('error','message','ping_result');
exec_xml('syndication','procSyndicationAdminCheckSitePingResult',{'site_url':site_url},function(ret_obj,response_tags){
var error = ret_obj['error'];
var message = ret_obj['message'];
var ping_result = ret_obj['ping_result'];
if(ping_result) jQuery('p.ping_test_result').text(ping_result);
alert(message);
},response_tags);
}
function checkSyndicationStatus(service){
jQuery('p.print_result_status').html('');
var response_tags = new Array('error','message','result_status');
exec_xml('syndication','procSyndicationAdminCheckApiStatus',{target_service:service},function(ret_obj,response_tags){
var error = ret_obj['error'];
var message = ret_obj['message'];
var result = ret_obj['result_status'];
if(result) jQuery('div.print_result_status').html(result);
if(error!=0) alert(message);
},response_tags);
}

View file

@ -0,0 +1,41 @@
<h3>Naver Syndication Status</h3>
<h4>{$lang->syndication_status_result}</h4>
<table>
<tbody>
<tr>
<th>{$lang->site}</th>
<td>{$result->site_name}</td>
</tr>
<tr>
<th>{$lang->syndication_status}</th>
<td><strong>{$result->status}</strong></td>
</tr>
<tr>
<th>{$lang->syndication_synic_start_date}</th>
<td>{$result->first_update}</td>
</tr>
<tr>
<th>{$lang->syndication_synic_last_date}</th>
<td>{$result->last_update}</td>
</tr>
<tr>
<th>{$lang->syndication_visit_ok_count}</th>
<td>{number_format($result->visit_ok_count)}</td>
</tr>
<tr>
<th>{$lang->syndication_visit_fail_count}</th>
<td>{number_format($result->visit_fail_count)}</td>
</tr>
</tbody>
</table>
<h4>{$lang->syndication_sync_article}</h4>
<div class="vGraph">
<!--@if($result->article_count)-->
<ul>
<!--@foreach($result->article_count as $date => $count)-->
<li><span class="gTerm">{$date}</span><span class="gBar" style="height:{intval(($count/$result->max_article_count)*100)}%"><span>{number_format($count)}</span></span></li>
<!--@end-->
</ul>
<!--@end-->
</div>