public static function getProfileKeys($internal = true, $base = true, $computed = true) { if (!isset(self::$_profileKeys)) { $profileKeys = array('internal' => array('themeName'), 'base' => array('background', 'content', 'text', 'link', 'highlight1', 'highlight2'), 'computed' => array('smart_text', 'smart_text2', 'border', 'darker_background', 'darker_content', 'darker_text', 'darker_link', 'darker_highlight1', 'darker_highlight2', 'dark_background', 'dark_content', 'dark_text', 'dark_link', 'dark_highlight1', 'dark_highlight2', 'bright_background', 'bright_content', 'bright_text', 'bright_link', 'bright_highlight1', 'bright_highlight2', 'brighter_background', 'brighter_content', 'brighter_text', 'brighter_link', 'brighter_highlight1', 'brighter_highlight2', 'light_background', 'light_content', 'light_text', 'light_link', 'light_highlight1', 'light_highlight2', 'lighter_background', 'lighter_content', 'lighter_text', 'lighter_link', 'lighter_highlight1', 'lighter_highlight2', 'opaque_background', 'opaque_content', 'opaque_text', 'opaque_link', 'opaque_highlight1', 'opaque_highlight2')); $moduleOverrideKeys = self::getModuleOverrideKeys(); foreach ($moduleOverrideKeys as $type => $keys) { $profileKeys[$type] = array_merge($profileKeys[$type], $keys); } self::$_profileKeys = $profileKeys; } $profileKeys = self::$_profileKeys; $requestedKeys = array(); if ($internal) { $requestedKeys = array_merge($requestedKeys, $profileKeys['internal']); } if ($base) { $requestedKeys = array_merge($requestedKeys, $profileKeys['base']); } if ($computed) { $requestedKeys = array_merge($requestedKeys, $profileKeys['computed']); } return $requestedKeys; }