You are here

function widgets_set_export_form in Widgets 7

1 string reference to 'widgets_set_export_form'
widgets_menu in ./widgets.module
Implements hook_menu().

File

./widgets.admin.inc, line 552
Administration pages for widget settings.

Code

function widgets_set_export_form($form, &$form_state, $set) {
  $form = array();

  // TODO add widget set data support
  $str = "\$sets['" . $set['name'] . "'] = array(\n";
  $str .= "  'elements' => array(\n";
  $i = 1;
  foreach ($set['elements'] as $weid => $element) {
    $str .= "    array(\n";
    $str .= "      'name' => '" . $element['name'] . "',\n";
    $str .= "      'weight' => " . $i . ",\n";
    $str .= "      'data' => array(\n";
    if (is_array($element['data'])) {
      foreach ($element['data'] as $key => $value) {
        if (is_array($value)) {
          $str .= "        '" . $key . "' => array(\n";
          foreach ($value as $key2 => $value2) {
            if ($value2) {
              $str .= "          '" . $key2 . "' => '" . $value2 . "',\n";
            }
          }
          $str .= "        ),\n";
        }
        elseif ($value) {
          $str .= "        '" . $key . "' => '" . $value . "',\n";
        }
      }
    }
    $str .= "      ),\n";
    $str .= "    ),\n";
    $i++;
  }
  $str .= "  ),\n";
  $str .= ");";
  $form['export'] = array(
    '#type' => 'textarea',
    '#title' => t('code'),
    '#rows' => 25,
    '#default_value' => $str,
  );
  return $form;
}