coder_upgrade_conversions_form_submit

Versions
mediamosa-21
coder_upgrade_conversions_form_submit($form, &$form_state)

Submit handler for the module conversion form.

Execute the selected module conversion code on the selected file types in the selected directories or modules.

Code

sites/all/modules/coder/coder_upgrade/coder_upgrade.module, line 349

<?php
function coder_upgrade_conversions_form_submit($form, &$form_state) {
  // Rebuild form with user selections.
  $form_state['rebuild'] = TRUE;

  // Gather the submitted parameters.
  list($upgrades, $extensions, $directories, $modules) = coder_upgrade_selections($form_state['values']);

  // TODO Cache this list so we don't have to query all the files again.
  $upgrades_all = _coder_upgrade_upgrades(TRUE);
  foreach ($upgrades as $prefix => $upgrade) {
    $upgrades[$prefix] = array(
      'prefix' => $prefix,
      'routines' => $upgrades_all[$prefix]['routines'],
    );
  }

  $old_dir = file_directory_path() . '/' . variable_get('coder_upgrade_dir_old', DEADWOOD_OLD) . '/';
  $new_dir = file_directory_path() . '/' . variable_get('coder_upgrade_dir_new', DEADWOOD_NEW) . '/';

  // Combine directory and module items into a single list.
  // Omit name from key so as to allow for duplicate names.
  // TODO Handle duplicate names when making new conversion directories.
  // Could intersect keys in $directories, $modules; then add counter suffix to new_dir???
  // Use global counter??? Or copy $directories to files/dirs and $modules to files/modules???
  $items = array();

  foreach ($directories as $key => $directory) {
    $items[] = array(
      'name' => $key,
      'old_dir' => $old_dir . $key,
      'new_dir' => $new_dir . $key,
    );
  }

  $rows = coder_upgrade_module_list();
  foreach ($modules as $key => $module) {
    if (isset($rows[$key])) {
      $row = $rows[$key];
      $items[] = array(
        'name' => $key,
        'old_dir' => $row['dir'],
        'new_dir' => $new_dir . $key,
      );
    }
  }

  // Apply conversion functions.
  if (coder_upgrade_start($upgrades, $extensions, $items)) {
    drupal_set_message(t('Module conversion code was run.'));
    drupal_set_message(t('Click to view the !log.', array('!log' => l(t('conversion log file'), coder_upgrade_log_path()))));
    drupal_set_message(t('Patch files may be viewed by clicking on Name links in the Directories and Modules tabs below.'));
  }
  else {
    drupal_set_message(t('Module conversion code was not run.'), 'error');
  }
}
?>