*/ class DiagnosticService extends ConfigurableService implements DiagnosticServiceInterface { /** * (non-PHPdoc) * @see \oat\taoClientDiagnostic\model\diagnostic\DiagnosticServiceInterface::getDiagnosticJsConfig() */ public function getDiagnosticJsConfig() { $config = $this->getRawConfig(); // override samples based on graphical theme, why not $config['diagnostic']['testers']['performance']['samples'] = $this->getConfigByTheme($config['diagnostic']['testers']['performance']['samples']); $config['diagnostic']['testers']['screen']['threshold'] = $this->getConfigByTheme($config['diagnostic']['testers']['screen']['threshold']); return $config; } /** * Returns the raw configuration of the diagtool * @return array */ protected function getRawConfig() { return $this->getServiceLocator()->get('taoClientDiagnostic/clientDiag')->getConfig(); } /** * Returns the current theme's related config * @param array $config * @param string $themeId * @return array|mixed */ protected function getConfigByTheme(array $config, $themeId = null) { if (null === $themeId) { $themeService = $this->getServiceLocator()->get(ThemeService::SERVICE_ID); $themeId = $themeService->getCurrentThemeId(); } if (is_array(reset($config))) { if (array_key_exists($themeId, $config)) { $config = $config[$themeId]; } else { $config = array_shift($config); } } return $config; } /** * @deprecated please use getDiagnosticJsConfig() */ public function getTesters() { return $this->getDiagnosticJsConfig(); } }