Skip to content

Instantly share code, notes, and snippets.

@KyleAMathews
Created November 19, 2010 00:01
Show Gist options
  • Save KyleAMathews/705919 to your computer and use it in GitHub Desktop.
Save KyleAMathews/705919 to your computer and use it in GitHub Desktop.
/**
* Implementation of hook_widget().
*/
function etherpad_widget(&$form, &$form_state, $field, $items, $delta = 0) {
$element['etherpad_url'] = array(
'#type' => 'value',
'#value' => (isset($items[$delta]['etherpad_url']) && !empty($form['nid']['#value'])) ? $items[$delta]['etherpad_url'] : $field['etherpad_url'] . etherpad_generate_padid($field['etherpad_url']),
);
$element['etherpad_text'] = array(
'#type' => 'value',
'#value' => (isset($items[$delta]['etherpad_text']) && !empty($form['nid']['#value'])) ? $items[$delta]['etherpad_text'] : "default value for now until we have a function to generate one",
);
$element['attributes'] = array(
'#type' => 'value',
'#value' => (isset($items[$delta]['attributes']) && !empty($form['nid']['#value'])) ? $items[$delta]['attributes'] : serialize($field['attributes']),
);
// Used so that hook_field('validate') knows where to
// flag an error in deeply nested forms.
if (empty($form['#parents'])) {
$form['#parents'] = array();
}
$element['_error_element'] = array(
'#type' => 'value',
'#value' => implode('][', array_merge($form['#parents'], array('value'))),
);
return $element;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment