public function onBeforeWrite() { parent::onBeforeWrite(); if ($this->ExcludeItems) { if ($this->SourceID == 0) { $this->ExcludeItems = null; } else { $exclude = $this->ExcludeItems->getValues(); $ids = $exclude ? array_values($exclude) : null; $excludes = SiteTree::get()->filter(array('ID' => $ids, 'ParentID' => (int) $this->SourceID)); $valids = array_intersect($ids ? $ids : array(), $excludes->column('ID')); $this->ExcludeItems->setValue($valids); } } }
protected function onBeforeWrite() { parent::onBeforeWrite(); if ($this->isChanged('ExternalMedia', 2) || $this->ExternalMedia && !$this->MediaThumbID) { $this->updateOEmbedThumbnail(); } }