public function TripalField::webServicesData
3.x TripalField.inc | public TripalField::webServicesData() |
Describes this field to Tripal web services.
The child class need not implement this function. It has all of the details provided for elements by the elementInfo() function are used to generate the details needed for Views.
Return value
An associative array with the keys available for searching. The value is the term array for the element.
File
- tripal/
includes/ TripalFields/ TripalField.inc, line 235
Class
Code
public function webServicesData() {
$elements = $this->elementInfo();
$field_term = $this->getFieldTermID();
$field_term_name = strtolower(preg_replace('/[^\w]/', '_', $this->term['name']));
$field_details = $elements[$field_term];
$searchable_keys = array();
$sortable_keys = array();
if (array_key_exists('searchable', $field_details) and $field_details['searchable']) {
$searchable_keys[$field_term_name] = $field_term;
}
if (array_key_exists('sortable', $field_details) and $field_details['sortable']) {
$sortable_keys[$field_term_name] = $field_term;
}
// Now add any entries for child elements.
if (array_key_exists('elements', $field_details)) {
$elements = $field_details['elements'];
foreach ($elements as $element_name => $element_details) {
$this->_addWebServiceElement($searchable_keys, $sortable_keys, $field_term_name, $field_term, $element_name, $element_details);
}
}
return array(
'searchable' => $searchable_keys,
'sortable' => $sortable_keys
);
}