/** * Version viewer must only be added at if this is the final getCMSFields for a class. * in order to avoid having to rename all fields from eg Root.Main to Root.Current.Main * To do this we test if getCMSFields is from the current class */ public function isEndofLine($className) { $methodFromClass = ClassInfo::has_method_from($this->ClassName, 'getCMSFields', $className); if ($methodFromClass) { return true; } }
public static function get_extra_config_sources($class = null) { if ($class === null) { $class = get_called_class(); } // If this class is unextendable, NOP if (in_array($class, self::$unextendable_classes)) { return; } // Variable to hold sources in $sources = null; // Get a list of extensions $extensions = Config::inst()->get($class, 'extensions', Config::UNINHERITED | Config::EXCLUDE_EXTRA_SOURCES); if ($extensions) { // Build a list of all sources; $sources = array(); foreach ($extensions as $extension) { list($extensionClass, $extensionArgs) = self::parse_class_spec($extension); $sources[] = $extensionClass; if (!ClassInfo::has_method_from($extensionClass, 'add_to_class', 'Extension')) { Deprecation::notice('4.0', "add_to_class deprecated on {$extensionClass}. Use get_extra_config instead"); } call_user_func(array($extensionClass, 'add_to_class'), $class, $extensionClass, $extensionArgs); foreach (array_reverse(ClassInfo::ancestry($extensionClass)) as $extensionClassParent) { if (ClassInfo::has_method_from($extensionClassParent, 'get_extra_config', $extensionClassParent)) { $extras = $extensionClassParent::get_extra_config($class, $extensionClass, $extensionArgs); if ($extras) { $sources[] = $extras; } } } } } return $sources; }