/** * Returns every available provider instance. * * @return LocationProvider[] */ public static function getAllProviders() { if (is_null(self::$providers)) { self::$providers = array(); foreach (get_declared_classes() as $klass) { if (is_subclass_of($klass, 'Piwik\\Plugins\\UserCountry\\LocationProvider')) { $klassInfo = new ReflectionClass($klass); if ($klassInfo->isAbstract()) { continue; } self::$providers[] = new $klass(); } } } return self::$providers; }
/** * Returns every available provider instance. * * @return LocationProvider[] */ public static function getAllProviders() { if (is_null(self::$providers)) { self::$providers = array(); $plugins = PluginManager::getInstance()->getPluginsLoadedAndActivated(); foreach ($plugins as $plugin) { foreach (self::getLocationProviders($plugin) as $instance) { self::$providers[] = $instance; } } } return self::$providers; }