관리자 초기 페이지 개선
- 사이트 현황 대시 보드 출력 - 모듈 목록을 제거하고 업데이트/ 설치 항목이 있을 때 우측에 표시되도록 수정 - 좌측 메뉴 모양 변경 및 쿠키로 접고/펴기 설정 저장하도록 개선 - 상단 쉬운설치/ 패키지 선택시 좌측 관리자 메뉴 보이지 않도록 수정 git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7639 201d5d3c-b55e-5fd7-737f-ddc643e51545
|
|
@ -15,6 +15,10 @@
|
|||
$installed_modules = $package_modules = array();
|
||||
$package_idx = 0;
|
||||
foreach($installed_module_list as $key => $val) {
|
||||
if($val->category == 'migration') $val->category = 'system';
|
||||
if($val->category == 'interlock') $val->category = 'accessory';
|
||||
if($val->category == 'statistics') $val->category = 'accessory';
|
||||
|
||||
if($val->module == 'admin' || !$val->admin_index_act) continue;
|
||||
// get action information
|
||||
$action_spec = $oModuleModel->getModuleActionXml($val->module);
|
||||
|
|
@ -146,6 +150,102 @@
|
|||
$addon_list = $oAddonModel->getAddonList();
|
||||
Context::set('addon_list', $addon_list);
|
||||
|
||||
// 방문자수
|
||||
$oCounterModel = &getModel('counter');
|
||||
$time = time();
|
||||
$w = date("D");
|
||||
while(date("D",$time) != "Sun") {
|
||||
$time += 60*60*24;
|
||||
}
|
||||
$time -= 60*60*24;
|
||||
while(date("D",$time)!="Sun") {
|
||||
$thisWeek[] = date("Ymd",$time);
|
||||
$time -= 60*60*24;
|
||||
}
|
||||
$thisWeek[] = date("Ymd",$time);
|
||||
asort($thisWeek);
|
||||
$thisWeekCounter = $oCounterModel->getStatus($thisWeek);
|
||||
|
||||
$time -= 60*60*24;
|
||||
while(date("D",$time)!="Sun") {
|
||||
$lastWeek[] = date("Ymd",$time);
|
||||
$time -= 60*60*24;
|
||||
}
|
||||
$lastWeek[] = date("Ymd",$time);
|
||||
asort($lastWeek);
|
||||
$lastWeekCounter = $oCounterModel->getStatus($lastWeek);
|
||||
|
||||
$max = 0;
|
||||
foreach($thisWeek as $day) {
|
||||
$v = (int)$thisWeekCounter[$day]->unique_visitor;
|
||||
if($v && $v>$max) $max = $v;
|
||||
$status->week[date("D",strtotime($day))]->this = $v;
|
||||
}
|
||||
foreach($lastWeek as $day) {
|
||||
$v = (int)$lastWeekCounter[$day]->unique_visitor;
|
||||
if($v && $v>$max) $max = $v;
|
||||
$status->week[date("D",strtotime($day))]->last = $v;
|
||||
}
|
||||
$status->week_max = $max;
|
||||
$idx = 0;
|
||||
foreach($status->week as $key => $val) {
|
||||
$_item[] = sprintf("<item id=\"%d\" name=\"%s\" />", $idx, $thisWeek[$idx]);
|
||||
$_thisWeek[] = $val->this;
|
||||
$_lastWeek[] = $val->last;
|
||||
$idx++;
|
||||
}
|
||||
|
||||
$buff = '<?xml version="1.0" encoding="utf-8" ?><Graph><gdata title="Textyle Counter" id="data2"><fact>'.implode('',$_item).'</fact><subFact>';
|
||||
$buff .= '<item id="0"><data name="'.Context::getLang('this_week').'">'.implode('|',$_thisWeek).'</data></item>';
|
||||
$buff .= '<item id="1"><data name="'.Context::getLang('last_week').'">'.implode('|',$_lastWeek).'</data></item>';
|
||||
$buff .= '</subFact></gdata></Graph>';
|
||||
Context::set('xml', $buff);
|
||||
|
||||
// 각종 통계 정보를 구함
|
||||
$counter = $oCounterModel->getStatus(array(0,date("Ymd")),$this->site_srl);
|
||||
$status->total_visitor = $counter[0]->unique_visitor;
|
||||
$status->visitor = $counter[date("Ymd")]->unique_visitor;
|
||||
|
||||
// 오늘의 댓글 수
|
||||
$args->regdate = date("Ymd");
|
||||
$output = executeQuery('admin.getTodayCommentCount', $args);
|
||||
$status->comment_count = $output->data->count;
|
||||
|
||||
// 오늘의 엮인글 수
|
||||
$args->regdate = date("Ymd");
|
||||
$output = executeQuery('admin.getTodayTrackbackCount', $args);
|
||||
$status->trackback_count = $output->data->count;
|
||||
|
||||
Context::set('status', $status);
|
||||
|
||||
// 최근글 추출
|
||||
$oDocumentModel = &getModel('document');
|
||||
$doc_args->sort_index = 'list_order';
|
||||
$doc_args->order_type = 'asc';
|
||||
$doc_args->list_count = 3;
|
||||
$output = $oDocumentModel->getDocumentList($doc_args, false, false);
|
||||
Context::set('newest_documents', $output->data);
|
||||
|
||||
// 최근 댓글 추출
|
||||
$oCommentModel = &getModel('comment');
|
||||
$com_args->sort_index = 'list_order';
|
||||
$com_args->order_type = 'asc';
|
||||
$com_args->list_count = 5;
|
||||
$output = $oCommentModel->getTotalCommentList($com_args);
|
||||
Context::set('newest_comments', $output->data);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Get statistics
|
||||
$args->date = date("Ymd000000", time()-60*60*24);
|
||||
$today = date("Ymd");
|
||||
|
|
|
|||
12
modules/admin/queries/getTodayCommentCount.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<query id="getTodayCommentCount" action="select">
|
||||
<tables>
|
||||
<table name="comments" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="count(*)" alias="count" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="like_prefix" column="regdate" var="regdate" notnull="notnull" pipe="and" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
||||
12
modules/admin/queries/getTodayTrackbackCount.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<query id="getTodayTrackbackCount" action="select">
|
||||
<tables>
|
||||
<table name="trackbacks" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="count(*)" alias="count" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="like_prefix" column="regdate" var="regdate" notnull="notnull" pipe="and" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<!--%import("css/layout.css")-->
|
||||
<!--%import("js/admin.js")-->
|
||||
<div id="xeAdmin" class="<!--@if(!$act || ($act == 'dispAdminIndex' || $act == 'dispAdminConfig'))-->ece<!--@else-->ec<!--@end-->">
|
||||
<div id="xeAdmin" class="<!--@if($package_selected || strstr($act,'Autoinstall'))-->c<!--@elseif(!$act || ($act == 'dispAdminIndex' || $act == 'dispAdminConfig'))-->ece<!--@else-->ec<!--@end-->">
|
||||
<div class="header">
|
||||
<h1 class="xeAdmin"><a href="{getUrl('','module','admin')}">XpressEngine</a></h1>
|
||||
<ul class="gnb">
|
||||
|
|
@ -27,13 +27,23 @@
|
|||
<div class="body">
|
||||
<div class="extension e1">
|
||||
<div class="section">
|
||||
|
||||
<div id="search_nav">
|
||||
<input type="text" size="12" />
|
||||
<button type="button"></button>
|
||||
</div>
|
||||
|
||||
<ul class="navigation">
|
||||
{@$_c = explode(',',$_COOKIE['XEAM'])}
|
||||
<!--@foreach($lang->module_category_title as $key => $val)-->
|
||||
<li id="module_{$key}" class="<!--@if($selected_module_category == $key)-->open<!--@end-->"><a href="#" onclick="toggleModuleMenu('{$key}'); return false;">{$val}</a>
|
||||
<!--@if($key != 'migration' && $key != 'interlock' && $key != 'statistics')-->
|
||||
|
||||
<!--@if(in_array($key,$_c)&&$key!=$selected_module_category)-->
|
||||
{@$_cs = true;}
|
||||
<!--@else-->
|
||||
{@$_cs = false;}
|
||||
<!--@end-->
|
||||
<li id="module_{$key}" class="parent <!--@if($_cs)-->close<!--@end--> <!--@if($key==$selected_module_category)-->active<!--@end-->"><a href="#" onclick="toggleModuleMenu('{$key}'); return false;" class="parent">{$val}</a>
|
||||
<ul>
|
||||
<!--@foreach($installed_modules as $k => $v)-->
|
||||
<!--@if($v->category == $key)-->
|
||||
|
|
@ -43,6 +53,7 @@
|
|||
</ul>
|
||||
</li>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -19,12 +19,6 @@
|
|||
</script>
|
||||
|
||||
<div class="content">
|
||||
<!--@if($logged_info->is_admin == 'Y')-->
|
||||
<p class="path">
|
||||
<a href="{getUrl('','module','admin')}">{$lang->control_panel}</a>
|
||||
> <a href="{getUrl('','mid',$mid,'module',$module,'act',$act)}">{$lang->env_setup}</a>
|
||||
</p>
|
||||
<!--@end-->
|
||||
|
||||
<h4 class="xeAdmin">{$lang->cmd_setup}</h4>
|
||||
|
||||
|
|
|
|||
|
|
@ -50,22 +50,31 @@
|
|||
|
||||
.colTable td.wide, .rowTable td.wide, .crossTable td.wide { width:100%;}
|
||||
|
||||
.e1 .navigation { list-style:none; position:relative; *zoom:1; margin:0; padding:0;}
|
||||
.e1 .navigation { list-style:none; position:relative; *zoom:1; margin:0; padding:0; border-bottom:1px solid #c2c2c2;}
|
||||
.e1 .navigation ul { list-style:none; position:relative; *zoom:1; margin:0; padding:0;}
|
||||
.e1 .navigation li{ list-style:none; position:relative; *zoom:1; margin:0; padding:0;}
|
||||
.e1 .navigation li a{ display:block; position:relative; padding:4px 0 4px 24px; background-image:url(../img/iconNavigation.gif); background-repeat:no-repeat;}
|
||||
.e1 .navigation li.open a{ background-position:0 -24px; background-color:#eee; border-top:1px solid #ddd; border-bottom:1px solid #ddd;}
|
||||
.e1 .navigation li.open ul li a{ background-color:#fff; border:0;}
|
||||
.e1 .navigation li ul{ display:none; margin:10px 0 20px 24px;}
|
||||
.e1 .navigation li.open ul{ display:block;}
|
||||
.e1 .navigation li ul li a{ padding:2px 0 2px 5px; background-image:none;}
|
||||
.e1 .navigation li a:hover,
|
||||
.e1 .navigation li a:active,
|
||||
.e1 .navigation li a:focus { background-color:#eee !important;}
|
||||
.e1 .navigation li { list-style:none; position:relative; *zoom:1; margin:0; padding:0; background-color:#f7f7f7; }
|
||||
.e1 .navigation li a.parent { border-top:1px solid #c2c2c2; display:block; padding:10px 20px 10px 35px ;background-image:url(../img/iconNavigation.gif); background-repeat:no-repeat; background-position:160px -35px; font-weight:bold; color:#888; text-decoration:none;}
|
||||
.e1 .navigation li.close a.parent { background-position:160px 13px; border-bottom:none; }
|
||||
|
||||
#module_service { background-image:url(../img/mIcon.gif); background-repeat:no-repeat; background-position:10px 10px;}
|
||||
#module_member { background-image:url(../img/mIcon.gif); background-repeat:no-repeat; background-position:10px -40px;}
|
||||
#module_content { background-image:url(../img/mIcon.gif); background-repeat:no-repeat; background-position:10px -90px;}
|
||||
#module_construction { background-image:url(../img/mIcon.gif); background-repeat:no-repeat; background-position:10px -140px;}
|
||||
#module_utility { background-image:url(../img/mIcon.gif); background-repeat:no-repeat; background-position:10px -190px;}
|
||||
#module_accessory { background-image:url(../img/mIcon.gif); background-repeat:no-repeat; background-position:10px -240px;}
|
||||
#module_system { background-image:url(../img/mIcon.gif); background-repeat:no-repeat; background-position:10px -290px;}
|
||||
|
||||
.e1 .navigation li ul{ border-top:1px solid #d2d2d2; margin:0; padding:5px 0; background-color:#fff;}
|
||||
.e1 .navigation li ul li { margin:5px 0; padding:0 10px 0 35px; background-color:#fff;}
|
||||
.e1 .navigation li.close ul{ display:none;}
|
||||
.e1 .navigation li ul li a { text-decoration:none; }
|
||||
.e1 .navigation li ul li a:hover { font-weight:bold; text-decoration:none; letter-spacing:-1px;}
|
||||
.e1 .navigation li ul li.active a { color:#ea3f22; letter-spacing:-1px;}
|
||||
|
||||
.e2 .section{ margin-left:20px;}
|
||||
.e2 .section h3.xeAdmin { margin:0 0 10px 0; padding:0 0 0 25px; }
|
||||
.e2 .section h3.xeAdmin .date{ padding-left:10px; background:url(../img/lineVrText.gif) no-repeat left center;}
|
||||
.e2 .section h4.xeAdmin { margin:10px 0 0 0; padding:0 0 0 25px; }
|
||||
.e2 .section .date{ background:url(../img/lineVrText.gif) no-repeat left center; font-size:9px; padding-left:5px;}
|
||||
.e2 .section .contentBox { padding:10px 0; margin:0 0 20px 0; border-bottom:1px solid #ccc;}
|
||||
|
||||
.e2 table th{ white-space:nowrap;}
|
||||
.e2 table tbody td{ text-align:left; word-break:break-all; -ms-word-break:break-all; }
|
||||
|
|
@ -200,8 +209,8 @@
|
|||
.adminRightExtra { float:left; width:38%; }
|
||||
.serverresponse { background: #FFFFFF url(../../../../common/tpl/images/loading.gif) no-repeat scroll 5px 5px; height:30px; padding-left:25px; padding-top:5px; }
|
||||
|
||||
#search_nav { border:3px solid #ccc; margin:0 0 5px 0;}
|
||||
#search_nav input { border:0; height:17px; width:128px; padding:3px 0 0 4px; vertical-align:middle;}
|
||||
#search_nav { border:3px solid #ccc; margin:0; padding:3px; }
|
||||
#search_nav input { border:0; height:17px; width:140px; padding:3px 0 0 4px; vertical-align:middle;}
|
||||
#search_nav button { padding:0; border:0; height:17px; width:17px; background:transparent url(../img/buttonSearch.gif) no-repeat center; vertical-align:middle;}
|
||||
#search_nav button.close {background:transparent url(../img/buttonClose.gif) no-repeat center;}
|
||||
.e1 .section ._result{ list-style:none; margin:10px 0 0 0; padding:0;}
|
||||
|
|
|
|||
119
modules/admin/tpl/css/dashboard.css
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
/* Dashboard Header */
|
||||
.dashboardHeader{ position:relative; padding:29px 0 23px 0; border-bottom:2px solid #cbd4df; background:url(../img/iconH3dashboard.gif) no-repeat left center;}
|
||||
.dashboardHeader .h3{ font-size:18px; text-indent:50px; margin:0;}
|
||||
|
||||
/* Dashboard Notice */
|
||||
.dashboardNotice{ padding:10px 0 0 0;}
|
||||
.dashboardNotice .h4{ margin:0 0 12px 0; color:#ea3f22; font-size:11px;}
|
||||
.dashboardNotice button{ position:absolute; top:10px; right:0; font-size:11px; color:#8b8b8b; padding:0 0 0 10px; text-align:right; border:0; background-color:transparent; background-image:url(../img/iconDashboardNoticeOpen.gif); background-repeat:no-repeat; background-position:left -25px; cursor:pointer; *zoom:1; overflow:visible;}
|
||||
.dashboardNotice.open button{ background-position:left 5px;}
|
||||
.dashboardNotice ul{ height:0; margin:0; padding:0; list-style:none; font-size:12px; line-height:1;}
|
||||
.dashboardNotice.open ul{ height:auto; padding:10px 0 5px 9px; border-top:1px solid #ededed;}
|
||||
.dashboardNotice li{ display:none; margin:0 0 7px 0; padding:0 0 0 13px; background:url(../img/iconDashboardSummary.gif) no-repeat left center;}
|
||||
.dashboardNotice li.first{ position:absolute; top:11px; left:90px; display:block; background:none; padding:0; margin:0;}
|
||||
.dashboardNotice li.first .date{ display:none;}
|
||||
.dashboardNotice.open li{ display:block;}
|
||||
.dashboardNotice.open li.first{ position:static; margin:0 0 7px 0; padding:0 0 0 13px; background:url(../img/iconDashboardSummary.gif) no-repeat left center;}
|
||||
.dashboardNotice li a{ text-decoration:none; color:#555; margin-right:15px;}
|
||||
.dashboardNotice li a:hover,
|
||||
.dashboardNotice li a:active,
|
||||
.dashboardNotice li a:focus{ text-decoration:underline;}
|
||||
.dashboardNotice li .date{ color:#8b8b8b; font-size:11px;}
|
||||
.dashboardNotice.open li.first .date{ display:inline;}
|
||||
|
||||
/* Dashboard Statistic */
|
||||
.dashboardStatistic{ position:relative; width:100%; height:183px; _height:189px; *zoom:1; margin-bottom:30px;}
|
||||
.dashboardStatistic .statistic{ position:relative; height:138px; padding:20px 20px 25px 20px; background:url(../img/bgDashboardStatistic.gif) repeat-x left top; font-size:12px; line-height:1;}
|
||||
.dashboardStatistic .statistic:after{ content:""; display:block; clear:both;}
|
||||
.dashboardStatistic .outline{position:absolute; overflow:hidden; font-size:0; line-height:0; background-image:url(../img/bgDashboardStatistic.gif);}
|
||||
.dashboardStatistic .outline.ml{ top:0; left:-2px; width:4px; height:100%; background-position:left -300px; background-repeat:no-repeat;}
|
||||
.dashboardStatistic .outline.mr{ top:0; right:-2px; width:4px; height:100%; background-position:right -300px; background-repeat:no-repeat;}
|
||||
.dashboardStatistic .outline.tc{ top:0; left:0; width:100%; height:3px; background-position:left -600px; background-repeat:repeat-x;}
|
||||
.dashboardStatistic .outline.bc{ bottom:0; left:0; width:100%; height:5px; background-position:left bottom; background-repeat:repeat-x;}
|
||||
.dashboardStatistic .outline.tl{ top:0; left:-2px; width:4px; height:3px; background-position:left -603px; background-repeat:no-repeat;}
|
||||
.dashboardStatistic .outline.tr{ top:0; right:-2px; width:4px; height:3px; background-position:right -603px; background-repeat:no-repeat;}
|
||||
.dashboardStatistic .outline.bl{ bottom:0; left:-2px; width:4px; height:5px; background-position:left -606px; background-repeat:no-repeat;}
|
||||
.dashboardStatistic .outline.br{ bottom:0; right:-2px; width:4px; height:5px; background-position:right -606px; background-repeat:no-repeat;}
|
||||
|
||||
.dashboardStatistic .statistic h4{ font-size:12px; height:22px; width:67%; margin:0 0 10px 0; background:url(../img/bgDashboardStatisticHeader.gif) repeat-x 0 -22px; text-align:center;}
|
||||
.dashboardStatistic .statistic h4 span{ display:block; height:18px; padding-top:4px; margin:0 1px; color:#747482; background:url(../img/bgDashboardStatisticHeader.gif) repeat-x;}
|
||||
.dashboardStatistic .statistic h4 em{ font-style:normal; font-size:9px; color:#b7b7c4; margin-left:5px;}
|
||||
|
||||
.dashboardStatistic dl{ position:relative; float:left; height:100px; width:23%; margin:0; background:url(../img/vrDashboardStatistic.gif) no-repeat left center;}
|
||||
.dashboardStatistic dt { position:absolute; width:0; height:0; overflow:hidden; font-size:0; line-height:0; visibility:hidden;}
|
||||
.dashboardStatistic dd { position:absolute; margin:0; padding-top:40px; width:100%; text-align:center; background-image:url(../img/iconDashboardStatistic.gif); background-repeat:no-repeat; font-size:56px; font-weight:bold;}
|
||||
.dashboardStatistic dd object,
|
||||
.dashboardStatistic dd embed{ vertical-align:top;}
|
||||
.dashboardStatistic dl.visit{ background:none;}
|
||||
.dashboardStatistic dl.visit dd{ background-position:center 5px; color:#e3391d ;}
|
||||
.dashboardStatistic dl.reply dd{ background-position:center -195px; color:#28313d;}
|
||||
.dashboardStatistic dl.trackback dd{ background-position:center -395px; color:#4e4f54;}
|
||||
|
||||
.dashboardStatistic .summary{ float:right; width:31%; margin-top:-27px;}
|
||||
.dashboardStatistic .summary caption{ position:relative; padding-bottom:20px; text-align:left; font-size:12px; line-height:1; font-weight:bold; color:#626972;}
|
||||
.dashboardStatistic .summary table,
|
||||
.dashboardStatistic .summary th,
|
||||
.dashboardStatistic .summary td{ border-spacing:0; border:0; font-weight:normal; text-align:left;}
|
||||
.dashboardStatistic .summary table{ width:100%; border-bottom:1px solid #e3e6e6;}
|
||||
.dashboardStatistic .summary th,
|
||||
.dashboardStatistic .summary td{ padding-top:6px; padding-bottom:6px; border-top:1px solid #e3e6e6; vertical-align:top;}
|
||||
.dashboardStatistic .summary th{ padding-left:18px; padding-right:12px; white-space:nowrap; color:#8b8b8b; background:url(../img/iconDashboardSummary.gif) no-repeat 2px 9px;}
|
||||
.dashboardStatistic .summary td{ color:#555;}
|
||||
.dashboardStatistic .summary td strong{ font-size:11px; color:#ea3f22;}
|
||||
.dashboardStatistic .summary td .description{ color:#8b8b8b;}
|
||||
.dashboardStatistic .summary td .description strong{ color:#8b8b8b;}
|
||||
|
||||
/* Dashboard Wire */
|
||||
.dashboardH4{ margin:0 0 7px 0; font-size:14px; color:#555;}
|
||||
.dashboardH4 em{ font-size:11px; color:#b1b1b1; font-style:normal; margin-left:5px;}
|
||||
.dashboardMoreTop{ position:absolute; top:4px; right:0; padding-left:7px; font-size:11px; display:block; white-space:nowrap; color:#8a919a; text-decoration:none; background:url(../img/iconMoreTop.gif) no-repeat left center;}
|
||||
|
||||
.dashboardWire{ position:relative; margin-bottom:40px; border-top:2px solid #cbd4df; border-left:1px solid #e3e5e7; border-right:1px solid #e3e5e7; border-bottom:1px solid #f1f1f1; background:#fff; *border-bottom:1px solid #d0d1d2; *zoom:1; *filter:progid:DXImageTransform.Microsoft.dropshadow(OffX='0', OffY='1', Color='#f1f1f1', positive='true');}
|
||||
.dashboardWire:after{ content:""; display:block; height:1px; background:#d0d1d2; overflow:hidden;}
|
||||
.dashboardWire .buttonArea{ padding:8px 14px; background:#fafafa; border-top:1px solid #e3e5e7; text-align:right; position:relative;}
|
||||
.dashboardWire ul{ position:relative; list-style:none; margin:0; padding:0; font-size:12px; overflow:hidden;}
|
||||
.dashboardWire li{ position:relative; top:-1px; border-top:1px solid #e3e5e7;}
|
||||
|
||||
.dashboardWire blockquote{ margin:0;}
|
||||
.dashboardWire .noData{ color:#767676; padding:0 2em;}
|
||||
|
||||
.dashboardWire .legend{ position:absolute; top:15px; left:20px; margin:0; white-space:nowrap; font-size:12px;}
|
||||
.dashboardWire .legend *{ display:inline;}
|
||||
.dashboardWire .legend dt img{ border:1px solid;}
|
||||
.dashboardWire .legend dt.past img{ border-color:#c3d1db;}
|
||||
.dashboardWire .legend dt.today img{ border-color:#dc3835;}
|
||||
.dashboardWire .legend dd{ font-size:11px; color:#b1b1b1; margin:0 5px 0 0;}
|
||||
|
||||
.dashboardWire .summary{ position:absolute; top:15px; right:20px; margin:0; white-space:nowrap; font-size:12px;}
|
||||
.dashboardWire .summary *{ display:inline;}
|
||||
.dashboardWire .summary dt{ margin-left:10px; color:#555;}
|
||||
.dashboardWire .summary dd{ margin:0; font-size:11px; font-weight:bold; color:#ea3f22;}
|
||||
|
||||
.dashboardWire .graph{ position:relative; height:131px; padding-top:63px; margin:0 20px 26px 20px; background:url(../img/bgDashboardGraph.gif) repeat-x 0 63px;}
|
||||
.dashboardWire .graph:after{ content:""; display:block; clear:both;}
|
||||
.dashboardWire .graph dl{ position:relative; float:left; width:10%; height:100%; margin:0 2%; *margin:0 1.8%; _margin:0 2% 0 1.1%;}
|
||||
.dashboardWire .graph dl dt{ position:absolute; width:100%; text-align:center; font-size:9px; bottom:-16px; color:#707070;}
|
||||
.dashboardWire .graph dl dd{ position:absolute; bottom:6px; width:30%; margin:0; border:1px solid; font-size:0; line-height:0; overflow:hidden;}
|
||||
.dashboardWire .graph dl dd.past{ left:0; border-color:#c3d1db; background:#d0dde5;}
|
||||
.dashboardWire .graph dl dd.today{ right:0; border-color:#dc3835; background:#fe5656;}
|
||||
.dashboardWire .graph dl dd span{ position:relative; width:0; height:0; font-size:0; line-height:0; overflow:hidden; z-index:-1; visibility:hidden;}
|
||||
.dashboardWire .graph object,
|
||||
.dashboardWire .graph embed{ margin-top:-20px;}
|
||||
|
||||
.dashboardWire a{ text-decoration:none; color:#648AB9;}
|
||||
.dashboardWire a:hover,
|
||||
.dashboardWire a:active,
|
||||
.dashboardWire a:focus{ text-decoration:underline;}
|
||||
|
||||
.section table,
|
||||
.section th,
|
||||
.section td{ border-spacing:0; border:0; font-weight:normal; text-align:left;}
|
||||
.section table{ width:100%; border-bottom:1px solid #e3e6e6;}
|
||||
.section th,
|
||||
.section td{ padding-top:6px; padding-bottom:6px; border-top:1px solid #e3e6e6; vertical-align:top;}
|
||||
.section th{ padding-left:18px; padding-right:12px; white-space:nowrap; color:#8b8b8b; background:url(../img/iconDashboardSummary.gif) no-repeat 2px 9px;}
|
||||
.section td{ color:#555;}
|
||||
.section td strong{ font-size:11px; color:#ea3f22;}
|
||||
.section td .description{ color:#8b8b8b;}
|
||||
.section td .description strong{ color:#8b8b8b;}
|
||||
.section thead th{ background:none; font-weight:bold; padding:6px 5px 6px 0; }
|
||||
|
|
@ -9,13 +9,16 @@
|
|||
#xeAdmin .gnb #adminLang { position:absolute; top:18px; right:0; display:none; background:#fff; margin:0; padding:5px; border:1px solid #ddd; z-index:999;}
|
||||
#xeAdmin .gnb #adminLang li{ float:none; margin:0;}
|
||||
|
||||
.body{ position:relative; margin:0; padding:20px 0 20px 200px; background:url(../img/lineBody.gif) repeat-y 180px 0; *zoom:1;}
|
||||
.body{ position:relative; margin:0; padding:0 20px 0 200px; background:url(../img/lineBody.gif) repeat-y 180px 0; *zoom:1;}
|
||||
.body:after {content:""; display:block; clear:both;}
|
||||
.c .body { padding:20px; background:none; }
|
||||
.ece .body {padding-right:340px;}
|
||||
.ec .body {padding-right:20px;}
|
||||
.extension{ position:relative;}
|
||||
.body .e1 { float:left; width:160px; margin-right:-160px; left:-190px;}
|
||||
.content { position:relative; width:100%; margin-right:-100%; float:left;}
|
||||
.body .e1 { float:left; width:180px; margin-right:-180px; left:-200px;}
|
||||
.content { position:relative; width:100%; margin-right:-100%; float:left; padding:0;}
|
||||
.ec .content { padding-top:10px; }
|
||||
.c .e1, .c .e2 { display:none; }
|
||||
.ece .e2 { width:300px; float:right; right:-320px; border-left:1px solid #ddd; padding-bottom:20px;}
|
||||
.ec .e2 { display:none;}
|
||||
|
||||
|
|
|
|||
BIN
modules/admin/tpl/img/bgDashboardGraph.gif
Normal file
|
After Width: | Height: | Size: 64 B |
BIN
modules/admin/tpl/img/bgDashboardStatistic.gif
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
modules/admin/tpl/img/bgDashboardStatisticHeader.gif
Normal file
|
After Width: | Height: | Size: 156 B |
BIN
modules/admin/tpl/img/iconDashboardNoticeOpen.gif
Normal file
|
After Width: | Height: | Size: 64 B |
BIN
modules/admin/tpl/img/iconDashboardStatistic.gif
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
modules/admin/tpl/img/iconDashboardSummary.gif
Normal file
|
After Width: | Height: | Size: 113 B |
BIN
modules/admin/tpl/img/iconH3dashboard.gif
Normal file
|
After Width: | Height: | Size: 869 B |
|
Before Width: | Height: | Size: 86 B After Width: | Height: | Size: 89 B |
BIN
modules/admin/tpl/img/mIcon.gif
Normal file
|
After Width: | Height: | Size: 2 KiB |
BIN
modules/admin/tpl/img/vrDashboardStatistic.gif
Normal file
|
After Width: | Height: | Size: 364 B |
|
|
@ -1,5 +1,6 @@
|
|||
<!--#include("_header.html")-->
|
||||
|
||||
<!--%import("./css/dashboard.css")-->
|
||||
<!--%import("../../install/lang")-->
|
||||
<!--%import("../../module/tpl/js/module_admin.js")-->
|
||||
<!--%import("../../session/tpl/js/session.js")-->
|
||||
|
|
@ -7,182 +8,160 @@
|
|||
<!--%import("../../addon/tpl/filter/toggle_activate_addon.xml")-->
|
||||
|
||||
<div class="content">
|
||||
<!--@if($logged_info->is_admin == 'Y')-->
|
||||
<p class="path">
|
||||
<a href="{getUrl('','module','admin')}">{$lang->control_panel}</a>
|
||||
> <a href="{getUrl('','mid',$mid,'module',$module,'act',$act)}">{$lang->admin_index}</a>
|
||||
</p>
|
||||
<!--@end-->
|
||||
<!-- Dashboard Header -->
|
||||
<div class="dashboardHeader">
|
||||
<h3 class="h3">{$lang->admin_index}</h3>
|
||||
</div>
|
||||
<!-- /Dashboard Header -->
|
||||
|
||||
<ul class="localNavigation">
|
||||
<li class="on" id="moduleOn"><a href="#" onclick="toggleModuleAddon('module');return false;">{$lang->module}</a></li>
|
||||
<li id="addonOn"><a href="#" onclick="toggleModuleAddon('addon');return false;">{$lang->addon}</a></li>
|
||||
</ul>
|
||||
<!-- Dashboard Statistic -->
|
||||
<div class="section dashboardStatistic">
|
||||
<div class="statistic">
|
||||
<h4><span>TODAY <em>{date('Y.m.d')}</em></span></h4>
|
||||
<dl class="visit">
|
||||
<dt>{$lang->today_visitor}</dt>
|
||||
|
||||
<div id="xeModules">
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><div>{$lang->module_name}</div></th>
|
||||
<th><div>{$lang->version}</div></th>
|
||||
<th><div>{$lang->author}</div></th>
|
||||
<th><div>{$lang->table_count}</div></th>
|
||||
<th><div>{$lang->module_action}</div></th>
|
||||
<th><div> </div></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($module_list as $key => $val)-->
|
||||
<!--@if($val->need_install || $val->need_update)-->
|
||||
<tr>
|
||||
<td><a href="{getUrl('','module','admin','act',$val->admin_index_act)}" title="{trim(htmlspecialchars($val->description))}">{$val->title}</a> ({$val->module})</td>
|
||||
<td>{$val->version}</td>
|
||||
<td>
|
||||
<!--@foreach($val->author as $author)-->
|
||||
<!--@if($author->homepage)--><a href="{$author->homepage}" onclick="window.open(this.href);return false;"><!--@end-->{$author->name}<!--@if($author->homepage)--></a><!--@end-->
|
||||
<!--@endforeach-->
|
||||
</td>
|
||||
<td <!--@if($val->created_table_count != $val->table_count)-->class="alert"<!--@end-->>
|
||||
{$val->created_table_count}/{$val->table_count}
|
||||
</td>
|
||||
<td class="alert">
|
||||
<!--@if($val->need_install)-->
|
||||
<a href="#" onclick="doInstallModule('{$val->module}');return false;" title="{htmlspecialchars($lang->cmd_install)}">{$lang->cmd_install}</a>
|
||||
<!--@elseif($val->need_update)-->
|
||||
<a href="#" onclick="doUpdateModule('{$val->module}'); return false;" title="{htmlspecialchars($lang->cmd_update)}">{$lang->cmd_update}</a>
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td><a href="{getUrl('','module','module','act','dispModuleAdminInfo','selected_module',$val->module)}" onclick="popopen(this.href,'module_info');return false" title="{htmlspecialchars($lang->module_info)}" class="buttonSet buttonInfo"><span>{$lang->module_info}</span></a></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<dd>
|
||||
<object title="visitor" height="50" width="260" align="middle" id="count_red" class="F1239845427590201480_undefined" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">
|
||||
<param value="{getUrl()}modules/admin/tpl/swf/count.swf" name="movie"/>
|
||||
<param value="high" name="quality"/>
|
||||
<param value="#FFFFFF" name="bgColor"/>
|
||||
<param value="always" name="allowScriptAccess"/>
|
||||
<param value="transparent" name="wmode"/>
|
||||
<param value="false" name="menu"/>
|
||||
<param value="true" name="allowFullScreen"/>
|
||||
<param value="colorType=red&viewNum={$status->visitor}" name="flashVars"/>
|
||||
<!--[if !IE]> <-->
|
||||
<object title="{$status->visitor}" height="50" width="260" align="middle" name="count_red" class="F1239845427590201480_undefined" data="{getUrl()}modules/admin/tpl/swf/count.swf" type="application/x-shockwave-flash">
|
||||
<param value="colorType=red&viewNum={$status->visitor}" name="flashVars"/>
|
||||
<param value="transparent" name="wmode"/>
|
||||
{$status->visitor}
|
||||
</object>
|
||||
<!--> <![endif]-->
|
||||
</object>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="reply">
|
||||
<dt>{$lang->today_comments}</dt>
|
||||
<dd>
|
||||
<object title="{$status->comment_count}" height="50" width="260" align="middle" id="count_blue" class="F1239845427590201480_undefined" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">
|
||||
<param value="{getUrl()}modules/admin/tpl/swf/count.swf" name="movie"/>
|
||||
<param value="high" name="quality"/>
|
||||
<param value="#FFFFFF" name="bgColor"/>
|
||||
<param value="always" name="allowScriptAccess"/>
|
||||
<param value="transparent" name="wmode"/>
|
||||
<param value="false" name="menu"/>
|
||||
<param value="true" name="allowFullScreen"/>
|
||||
<param value="colorType=blue&viewNum={$status->comment_count}" name="flashVars"/>
|
||||
<!--[if !IE]> <-->
|
||||
<object title="{$status->comment_count}" height="50" width="260" align="middle" name="count_blue" class="F1239845427590201480_undefined" data="{getUrl()}modules/admin/tpl/swf/count.swf" type="application/x-shockwave-flash">
|
||||
<param value="colorType=blue&viewNum={$status->comment_count}" name="flashVars"/>
|
||||
<param value="transparent" name="wmode"/>
|
||||
{$status->comment->today}
|
||||
</object>
|
||||
<!--> <![endif]-->
|
||||
</object>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="trackback">
|
||||
<dt>{$lang->today_trackbacks}</dt>
|
||||
<dd>
|
||||
<object title="{$status->trackback_count}" height="50" width="260" align="middle" id="count_gray" class="F1239845427590201480_undefined" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">
|
||||
<param value="{getUrl()}modules/admin/tpl/swf/count.swf" name="movie"/>
|
||||
<param value="high" name="quality"/>
|
||||
<param value="#FFFFFF" name="bgColor"/>
|
||||
<param value="always" name="allowScriptAccess"/>
|
||||
<param value="transparent" name="wmode"/>
|
||||
<param value="false" name="menu"/>
|
||||
<param value="true" name="allowFullScreen"/>
|
||||
<param value="colorType=gray&viewNum={$status->trackback_count}" name="flashVars"/>
|
||||
<!--[if !IE]> <-->
|
||||
<object title="{$status->trackback_count}" height="50" width="260" align="middle" name="count_gray" class="F1239845427590201480_undefined" data="{getUrl()}modules/admin/tpl/swf/count.swf" type="application/x-shockwave-flash">
|
||||
<param value="colorType=gray&viewNum={$status->trackback_count}" name="flashVars"/>
|
||||
<param value="transparent" name="wmode"/>
|
||||
{$status->trackback->today}
|
||||
</object>
|
||||
<!--> <![endif]-->
|
||||
</object>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="summary">
|
||||
<table border="1" cellspacing="0">
|
||||
<tr>
|
||||
<th scope="row"><a href="{getUrl('','module','admin','act','dispMemberAdminList')}">{$lang->member}</a></th>
|
||||
<td><strong>{number_format($status->member->total)}</strong> <span class="description">(+<a href="{getUrl('','module','admin','act','dispMemberAdminList','search_target','regdate','search_keyword',date("Ymd"))}"><strong>{number_format($status->member->today)}</strong></a>)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><a href="{getUrl('','module','admin','act','dispDocumentAdminList')}">{$lang->document}</a></th>
|
||||
<td><strong>{number_format($status->document->total)}</strong> <span class="description">(+<a href="{getUrl('','module','admin','act','dispDocumentAdminList','search_target','regdate','search_keyword',date("Ymd"))}"><strong>{number_format($status->document->today)}</strong></a>,-<a href="{getUrl('','module','admin','act','dispDocumentAdminDeclared')}"><strong>{number_format($status->documentDeclared->total)}</strong></a>)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><a href="{getUrl('','module','admin','act','dispCommentAdminList')}">{$lang->comment}</a></th>
|
||||
<td><strong>{number_format($status->comment->total)}</strong> <span class="description">(+<a href="{getUrl('','module','admin','act','dispCommentAdminList','search_target','regdate','search_keyword',date("Ymd"))}"><strong>{number_format($status->comment->today)}</strong></a>,-<a href="{getUrl('','module','admin','act','dispCommentAdminDeclared')}"><strong>{number_format($status->commentDeclared->total)}</strong></a>)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><a href="{getUrl('','module','admin','act','dispTrackbackAdminList')}">{$lang->trackback}</a></th>
|
||||
<td><strong>{number_format($status->trackback->total)}</strong> <span class="description">(+<a href="{getUrl('','module','admin','act','dispTrackbackAdminList','search_target','regdate','search_keyword',date("Ymd"))}"><strong>{number_format($status->trackback->today)}</strong></a>)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><a href="{getUrl('','module','admin','act','dispFileAdminList')}">{$lang->file}</a></th>
|
||||
<td><strong>{number_format($status->file->total)}</strong> <span class="description">(+<a href="{getUrl('','module','admin','act','dispFileAdminList','search_target','regdate','search_keyword',date("Ymd"))}"><strong>{number_format($status->file->today)}</strong></a>)</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<span class="outline ml"></span>
|
||||
<span class="outline mr"></span>
|
||||
<span class="outline tc"></span>
|
||||
<span class="outline bc"></span>
|
||||
<span class="outline tl"></span>
|
||||
<span class="outline tr"></span>
|
||||
|
||||
<!--@foreach($module_list as $key => $val)-->
|
||||
<!--@if(!$val->need_install && !$val->need_update)-->
|
||||
<tr>
|
||||
<td><a href="{getUrl('','module','admin','act',$val->admin_index_act)}" title="{trim(htmlspecialchars($val->description))}">{$val->title}</a> ({$val->module})</td>
|
||||
<td>{$val->version}</td>
|
||||
<td>
|
||||
<!--@foreach($val->author as $author)-->
|
||||
<!--@if($author->homepage)--><a href="{$author->homepage}" onclick="window.open(this.href);return false;"><!--@end-->{$author->name}<!--@if($author->homepage)--></a><!--@end-->
|
||||
<!--@endforeach-->
|
||||
</td>
|
||||
<td <!--@if($val->created_table_count != $val->table_count)-->class="alert"<!--@end-->>
|
||||
{$val->created_table_count}/{$val->table_count}
|
||||
</td>
|
||||
<td> - </td>
|
||||
<td><a href="{getUrl('','module','module','act','dispModuleAdminInfo','selected_module',$val->module)}" onclick="popopen(this.href,'module_info');return false" title="{htmlspecialchars($lang->module_info)}" class="buttonSet buttonInfo"><span>{$lang->module_info}</span></a></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<span class="outline bl"></span>
|
||||
<span class="outline br"></span>
|
||||
</div>
|
||||
<!-- /Dashboard Statistic -->
|
||||
|
||||
<div id="xeAddons" style="display:none;">
|
||||
<!-- Visotors Graph -->
|
||||
<div class="section">
|
||||
|
||||
<form id="fo_addon" action="./" method="get">
|
||||
<input type="hidden" name="addon" value="" />
|
||||
</form>
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><div>{$lang->addon}</div></th>
|
||||
<th><div>{$lang->cmd_setup}</div></th>
|
||||
<th><div>PC</div></th>
|
||||
<th><div>Mobile</div></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($addon_list as $key => $val)-->
|
||||
<tr>
|
||||
<td class="wide"><a href="{getUrl('','module','addon','act','dispAddonAdminInfo','selected_addon',$val->addon)}" onclick="popopen(this.href,'addon_info');return false">{$val->title}</a></td>
|
||||
<td><a href="{getUrl('','module','addon','act','dispAddonAdminSetup','selected_addon',$val->addon)}" onclick="popopen(this.href,'addon_info');return false" class="buttonSet buttonSetting"><span>{$lang->cmd_setup}</span></a></td>
|
||||
<td>
|
||||
<!--@if($val->activated)-->
|
||||
<a href="#" onclick="doToggleAddonInAdmin(this, '{$val->addon}');return false;" title="{htmlspecialchars($lang->use)}" class="buttonSet buttonActive"><span>{$lang->use}</span></a>
|
||||
<!--@else-->
|
||||
<a href="#" onclick="doToggleAddonInAdmin(this, '{$val->addon}');return false;" title="{htmlspecialchars($lang->notuse)}" class="buttonSet buttonDisable"><span>{$lang->notuse}</span></a>
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td>
|
||||
<!--@if($val->mactivated)-->
|
||||
<a href="#" onclick="doToggleAddonInAdmin(this, '{$val->addon}', 'mobile');return false;" title="{htmlspecialchars($lang->use)}" class="buttonSet buttonActive"><span>{$lang->use}</span></a>
|
||||
<!--@else-->
|
||||
<a href="#" onclick="doToggleAddonInAdmin(this, '{$val->addon}', 'mobile');return false;" title="{htmlspecialchars($lang->notuse)}" class="buttonSet buttonDisable"><span>{$lang->notuse}</span></a>
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<h4 class="dashboardH4">{$lang->visitor_count} <em>{date("Y.m.d")}</em></h4>
|
||||
<div class="dashboardWire">
|
||||
<dl class="legend">
|
||||
<dt class="past"><img src="img/graphYesterday.gif" width="5" height="5" alt="{$lang->yesterday}" /></dt>
|
||||
<dd>{$lang->last_week}</dd>
|
||||
<dt class="today"><img src="img/graphToday.gif" width="5" height="5" alt="{$lang->today}" /></dt>
|
||||
<dd>{$lang->this_week}</dd>
|
||||
|
||||
<div class="extension e2">
|
||||
<div class="section">
|
||||
<h4 class="xeAdmin">{$lang->status} <span class="date">{zdate(date("Ymd"),"Y.m.d")}</h4>
|
||||
<table cellspacing="0" class="crossTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="wide"><div> </div></th>
|
||||
<th><div>{$lang->yesterday}</div></th>
|
||||
<th><div>{$lang->today}</div></th>
|
||||
<th><div>{$lang->total}</div></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><a href="{getUrl('act','dispMemberAdminList')}">{$lang->member}</a></th>
|
||||
<td class="number center">{number_format($status->member->yesterday)}</td>
|
||||
<td class="number center">{number_format($status->member->today)}</td>
|
||||
<td class="number center">{number_format($status->member->total)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><a href="{getUrl('act','dispDocumentAdminList')}">{$lang->document}</a></th>
|
||||
<td class="number center">{number_format($status->document->yesterday)}</td>
|
||||
<td class="number center">{number_format($status->document->today)}</td>
|
||||
<td class="number center">{number_format($status->document->total)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><a href="{getUrl('act','dispCommentAdminList')}">{$lang->comment}</a></th>
|
||||
<td class="number center">{number_format($status->comment->yesterday)}</td>
|
||||
<td class="number center">{number_format($status->comment->today)}</td>
|
||||
<td class="number center">{number_format($status->comment->total)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><a href="{getUrl('act','dispTrackbackAdminList')}">{$lang->trackback}</a></th>
|
||||
<td class="number center">{number_format($status->trackback->yesterday)}</td>
|
||||
<td class="number center">{number_format($status->trackback->today)}</td>
|
||||
<td class="number center">{number_format($status->trackback->total)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><a href="{getUrl('act','dispFileAdminList')}">{$lang->file}</a></th>
|
||||
<td class="number center">{number_format($status->file->yesterday)}</td>
|
||||
<td class="number center">{number_format($status->file->today)}</td>
|
||||
<td class="number center">{number_format($status->file->total)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><a href="{getUrl('act','dispDocumentAdminDeclared')}">{$lang->document.' '.$lang->cmd_declare}</a></th>
|
||||
<td class="number center">{number_format($status->documentDeclared->yesterday)}</td>
|
||||
<td class="number center">{number_format($status->documentDeclared->today)}</td>
|
||||
<td class="number center">{number_format($status->documentDeclared->total)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><a href="{getUrl('act','dispCommentAdminDeclared')}">{$lang->comment.' '.$lang->cmd_declare}</a></th>
|
||||
<td class="number center">{number_format($status->commentDeclared->yesterday)}</td>
|
||||
<td class="number center">{number_format($status->commentDeclared->today)}</td>
|
||||
<td class="number center">{number_format($status->commentDeclared->total)}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</dl>
|
||||
<dl class="summary">
|
||||
<dt>{$lang->today}</dt>
|
||||
<dd>{number_format($status->visitor)}</dd>
|
||||
<dt>{$lang->this_week}</dt>
|
||||
<dd>{number_format($status->thisWeekSum)}</dd>
|
||||
<dt>{$lang->total}</dt>
|
||||
<dd>{number_format($status->total_visitor)}</dd>
|
||||
</dl>
|
||||
<div class="graph">
|
||||
<!--@foreach($status->week as $key => $val)-->
|
||||
<dl>
|
||||
<dt>{$key}</dt>
|
||||
<dd class="past" style="height:{$val->last/$status->week_max * 100}%" title="{$lang->last_week}:{number_format($val->last)}"><span>{$lang->last_week}:{number_format($val->last)}</span></dd>
|
||||
<dd class="today" style="height:{$val->this/$status->week_max * 100}%" title="{$lang->this_week}:{number_format($val->this)}"><span>{$lang->this_week}:{number_format($val->this)}</span></dd>
|
||||
|
||||
</dl>
|
||||
<!--@end-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Visotors Graph -->
|
||||
|
||||
<h4 class="xeAdmin">{$lang->env_information}</h4>
|
||||
<div class="section">
|
||||
<h4 class="dashboardH4">{$lang->env_information}</h4>
|
||||
<!--@if($current_version < $released_version)-->
|
||||
<p class="summary red">{nl2br($lang->about_download_link)} [<a href="{$download_link}" onclick="window.open(this.href);return false;">{$lang->cmd_download}</a>]</p>
|
||||
<!--@end-->
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><div>{$lang->current_version}</div></th>
|
||||
|
|
@ -191,16 +170,12 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2"><div>{$lang->current_path}</div></th>
|
||||
<th><div>{$lang->current_path}</div></th>
|
||||
<td>{$installed_path}/</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">{$installed_path}/</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2"><div>{$lang->start_module}</div></th>
|
||||
</tr>
|
||||
<Tr>
|
||||
<td colspan="2"><a href="{getSiteUrl('','','mid',$start_module->mid)}" onclick="window.open(this.href);return false;">{$start_module->browser_title}</a></td>
|
||||
<th><div>{$lang->start_module}</div></th>
|
||||
<td><a href="{getSiteUrl('','','mid',$start_module->mid)}" onclick="window.open(this.href);return false;">{$start_module->browser_title}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><div>{$lang->time_zone}</div></th>
|
||||
|
|
@ -228,36 +203,106 @@
|
|||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4 class="xeAdmin">{$lang->cmd_remake_cache}</h4>
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<div class="extension e2">
|
||||
<div class="section">
|
||||
<div class="contentBox">
|
||||
<span class="button large strong"><input type="button" value="{$lang->cmd_remake_cache}" onclick="doRecompileCacheFile(); return false;"/></span>
|
||||
|
||||
<span class="button large strong"><input type="button" value="{$lang->cmd_clear_session}" onclick="doClearSession(); return false; "/></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{@$_show_modules = false; }
|
||||
<!--@foreach($module_list as $key => $val)-->
|
||||
<!--@if($val->need_install || $val->need_update)-->
|
||||
{@$_show_modules = true; }
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<!--@if($_show_modules)-->
|
||||
<div class="section">
|
||||
<table>
|
||||
<thead>
|
||||
<th>{$lang->module}</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="button black strong"><input type="button" value="{$lang->cmd_remake_cache}" onclick="doRecompileCacheFile(); return false;"/></span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="button black strong"><input type="button" value="{$lang->cmd_clear_session}" onclick="doClearSession(); return false; "/></span>
|
||||
</td>
|
||||
</tr>
|
||||
<!--@foreach($module_list as $key => $val)-->
|
||||
<!--@if($val->need_install || $val->need_update)-->
|
||||
<tr>
|
||||
<th><a href="{getUrl('','module','admin','act',$val->admin_index_act)}" title="{trim(htmlspecialchars($val->description))}">{$val->title}</a> ({$val->module})</th>
|
||||
<td class="alert">
|
||||
<!--@if($val->need_install)-->
|
||||
<a href="#" onclick="doInstallModule('{$val->module}');return false;" title="{htmlspecialchars($lang->cmd_install)}">{$lang->cmd_install}</a>
|
||||
<!--@elseif($val->need_update)-->
|
||||
<a href="#" onclick="doUpdateModule('{$val->module}'); return false;" title="{htmlspecialchars($lang->cmd_update)}">{$lang->cmd_update}</a>
|
||||
<!--@else-->
|
||||
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($news)-->
|
||||
<h4 class="xeAdmin">{$lang->newest_news}</h4>
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<!--@if($news)-->
|
||||
<div class="section">
|
||||
<table>
|
||||
<thead>
|
||||
<th colspan="2">{$lang->newest_news}</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($news as $key => $val)-->
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{$val->url}" onclick="window.open(this.href);return false;" class="fl">{$val->title}</a>
|
||||
<span class="date fr">{zdate($val->date,"Y-m-d")}</span>
|
||||
</td>
|
||||
<th><a href="{$val->url}" onclick="window.open(this.href);return false;" class="fl">{cut_str($val->title,36)}</a></th>
|
||||
<td><span class="date fr">{zdate($val->date,"y-m-d")}</span></td>
|
||||
</tr>
|
||||
<!--@endforeach-->
|
||||
</tbody>
|
||||
</table>
|
||||
<!--@endif-->
|
||||
</div>
|
||||
<!--@endif-->
|
||||
|
||||
<div class="section">
|
||||
<form id="fo_addon" action="./" method="get">
|
||||
<input type="hidden" name="addon" value="" />
|
||||
</form>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$lang->addon}</th>
|
||||
<th>{$lang->cmd_setup}</th>
|
||||
<th>PC</th>
|
||||
<th>Mobile</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($addon_list as $key => $val)-->
|
||||
<tr>
|
||||
<th><a href="{getUrl('','module','addon','act','dispAddonAdminInfo','selected_addon',$val->addon)}" onclick="popopen(this.href,'addon_info');return false">{cut_str($val->title,24)}</a></th>
|
||||
<td><a href="{getUrl('','module','addon','act','dispAddonAdminSetup','selected_addon',$val->addon)}" onclick="popopen(this.href,'addon_info');return false" class="buttonSet buttonSetting"><span>{$lang->cmd_setup}</span></a></td>
|
||||
<td>
|
||||
<!--@if($val->activated)-->
|
||||
<a href="#" onclick="doToggleAddonInAdmin(this, '{$val->addon}');return false;" title="{htmlspecialchars($lang->use)}" class="buttonSet buttonActive"><span>{$lang->use}</span></a>
|
||||
<!--@else-->
|
||||
<a href="#" onclick="doToggleAddonInAdmin(this, '{$val->addon}');return false;" title="{htmlspecialchars($lang->notuse)}" class="buttonSet buttonDisable"><span>{$lang->notuse}</span></a>
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td>
|
||||
<!--@if($val->mactivated)-->
|
||||
<a href="#" onclick="doToggleAddonInAdmin(this, '{$val->addon}', 'mobile');return false;" title="{htmlspecialchars($lang->use)}" class="buttonSet buttonActive"><span>{$lang->use}</span></a>
|
||||
<!--@else-->
|
||||
<a href="#" onclick="doToggleAddonInAdmin(this, '{$val->addon}', 'mobile');return false;" title="{htmlspecialchars($lang->notuse)}" class="buttonSet buttonDisable"><span>{$lang->notuse}</span></a>
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,18 @@ function doRecompileCacheFile() {
|
|||
|
||||
// 모듈 목록 오픈
|
||||
function toggleModuleMenu(category) {
|
||||
jQuery('#module_'+category).toggleClass('open');
|
||||
jQuery('#module_'+category).toggleClass('close');
|
||||
|
||||
var arr = new Array();
|
||||
jQuery('ul.navigation > li').each(function(){
|
||||
var o = jQuery(this);
|
||||
if(!o.hasClass('close')) return;
|
||||
var idx = o.attr('id').replace(/^module_/,'');
|
||||
arr.push(idx);
|
||||
});
|
||||
var expire= new Date();
|
||||
expire.setTime(expire.getTime()+(7000*24*3600000));
|
||||
xSetCookie('XEAM',arr.join(','),expire,'/');
|
||||
}
|
||||
|
||||
// 메인 모듈/ 애드온 토글
|
||||
|
|
|
|||