issue 70 trackback admin module UI/UX modified

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8726 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ovclas 2011-08-05 02:16:07 +00:00
parent da8302fa4a
commit 22dd2f0ea6
18 changed files with 146 additions and 24 deletions

View file

@ -9,9 +9,11 @@
<action name="trackback" type="controller" standalone="true" />
<action name="procTrackbackSend" type="controller" standalone="true" ruleset="sendTrackback" />
<action name="procTrackbackGetList" type="controller" standalone="true" />
<action name="procTrackbackAdminDeleteChecked" type="controller" standalone="true" ruleset="deleteChecked" />
<action name="procTrackbackAdminInsertConfig" type="controller" standalone="true" />
<action name="procTrackbackAdminInsertModuleConfig" type="controller" standalone="true" />
<action name="procTrackbackAdminAddCart" type="controller" standalone="true" />
</actions>
<menus>
<menu name="trackback">

View file

@ -26,4 +26,5 @@
$lang->enable_trackback = "Use Trackback";
$lang->about_enable_trackback = "When it is unchecked, all the trackback collection on the site will be stopped.";
$lang->no_trackbacks = 'No Trackbacks';
?>

View file

@ -27,4 +27,5 @@
$lang->enable_trackback = "Usar trackback";
$lang->about_enable_trackback = "Si no selecciona esta opción, desactiva la inscripción de trackback en todos los documentos del sitio";
$lang->no_trackbacks = 'No Trackbacks';
?>

View file

@ -26,4 +26,5 @@
$lang->enable_trackback = "Utiliser le Rétrolien";
$lang->about_enable_trackback = "Si vous annulez la coché, on arrêtera de ramasser les rétroliens de tous les articles du site";
$lang->no_trackbacks = 'No Trackbacks';
?>

View file

@ -26,4 +26,5 @@
$lang->enable_trackback = 'トラックバックを可能にする';
$lang->about_enable_trackback = 'チェックを外すと、すべてのコンテンツに対し、トラックバックの受信を中止します。';
$lang->no_trackbacks = 'No Trackbacks';
?>

View file

@ -21,4 +21,5 @@
);
$lang->enable_trackback = '엮인글 사용';
$lang->about_enable_trackback = '체크를 해제하시면 사이트 내에 모든 글의 엮인글 접수를 중지합니다.';
$lang->no_trackbacks = '엮인글이 없습니다.';
?>

View file

@ -27,4 +27,5 @@
$lang->enable_trackback = "Включить трекбек";
$lang->about_enable_trackback = "Эта опция включает/выключает фукцию трекбека.";
$lang->no_trackbacks = 'No Trackbacks';
?>

View file

@ -26,4 +26,5 @@
$lang->enable_trackback = "Geri izleme kullan.";
$lang->about_enable_trackback = "Geri izleme devredışı bırakıldığında, sitedeki tüm geri izleme (trackback) koleksiyonları durdurulacaktır.";
$lang->no_trackbacks = 'No Trackbacks';
?>

View file

@ -29,4 +29,5 @@
$lang->enable_trackback = "Sử dụng liên kết Web";
$lang->about_enable_trackback = "Khi chọn là tắt chức năng này, mọi liên kết Web trên Website sẽ ngừng hoạt động.";
$lang->no_trackbacks = 'No Trackbacks';
?>

View file

@ -26,4 +26,5 @@
$lang->enable_trackback = "使用引用";
$lang->about_enable_trackback = "取消此项勾选将对网站内的所有主题禁止接收引用。";
$lang->no_trackbacks = 'No Trackbacks';
?>

View file

@ -26,4 +26,5 @@
$lang->enable_trackback = "使用引用";
$lang->about_enable_trackback = "不選取的話,將會使網站內所有的主題都禁止接收引用。";
$lang->no_trackbacks = 'No Trackbacks';
?>

View file

@ -6,7 +6,8 @@
<column name="*" />
</columns>
<conditions>
<condition operation="in" column="module_srl" var="s_module_srl" />
<condition operation="in" column="trackback_srl" var="trackbackSrlList" filter="number" />
<condition operation="in" column="module_srl" var="s_module_srl" pipe="and" />
<condition operation="notin" column="module_srl" var="exclude_module_srl" pipe="and" />
<group pipe="and">
<condition operation="like" column="url" var="s_url" />

