Skip to content

Commit

Permalink
ENH Remove code that had been retained for backwards compatibility
Browse files Browse the repository at this point in the history
We don't need to retain this compatibility anymore. Some of this is dead
code, and some is just tech debt that should have been properly
deprecated.
  • Loading branch information
GuySartorelli committed Jan 9, 2025
1 parent aa7b9ca commit 3a86562
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 27 deletions.
19 changes: 2 additions & 17 deletions src/Forms/Form.php
Original file line number Diff line number Diff line change
Expand Up @@ -1334,27 +1334,12 @@ public function validate(): ValidationResult
* do not want them parsed as submitted data. MERGE_AS_SUBMITTED_VALUE does the opposite and forces the data to be
* parsed as it would be submitted from a form.
*
* For backwards compatibility reasons, this parameter can also be set to === true, which is the same as passing
* MERGE_CLEAR_MISSING
*
* @param array $fieldList An optional list of fields to process. This can be useful when you have a
* form that has some fields that save to one object, and some that save to another.
* @return $this
*/
public function loadDataFrom($data, $mergeStrategy = 0, $fieldList = null)
public function loadDataFrom(object|array $data, int $mergeStrategy = 0, array $fieldList = [])
{
if (!is_object($data) && !is_array($data)) {
user_error("Form::loadDataFrom() not passed an array or an object", E_USER_WARNING);
return $this;
}

// Handle the backwards compatible case of passing "true" as the second argument
if ($mergeStrategy === true) {
$mergeStrategy = Form::MERGE_CLEAR_MISSING;
} elseif ($mergeStrategy === false) {
$mergeStrategy = 0;
}

// If an object is passed, save it for historical reference through {@link getRecord()}
// Also use this to determine if we are loading a submitted form, or loading
// from a record
Expand Down Expand Up @@ -1383,7 +1368,7 @@ public function loadDataFrom($data, $mergeStrategy = 0, $fieldList = null)
$name = $field->getName();

// Skip fields that have been excluded
if ($fieldList && !in_array($name, $fieldList ?? [])) {
if (!empty($fieldList) && !in_array($name, $fieldList)) {
continue;
}

Expand Down
2 changes: 1 addition & 1 deletion src/Forms/FormRequestHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ public function httpSubmission($request)
$allowedFields = array_keys($this->form->Fields()->saveableFields() ?? []);

// Populate the form
$this->form->loadDataFrom($vars, true, $allowedFields);
$this->form->loadDataFrom($vars, Form::MERGE_CLEAR_MISSING, $allowedFields);

// Protection against CSRF attacks
$token = $this->form->getSecurityToken();
Expand Down
11 changes: 2 additions & 9 deletions src/ORM/Connect/MySQLDatabase.php
Original file line number Diff line number Diff line change
Expand Up @@ -207,16 +207,9 @@ public function searchEngine(
}
}

// Always ensure that only pages with ShowInSearch = 1 can be searched
// Always ensure that only pages/files with ShowInSearch = 1 can be searched
$extraFilters[$pageClass] .= " AND ShowInSearch <> 0";

// File.ShowInSearch was added later, keep the database driver backwards compatible
// by checking for its existence first
$fileTable = DataObject::getSchema()->tableName($fileClass);
$fields = $this->getSchemaManager()->fieldList($fileTable);
if (array_key_exists('ShowInSearch', $fields ?? [])) {
$extraFilters[$fileClass] .= " AND ShowInSearch <> 0";
}
$extraFilters[$fileClass] .= " AND ShowInSearch <> 0";

$limit = (int)$start . ", " . (int)$pageLength;

Expand Down

0 comments on commit 3a86562

Please sign in to comment.