getConfig(); if (empty($config->DeviceDetectorCache)) { $config->DeviceDetectorCache = []; } $cache = $config->DeviceDetectorCache; // we make sure to set a value only if none has been configured yet, eg in common config. if (empty($cache[self::KEY_NUM_ENTRIES_TO_CACHE])) { $cache[self::KEY_NUM_ENTRIES_TO_CACHE] = self::DEFAULT_NUM_ENTRIES_TO_CACHE; } if (empty($cache[self::KEY_ACCESS_LOG_PATH])) { $cache[self::KEY_ACCESS_LOG_PATH] = self::DEFAULT_ACCESS_LOG_PATH; } if (empty($cache[self::KEY_ACCESS_LOG_REGEX])) { $cache[self::KEY_ACCESS_LOG_REGEX] = self::DEFAULT_ACCESS_LOG_REGEX; } if (empty($cache[self::KEY_ACCESS_LOG_REGEX_MATCH_ENTRY])) { $cache[self::KEY_ACCESS_LOG_REGEX_MATCH_ENTRY] = self::DEFAULT_ACCESS_LOG_REGEX_MATCH_ENTRY; } $config->DeviceDetectorCache = $cache; $config->forceSave(); } public function uninstall() { $config = $this->getConfig(); $config->DeviceDetectorCache = []; $config->forceSave(); } /** * @return string */ public function getAccessLogPath() { return $this->getConfigValue(self::KEY_ACCESS_LOG_PATH, self::DEFAULT_ACCESS_LOG_PATH); } /** * @return string */ public function getAccessLogRegex() { return $this->getConfigValue(self::KEY_ACCESS_LOG_REGEX, self::DEFAULT_ACCESS_LOG_REGEX); } /** * @return string */ public function getRegexMatchEntry() { return (int)$this->getConfigValue(self::KEY_ACCESS_LOG_REGEX_MATCH_ENTRY, self::DEFAULT_ACCESS_LOG_REGEX_MATCH_ENTRY); } /** * @return string */ public function getNumEntriesToCache() { return (int)$this->getConfigValue(self::KEY_NUM_ENTRIES_TO_CACHE, self::DEFAULT_NUM_ENTRIES_TO_CACHE); } private function getConfig() { return Config::getInstance(); } private function getConfigValue($name, $default) { $config = $this->getConfig(); $attribution = $config->DeviceDetectorCache; if (isset($attribution[$name])) { return $attribution[$name]; } return $default; } }