asset_edit

Versions
mediamosa-174
asset_edit($form, $asset_id)

Code

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;
}
?>