function _wfso_options in Webform Select options 7.3
Helper get options
1 call to _wfso_options()
File
- ./
webform_select_opts.module, line 573 - Change textfield webform component to select options from nodetype fields.
Code
function _wfso_options($nid, $cid, $default = 0) {
global $language;
$n_type = db_select('webform_select_opts_component', 's')
->fields('s', array(
'data',
))
->condition('nid', $nid, '=')
->condition('cid', $cid, '=')
->execute()
->fetchField();
if ($n_type) {
$var = variable_get('webform_select_options_fields_' . $n_type, '');
$field_val = unserialize($var);
if ($var) {
if ($field_val[0] == 'node_title') {
$query = db_select('node', 'n');
$query
->fields('n', array(
'nid',
'title',
));
$query
->condition('n.type', $n_type, '=');
$query
->condition('n.status', 1, '=');
$query
->condition('n.language', $language->language, '=');
$query
->orderBy('title');
$records = $query
->execute();
foreach ($records as $record) {
$options[$record->title] = $record->title;
}
}
else {
if ($field_val[0] == 'node_id') {
$options = array();
$query = db_select('node', 'n');
$query
->fields('n', array(
'nid',
'title',
));
$query
->condition('n.type', $n_type, '=');
$query
->condition('n.status', 1, '=');
$query
->condition('n.language', $language->language, '=');
$query
->orderBy('title');
$records = $query
->execute();
foreach ($records as $record) {
$options[$record->nid] = $record->title;
}
}
else {
$query = db_select('node', 'n');
$query
->join('field_data_' . $field_val[0], 'm', 'n.nid = m.entity_id');
$query
->fields('n', array(
'nid',
'title',
));
$query
->fields('m', array(
$field_val[0] . '_value',
));
$query
->condition('n.type', $n_type, '=');
$query
->condition('n.status', 1, '=');
$query
->condition('n.language', $language->language, '=');
$query
->orderBy('title');
$records = $query
->execute();
$options = array();
foreach ($records as $record) {
$record_arr = (array) $record;
if ($record_arr[$field_val[0] . '_value'] != FALSE) {
//if field VALUE is email
if ($field_val[2]) {
$options[$record_arr['nid']] = $record_arr['title'];
}
else {
$options[$record_arr[$field_val[0] . '_value']] = $record_arr['title'];
}
}
}
}
}
}
}
return $options;
}