function media_acquiadam_browser_choose_asset_form_submit in Media: Acquia DAM 7
Submission handler for media_acquiadam_browser_choose_asset_form.
Parameters
array $form: A Drupal form array.
array $form_state: The current form state.
File
- modules/
media_acquiadam_browser/ includes/ media_acquiadam_browser.forms.inc, line 412 - Form related hooks and functions.
Code
function media_acquiadam_browser_choose_asset_form_submit(array &$form, array &$form_state) {
// Searching shortcircuits a lot of the submission logic. We don't need to
// process selected assets, so create the redirect and exit.
$is_search = !empty($form_state['triggering_element']) && $form_state['triggering_element']['#name'] == 'search';
if ($is_search) {
$qp = drupal_get_query_parameters(NULL, [
'q',
'page',
'aa',
]);
$qp['search'] = [
'keywords' => $form_state['values']['keywords'],
'type' => $form_state['values']['type_filter'],
'sort' => $form_state['values']['sort'],
];
$form_state['redirect'] = [
current_path(),
[
'query' => $qp,
],
];
return;
}
$assetIds = media_acquiadam_browser_choose_asset_form_get_selected_assets($form_state);
if (!empty($assetIds)) {
$saved_fids = media_acquiadam_browser_choose_asset_form_save_assets($assetIds, $form_state['storage']['assets']);
$asset_count = count($assetIds);
$fid_count = count($saved_fids);
if ($fid_count != $asset_count) {
drupal_set_message(t('Imported @fid-count files to Drupal and expected @asset-count. Please consult the logs to see what went wrong.', [
'@asset-count' => $asset_count,
'@fid-count' => $fid_count,
]), 'warning');
}
if (!empty($saved_fids)) {
// If we're not in the Media browser screen then we need a landing page to
// send users.
$redirect_uri = url('admin/content/file/acquiadam/saved');
$query = [
'fid' => $saved_fids,
];
// This will be set if the user is in a Media browser screen.
if (!empty($form_state['#media_browser'])) {
$redirect_uri = url('media/browser/acquiadam');
}
$form_state['redirect'] = [
$redirect_uri,
[
'query' => $query,
],
];
}
}
}