mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 18:51:41 +09:00
#604 카운터 애드온 사용에 따른 대시보드 페이지 변경
This commit is contained in:
parent
483ca47d13
commit
d1ebb30591
5 changed files with 285 additions and 166 deletions
|
|
@ -348,11 +348,26 @@ class adminAdminView extends admin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$site_module_info = Context::get('site_module_info');
|
||||||
|
$oAddonAdminModel = getAdminModel('addon');
|
||||||
|
$counterAddonActivated = $oAddonAdminModel->isActivatedAddon('counter', $site_module_info->site_srl );
|
||||||
|
if(!$counterAddonActivated)
|
||||||
|
{
|
||||||
|
$columnList = array('member_srl', 'nick_name', 'user_name', 'user_id', 'email_address');
|
||||||
|
$args = new stdClass;
|
||||||
|
$args->page = 1;
|
||||||
|
$args->list_count = 5;
|
||||||
|
$output = executeQuery('member.getMemberList', $args, $columnList);
|
||||||
|
Context::set('latestMemberList', $output->data);
|
||||||
|
unset($args, $output, $columnList);
|
||||||
|
}
|
||||||
|
|
||||||
Context::set('module_list', $module_list);
|
Context::set('module_list', $module_list);
|
||||||
Context::set('needUpdate', $isUpdated);
|
Context::set('needUpdate', $isUpdated);
|
||||||
Context::set('addTables', $addTables);
|
Context::set('addTables', $addTables);
|
||||||
Context::set('needUpdate', $needUpdate);
|
Context::set('needUpdate', $needUpdate);
|
||||||
Context::set('newVersionList', $needUpdateList);
|
Context::set('newVersionList', $needUpdateList);
|
||||||
|
Context::set('counterAddonActivated', $counterAddonActivated);
|
||||||
|
|
||||||
$oSecurity = new Security();
|
$oSecurity = new Security();
|
||||||
$oSecurity->encodeHTML('module_list..', 'module_list..author..', 'newVersionList..');
|
$oSecurity->encodeHTML('module_list..', 'module_list..author..', 'newVersionList..');
|
||||||
|
|
|
||||||
169
modules/admin/tpl/_dashboard_counter.html
Normal file
169
modules/admin/tpl/_dashboard_counter.html
Normal file
|
|
@ -0,0 +1,169 @@
|
||||||
|
<div>
|
||||||
|
<section class="status">
|
||||||
|
<h2>{$lang->uv}</h2>
|
||||||
|
<div style="margin:10px 15px;height:142px" id="visitors"></div>
|
||||||
|
<div class="more">
|
||||||
|
<dl>
|
||||||
|
<dt>{$lang->menu_gnb['user']}: </dt><dd><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminList')}">{number_format($status->member->totalCount)} (<!--@if($status->member->todayCount > 0)-->+<!--@end-->{number_format($status->member->todayCount)})</a></dd>
|
||||||
|
</dl>
|
||||||
|
<a href="{getUrl('', 'module', 'admin', 'act', 'dispCounterAdminIndex')}"><i>›</i> {$lang->details}</a>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="status">
|
||||||
|
<h2>{$lang->pv}</h2>
|
||||||
|
<div style="margin:10px 15px;height:142px" id="page_views"></div>
|
||||||
|
<div class="more">
|
||||||
|
<dl>
|
||||||
|
<dt>{$lang->menu_gnb_sub['document']}: </dt><dd><a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList')}">{number_format($status->document->totalCount)} (<!--@if($status->document->todayCount > 0)-->+<!--@end-->{number_format($status->document->todayCount)})</a></dd>
|
||||||
|
</dl>
|
||||||
|
<a href="{getUrl('', 'module', 'admin', 'act', 'dispCounterAdminIndex')}"><i>›</i> {$lang->details}</a>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<style scoped>.jqplot-table-legend{background:#fff;top:13px!important}</style>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<section class="document">
|
||||||
|
<h2>{$lang->latest_documents}</h2>
|
||||||
|
<ul>
|
||||||
|
<li loop="$latestDocumentList => $key,$value">
|
||||||
|
{@$document = $value->variables}
|
||||||
|
<a href="{getUrl('', 'document_srl', $document['document_srl'])}" target="_blank"><!--@if(trim($value->getTitle()))-->{$value->getTitle()}<!--@else--><strong>{$lang->no_title_document}</strong><!--@end--></a>
|
||||||
|
<span class="side">{$value->getNickName()}</span>
|
||||||
|
<form class="action" method="POST">
|
||||||
|
<input type="hidden" name="module" value="admin" />
|
||||||
|
<input type="hidden" name="act" value="procDocumentManageCheckedDocument" />
|
||||||
|
<input type="hidden" name="cart[]" value="{$document['document_srl']}" />
|
||||||
|
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin')}" />
|
||||||
|
<button type="submit" name="type" value="trash" class="x_icon-trash">{$lang->cmd_trash}</button>
|
||||||
|
<button type="submit" name="type" value="delete" class="x_icon-remove">{$lang->cmd_delete}</button>
|
||||||
|
</form>
|
||||||
|
</li>
|
||||||
|
<li cond="!is_array($latestDocumentList) || count($latestDocumentList) < 1">{$lang->no_data}</li>
|
||||||
|
</ul>
|
||||||
|
<p class="more"><a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList')}"><i>›</i> {$lang->more}</a></p>
|
||||||
|
</section>
|
||||||
|
<section class="reply">
|
||||||
|
<h2>{$lang->latest_comments}</h2>
|
||||||
|
<ul>
|
||||||
|
<li loop="$latestCommentList => $key,$value">
|
||||||
|
<a href="{getUrl('', 'document_srl', $value->document_srl)}#comment_{$value->comment_srl}" target="_blank"><!--@if(trim($value->content))-->{$value->getSummary()}<!--@else--><strong>{$lang->no_text_comment}</strong><!--@end--></a>
|
||||||
|
<span class="side">{$value->getNickName()}</span>
|
||||||
|
<form class="action">
|
||||||
|
<input type="hidden" name="module" value="admin" />
|
||||||
|
<input type="hidden" name="act" value="procCommentAdminDeleteChecked" />
|
||||||
|
<input type="hidden" name="cart[]" value="{$value->comment_srl}" />
|
||||||
|
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin')}" />
|
||||||
|
<button type="submit" name="is_trash" value="true" class="x_icon-trash">{$lang->cmd_trash}</button>
|
||||||
|
<button type="submit" name="is_trash" value="false" class="x_icon-remove">{$lang->cmd_delete}</button>
|
||||||
|
</form>
|
||||||
|
</li>
|
||||||
|
<li cond="!is_array($latestCommentList) || count($latestCommentList) < 1">{$lang->no_data}</li>
|
||||||
|
</ul>
|
||||||
|
<p class="more"><a href="{getUrl('', 'module', 'admin', 'act', 'dispCommentAdminList')}"><i>›</i> {$lang->more}</a></p>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
xe.lang.this_week = '{$lang->this_week}';
|
||||||
|
xe.lang.last_week = '{$lang->last_week}';
|
||||||
|
xe.lang.next_week = '{$lang->next_week}';
|
||||||
|
xe.lang.mon = '{$lang->mon}';
|
||||||
|
xe.lang.tue = '{$lang->tue}';
|
||||||
|
xe.lang.wed = '{$lang->wed}';
|
||||||
|
xe.lang.thu = '{$lang->thu}';
|
||||||
|
xe.lang.fri = '{$lang->fri}';
|
||||||
|
xe.lang.sat = '{$lang->sat}';
|
||||||
|
xe.lang.sun = '{$lang->sun}';
|
||||||
|
|
||||||
|
jQuery(function($)
|
||||||
|
{
|
||||||
|
// Dashboard portlet UI
|
||||||
|
$('.dashboard>div>section>ul>li')
|
||||||
|
.bind('mouseenter focusin', function(){
|
||||||
|
$(this).addClass('hover').find('>.action').show();
|
||||||
|
})
|
||||||
|
.bind('mouseleave focusout', function()
|
||||||
|
{
|
||||||
|
if(!$(this).find(':focus').length)
|
||||||
|
{
|
||||||
|
$(this).removeClass('hover').find('>.action').hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// check browser version
|
||||||
|
if($.browser.msie == true ) {
|
||||||
|
var arrBrowserVersion = $.browser.version.split('.');
|
||||||
|
if(parseInt(arrBrowserVersion[0]) <= 8) {
|
||||||
|
$('#checkBrowserMessage').show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
function obj2Array(htObj)
|
||||||
|
{
|
||||||
|
var aRes = [];
|
||||||
|
|
||||||
|
for(var x in htObj)
|
||||||
|
{
|
||||||
|
if(!htObj.hasOwnProperty(x)) continue;
|
||||||
|
aRes.push(htObj[x]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return aRes;
|
||||||
|
}
|
||||||
|
|
||||||
|
jQuery(function ($)
|
||||||
|
{
|
||||||
|
$.exec_json("counter.getWeeklyUniqueVisitor", {}, function(htRes)
|
||||||
|
{
|
||||||
|
var aLastWeek = obj2Array(htRes.last_week.list);
|
||||||
|
var aThisWeek = obj2Array(htRes.this_week.list);
|
||||||
|
|
||||||
|
drawChart("visitors", "Weekly Visitors", aLastWeek, aThisWeek);
|
||||||
|
});
|
||||||
|
|
||||||
|
$.exec_json("counter.getWeeklyPageView", {}, function(htRes)
|
||||||
|
{
|
||||||
|
var aLastWeek = obj2Array(htRes.last_week.list);
|
||||||
|
var aThisWeek = obj2Array(htRes.this_week.list);
|
||||||
|
|
||||||
|
drawChart("page_views", "Weekly Page Views", aLastWeek, aThisWeek);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function drawChart(sContainerId, sTitle, aLastWeek, aThisWeek)
|
||||||
|
{
|
||||||
|
$ = jQuery;
|
||||||
|
|
||||||
|
var s1 = aLastWeek;
|
||||||
|
var s2 = aThisWeek;
|
||||||
|
// Can specify a custom tick Array.
|
||||||
|
// Ticks should match up one for each y value (category) in the series.
|
||||||
|
var ticks = [xe.lang.sun,xe.lang.mon,xe.lang.tue,xe.lang.wed,xe.lang.thu,xe.lang.fri,xe.lang.sat];
|
||||||
|
|
||||||
|
var plot1 = $.jqplot(sContainerId, [s1, s2], {
|
||||||
|
seriesDefaults:{
|
||||||
|
renderer:$.jqplot.BarRenderer,
|
||||||
|
rendererOptions: {fillToZero: true}
|
||||||
|
},
|
||||||
|
series:[
|
||||||
|
{label: xe.lang.last_week},
|
||||||
|
{label: xe.lang.this_week}
|
||||||
|
],
|
||||||
|
legend:
|
||||||
|
{
|
||||||
|
show: true,
|
||||||
|
placement: 'outsideGrid'
|
||||||
|
},
|
||||||
|
axes: {
|
||||||
|
xaxis: {
|
||||||
|
renderer: $.jqplot.CategoryAxisRenderer, ticks: ticks
|
||||||
|
},
|
||||||
|
yaxis: {
|
||||||
|
min: 0, ticks: 1, pad: 1.05
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
66
modules/admin/tpl/_dashboard_default.html
Normal file
66
modules/admin/tpl/_dashboard_default.html
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
<div>
|
||||||
|
<section class="member">
|
||||||
|
<h2>{$lang->member}</h2>
|
||||||
|
<ul>
|
||||||
|
<li loop="$latestMemberList => $key,$value">
|
||||||
|
{@$document = $value->variables}
|
||||||
|
<a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminInsert', 'member_srl', $value->member_srl)}" target="_blank">{$value->nick_name}</a>
|
||||||
|
</li>
|
||||||
|
<li cond="!is_array($latestMemberList) || count($latestMemberList) < 1">{$lang->no_data}</li>
|
||||||
|
</ul>
|
||||||
|
<div class="more">
|
||||||
|
<dl>
|
||||||
|
<dt>{$lang->menu_gnb['user']}: </dt><dd><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminList')}">{number_format($status->member->totalCount)} (<!--@if($status->member->todayCount > 0)-->+<!--@end-->{number_format($status->member->todayCount)})</a></dd>
|
||||||
|
</dl>
|
||||||
|
<a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminList')}"><i>›</i> {$lang->more}</a>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<section class="document">
|
||||||
|
<h2>{$lang->latest_documents}</h2>
|
||||||
|
<ul>
|
||||||
|
<li loop="$latestDocumentList => $key,$value">
|
||||||
|
{@$document = $value->variables}
|
||||||
|
<a href="{getUrl('', 'document_srl', $document['document_srl'])}" target="_blank"><!--@if(trim($value->getTitle()))-->{$value->getTitle()}<!--@else--><strong>{$lang->no_title_document}</strong><!--@end--></a>
|
||||||
|
<span class="side">{$value->getNickName()}</span>
|
||||||
|
<form class="action" method="POST">
|
||||||
|
<input type="hidden" name="module" value="admin" />
|
||||||
|
<input type="hidden" name="act" value="procDocumentManageCheckedDocument" />
|
||||||
|
<input type="hidden" name="cart[]" value="{$document['document_srl']}" />
|
||||||
|
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin')}" />
|
||||||
|
<button type="submit" name="type" value="trash" class="x_icon-trash">{$lang->cmd_trash}</button>
|
||||||
|
<button type="submit" name="type" value="delete" class="x_icon-remove">{$lang->cmd_delete}</button>
|
||||||
|
</form>
|
||||||
|
</li>
|
||||||
|
<li cond="!is_array($latestDocumentList) || count($latestDocumentList) < 1">{$lang->no_data}</li>
|
||||||
|
</ul>
|
||||||
|
<div class="more">
|
||||||
|
<dl>
|
||||||
|
<dt>{$lang->menu_gnb_sub['document']}: </dt><dd><a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList')}">{number_format($status->document->totalCount)} (<!--@if($status->document->todayCount > 0)-->+<!--@end-->{number_format($status->document->todayCount)})</a></dd>
|
||||||
|
</dl>
|
||||||
|
<a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList')}"><i>›</i> {$lang->more}</a>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="reply">
|
||||||
|
<h2>{$lang->latest_comments}</h2>
|
||||||
|
<ul>
|
||||||
|
<li loop="$latestCommentList => $key,$value">
|
||||||
|
<a href="{getUrl('', 'document_srl', $value->document_srl)}#comment_{$value->comment_srl}" target="_blank"><!--@if(trim($value->content))-->{$value->getSummary()}<!--@else--><strong>{$lang->no_text_comment}</strong><!--@end--></a>
|
||||||
|
<span class="side">{$value->getNickName()}</span>
|
||||||
|
<form class="action">
|
||||||
|
<input type="hidden" name="module" value="admin" />
|
||||||
|
<input type="hidden" name="act" value="procCommentAdminDeleteChecked" />
|
||||||
|
<input type="hidden" name="cart[]" value="{$value->comment_srl}" />
|
||||||
|
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin')}" />
|
||||||
|
<button type="submit" name="is_trash" value="true" class="x_icon-trash">{$lang->cmd_trash}</button>
|
||||||
|
<button type="submit" name="is_trash" value="false" class="x_icon-remove">{$lang->cmd_delete}</button>
|
||||||
|
</form>
|
||||||
|
</li>
|
||||||
|
<li cond="!is_array($latestCommentList) || count($latestCommentList) < 1">{$lang->no_data}</li>
|
||||||
|
</ul>
|
||||||
|
<p class="more"><a href="{getUrl('', 'module', 'admin', 'act', 'dispCommentAdminList')}"><i>›</i> {$lang->more}</a></p>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
@ -1421,6 +1421,9 @@ body>.x,
|
||||||
.x .dashboard>div>.status dl a {
|
.x .dashboard>div>.status dl a {
|
||||||
color: #767676;
|
color: #767676;
|
||||||
}
|
}
|
||||||
|
.x .dashboard>div>.member>h2:before {
|
||||||
|
background-position: -168px 0px;
|
||||||
|
}
|
||||||
.x .dashboard>div>.document>h2:before {
|
.x .dashboard>div>.document>h2:before {
|
||||||
background-position: -264px -48px;
|
background-position: -264px -48px;
|
||||||
}
|
}
|
||||||
|
|
@ -1439,6 +1442,32 @@ body>.x,
|
||||||
.x .dashboard>div>section>.more i {
|
.x .dashboard>div>section>.more i {
|
||||||
font: 12px Tahoma, Geneva, sans-serif;
|
font: 12px Tahoma, Geneva, sans-serif;
|
||||||
}
|
}
|
||||||
|
.x .dashboard>div>section>.more dl {
|
||||||
|
color: #767676;
|
||||||
|
display: inline-block;
|
||||||
|
*display: inline;
|
||||||
|
zoom: 1;
|
||||||
|
margin: 0 8px 0 0;
|
||||||
|
padding: 1px 8px 0;
|
||||||
|
font: 11px/1 돋움, Dotum, Arial, Helvetica, sans-serif;
|
||||||
|
background: #fff;
|
||||||
|
box-shadow: 0 0 3px #999 inset;
|
||||||
|
border-radius: 3px;
|
||||||
|
min-width: 60px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.x .dashboard>div>section>.more dt {
|
||||||
|
display: inline;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
.x .dashboard>div>section>.more dd {
|
||||||
|
display: inline;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.x .dashboard>div>section>.more dl a {
|
||||||
|
color: #767676;
|
||||||
|
}
|
||||||
|
|
||||||
.x .dashboard>div>section ul {
|
.x .dashboard>div>section ul {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
|
|
|
||||||
|
|
@ -48,173 +48,13 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="dashboard">
|
<div class="dashboard">
|
||||||
<div>
|
<block cond="$counterAddonActivated">
|
||||||
<section class="status">
|
<include target="./_dashboard_counter.html" />
|
||||||
<h2>{$lang->uv}</h2>
|
</block>
|
||||||
<div style="margin:10px 15px;height:142px" id="visitors"></div>
|
<block cond="!$counterAddonActivated">
|
||||||
<div class="more">
|
<include target="./_dashboard_default.html" />
|
||||||
<dl>
|
</block>
|
||||||
<dt>{$lang->menu_gnb['user']}: </dt><dd><a href="{getUrl('', 'module', 'admin', 'act', 'dispMemberAdminList')}">{number_format($status->member->totalCount)} (<!--@if($status->member->todayCount > 0)-->+<!--@end-->{number_format($status->member->todayCount)})</a></dd>
|
|
||||||
</dl>
|
|
||||||
<a href="{getUrl('', 'module', 'admin', 'act', 'dispCounterAdminIndex')}"><i>›</i> {$lang->details}</a>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<section class="status">
|
|
||||||
<h2>{$lang->pv}</h2>
|
|
||||||
<div style="margin:10px 15px;height:142px" id="page_views"></div>
|
|
||||||
<div class="more">
|
|
||||||
<dl>
|
|
||||||
<dt>{$lang->menu_gnb_sub['document']}: </dt><dd><a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList')}">{number_format($status->document->totalCount)} (<!--@if($status->document->todayCount > 0)-->+<!--@end-->{number_format($status->document->todayCount)})</a></dd>
|
|
||||||
</dl>
|
|
||||||
<a href="{getUrl('', 'module', 'admin', 'act', 'dispCounterAdminIndex')}"><i>›</i> {$lang->details}</a>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<style scoped>.jqplot-table-legend{background:#fff;top:13px!important}</style>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<section class="document">
|
|
||||||
<h2>{$lang->latest_documents}</h2>
|
|
||||||
<ul>
|
|
||||||
<li loop="$latestDocumentList => $key,$value">
|
|
||||||
{@$document = $value->variables}
|
|
||||||
<a href="{getUrl('', 'document_srl', $document['document_srl'])}" target="_blank"><!--@if(trim($value->getTitle()))-->{$value->getTitle()}<!--@else--><strong>{$lang->no_title_document}</strong><!--@end--></a>
|
|
||||||
<span class="side">{$value->getNickName()}</span>
|
|
||||||
<form class="action" method="POST">
|
|
||||||
<input type="hidden" name="module" value="admin" />
|
|
||||||
<input type="hidden" name="act" value="procDocumentManageCheckedDocument" />
|
|
||||||
<input type="hidden" name="cart[]" value="{$document['document_srl']}" />
|
|
||||||
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin')}" />
|
|
||||||
<button type="submit" name="type" value="trash" class="x_icon-trash">{$lang->cmd_trash}</button>
|
|
||||||
<button type="submit" name="type" value="delete" class="x_icon-remove">{$lang->cmd_delete}</button>
|
|
||||||
</form>
|
|
||||||
</li>
|
|
||||||
<li cond="!is_array($latestDocumentList) || count($latestDocumentList) < 1">{$lang->no_data}</li>
|
|
||||||
</ul>
|
|
||||||
<p class="more"><a href="{getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList')}"><i>›</i> {$lang->more}</a></p>
|
|
||||||
</section>
|
|
||||||
<section class="reply">
|
|
||||||
<h2>{$lang->latest_comments}</h2>
|
|
||||||
<ul>
|
|
||||||
<li loop="$latestCommentList => $key,$value">
|
|
||||||
<a href="{getUrl('', 'document_srl', $value->document_srl)}#comment_{$value->comment_srl}" target="_blank"><!--@if(trim($value->content))-->{$value->getSummary()}<!--@else--><strong>{$lang->no_text_comment}</strong><!--@end--></a>
|
|
||||||
<span class="side">{$value->getNickName()}</span>
|
|
||||||
<form class="action">
|
|
||||||
<input type="hidden" name="module" value="admin" />
|
|
||||||
<input type="hidden" name="act" value="procCommentAdminDeleteChecked" />
|
|
||||||
<input type="hidden" name="cart[]" value="{$value->comment_srl}" />
|
|
||||||
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin')}" />
|
|
||||||
<button type="submit" name="is_trash" value="true" class="x_icon-trash">{$lang->cmd_trash}</button>
|
|
||||||
<button type="submit" name="is_trash" value="false" class="x_icon-remove">{$lang->cmd_delete}</button>
|
|
||||||
</form>
|
|
||||||
</li>
|
|
||||||
<li cond="!is_array($latestCommentList) || count($latestCommentList) < 1">{$lang->no_data}</li>
|
|
||||||
</ul>
|
|
||||||
<p class="more"><a href="{getUrl('', 'module', 'admin', 'act', 'dispCommentAdminList')}"><i>›</i> {$lang->more}</a></p>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<include target="./_footer.html" />
|
<include target="./_footer.html" />
|
||||||
<script>
|
|
||||||
xe.lang.this_week = '{$lang->this_week}';
|
|
||||||
xe.lang.last_week = '{$lang->last_week}';
|
|
||||||
xe.lang.next_week = '{$lang->next_week}';
|
|
||||||
xe.lang.mon = '{$lang->mon}';
|
|
||||||
xe.lang.tue = '{$lang->tue}';
|
|
||||||
xe.lang.wed = '{$lang->wed}';
|
|
||||||
xe.lang.thu = '{$lang->thu}';
|
|
||||||
xe.lang.fri = '{$lang->fri}';
|
|
||||||
xe.lang.sat = '{$lang->sat}';
|
|
||||||
xe.lang.sun = '{$lang->sun}';
|
|
||||||
|
|
||||||
jQuery(function($)
|
|
||||||
{
|
|
||||||
// Dashboard portlet UI
|
|
||||||
$('.dashboard>div>section>ul>li')
|
|
||||||
.bind('mouseenter focusin', function(){
|
|
||||||
$(this).addClass('hover').find('>.action').show();
|
|
||||||
})
|
|
||||||
.bind('mouseleave focusout', function()
|
|
||||||
{
|
|
||||||
if(!$(this).find(':focus').length)
|
|
||||||
{
|
|
||||||
$(this).removeClass('hover').find('>.action').hide();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// check browser version
|
|
||||||
if($.browser.msie == true ) {
|
|
||||||
var arrBrowserVersion = $.browser.version.split('.');
|
|
||||||
if(parseInt(arrBrowserVersion[0]) <= 8) {
|
|
||||||
$('#checkBrowserMessage').show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function obj2Array(htObj)
|
|
||||||
{
|
|
||||||
var aRes = [];
|
|
||||||
|
|
||||||
for(var x in htObj)
|
|
||||||
{
|
|
||||||
if(!htObj.hasOwnProperty(x)) continue;
|
|
||||||
aRes.push(htObj[x]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return aRes;
|
|
||||||
}
|
|
||||||
|
|
||||||
jQuery(function ($)
|
|
||||||
{
|
|
||||||
$.exec_json("counter.getWeeklyUniqueVisitor", {}, function(htRes)
|
|
||||||
{
|
|
||||||
var aLastWeek = obj2Array(htRes.last_week.list);
|
|
||||||
var aThisWeek = obj2Array(htRes.this_week.list);
|
|
||||||
|
|
||||||
drawChart("visitors", "Weekly Visitors", aLastWeek, aThisWeek);
|
|
||||||
});
|
|
||||||
|
|
||||||
$.exec_json("counter.getWeeklyPageView", {}, function(htRes)
|
|
||||||
{
|
|
||||||
var aLastWeek = obj2Array(htRes.last_week.list);
|
|
||||||
var aThisWeek = obj2Array(htRes.this_week.list);
|
|
||||||
|
|
||||||
drawChart("page_views", "Weekly Page Views", aLastWeek, aThisWeek);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
function drawChart(sContainerId, sTitle, aLastWeek, aThisWeek)
|
|
||||||
{
|
|
||||||
$ = jQuery;
|
|
||||||
|
|
||||||
var s1 = aLastWeek;
|
|
||||||
var s2 = aThisWeek;
|
|
||||||
// Can specify a custom tick Array.
|
|
||||||
// Ticks should match up one for each y value (category) in the series.
|
|
||||||
var ticks = [xe.lang.sun,xe.lang.mon,xe.lang.tue,xe.lang.wed,xe.lang.thu,xe.lang.fri,xe.lang.sat];
|
|
||||||
|
|
||||||
var plot1 = $.jqplot(sContainerId, [s1, s2], {
|
|
||||||
seriesDefaults:{
|
|
||||||
renderer:$.jqplot.BarRenderer,
|
|
||||||
rendererOptions: {fillToZero: true}
|
|
||||||
},
|
|
||||||
series:[
|
|
||||||
{label: xe.lang.last_week},
|
|
||||||
{label: xe.lang.this_week}
|
|
||||||
],
|
|
||||||
legend:
|
|
||||||
{
|
|
||||||
show: true,
|
|
||||||
placement: 'outsideGrid'
|
|
||||||
},
|
|
||||||
axes: {
|
|
||||||
xaxis: {
|
|
||||||
renderer: $.jqplot.CategoryAxisRenderer, ticks: ticks
|
|
||||||
},
|
|
||||||
yaxis: {
|
|
||||||
min: 0, ticks: 1, pad: 1.05
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue