You are here

function _module_builder_save_old_form_values in Module Builder 7.2

Same name and namespace in other branches
  1. 5 module_builder.module \_module_builder_save_old_form_values()
  2. 6.2 module_builder.module \_module_builder_save_old_form_values()
  3. 7 module_builder.module \_module_builder_save_old_form_values()

This still needs some work. Set a bunch of check boxes, forward, back, uncheck the boxes, forward and back and the boxes get turned back on for some reason. Otherwise this seems pretty good.

File

./module_builder.module, line 142
Builds scaffolding for custom modules.

Code

function _module_builder_save_old_form_values($form, $form_values, $indent = '') {
  static $excludes;
  if (!isset($excludes)) {
    $excludes = array(
      'op',
      'form_build_id',
      'form_token',
      'form_id',
      'generate_module',
      'module_code',
      'module_info',
    );
  }
  if (isset($form['#multistep_excludes']) && is_array($form['#multistep_excludes'])) {
    $excludes = array_merge($excludes, $form['#multistep_excludes']);
  }
  if (isset($form_values)) {
    foreach ($form_values as $key => $value) {

      //print_r($indent . $key .' => '. $value ."\n");
      $include = !in_array($key, $excludes);
      if ($include) {
        if (is_array($value)) {
          if (!isset($form[$key])) {
            $form[$key] = array();
          }
          $form[$key] = _module_builder_save_old_form_values($form[$key], $value, $indent . '    ');
          $form[$key]['#tree'] = TRUE;
        }
        else {
          if (isset($form[$key])) {
            $form[$key]['#value'] = $value;
          }
          else {
            $form[$key] = array(
              '#type' => 'hidden',
              '#value' => $value,
            );
          }
        }
      }
    }
  }
  return $form;
}