maps the maker of the browser, os, engine or device

@param string|null $maker

@return string|null
322827
public function mapMaker(?string $maker): ?string
    {
        if (null === $maker) {
            return null;
        }

        switch (mb_strtolower(trim($maker))) {
            case '':
            case 'unknown':
            case 'other':
            case 'bot':
            case 'various':
                $maker = null;
                break;
            case 'microsoft':
            case 'microsoft corporation.':
                $maker = 'Microsoft Corporation';
                break;
            case 'apple':
            case 'apple inc.':
            case 'apple computer, inc.':
                $maker = 'Apple Inc';
                break;
            case 'google':
            case 'google inc.':
            case 'google, inc.':
                $maker = 'Google Inc';
                break;
            case 'lunascape & co., ltd.':
                $maker = 'Lunascape Corporation';
                break;
            case 'opera software asa.':
                $maker = 'Opera Software ASA';
                break;
            case 'sun microsystems, inc.':
                $maker = 'Oracle';
                break;
            case 'postbox, inc.':
                $maker = 'Postbox Inc';
                break;
            case 'comodo group, inc.':
                $maker = 'Comodo Group Inc';
                break;
            case 'canonical ltd.':
                $maker = 'Canonical Ltd';
                break;
            case 'gentoo foundation, inc.':
                $maker = 'Gentoo Foundation Inc';
                break;
            case 'omni development, inc.':
                $maker = 'Omni Development Inc';
                break;
            case 'slackware linux, inc.':
                $maker = 'Slackware Linux Inc';
                break;
            case 'red hat, inc.':
                $maker = 'Red Hat Inc';
                break;
            case 'rim':
                $maker = 'Research In Motion Limited';
                break;
            case 'mozilla':
                $maker = 'Mozilla Foundation';
                break;
            case 'majestic-12':
                $maker = 'Majestic-12 Ltd';
                break;
            case 'zum internet':
                $maker = 'ZUMinternet Corp';
                break;
            case 'mojeek ltd.':
                $maker = 'Linkdex Limited';
                break;
            default:
                // nothing to do here
                break;
        }

        return $maker;
    }
1229075
protected function getProxy()
    {
        return null === $this->proxy ? $this->proxy = new RenderEngineDecorator($this) : $this->proxy;
    }
1126791
public function formClass($resource=null)
    {

        $resource = $this->passedOrCurrent($resource);

        if ($formClass = $this->mapper->formClass($resource)) {
            return $formClass;
        }

        $modelClass = class_basename($this->modelClass($resource));

        if ($formClass = $this->finder->formClass($resource, $modelClass)) {
            return $formClass;
        }

        return '';
    }
315227
function creator()
    {
        $db = eZDB::instance();
        $query = "SELECT creator_id
                  FROM ezcontentobject_version
                  WHERE
                        contentobject_id = '$this->ContentObjectID' AND
                        version = '$this->ContentObjectVersion' ";

        $creatorArray = $db->arrayQuery( $query );
        return eZContentObject::fetch( $creatorArray[0]['creator_id'] );
    }
34373
public function getBind($domain = null)
    {
        if (is_null($domain)) {
            $domain = $this->domain;
        } elseif (true === $domain) {
            return $this->bind;
        } elseif (false === strpos($domain, '.')) {
            $domain .= '.' . $this->request->rootDomain();
        }

        $subDomain = $this->getSubDomain();

        if (strpos($subDomain, '.')) {
            $name = '*' . strstr($subDomain, '.');
        }

        if (isset($this->bind[$domain])) {
            $result = $this->bind[$domain];
        } elseif (isset($name) && isset($this->bind[$name])) {
            $result = $this->bind[$name];
        } elseif (isset($this->bind['*'])) {
            $result = $this->bind['*'];
        } else {
            $result = null;
        }

        return $result;
    }
960870
public function mapBrowserVersion(?string $browserVersion, ?string $browserName = null): VersionInterface
    {
        return (new BrowserVersionMapper())->mapBrowserVersion($browserVersion, $browserName);
    }
772517
public function getUrlFor($item)
    {
        $routeGenerator = $this->routerGenerator;
        if (is_callable($routeGenerator)) {
            return $routeGenerator($item);
        }

        return null;
    }
790330
public function getEngine($refresh = false)
    {
        if (empty($this->detection['engine']) || $refresh) {
            $this->detectEngine($this->userAgent);
        }

        return $this->engine;
    }
557821
public static function get(string $key)
    {
        if (!self::$instance) {
            return null;
        }

        return self::$instance->engine->get($key);
    }
