Piwik\Plugin\SettingsProvider::getAllSystemSettings PHP Метод

getAllSystemSettings() публичный Метод

Returns all available system settings. A plugin has to specify a file named SystemSettings.php containing a class named SystemSettings that extends Piwik\Settings\Plugin\SystemSettings in order to be considered as a system setting. Otherwise the settings for a plugin won't be available.
public getAllSystemSettings ( ) : SystemSettings[]
Результат Piwik\Settings\Plugin\SystemSettings[] An array containing array([pluginName] => [setting instance]).
    public function getAllSystemSettings()
    {
        $cacheId = CacheId::languageAware('AllSystemSettings');
        $cache = PiwikCache::getTransientCache();
        if (!$cache->contains($cacheId)) {
            $pluginNames = $this->pluginManager->getActivatedPlugins();
            $byPluginName = array();
            foreach ($pluginNames as $plugin) {
                $component = $this->getSystemSettings($plugin);
                if (!empty($component)) {
                    $byPluginName[$plugin] = $component;
                }
            }
            $cache->save($cacheId, $byPluginName);
        }
        return $cache->fetch($cacheId);
    }

Usage Example

Пример #1
0
 private function createPluginsOrThemesView($template, $themesOnly)
 {
     Piwik::checkUserHasSuperUserAccess();
     $view = $this->configureView('@CorePluginsAdmin/' . $template);
     $view->updateNonce = Nonce::getNonce(MarketplaceController::UPDATE_NONCE);
     $view->activateNonce = Nonce::getNonce(static::ACTIVATE_NONCE);
     $view->uninstallNonce = Nonce::getNonce(static::UNINSTALL_NONCE);
     $view->deactivateNonce = Nonce::getNonce(static::DEACTIVATE_NONCE);
     $view->pluginsInfo = $this->getPluginsInfo($themesOnly);
     $users = Request::processRequest('UsersManager.getUsers');
     $view->otherUsersCount = count($users) - 1;
     $view->themeEnabled = $this->pluginManager->getThemeEnabled()->getPluginName();
     $view->pluginNamesHavingSettings = array_keys($this->settingsProvider->getAllSystemSettings());
     $view->isMarketplaceEnabled = Marketplace::isMarketplaceEnabled();
     $view->isPluginsAdminEnabled = CorePluginsAdmin::isPluginsAdminEnabled();
     $view->pluginsHavingUpdate = array();
     $view->marketplacePluginNames = array();
     if (Marketplace::isMarketplaceEnabled() && $this->marketplacePlugins) {
         try {
             $view->marketplacePluginNames = $this->marketplacePlugins->getAvailablePluginNames($themesOnly);
             $view->pluginsHavingUpdate = $this->marketplacePlugins->getPluginsHavingUpdate();
         } catch (Exception $e) {
             // curl exec connection error (ie. server not connected to internet)
         }
     }
     return $view;
 }
All Usage Examples Of Piwik\Plugin\SettingsProvider::getAllSystemSettings