function views_ui_clone_form

Form callback to edit an exportable item using the wizard.

This simply loads the object defined in the plugin and hands it off.

1 string reference to 'views_ui_clone_form'
views_ui::clone_page in plugins/export_ui/views_ui.class.php
Main entry point to clone an item.

File

plugins/export_ui/views_ui.class.php, line 473

Code

function views_ui_clone_form($form, &$form_state) {
    $counter = 1;
    if (!isset($form_state['item'])) {
        $view = views_get_view($form_state['original name']);
    }
    else {
        $view = $form_state['item'];
    }
    do {
        if (empty($form_state['item']->is_template)) {
            $name = format_plural($counter, 'Clone of', 'Clone @count of') . ' ' . $view->get_human_name();
        }
        else {
            $name = $view->get_human_name();
            if ($counter > 1) {
                $name .= ' ' . $counter;
            }
        }
        $counter++;
        $machine_name = preg_replace('/[^a-z0-9_]+/', '_', drupal_strtolower($name));
    } while (ctools_export_crud_load($form_state['plugin']['schema'], $machine_name));
    $form['human_name'] = array(
        '#type' => 'textfield',
        '#title' => t('View name'),
        '#default_value' => $name,
        '#size' => 32,
        '#maxlength' => 255,
    );
    $form['name'] = array(
        '#title' => t('View name'),
        '#type' => 'machine_name',
        '#required' => TRUE,
        '#maxlength' => 128,
        '#size' => 128,
        '#machine_name' => array(
            'exists' => 'ctools_export_ui_edit_name_exists',
            'source' => array(
                'human_name',
            ),
        ),
    );
    $form['submit'] = array(
        '#type' => 'submit',
        '#value' => t('Continue'),
    );
    return $form;
}