public function PictureMapping::setValues in Picture 7.2
Set data values based on schema.
See also
picture_mapping_object_factory()
1 call to PictureMapping::setValues()
- PictureMapping::save in includes/
PictureMapping.php - Save the picture mapping.
File
- includes/
PictureMapping.php, line 49 - Picture Mapping class.
Class
- PictureMapping
- Picture mapping class.
Code
public function setValues($schema, $data) {
foreach ($schema['fields'] as $field => $info) {
if (isset($data->{$field})) {
$this->{$field} = !empty($info['serialize']) && is_string($data->{$field}) ? unserialize($data->{$field}) : $data->{$field};
}
else {
$this->{$field} = NULL;
}
unset($data->{$field});
}
if (isset($schema['join'])) {
foreach ($schema['join'] as $join) {
$join_schema = ctools_export_get_schema($join['table']);
if (!empty($join['load'])) {
foreach ($join['load'] as $field) {
$info = $join_schema['fields'][$field];
$this->{$field} = empty($info['serialize']) ? $data->{$field} : unserialize($data->{$field});
unset($data->field);
}
}
}
}
foreach ((array) $data as $field => $val) {
$this->{$field} = $val;
}
$this
->loadBreakpointGroup();
$this
->loadAllMappings();
}