You are here

function media_browser_plus_folder_delete in Media Browser Plus 7

Same name and namespace in other branches
  1. 7.2 includes/media_browser_plus.folders.inc \media_browser_plus_folder_delete()

@todo Document what this function is does.

_state

Parameters

$form:

1 string reference to 'media_browser_plus_folder_delete'
media_browser_plus_menu in ./media_browser_plus.module
Implements hook_menu().

File

includes/media_browser_plus.folders.inc, line 305
Folder manipulation functions

Code

function media_browser_plus_folder_delete($form, &$form_state, $folder) {

  // Check if folder not empty and has no subfolders.
  $voc = taxonomy_vocabulary_machine_name_load('media_folders');
  $children = taxonomy_get_tree($voc->vid, $folder->tid);
  if (!_media_browser_plus_folder_empty($folder->tid) && count($children) == 0) {
    $form['intro'] = array(
      '#type' => 'item',
      '#markup' => t('Do you really want to delete the following folder:'),
    );
    $form['item'] = array(
      '#type' => 'item',
      '#markup' => $folder->name,
      '#prefix' => '<ul><li>',
      '#suffix' => '</ul></li>',
    );
    $form['note'] = array(
      '#type' => 'item',
      '#markup' => t('This action cannot be undone.'),
    );
    $form['folder_id'] = array(
      '#type' => 'hidden',
      '#value' => $folder->tid,
    );
    $form['actions'] = array(
      '#type' => 'actions',
      'delete' => array(
        '#type' => 'submit',
        '#value' => t('Delete'),
        '#submit' => array(
          'media_browser_plus_folder_delete_submit',
        ),
      ),
      'cancel' => array(
        '#type' => 'submit',
        '#value' => t('Cancel'),
        '#limit_validation_errors' => array(),
        '#submit' => array(
          'media_browser_plus_folder_add_cancel',
        ),
      ),
    );
    return $form;
  }
  else {
    if (count($children) != 0) {
      drupal_set_message(t('Folder %folder_name has subfolders and cannot be deleted', array(
        '%folder_name' => $folder->name,
      )), 'error');
    }
    if (_media_browser_plus_folder_empty($folder->tid)) {
      drupal_set_message(t('Folder %folder_name is not empty and cannot be deleted', array(
        '%folder_name' => $folder->name,
      )), 'error');
    }
    $destination = drupal_get_destination();
    drupal_goto($destination['destination']);
  }
}