From 9c2ebc3e5f610cc7107337c7756794e223353212 Mon Sep 17 00:00:00 2001 From: Hamish Friedlander Date: Thu, 22 Dec 2011 15:30:46 +1300 Subject: [PATCH] BUGFIX: Replace deprecated extraStatics with new methods on Versioned and Hierarchy --- model/Hierarchy.php | 18 ++++-------------- model/Versioned.php | 26 ++++++++------------------ 2 files changed, 12 insertions(+), 32 deletions(-) diff --git a/model/Hierarchy.php b/model/Hierarchy.php index 5cdbe3751..b9ab6c69f 100644 --- a/model/Hierarchy.php +++ b/model/Hierarchy.php @@ -24,20 +24,10 @@ class Hierarchy extends DataExtension { function augmentWrite(&$manipulation) { } - - /** - * - * @param string $class - * @param string $extension - * @return array - */ - function extraStatics($class=null, $extension=null) { - return array( - 'has_one' => array( - // TODO this method is called *both* statically and on an instance - "Parent" => ($class) ? $class : $this->owner->class - ) - ); + + static function add_to_class($class, $extensionClass) { + Config::inst()->update($class, 'has_one', array('Parent' => $class)); + parent::add_to_class($class, $extensionClass); } /** diff --git a/model/Versioned.php b/model/Versioned.php index 501b988f0..8f86b56a4 100644 --- a/model/Versioned.php +++ b/model/Versioned.php @@ -102,26 +102,16 @@ class Versioned extends DataExtension { $this->defaultStage = reset($stages); $this->liveStage = array_pop($stages); } - - /** - * - * @param string $class - * @param string $extension - * @return array - */ - function extraStatics($class=null, $extension=null) { - return array( - 'db' => array( - 'Version' => 'Int', - ), - 'has_many' => array( - // TODO this method is called *both* statically and on an instance - 'Versions' => ($class) ? $class : $this->owner->class, - ) - ); + + static $db = array( + 'Version' => 'Int' + ); + + static function add_to_class($class, $extensionClass) { + Config::inst()->update($class, 'has_many', array('Versions' => $class)); + parent::add_to_class($class, $extensionClass); } - /** * Amend freshly created DataQuery objects with versioned-specific information */