View file

@ -13,3 +13,56 @@ function doCheckAll(bToggle) {
function insertSelectedModule(id, module_srl, mid, browser_title) {
location.href = current_url.setQuery('module_srl',module_srl);
}
function addCart(trackback_srl) {
var params = new Array();
var response_tags = ['error','message'];
params['trackback_srl'] = trackback_srl;
exec_xml('trackback','procTrackbackAdminAddCart',params, completeAddCart, response_tags);
}
function completeAddCart(ret_obj, response_tags)
{
}
function getTrackbackList()
{
var params = new Array();
var response_tags = ['error','message', 'trackback_list'];
exec_xml('trackback','procTrackbackGetList',params, completeGetTrackbackList, response_tags);
}
function completeGetTrackbackList(ret_obj, response_tags)
{
var htmlListBuffer = '';
var statusNameList = {"N":"Public", "Y":"Secret"};
console.log(ret_obj);
if(ret_obj['trackback_list'] == null)
{
htmlListBuffer = '<tr>' +
'<td colspan="2" style="text-align:center;">'+ret_obj['message']+'</td>' +
'</tr>';
}
else
{
var trackback_list = ret_obj['trackback_list']['item'];
if(!jQuery.isArray(trackback_list)) trackback_list = [trackback_list];
for(var x in trackback_list)
{
var objTrackback = trackback_list[x];
htmlListBuffer += '<tr>' +
'<tr>' +
'<td class="text"> <strong>'+ objTrackback.title +'</strong>' +
'<p>'+ objTrackback.excerpt +'</p>' +
'</td>' +
'<td>'+ objTrackback.blog_name +'</td>' +
'</tr>' +
'<input type="hidden" name="cart[]" value="'+objTrackback.trackback_srl+'" />';
}
jQuery('#selectedTrackbackCount').html(trackback_list.length);
}
jQuery('#trackbackManageListTable>tbody').html(htmlListBuffer);
}

View file

@ -39,53 +39,37 @@
<td><a href="{$val->url}" target="_blank">{htmlspecialchars($val->blog_name)}</a></td>
<td>{zdate($val->regdate,"Y-m-d")}</td>
<td><a href="{getUrl('search_target','ipaddress','search_keyword',$val->ipaddress)}">{$val->ipaddress}</a></td>
<td><input type="checkbox" name="cart[]" value="{$val->trackback_srl}" /></td>
<td><input type="checkbox" name="cart[]" value="{$val->trackback_srl}" onclick="addCart({$val->trackback_srl})" <!--@if($val->isCarted)-->checked<!--@end--> /></td>
</tr>
<!--@end-->
</tbody>
</table>
</div>
<div class="btnArea">
<span class="btn"><a href="#listManager" class="modalAnchor">선택한 엮인글 관리...</a></span>
<span class="btn"><a href="#listManager" class="modalAnchor" onclick="getTrackbackList();">선택한 엮인글 관리...</a></span>
</div>
</form>
<div class="modal" id="listManager">
<form ruleset="deleteChecked" id="fo_list" action="./" method="post">
<form ruleset="deleteChecked" action="./" method="post" class="fg">
<input type="hidden" name="act" value="procTrackbackAdminDeleteChecked" />
<input type="hidden" name="page" value="{$page}" />
<h2 class="h2">선택한 엮인글 관리</h2>
<div class="table even">
<table width="100%" border="1" cellspacing="0">
<table width="100%" border="1" cellspacing="0" id="trackbackManageListTable">
<caption>
선택한 엮인글 <strong>8</strong>
선택한 엮인글 <strong id="selectedTrackbackCount"></strong>
</caption>
<thead>
<tr>
<th scope="col" class="title"><span class="text">Trackback</span></th>
<th scope="col">Site</th>
<th scope="col"><input type="checkbox" title="Check All" checked="checked" /></th>
<th scope="col" class="title"><span class="text">{$lang->title}</span></th>
<th scope="col">{$lang->blog_name}</th>
</tr>
</thead>
<tbody>
<tr>
<td class="text"> <strong>The quick brown fox jumps over the lazy dog.</strong>
<p>무궁화 꽃이 피었습니다. 무궁화 꽃이 피었습니다. 무궁화 꽃이 피었습니다. 무궁화 꽃이 피었습니다. 무궁화 꽃이 피었습니다. 무궁화 꽃이 피었습니다...</p>
</td>
<td>나라디자인</td>
<td><input type="checkbox" /></td>
</tr>
<tr>
<td class="text"> <strong>The quick brown fox jumps over the lazy dog.</strong>
<p>무궁화 꽃이 피었습니다. 무궁화 꽃이 피었습니다. 무궁화 꽃이 피었습니다. 무궁화 꽃이 피었습니다. 무궁화 꽃이 피었습니다. 무궁화 꽃이 피었습니다...</p>
</td>
<td>행복한고니</td>
<td><input type="checkbox" /></td>
</tr>
</tbody>
</table>
</div>
<div class="btnArea">
<span class="btn"><input type="submit" value="Trash" /></span>
<span class="btn"><input type="submit" value="Delete" class="delete" /></span>
</div>
</form>

View file

@ -88,6 +88,29 @@
}
}
/**
* @brief Trackback Module Settings
**/
function procTrackbackAdminAddCart()
{
$trackback_srl = (int)Context::get('trackback_srl');
$oTrackbackAdminModel = &getAdminModel('trackback');
//$columnList = array('trackback_srl');
$args->trackbackSrlList = array($trackback_srl);
$output = $oTrackbackAdminModel->getTotalTrackbackList($args);
if(is_array($output->data))
{
foreach($output->data AS $key=>$value)
{
if($_SESSION['trackback_management'][$value->trackback_srl]) unset($_SESSION['trackback_management'][$value->trackback_srl]);
else $_SESSION['trackback_management'][$value->trackback_srl] = true;
}
}
}
/**
* @brief Trackback modular set function
**/

