본문으로 건너뛰기

애널리틱스 어드민 메뉴 추가 및 구방문자 통계 제거

PHP 8 · GODO25
변경 파일 수: 1개
변경 파일 목록
총 1개
변경 파일 코드
추가삭제
Component/VisitStatistics/VisitAnalysis.php+14-8
변경 전VisitAnalysis.php
$request['endDate'] = (new DateTime($searchData['orderYMD'][1]))->format('Y-m-d');
 
// 요약 전체 방문자 통계 api 요청
return $this->getVisitTotalDataByMain($request)['summary']['visit_total'];
}
 
/**
* Analytics API 요청 데이터 준비
* 디바이스 필터 및 헤더 정보를 설정하여 API 요청에 필요한 데이터를 구성
*
* @param string $device 디바이스 타입 ('all', 'pc', 'mobile', 'myApp')
* @return array 요청 파라미터
*/
public function prepareVisitAnalyticsRequestData(string $device): array
{
$requestData = [];
 
 
// device 세팅
$deviceMap = ['pc' => 'P', 'mobile' => 'M', 'myApp' => 'A'];
$processedVisitAnalysis = [];
if (isset($visitAnalysis['7Days']['details']) && is_array($visitAnalysis['7Days']['details'])) {
foreach ($visitAnalysis['7Days']['details'] as $visitAnalysisInfo) {
$displayDate = DateTimeUtils::dateFormat('m/d', $visitAnalysisInfo['period_value']);
$processedVisitAnalysis['7DaysVisit'][$displayDate]['visitCount'] = $visitAnalysisInfo['visit_total'] ?? 0;
$processedVisitAnalysis['7DaysPv'][$displayDate]['pv'] = $visitAnalysisInfo['pv_total'] ?? 0;
 
 
 
 
 
}
}
 
foreach ($periodsToProcess as $periodKey) {
if (isset($visitAnalysis[$periodKey]['summary'])) {
$summaryData = $visitAnalysis[$periodKey]['summary'];
$processedVisitAnalysis["{$periodKey}Total"]['visitCount'] = $summaryData['visit_total'] ?? 0;
$processedVisitAnalysis["{$periodKey}Total"]['pv'] = $summaryData['pv_total'] ?? 0;
}
}
 
 
변경 후VisitAnalysis.php
$request['endDate'] = (new DateTime($searchData['orderYMD'][1]))->format('Y-m-d');
 
// 요약 전체 방문자 통계 api 요청
return $this->getVisitTotalDataByMain($request)['summary']['visitTotal'] ?? 0;
}
 
/**
* Analytics API 요청 데이터 준비
* 측정 기준과 디바이스 필터를 설정하여 API 요청에 필요한 데이터를 구성
*
* @param string $device 디바이스 타입 ('all', 'pc', 'mobile', 'myApp')
* @return array 요청 파라미터
*/
public function prepareVisitAnalyticsRequestData(string $device): array
{
// 세션 기준 측정 방식 사용
$requestData['measure'] = 'session';
 
// device 세팅
$deviceMap = ['pc' => 'P', 'mobile' => 'M', 'myApp' => 'A'];
$processedVisitAnalysis = [];
if (isset($visitAnalysis['7Days']['details']) && is_array($visitAnalysis['7Days']['details'])) {
foreach ($visitAnalysis['7Days']['details'] as $visitAnalysisInfo) {
// 기준일이 비면 날짜 변환이 1월 1일로 잡히므로 건너뜀
if (empty($visitAnalysisInfo['periodValue'])) {
continue;
}
 
$displayDate = DateTimeUtils::dateFormat('m/d', $visitAnalysisInfo['periodValue']);
$processedVisitAnalysis['7DaysVisit'][$displayDate]['visitCount'] = $visitAnalysisInfo['visitTotal'] ?? 0;
$processedVisitAnalysis['7DaysPv'][$displayDate]['pv'] = $visitAnalysisInfo['pvTotal'] ?? 0;
}
}
 
foreach ($periodsToProcess as $periodKey) {
if (isset($visitAnalysis[$periodKey]['summary'])) {
$summaryData = $visitAnalysis[$periodKey]['summary'];
$processedVisitAnalysis["{$periodKey}Total"]['visitCount'] = $summaryData['visitTotal'] ?? 0;
$processedVisitAnalysis["{$periodKey}Total"]['pv'] = $summaryData['pvTotal'] ?? 0;
}
}