anonymize($maskLength); return $newIpObject; } /** * Hook on Tracker.Visit.setVisitorIp to anomymize visitor IP addresses * @param string $ip IP address in binary format (network format) */ public function setVisitorIpAddress(&$ip) { $ipObject = IP::fromBinaryIP($ip); if (!$this->isActive()) { Common::printDebug("Visitor IP was _not_ anonymized: ". $ipObject->toString()); return; } $privacyConfig = new Config(); $newIpObject = self::applyIPMask($ipObject, $privacyConfig->ipAddressMaskLength); $ip = $newIpObject->toBinary(); Common::printDebug("Visitor IP (was: ". $ipObject->toString() .") has been anonymized: ". $newIpObject->toString()); } /** * Deactivates IP anonymization. This function will not be called by the Tracker. */ public static function deactivate() { $privacyConfig = new Config(); $privacyConfig->ipAnonymizerEnabled = false; } /** * Activates IP anonymization. This function will not be called by the Tracker. */ public static function activate() { $privacyConfig = new Config(); $privacyConfig->ipAnonymizerEnabled = true; } /** * Returns true if IP anonymization support is enabled, false if otherwise. * * @return bool */ public static function isActive() { $privacyConfig = new Config(); return $privacyConfig->ipAnonymizerEnabled; } }