Release of v3.2.5
Add [AllowDynamicProperties] in the base view class for J5. Move the _prepareDocument above the display call in the base view class. Remove all backward compatibility issues, so JCB will not need the [Backward Compatibility] plugin to run. Added new import powers for custom import of spreadsheets. Move the setDocument and _prepareDocument above the display in the site view and custom admin view. Update the trashhelper layout to work in Joomla 5. Add AllowDynamicProperties (Joomla 4+5) to view class to allow Custom Dynamic Get methods to work without issues. Fix Save failed issue in dynamicGet. #1148. Move all [TEXT, EDITOR, TEXTAREA] fields from [NOT NULL] to [NULL]. Add the DateHelper class and improve the date methods. Add simple SessionHelper class. Add first classes for the new import engine. Improve the [VDM Registry] to be Joomla Registry Compatible. Move all registries to the [VDM Registry] class. Fix Checked Out to be null and not 0. (#1194). Fix created_by, modified_by, checked_out fields in the compiler of the SQL. (#1194). Update all core date fields in table class. (#1188). Update created_by, modified_by, checked_out fields in table class. Implementation of the decentralized Super-Power CORE repository network. (#1190). Fix the noticeboard to display Llewellyn's Joomla Social feed.
This commit is contained in:
@@ -130,6 +130,13 @@ final class MultiSubform implements MultiSubformInterface
|
||||
{
|
||||
$items = []; // will delete all existing linked items :( not ideal, but real
|
||||
}
|
||||
else
|
||||
{
|
||||
// make sure the sub-subform:linkValue[data:guid]
|
||||
// is set with the needed key if possible
|
||||
// this ensures that new sub-subform data is correctly linked
|
||||
$this->prepLinkValue($items, $setMap);
|
||||
}
|
||||
|
||||
// Save the core data
|
||||
if (!$this->setSubformData($items, $setMap['_core']))
|
||||
@@ -515,6 +522,45 @@ final class MultiSubform implements MultiSubformInterface
|
||||
}
|
||||
|
||||
return true; // All checks passed
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare the linkValue needed by the sub-subform
|
||||
*
|
||||
* @param array $subform The subform data
|
||||
* @param array $setMap Mapping data for processing subforms
|
||||
*
|
||||
* @return void
|
||||
* @since 5.0.3
|
||||
*/
|
||||
private function prepLinkValue(array &$subform, array $setMap): void
|
||||
{
|
||||
$code_table = null;
|
||||
foreach ($setMap as $key => $map)
|
||||
{
|
||||
if ($key === '_core')
|
||||
{
|
||||
$code_table = $map['table'] ?? null;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (strpos($map['linkValue'], ':') !== false)
|
||||
{
|
||||
[$table, $field] = explode(':', $map['linkValue']);
|
||||
if ($code_table !== null &&
|
||||
'guid' === $field &&
|
||||
$table === $code_table)
|
||||
{
|
||||
foreach ($subform as &$row)
|
||||
{
|
||||
if (empty($row['guid']))
|
||||
{
|
||||
$row['guid'] = $this->subform->table($table)->getGuid($field);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user