static function add_to_class($class, $extensionClass, $args = null) { if(method_exists($class, 'extraDBFields')) { $extraStaticsMethod = 'extraDBFields'; } else { $extraStaticsMethod = 'extraStatics'; } $statics = singleton($extensionClass)->$extraStaticsMethod($class, $extensionClass); if ($statics) { Deprecation::notice('3.1.0', "$extraStaticsMethod deprecated. Just define statics on your extension, or use add_to_class"); // TODO: This currently makes extraStatics the MOST IMPORTANT config layer, not the least foreach (self::$extendable_statics as $key => $merge) { if (isset($statics[$key])) { if (!$merge) Config::inst()->remove($class, $key); Config::inst()->update($class, $key, $statics[$key]); } } // TODO - remove this DataObject::$cache_has_own_table[$class] = null; DataObject::$cache_has_own_table_field[$class] = null; } parent::add_to_class($class, $extensionClass, $args); }