BUGFIX: Prevented notice-level error when publishing HTMLText fiels on tables other than SiteTree. (from r89908)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@96724 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sam Minnee 2010-01-12 22:59:31 +00:00
parent ba0dd8b5eb
commit 84d819f350

View File

@ -1443,14 +1443,18 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
// Published site // Published site
$published = DB::query("SELECT * FROM \"SiteTree_Live\" WHERE \"ID\" = $this->ID")->record(); $published = DB::query("SELECT * FROM \"SiteTree_Live\" WHERE \"ID\" = $this->ID")->record();
$origPublished = $published; $origPublished = $published;
$published[$fieldName] = str_replace($old, $new, $published[$fieldName], $numReplaced);
if($numReplaced) { // TODO: This doesn't work for HTMLText fields on other tables.
DB::query("UPDATE \"SiteTree_Live\" SET \"$fieldName\" = '" if(isset($published[$fieldName])) {
. Convert::raw2sql($published[$fieldName]) . "' WHERE \"ID\" = $this->ID"); $published[$fieldName] = str_replace($old, $new, $published[$fieldName], $numReplaced);
if($numReplaced) {
DB::query("UPDATE \"SiteTree_Live\" SET \"$fieldName\" = '"
. Convert::raw2sql($published[$fieldName]) . "' WHERE \"ID\" = $this->ID");
$publishedClass = $origPublished['ClassName']; $publishedClass = $origPublished['ClassName'];
$origPublishedObj = new $publishedClass($origPublished); $origPublishedObj = new $publishedClass($origPublished);
$this->extend('onRenameLinkedAsset', $origPublishedObj); $this->extend('onRenameLinkedAsset', $origPublishedObj);
}
} }
} }
} }