function globallink_webform_get_translated_items in GlobalLink Connect for Drupal 7.5
Same name and namespace in other branches
- 7.7 globallink_webform/globallink_webform.inc \globallink_webform_get_translated_items()
- 7.6 globallink_webform/globallink_webform.inc \globallink_webform_get_translated_items()
Gets translated webform items from XML data.
Parameters
object $xml: XML representation of webform items.
Return value
array Array of webform items.
3 calls to globallink_webform_get_translated_items()
- globallink_webform_get_translated in globallink_webform/
globallink_webform.inc - Gets number of translated webforms.
- globallink_webform_get_translations_for_row_id in globallink_webform/
globallink_webform_receive.inc - Gets webform translations by row ID.
- globallink_webform_receive_form in globallink_webform/
globallink_webform_receive.inc - Builds form to receive a webform submission.
File
- globallink_webform/
globallink_webform.inc, line 614
Code
function globallink_webform_get_translated_items($xml) {
if (is_null($xml) || !is_string($xml) || $xml == '') {
return array();
}
$dom = new DomDocument();
$dom->preserveWhiteSpace = FALSE;
$dom
->loadXML($xml);
$contents = $dom
->getElementsByTagName('content');
$lid = '';
foreach ($contents as $content) {
if (!is_null($content->attributes)) {
foreach ($content->attributes as $attr_name => $attr_node) {
if ($attr_name == 'lid') {
$lid = $attr_node->value;
}
}
}
}
if ($lid == '') {
return array();
}
$webform_arr = array();
$webform_arr['lid'] = $lid;
$webforms = $dom
->getElementsByTagName('webform');
foreach ($webforms as $webform) {
if (!is_null($webform->attributes)) {
$w_arr = array();
foreach ($webform->attributes as $attr_name => $attr_node) {
$w_arr[$attr_name] = $attr_node->value;
}
$w_arr['translation'] = $webform->nodeValue;
$webform_arr[$w_arr['name']] = $w_arr;
}
}
return $webform_arr;
}