merge sandbox to trunk for 1.4.3.1

git-svn-id: http://xe-core.googlecode.com/svn/trunk@7659 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2010-08-25 06:19:21 +00:00
parent 289973781a
commit 200d63636c
195 changed files with 8166 additions and 3576 deletions

View file

@ -7,6 +7,42 @@
class adminAdminView extends admin {
/**
* @brief Initilization
* @return none
**/
function init() {
// forbit access if the user is not an administrator
$oMemberModel = &getModel('member');
$logged_info = $oMemberModel->getLoggedInfo();
if($logged_info->is_admin!='Y') return $this->stop("msg_is_not_administrator");
// change into administration layout
$this->setTemplatePath($this->module_path.'tpl');
$this->setLayoutPath($this->getTemplatePath());
$this->setLayoutFile('layout.html');
$this->loadSideBar();
// Retrieve the list of installed modules
$db_info = Context::getDBInfo();
Context::set('time_zone_list', $GLOBALS['time_zone']);
Context::set('time_zone', $GLOBALS['_time_zone']);
Context::set('use_rewrite', $db_info->use_rewrite=='Y'?'Y':'N');
Context::set('use_optimizer', $db_info->use_optimizer!='N'?'Y':'N');
Context::set('use_spaceremover', $db_info->use_spaceremover?$db_info->use_spaceremover:'Y');
Context::set('qmail_compatibility', $db_info->qmail_compatibility=='Y'?'Y':'N');
Context::set('use_db_session', $db_info->use_db_session=='N'?'N':'Y');
Context::set('use_mobile_view', $db_info->use_mobile_view =='Y'?'Y':'N');
Context::set('use_ssl', $db_info->use_ssl?$db_info->use_ssl:"none");
if($db_info->http_port) Context::set('http_port', $db_info->http_port);
if($db_info->https_port) Context::set('https_port', $db_info->https_port);
}
function loadSideBar()
{
$oModuleModel = &getModel('module');
@ -15,6 +51,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);
@ -56,41 +96,6 @@
Context::loadJavascriptPlugin('watchinput');
}
/**
* @brief Initilization
* @return none
**/
function init() {
// forbit access if the user is not an administrator
$oMemberModel = &getModel('member');
$logged_info = $oMemberModel->getLoggedInfo();
if($logged_info->is_admin!='Y') return $this->stop("msg_is_not_administrator");
// change into administration layout
$this->setTemplatePath($this->module_path.'tpl');
$this->setLayoutPath($this->getTemplatePath());
$this->setLayoutFile('layout.html');
$this->loadSideBar();
// Retrieve the list of installed modules
$db_info = Context::getDBInfo();
Context::set('time_zone_list', $GLOBALS['time_zone']);
Context::set('time_zone', $GLOBALS['_time_zone']);
Context::set('use_rewrite', $db_info->use_rewrite=='Y'?'Y':'N');
Context::set('use_optimizer', $db_info->use_optimizer!='N'?'Y':'N');
Context::set('use_spaceremover', $db_info->use_spaceremover?$db_info->use_spaceremover:'Y');
Context::set('qmail_compatibility', $db_info->qmail_compatibility=='Y'?'Y':'N');
Context::set('use_db_session', $db_info->use_db_session=='N'?'N':'Y');
Context::set('use_ssl', $db_info->use_ssl?$db_info->use_ssl:"none");
if($db_info->http_port) Context::set('http_port', $db_info->http_port);
if($db_info->https_port) Context::set('https_port', $db_info->https_port);
}
/**
* @brief Display main administration page
* @return none
@ -146,6 +151,97 @@
$addon_list = $oAddonModel->getAddonList();
Context::set('addon_list', $addon_list);
// 방문자수
$time = time();
$w = date("D");
while(date("D",$time) != "Sat") {
$time += 60*60*24;
}
$end_time = $time;
$end_date = date("Ymd",$time);
$time -= 60*60*24;
while(date("D",$time)!="Sun") {
$thisWeek[] = date("Ymd",$time);
$time -= 60*60*24;
}
$start_time = $time;
$start_date = date("Ymd",$time-60*60*24*7);
$args->start_date = $start_date;
$args->end_date = $end_date;
$output = executeQueryArray('admin.getVisitors', $args);
if(count($output->data)) {
foreach($output->data as $key => $val) {
$visitors[$val->regdate] = $val->unique_visitor;
}
}
$output = executeQueryArray('admin.getSiteVisitors', $args);
if(count($output->data)) {
foreach($output->data as $key => $val) {
$visitors[$val->regdate] += $val->unique_visitor;
}
}
$status->week_max = 0;
if(count($visitors)) {
foreach($visitors as $key => $val) {
if($val>$status->week_max) $status->week_max = $val;
}
}
for($i=$start_time;$i<$end_time;$i+=60*60*24) {
$status->thisWeekSum += $visitors[date("Ymd",$i)];
$status->week[date("Y.m.d",$i)]->this = (int)$visitors[date("Ymd",$i)];
$status->week[date("Y.m.d",$i)]->last = (int)$visitors[date("Ymd",$i-60*60*24*7)];
}
// 각종 통계 정보를 구함
$output = executeQuery('admin.getTotalVisitors');
$status->total_visitor = $output->data->count;
$output = executeQuery('admin.getTotalSiteVisitors');
$status->total_visitor += $output->data->count;
$status->visitor = $visitors[date("Ymd")];
// 오늘의 댓글 수
$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");

View file

@ -86,4 +86,7 @@
$lang->mobile_view = 'Mobile View';
$lang->about_mobile_view = 'Mobile View will display the best layout when accessing with smartphones.';
$lang->autoinstall = 'EasyInstall';
$lang->last_week = 'Last week';
$lang->this_week = 'This week';
?>

View file

@ -88,4 +88,7 @@
$lang->mobile_view = 'Use Mobile View';
$lang->about_mobile_view = 'If accessing with a smartphone, display content with mobile layout.';
$lang->autoinstall = 'EasyInstall';
$lang->last_week = 'Last week';
$lang->this_week = 'This week';
?>

View file

@ -87,4 +87,7 @@
$lang->mobile_view = 'Use Mobile View';
$lang->about_mobile_view = 'If accessing with a smartphone, display content with mobile layout.';
$lang->autoinstall = 'EasyInstall';
$lang->last_week = 'Last week';
$lang->this_week = 'This week';
?>

View file

@ -86,4 +86,7 @@
$lang->mobile_view = 'Use Mobile View';
$lang->about_mobile_view = 'If accessing with a smartphone, display content with mobile layout.';
$lang->autoinstall = 'イージーインストール';
$lang->last_week = 'Last week';
$lang->this_week = 'This week';
?>

View file

@ -87,4 +87,7 @@
$lang->about_mobile_view = '스마트폰 등을 이용하여 접속할 때 모바일 화면에 최적화된 레이아웃을 이용하도록 합니다.';
$lang->autoinstall = '쉬운 설치';
$lang->last_week = '지난 주';
$lang->this_week = '이번 주';
?>

View file

@ -85,4 +85,7 @@
$lang->mobile_view = 'Use Mobile View';
$lang->about_mobile_view = 'If accessing with a smartphone, display content with mobile layout.';
$lang->autoinstall = 'EasyInstall';
$lang->last_week = 'Last week';
$lang->this_week = 'This week';
?>

View file

@ -89,4 +89,7 @@
$lang->mobile_view = 'Xem bằng di động';
$lang->about_mobile_view = 'Nếu truy cập bằng thiết bị di động, nội dung sẽ được bố trí theo từng loại thiết bị.';
$lang->autoinstall = 'Cập nhật tự động';
$lang->last_week = 'Last week';
$lang->this_week = 'This week';
?>

View file

@ -86,4 +86,7 @@
$lang->mobile_view = '开启移动版';
$lang->about_mobile_view = '为智能手机访问网站,提供最佳视觉效果。';
$lang->autoinstall = '安装·更新';
$lang->last_week = 'Last week';
$lang->this_week = 'This week';
?>

View file

@ -86,4 +86,7 @@
$lang->mobile_view = '手機瀏覽';
$lang->about_mobile_view = '使用手機瀏覽時將會顯示最適當的畫面。';
$lang->autoinstall = '自動安裝';
$lang->last_week = 'Last week';
$lang->this_week = 'This week';
?>

View file

@ -0,0 +1,9 @@
<query id="getSiteVisitors" action="select">
<tables>
<table name="counter_site_status" />
</tables>
<conditions>
<condition operation="more" column="regdate" var="start_date" notnull="notnull" pipe="and" />
<condition operation="less" column="regdate" var="end_date" notnull="notnull" pipe="and" />
</conditions>
</query>

View 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>

View 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>

View file

@ -0,0 +1,8 @@
<query id="getTotalSiteVisitors" action="select">
<tables>
<table name="counter_site_status" />
</tables>
<columns>
<column name="sum(unique_visitor)" alias="count" />
</columns>
</query>

View file

@ -0,0 +1,8 @@
<query id="getTotalVisitors" action="select">
<tables>
<table name="counter_status" />
</tables>
<columns>
<column name="sum(unique_visitor)" alias="count" />
</columns>
</query>

View file

@ -0,0 +1,9 @@
<query id="getVisitors" action="select">
<tables>
<table name="counter_status" />
</tables>
<conditions>
<condition operation="more" column="regdate" var="start_date" notnull="notnull" pipe="and" />
<condition operation="less" column="regdate" var="end_date" notnull="notnull" pipe="and" />
</conditions>
</query>

View file

@ -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>

View file

@ -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>
&gt; <a href="{getUrl('','mid',$mid,'module',$module,'act',$act)}">{$lang->env_setup}</a>
</p>
<!--@end-->
<h4 class="xeAdmin">{$lang->cmd_setup}</h4>

View file

@ -13,6 +13,9 @@
#xeAdmin .buttonArea{ text-align:center; padding:15px 0;}
#xeAdmin button.text{ background:none; border:0; color:#0000ee;}
#xeAdmin img.graphHr{ height:5px; vertical-align:middle;}
#xeAdmin .ac{ text-align:center;}
#xeAdmin .al{ text-align:left;}
#xeAdmin .ar{ text-align:right;}
.crossTable{ width:100%; border:0; margin:0 0 20px 0; padding:0;}
.crossTable th div { white-space:nowrap; }
@ -50,32 +53,46 @@
.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; }
#xeAdmin .localNavigation { border-bottom:1px solid #ccc; *zoom:1; margin:0 0 20px 0px; padding:0; overflow:hidden; }
#xeAdmin .localNavigation:after {content:""; display:block; clear:both;}
#xeAdmin .localNavigation li{ position:relative; list-style:none; float:left; margin:0 -1px 0 0; padding:0;background:#fff;}
#xeAdmin .localNavigation li a{ float:left; padding:7px 15px 0 15px; height:18px; border:1px solid #ddd; border-bottom:none; background:url(../img/bgTab.gif) repeat-x;}
#xeAdmin .localNavigation li.on { margin-bottom:-1px;}
#xeAdmin .localNavigation li.on a{ height:19px; background:none;}
#xeAdmin .localNavigation{ position:relative; margin:0 0 35px 0; padding:0 0 0 0; _padding:2px 0 0 0; list-style:none; border-bottom:2px solid #315593; font-family:Tahoma, Sans-serif; font-size:12px; *zoom:1;}
#xeAdmin .localNavigation:after{ content:""; display:block; clear:both;}
#xeAdmin .localNavigation li{ float:left; margin-right:1px; background:#4CB1E5;}
#xeAdmin .localNavigation li a{ position:relative; cursor:pointer; float:left; padding:6px 25px 6px 25px; color:#fff; text-decoration:none;}
#xeAdmin .localNavigation li.on a{ background-color:#315593; margin-top:-1px; padding-top:7px; padding-bottom:7px; font-weight:bold; letter-spacing:-1px;}
#xeAdmin .localNavigation li ul{ display:none; width:100%; position:absolute; top:35px; left:0; list-style:none; border:0; margin:0; padding:0; white-space:nowrap; overflow:hidden; *zoom:1;}
#xeAdmin .localNavigation li ul:after{ content:""; display:block; clear:both;}
#xeAdmin .localNavigation li li{ position:relative; left:-1px; padding:0 10px; border-left:1px solid #ddd; overflow:visible; background:transparent;}
#xeAdmin .localNavigation li.on li a{ background-color:transparent !important; padding:0; margin:0; font-weight:normal; color:#666;}
#xeAdmin .localNavigation li.on ul{ display:block;}
#xeAdmin .localNavigation li.on li.on a{ font-weight:bold; letter-spacing:-1px; color:#333;}
#xeAdmin h3.xeAdmin {border-bottom:2px solid #ccc; padding:5px 0 5px 25px; margin:0 0 10px 0; background:url(../img/iconH2.gif) no-repeat left center;}
#xeAdmin h4.xeAdmin {padding:5px 0 5px 20px; background:url(../img/iconH3.gif) no-repeat left center;}
@ -200,8 +217,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;}

View file

@ -0,0 +1,123 @@
/* 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; 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; width:28%;}
.dashboardStatistic dl.visit dd{ background-position:center 5px; color:#e3391d ;}
.dashboardStatistic dl.reply { background:none; width:22%;}
.dashboardStatistic dl.reply dd{ background-position:center -195px; color:#28313d;}
.dashboardStatistic dl.trackback { background:none; width:15%;}
.dashboardStatistic dl.trackback dd{ background-position:center -395px; color:#4e4f54;}
.dashboardStatistic .summary{ float:right; width:30%; 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 a { font-size:11px; color:#b1b1b1; font-style:normal; margin-left:5px;}
.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.center { text-align:center;}
.section td .description{ color:#8b8b8b;}
.section td .description strong{ color:#8b8b8b;}
.section thead th{ background:none; background-color:#efefef; font-weight:bold; padding:6px 5px 6px 5px; }

View file

@ -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 0 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;}

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 869 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 B

After

Width:  |  Height:  |  Size: 89 B

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 B

View file

@ -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,162 @@
<!--%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>
&gt; <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>&nbsp;</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="100%" 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&amp;viewNum={$status->visitor}" name="flashVars"/>
<!--[if !IE]> <-->
<object title="{$status->visitor}" height="50" width="100%" 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&amp;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->today}" height="50" width="100%" 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&amp;viewNum={$status->comment_count}" name="flashVars"/>
<!--[if !IE]> <-->
<object title="{$status->comment->today}" height="50" width="100%" 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&amp;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->today}" height="50" width="100%" 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&amp;viewNum={$status->trackback_count}" name="flashVars"/>
<!--[if !IE]> <-->
<object title="{$status->trackback->today}" height="50" width="100%" 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&amp;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->counter} <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>&nbsp;</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><!--@if($key==date("Ymd"))--><strong>{$key}</strong><!--@else-->{$key}<!--@end--></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} <a href="{getUrl('','module','admin','act','dispAdminConfig')}">{$lang->cmd_setup}</a></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>
<col width="160" />
<col width="*" />
<tbody>
<tr>
<th><div>{$lang->current_version}</div></th>
@ -191,16 +172,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>
@ -214,6 +191,10 @@
<th><div>{$lang->use_optimizer}</div></th>
<td><!--@if($use_optimizer=='Y')-->{$lang->use}<!--@else-->{$lang->notuse}<!--@end--></td>
</tr>
<tr>
<th><div>{$lang->mobile_view}</div></th>
<td><!--@if($use_mobile_view=='Y')-->{$lang->use}<!--@else-->{$lang->notuse}<!--@end--></td>
</tr>
<tr>
<th><div>Language</div></th>
<td><!--@foreach($lang_supported as $key => $val)--><!--@if($key == $selected_lang)-->{$val}<!--@endif--><!--@endforeach--></td>
@ -228,36 +209,105 @@
</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"><input type="button" value="{$lang->cmd_remake_cache}" onclick="doRecompileCacheFile(); return false;"/></span>
<span class="button"><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 colspan="2">{$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-->
&nbsp;
<!--@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 class="center"><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 class="center">
<!--@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 class="center">
<!--@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>

View file

@ -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,'/');
}
// 메인 모듈/ 애드온 토글

Binary file not shown.