private static function getModuleOverrideKeys($flatten = false) { if (!isset(self::$_moduleOverrideKeys)) { $moduleNames = Modules::getModuleNames(); self::$_moduleOverrideKeys = array('base' => array_map(function ($name) { return 'background_' . $name . '_override'; }, $moduleNames)); self::$_moduleOverrideKeys['computed'] = array_merge(array_map(function ($name) { return 'smart_text_' . $name . '_override'; }, $moduleNames), array_map(function ($name) { return 'light_background_' . $name . '_override'; }, $moduleNames), array_map(function ($name) { return 'lighter_background_' . $name . '_override'; }, $moduleNames)); } $moduleOverrideKeys = self::$_moduleOverrideKeys; if ($flatten) { $flattened = array(); foreach ($moduleOverrideKeys as $type => $keys) { $flattened = array_merge($flattened, $keys); } return $flattened; } return $moduleOverrideKeys; }