mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 01:01:41 +09:00
Analytics 제거 (차후 안정화 후 Core 배포 여부 결정 예정)
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7657 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
d22cefd532
commit
13016dbf8d
44 changed files with 0 additions and 3267 deletions
|
|
@ -1,18 +0,0 @@
|
|||
<?php
|
||||
|
||||
class analyticsAdminController extends analytics {
|
||||
|
||||
function init(){
|
||||
}
|
||||
|
||||
function procAnalyticsAdminInsertAPIKey() {
|
||||
// API KEY 값을 가지고 온다.
|
||||
$args = Context::gets('api_key');
|
||||
|
||||
// module controlle 객체 생성하여 Key값 저장
|
||||
$oModuleController = &getController('module');
|
||||
$output = $oModuleController->insertModuleConfig('analytics', $args);
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,269 +0,0 @@
|
|||
<?php
|
||||
class analyticsAdminView extends analytics{
|
||||
function init(){
|
||||
$template_path = sprintf("%stpl/",$this->module_path);
|
||||
$this->setTemplatePath($template_path);
|
||||
}
|
||||
|
||||
function dispAnalyticsAdminContent(){
|
||||
$oModuleModel = &getModel('module');
|
||||
|
||||
$module_config = $oModuleModel->getModuleConfig('analytics');
|
||||
|
||||
if ($module_config->api_key){
|
||||
Context::set('api_key', $module_config->api_key);
|
||||
}
|
||||
|
||||
$this->setTemplateFile('index');
|
||||
}
|
||||
|
||||
function _setDefaultData($method){
|
||||
$oModuleModel = &getModel('module');
|
||||
|
||||
$module_config = $oModuleModel->getModuleConfig('analytics');
|
||||
Context::set('api_key', $module_config->api_key);
|
||||
Context::set('method', $method);
|
||||
|
||||
$end_date = $this->_getEndDate(Context::get('end_date'));
|
||||
$start_date = $this->_getStartDate(Context::get('start_date'), $end_date);
|
||||
|
||||
Context::set('start_date', $start_date);
|
||||
Context::set('end_date', $end_date);
|
||||
|
||||
$return_param = array('api_key' => $module_config->api_key
|
||||
,'method' => $method
|
||||
,'start_date' => $start_date
|
||||
,'end_date' => $end_date);
|
||||
|
||||
return $return_param;
|
||||
}
|
||||
|
||||
function dispAnalyticsVisitInfoAdminVisitChart(){
|
||||
$param = $this->_setDefaultData('visit');
|
||||
|
||||
Context::set('isOnlyEndDate', 'false');
|
||||
Context::set('chart_type', 'line');
|
||||
|
||||
$json_url = $this->_getJSONData($param['api_key'], 'visit', array('start_date' => $param['start_date'], 'end_date' => $param['end_date']));
|
||||
Context::set('json_url', $json_url);
|
||||
|
||||
$this->setTemplateFile('visit_info_visitTime');
|
||||
}
|
||||
|
||||
function dispAnalyticsVisitInfoAdminVisitPageViewChart(){
|
||||
$param = $this->_setDefaultData('visitPageView');
|
||||
|
||||
Context::set('isOnlyEndDate', 'false');
|
||||
Context::set('chart_type', 'line');
|
||||
|
||||
$json_url = $this->_getJSONData($param['api_key'], 'visitPageView', array('start_date' => $param['start_date'], 'end_date' => $param['end_date']));
|
||||
Context::set('json_url', $json_url);
|
||||
|
||||
$this->setTemplateFile('visit_info_visitTime');
|
||||
}
|
||||
|
||||
function dispAnalyticsVisitInfoAdminVisitTimeChart(){
|
||||
$param = $this->_setDefaultData('visitTime');
|
||||
|
||||
Context::set('isOnlyEndDate', 'false');
|
||||
Context::set('chart_type', 'line');
|
||||
|
||||
$json_url = $this->_getJSONData($param['api_key'], 'visitTime', array('start_date' => $param['start_date'], 'end_date' => $param['end_date']));
|
||||
Context::set('json_url', $json_url);
|
||||
|
||||
debugPrint($json_url);
|
||||
|
||||
$this->setTemplateFile('visit_info_visitTime');
|
||||
}
|
||||
|
||||
function dispAnalyticsVisitInfoAdminVisitDayChart(){
|
||||
global $lang;
|
||||
|
||||
$param = $this->_setDefaultData('visitDay');
|
||||
|
||||
Context::set('isOnlyEndDate', 'false');
|
||||
Context::set('chart_type', 'line');
|
||||
|
||||
$json_data = $this->_getJSONData($param['api_key'], 'visitDay', array('start_date' => $param['start_date'], 'end_date' => $param['end_date']));
|
||||
Context::set('json_url', $json_data);
|
||||
|
||||
$this->setTemplateFile('visit_info_visitTime');
|
||||
}
|
||||
|
||||
function dispAnalyticsVisitInfoAdminVisitBackChart(){
|
||||
global $lang;
|
||||
|
||||
$param = $this->_setDefaultData('visitBack');
|
||||
|
||||
Context::set('isOnlyEndDate', 'true');
|
||||
Context::set('chart_type', 'pie');
|
||||
|
||||
$json_data = $this->_getJSONData($param['api_key'], 'visitBack', array('start_date' => $param['start_date'], 'end_date' => $param['end_date']));
|
||||
Context::set('json_url', $json_data);
|
||||
|
||||
$this->setTemplateFile('visit_info_visitTime');
|
||||
}
|
||||
|
||||
function dispAnalyticsVisitInfoAdminVisitStayTimeChart(){
|
||||
$param = $this->_setDefaultData('visitStayTime');
|
||||
|
||||
Context::set('isOnlyEndDate', 'false');
|
||||
Context::set('chart_type', 'pie');
|
||||
|
||||
$json_url = $this->_getJSONData($param['api_key'], 'visitStayTime', array('start_date' => $param['start_date'], 'end_date' => $param['end_date']));
|
||||
Context::set('json_url', $json_url);
|
||||
|
||||
$this->setTemplateFile('visit_info_visitTime');
|
||||
}
|
||||
|
||||
function dispAnalyticsVisitInfoAdminVisitPathChart(){
|
||||
$param = $this->_setDefaultData('visitPath');
|
||||
|
||||
Context::set('isOnlyEndDate', 'false');
|
||||
Context::set('chart_type', 'pie');
|
||||
|
||||
$json_url = $this->_getJSONData($param['api_key'], 'visitPath', array('start_date' => $param['start_date'], 'end_date' => $param['end_date']));
|
||||
Context::set('json_url', $json_url);
|
||||
|
||||
$this->setTemplateFile('visit_info_visitTime');
|
||||
}
|
||||
|
||||
/**
|
||||
* 유입경로 분석
|
||||
*
|
||||
**/
|
||||
|
||||
function _setPageData($args){
|
||||
global $lang;
|
||||
|
||||
$page = Context::get('page');
|
||||
if (!$page)
|
||||
$page = 1;
|
||||
|
||||
$param = array();
|
||||
$param['start_date'] = $args['start_date'];
|
||||
$param['end_date'] = $args['end_date'];
|
||||
$param['page'] = $page;
|
||||
|
||||
$xml_obj = $this->_getXMLData($args['api_key'], $args['method'], $param);
|
||||
|
||||
Context::set('parsed_data', $xml_obj->response);
|
||||
Context::set('value_names', $lang->analytics_api_valuname[$args['method']]);
|
||||
|
||||
//페이지 핸들링을 위한 데이터
|
||||
$page_navigation = new PageHandler($xml_obj->response->total_count, $xml_obj->response->page_total_count->body, $page, 5);
|
||||
Context::set('page_navigation', $page_navigation);
|
||||
Context::set('page', $page);
|
||||
}
|
||||
|
||||
function _dispPageContent($method){
|
||||
$param = $this->_setDefaultData($method);
|
||||
|
||||
Context::set('isOnlyEndDate', 'false');
|
||||
|
||||
$page = Context::get('page');
|
||||
$json_url = $this->_getJSONData($param['api_key'], $method, array('start_date' => $param['start_date'], 'end_date' => $param['end_date'], 'page' => $page));
|
||||
Context::set('json_url', $json_url);
|
||||
|
||||
$this->setTemplateFile('page_info_pagePop');
|
||||
|
||||
}
|
||||
|
||||
function dispAnalyticsComeInfoAdminComeEngineChart(){
|
||||
$param = $this->_setDefaultData('comeEngine');
|
||||
|
||||
Context::set('isOnlyEndDate', 'false');
|
||||
Context::set('chart_type', 'pie');
|
||||
|
||||
$page = Context::get('page');
|
||||
$json_url = $this->_getJSONData($param['api_key'], 'comeEngine', array('start_date' => $param['start_date'], 'end_date' => $param['end_date'], 'page' => $page));
|
||||
Context::set('json_url', $json_url);
|
||||
|
||||
$this->setTemplateFile('come_info_chart');
|
||||
}
|
||||
|
||||
function dispAnalyticsComeInfoAdminComeSearchTextChart(){
|
||||
$param = $this->_setDefaultData('comeSearchText');
|
||||
|
||||
Context::set('isOnlyEndDate', 'false');
|
||||
Context::set('chart_type', 'pie');
|
||||
|
||||
$page = Context::get('page');
|
||||
$json_url = $this->_getJSONData($param['api_key'], 'comeSearchText', array('start_date' => $param['start_date'], 'end_date' => $param['end_date'], 'page' => $page));
|
||||
Context::set('json_url', $json_url);
|
||||
|
||||
$this->setTemplateFile('come_info_chart');
|
||||
}
|
||||
|
||||
|
||||
function dispAnalyticsComeInfoAdminComeUrlChart(){
|
||||
$param = $this->_setDefaultData('comeUrl');
|
||||
|
||||
Context::set('isOnlyEndDate', 'false');
|
||||
|
||||
$page = Context::get('page');
|
||||
$json_url = $this->_getJSONData($param['api_key'], 'comeUrl', array('start_date' => $param['start_date'], 'end_date' => $param['end_date'], 'page' => $page));
|
||||
Context::set('json_url', $json_url);
|
||||
|
||||
$this->setTemplateFile('come_info_table');
|
||||
}
|
||||
|
||||
function dispAnalyticsPageInfoAdminPagePopChart()
|
||||
{
|
||||
$this->_dispPageContent('pagePop');
|
||||
}
|
||||
|
||||
function dispAnalyticsPageInfoAdminPageDrillDownChart()
|
||||
{
|
||||
global $lang;
|
||||
|
||||
$_default_data = $this->_setDefaultData('pageDrillDown');
|
||||
|
||||
Context::set('isOnlyEndDate', 'false');
|
||||
|
||||
$param = array();
|
||||
$param['start_date'] = $_default_data['start_date'];
|
||||
$param['end_date'] = $_default_data['end_date'];
|
||||
|
||||
$json_url = $this->_getJSONData($_default_data['api_key'], $_default_data['method'], $param);
|
||||
Context::set('json_url', $json_url);
|
||||
|
||||
$this->setTemplateFile('page_info_pageDrillDown');
|
||||
}
|
||||
|
||||
function dispAnalyticsPageInfoAdminPageStartChart(){
|
||||
$this->_dispPageContent('pageStart');
|
||||
}
|
||||
|
||||
function dispAnalyticsPageInfoAdminPageEndChart(){
|
||||
$this->_dispPageContent('pageEnd');
|
||||
}
|
||||
|
||||
function dispAnalyticsPageInfoAdminPageReturnChart(){
|
||||
$this->_dispPageContent('pageReturn');
|
||||
}
|
||||
|
||||
function _getEndDate($_date)
|
||||
{
|
||||
if (!$_date)
|
||||
$date = date('Y-m-d', strtotime('now'));
|
||||
else
|
||||
$date = date('Y-m-d', strtotime($_date));
|
||||
|
||||
return $date;
|
||||
}
|
||||
|
||||
function _getStartDate($_date, $_end_date)
|
||||
{
|
||||
if (!$_date)
|
||||
{
|
||||
$_date = strtotime('-7 day', strtotime($_end_date));
|
||||
$date = date('Y-m-d', $_date);
|
||||
}
|
||||
else
|
||||
$date = date('Y-m-d', strtotime($_date));
|
||||
|
||||
return $date;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
<?php
|
||||
class analytics extends ModuleObject{
|
||||
var $api_url = 'http://analytics.openapi.naver.com/?method=%s&apikey=%s';
|
||||
|
||||
function moduleInstall(){
|
||||
$oModuleModel = &getModel('module');
|
||||
$oModuleController = &getController('module');
|
||||
|
||||
if (!$oModuleModel->getTrigger('display', 'analytics', 'controller', 'triggerBeforeDisplay', 'before'))
|
||||
$oModuleController->insertTrigger('display', 'analytics', 'controller', 'triggerBeforeDisplay', 'before');
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
function checkUpdate(){
|
||||
$oModuleModel = &getModel('module');
|
||||
|
||||
if (!$oModuleModel->getTrigger('display', 'analytics', 'controller', 'triggerBeforeDisplay', 'before')) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
function moduleUpdate(){
|
||||
$oModuleModel = &getModel('module');
|
||||
$oModuleController = &getController('module');
|
||||
|
||||
if (!$oModuleModel->getTrigger('display', 'analytics', 'controller', 'triggerBeforeDisplay', 'before'))
|
||||
$oModuleController->insertTrigger('display', 'analytics', 'controller', 'triggerBeforeDisplay', 'before');
|
||||
|
||||
}
|
||||
|
||||
function _getXMLData($api_key, $method, $param)
|
||||
{
|
||||
$url = $this->_getApiUrl($method, $api_key, $param);
|
||||
$data = FileHandler::getRemoteResource($url, null, 3, 'GET', '');
|
||||
|
||||
if (!$data) return new Object(-1, 'msg_invalid_request');
|
||||
|
||||
$oParser = new XmlParser;
|
||||
|
||||
$xml_obj = $oParser->parse($data);
|
||||
|
||||
return $xml_obj;
|
||||
}
|
||||
|
||||
function _getJSONData($api_key, $method, $param)
|
||||
{
|
||||
$param['jsonp'] = '?';
|
||||
|
||||
$url = $this->_getApiUrl($method, $api_key, $param);
|
||||
/* $data = FileHandler::getRemoteResource($url, null, 3, 'GET', '');
|
||||
|
||||
if (!$data) return new Object(-1, 'msg_invalid_request');
|
||||
|
||||
$json_data = json_decode($data);
|
||||
|
||||
debugPrint($json_data);*/
|
||||
return $url;
|
||||
}
|
||||
|
||||
|
||||
function _getApiUrl($method, $api_key, $param=array())
|
||||
{
|
||||
$url = sprintf($this->api_url, $method, $api_key);
|
||||
foreach($param as $key => $val)
|
||||
{
|
||||
$url = $url.'&'.$key.'='.$val;
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
<?php
|
||||
class analyticsController extends analytics {
|
||||
function init(){
|
||||
}
|
||||
|
||||
function triggerBeforeDisplay(&$obj){
|
||||
$responseMethod = Context::getResponseMethod();
|
||||
|
||||
if ($responseMethod != 'HTML')
|
||||
return;
|
||||
|
||||
$script = '<script type="text/javascript" src="http://static.analytics.openapi.naver.com/js/wcslog.js"></script><script type="text/javascript">if(!wcs_add) var wcs_add = {};wcs_add["wa"] = "AccoutId";wcs_do();</script>';
|
||||
Context::addHtmlFooter( $script );
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,483 +0,0 @@
|
|||
<?php
|
||||
class analyticsView extends analytics
|
||||
{
|
||||
function init()
|
||||
{
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
}
|
||||
|
||||
function dispAnalyticsAPIData()
|
||||
{
|
||||
$api_key = Context::get('api_key');
|
||||
$method = Context::get('method');
|
||||
$param = array();
|
||||
$start_date = Context::get('start_date');
|
||||
if ($start_date)
|
||||
$param['start_date'] = $start_date;
|
||||
|
||||
$end_date = Context::get('end_date');
|
||||
if ($end_date)
|
||||
$param['end_date'] = $end_date;
|
||||
|
||||
$xml_obj = $this->_getXMLData($api_key, $method, $param);
|
||||
|
||||
if (!$xml_obj || $xml_obj->response->error->body != 0) return new Object(-1, 'msg_invalid_request');
|
||||
|
||||
if(!method_exists(&$this, '_parse'.ucfirst($method))) return new Object(-1, 'msg_undefined_method');
|
||||
|
||||
$parsed_data = call_user_method('_parse'.ucfirst($method), &$this, $xml_obj);
|
||||
$parsed_data->method = $method;
|
||||
|
||||
Context::setResponseMethod('XMLRPC');
|
||||
Context::set('parsed_data', $parsed_data);
|
||||
|
||||
switch($method)
|
||||
{
|
||||
case 'visitStayTime':
|
||||
case 'visitBack':
|
||||
case 'visitPath':
|
||||
case 'comeEngine':
|
||||
case 'comeSearchText':
|
||||
$this->setTemplateFile('flash.pie.data');
|
||||
break;
|
||||
default :
|
||||
$this->setTemplateFile('flash.data');
|
||||
}
|
||||
}
|
||||
|
||||
function _parseVisit($xml_obj)
|
||||
{
|
||||
global $lang;
|
||||
|
||||
$response_obj = $xml_obj->response;
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
$parsed_data->unit = '일';
|
||||
|
||||
$parsed_data->data = array();
|
||||
$_tmp_array = $lang->analytics_api_valuname['visit'];
|
||||
array_shift($_tmp_array);
|
||||
$parsed_data->value_names = join("|", $_tmp_array);
|
||||
$_max = 0;
|
||||
|
||||
if (!$response_obj->data)
|
||||
{
|
||||
$parsed_data->data[date('YmdHis', strtotime($parsed_data->end_date))] = '0|0|0|0';
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
$parsed_data->data[date('YmdHis', strtotime($val->day->body))] = $val->uv->body.'|'.$val->visit_count->body.'|'.$val->newvisit_uv->body.'|'.$val->revisit_uv->body;
|
||||
$_row_max = max($val->uv->body, $val->visit_count->body, $val->newvisit_uv->body, $val->revisit_uv->body);
|
||||
if ($_max < $_row_max) $_max = $_row_max;
|
||||
}
|
||||
}
|
||||
$parsed_data->unitMax = $_max;
|
||||
|
||||
return $parsed_data;
|
||||
}
|
||||
|
||||
function _parseVisitPageView($xml_obj)
|
||||
{
|
||||
global $lang;
|
||||
|
||||
$response_obj = $xml_obj->response;
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
$parsed_data->unit = '일';
|
||||
|
||||
$parsed_data->data = array();
|
||||
$_tmp_array = $lang->analytics_api_valuname['visitPageView'];
|
||||
array_shift($_tmp_array);
|
||||
$parsed_data->value_names = join("|", $_tmp_array);
|
||||
|
||||
$_max = 0;
|
||||
|
||||
if (!$response_obj->data)
|
||||
{
|
||||
$parsed_data->data[date('YmdHis', strtotime($parsed_data->end_date))] = '0|0|0|0';
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
$parsed_data->data[date('YmdHis', strtotime($val->day->body))] = $val->pv->body.'|'
|
||||
.$val->pv_per_visit->body.'|'
|
||||
.$val->newvisit_pv->body.'|'
|
||||
.$val->revisit_pv->body;
|
||||
$_row_max = max($val->pv->body, $val->pv_per_visit->body, $val->newvisit_pv->body, $val->revisit_pv->body);
|
||||
if ($_max < $_row_max) $_max = $_row_max;
|
||||
}
|
||||
}
|
||||
$parsed_data->unitMax = $_max;
|
||||
|
||||
return $parsed_data;
|
||||
}
|
||||
|
||||
function _parseVisitTime($xml_obj)
|
||||
{
|
||||
global $lang;
|
||||
|
||||
$response_obj = $xml_obj->response;
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
$parsed_data->unit = '시간';
|
||||
|
||||
$parsed_data->data = array();
|
||||
$_tmp_array = $lang->analytics_api_valuname['visitTime'];
|
||||
array_shift($_tmp_array);
|
||||
$parsed_data->value_names = join("|", $_tmp_array);
|
||||
|
||||
$_max = 0;
|
||||
|
||||
if (!$response_obj->data)
|
||||
{
|
||||
$parsed_data->data[date('YmdHis', strtotime($parsed_data->end_date))] = '0|0|0|0|0';
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
$parsed_data->data[date('YmdHis', strtotime($val->day->body.'-'.$val->timezone->body))] = $val->sumvisit_count->body.'|'
|
||||
.$val->sumvisitor->body.'|'
|
||||
.$val->sumrevisitor->body.'|'
|
||||
.$val->sumnewvisitor->body.'|'
|
||||
.$val->sumpv->body;
|
||||
$_row_max = max($val->sumvisit_count->body, $val->sumvisitor->body, $val->sumrevisitor->body, $val->sumnewvisitor->body, $val->sumpv->body);
|
||||
if ($_max < $_row_max) $_max = $_row_max;
|
||||
}
|
||||
}
|
||||
$parsed_data->unitMax = $_max;
|
||||
|
||||
return $parsed_data;
|
||||
}
|
||||
|
||||
function _parseVisitDay($xml_obj)
|
||||
{
|
||||
global $lang;
|
||||
|
||||
$response_obj = $xml_obj->response;
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
$parsed_data->unit = '요일';
|
||||
|
||||
$parsed_data->data = array();
|
||||
$_tmp_array = $lang->analytics_api_valuname['visitDay'];
|
||||
array_shift($_tmp_array);
|
||||
$parsed_data->value_names = join("|", $_tmp_array);
|
||||
|
||||
$_max = 0;
|
||||
|
||||
if (!$response_obj->data)
|
||||
{
|
||||
$parsed_data->data[date('YmdHis', strtotime($parsed_data->end_date))] = '0|0|0|0|0';
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
$parsed_data->data[date('YmdHis', strtotime($val->day->body))] = $val->avgvisit->body.'|'
|
||||
.$val->avguv->body.'|'
|
||||
.$val->avgnewvisit->body.'|'
|
||||
.$val->avgrevisit->body.'|'
|
||||
.$val->avgpv->body;
|
||||
$_row_max = max($val->avgvisit->body, $val->avguv->body, $val->avgnewvisit->body, $val->avgrevisit->body, $val->avgpv->body);
|
||||
if ($_max < $_row_max) $_max = $_row_max;
|
||||
}
|
||||
}
|
||||
$parsed_data->unitMax = $_max;
|
||||
|
||||
return $parsed_data;
|
||||
}
|
||||
|
||||
function _parseVisitBack($xml_obj)
|
||||
{
|
||||
global $lang;
|
||||
|
||||
$response_obj = $xml_obj->response;
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
|
||||
if (!$response_obj->data) return new Object('msg_none_data');
|
||||
|
||||
$parsed_data->data = array();
|
||||
$_sum_etc = 0;
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
if ($val->freq->body < 7)
|
||||
{
|
||||
$parsed_data->data[$lang->analytics_api_valuname['visitBack'][$val->freq->body.'day']] = round($val->vc->body/$response_obj->countdata->sumtotalvc->body * 100);
|
||||
}
|
||||
else
|
||||
{
|
||||
$_sum_etc += $val->vc->body;
|
||||
}
|
||||
}
|
||||
$parsed_data->data[$lang->analytics_api_valuname['visitBack']['etc']] = round($_sum_etc / $response_obj->countdata->sumtotalvc->body * 100);
|
||||
|
||||
return $parsed_data;
|
||||
}
|
||||
|
||||
function _parseVisitStayTime($xml_obj)
|
||||
{
|
||||
global $lang;
|
||||
|
||||
$response_obj = $xml_obj->response;
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
|
||||
if (!$response_obj->countdata) return new Object('msg_none_data');
|
||||
|
||||
$parsed_data->data = array();
|
||||
|
||||
$total_count = $response_obj->countdata->sumtotalvc->body;
|
||||
$parsed_data->data[$lang->analytics_api_valuname['visitStayTime']['vc_under_30sec']] = round($response_obj->countdata->vc_under_30sec->body/$total_count * 100);
|
||||
$parsed_data->data[$lang->analytics_api_valuname['visitStayTime']['vc_31_60']] = round($response_obj->countdata->vc_31_60->body/$total_count * 100);
|
||||
$parsed_data->data[$lang->analytics_api_valuname['visitStayTime']['vc_2min']] = round($response_obj->countdata->vc_2min->body/$total_count * 100);
|
||||
$parsed_data->data[$lang->analytics_api_valuname['visitStayTime']['vc_3min']] = round($response_obj->countdata->vc_3min->body/$total_count * 100);
|
||||
$parsed_data->data[$lang->analytics_api_valuname['visitStayTime']['vc_4min']] = round($response_obj->countdata->vc_4min->body/$total_count * 100);
|
||||
$parsed_data->data[$lang->analytics_api_valuname['visitStayTime']['vc_5min']] = round($response_obj->countdata->vc_5min->body/$total_count * 100);
|
||||
$parsed_data->data[$lang->analytics_api_valuname['visitStayTime']['vc_10min']] = round($response_obj->countdata->vc_10min->body/$total_count * 100);
|
||||
$parsed_data->data[$lang->analytics_api_valuname['visitStayTime']['vc_30min']] = round($response_obj->countdata->vc_30min->body/$total_count * 100);
|
||||
$parsed_data->data[$lang->analytics_api_valuname['visitStayTime']['vc_60min']] = round($response_obj->countdata->vc_60min->body/$total_count * 100);
|
||||
$parsed_data->data[$lang->analytics_api_valuname['visitStayTime']['vc_60high']] = round($response_obj->countdata->vc_60high->body/$total_count * 100);
|
||||
|
||||
return $parsed_data;
|
||||
}
|
||||
|
||||
function _parseVisitPath($xml_obj)
|
||||
{
|
||||
global $lang;
|
||||
|
||||
$response_obj = $xml_obj->response;
|
||||
|
||||
// debugPrint($response_obj);
|
||||
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
|
||||
if (!$response_obj->data) return new Object('msg_none_data');
|
||||
|
||||
$parsed_data->data = array();
|
||||
|
||||
$_sum_data = array('one'=>0
|
||||
,'four'=>0
|
||||
,'ten'=>0
|
||||
,'fifteen'=>0
|
||||
,'twenty'=>0
|
||||
,'thirty'=>0
|
||||
,'fourty'=>0
|
||||
,'fifty'=>0
|
||||
,'high'=>0);
|
||||
$_total = 0;
|
||||
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
$_sum_data['one'] += $val->one->body;
|
||||
$_sum_data['four'] += $val->four->body;
|
||||
$_sum_data['ten'] += $val->ten->body;
|
||||
$_sum_data['fifteen'] += $val->fifteen->body;
|
||||
$_sum_data['twenty'] += $val->twenty->body;
|
||||
$_sum_data['thirty'] += $val->thirty->body;
|
||||
$_sum_data['fourty'] += $val->fourty->body;
|
||||
$_sum_data['fifty']+= $val->fifty->body;
|
||||
$_sum_data['high'] += $val->high->body;
|
||||
$_total += $val->visit->body;
|
||||
}
|
||||
|
||||
foreach($_sum_data as $key => $val)
|
||||
{
|
||||
$parsed_data->data[$lang->analytics_api_valuname['visitPath'][$key]] = round($val / $_total * 100);
|
||||
}
|
||||
|
||||
return $parsed_data;
|
||||
}
|
||||
|
||||
|
||||
//유입분석
|
||||
function _parseComeEngine($xml_obj)
|
||||
{
|
||||
$response_obj = $xml_obj->response;
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
|
||||
if (!$response_obj->data) return new Object('msg_none_data');
|
||||
|
||||
$parsed_data->data = array();
|
||||
$_sum_total = 0;
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
$_sum_total += $val->sumqc->body;
|
||||
}
|
||||
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
$parsed_data->data[$val->searchengine->body] = sprintf('%0.2f', $val->sumqc->body / $_sum_total * 100);
|
||||
}
|
||||
|
||||
debugPrint($parsed_data);
|
||||
return $parsed_data;
|
||||
}
|
||||
|
||||
function _parseComeSearchText($xml_obj)
|
||||
{
|
||||
global $lang;
|
||||
|
||||
$response_obj = $xml_obj->response;
|
||||
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
|
||||
if (!$response_obj->data) return new Object('msg_none_data');
|
||||
|
||||
$parsed_data->data = array();
|
||||
|
||||
$_sum_total = $response_obj->data_totalpv->body;
|
||||
|
||||
$_etc = 0;
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
if ($key <= 4)
|
||||
$_etc += $val->sumqc->body;
|
||||
}
|
||||
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
if($key > 4)
|
||||
break;
|
||||
|
||||
$parsed_data->data[$val->query->body] = round($val->sumqc->body / $_sum_total * 100);
|
||||
}
|
||||
|
||||
$parsed_data->data[$lang->etc] = round(($_sum_total - $_etc) / $_sum_total * 100);
|
||||
|
||||
return $parsed_data;
|
||||
}
|
||||
|
||||
/* function _parseComeUrl($xml_obj)
|
||||
{
|
||||
$response_obj = $xml_obj->response;
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
$parsed_data->days = array();
|
||||
$parsed_data->pvs = array();
|
||||
$parsed_data->pv_per_visits = array();
|
||||
$parsed_data->newvisit_pvs = array();
|
||||
$parsed_data->revisit_pvs = array();
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
$parsed_data->days, $val->day->body);
|
||||
$parsed_data->pvs, $val->pv->body);
|
||||
$parsed_data->pv_per_visits, $val->pv_per_visit->body);
|
||||
$parsed_data->newvisit_pvs, $val->newvisit_pv->body);
|
||||
$parsed_data->revisit_pvs, $val->revisit_pv->body);
|
||||
}
|
||||
return $parsed_data;
|
||||
}
|
||||
|
||||
// 페이지 분석
|
||||
function _parsePagePop($xml_obj)
|
||||
{
|
||||
$response_obj = $xml_obj->response;
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
$parsed_data->days = array();
|
||||
$parsed_data->pvs = array();
|
||||
$parsed_data->pv_per_visits = array();
|
||||
$parsed_data->newvisit_pvs = array();
|
||||
$parsed_data->revisit_pvs = array();
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
$parsed_data->days, $val->day->body);
|
||||
$parsed_data->pvs, $val->pv->body);
|
||||
$parsed_data->pv_per_visits, $val->pv_per_visit->body);
|
||||
$parsed_data->newvisit_pvs, $val->newvisit_pv->body);
|
||||
$parsed_data->revisit_pvs, $val->revisit_pv->body);
|
||||
}
|
||||
return $parsed_data;
|
||||
}
|
||||
|
||||
function _parsePageDrillDown($xml_obj)
|
||||
{
|
||||
$response_obj = $xml_obj->response;
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
$parsed_data->days = array();
|
||||
$parsed_data->pvs = array();
|
||||
$parsed_data->pv_per_visits = array();
|
||||
$parsed_data->newvisit_pvs = array();
|
||||
$parsed_data->revisit_pvs = array();
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
$parsed_data->days, $val->day->body);
|
||||
$parsed_data->pvs, $val->pv->body);
|
||||
$parsed_data->pv_per_visits, $val->pv_per_visit->body);
|
||||
$parsed_data->newvisit_pvs, $val->newvisit_pv->body);
|
||||
$parsed_data->revisit_pvs, $val->revisit_pv->body);
|
||||
}
|
||||
return $parsed_data;
|
||||
}
|
||||
|
||||
function _parsePageStart($xml_obj)
|
||||
{
|
||||
$response_obj = $xml_obj->response;
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
$parsed_data->days = array();
|
||||
$parsed_data->pvs = array();
|
||||
$parsed_data->pv_per_visits = array();
|
||||
$parsed_data->newvisit_pvs = array();
|
||||
$parsed_data->revisit_pvs = array();
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
$parsed_data->days, $val->day->body);
|
||||
$parsed_data->pvs, $val->pv->body);
|
||||
$parsed_data->pv_per_visits, $val->pv_per_visit->body);
|
||||
$parsed_data->newvisit_pvs, $val->newvisit_pv->body);
|
||||
$parsed_data->revisit_pvs, $val->revisit_pv->body);
|
||||
}
|
||||
return $parsed_data;
|
||||
}
|
||||
function _parsePageEnd($xml_obj)
|
||||
{
|
||||
$response_obj = $xml_obj->response;
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
$parsed_data->days = array();
|
||||
$parsed_data->pvs = array();
|
||||
$parsed_data->pv_per_visits = array();
|
||||
$parsed_data->newvisit_pvs = array();
|
||||
$parsed_data->revisit_pvs = array();
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
$parsed_data->days, $val->day->body);
|
||||
$parsed_data->pvs, $val->pv->body);
|
||||
$parsed_data->pv_per_visits, $val->pv_per_visit->body);
|
||||
$parsed_data->newvisit_pvs, $val->newvisit_pv->body);
|
||||
$parsed_data->revisit_pvs, $val->revisit_pv->body);
|
||||
}
|
||||
return $parsed_data;
|
||||
}
|
||||
function _parsePageReturn($xml_obj)
|
||||
{
|
||||
$response_obj = $xml_obj->response;
|
||||
$parsed_data->end_date = $response_obj->end_date->body;
|
||||
$parsed_data->start_date = $response_obj->start_date->body;
|
||||
$parsed_data->days = array();
|
||||
$parsed_data->pvs = array();
|
||||
$parsed_data->pv_per_visits = array();
|
||||
$parsed_data->newvisit_pvs = array();
|
||||
$parsed_data->revisit_pvs = array();
|
||||
foreach($response_obj->data as $key => $val)
|
||||
{
|
||||
$parsed_data->days, $val->day->body);
|
||||
$parsed_data->pvs, $val->pv->body);
|
||||
$parsed_data->pv_per_visits, $val->pv_per_visit->body);
|
||||
$parsed_data->newvisit_pvs, $val->newvisit_pv->body);
|
||||
$parsed_data->revisit_pvs, $val->revisit_pv->body);
|
||||
}
|
||||
return $parsed_data;
|
||||
}
|
||||
*/
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module version="0.2">
|
||||
<title xml:lang="ko">analytics</title>
|
||||
<description xml:lang="ko">analytics</description>
|
||||
<version>0.2</version>
|
||||
<date>2010-08-02</date>
|
||||
<category>statistics</category>
|
||||
<author email="devjin@nhn.com" link="">
|
||||
<name xml:lang="ko">bumjin</name>
|
||||
</author>
|
||||
</module>
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<module>
|
||||
<grants/>
|
||||
<actions>
|
||||
<action name="dispAnalyticsAdminContent" type="view" admin_index="true" standalone="true" />
|
||||
<action name="dispAnalyticsVisitInfoAdminContent" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsComeInfoAdminContent" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsPageInfoAdminContent" type="view" standalone="true" />
|
||||
|
||||
<action name="dispAnalyticsVisitInfoAdminVisitChart" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsVisitInfoAdminVisitPageViewChart" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsVisitInfoAdminVisitTimeChart" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsVisitInfoAdminVisitDayChart" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsVisitInfoAdminVisitBackChart" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsVisitInfoAdminVisitStayTimeChart" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsVisitInfoAdminVisitPathChart" type="view" standalone="true" />
|
||||
|
||||
<action name="dispAnalyticsComeInfoAdminComeEngineChart" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsComeInfoAdminComeSearchTextChart" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsComeInfoAdminComeUrlChart" type="view" standalone="true" />
|
||||
|
||||
<action name="dispAnalyticsPageInfoAdminPagePopChart" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsPageInfoAdminPageDrillDownChart" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsPageInfoAdminPageStartChart" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsPageInfoAdminPageEndChart" type="view" standalone="true" />
|
||||
<action name="dispAnalyticsPageInfoAdminPageReturnChart" type="view" standalone="true" />
|
||||
|
||||
<action name="dispAnalyticsAPIData" type="view" />
|
||||
|
||||
<action name="procAnalyticsAdminInsertAPIKey" type="controller" standalone="true" />
|
||||
</actions>
|
||||
</module>
|
||||
Binary file not shown.
|
|
@ -1,159 +0,0 @@
|
|||
<?php
|
||||
$lang->analytics = 'Analytics';
|
||||
$lang->about_analytics = 'Analytics모듈은 사이트에 접근한 방문자의 패턴을 분석하여 차트로 노출합니다. 다양한 분석결과를 제공하므로 사이트 구성 및 운영에 참고할 수 있습니다.';
|
||||
|
||||
$lang->detail_info = '상세정보';
|
||||
|
||||
$lang->week_name = array();
|
||||
$lang->week_name['0'] = '일요일';
|
||||
$lang->week_name['1'] = '월요일';
|
||||
$lang->week_name['2'] = '화요일';
|
||||
$lang->week_name['3'] = '수요일';
|
||||
$lang->week_name['4'] = '목요일';
|
||||
$lang->week_name['5'] = '금요일';
|
||||
$lang->week_name['6'] = '토요일';
|
||||
|
||||
$lang->after_day = '일 후';
|
||||
$lang->sum_total = '합계';
|
||||
|
||||
$lang->minute = '분';
|
||||
$lang->second = '초';
|
||||
$lang->etc = '기타';
|
||||
|
||||
$lang->cmd_analytics_info = 'Analytics정보';
|
||||
$lang->cmd_analytics_visit_info = '방문자 분석';
|
||||
$lang->cmd_analytics_come_info = '유입경로 분석';
|
||||
$lang->cmd_analytics_page_info = '페이지 분석';
|
||||
$lang->cmd_analytics_date_set = '기간 설정';
|
||||
$lang->cmd_analytics_end_date_set = '날짜';
|
||||
|
||||
$lang->analytics_api_key = 'API KEY 정보';
|
||||
$lang->cmd_check_analytics_api_key = 'API KEY 확인';
|
||||
$lang->about_analytics_api_key = '공식사이트에서 발급받은 API KEY를 등록합니다.';
|
||||
$lang->analytics_visit_info_config = '방문자 분석 설정';
|
||||
$lang->analytics_come_info_config = '유입경로 분석 설정';
|
||||
$lang->analytics_page_info_config = '페이지 분석 설정';
|
||||
|
||||
$lang->analytics_api_method = array(
|
||||
'visit' => '방문현황'
|
||||
,'visitPageView' => '페이지뷰'
|
||||
,'visitTime' => '시간대별 방문 분포'
|
||||
,'visitDay' => '요일별 방문 분포'
|
||||
,'visitBack' => '재방문 간격'
|
||||
,'visitStayTime' => '방문 체류시간'
|
||||
,'visitPath' => '방문 경로 깊이'
|
||||
,'comeEngine' => '유입검색엔진'
|
||||
,'comeSearchText' => '유입검색어'
|
||||
,'comeUrl' => '유입상세URL'
|
||||
,'pagePop' => '인기페이지'
|
||||
,'pageDrillDown' => '페이지 드릴다운'
|
||||
,'pageStart' => '방문시작페이지'
|
||||
,'pageEnd' => '종료페이지'
|
||||
,'pageReturn' => '반송페이지');
|
||||
|
||||
$lang->analytics_api_valuname = array('visit' => array('day' =>'날짜'
|
||||
,'uv' => '방문자수'
|
||||
,'visit_count' => '방문횟수'
|
||||
,'newvisit_uv'=> '신규 방문자수'
|
||||
, 'revisit_uv'=>'재방문자수')
|
||||
,'visitPageView' => array('day' => '날짜'
|
||||
,'pv' => '페이지뷰'
|
||||
,'pv_per_visit'=>'방문당 페이지뷰'
|
||||
,'newvisit_pv' => '신규 방문자 페이지뷰'
|
||||
,'revisit_pv' =>'재방문자 페이지뷰')
|
||||
,'visitTime' => array('timezone' => '시간대'
|
||||
,'sumvisit_count' => '방문횟수 평균'
|
||||
,'sumvisitor' => '방문자수 평균'
|
||||
, 'sumrevisitor' => '재방문자수 평균'
|
||||
, 'sumnewvisitor' => '신규방문자수 평균'
|
||||
, 'sumpv' => '페이지뷰 평균')
|
||||
,'visitDay' => array('week' => '요일'
|
||||
,'avgvisit' => '평균방문횟수'
|
||||
,'avguv' => '평균방문자수'
|
||||
,'avgnewvisit' => '평균신규방문자수'
|
||||
,'avgrevisit' => '평균재방문자수'
|
||||
,'avgpv' => '평균페이지뷰')
|
||||
,'visitBack' => array('freq' => '재방문주기'
|
||||
,'vc' => '방문횟수'
|
||||
,'1day' => '1일'
|
||||
,'2day' => '2일'
|
||||
,'4day' => '4일'
|
||||
,'5day' => '5일'
|
||||
,'6day' => '6일'
|
||||
,'etc' => '기타')
|
||||
,'visitStayTime' => array('day'=>'날짜'
|
||||
,'avgStayTime' => '평균체류시간(초)'
|
||||
,'vc' => '방문횟수'
|
||||
,'vc_under_30sec' =>'30초이하'
|
||||
,'vc_31_60' => '31초~60초'
|
||||
,'vc_2min' => '2분'
|
||||
,'vc_3min' => '3분'
|
||||
,'vc_4min' => '4분'
|
||||
,'vc_5min' => '5분'
|
||||
,'vc_10min' => '10분'
|
||||
,'vc_30min' => '30분'
|
||||
,'vc_60min' => '1시간이하'
|
||||
,'vc_60high' =>'1시간이상')
|
||||
,'visitPath' => array('day'=>'날짜'
|
||||
,'visit' =>'방문횟수'
|
||||
,'pv' =>'페이지뷰'
|
||||
,'one'=>'1페이지'
|
||||
,'four'=>'2-4페이지'
|
||||
,'ten'=>'5-10페이지'
|
||||
,'fifteen'=>'11-15페이지'
|
||||
,'twenty'=>'16-20페이지'
|
||||
,'thirty'=>'21-30페이지'
|
||||
,'fourty'=>'31-40페이지'
|
||||
,'fifty'=>'41-50페이지'
|
||||
,'high'=>'51페이지이상')
|
||||
,'comeEngine' => array('rank'=>'순위'
|
||||
,'searchengine'=>'검색엔진'
|
||||
,'sumqc'=>'유입수'
|
||||
,'percent'=>'유입률')
|
||||
,'comeSearchText' => array('rank'=>'순위'
|
||||
,'query'=>'검색어'
|
||||
,'sumqc'=>'유입수'
|
||||
,'percent'=>'유입률')
|
||||
,'comeUrl' => array('rank'=>'순위'
|
||||
,'url'=>'페이지 URL'
|
||||
,'sumpv'=>'페이지뷰'
|
||||
,'percent'=>'비율')
|
||||
,'pagePop' => array('rank'=>'순위'
|
||||
,'url'=>'페이지 URL'
|
||||
,'sumpv'=>'페이지뷰'
|
||||
,'percent'=>'비율')
|
||||
,'pageDrillDown' => array('rank'=>'순위'
|
||||
,'url'=>'페이지 URL'
|
||||
,'sumpv'=>'페이지뷰'
|
||||
,'sumunqpv'=>'Uniq 페이지뷰'
|
||||
,'sumdutime'=>'체류시간'
|
||||
,'sumbounce'=>'반송률'
|
||||
,'sumexit'=>'유출률'
|
||||
,'sumstart'=>'페이지뷰 비율')
|
||||
,'pageStart' => array('rank'=>'순위'
|
||||
,'url'=>'페이지 URL'
|
||||
,'sumpv'=>'페이지뷰'
|
||||
,'percent'=>'비율')
|
||||
,'pageEnd' => array('rank'=>'순위'
|
||||
,'url'=>'페이지 URL'
|
||||
,'sumpv'=>'페이지뷰'
|
||||
,'percent'=>'비율')
|
||||
,'pageReturn' => array('rank'=>'순위'
|
||||
,'url'=>'페이지 URL'
|
||||
,'sumpv'=>'페이지뷰'
|
||||
,'percent'=>'비율'));
|
||||
|
||||
$lang->about_analytics_method = array('visit' => '설정된 기간내에 방문한 사용자의 통계 정보입니다.<br/>방문횟수 : 사이트 방문자 중 30분이내 재방문자를 제외한 사이트의 전체 방문자수를 의미 합니다.<br/>방문자수 : 방문횟수에서 중복 방문자수를 제외한 순수 방문자수를 의미합니다.<br/>신규방문자수 : 1개월 동안 한번도 사이트에 방문하지 않았던 방문자 수입니다.<br/>재방문자수 : 1개월 이내에 다시 사이트에 방문한 방문자 수 입니다.'
|
||||
,'visitPageView' => '설정된 기간내에 방문한 사용자가 확인한 페이지의 통계 데이터입니다.<br/>페이지뷰 : 방문자들이 사이트에 방문하여 열어 본 페이지 수(중복페이지 포함)의 총합입니다.<br/>방문당페이지뷰 : 방문당 페이지뷰의 평균 데이터 입니다.<br/>신규 방문자 페이지뷰 : 1개월 동안 한번도 사이트에 방문하지 않았던 방문자의 페이지뷰 총합입니다.<br/>재방문자 페이지뷰 : 1개월 이내에 다시 사이트에 방문한 방문자의 페이지뷰 총합입니다.'
|
||||
,'visitTime' => '설정된 기간내의 특정 시간대별 방문자 수 통계 정보입니다.'
|
||||
,'visitDay' => '설정된 기간내의 요일별 방문자 수 통계 정보입니다.'
|
||||
,'visitBack' => '특정 날짜를 중심으로 재방문한 방문자수 통계 정보입니다.'
|
||||
,'visitStayTime' => '설정된 기간내에 방문한 사용자의 사이트 체류 시간 통계 데이터입니다.'
|
||||
,'visitPath' => '방문시 열람한 페이지(중복 페이지 포함)의 통계 데이터입니다.'
|
||||
,'comeUrl' => '방문자가 어떤 URL을 통해 유입되는지에 대한 통계 데이터입니다.'
|
||||
,'pagePop' =>'방문자가 많이 열어본 페이지 데이터 입니다.'
|
||||
,'pageDrillDown' =>'사이트의 페이지별 페이지뷰, 방문자 체류시간, 반송율(해당 페이지가 시작페이지이면서 동시에 종료페이지인 경우), 유출율에 대한 통계 데이터입니다.'
|
||||
,'pageStart' =>'사이트의 방문이 시작된 페이지의 통계 데이터입니다.'
|
||||
,'pageEnd' =>'사이트의 방문이 종료된 페이지의 통계 데이터입니다.'
|
||||
,'pageReturn' =>'사이트의 방문이 시작되고 동시에 종료된 페이지의 통계 데이터입니다.');
|
||||
?>
|
||||
Binary file not shown.
|
|
@ -1,188 +0,0 @@
|
|||
<!--#include('./come_info_header.html')-->
|
||||
<h3 class="xeAdmin"><span class="gray">{$lang->analytics_api_method[$method]}</span></h3>
|
||||
<p>{$lang->about_analytics_method[$method]}</p>
|
||||
<!--#include('./date_set_header.html')-->
|
||||
<div>
|
||||
{@$__url = getNotEncodedFullUrl('', 'module', 'analytics', 'act', 'dispAnalyticsAPIData', 'api_key', $api_key, 'method', $method, 'start_date', $start_date, 'end_date', $end_date)}
|
||||
<script type="text/javascript">
|
||||
var analyticsChartSWFURL = '';
|
||||
var flashVars = '';
|
||||
<!--@if($chart_type == 'line')-->
|
||||
flashVars = "designURL=modules/analytics/tpl/images/xml/{$method}.xml&"+
|
||||
"isScroll=true&"+
|
||||
"dataURL="+encodeURIComponent("{$__url}");
|
||||
analyticsChartSWFURL = "modules/analytics/tpl/images/WebLog.swf";
|
||||
<!--@else if($chart_type == 'pie')-->
|
||||
flashVars = "baseURL=modules/analytics/tpl/images/smRepoter/&" +
|
||||
"dSet=01&" +
|
||||
"gDataXML="+encodeURIComponent("{$__url}");
|
||||
analyticsChartSWFURL = "modules/analytics/tpl/images/MainContainer.swf";
|
||||
<!--@end-->
|
||||
var obj = {};
|
||||
obj.flashVars = flashVars;
|
||||
obj.wmode = "transparent";
|
||||
nhn.FlashObject.show(analyticsChartSWFURL, "{$method}", 700, 315, obj);
|
||||
</script>
|
||||
</div>
|
||||
<div id="dataTable"></div>
|
||||
<div class="pagination a1" id="pageNavi"></div>
|
||||
{@$_t=$lang->analytics_api_valuname[$method];}
|
||||
<script type="text/javascript">
|
||||
var oAnalyticsValueName = {};
|
||||
<!--@foreach($_t as $key => $val)-->
|
||||
oAnalyticsValueName['{$key}'] = '{$val}';
|
||||
<!--@end-->
|
||||
|
||||
var oAnalyticsWeekName = {};
|
||||
<!--@foreach($_week_name as $key => $val)-->
|
||||
oAnalyticsWeekName['{$key}'] = '{$val}';
|
||||
<!--@end-->
|
||||
|
||||
var sAnalyticsTotal = '{$lang->sum_total}';
|
||||
var sAnalyticsAfterDay = '{$lang->after_day}';
|
||||
var sAnalyticsTableCaption = '{$lang->analytics_api_method[$method]} ' + '{$lang->detail_info}';
|
||||
|
||||
jQuery.getJSON('{$json_url}'
|
||||
,function(data){
|
||||
var aTableData = data.response.data;
|
||||
|
||||
if (!aTableData)
|
||||
return;
|
||||
|
||||
var oSumData = {};
|
||||
var aTableHead = [];
|
||||
var aTableBody = [];
|
||||
|
||||
var table_tag;
|
||||
var table_head;
|
||||
var table_body;
|
||||
|
||||
var key;
|
||||
var i;
|
||||
var dataKey;
|
||||
var nValue;
|
||||
|
||||
aTableHead.push(oAnalyticsValueName['rank']);
|
||||
// table head생성
|
||||
for(key in aTableData[0])
|
||||
{
|
||||
if (key == 'day')
|
||||
continue;
|
||||
|
||||
oSumData[key] = 0;
|
||||
aTableHead.push(oAnalyticsValueName[key]);
|
||||
}
|
||||
aTableHead.push(oAnalyticsValueName['percent']);
|
||||
table_head = '<thead><tr><th scope="col">' + aTableHead.join('</th><th scope="col">') +'</th></tr></thead>';
|
||||
|
||||
|
||||
// table body생성
|
||||
table_body = '<tbody>';
|
||||
|
||||
var percentData = 0;
|
||||
var sPercentTD = '';
|
||||
var imageWidth = 0;
|
||||
var sumpv = 0;
|
||||
|
||||
<!--@if($page)-->
|
||||
var nCurrentPage = {$page};
|
||||
<!--@else-->
|
||||
var nCurrentPage = 1;
|
||||
<!--@end-->
|
||||
var nRank = (nCurrentPage - 1) * 20;
|
||||
|
||||
for(i = 0; i < aTableData.length; i++)
|
||||
{
|
||||
aTableBody = [];
|
||||
aTableBody.push(nRank + i + 1);
|
||||
for (dataKey in aTableData[i])
|
||||
{
|
||||
if (dataKey == 'day')
|
||||
continue;
|
||||
|
||||
nValue = aTableData[i][dataKey];
|
||||
// 날짜형 데이터의 경우 parseFloat건너 뜀
|
||||
if (nValue.indexOf('-') < 0)
|
||||
{
|
||||
nValue = parseFloat(nValue);
|
||||
oSumData[dataKey] += nValue;
|
||||
}
|
||||
|
||||
// 문자열 데이터인 경우 원본 그대로 입력한다.
|
||||
if (isNaN(nValue))
|
||||
{
|
||||
nValue = aTableData[i][dataKey];
|
||||
}
|
||||
|
||||
aTableBody.push(nValue);
|
||||
}
|
||||
sumpv = parseInt(aTableData[i]['sumqc']);
|
||||
if (sumpv > 0)
|
||||
{
|
||||
percentData = Math.round(sumpv / data.response.data_totalpv * 10000)/100;
|
||||
imageWidth = Math.round(percentData);
|
||||
}
|
||||
else
|
||||
{
|
||||
percentData = 0;
|
||||
imageWidth = 1;
|
||||
}
|
||||
|
||||
if (percentData < 1)
|
||||
{
|
||||
sPercentTD = '<img class="graphHr" style="width:3px" alt="" src="./images/iconBar.gif" />';
|
||||
}
|
||||
else
|
||||
{
|
||||
sPercentTD = '<img class="graphHr" style="width:'+imageWidth +'%" alt="" src="./images/iconBar.gif" />'
|
||||
}
|
||||
sPercentTD += percentData + '%';
|
||||
|
||||
table_body += '<tr><td>' + aTableBody.join('</td><td>') + '</td><td class="wide">' + sPercentTD + '</td></tr>';
|
||||
}
|
||||
|
||||
aTableBody = [];
|
||||
table_body += '<tr><td colspan=2>'+sAnalyticsTotal+'</td>';
|
||||
aTableBody = [data.response.data_totalpv, '100%'];
|
||||
table_body += '<td>' + aTableBody.join('</td><td>') + '</td></tr></tbody>';
|
||||
|
||||
table_tag = '<table cellspacing="0" class="rowTable"><caption>'+sAnalyticsTableCaption + '</caption>' + table_head + table_body + '</table>';
|
||||
|
||||
jQuery("#dataTable").html(table_tag);
|
||||
|
||||
//페이지가 없는 경우 return
|
||||
if (!data.response.page_total_count || data.response.page_total_count < 1)
|
||||
return;
|
||||
// pageNavigation 생성
|
||||
var sFirstPage = '{$lang->first_page}';
|
||||
var sLastPage = '{$lang->last_page}';
|
||||
var nStartPageNumbering = nCurrentPage - 2;
|
||||
nStartPageNumbering = (nStartPageNumbering < 1)?1:nStartPageNumbering;
|
||||
var sPageNaviTag = '';
|
||||
var aPageNavi = [];
|
||||
var sPageURL = '{getUrl("page","","module_srl","")}'
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
if (nStartPageNumbering > data.response.page_total_count)
|
||||
break;
|
||||
|
||||
if (nCurrentPage == nStartPageNumbering)
|
||||
{
|
||||
aPageNavi.push('<strong>'+ nStartPageNumbering + '</strong>');
|
||||
}
|
||||
else
|
||||
{
|
||||
aPageNavi.push('<a href="' + sPageURL + '&page=' + nStartPageNumbering + '">' + nStartPageNumbering + '</a>');
|
||||
}
|
||||
nStartPageNumbering++;
|
||||
}
|
||||
|
||||
sPageNaviTag = '<a href="' + sPageURL + '" class="prevEnd">' + sFirstPage + '</a>'
|
||||
+ aPageNavi.join('')
|
||||
+ '<a href="' + sPageURL + '&page=' + data.response.page_total_count + '" class="nextEnd">' + sLastPage + '</a>';
|
||||
|
||||
|
||||
jQuery("#pageNavi").html(sPageNaviTag);
|
||||
|
||||
});
|
||||
</script>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<!--#include('./header.html')-->
|
||||
<!--%import("js/flashObject.js")-->
|
||||
<div>
|
||||
<ul class="localNavigation">
|
||||
<li <!--@if($act=='dispAnalyticsComeInfoAdminComeEngineChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsComeInfoAdminComeEngineChart', 'module_srl', '')}">{$lang->analytics_api_method['comeEngine']}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsComeInfoAdminComeSearchTextChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsComeInfoAdminComeSearchTextChart', 'module_srl', '')}">{$lang->analytics_api_method['comeSearchText']}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsComeInfoAdminComeUrlChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsComeInfoAdminComeUrlChart', 'module_srl', '')}">{$lang->analytics_api_method['comeUrl']}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
@ -1,163 +0,0 @@
|
|||
<!--#include('./come_info_header.html')-->
|
||||
<h3 class="xeAdmin"><span class="gray">{$lang->analytics_api_method[$method]}</span></h3>
|
||||
<p>{$lang->about_analytics_method[$method]}</p>
|
||||
<!--#include('./date_set_header.html')-->
|
||||
<div id="dataTable"></div>
|
||||
<div class="pagination a1" id="pageNavi"></div>
|
||||
{@$_t=$lang->analytics_api_valuname[$method];}
|
||||
<script type="text/javascript">
|
||||
var oAnalyticsValueName = {};
|
||||
<!--@foreach($_t as $key => $val)-->
|
||||
oAnalyticsValueName['{$key}'] = '{$val}';
|
||||
<!--@end-->
|
||||
|
||||
var oAnalyticsWeekName = {};
|
||||
<!--@foreach($_week_name as $key => $val)-->
|
||||
oAnalyticsWeekName['{$key}'] = '{$val}';
|
||||
<!--@end-->
|
||||
|
||||
var sAnalyticsTotal = '{$lang->sum_total}';
|
||||
var sAnalyticsAfterDay = '{$lang->after_day}';
|
||||
var sAnalyticsTableCaption = '{$lang->analytics_api_method[$method]} ' + '{$lang->detail_info}';
|
||||
|
||||
jQuery.getJSON('{$json_url}'
|
||||
,function(data){
|
||||
var aTableData = data.response.data;
|
||||
|
||||
if (!aTableData)
|
||||
return;
|
||||
|
||||
var oSumData = {};
|
||||
var aTableHead = [];
|
||||
var aTableBody = [];
|
||||
|
||||
var table_tag;
|
||||
var table_head;
|
||||
var table_body;
|
||||
|
||||
var key;
|
||||
var i;
|
||||
var dataKey;
|
||||
var nValue;
|
||||
|
||||
aTableHead.push('rank');
|
||||
// table head생성
|
||||
for(key in aTableData[0])
|
||||
{
|
||||
if (key == 'day')
|
||||
continue;
|
||||
|
||||
oSumData[key] = 0;
|
||||
aTableHead.push(oAnalyticsValueName[key]);
|
||||
}
|
||||
aTableHead.push(oAnalyticsValueName['percent']);
|
||||
table_head = '<thead><tr><th scope="col">' + aTableHead.join('</th><th scope="col">') +'</th></tr></thead>';
|
||||
|
||||
|
||||
// table body생성
|
||||
table_body = '<tbody>';
|
||||
|
||||
var percentData = 0;
|
||||
var sPercentTD = '';
|
||||
var imageWidth = 0;
|
||||
var sumpv = 0;
|
||||
|
||||
<!--@if($page)-->
|
||||
var nCurrentPage = {$page};
|
||||
<!--@else-->
|
||||
var nCurrentPage = 1;
|
||||
<!--@end-->
|
||||
var nRank = (nCurrentPage - 1) * 20;
|
||||
|
||||
for(i = 0; i < aTableData.length; i++)
|
||||
{
|
||||
aTableBody = [];
|
||||
aTableBody.push(nRank + i + 1);
|
||||
for (dataKey in aTableData[i])
|
||||
{
|
||||
if (dataKey == 'day')
|
||||
continue;
|
||||
|
||||
nValue = aTableData[i][dataKey];
|
||||
// 날짜형 데이터의 경우 parseFloat건너 뜀
|
||||
if (nValue.indexOf('-') < 0)
|
||||
{
|
||||
nValue = parseFloat(nValue);
|
||||
oSumData[dataKey] += nValue;
|
||||
}
|
||||
|
||||
// 문자열 데이터인 경우 원본 그대로 입력한다.
|
||||
if (isNaN(nValue))
|
||||
{
|
||||
nValue = aTableData[i][dataKey];
|
||||
}
|
||||
|
||||
aTableBody.push(nValue);
|
||||
}
|
||||
sumpv = parseInt(aTableData[i]['sumpv']);
|
||||
if (sumpv > 0)
|
||||
{
|
||||
percentData = Math.round(sumpv / data.response.data_totalpv * 10000)/100;
|
||||
imageWidth = Math.round(percentData);
|
||||
}
|
||||
else
|
||||
{
|
||||
percentData = 0;
|
||||
imageWidth = 1;
|
||||
}
|
||||
|
||||
if (percentData < 1)
|
||||
{
|
||||
sPercentTD = '<img class="graphHr" style="width:3px" alt="" src="./images/iconBar.gif" />';
|
||||
}
|
||||
else
|
||||
{
|
||||
sPercentTD = '<img class="graphHr" style="width:'+imageWidth +'%" alt="" src="./images/iconBar.gif" />'
|
||||
}
|
||||
sPercentTD += percentData + '%';
|
||||
|
||||
table_body += '<tr><td>' + aTableBody.join('</td><td>') + '</td><td class="wide">' + sPercentTD + '</td></tr>';
|
||||
}
|
||||
|
||||
aTableBody = [];
|
||||
table_body += '<tr><td colspan=2>'+sAnalyticsTotal+'</td>';
|
||||
aTableBody = [data.response.data_totalpv, '100%'];
|
||||
table_body += '<td>' + aTableBody.join('</td><td>') + '</td></tr></tbody>';
|
||||
|
||||
table_tag = '<table cellspacing="0" class="rowTable"><caption>'+sAnalyticsTableCaption + '</caption>' + table_head + table_body + '</table>';
|
||||
|
||||
jQuery("#dataTable").html(table_tag);
|
||||
|
||||
// pageNavigation 생성
|
||||
var sFirstPage = '{$lang->first_page}';
|
||||
var sLastPage = '{$lang->last_page}';
|
||||
var nStartPageNumbering = nCurrentPage - 2;
|
||||
nStartPageNumbering = (nStartPageNumbering < 1)?1:nStartPageNumbering;
|
||||
var sPageNaviTag = '';
|
||||
var aPageNavi = [];
|
||||
var sPageURL = '{getUrl("page","","module_srl","")}'
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
if (nStartPageNumbering > data.response.page_total_count)
|
||||
break;
|
||||
|
||||
if (nCurrentPage == nStartPageNumbering)
|
||||
{
|
||||
aPageNavi.push('<strong>'+ nStartPageNumbering + '</strong>');
|
||||
}
|
||||
else
|
||||
{
|
||||
aPageNavi.push('<a href="' + sPageURL + '&page=' + nStartPageNumbering + '">' + nStartPageNumbering + '</a>');
|
||||
}
|
||||
nStartPageNumbering++;
|
||||
}
|
||||
|
||||
sPageNaviTag = '<a href="' + sPageURL + '" class="prevEnd">' + sFirstPage + '</a>'
|
||||
+ aPageNavi.join('')
|
||||
+ '<a href="' + sPageURL + '&page=' + data.response.page_total_count + '" class="nextEnd">' + sLastPage + '</a>';
|
||||
|
||||
|
||||
jQuery("#pageNavi").html(sPageNaviTag);
|
||||
|
||||
});
|
||||
</script>
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
@charset "utf-8";
|
||||
|
||||
input.apiKey { width:400px; }
|
||||
ul.syndiService { list-style:none; margin:0; padding:0;}
|
||||
ul.syndiService li { padding:10px 0; margin:0;}
|
||||
select.exceptModuleList { width:400px; }
|
||||
ul.midCommand { margin:20px 0 0 0; padding:0; list-style:none; }
|
||||
ul.midCommand li { display:inline; margin:0 20px 0 0; padding:0;}
|
||||
|
||||
/* Vertical Bar Graph */
|
||||
.vGraph{ padding:20px 0;}
|
||||
.vGraph ul{ margin:0; padding:0; height:100px; border:1px solid #ddd; border-top:0; border-right:0; font-size:11px; font-family:Tahoma, Geneva, sans-serif; list-style:none;}
|
||||
.vGraph ul:after{ content:""; display:block; clear:both;}
|
||||
.vGraph li{ float:left; display:inline; width:8%; height:100%; margin:0 3%; position:relative; text-align:center; white-space:nowrap;}
|
||||
.vGraph .gTerm{ position:relative; display:inline-block; width:100%; height:20px; line-height:20px; margin:0 -100% -20px 0; padding:100px 0 0 0; vertical-align:bottom; color:#767676; font-weight:bold;}
|
||||
.vGraph .gBar{ position:relative; display:inline-block; width:100%; margin:-1px 0 0 0; border:1px solid #ccc; border-bottom:0; background:#e9e9e9; vertical-align:bottom;}
|
||||
.vGraph .gBar span{ position:absolute; width:100%; top:-20px; left:0; color:#767676;}
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
<!--// datepicker javascript plugin load -->
|
||||
<!--%load_js_plugin("ui")-->
|
||||
<!--%load_js_plugin("ui.datepicker")-->
|
||||
|
||||
<form id="date_set" action="./" method="get" onsubmit="">
|
||||
<input type="hidden" name="act" value={$act} />
|
||||
<input type="hidden" name="module" value="admin" />
|
||||
<input type="hidden" name="api_key" value="{$api_key}" />
|
||||
<!--input type="hidden" name="method" value="{$method}" /-->
|
||||
<table>
|
||||
<tr>
|
||||
<!--@if($isOnlyEndDate == 'false')-->
|
||||
<td>{$lang->cmd_analytics_date_set}</td>
|
||||
<td>
|
||||
<input type="hidden" name="start_date" id="start_date" value="{date('Ymd', strtotime($start_date))}" />
|
||||
<input type="text" value="{$start_date}" readonly="readonly" class="inputDate inputTypeText" />
|
||||
</td>
|
||||
<td>
|
||||
~
|
||||
</td>
|
||||
<!--@else-->
|
||||
<td>{$lang->cmd_analytics_end_date_set}</td>
|
||||
<!--@end-->
|
||||
<td>
|
||||
<input type="hidden" name="end_date" id="end_date" value="{date('Ymd', strtotime($end_date))}" />
|
||||
<input type="text" value="{$end_date}" readonly="readonly" class="inputDate inputTypeText" />
|
||||
</td>
|
||||
<td>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_search}"/></span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
(function($){
|
||||
$(function(){
|
||||
var option = { changeMonth: true, changeYear: true, gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
|
||||
|
||||
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
|
||||
};
|
||||
$.extend(option,$.datepicker.regional['{$lang_type}']);
|
||||
$(".inputDate").datepicker(option);
|
||||
$(".dateRemover").click(function() {
|
||||
$(this).parent().prevAll('input').val('');
|
||||
return false;});
|
||||
});
|
||||
})(jQuery);
|
||||
</script>
|
||||
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<filter name="insert_api_key" module="analytics" act="procAnalyticsAdminInsertAPIKey" confirm_msg_code="confirm_submit">
|
||||
<form />
|
||||
<response>
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
</response>
|
||||
</filter>
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
{'<?xml version="1.0" encoding="utf-8"?>'}
|
||||
<SMChart>
|
||||
<chart>
|
||||
<title>{$lang->{$parsed_data->method}}</title>
|
||||
<seperate>|</seperate>
|
||||
<units>
|
||||
<xAxis>
|
||||
<unit isView='false'>시간</unit>
|
||||
</xAxis>
|
||||
<yAxis>
|
||||
<unitMax>11.88</unitMax>
|
||||
</yAxis>
|
||||
</chart>
|
||||
<values>
|
||||
<valueName>
|
||||
<!--@foreach($parsed_data->data as $key => $val)-->
|
||||
{$lang->{$key}}|
|
||||
<!--@end-->
|
||||
</valueName>
|
||||
<!--@for($i = 0; $i <count($parsed_data->data->day); $i++)-->
|
||||
<value time='{$parsed_data->data->day[$i]}'/>
|
||||
</values>
|
||||
</SMChart>
|
||||
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
{'<?xml version="1.0" encoding="utf-8"?>'}
|
||||
<SMChart>
|
||||
<chart>
|
||||
<title>{$lang->analytics_api_method[$parsed_data->method]}</title>
|
||||
<seperate>|</seperate>
|
||||
<startViewRate>100</startViewRate>
|
||||
<units>
|
||||
<xAxis>
|
||||
<unit isView='false'>{$parsed_data->unit}</unit>
|
||||
</xAxis>
|
||||
<yAxis>
|
||||
<unitMax>{$parsed_data->unitMax}</unitMax>
|
||||
</yAxis>
|
||||
</units>
|
||||
</chart>
|
||||
<values>
|
||||
<valueName>{$parsed_data->value_names}</valueName>
|
||||
<!--@foreach($parsed_data->data as $key => $val)-->
|
||||
<value time='{$key}'>{$val}</value>
|
||||
<!--@end-->
|
||||
</values>
|
||||
</SMChart>
|
||||
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
{'<?xml version="1.0" encoding="utf-8"?>'}
|
||||
<Graph>
|
||||
<gdata title='{$lang->analytics_api_method[$parsed_data->method]}' id='index{count($parsed_data->data)}'>
|
||||
<fact />
|
||||
<subFact>
|
||||
{@$__i=0}
|
||||
<!--@foreach($parsed_data->data as $key => $val)-->
|
||||
<item id="{$__i++}">
|
||||
<data name='{$key}' ispercentage='on'>{$val}</data>
|
||||
</item>
|
||||
<!--@end-->
|
||||
</subFact>
|
||||
</gdata>
|
||||
</Graph>
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
<!--%import("css/analytics.css")-->
|
||||
<!--%import("js/analytics.js")-->
|
||||
|
||||
<h3 class="xeAdmin">{$lang->analytics}<span class="gray">{$lang->cmd_management}</span></h3>
|
||||
<p class="summeary">{$lang->about_analytics}</p>
|
||||
|
||||
<div>
|
||||
<ul class="localNavigation">
|
||||
<li <!--@if($act=='dispAnalyticsAdminCotent')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsAdminContent', 'module_srl', '')}">{$lang->cmd_analytics_info}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsVisitInfoAdminVisitChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsVisitInfoAdminVisitChart', 'module_srl', '')}">{$lang->cmd_analytics_visit_info}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsComeInfoAdminComeEngineChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsComeInfoAdminComeUrlChart', 'module_srl', '')}">{$lang->cmd_analytics_come_info}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsPageInfoAdminPagePopupChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsPageInfoAdminPagePopChart', 'module_srl', '')}">{$lang->cmd_analytics_page_info}</a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 50 B |
Binary file not shown.
|
|
@ -1,51 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<GraphDesign>
|
||||
<topGap>30</topGap>
|
||||
<leftGap>0</leftGap>
|
||||
<graphHeight>218</graphHeight>
|
||||
<bgType>none</bgType>
|
||||
<title show="off" id="TextData1" align="bottom" align2="up" ygap="10" />
|
||||
<index checkBox="off">
|
||||
<state>bottom</state>
|
||||
<align>center</align>
|
||||
<xgap>0</xgap>
|
||||
<ygap>40</ygap>
|
||||
</index>
|
||||
<label id="none" gap="0">
|
||||
<rotation />
|
||||
</label>
|
||||
<design>
|
||||
<sourceSWF>dataSource/b_Pie1.swf</sourceSWF>
|
||||
<startPoint x="0" y="0" />
|
||||
<item id="1" top="none" motionNum="3">
|
||||
<type flag="0" value="off" ygap="0" xgap="0" maxLength="100" minLength="0"lineOn="off" w="218" valueLength ="70" startAngle="200" >3</type>
|
||||
</item>
|
||||
<item id="2" top="none" motionNum="3">
|
||||
<type flag="0" value="off" ygap="0" xgap="0" maxLength="100" minLength="0" lineOn="off" w="218" valueLength ="70" startAngle="200" >3</type>
|
||||
</item>
|
||||
<item id="3" top="none" motionNum="3">
|
||||
<type flag="0" value="off" ygap="0" xgap="0" maxLength="100" minLength="0" lineOn="off" w="218" valueLength ="70" startAngle="200" >3</type>
|
||||
</item>
|
||||
<item id="4" top="none" motionNum="3">
|
||||
<type flag="0" value="off" ygap="0" xgap="0" maxLength="100" minLength="0" lineOn="off" w="218" valueLength ="70" startAngle="200" >3</type>
|
||||
</item>
|
||||
<item id="5" top="none" motionNum="3">
|
||||
<type flag="0" value="off" ygap="0" xgap="0" maxLength="100" minLength="0" lineOn="off" w="218" valueLength ="70" startAngle="200" >3</type>
|
||||
</item>
|
||||
<item id="6" top="none" motionNum="3">
|
||||
<type flag="0" value="off" ygap="0" xgap="0" maxLength="100" minLength="0" lineOn="off" w="218" valueLength ="70" startAngle="200" >3</type>
|
||||
</item>
|
||||
<item id="7" top="none" motionNum="3">
|
||||
<type flag="0" value="off" ygap="0" xgap="0" maxLength="100" minLength="0" lineOn="off" w="218" valueLength ="70" startAngle="200" >3</type>
|
||||
</item>
|
||||
<item id="8" top="none" motionNum="3">
|
||||
<type flag="0" value="off" ygap="0" xgap="0" maxLength="100" minLength="0" lineOn="off" w="218" valueLength ="70" startAngle="200" >3</type>
|
||||
</item>
|
||||
<item id="9" top="none" motionNum="3">
|
||||
<type flag="0" value="off" ygap="0" xgap="0" maxLength="100" minLength="0" lineOn="off" w="218" valueLength ="70" startAngle="200" >3</type>
|
||||
</item>
|
||||
<item id="10" top="none" motionNum="3">
|
||||
<type flag="0" value="off" ygap="0" xgap="0" maxLength="100" minLength="0" lineOn="off" w="218" valueLength ="70" startAngle="200" >3</type>
|
||||
</item>
|
||||
</design>
|
||||
</GraphDesign>
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<DesignSet>
|
||||
<index0 type="b_Pie1" factID="1" depth="0" align="h"/>
|
||||
<index1 type="b_Pie1" factID="1" depth="0" align="h"/>
|
||||
<index2 type="b_Pie1" factID="1|2" depth="0|1" align="h"/>
|
||||
<index3 type="b_Pie1" factID="1|2|3" depth="0|1|2" align="h"/>
|
||||
<index4 type="b_Pie1" factID="1|2|3|4" depth="0|1|2|3" align="h"/>
|
||||
<index5 type="b_Pie1" factID="1|2|3|4|5" depth="0|1|2|3|4" align="h"/>
|
||||
<index6 type="b_Pie1" factID="1|2|3|4|5|6" depth="0|1|2|3|4|5" align="h"/>
|
||||
<index7 type="b_Pie1" factID="1|2|3|4|5|6|7" depth="0|1|2|3|4|5|6" align="h"/>
|
||||
<index8 type="b_Pie1" factID="1|2|3|4|5|6|7|8" depth="0|1|2|3|4|5|6|7" align="h"/>
|
||||
<index9 type="b_Pie1" factID="1|2|3|4|5|6|7|8|9" depth="0|1|2|3|4|5|6|7|8" align="h"/>
|
||||
<index10 type="b_Pie1" factID="1|2|3|4|5|6|7|8|9|10" depth="0|1|2|3|4|5|6|7|8|9" align="h"/>
|
||||
</DesignSet>
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<design>
|
||||
<series>
|
||||
<name>방문자수</name>
|
||||
<type>Line</type>
|
||||
<color>0xF7E900</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>방문횟수</name>
|
||||
<type>Line</type>
|
||||
<color>0xF87DB2</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>신규 방문자수</name>
|
||||
<type>Line</type>
|
||||
<color>0x85CDEB</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>재방문자수</name>
|
||||
<type>Line</type>
|
||||
<color>0x7681DF</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<axis>
|
||||
<name>xAxis</name>
|
||||
<color>0x666666</color>
|
||||
<lineWeight>1</lineWeight>
|
||||
<font>tahoma</font>
|
||||
<fontColor>0x666666</fontColor>
|
||||
<fontSize>11</fontSize>
|
||||
<fontStyle>normal</fontStyle>
|
||||
<labelGap>4</labelGap>
|
||||
</axis>
|
||||
<axis>
|
||||
<name>yAxis</name>
|
||||
<color>0x666666</color>
|
||||
<lineWeight>1</lineWeight>
|
||||
<font>Dotum</font>
|
||||
<fontColor>0x666666</fontColor>
|
||||
<fontSize>11</fontSize>
|
||||
<fontStyle>normal</fontStyle>
|
||||
<labelGap>4</labelGap>
|
||||
</axis>
|
||||
<index>
|
||||
<name>index</name>
|
||||
<font>Dotum</font>
|
||||
<fontColor>0x666666</fontColor>
|
||||
<fontSize>11</fontSize>
|
||||
<fontStyle>normal</fontStyle>
|
||||
</index>
|
||||
</design>
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<design>
|
||||
<series>
|
||||
<name>평균방문횟수</name>
|
||||
<type>Line</type>
|
||||
<color>0xF7E900</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>평균방문자수</name>
|
||||
<type>Line</type>
|
||||
<color>0xF87DB2</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>평균신규방문자수</name>
|
||||
<type>Line</type>
|
||||
<color>0x85CDEB</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>평균재방문자수</name>
|
||||
<type>Line</type>
|
||||
<color>0x7681DF</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>평균페이지뷰</name>
|
||||
<type>Line</type>
|
||||
<color>0x7681DF</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<axis>
|
||||
<name>xAxis</name>
|
||||
<color>0x666666</color>
|
||||
<lineWeight>1</lineWeight>
|
||||
<font>tahoma</font>
|
||||
<fontColor>0x666666</fontColor>
|
||||
<fontSize>11</fontSize>
|
||||
<fontStyle>normal</fontStyle>
|
||||
<labelGap>4</labelGap>
|
||||
</axis>
|
||||
<axis>
|
||||
<name>yAxis</name>
|
||||
<color>0x666666</color>
|
||||
<lineWeight>1</lineWeight>
|
||||
<font>Dotum</font>
|
||||
<fontColor>0x666666</fontColor>
|
||||
<fontSize>11</fontSize>
|
||||
<fontStyle>normal</fontStyle>
|
||||
<labelGap>4</labelGap>
|
||||
</axis>
|
||||
<index>
|
||||
<name>index</name>
|
||||
<font>Dotum</font>
|
||||
<fontColor>0x666666</fontColor>
|
||||
<fontSize>11</fontSize>
|
||||
<fontStyle>normal</fontStyle>
|
||||
</index>
|
||||
</design>
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<design>
|
||||
<series>
|
||||
<name>페이지뷰</name>
|
||||
<type>Line</type>
|
||||
<color>0xF7E900</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>방문당 페이지뷰</name>
|
||||
<type>Line</type>
|
||||
<color>0xF87DB2</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>신규 방문자 페이지뷰</name>
|
||||
<type>Line</type>
|
||||
<color>0x85CDEB</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>재방문자 페이지뷰</name>
|
||||
<type>Line</type>
|
||||
<color>0x7681DF</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<axis>
|
||||
<name>xAxis</name>
|
||||
<color>0x666666</color>
|
||||
<lineWeight>1</lineWeight>
|
||||
<font>tahoma</font>
|
||||
<fontColor>0x666666</fontColor>
|
||||
<fontSize>11</fontSize>
|
||||
<fontStyle>normal</fontStyle>
|
||||
<labelGap>4</labelGap>
|
||||
</axis>
|
||||
<axis>
|
||||
<name>yAxis</name>
|
||||
<color>0x666666</color>
|
||||
<lineWeight>1</lineWeight>
|
||||
<font>Dotum</font>
|
||||
<fontColor>0x666666</fontColor>
|
||||
<fontSize>11</fontSize>
|
||||
<fontStyle>normal</fontStyle>
|
||||
<labelGap>4</labelGap>
|
||||
</axis>
|
||||
<index>
|
||||
<name>index</name>
|
||||
<font>Dotum</font>
|
||||
<fontColor>0x666666</fontColor>
|
||||
<fontSize>11</fontSize>
|
||||
<fontStyle>normal</fontStyle>
|
||||
</index>
|
||||
</design>
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<design>
|
||||
<series>
|
||||
<name>방문횟수 평균</name>
|
||||
<type>Line</type>
|
||||
<color>0xF7E900</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>방문자수 평균</name>
|
||||
<type>Line</type>
|
||||
<color>0xF87DB2</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>재방문자수 평균</name>
|
||||
<type>Line</type>
|
||||
<color>0x85CDEB</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>신규방문자수 평균</name>
|
||||
<type>Line</type>
|
||||
<color>0x7681DF</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<series>
|
||||
<name>페이지뷰 평균</name>
|
||||
<type>Line</type>
|
||||
<color>0x93C913</color>
|
||||
<alpha>100</alpha>
|
||||
<lineWeight>2</lineWeight>
|
||||
</series>
|
||||
<axis>
|
||||
<name>xAxis</name>
|
||||
<color>0x666666</color>
|
||||
<lineWeight>1</lineWeight>
|
||||
<font>tahoma</font>
|
||||
<fontColor>0x666666</fontColor>
|
||||
<fontSize>11</fontSize>
|
||||
<fontStyle>normal</fontStyle>
|
||||
<labelGap>4</labelGap>
|
||||
</axis>
|
||||
<axis>
|
||||
<name>yAxis</name>
|
||||
<color>0x666666</color>
|
||||
<lineWeight>1</lineWeight>
|
||||
<font>Dotum</font>
|
||||
<fontColor>0x666666</fontColor>
|
||||
<fontSize>11</fontSize>
|
||||
<fontStyle>normal</fontStyle>
|
||||
<labelGap>4</labelGap>
|
||||
</axis>
|
||||
<index>
|
||||
<name>index</name>
|
||||
<font>Dotum</font>
|
||||
<fontColor>0x666666</fontColor>
|
||||
<fontSize>11</fontSize>
|
||||
<fontStyle>normal</fontStyle>
|
||||
</index>
|
||||
</design>
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
<!--%import("filter/insert_api_key.xml")-->
|
||||
|
||||
<!--#include("./header.html")-->
|
||||
<form action-"./" method="get" onsubmit="return procFilter(this, insert_api_key)">
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->analytics_api_key}</div></th>
|
||||
<td>
|
||||
api_key : <input type="text" id="api_key" name="api_key" value="{$api_key}" class="inputTypeText apiKey" />
|
||||
<span class="button green"><input type="button" value="{$lang->cmd_check_analytics_api_key}" onclick="checkAPIKey(jQuery('#api_key').val())" /></span>
|
||||
<p>{$lang->about_analytics_api_key}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<!--tr>
|
||||
<th scope="row"><div>{$lang->analytics_visit_info_config}</div></th>
|
||||
<td>
|
||||
<ul-->
|
||||
<!--@foreach($lang->analytics_api_visit as $key => $val)-->
|
||||
<!--li><input type="checkbox" name="{$key}" value="Y" id="visit_{$key}" /><label for="visit_{$key}">{$val}</label></li-->
|
||||
<!--@end-->
|
||||
<!--/ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->analytics_come_info_config}</div></th>
|
||||
<td>
|
||||
<ul-->
|
||||
<!--@foreach($lang->analytics_api_come as $key => $val)-->
|
||||
<!--li><input type="checkbox" name="{$key}" value="Y" id="come_{$key}" /><label for="come_{$key}">{$val}</label></li-->
|
||||
<!--@end-->
|
||||
<!--/ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->analytics_page_info_config}</div></th>
|
||||
<td>
|
||||
<ul-->
|
||||
<!--@foreach($lang->analytics_api_page as $key => $val)-->
|
||||
<!--li><input type="checkbox" name="{$key}" value="Y" id="page_{$key}" /><label for="page_{$key}">{$val}</label></li-->
|
||||
<!--@end-->
|
||||
<!--/ul>
|
||||
</td>
|
||||
</tr-->
|
||||
|
||||
|
||||
<tr class="row2">
|
||||
<th colspan="2" class="button">
|
||||
<span class="button black strong"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
function checkAPIKey(apiKey){
|
||||
alert(apiKey);
|
||||
}
|
||||
|
|
@ -1,463 +0,0 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// NHN CORPORATION
|
||||
// Copyright 2002-2007 NHN Coporation
|
||||
// All Rights Reserved.
|
||||
//
|
||||
// 이 문서는 NHN㈜의 지적 자산이므로 NHN(주)의 승인 없이 이 문서를 다른 용도로 임의
|
||||
// 변경하여 사용할 수 없습니다.
|
||||
//
|
||||
// 파일명 : flashObject.js
|
||||
//
|
||||
// 작성일 : 2009.02.02
|
||||
//
|
||||
// 최종 수정일: 2009.04.08
|
||||
//
|
||||
// Version : 1.1.0
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* @author seungkil choi / kgoon@nhncorp.com
|
||||
*/
|
||||
|
||||
if (typeof nhn == 'undefined') nhn = {};
|
||||
|
||||
nhn.FlashObject = (function(){
|
||||
|
||||
var FlashObject = {};
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// private properties
|
||||
//-------------------------------------------------------------
|
||||
var sClassPrefix = 'F' + new Date().getTime() + parseInt(Math.random() * 1000000);
|
||||
var bIE = /MSIE/i.test(navigator.userAgent);
|
||||
var bFF = /FireFox/i.test(navigator.userAgent);
|
||||
var bChrome = /Chrome/i.test(navigator.userAgent);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 이벤트 등록 함수
|
||||
*
|
||||
* @param oElement 이벤트 등록 객체.
|
||||
* @param sEvent 등록할 이벤트 Type
|
||||
* @param fHandler 이벤트 핸들러
|
||||
* @return void
|
||||
*/
|
||||
var bind = function(oElement, sEvent, fHandler)
|
||||
{
|
||||
|
||||
if (typeof oElement.attachEvent != 'undefined')
|
||||
oElement.attachEvent('on' + sEvent, fHandler);
|
||||
else
|
||||
oElement.addEventListener(sEvent, fHandler, true);
|
||||
|
||||
};
|
||||
|
||||
|
||||
var objectToString = function(oObj, sSeparator)
|
||||
{
|
||||
|
||||
var s = "";
|
||||
var first = true;
|
||||
var name = "";
|
||||
var value;
|
||||
|
||||
for (var p in oObj)
|
||||
{
|
||||
if (first)
|
||||
first = false;
|
||||
else
|
||||
s += sSeparator;
|
||||
|
||||
value = oObj[p];
|
||||
|
||||
switch (typeof(value)) {
|
||||
case "string":
|
||||
s += p + '=' + encodeURIComponent(value);
|
||||
break;
|
||||
|
||||
case "number":
|
||||
s += p + '=' + encodeURIComponent(value.toString());
|
||||
break;
|
||||
|
||||
case "boolean":
|
||||
s += p + '=' + (value ? "true" : "false");
|
||||
break;
|
||||
|
||||
default:
|
||||
// array 이거나 object 일때 변환하지 않는다.
|
||||
}
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
/**
|
||||
* 플래시 ExternalInterface 버그 패치
|
||||
* for 'Out of memory line at 56' error
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
var unloadHandler = function() {
|
||||
|
||||
obj = document.getElementsByTagName('OBJECT');
|
||||
|
||||
for (var i = 0, theObj; theObj = obj[i]; i++) {
|
||||
|
||||
theObj.style.display = 'none';
|
||||
|
||||
for (var prop in theObj)
|
||||
if (typeof(theObj[prop]) == 'function')
|
||||
try { theObj[prop] = null; } catch(e) {}
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* 휠마우스 이벤트 처리 함수
|
||||
* 이벤트가 발생한 객체가 플래시인 경우
|
||||
* delta 값과 마우스 좌표를 플래시에 전달
|
||||
*
|
||||
* @param e 이벤트 객체
|
||||
* @return void
|
||||
*/
|
||||
var wheelHandler = function(e) {
|
||||
|
||||
e = e || window.event;
|
||||
|
||||
var nDelta = e.wheelDelta / (bChrome ? 360 : 120);
|
||||
if (!nDelta) nDelta = -e.detail / 3;
|
||||
|
||||
var oEl = e.target || e.srcElement;
|
||||
|
||||
// 휠 이벤트가 발생한 오브젝트가 FlashObject가 생산한 플래시가 아니면 중지
|
||||
if (!(new RegExp('(^|\b)' + sClassPrefix + '_([a-z0-9_$]+)(\b|$)', 'i').test(oEl.className))) return;
|
||||
|
||||
var sMethod = RegExp.$2;
|
||||
|
||||
var nX = 'layerX' in e ? e.layerX : e.offsetX;
|
||||
var nY = 'layerY' in e ? e.layerY : e.offsetY;
|
||||
|
||||
try {
|
||||
|
||||
if (!oEl[sMethod](nDelta, nX, nY)) {
|
||||
|
||||
if (e.preventDefault) e.preventDefault();
|
||||
else e.returnValue = false;
|
||||
|
||||
}
|
||||
|
||||
} catch(err) {
|
||||
// 등록한 핸들러가 없는 경우
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* 넘겨받은 오브젝트의 절대 좌표를 구해주는 함수
|
||||
*
|
||||
* @param {Object} oEl 오브젝트 참조
|
||||
*/
|
||||
var getAbsoluteXY = function(oEl) {
|
||||
|
||||
var oPhantom = null;
|
||||
|
||||
// getter
|
||||
var bSafari = /Safari/.test(navigator.userAgent);
|
||||
var bIE = /MSIE/.test(navigator.userAgent);
|
||||
|
||||
var fpSafari = function(oEl) {
|
||||
|
||||
var oPos = { left : 0, top : 0 };
|
||||
|
||||
// obj.offsetParent is null in safari, because obj.parentNode is '<object>'.
|
||||
if (oEl.parentNode.tagName.toLowerCase() == "object") {
|
||||
oEl = oEl.parentNode;
|
||||
}
|
||||
|
||||
for (var oParent = oEl, oOffsetParent = oParent.offsetParent; oParent = oParent.parentNode; ) {
|
||||
|
||||
if (oParent.offsetParent) {
|
||||
oPos.left -= oParent.scrollLeft;
|
||||
oPos.top -= oParent.scrollTop;
|
||||
}
|
||||
|
||||
if (oParent == oOffsetParent) {
|
||||
oPos.left += oEl.offsetLeft + oParent.clientLeft;
|
||||
oPos.top += oEl.offsetTop + oParent.clientTop ;
|
||||
|
||||
if (!oParent.offsetParent) {
|
||||
oPos.left += oParent.offsetLeft;
|
||||
oPos.top += oParent.offsetTop;
|
||||
}
|
||||
|
||||
oOffsetParent = oParent.offsetParent;
|
||||
oEl = oParent;
|
||||
}
|
||||
}
|
||||
|
||||
return oPos;
|
||||
|
||||
};
|
||||
|
||||
var fpOthers = function(oEl) {
|
||||
|
||||
var oPos = { left : 0, top : 0 };
|
||||
|
||||
for (var o = oEl; o; o = o.offsetParent) {
|
||||
|
||||
oPos.left += o.offsetLeft;
|
||||
oPos.top += o.offsetTop;
|
||||
|
||||
}
|
||||
|
||||
for (var o = oEl.parentNode; o; o = o.parentNode) {
|
||||
|
||||
if (o.tagName == 'BODY') break;
|
||||
if (o.tagName == 'TR') oPos.top += 2;
|
||||
|
||||
oPos.left -= o.scrollLeft;
|
||||
oPos.top -= o.scrollTop;
|
||||
|
||||
}
|
||||
|
||||
return oPos;
|
||||
|
||||
};
|
||||
|
||||
return (bSafari ? fpSafari : fpOthers)(oEl);
|
||||
}
|
||||
|
||||
/**
|
||||
* 현재 스크롤 위치를 알려주는 함수
|
||||
*
|
||||
*/
|
||||
var getScroll = function() {
|
||||
var bIE = /MSIE/.test(navigator.userAgent);
|
||||
|
||||
if (bIE) {
|
||||
var sX = document.documentElement.scrollLeft || document.body.scrollLeft;
|
||||
var sY = document.documentElement.scrollTop || document.body.scrollTop;
|
||||
return {scrollX:sX, scrollY:sY}
|
||||
}
|
||||
else {
|
||||
return {scrollX:window.pageXOffset, scrollY:window.pageYOffset};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 현재 스크린 사이즈를 알려주는 함수
|
||||
*
|
||||
*/
|
||||
var getInnerWidthHeight = function() {
|
||||
var bIE = /MSIE/.test(navigator.userAgent);
|
||||
var obj = {};
|
||||
|
||||
if (bIE) {
|
||||
obj.nInnerWidth = document.documentElement.clientWidth || document.body.clientWidth;
|
||||
obj.nInnerHeight = document.documentElement.clientHeight || document.body.clientHeight;
|
||||
}
|
||||
else {
|
||||
obj.nInnerWidth = window.innerWidth;
|
||||
obj.nInnerHeight = window.innerHeight;
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// public static function
|
||||
//-------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* 플래시 오브젝트를 HTML에 임베드하는 함수
|
||||
*
|
||||
* @param div 삽입할 DIV ID
|
||||
* @param sTag 플래시 임베드 테그
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
FlashObject.showAt = function(sDiv, sTag){
|
||||
document.getElementById(sDiv).innerHTML = sTag;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 플래시 오브젝트를 HTML에 임베드하는 함수
|
||||
* generateTag 함수와 파라미터 동일
|
||||
*
|
||||
* @param sURL 플래시 무비 주소
|
||||
* @param nWidth 플래시 무비 가로크기 (default : 100%)
|
||||
* @param nHeight 플래시 무비 세로크기 (default : 100%)
|
||||
* @param oParam 플래시에 설정할 옵션 파라미터 (default : null)
|
||||
* @param sAlign 플래시 정렬 기준
|
||||
* @param sFPVersion 플레이어 다운로드 목표 버전
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
FlashObject.show = function(sURL, sID, nWidth, nHeight, oParam, sAlign, sFPVersion){
|
||||
document.write( FlashObject.generateTag(sURL, sID, nWidth, nHeight, oParam, sAlign, sFPVersion) );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 플래시 오브젝트를 HTML에 임베드할 때 사용할 태그 생성 함수
|
||||
*
|
||||
* @param sURL 플래시 무비 주소
|
||||
* @param nWidth 플래시 무비 가로크기 (default : 100%)
|
||||
* @param nHeight 플래시 무비 세로크기 (default : 100%)
|
||||
* @param oParam 플래시에 설정할 옵션 파라미터 (default : null)
|
||||
* @param sAlign 플래시 정렬 기준
|
||||
* @param sFPVersion 플레이어 다운로드 목표 버전
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
FlashObject.generateTag = function(sURL, sID, nWidth, nHeight, oParam, sAlign, sFPVersion) {
|
||||
|
||||
nWidth = nWidth || "100%";
|
||||
nHeight = nHeight || "100%";
|
||||
sFPVersion = sFPVersion || "9,0,0,0";
|
||||
sAlign = sAlign || "middle";
|
||||
|
||||
var oOptions = FlashObject.getDefaultOption();
|
||||
|
||||
if (oParam)
|
||||
{
|
||||
if(oParam.flashVars && typeof(oParam.flashVars) == "object")
|
||||
oParam.flashVars = objectToString(oParam.flashVars, "&");
|
||||
|
||||
for (var key in oParam)
|
||||
oOptions[key] = oParam[key];
|
||||
}
|
||||
|
||||
var sClsID = 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000';
|
||||
var sCodeBase = 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + sFPVersion;
|
||||
|
||||
var sStyle = 'position:relative !important;';
|
||||
var sClassName = sClassPrefix + '_' + oOptions.wheelHandler;
|
||||
|
||||
var objCode = [];
|
||||
var embedCode = [];
|
||||
|
||||
|
||||
objCode.push('<object classid="' + sClsID + '" codebase="' + sCodeBase + '" class="' + sClassName + '" style="' + sStyle + '" ' + '" width="' + nWidth + '" height="' + nHeight + '" id="' + sID + '" align="' + sAlign + '">');
|
||||
objCode.push('<param name="movie" value="' + sURL + '" />');
|
||||
|
||||
embedCode.push('<embed width="' + nWidth + '" height="' + nHeight + '" name="' + sID + '" class="' + sClassName + '" style="' + sStyle + '" ' + '" src="' + sURL + '" align="' + sAlign + '" ');
|
||||
|
||||
|
||||
for(var vars in oOptions){
|
||||
objCode.push('<param name="'+vars+'" value="' + oOptions[vars] + '" />');
|
||||
embedCode.push(vars +'="' + oOptions[vars] + '" ');
|
||||
}
|
||||
|
||||
embedCode.push('type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
|
||||
|
||||
objCode.push(embedCode.join(""));
|
||||
objCode.push('</object>');
|
||||
|
||||
|
||||
if (bind) {
|
||||
bind(window, 'unload', unloadHandler);
|
||||
bind(document, !bFF ? 'mousewheel' : 'DOMMouseScroll', wheelHandler);
|
||||
bind = null;
|
||||
}
|
||||
|
||||
return objCode.join("");
|
||||
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* 플래시 옵션 기본 설정값
|
||||
*
|
||||
* @return object
|
||||
*/
|
||||
FlashObject.getDefaultOption = function() {
|
||||
return {
|
||||
quality:"high",
|
||||
bgColor:"#FFFFFF",
|
||||
allowScriptAccess:"always",
|
||||
wmode:"window",
|
||||
menu:"false",
|
||||
allowFullScreen:"true"
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* 플래시 오브젝트를 찾아 반환해주는 함수
|
||||
*
|
||||
* @param objID 찾아야하는 플래시 오브젝트 ID
|
||||
* @param doc 플래시를 갖고 있는 document 객체 / default : null
|
||||
* @return object
|
||||
*/
|
||||
FlashObject.find = function(sID, oDoc) {
|
||||
oDoc = oDoc || document;
|
||||
return oDoc[sID] || oDoc.all[sID];
|
||||
};
|
||||
|
||||
/**
|
||||
* 매개변수로 넘겨 받은 아이디의 플래시 오브젝트를 찾아 가로 크기를 변경하는 함수
|
||||
*
|
||||
* @param objID 찾아야하는 플래시 오브젝트 ID
|
||||
* @param value 가로크기로 설정할 값
|
||||
* @return void
|
||||
*/
|
||||
FlashObject.setWidth = function(sID, value) {
|
||||
FlashObject.find(sID).width = value;
|
||||
};
|
||||
|
||||
/**
|
||||
* 매개변수로 넘겨 받은 아이디의 플래시 오브젝트를 찾아 세로 크기를 변경하는 함수
|
||||
*
|
||||
* @param objID 찾아야하는 플래시 오브젝트 ID
|
||||
* @param value 세로크기로 설정할 값
|
||||
* @return void
|
||||
*/
|
||||
FlashObject.setHeight = function(sID, value) {
|
||||
FlashObject.find(sID).height = value;
|
||||
};
|
||||
|
||||
/**
|
||||
* 매개변수로 넘겨 받은 아이디의 플래시 오브젝트를 찾아 사이즈를 변경하는 함수
|
||||
*
|
||||
* @param objID 찾아야하는 플래시 오브젝트 ID
|
||||
* @param nWidth 가로크기로 설정할 값
|
||||
* @param nHeight 세로크기로 설정할 값
|
||||
* @return void
|
||||
*/
|
||||
FlashObject.setSize = function(sID, nWidth, nHeight) {
|
||||
FlashObject.find(sID).height = nHeight;
|
||||
FlashObject.find(sID).width = nWidth;
|
||||
};
|
||||
|
||||
/**
|
||||
* 오브젝트 아이디를 넘겨 받으면 해당 오브젝트의 절대 좌표 및 스크롤을 감안한 상대죄표를
|
||||
* 반환하는 함수
|
||||
*
|
||||
* @param sID 플래시 오브젝트 ID
|
||||
*/
|
||||
FlashObject.getPositionObj = function(sID){
|
||||
var targetObj = FlashObject.find(sID);
|
||||
if(targetObj == null)
|
||||
return null;
|
||||
|
||||
var absPosi = getAbsoluteXY(targetObj);
|
||||
var scrollPosi = getScroll();
|
||||
|
||||
var obj = {}
|
||||
obj.absoluteX = absPosi.left;
|
||||
obj.absoluteY = absPosi.top;
|
||||
obj.scrolledX = obj.absoluteX - scrollPosi.scrollX;
|
||||
obj.scrolledY = obj.absoluteY - scrollPosi.scrollY;
|
||||
obj.browserWidth = getInnerWidthHeight().nInnerWidth;
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
return FlashObject;
|
||||
})()
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<!--#include('./page_info_header.html')-->
|
||||
<!--#include('./date_set_header.html')-->
|
||||
<p>페이지 분석</p>
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
<!--#include('./header.html')-->
|
||||
<!--%import("js/flashObject.js")-->
|
||||
<div>
|
||||
<ul class="localNavigation">
|
||||
<li <!--@if($act=='dispAnalyticsPageInfoAdminPagePopChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsPageInfoAdminPagePopChart', 'module_srl', '')}">{$lang->analytics_api_method['pagePop']}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsPageInfoAdminPageDrillDownChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsPageInfoAdminPageDrillDownChart', 'module_srl', '')}">{$lang->analytics_api_method['pageDrillDown']}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsPageInfoAdminPageStartChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsPageInfoAdminPageStartChart', 'module_srl', '')}">{$lang->analytics_api_method['pageStart']}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsPageInfoAdminPageEndChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsPageInfoAdminPageEndChart', 'module_srl', '')}">{$lang->analytics_api_method['pageEnd']}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsPageInfoAdminPageReturnChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsPageInfoAdminPageReturnChart', 'module_srl', '')}">{$lang->analytics_api_method['pageReturn']}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
<!--#include('./page_info_header.html')-->
|
||||
<h3 class="xeAdmin"><span class="gray">{$lang->analytics_api_method[$method]}</span></h3>
|
||||
<p>{$lang->about_analytics_method[$method]}</p>
|
||||
<!--#include('./date_set_header.html')-->
|
||||
<div id="dataTable"></div>
|
||||
{@$_t=$lang->analytics_api_valuname[$method];}
|
||||
<script type="text/javascript">
|
||||
var oAnalyticsValueName = {};
|
||||
<!--@foreach($_t as $key => $val)-->
|
||||
oAnalyticsValueName['{$key}'] = '{$val}';
|
||||
<!--@end-->
|
||||
|
||||
var oAnalyticsWeekName = {};
|
||||
<!--@foreach($_week_name as $key => $val)-->
|
||||
oAnalyticsWeekName['{$key}'] = '{$val}';
|
||||
<!--@end-->
|
||||
|
||||
var sAnalyticsTotal = '{$lang->sum_total}';
|
||||
var sAnalyticsAfterDay = '{$lang->after_day}';
|
||||
var sAnalyticsTableCaption = '{$lang->analytics_api_method[$method]} ' + '{$lang->detail_info}';
|
||||
|
||||
jQuery.getJSON('{$json_url}'
|
||||
,function(data){
|
||||
var aTableData = data.response.data;
|
||||
|
||||
if (!aTableData)
|
||||
return;
|
||||
|
||||
var oSumData = {};
|
||||
var aTableHead = [];
|
||||
var aTableBody = [];
|
||||
|
||||
var table_tag;
|
||||
var table_head;
|
||||
var table_body;
|
||||
|
||||
var key;
|
||||
var i;
|
||||
var dataKey;
|
||||
var nValue;
|
||||
|
||||
aTableHead.push(oAnalyticsValueName['rank']);
|
||||
// table head생성
|
||||
for(key in aTableData[0])
|
||||
{
|
||||
oSumData[key] = 0;
|
||||
aTableHead.push(oAnalyticsValueName[key]);
|
||||
}
|
||||
aTableHead.push(oAnalyticsValueName['percent']);
|
||||
table_head = '<thead><tr><th scope="col">' + aTableHead.join('</th><th scope="col">') +'</th></tr></thead>';
|
||||
|
||||
|
||||
// table body생성
|
||||
table_body = '<tbody>';
|
||||
|
||||
var percentData = 0;
|
||||
var sPercentTD = '';
|
||||
var imageWidth = 0;
|
||||
var sumpv = 0;
|
||||
var dutime = 0;
|
||||
var sumbounce = 0;
|
||||
var sumstart = 0;
|
||||
var bouncePercent = 0;
|
||||
var sumexit = 0;
|
||||
var exitPercent = 0;
|
||||
var sMinute = '{$lang->minute}';
|
||||
var sSecond = '{$lang->second}';
|
||||
var sumunqpv = 0;
|
||||
var nSumUniqPv = 0;
|
||||
|
||||
for(i = 0; i < aTableData.length; i++)
|
||||
{
|
||||
aTableBody = [];
|
||||
aTableBody.push(i + 1);
|
||||
aTableBody.push(aTableData[i]['url']);
|
||||
|
||||
sumpv = parseInt(aTableData[i]['sumpv']);
|
||||
aTableBody.push(sumpv);
|
||||
sumunqpv = parseInt(aTableData[i]['sumunqpv']);
|
||||
nSumUniqPv += sumunqpv;
|
||||
aTableBody.push(sumunqpv);
|
||||
|
||||
dutime = parseInt(aTableData[i]['sumdutime']);
|
||||
aTableBody.push(Math.floor(dutime / 60) + sMinute + dutime % 60 + sSecond);
|
||||
sumbounce = parseInt(aTableData[i]['sumbounce']);
|
||||
sumstart = parseInt(aTableData[i]['sumstart']);
|
||||
|
||||
if (sumbounce > 0 && sumstart > 0)
|
||||
{
|
||||
bouncePercent = Math.round(sumbounce / sumstart * 10000)/100;
|
||||
}
|
||||
else
|
||||
{
|
||||
bouncePercent = 0;
|
||||
}
|
||||
|
||||
aTableBody.push(bouncePercent + '%');
|
||||
|
||||
sumexit = parseInt(aTableData[i]['sumexit']);
|
||||
|
||||
if (sumexit > 0 && sumpv > 0)
|
||||
{
|
||||
exitPercent = Math.round(sumexit / sumpv * 10000)/100;
|
||||
}
|
||||
else
|
||||
{
|
||||
exitPercent = 0;
|
||||
}
|
||||
|
||||
aTableBody.push(exitPercent + '%');
|
||||
|
||||
if (sumpv > 0)
|
||||
{
|
||||
percentData = Math.round(sumpv / data.response.data_totalpv * 10000)/100;
|
||||
imageWidth = Math.round(percentData);
|
||||
}
|
||||
else
|
||||
{
|
||||
percentData = 0;
|
||||
imageWidth = 1;
|
||||
}
|
||||
|
||||
if (percentData < 1)
|
||||
{
|
||||
sPercentTD = '<img class="graphHr" style="width:3px" alt="" src="./images/iconBar.gif" />';
|
||||
}
|
||||
else
|
||||
{
|
||||
sPercentTD = '<img class="graphHr" style="width:'+imageWidth +'%" alt="" src="./images/iconBar.gif" />'
|
||||
}
|
||||
sPercentTD += percentData + '%';
|
||||
|
||||
table_body += '<tr><td>' + aTableBody.join('</td><td>') + '</td><td class="wide">' + sPercentTD + '</td></tr>';
|
||||
}
|
||||
|
||||
aTableBody = [];
|
||||
table_body += '<tr><td colspan=2>'+sAnalyticsTotal+'</td>';
|
||||
aTableBody = [data.response.data_totalpv, nSumUniqPv, '-', '100%', '100%', '100%'];
|
||||
table_body += '<td>' + aTableBody.join('</td><td>') + '</td></tr></tbody>';
|
||||
|
||||
table_tag = '<table cellspacing="0" class="rowTable"><caption>'+sAnalyticsTableCaption + '</caption>' + table_head + table_body + '</table>';
|
||||
|
||||
jQuery("#dataTable").html(table_tag);
|
||||
});
|
||||
</script>
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
<!--#include('./page_info_header.html')-->
|
||||
<h3 class="xeAdmin"><span class="gray">{$lang->analytics_api_method[$method]}</span></h3>
|
||||
<p>{$lang->about_analytics_method[$method]}</p>
|
||||
<!--#include('./date_set_header.html')-->
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<!--@foreach($value_names as $key => $val)-->
|
||||
<th scope="col"><div>{$lang->analytics_api_valuname[$method][$key]}</div></th>
|
||||
<!--@end-->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{@$__i=($page - 1) * $parsed_data->page_count->body}
|
||||
<!--@foreach($parsed_data->data as $key => $val)-->
|
||||
<!--@if($val->sumbounce->body > 0)-->
|
||||
{@$bounce_percent = sprintf("%0.2f", $val->sumbounce->body / $val->sumstart->body * 100)}
|
||||
<!--@else-->
|
||||
{@$bounce_percent = 0}
|
||||
<!--@end-->
|
||||
<!--@if($val->sumexit->body > 0)-->
|
||||
{@$exit_percent = sprintf("%0.2f", $val->sumexit->body / $val->sumpv->body * 100)}
|
||||
<!--@else-->
|
||||
{@$exit_percent = 0}
|
||||
<!--@end-->
|
||||
<!--@if($val->sumpv->body > 0)-->
|
||||
{@$pv_percent = sprintf("%0.2f", $val->sumpv->body / $parsed_data->data_totalpv->body * 100)}
|
||||
{@$image_width = sprintf("%d", $pv_percent)}
|
||||
<!--@else-->
|
||||
{@$pv_percent = 0}
|
||||
{@$image_width = 1}
|
||||
<!--@end-->
|
||||
|
||||
<tr>
|
||||
<td>{$__i++ + 1}</td>
|
||||
<td><a href="{$val->url->body}">{$val->url->body}</td>
|
||||
<td>{$val->sumpv->body}</td>
|
||||
<td>{$val->sumunqpv->body}</td>
|
||||
<td>{$val->sumdutime->body}</td>
|
||||
<td>{$bounce_percent}%</td>
|
||||
<td>{$exit_percent}%</td>
|
||||
<td class="wide">
|
||||
{@$image_percent = $image_width - 30}
|
||||
<!--@if($image_percent < 1)-->
|
||||
<img class="graphHr" style="width:3px" alt="" src="./images/iconBar.gif" />
|
||||
<!--@else-->
|
||||
<img class="graphHr" style="width:{$image_percent}%" alt="" src="./images/iconBar.gif" />
|
||||
<!--@end-->
|
||||
{$pv_percent}%</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
{$pv_percent}
|
||||
|
|
@ -1,171 +0,0 @@
|
|||
<!--#include('./page_info_header.html')-->
|
||||
<h3 class="xeAdmin"><span class="gray">{$lang->analytics_api_method[$method]}</span></h3>
|
||||
<p>{$lang->about_analytics_method[$method]}</p>
|
||||
<!--#include('./date_set_header.html')-->
|
||||
<script text="text/javascript">
|
||||
var oAnalyticsMethodDisableField = {
|
||||
'pageStart':['day', 'avgdt'],
|
||||
'pageEnd':['day', 'avgdt'],
|
||||
'pageReturn':['day', 'avgdt'],
|
||||
'pagePop':['day']};
|
||||
|
||||
</script>
|
||||
<div id="dataTable"></div>
|
||||
<div class="pagination a1" id="pageNavi"></div>
|
||||
{@$_t=$lang->analytics_api_valuname[$method];}
|
||||
<script type="text/javascript">
|
||||
var oAnalyticsValueName = {};
|
||||
<!--@foreach($_t as $key => $val)-->
|
||||
oAnalyticsValueName['{$key}'] = '{$val}';
|
||||
<!--@end-->
|
||||
|
||||
var oAnalyticsWeekName = {};
|
||||
<!--@foreach($_week_name as $key => $val)-->
|
||||
oAnalyticsWeekName['{$key}'] = '{$val}';
|
||||
<!--@end-->
|
||||
|
||||
var sAnalyticsTotal = '{$lang->sum_total}';
|
||||
var sAnalyticsAfterDay = '{$lang->after_day}';
|
||||
var sAnalyticsTableCaption = '{$lang->analytics_api_method[$method]} ' + '{$lang->detail_info}';
|
||||
|
||||
jQuery.getJSON('{$json_url}'
|
||||
,function(data){
|
||||
var aTableData = data.response.data;
|
||||
|
||||
if (!aTableData)
|
||||
return;
|
||||
|
||||
var oSumData = {};
|
||||
var aTableHead = [];
|
||||
var aTableBody = [];
|
||||
|
||||
var table_tag;
|
||||
var table_head;
|
||||
var table_body;
|
||||
|
||||
var key;
|
||||
var i;
|
||||
var dataKey;
|
||||
var nValue;
|
||||
|
||||
aTableHead.push(oAnalyticsValueName['rank']);
|
||||
// table head생성
|
||||
for(key in aTableData[0])
|
||||
{
|
||||
if (oAnalyticsMethodDisableField['{$method}'] && jQuery.inArray(key , oAnalyticsMethodDisableField['{$method}']) >= 0)
|
||||
continue;
|
||||
|
||||
oSumData[key] = 0;
|
||||
aTableHead.push(oAnalyticsValueName[key]);
|
||||
}
|
||||
aTableHead.push(oAnalyticsValueName['percent']);
|
||||
table_head = '<thead><tr><th scope="col">' + aTableHead.join('</th><th scope="col">') +'</th></tr></thead>';
|
||||
|
||||
|
||||
// table body생성
|
||||
table_body = '<tbody>';
|
||||
|
||||
var percentData = 0;
|
||||
var sPercentTD = '';
|
||||
var imageWidth = 0;
|
||||
var sumpv = 0;
|
||||
|
||||
<!--@if($page)-->
|
||||
var nCurrentPage = {$page};
|
||||
<!--@else-->
|
||||
var nCurrentPage = 1;
|
||||
<!--@end-->
|
||||
var nRank = (nCurrentPage - 1) * 20;
|
||||
|
||||
for(i = 0; i < aTableData.length; i++)
|
||||
{
|
||||
aTableBody = [];
|
||||
aTableBody.push(nRank + i + 1);
|
||||
for (dataKey in aTableData[i])
|
||||
{
|
||||
if (oAnalyticsMethodDisableField['{$method}'] && jQuery.inArray(dataKey , oAnalyticsMethodDisableField['{$method}']) >= 0)
|
||||
continue;
|
||||
|
||||
nValue = aTableData[i][dataKey];
|
||||
// 날짜형 데이터의 경우 parseFloat건너 뜀
|
||||
if (nValue.indexOf('-') < 0)
|
||||
{
|
||||
nValue = parseFloat(nValue);
|
||||
oSumData[dataKey] += nValue;
|
||||
}
|
||||
|
||||
// 문자열 데이터인 경우 원본 그대로 입력한다.
|
||||
if (isNaN(nValue))
|
||||
{
|
||||
nValue = aTableData[i][dataKey];
|
||||
}
|
||||
|
||||
aTableBody.push(nValue);
|
||||
}
|
||||
sumpv = parseInt(aTableData[i]['sumpv']);
|
||||
if (sumpv > 0)
|
||||
{
|
||||
percentData = Math.round(sumpv / data.response.data_totalpv * 10000)/100;
|
||||
imageWidth = Math.round(percentData);
|
||||
}
|
||||
else
|
||||
{
|
||||
percentData = 0;
|
||||
imageWidth = 1;
|
||||
}
|
||||
|
||||
if (percentData < 1)
|
||||
{
|
||||
sPercentTD = '<img class="graphHr" style="width:3px" alt="" src="./images/iconBar.gif" />';
|
||||
}
|
||||
else
|
||||
{
|
||||
sPercentTD = '<img class="graphHr" style="width:'+imageWidth +'%" alt="" src="./images/iconBar.gif" />'
|
||||
}
|
||||
sPercentTD += percentData + '%';
|
||||
|
||||
table_body += '<tr><td>' + aTableBody.join('</td><td>') + '</td><td class="wide">' + sPercentTD + '</td></tr>';
|
||||
}
|
||||
|
||||
aTableBody = [];
|
||||
table_body += '<tr><td colspan=2>'+sAnalyticsTotal+'</td>';
|
||||
aTableBody = [data.response.data_totalpv, '100%'];
|
||||
table_body += '<td>' + aTableBody.join('</td><td>') + '</td></tr></tbody>';
|
||||
|
||||
table_tag = '<table cellspacing="0" class="rowTable"><caption>'+sAnalyticsTableCaption + '</caption>' + table_head + table_body + '</table>';
|
||||
|
||||
jQuery("#dataTable").html(table_tag);
|
||||
|
||||
// pageNavigation 생성
|
||||
var sFirstPage = '{$lang->first_page}';
|
||||
var sLastPage = '{$lang->last_page}';
|
||||
var nStartPageNumbering = nCurrentPage - 2;
|
||||
nStartPageNumbering = (nStartPageNumbering < 1)?1:nStartPageNumbering;
|
||||
var sPageNaviTag = '';
|
||||
var aPageNavi = [];
|
||||
var sPageURL = '{getUrl("page","","module_srl","")}'
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
if (nStartPageNumbering > data.response.page_total_count)
|
||||
break;
|
||||
|
||||
if (nCurrentPage == nStartPageNumbering)
|
||||
{
|
||||
aPageNavi.push('<strong>'+ nStartPageNumbering + '</strong>');
|
||||
}
|
||||
else
|
||||
{
|
||||
aPageNavi.push('<a href="' + sPageURL + '&page=' + nStartPageNumbering + '">' + nStartPageNumbering + '</a>');
|
||||
}
|
||||
nStartPageNumbering++;
|
||||
}
|
||||
|
||||
sPageNaviTag = '<a href="' + sPageURL + '" class="prevEnd">' + sFirstPage + '</a>'
|
||||
+ aPageNavi.join('')
|
||||
+ '<a href="' + sPageURL + '&page=' + data.response.page_total_count + '" class="nextEnd">' + sLastPage + '</a>';
|
||||
|
||||
|
||||
jQuery("#pageNavi").html(sPageNaviTag);
|
||||
|
||||
});
|
||||
</script>
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
<!--#include('./page_info_header.html')-->
|
||||
<h3 class="xeAdmin"><span class="gray">{$lang->analytics_api_method[$method]}</span></h3>
|
||||
<p>{$lang->about_analytics_method[$method]}</p>
|
||||
<!--#include('./date_set_header.html')-->
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<!--@foreach($value_names as $key => $val)-->
|
||||
<th scope="col"><div>{$lang->analytics_api_valuname[$method][$key]}</div></th>
|
||||
<!--@end-->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{@$__i=($page - 1) * $parsed_data->page_count->body}
|
||||
<!--@foreach($parsed_data->data as $key => $val)-->
|
||||
<!--@if($val->sumpv->body > 0)-->
|
||||
{@$percent = sprintf("%0.2f", $val->sumpv->body / $parsed_data->data_totalpv->body * 100)}
|
||||
{@$image_width = sprintf("%d", $percent)}
|
||||
<!--@else-->
|
||||
{@$percent = 0}
|
||||
{@$image_width = 1}
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<td>{$__i++ + 1}</td>
|
||||
<td><a href="{$val->url->body}">{$val->url->body}</td>
|
||||
<td>{$val->sumpv->body}</td>
|
||||
<td>
|
||||
{@$image_percent = $image_width - 30}
|
||||
<!--@if($image_percent < 1)-->
|
||||
<img class="graphHr" style="width:3px" alt="" src="./images/iconBar.gif" />
|
||||
<!--@else-->
|
||||
<img class="graphHr" style="width:{$image_percent}%" alt="" src="./images/iconBar.gif" />
|
||||
<!--@end-->
|
||||
{$percent}%</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="pagination a1">
|
||||
<a href="{getUrl('page','','module_srl','')}" class="prevEnd">{$lang->first_page}</a>
|
||||
<!--@while($page_no = $page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<strong>{$page_no}</strong>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="nextEnd">{$lang->last_page}</a>
|
||||
</div>
|
||||
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
<!--#include('./header.html')-->
|
||||
<!--%import("js/flashObject.js")-->
|
||||
<div>
|
||||
<ul class="localNavigation">
|
||||
<li <!--@if($act=='dispAnalyticsVisitInfoAdminVisitChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsVisitInfoAdminVisitChart', 'module_srl', '')}">{$lang->analytics_api_method['visit']}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsVisitInfoAdminVisitPageViewChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsVisitInfoAdminVisitPageViewChart', 'module_srl', '')}">{$lang->analytics_api_method['visitPageView']}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsVisitInfoAdminVisitTimeChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsVisitInfoAdminVisitTimeChart', 'module_srl', '')}">{$lang->analytics_api_method['visitTime']}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsVisitInfoAdminVisitDayChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsVisitInfoAdminVisitDayChart', 'module_srl', '')}">{$lang->analytics_api_method['visitDay']}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsVisitInfoAdminVisitBackChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsVisitInfoAdminVisitBackChart', 'module_srl', '')}">{$lang->analytics_api_method['visitBack']}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsVisitInfoAdminVisitStayTimeChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsVisitInfoAdminVisitStayTimeChart', 'module_srl', '')}">{$lang->analytics_api_method['visitStayTime']}</a></li>
|
||||
<li <!--@if($act=='dispAnalyticsVisitInfoAdminVisitPathChart')-->class="on"<!--@end-->><a href="{getUrl('act', 'dispAnalyticsVisitInfoAdminVisitPathChart', 'module_srl', '')}">{$lang->analytics_api_method['visitPath']}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
<!--#include('./visit_info_header.html')-->
|
||||
<h3 class="xeAdmin"><span class="gray">{$lang->analytics_api_method[$method]}</span></h3>
|
||||
<p>{$lang->about_analytics_method[$method]}</p>
|
||||
<!--#include('./date_set_header.html')-->
|
||||
<div>
|
||||
{@$__url = getNotEncodedFullUrl('', 'module', 'analytics', 'act', 'dispAnalyticsAPIData', 'api_key', $api_key, 'method', $method, 'start_date', $start_date, 'end_date', $end_date)}
|
||||
<!--@if($chart_type == 'line')-->
|
||||
<script language="JavaScript">
|
||||
var flashVars = "designURL=http://devjin.xpressengine.com/xe/modules/analytics/tpl/images/xml/{$method}.xml&"+
|
||||
"isScroll=true&"+
|
||||
"dataURL="+encodeURIComponent("{$__url}");
|
||||
var obj = {};
|
||||
obj.flashVars = flashVars;
|
||||
obj.wmode = "transparent";
|
||||
nhn.FlashObject.show("http://devjin.xpressengine.com/xe/modules/analytics/tpl/images/WebLog.swf", "{$method}", 800, 400, obj);
|
||||
</script>
|
||||
<!--@end-->
|
||||
<!--@if($chart_type == 'pie')-->
|
||||
<script language="JavaScript">
|
||||
var flashVars = "baseURL=http://devjin.xpressengine.com/xe/modules/analytics/tpl/images/smRepoter/&" +
|
||||
"dSet=01&" +
|
||||
"gDataXML="+encodeURIComponent("{$__url}");
|
||||
var obj = {};
|
||||
obj.flashVars = flashVars;
|
||||
obj.wmode = "transparent";
|
||||
nhn.FlashObject.show("http://devjin.xpressengine.com/xe/modules/analytics/tpl/images/MainContainer.swf", "{$method}", 700, 315, obj);
|
||||
</script>
|
||||
<!--@end-->
|
||||
</div>
|
||||
<div id="dataTable"></div>
|
||||
{@$_t=$lang->analytics_api_valuname[$method];}
|
||||
<script language="JavaScript">
|
||||
var lang = {};
|
||||
<!--@foreach($_t as $key => $val)-->
|
||||
lang['{$key}'] = '{$val}';
|
||||
<!--@end-->
|
||||
var totalStr = '{$lang->total}';
|
||||
jQuery.getJSON('{$json_url}'
|
||||
|
||||
,function(data){
|
||||
|
||||
var table_data = data.response.data;
|
||||
|
||||
if (!table_data)
|
||||
return;
|
||||
|
||||
var sum_data = {};
|
||||
var table_tag = '<table cellspacing="0" class="rowTable"><thead><tr>';
|
||||
|
||||
for(var key in table_data[0])
|
||||
{
|
||||
sum_data[key] = 0;
|
||||
table_tag += '<th scope="col"><div>' + lang[key] + '</div></th>';
|
||||
}
|
||||
|
||||
table_tag += '</tr></thead><tbody>';
|
||||
|
||||
for(var i = 0; i < table_data.length; i++)
|
||||
{
|
||||
table_tag += '<tr>';
|
||||
for (var dataKey in table_data[i])
|
||||
{
|
||||
sum_data[dataKey] += parseInt(table_data[i][dataKey]);
|
||||
table_tag += '<td>' + table_data[i][dataKey] + '</td>';
|
||||
}
|
||||
table_tag += '</tr>';
|
||||
}
|
||||
|
||||
table_tag += '<tr>';
|
||||
|
||||
for (var key in sum_data)
|
||||
{
|
||||
if (key == 'day')
|
||||
{
|
||||
table_tag += '<td>' + totalStr + '</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
table_tag += '<td>' + sum_data[key] + '</td>';
|
||||
}
|
||||
}
|
||||
|
||||
table_tag += '</tr></tbody></table>';
|
||||
|
||||
var table_div = document.getElementById("dataTable");
|
||||
|
||||
|
||||
table_div.innerHTML = table_tag;
|
||||
}
|
||||
);
|
||||
</script>
|
||||
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
<!--#include('./visit_info_header.html')-->
|
||||
<h3 class="xeAdmin"><span class="gray">{$lang->analytics_api_method[$method]}</span></h3>
|
||||
<p>{$lang->about_analytics_method[$method]}</p>
|
||||
<!--#include('./date_set_header.html')-->
|
||||
<div>
|
||||
{@$__url = getNotEncodedFullUrl('', 'module', 'analytics', 'act', 'dispAnalyticsAPIData', 'api_key', $api_key, 'method', $method, 'start_date', $start_date, 'end_date', $end_date)}
|
||||
{$__url}
|
||||
<!--@if($chart_type == 'line')-->
|
||||
<script language="JavaScript">
|
||||
var flashVars = "designURL=http://devjin.xpressengine.com/xe/modules/analytics/tpl/images/xml/{$method}.xml&"+
|
||||
"isScroll=true&"+
|
||||
"dataURL="+encodeURIComponent("{$__url}");
|
||||
var obj = {};
|
||||
obj.flashVars = flashVars;
|
||||
obj.wmode = "transparent";
|
||||
nhn.FlashObject.show("http://devjin.xpressengine.com/xe/modules/analytics/tpl/images/WebLog.swf", "{$method}", 800, 400, obj);
|
||||
</script>
|
||||
<!--@end-->
|
||||
<!--@if($chart_type == 'pie')-->
|
||||
<script language="JavaScript">
|
||||
var flashVars = "baseURL=http://devjin.xpressengine.com/xe/modules/analytics/tpl/images/smRepoter/&" +
|
||||
"dSet=01&" +
|
||||
"gDataXML="+encodeURIComponent("{$__url}");
|
||||
var obj = {};
|
||||
obj.flashVars = flashVars;
|
||||
obj.wmode = "transparent";
|
||||
nhn.FlashObject.show("http://devjin.xpressengine.com/xe/modules/analytics/tpl/images/MainContainer.swf", "{$method}", 700, 315, obj);
|
||||
</script>
|
||||
<!--@end-->
|
||||
</div>
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<!--@foreach($json_data->response->data as $key => $val)-->
|
||||
<!--@if($key == 0)-->
|
||||
{@$_sum_data = array()}
|
||||
<thead>
|
||||
<tr>
|
||||
<!--@foreach($val as $_key => $_val)-->
|
||||
{@$_sum_data[$_key] = 0}
|
||||
<!--@if($_key != 'day' && $_key != 'site_id')-->
|
||||
<!--@if($_key == 'freq')-->
|
||||
<th scope="col"><div>{$lang->return_time}</div></th>
|
||||
<!--@else-->
|
||||
<th scope="col"><div>{$lang->analytics_api_valuname[$method][$_key]}</div></th>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<!--@foreach($val as $_key => $_val)-->
|
||||
<!--@if($_key != 'day' && $_key != 'site_id')-->
|
||||
{@$_sum_data[$_key] += $_val}
|
||||
<!--@if($_key == 'freq')-->
|
||||
<td>{$_val.$lang->after_day}</td>
|
||||
<!--@else-->
|
||||
<td>{$_val}</td>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<!--@foreach($_sum_data as $__key => $__val)-->
|
||||
<!--@if($__key != 'day' && $__key != 'site_id')-->
|
||||
<!--@if($__key == 'freq')-->
|
||||
<td>{$lang->sum_total}</td>
|
||||
<!--@else-->
|
||||
<td>{$__val}</td>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
<!--#include('./visit_info_header.html')-->
|
||||
<h3 class="xeAdmin"><span class="gray">{$lang->analytics_api_method[$method]}</span></h3>
|
||||
<p>{$lang->about_analytics_method[$method]}</p>
|
||||
<!--#include('./date_set_header.html')-->
|
||||
<div>
|
||||
{@$__url = getNotEncodedFullUrl('', 'module', 'analytics', 'act', 'dispAnalyticsAPIData', 'api_key', $api_key, 'method', $method, 'start_date', $start_date, 'end_date', $end_date)}
|
||||
<!--@if($chart_type == 'line')-->
|
||||
<script language="JavaScript">
|
||||
var flashVars = "designURL=http://devjin.xpressengine.com/xe/modules/analytics/tpl/images/xml/{$method}.xml&"+
|
||||
"isScroll=true&"+
|
||||
"dataURL="+encodeURIComponent("{$__url}");
|
||||
var obj = {};
|
||||
obj.flashVars = flashVars;
|
||||
obj.wmode = "transparent";
|
||||
nhn.FlashObject.show("http://devjin.xpressengine.com/xe/modules/analytics/tpl/images/WebLog.swf", "{$method}", 800, 400, obj);
|
||||
</script>
|
||||
<!--@end-->
|
||||
<!--@if($chart_type == 'pie')-->
|
||||
<script language="JavaScript">
|
||||
var flashVars = "baseURL=http://devjin.xpressengine.com/xe/modules/analytics/tpl/images/smRepoter/&" +
|
||||
"dSet=01&" +
|
||||
"gDataXML="+encodeURIComponent("{$__url}");
|
||||
var obj = {};
|
||||
obj.flashVars = flashVars;
|
||||
obj.wmode = "transparent";
|
||||
nhn.FlashObject.show("http://devjin.xpressengine.com/xe/modules/analytics/tpl/images/MainContainer.swf", "{$method}", 700, 315, obj);
|
||||
</script>
|
||||
<!--@end-->
|
||||
</div>
|
||||
<div id="dataTable"></div>
|
||||
{@$_t=$lang->analytics_api_valuname[$method];}
|
||||
<script language="JavaScript">
|
||||
var lang = {};
|
||||
<!--@foreach($_t as $key => $val)-->
|
||||
lang['{$key}'] = '{$val}';
|
||||
<!--@end-->
|
||||
var totalStr = '{$lang->total}';
|
||||
jQuery.getJSON('{$json_url}'
|
||||
|
||||
,function(data){
|
||||
|
||||
var table_data = data.response.data;
|
||||
|
||||
if (!table_data)
|
||||
return;
|
||||
|
||||
var sum_data = {};
|
||||
var table_tag = '<table cellspacing="0" class="rowTable"><thead><tr>';
|
||||
|
||||
for(var key in table_data[0])
|
||||
{
|
||||
if (key == 'day')
|
||||
continue;
|
||||
|
||||
sum_data[key] = 0;
|
||||
table_tag += '<th scope="col"><div>' + lang[key] + '</div></th>';
|
||||
}
|
||||
|
||||
table_tag += '</tr></thead><tbody>';
|
||||
|
||||
for(var i = 0; i < table_data.length; i++)
|
||||
{
|
||||
table_tag += '<tr>';
|
||||
for (var dataKey in table_data[i])
|
||||
{
|
||||
if (dataKey == 'day')
|
||||
continue;
|
||||
|
||||
sum_data[dataKey] += parseInt(table_data[i][dataKey]);
|
||||
table_tag += '<td>' + table_data[i][dataKey] + '</td>';
|
||||
}
|
||||
table_tag += '</tr>';
|
||||
}
|
||||
|
||||
table_tag += '<tr>';
|
||||
|
||||
for (var key in sum_data)
|
||||
{
|
||||
if (key == 'week')
|
||||
{
|
||||
table_tag += '<td>' + totalStr + '</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
table_tag += '<td>' + sum_data[key] + '</td>';
|
||||
}
|
||||
}
|
||||
|
||||
table_tag += '</tr></tbody></table>';
|
||||
|
||||
var table_div = document.getElementById("dataTable");
|
||||
|
||||
console.log(table_div);
|
||||
|
||||
table_div.innerHTML = table_tag;
|
||||
}
|
||||
);
|
||||
</script>
|
||||
|
||||
|
|
@ -1,152 +0,0 @@
|
|||
<!--#include('./visit_info_header.html')-->
|
||||
<h3 class="xeAdmin"><span class="gray">{$lang->analytics_api_method[$method]}</span></h3>
|
||||
<p>{$lang->about_analytics_method[$method]}</p>
|
||||
<!--#include('./date_set_header.html')-->
|
||||
<script type="text/javascript">
|
||||
var oAnalyticsMethodDisableField = {
|
||||
'visitTime':['day'],
|
||||
'visitDay':['day'],
|
||||
'visitBack':['site_id','day'],
|
||||
'visitStayTime':['visit']};
|
||||
var oAnalyticsMethodMainField = {
|
||||
'visit':'day',
|
||||
'visitPageView':'day',
|
||||
'visitTime':'timezone',
|
||||
'visitDay':'week',
|
||||
'visitBack':'freq',
|
||||
'visitStayTime':'day',
|
||||
'visitPath':'day'};
|
||||
</script>
|
||||
|
||||
<div>
|
||||
{@$__url = getNotEncodedFullUrl('', 'module', 'analytics', 'act', 'dispAnalyticsAPIData', 'api_key', $api_key, 'method', $method, 'start_date', $start_date, 'end_date', $end_date)}
|
||||
<script type="text/javascript">
|
||||
var analyticsChartSWFURL = '';
|
||||
var flashVars = '';
|
||||
<!--@if($chart_type == 'line')-->
|
||||
flashVars = "designURL=modules/analytics/tpl/images/xml/{$method}.xml&"+
|
||||
"isScroll=true&"+
|
||||
"dataURL="+encodeURIComponent("{$__url}");
|
||||
analyticsChartSWFURL = "modules/analytics/tpl/images/WebLog.swf";
|
||||
<!--@else if($chart_type == 'pie')-->
|
||||
flashVars = "baseURL=modules/analytics/tpl/images/smRepoter/&" +
|
||||
"dSet=01&" +
|
||||
"gDataXML="+encodeURIComponent("{$__url}");
|
||||
analyticsChartSWFURL = "modules/analytics/tpl/images/MainContainer.swf";
|
||||
<!--@end-->
|
||||
var obj = {};
|
||||
obj.flashVars = flashVars;
|
||||
obj.wmode = "transparent";
|
||||
nhn.FlashObject.show(analyticsChartSWFURL, "{$method}", 700, 315, obj);
|
||||
</script>
|
||||
</div>
|
||||
<div id="dataTable"></div>
|
||||
{@$_t=$lang->analytics_api_valuname[$method];}
|
||||
{@$_week_name = $lang->week_name;}
|
||||
<script type="text/javascript">
|
||||
var oAnalyticsValueName = {};
|
||||
<!--@foreach($_t as $key => $val)-->
|
||||
oAnalyticsValueName['{$key}'] = '{$val}';
|
||||
<!--@end-->
|
||||
|
||||
var oAnalyticsWeekName = {};
|
||||
<!--@foreach($_week_name as $key => $val)-->
|
||||
oAnalyticsWeekName['{$key}'] = '{$val}';
|
||||
<!--@end-->
|
||||
|
||||
var sAnalyticsTotal = '{$lang->sum_total}';
|
||||
var sAnalyticsAfterDay = '{$lang->after_day}';
|
||||
var sAnalyticsTableCaption = '{$lang->analytics_api_method[$method]} ' + '{$lang->detail_info}';
|
||||
jQuery.getJSON('{$json_url}'
|
||||
|
||||
,function(data){
|
||||
var aTableData = data.response.data;
|
||||
|
||||
if (!aTableData)
|
||||
return;
|
||||
|
||||
var oSumData = {};
|
||||
var aTableHead = [];
|
||||
var aTableBody = [];
|
||||
|
||||
var table_tag;
|
||||
var table_head;
|
||||
var table_body;
|
||||
|
||||
var key;
|
||||
var i;
|
||||
var dataKey;
|
||||
var nValue;
|
||||
|
||||
// table head생성
|
||||
for(key in aTableData[0])
|
||||
{
|
||||
if (oAnalyticsMethodDisableField['{$method}'] && jQuery.inArray(key , oAnalyticsMethodDisableField['{$method}']) >= 0)
|
||||
continue;
|
||||
|
||||
oSumData[key] = 0;
|
||||
aTableHead.push(oAnalyticsValueName[key]);
|
||||
}
|
||||
|
||||
table_head = '<thead><tr><th scope="col">' + aTableHead.join('</th><th scope="col">') +'</th></tr></thead>';
|
||||
|
||||
// table body생성
|
||||
table_body = '<tbody>';
|
||||
for(i = 0; i < aTableData.length; i++)
|
||||
{
|
||||
aTableBody = [];
|
||||
for (dataKey in aTableData[i])
|
||||
{
|
||||
if (oAnalyticsMethodDisableField['{$method}'] && jQuery.inArray(dataKey , oAnalyticsMethodDisableField['{$method}']) >= 0)
|
||||
continue;
|
||||
|
||||
nValue = aTableData[i][dataKey];
|
||||
// 날짜형 데이터의 경우 parseFloat건너 뜀
|
||||
if (nValue.indexOf('-') < 0)
|
||||
{
|
||||
nValue = parseFloat(nValue);
|
||||
oSumData[dataKey] += nValue;
|
||||
}
|
||||
|
||||
// 요일별 방문 분포의 경우
|
||||
// 수치별 요일명을 노출하도록 함
|
||||
if (dataKey == 'week')
|
||||
{
|
||||
nValue = oAnalyticsWeekName[nValue];
|
||||
}
|
||||
|
||||
// 재방문 간격의 경우
|
||||
// 몇일 후 데이터 표현을 위해 postFix를 붙인다.
|
||||
else if (dataKey == 'freq')
|
||||
{
|
||||
nValue = nValue + sAnalyticsAfterDay;
|
||||
}
|
||||
|
||||
aTableBody.push(nValue);
|
||||
}
|
||||
table_body += '<tr><td>' + aTableBody.join('</td><td>') + '</td></tr>'
|
||||
}
|
||||
|
||||
aTableBody = [];
|
||||
|
||||
for (key in oSumData)
|
||||
{
|
||||
if (key == oAnalyticsMethodMainField['{$method}'])
|
||||
{
|
||||
aTableBody.push(sAnalyticsTotal);
|
||||
}
|
||||
else
|
||||
{
|
||||
aTableBody.push(oSumData[key]);
|
||||
}
|
||||
}
|
||||
|
||||
table_body += '<tr><td>' + aTableBody.join('</td><td>') + '</td></tr></tbody>';
|
||||
|
||||
table_tag = '<table cellspacing="0" class="rowTable"><caption>'+sAnalyticsTableCaption + '</caption>' + table_head + table_body + '</table>';
|
||||
|
||||
jQuery("#dataTable").html(table_tag);
|
||||
}
|
||||
);
|
||||
</script>
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue