public function migrateSettings($data) { // Migrate 'Folder' setting to 'FolderID' if (isset($data['Folder'])) { $this->FolderID = $data['Folder']; unset($data['Folder']); } parent::migrateSettings($data); }
public function migrateSettings($data) { // Migrate 'Default' setting to 'CheckedDefault' if (isset($data['Default'])) { $this->CheckedDefault = (bool) $data['Default']; unset($data['Default']); } parent::migrateSettings($data); }
/** * Migrate custom settings for the given field * * @param EditableFormField $field * @param string $stage */ protected function migrateCustomSettings(EditableFormField $field, $stage) { // Custom settings include: // - ExtraClass // - RightTitle // - ShowOnLoad (show or '' are treated as true) // // - CheckedDefault (new field on EditableCheckbox - should be read from old "default" value) // - Default (EditableCheckbox) // - DefaultToToday (EditableDateField) // - Folder (EditableFileField) // - Level (EditableFormHeading) // - HideFromReports (EditableFormHeading / EditableLiteralField) // - Content (EditableLiteralField) // - GroupID (EditableMemberListField) // - MinValue (EditableNumericField) // - MaxValue (EditableNumericField) // - MinLength (EditableTextField) // - MaxLength (EditableTextField) // - Rows (EditableTextField) $customSettings = $field->CustomSettings ? unserialize($field->CustomSettings) : array(); // Skip blank rules or fields with custom rules already if (empty($customSettings)) { return; } $field->migrateSettings($customSettings); $field->write(); }