function export($id, $groups, $include_language_data = true) { global $osC_Database, $osC_Currencies; $language = osC_Language_Admin::getData($id); $export_array = array(); if ($include_language_data === true) { $export_array['language']['data'] = array('title-CDATA' => $language['name'], 'code-CDATA' => $language['code'], 'locale-CDATA' => $language['locale'], 'character_set-CDATA' => $language['charset'], 'text_direction-CDATA' => $language['text_direction'], 'date_format_short-CDATA' => $language['date_format_short'], 'date_format_long-CDATA' => $language['date_format_long'], 'time_format-CDATA' => $language['time_format'], 'default_currency-CDATA' => $osC_Currencies->getCode($language['currencies_id']), 'numerical_decimal_separator-CDATA' => $language['numeric_separator_decimal'], 'numerical_thousands_separator-CDATA' => $language['numeric_separator_thousands']); if ($language['parent_id'] > 0) { $export_array['language']['data']['parent_language_code'] = osC_Language_Admin::getCode($language['parent_id']); } } $Qdefs = $osC_Database->query('select content_group, definition_key, definition_value from :table_languages_definitions where languages_id = :languages_id and content_group in (":content_group") order by content_group, definition_key'); $Qdefs->bindTable(':table_languages_definitions', TABLE_LANGUAGES_DEFINITIONS); $Qdefs->bindInt(':languages_id', $id); $Qdefs->bindRaw(':content_group', implode('", "', $groups)); $Qdefs->execute(); while ($Qdefs->next()) { $export_array['language']['definitions']['definition'][] = array('key' => $Qdefs->value('definition_key'), 'value-CDATA' => $Qdefs->value('definition_value'), 'group' => $Qdefs->value('content_group')); } $osC_XML = new osC_XML($export_array, $language['charset']); $xml = $osC_XML->toXML(); header('Content-Description: File Transfer'); header('Content-disposition: attachment; filename=' . $language['code'] . '.xml'); header('Content-Type: text/xml'); header('Content-Transfer-Encoding: binary'); header('Content-Length: ' . strlen($xml)); header('Pragma: public'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); ob_clean(); flush(); echo $xml; exit; }