begin(); // 로그를 검사 $oCounterModel = &getModel('counter'); // 오늘자 row가 있는지 체크하여 없으면 등록 if(!$oCounterModel->isInsertedTodayStatus()) { $this->insertTodayStatus(); // 기존 row가 있으면 사용자 체크 } else { // 등록되어 있지 않은 아이피일 경우 if(!$oCounterModel->isLogged()) { // 로그 등록 $this->insertLog(); // unique 및 pageview 등록 $this->insertUniqueVisitor(); } else { // pageview 등록 $this->insertPageView(); } } $oDB->commit(); } /** * @brief 로그 등록 **/ function insertLog() { $args->regdate = date("YmdHis"); $args->user_agent = $_SERVER['HTTP_USER_AGENT']; return executeQuery('counter.insertCounterLog', $args); } /** * @brief unique visitor 등록 **/ function insertUniqueVisitor() { $args->regdate = date("Ymd"); executeQuery('counter.updateCounterUnique', $args); executeQuery('counter.updateTotalCounterUnique'); } /** * @brief pageview 등록 **/ function insertPageView() { $args->regdate = date("Ymd"); executeQuery('counter.updateCounterPageview', $args); executeQuery('counter.updateTotalCounterPageview'); } /** * @brief 전체 카운터 status 추가 **/ function insertTotalStatus() { $args->regdate = 0; executeQuery('counter.insertTodayStatus', $args); } /** * @brief 오늘자 카운터 status 추가 **/ function insertTodayStatus($regdate = 0) { if($regdate) $args->regdate = $regdate; else $args->regdate = date("Ymd"); executeQuery('counter.insertTodayStatus', $args); // 로그 등록 $this->insertLog(); // unique 및 pageview 등록 $this->insertUniqueVisitor(); } } ?>