Tiny Logs 

관리자 통계 보기 버그 수정

타이니 | 2013.07.21 21:17 | 조회 3,567
카테고리분류 : kimsQ Rb v.1.2.0~v.1.2.2
code bug


관리자페이지에서 각종 통계 보여주기 관련해서 버그가 있습니다.
킴스큐 통계페이지가 뭔가 크게 이상하다고 느끼셨던 분들 확인해 보실 사항이고요.
킴스큐 쓰면서 다중사이트 생성 하신 분 필수입니다. (여러개의 도메인이 아니더라도 r= 코드로 시작하는 여러개의 사이트)

일반적으로 킴스큐를 가지고 1개의 사이트만을 운영할 때는 문제가 없지만.

여러개의 다중 사이트를 운영 할 경우 통계데이터 뽑아오는 쿼리가 잘 못 되어 있습니다.


[문제 나타나는 곳]

관리자페이지의 시스템 > 데스크
관리자페이지의 접속통계 > 자료분석
관리자페이지의 접속통계 > 접속통계


나타나는 증상은 동일합니다.

해당 통계 페이지 또는 사이트별로 셀렉트해서 통계를 보는 부분에서,
디폴트는 "전체 사이트" 입니다만.

소스파일상의 쿼리에선 site 필드에 where 옵션을 단순히 지정해 주지 않고 데이터를 가져올 뿐.
여러개 row에대한 sum MySQL 함수를 실행하지 않습니다.

따라서, 다중의 사이트를 운영할 때는 where 조건만 만족하는 가장 첫 row 의 값만 불러옵니다.

예를 들면.

현재 이 곳 홈페이지도 총 3개의 r=code 로 이루어진 사이트가 3개 있습니다.
r=home 인 이곳.
r=tiny01 인 레이아웃 데모시연용 홈페이지.
r=test 는 내부 테스트용 홈페이지 이고요.

각각의 사이트코드 별 통계가 생성됩니다.
관리자페이지 위 세 곳에 들어가 보면, 전체사이트 대상(모든 사이트를 합한 숫자)으로 방문자 수가 아니라... 생성한 위 3개 사이트 중에 하나의 방문자 수를 보여주고 있습니다. 



버그 수정 방법입니다.
아래 소스처럼 해당 파일을 하드코딩 해서 고치시거나 첨부파일을 다운로드 받아 FTP로 정확한 경로에 업로드(덮어쓰기) 하세요.


/modules/admin/lang.korean/admin/_pc/main.desk.php 파일

120번째 줄:
<?php $DayOf1=getDbData($table['s_counter'],$accountQue."date='".$year.sprintf('%02d',$month).sprintf('%02d',$i)."'",'sum(hit) as hit, sum(page) as page');?>

40번째 줄부터 4줄:
$_D1=getDbData($table['s_numinfo'],$accountQue."date='".$date['today']."'",'sum(visit) as visit, sum(login) as login, sum(comment) as comment, sum(oneline) as oneline, sum(upload) as upload, sum(download) as download, sum(mbrjoin) as mbrjoin, sum(mbrout) as mbrout, sum(rcvtrack) as rcvtrack, sum(sndtrack) as sndtrack');
$_D2=getDbData($table['s_numinfo'],$accountQue."date='".$_yesterday."'",'sum(visit) as visit, sum(login) as login, sum(comment) as comment, sum(oneline) as oneline, sum(upload) as upload, sum(download) as download, sum(mbrjoin) as mbrjoin, sum(mbrout) as mbrout, sum(rcvtrack) as rcvtrack, sum(sndtrack) as sndtrack');
$_D3=getDbData($table['bbsday'],$accountQue."date='".$date['today']."'",'sum(num) as num');
$_D4=getDbData($table['bbsday'],$accountQue."date='".$_yesterday."'",'sum(num) as num');


/modules/counter/lang.korean/admin/_pc/main.php 파일

74번째 줄:
<?php $DayOf1=getDbData($table['s_counter'],$accountQue."date='".$year.sprintf('%02d',$month).sprintf('%02d',$i)."'",'sum(hit) as hit, sum(page) as page')?>


/modules/counter/lang.korean/admin/_pc/data.php 파일

91번째 줄:
<?php $_D=getDbData($table['s_numinfo'],$accountQue."date='".$year.sprintf('%02d',$month).sprintf('%02d',$i)."'",'sum(visit) as visit, sum(login) as login, sum(comment) as comment, sum(oneline) as oneline, sum(upload) as upload, sum(download) as download, sum(mbrjoin) as mbrjoin, sum(mbrout) as mbrout, sum(rcvtrack) as rcvtrack, sum(sndtrack) as sndtrack')?>
크리에이티브 커먼즈 라이선스
22개(1/3페이지) rss


많이 본 글최근 90일내 많이 본 글입니다.
댓글 많은 글최근 90일내 댓글 많은 글입니다.
Tag Cloud
등록된 태그가 없습니다.

Visits Counter
  • 27오늘 방문
  • 96어제 방문
  • 27오늘 페이지뷰
  • 97어제 페이지뷰
  • 2,617이번 달 방문
  • 2,247지난 달 방문