function lingotek_entity_translation_save_status in Lingotek Translation 7.4
Same name and namespace in other branches
- 7.7 lingotek.util.inc \lingotek_entity_translation_save_status()
- 7.5 lingotek.util.inc \lingotek_entity_translation_save_status()
- 7.6 lingotek.util.inc \lingotek_entity_translation_save_status()
3 calls to lingotek_entity_translation_save_status()
- lingotek_download_document in ./
lingotek.api.inc - lingotek_publish_form_submit in ./
lingotek.page.inc - Submit handler for the lingotek_publish_form form. Update the entity_translation module publishing fields
- lingotek_update_7408 in ./
lingotek.install - Creates an upgrade path for existing translated content to be inserted into entity_translation module table if necessary
File
- ./
lingotek.util.inc, line 1306 - Utility functions.
Code
function lingotek_entity_translation_save_status($node, $language_codes, $status_request = NULL) {
$handler = entity_translation_get_handler('node', $node);
$languages_updated = array();
$updates = 0;
foreach ($language_codes as $langcode) {
if ($langcode !== 0) {
// set node (source or target as specified) flag (in the entity_translation table) as published or unpublished
$et_params = array(
'language' => $langcode,
);
if ($langcode != $node->language) {
$et_params['source'] = $node->language;
}
if ($status_request !== NULL) {
$et_params['status'] = $status_request;
}
else {
// check for the current status, if any, and set to published as a default
if (isset($node->translations->data[$node->language]) && !isset($node->translations->data[$langcode])) {
$et_params['status'] = $node->translations->data[$node->language]['status'];
}
else {
$et_params['status'] = 1;
// published
}
}
$handler
->setTranslation($et_params);
$languages_updated[$langcode] = lingotek_language_name($langcode);
$updates++;
}
}
$handler
->saveTranslations();
return array(
$languages_updated,
$updates,
);
}