setForceVisitDateTime() public method

By default Piwik will track requests for the "current datetime" but this function allows you to track visits in the past. All times are in UTC. Allowed only for Super User, must be used along with setTokenAuth()
See also: setTokenAuth()
public setForceVisitDateTime ( string $dateTime )
$dateTime string Date with the format 'Y-m-d H:i:s', or a UNIX timestamp
Exemplo n.º 1
0
 /**
  * Returns a PiwikTracker object that you can then use to track pages or goals.
  *
  * @param         $idSite
  * @param         $dateTime
  * @param boolean $defaultInit If set to true, the tracker object will have default IP, user agent, time, resolution, etc.
  *
  * @return PiwikTracker
  */
 public static function getTracker($idSite, $dateTime, $defaultInit = true, $useLocal = false)
 {
     if ($useLocal) {
         require_once PIWIK_INCLUDE_PATH . '/tests/LocalTracker.php';
         $t = new Piwik_LocalTracker($idSite, self::getTrackerUrl());
     } else {
         $t = new PiwikTracker($idSite, self::getTrackerUrl());
     }
     $t->setForceVisitDateTime($dateTime);
     if ($defaultInit) {
         $t->setIp('156.5.3.2');
         // Optional tracking
         $t->setUserAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6 (.NET CLR 3.5.30729)");
         $t->setBrowserLanguage('fr');
         $t->setLocalTime('12:34:06');
         $t->setResolution(1024, 768);
         $t->setBrowserHasCookies(true);
         $t->setPlugins($flash = true, $java = true, $director = false);
     }
     return $t;
 }
function saveInPiwik($logHash)
{
    echo $logHash["ip"] . " " . $logHash["status"] . " " . $logHash["utcdatetime"] . " " . $logHash["path"] . " (" . $logHash["agent"] . ")... ";
    global $idSite, $webUrl, $piwikUrl, $tokenAuth;
    $t = new PiwikTracker($idSite, $piwikUrl);
    $t->setUserAgent($logHash["agent"]);
    $t->setTokenAuth($tokenAuth);
    $t->setIp($logHash["ip"]);
    $t->setForceVisitDateTime($logHash["utcdatetime"]);
    $t->setUrlReferrer($logHash["referer"]);
    $t->setUrl($webUrl . $logHash["path"]);
    $HTTPResult = false;
    $HTTPFailCount = 0;
    do {
        $HTTPResult = $t->doTrackPageView(basename($logHash["path"]));
        if (!$HTTPResult) {
            $HTTPFailCount++;
            echo "FAIL\n";
            echo "Unable to save (via HTTP) last log entry for the {$HTTPFailCount} time, retrying in a few seconds...\n";
            sleep($HTTPFailCount);
        } else {
            echo "SUCCESS\n";
        }
    } while (!$HTTPResult);
}
 /**
  * Returns a PiwikTracker object that you can then use to track pages or goals.
  *
  * @param $idSite
  * @param $dateTime
  * @param $defaultInit If set to true, the tracker object will have default IP, user agent, time, resolution, etc.
  * @return PiwikTracker
  */
 protected function getTracker($idSite, $dateTime, $defaultInit = true)
 {
     $t = new PiwikTracker($idSite, $this->getTrackerUrl());
     $t->setForceVisitDateTime($dateTime);
     if ($defaultInit) {
         $t->setIp('156.5.3.2');
         // Optional tracking
         $t->setUserAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6 (.NET CLR 3.5.30729)");
         $t->setBrowserLanguage('fr');
         $t->setLocalTime('12:34:06');
         $t->setResolution(1024, 768);
         $t->setBrowserHasCookies(true);
         $t->setPlugins($flash = true, $java = true, $director = false);
     }
     return $t;
 }
Exemplo n.º 4
0
 private function doPingRequest(\PiwikTracker $tracker, $pingTime, $changeDimensionValues)
 {
     if ($changeDimensionValues) {
         $tracker->setUserAgent(self::CHANGED_USER_AGENT);
         $tracker->setBrowserLanguage(self::CHANGED_BROWSER_LANGUAGE);
         $tracker->setCountry(self::CHANGED_COUNTRY);
         $tracker->setRegion(self::CHANGED_REGION);
     }
     $tracker->setForceVisitDateTime($pingTime);
     $response = $tracker->doPing();
     Fixture::checkResponse($response);
     return $response;
 }
 private function moveTimeForward(PiwikTracker $vis, $minutes)
 {
     $hour = $minutes / 60;
     return $vis->setForceVisitDateTime(Date::factory($this->dateTime)->addHour($hour)->getDatetime());
 }