function lingotek_form_bulk_sync_submit in Lingotek Translation 7.4
Same name and namespace in other branches
- 7.3 lingotek.sync.inc \lingotek_form_bulk_sync_submit()
- 7.5 lingotek.sync.inc \lingotek_form_bulk_sync_submit()
Submit handler for the lingotek_form_bulk_sync form. Calls the function that creates a batch job to do bulk sync.
Parameters
array $form: The FAPI form array.
array $form_state: The FAPI form state array.
1 string reference to 'lingotek_form_bulk_sync_submit'
File
- ./
lingotek.sync.inc, line 590 - Sync and management
Code
function lingotek_form_bulk_sync_submit($form, $form_state) {
//dpm($form); //dpm($form_state);
$vals = $form_state['values'];
// upload
$upload_nids = array();
if (isset($vals['upload']) && $vals['upload'] && isset($vals['upload_nids_json'])) {
$upload_nids = array_merge($upload_nids, json_decode($vals['upload_nids_json']));
}
if (isset($vals['upload_et']) && $vals['upload_et'] && isset($vals['upload_nids_et_json'])) {
$upload_nids = array_merge($upload_nids, json_decode($vals['upload_nids_et_json']));
}
if (isset($vals['upload_wb']) && $vals['upload_wb']) {
foreach ($vals['upload_wb'] as $state) {
if (isset($vals['upload_nids_wb_json_' . $state])) {
$upload_nids = array_merge($upload_nids, json_decode($vals['upload_nids_wb_json_' . $state]));
}
}
}
if (isset($vals['upload_nowb']) && $vals['upload_nowb'] && isset($vals['upload_nids_nowb_json'])) {
$upload_nids = array_merge($upload_nids, json_decode($vals['upload_nids_nowb_json']));
}
$upload_nids = array_unique($upload_nids);
// upload config
$upload_config = array();
if (isset($vals['upload_config']) && $vals['upload_config'] && isset($vals['upload_config_json'])) {
$upload_config = json_decode($vals['upload_config_json']);
}
//download - complete
$download_locales_complete = array();
if (isset($vals['download_locales_complete'])) {
foreach ($vals['download_locales_complete'] as $locale => $enabled) {
if ($enabled) {
$download_locales_complete[] = $locale;
}
}
}
$document_ids = array();
$download_targets = array();
if (!empty($download_locales_complete) && isset($vals['download_targets_workflow_complete_json'])) {
$all_download_targets = json_decode($vals['download_targets_workflow_complete_json']);
foreach ($all_download_targets as $download_target) {
if (in_array($download_target->locale, $download_locales_complete)) {
$document_ids[] = $download_target->document_id;
$download_targets[] = $download_target;
}
}
}
//download - incomplete
$download_locales_incomplete = array();
if (isset($vals['download_locales_incomplete'])) {
foreach ($vals['download_locales_incomplete'] as $locale => $enabled) {
if ($enabled) {
$download_locales_incomplete[] = $locale;
}
}
}
$download_targets_incomplete = array();
if (!empty($download_locales_incomplete) && isset($vals['download_targets_workflow_incomplete_json'])) {
$all_download_targets = json_decode($vals['download_targets_workflow_incomplete_json']);
foreach ($all_download_targets as $download_target) {
if (in_array($download_target->locale, $download_locales_incomplete)) {
$document_ids[] = $download_target->document_id;
$download_targets_incomplete[] = $download_target;
}
}
}
$extra_operations = array();
$document_ids = array_unique($document_ids);
// if workbench moderation is enabled
if (module_exists('workbench_moderation')) {
$transitions = lingotek_get_workbench_moderation_transitions();
if (isset($form_state['values']['download_locales_wb_options'])) {
if ($form_state['values']['download_locales_wb_options'] == 'increment') {
if (isset($form_state['values']['wb_override_defaults']) && $form_state['values']['wb_override_defaults'] == 1) {
// if we are overriding
$trans_keys = array_keys($transitions);
foreach ($trans_keys as $trans_key) {
if (isset($form_state['input']['download_locales_wb_' . $trans_key])) {
// if there is a form variable for this transition
$transitions[$trans_key] = $form_state['input']['download_locales_wb_' . $trans_key];
// override the defaults
}
}
}
}
$extra_operations = array_merge($extra_operations, lingotek_post_download_workbench_moderation($form_state['values']['download_locales_wb_options'], $document_ids, $transitions, TRUE));
}
}
//dpm($download_locales); dpm($download_targets); dpm($upload_nids); dpm($vals);
lingotek_sync_batch_create($upload_nids, $upload_config, $download_targets, $download_targets_incomplete, NULL, $extra_operations);
}