asset_edit($form, $asset_id)vpx_beheer_mm/asset/asset.module, line 164
<?php
function asset_edit($form, $asset_id) {
$vpx = new vpx_connector();
$result = $vpx->request('GET', sprintf('/asset/%s', $asset_id));
$available_tags = array('');
$current_tags = array();
$form = array();
foreach (array('dublin_core', 'qualified_dublin_core') as $subject) {
$form[$subject] = array();
$i = 0;
foreach ($result->items->item->$subject as $metadata) {
foreach ($metadata as $key => $value) {
if ($key == 'title') { // Set the page's title
drupal_set_title((string)$value);
}
if ((string)$value !== '') { // Only add currently used items
$form[$subject][$key .'|'. $i++] = array( // Little 'hack' to support multiple rows per tag
'#type' => (drupal_strlen((string)$value) > 100) ? 'textarea' : 'textfield',
'#title' => t(pa_cleanup_key($key)),
'#default_value' => (string)$value,
);
$current_tags[] = $key;
}
if (!pa_metadata_field_is_single($key) || (pa_metadata_field_is_single($key) && !in_array($key, $current_tags))) {
$available_tags[pa_cleanup_key($subject)][$key] = pa_cleanup_key($key); // don't add set single items
}
}
}
if (count($form[$subject])) { // Hide empty fieldsets
$form[$subject]['#type'] = 'fieldset';
$form[$subject]['#title'] = pa_cleanup_key($subject);
$form[$subject]['#description'] = t("Clear an item to delete it from the asset's @subject metadata.", array('@subject' => pa_cleanup_key($subject)));
$form[$subject]['#collapsible'] = TRUE;
}
}
$form['extra_tag'] = array(
'#type' => 'fieldset',
'#title' => 'New metadata field',
'#description' => 'Add a new metadata field to the asset\'s metadata.',
);
$form['extra_tag']['key'] = array(
'#title' => t('Metadata field'),
'#description' => t('Select metadata field for which a value has to be added.'),
'#type' => 'select',
'#options' => $available_tags,
);
$form['extra_tag']['value'] = array(
'#title' => t('Value'),
'#description' => t('Enter value for the selected metadata field.'),
'#type' => 'textarea',
);
$form['app_id'] = array(
'#type' => 'hidden',
'#value' => (int)$result->items->item->app_id,
);
$form['asset_id'] = array(
'#type' => 'hidden',
'#value' => $asset_id,
);
$form['submit'] = array(
'#value' => t('Submit changes'),
'#type' => 'submit',
);
return $form;
}
?>