View file

@ -54,6 +54,7 @@
$args->page_count = $obj->page_count?$obj->page_count:10;
$args->s_module_srl = $obj->module_srl;
$args->exclude_module_srl = $obj->exclude_module_srl;
$args->trackbackSrlList = $obj->trackbackSrlList;
// trackback.getTotalTrackbackList query execution
$output = executeQuery('trackback.getTotalTrackbackList', $args);
// Return if no result or an error occurs

View file

@ -32,6 +32,15 @@
// Get a list
$oTrackbackAdminModel = &getAdminModel('trackback');
$output = $oTrackbackAdminModel->getTotalTrackbackList($args);
if(is_array($output->data))
{
foreach($output->data AS $key=>$value)
{
if($_SESSION['trackback_management'][$value->trackback_srl]) $value->isCarted = true;
else $value->isCarted = false;
}
}
// To write to a template parameter settings
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);

View file

@ -46,6 +46,45 @@
return $output;
}
/**
* @brief Trackback List
**/
function procTrackbackGetList()
{
if(!Context::get('is_logged')) return new Object(-1,'msg_not_permitted');
// Taken from a list of selected sessions
$flagList = $_SESSION['trackback_management'];
if(count($flagList)) {
foreach($flagList as $key => $val) {
if(!is_bool($val)) continue;
$trackbackSrlList[] = $key;
}
}
global $lang;
if(count($trackbackSrlList) > 0) {
$oTrackbackAdminModel = &getAdminModel('trackback');
$args->trackbackSrlList = $trackbackSrlList;
$args->list_count = 100;
$output = $oTrackbackAdminModel->getTotalTrackbackList($args);
if(is_array($output->data)) $trackbackList = $output->data;
else
{
unset($_SESSION['trackback_management']);
$trackbackList = array();
$this->setMessage($lang->no_trackbacks);
}
}
else
{
$trackbackList = array();
$this->setMessage($lang->no_trackbacks);
}
$this->add('trackback_list', $trackbackList);
}
/**
* @brief Trackbacks send documents from the popup menu add a menu
**/