function webform_mysql_views_admin_form in Webform MySQL Views 7
Same name and namespace in other branches
- 6.2 webform_mysql_views.module \webform_mysql_views_admin_form()
- 6 webform_mysql_views.module \webform_mysql_views_admin_form()
Form builder for the Webform MySQL Views admin form.
Implemented as its own admin page instead of integrating with the node form because of chicken-and-egg logic hassles.
See also
webform_mysql_views_admin_form_submit()
1 string reference to 'webform_mysql_views_admin_form'
- webform_mysql_views_menu in ./
webform_mysql_views.module - Implementation of hook_menu().
File
- ./
webform_mysql_views.admin.inc, line 12
Code
function webform_mysql_views_admin_form($form, &$form_state) {
$meets_reqs = _webform_mysql_views_check_requirements();
if ($meets_reqs !== TRUE) {
$output = '<strong>' . t("This module will not work on this site.") . '</strong>';
$output .= theme('item_list', array(
'items' => $meets_reqs,
), t('Details'));
return array(
"error" => array(
'#markup' => $output,
),
);
}
$form['pre'] = array(
'#markup' => '<table>
<thead>
<tr>
<th><input type="checkbox" id="webform-select-all"></th>
<th>Webform Name</th>
<th>View Name</th>
</tr>
</thead>
<tbody>',
);
// Get list of webform-enabled content types
$types = webform_variable_get('webform_node_types', array(
'webform',
));
// Get list of nids that already have views
$views = variable_get('webform_mysql_views_views', array());
$existing_view_nids = array_keys($views);
$form_state['view_nids'] = array();
// Get list of all webform nodes
$nodes = db_query('SELECT nid, title FROM {node}
WHERE type IN (:types) AND status = :status
ORDER BY nid', array(
':status' => NODE_PUBLISHED,
':types' => $types,
));
$count = 0;
foreach ($nodes as $node) {
$form_state['view_nids'][] = $node->nid;
$form['webform_enabled_' . $node->nid] = array(
'#type' => 'checkbox',
'#title' => '',
'#default_value' => in_array($node->nid, $existing_view_nids),
'#prefix' => '<tr class="' . ($count++ % 2 ? 'even' : 'odd') . '"><td>',
'#suffix' => '</td>',
);
$form['webform_title_' . $node->nid] = array(
'#markup' => "<td>{$node->title}</td>",
);
$form['webform_view_name_' . $node->nid] = array(
'#type' => 'textfield',
'#default_value' => isset($views[$node->nid]) ? $views[$node->nid] : webform_mysql_views_get_view_name($node->title, $node->nid),
'#prefix' => '<td>',
'#suffix' => '</td></tr>',
);
}
$form['post'] = array(
'#markup' => '</tbody></table>',
);
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
return $form;
}