Calling all Drupal developers!
Help us get this on the first page of Digg. DIGG NOW!
Help us get this on the first page of Digg. DIGG NOW!
content_allowed_values($field)
contributions/cck/content.module, line 1552
Create an array of the allowed values for this field.
Used by number and text fields, expects to find either PHP code that will return the correct value, or a string with keys and labels separated with '|' and with each new value on its own line.
<?php
function content_allowed_values($field) {
static $allowed_values;
if (isset($allowed_values[$field['field_name']])) {
return $allowed_values[$field['field_name']];
}
$allowed_values[$field['field_name']] = array();
if (isset($field['allowed_values_php'])) {
ob_start();
$result = eval($field['allowed_values_php']);
if (is_array($result)) {
$allowed_values[$field['field_name']] = $result;
}
ob_end_clean();
}
if (empty($allowed_values[$field['field_name']]) && isset($field['allowed_values'])) {
$list = explode("\n", $field['allowed_values']);
$list = array_map('trim', $list);
$list = array_filter($list, 'strlen');
foreach ($list as $opt) {
// Sanitize the user input with a permissive filter.
$opt = content_filter_xss($opt);
if (strpos($opt, '|') !== FALSE) {
list($key, $value) = explode('|', $opt);
$allowed_values[$field['field_name']][$key] = (isset($value) && $value !=='') ? $value : $key;
}
else {
$allowed_values[$field['field_name']][$opt] = $opt;
}
}
}
return $allowed_values[$field['field_name']];
}
?>