422927
public static function instance($instance = null)
	{
		if ($instance !== null)
		{
			if ( ! array_key_exists($instance, static::$_instances))
			{
				return false;
			}

			return static::$_instances[$instance];
		}

		if (static::$_instance === null)
		{
			static::$_instance = static::forge();
		}

		return static::$_instance;
	}
617945
public function getFormFactory(File $file)
    {
        // Get service name based on file class
        $name = null;
        if ($file instanceof Folder) {
            $name = FolderFormFactory::class;
        } elseif ($file instanceof Image) {
            $name = ImageFormFactory::class;
        } else {
            $name = FileFormFactory::class;
        }
        return Injector::inst()->get($name);
    }
1103109
protected function getDomain(?string $domain = null) : ?string
    {
        $domain = $domain ?? $this->appUrl;

        if ($domain === null) {
            return null;
        }

        return $this->trim(str_replace(['http:', 'https:'], '', $domain), '/');
    }
818853
public function mapOsVersion(?string $osVersion, ?string $osName = null): VersionInterface
    {
        if (null === $osVersion) {
            return new Version();
        }

        switch (mb_strtolower($osVersion)) {
            case '':
            case 'unknown':
            case 'other':
                return new Version();
                break;
            case 'server 2003':
                return new Version('2003');
                break;
            case 'nt 5.1':
                return (new VersionFactory())->set('XP');
                break;
            case 'nt 6.1':
                return new Version('7');
                break;
            case 'nt 6.2':
                return new Version('8');
                break;
            case 'nt 6.3':
                return new Version('8', '1');
                break;
            default:
                // nothing to do here
                break;
        }

        if (null === $osName) {
            return new Version();
        }

        switch (mb_strtolower($osName)) {
            case '':
            case 'unknown':
            case 'other':
                return new Version();
                break;
            case 'winxp':
            case 'windows xp':
            case 'nt 5.1':
                return (new VersionFactory())->set('XP');
                break;
            case 'winvista':
            case 'windows vista':
            case 'nt 6.0':
                return (new VersionFactory())->set('Vista');
                break;
            case 'win7':
            case 'winphone7':
            case 'windows phone 7':
            case 'windows 7':
            case 'nt 6.1':
                return new Version('7');
                break;
            case 'winphone7.5':
            case 'windows phone 7.5':
                return new Version('7', '5');
                break;
            case 'win8':
            case 'winrt8':
            case 'winphone8':
            case 'windows phone 8':
            case 'windows 8':
            case 'nt 6.2':
                return new Version('8');
                break;
            case 'win8.1':
            case 'winrt8.1':
            case 'winphone8.1':
            case 'windows phone 8.1':
            case 'windows 8.1':
            case 'nt 6.3':
                return new Version('8', '1');
                break;
            case 'win9':
                return new Version('9');
                break;
            case 'win10':
            case 'windows 10':
                return new Version('10');
                break;
            case 'win2000':
            case 'windows 2000':
            case 'nt 5.0':
                return new Version('2000');
                break;
            case 'win2003':
                return new Version('2003');
                break;
            case 'win98':
            case 'windows 98':
                return new Version('98');
                break;
            case 'win95':
                return new Version('95');
                break;
            case 'winnt':
                return (new VersionFactory())->set('NT');
                break;
            case 'winme':
                return (new VersionFactory())->set('ME');
                break;
            case 'win31':
                return new Version('3', '1');
                break;
            case 'win32':
                return new Version();
                break;
            case 'yosemite 10.10':
                return new Version('10', '10');
                break;
            case 'mavericks 10.9':
                return new Version('10', '9');
                break;
            default:
                // nothing to do here
                break;
        }

        return (new VersionFactory())->set($osVersion);
    }
499981
public function mapEngineVersion(?string $engineVersion): VersionInterface
    {
        if (null === $engineVersion) {
            return new Version();
        }

        switch (mb_strtolower($engineVersion)) {
            case '':
            case 'unknown':
            case 'other':
                return new Version(0);
                break;
            default:
                // nothing to do here
                break;
        }

        return (new VersionFactory())->set($engineVersion);
    }
1324105
private function getClass(string $currency = null): string
    {
        $currency = !is_null($currency) ? strtolower($currency) : $this->provider->get();

        return $this->provider->config->get('currencies')[$currency];
    }
110261
public function source($source = null)
    {
        $model = $this->noInitModel;
        if (!is_string($model->sourceAttribute)) {
            return $this;
        }
        if (!is_string($source)) {
            $modelClass = $this->modelClass;
            $source = $modelClass::$sourceSelf;
        }
        return $this->andWhere([$model->sourceAttribute => $source]);
    }
492514
public function mapBrowserMaker(string $browserMaker, ?string $browserName = null): ?string
    {
        return (new BrowserMakerMapper())->mapBrowserMaker($browserMaker, $browserName);
    }