rhymix/modules/analytics/tpl/come_info_chart.html
devjin 94ce97fdb6 Analytics Module 개발
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7654 201d5d3c-b55e-5fd7-737f-ddc643e51545
2010-08-25 01:54:31 +00:00

188 lines
5.4 KiB
HTML

<!--#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>