Skip to content
Extraits de code Groupes Projets
DeviceDetectorFactory.php 983 octets
Newer Older
  • Learn to ignore specific revisions
  •  * Piwik - free/libre analytics platform
    
     *
     * @link http://piwik.org
     * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
     *
     */
    namespace Piwik;
    
    use DeviceDetector\DeviceDetector;
    
    class DeviceDetectorFactory
    {
        protected static $deviceDetectorInstances = array();
    
        /**
         * Returns a Singleton instance of DeviceDetector for the given user agent
         * @param string $userAgent
         * @return DeviceDetector
         */
        public static function getInstance($userAgent)
        {
            if (array_key_exists($userAgent, self::$deviceDetectorInstances)) {
                return self::$deviceDetectorInstances[$userAgent];
            }
    
            $deviceDetector = new DeviceDetector($userAgent);
            $deviceDetector->discardBotInformation();
    
            $deviceDetector->setCache(new DeviceDetectorCache(86400));
    
            $deviceDetector->parse();
    
            self::$deviceDetectorInstances[$userAgent] = $deviceDetector;
    
            return $deviceDetector;
        }
    }