function _editablefields_drupal_get_form in Editable Fields 5.2
Same name and namespace in other branches
- 5.3 editablefields.module \_editablefields_drupal_get_form()
- 5 editablefields.module \_editablefields_drupal_get_form()
2 calls to _editablefields_drupal_get_form()
File
- ./
editablefields.module, line 385
Code
function _editablefields_drupal_get_form($process = false, $type, $view) {
$form_id = $type . '_node_form';
$node = array(
'uid' => $user->uid,
'name' => $user->name,
'type' => $type,
'language' => '',
);
$form_state = array(
'storage' => NULL,
'submitted' => FALSE,
);
$form_state['post'] = $_POST;
$form = drupal_retrieve_form($form_id, $node);
$form_build_id = 'form-' . md5(mt_rand());
$form['#build_id'] = $form_build_id;
$form['editablefields_addnew_form'] = array(
'#type' => 'hidden',
'#value' => $type,
);
foreach ($view->argument as $id => $arg) {
if (preg_match('/^content: (field_.*)$/', $arg['type'], $matches)) {
$fieldname = $matches[1];
$form['editablefieldsfiltervalue_' . $fieldname] = array(
'#type' => 'value',
'#value' => array(
$view->args[$id],
),
);
}
}
foreach ($view->filter as $filter) {
if (preg_match('/^node_data_(.*)\\.\\1_(.*)$/', $filter['field'], $matches)) {
$fieldname = $matches[1];
$valuename = $matches[2];
$form['editablefieldsfiltervalue_' . $fieldname] = array(
'#type' => 'value',
'#value' => $filter['value'],
);
}
}
drupal_prepare_form($form_id, $form, $form_state);
if (!empty($form['#cache'])) {
// By not sending the form state, we avoid storing the storage which
// won't have been touched yet.
form_set_cache($form_build_id, $form, NULL);
}
unset($form_state['post']);
$form['#post'] = $_POST;
if ($process) {
drupal_process_form($form_id, $form, $form_state);
}
return $form;
}