/** * @param int $from * @param int $to * * @return string */ public function humanizedChanges($from, $to) { if (!$from) { return _t('SilverStripe\\AssetAdmin\\Controller\\AssetAdmin.UPLOADEDFILE', "Uploaded file"); } $fromRecord = Versioned::get_version($this->owner->class, $this->owner->ID, $from); $toRecord = Versioned::get_version($this->owner->class, $this->owner->ID, $to); $diff = new DataDifferencer($fromRecord, $toRecord); $changes = $diff->changedFieldNames(); $k = array_search('LastEdited', $changes); if ($k !== false) { unset($changes[$k]); } $output = array(); foreach ($changes as $change) { $human = $change; if ($change == "ParentID") { // updated folder ID $human = _t('SilverStripe\\AssetAdmin\\Controller\\AssetAdminFile.MOVEDFOLDER', "Moved file"); } elseif ($change == 'Title') { $human = _t('SilverStripe\\AssetAdmin\\Controller\\AssetAdminFile.RENAMEDTITLE', "Updated title to ") . $fromRecord->Title; } elseif ($change == 'Name') { $human = _t('SilverStripe\\AssetAdmin\\Controller\\AssetAdminFile.RENAMEDFILE', "Renamed file to ") . $fromRecord->Filename; } elseif ($change == 'File') { // check to make sure the files are actually different if ($fromRecord->getHash() != $toRecord->getHash()) { $human = _t('SilverStripe\\AssetAdmin\\Controller\\AssetAdminFile.RENAMEDFILE', "Replaced file"); } else { $human = false; } } else { $human = false; } if ($human) { $output[] = $human; } } return implode(", ", $output); }