$vizClass) { if (strpos($vizClass, 'Piwik\\Plugins\\CoreVisualizations') === false) { $result[$vizId] = $vizClass; } } return $result; } /** * Returns an array mapping visualization IDs with information necessary for adding the * visualizations to the footer of DataTable views. * * @param array $visualizations An array mapping visualization IDs w/ their associated classes. * @return array */ public static function getVisualizationInfoFor($visualizations) { $result = array(); foreach ($visualizations as $vizId => $vizClass) { $result[$vizId] = array('table_icon' => $vizClass::FOOTER_ICON, 'title' => $vizClass::FOOTER_ICON_TITLE); } return $result; } /** * Returns the visualization class by it's viewDataTable ID. * * @param string $id The visualization ID. * @return string The visualization class name. If $id is not a valid ID, the HtmlTable visualization * is returned. */ public static function getClassFromId($id) { $visualizationClasses = self::getAvailableVisualizations(); if (!isset($visualizationClasses[$id])) { return $visualizationClasses['table']; } return $visualizationClasses[$id]; } /** * Helper function that merges the static field values of every class in this * classes inheritance hierarchy. Uses late-static binding. */ private static function getPropertyNameListWithMetaProperty($staticFieldName) { if (isset(static::$$staticFieldName)) { $result = array(); $lineage = static::getVisualizationClassLineage(get_called_class()); foreach ($lineage as $klass) { if (isset($klass::$$staticFieldName)) { $result = array_merge($result, $klass::$$staticFieldName); } } return array_unique($result); } else { return array(); } } }