Skip to content

Commit

Permalink
JXMLT: "Changed" status unflagged on Receive, instead of on Produce
Browse files Browse the repository at this point in the history
  • Loading branch information
tvannini committed Apr 12, 2019
1 parent 774daae commit c0c9af9
Show file tree
Hide file tree
Showing 6 changed files with 95 additions and 23 deletions.
56 changes: 51 additions & 5 deletions lib/jxapp.inc
Expand Up @@ -11049,10 +11049,14 @@ class o2_inspector {
* table.
*
* @param string $lang Lang code to receive
* @param string $base_lang Base language to match changes against
* @param integer $tot_progress Total progress to reach (when in multiple jobs chain)
* @param integer $base_progress Base progress to add (when in multiple jobs chain)
*/
function mlt_get_lang($lang, $base_progress = 0, $tot_progress = 100) {
function mlt_get_lang($lang,
$base_lang = '',
$base_progress = 0,
$tot_progress = 100) {

$app = $_SESSION['o2_app'];
$tab = $app->get_table(self::$mlt_table);
Expand All @@ -11073,7 +11077,24 @@ class o2_inspector {
$idx = 0;
// ___________________________________________ Loop on all translated programs ___
foreach ($prgs as $prg_dict) {
// _________________________ Read translations from dictionary file (.lng) ___
$dict = jx_parse_conf($prg_dict);
// ________________________________________ Retrieve base language records ___
$where = $f['mlt_lang']."='".$base_lang."' AND ".
$f['mlt_prg']."='".$prg_dict->nome."'";
$base = o2_gateway::recordset($server->type,
$server->server,
$server->user,
$server->password,
$db->nome,
$db->proprietario,
$tab->nome,
'jx_translations',
$select,
$where,
'',
100000);
// __________________________________________ Retrieve translation records ___
$where = $f['mlt_lang']."='".$lang."' AND ".
$f['mlt_prg']."='".$prg_dict->nome."'";
$recs = o2_gateway::recordset($server->type,
Expand All @@ -11092,16 +11113,41 @@ class o2_inspector {
$item = $rec['CTRL'].'#'.$rec['PROPERTY'].
($rec['PROPERTY'] == 'item' || $rec['PROPERTY'] == 'page' ?
'_'.$rec['PROP_VALUE'] : '');
if ($rec['LANG_STR'] != $dict[$item]) {
if (trim($dict[$item]) &&
(trim($rec['LANG_STR']) != trim($dict[$item]))) {
$where_i = $where.' AND '.
$f['mlt_ctrl']."='".$rec['CTRL']."' AND ".
$f['mlt_property']."='".$rec['PROPERTY']."' AND ".
$f['mlt_prop_value']."='".
o2_gateway::normalize($server->type,
$rec['PROP_VALUE'])."'";
$sets = array($f['mlt_lang_str']->nome_fisico =>
"'".o2_gateway::normalize($server->type,
$dict[$item])."'");
// _____________________________________ Retrieve base-lang string ___
$base_str = '';
foreach ($base as $b_rec) {
if ($b_rec['CTRL'] == $rec['CTRL'] &&
$b_rec['PROPERTY'] == $rec['PROPERTY'] &&
$b_rec['PROP_VALUE'] == $rec['PROP_VALUE']) {
$base_str = $b_rec['LANG_STR'];
break;
}
}
// _______________ Remove "changed" status from translation record ___
if ($base_str != $rec['BASE_STR']) {
$sets = array($f['mlt_lang_str'].'' => "'".o2_gateway::normalize(
$server->type,
$dict[$item]).
"'",
$f['mlt_base_str'].'' => "'".o2_gateway::normalize(
$server->type,
$base_str).
"'");
}
else {
$sets = array($f['mlt_lang_str'].'' => "'".o2_gateway::normalize(
$server->type,
$dict[$item]).
"'");
}
o2_gateway::modifyrec($server->type,
$server->server,
$server->user,
Expand Down
2 changes: 1 addition & 1 deletion lib/prgs/jxmlt_do_all.prf
Expand Up @@ -4,7 +4,7 @@ function jxmlt_do_all
// $o2exe->s(1) && True && o2act::remark("Harvest") && $o2exe->e();
$o2exe->s(2) && True && o2act::call(jxmlt_do_all_exp_10(), False, jxmlt_do_all_exp_1(), jxmlt_do_all_exp_2(), jxmlt_do_all_exp_3(), jxmlt_do_all_exp_4(), jxmlt_do_all_exp_5(), jxmlt_do_all_exp_15(), jxmlt_do_all_exp_16()) && $o2exe->e();
// $o2exe->s(3) && True && o2act::remark("Receive") && $o2exe->e();
$o2exe->s(4) && True && o2act::call(jxmlt_do_all_exp_11(), False, jxmlt_do_all_exp_5(), jxmlt_do_all_exp_16(), jxmlt_do_all_exp_16()) && $o2exe->e();
$o2exe->s(4) && True && o2act::call(jxmlt_do_all_exp_11(), False, jxmlt_do_all_exp_5(), jxmlt_do_all_exp_6(), jxmlt_do_all_exp_16(), jxmlt_do_all_exp_16()) && $o2exe->e();
// $o2exe->s(5) && True && o2act::remark("Produce") && $o2exe->e();
$o2exe->s(6) && True && o2act::call(jxmlt_do_all_exp_12(), False, jxmlt_do_all_exp_13(), jxmlt_do_all_exp_14(), jxmlt_do_all_exp_6(), jxmlt_do_all_exp_5(), jxmlt_do_all_exp_7(), jxmlt_do_all_exp_17(), jxmlt_do_all_exp_16()) && $o2exe->e();
} //|o2_fine_act|
Expand Down
7 changes: 3 additions & 4 deletions lib/prgs/jxmlt_produce.prf
Expand Up @@ -155,8 +155,8 @@ function jxmlt_produce
} //|o2_fine_act|

function jxmlt_produce��string_changed_act(&$o2exe) {
$o2exe->s(1) && True && o2act::set("translation", "mlt_base_str", jxmlt_produce_exp_19()) && $o2exe->e();
$o2exe->s(2) && True && o2act::view("translation", "S", "") && $o2exe->e();
$o2exe->s(1) && (jxmlt_produce_exp_31() || $o2exe->e()) && o2act::set("translation", "mlt_base_str", jxmlt_produce_exp_19()) && $o2exe->e();
$o2exe->s(2) && (jxmlt_produce_exp_31() || $o2exe->e()) && o2act::view("translation", "S", "") && $o2exe->e();
$o2exe->s(3) && True && o2act::set("prg�_�var", "txt_changed", jxmlt_produce_exp_20()) && $o2exe->e();
} //|o2_fine_act|

Expand Down Expand Up @@ -343,8 +343,7 @@ $txt = "; Janox translation dictionary\n".
(($cha_n / 3) ?
"; CHANGED EXPRESSIONS TO CHECK\n".
"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n".$changed : '');
file_put_contents($lang_dir.$prg.'.lng', $txt);

file_put_contents($lang_dir.$prg.'.lng', $txt);
return (true);
} //|o2_fine_exp|

Expand Down
7 changes: 4 additions & 3 deletions lib/prgs/jxmlt_receive.prf
Expand Up @@ -6,10 +6,11 @@ function jxmlt_receive

function jxmlt_receive_exp_1() {
$lang = o2par(1);
$pbas = (o2par(3) ? o2par(2) : 0);
$ptot = (o2par(3) ? o2par(3) : 100);
$base = o2par(2);
$pbas = (o2par(4) ? o2par(3) : 0);
$ptot = (o2par(4) ? o2par(4) : 100);
$insp = new o2_inspector();
$insp->mlt_get_lang($lang, $pbas, $ptot);
$insp->mlt_get_lang($lang, $base, $pbas, $ptot);
return (true);
} //|o2_fine_exp|
?>
7 changes: 4 additions & 3 deletions lib/prgs/jxmlt_receive.prg
Expand Up @@ -9,7 +9,8 @@ o2def::prgnotes("");
o2def::prg("jxmlt_receive", "receive", "", __FILE__);

o2def::act("receive", "");
o2def::par(1, "lang", "o2sys_language");
o2def::par(2, "base_progress", "jxjob_progress");
o2def::par(3, "tot_progress", "jxjob_progress");
o2def::par(1, "lang_to", "o2sys_language");
o2def::par(2, "lang_from", "o2sys_language");
o2def::par(3, "base_progress", "jxjob_progress");
o2def::par(4, "tot_progress", "jxjob_progress");
?>
39 changes: 32 additions & 7 deletions lib/prgs/jxtranslate.prf
Expand Up @@ -83,14 +83,14 @@ function jxtranslate
$ctrl_o2flowbox2_Panel4->x(2);
$ctrl_o2flowbox2_Panel4->y(22);
$ctrl_o2flowbox2_Panel4->larghezza(350);
$ctrl_o2flowbox2_Panel4->altezza(90);
$ctrl_o2flowbox2_Panel4->altezza(100);
$ctrl_o2flowbox2_Panel4->visibile(jxtranslate_exp_24());
$ctrl_o2flowbox2_Panel4->info_padre(array(4));
$ctrl_o2flowbox2_Panel5 = &$form_jxtranslate_1->ctrldef("o2flowbox2_Panel5", "frame", "o2flowbox2", "", "");
$ctrl_o2flowbox2_Panel5->x(2);
$ctrl_o2flowbox2_Panel5->y(22);
$ctrl_o2flowbox2_Panel5->larghezza(350);
$ctrl_o2flowbox2_Panel5->altezza(170);
$ctrl_o2flowbox2_Panel5->altezza(180);
$ctrl_o2flowbox2_Panel5->visibile(jxtranslate_exp_23());
$ctrl_o2flowbox2_Panel5->info_padre(array(5));
$ctrl_o2label2 = &$form_jxtranslate_1->ctrldef("o2label2", "label", "o2flowbox2_Panel0", "", "");
Expand Down Expand Up @@ -459,6 +459,12 @@ function jxtranslate
$ctrl_o2label10->larghezza(150);
$ctrl_o2label10->altezza(20);
$ctrl_o2label10->label("Translation language:");
$ctrl_o2label42 = &$form_jxtranslate_1->ctrldef("o2label42", "label", "o2flowbox2_Panel4", "", "");
$ctrl_o2label42->x(10);
$ctrl_o2label42->y(30);
$ctrl_o2label42->larghezza(150);
$ctrl_o2label42->altezza(20);
$ctrl_o2label42->label("Base language:");
$ctrl_o2edit5 = &$form_jxtranslate_1->ctrldef("o2edit5", "edit", "o2flowbox2_Panel4", "prg�_�var", "lang_to");
$ctrl_o2edit5->x(160);
$ctrl_o2edit5->y(10);
Expand All @@ -467,15 +473,21 @@ function jxtranslate
$ctrl_o2edit5->on_change(jxtranslate_exp_6());
$ctrl_o2button4 = &$form_jxtranslate_1->ctrldef("o2button4", "button", "o2flowbox2_Panel4", "", "");
$ctrl_o2button4->x(250);
$ctrl_o2button4->y(50);
$ctrl_o2button4->y(60);
$ctrl_o2button4->larghezza(90);
$ctrl_o2button4->altezza(30);
$ctrl_o2button4->modificabile(jxtranslate_exp_25());
$ctrl_o2button4->azione("receive");
$ctrl_o2button4->label("&Receive");
$ctrl_o2edit18 = &$form_jxtranslate_1->ctrldef("o2edit18", "edit", "o2flowbox2_Panel4", "prg�_�var", "lang_from");
$ctrl_o2edit18->x(160);
$ctrl_o2edit18->y(30);
$ctrl_o2edit18->larghezza(100);
$ctrl_o2edit18->altezza(20);
$ctrl_o2edit18->on_change(jxtranslate_exp_6());
$ctrl_o2separator4 = &$form_jxtranslate_1->ctrldef("o2separator4", "line", "o2flowbox2_Panel5", "", "");
$ctrl_o2separator4->x(10);
$ctrl_o2separator4->y(90);
$ctrl_o2separator4->y(100);
$ctrl_o2separator4->larghezza(330);
$ctrl_o2separator4->altezza(10);
$ctrl_o2label25 = &$form_jxtranslate_1->ctrldef("o2label25", "label", "o2flowbox2_Panel5", "", "");
Expand All @@ -484,6 +496,12 @@ function jxtranslate
$ctrl_o2label25->larghezza(150);
$ctrl_o2label25->altezza(20);
$ctrl_o2label25->label("Translation language:");
$ctrl_o2label43 = &$form_jxtranslate_1->ctrldef("o2label43", "label", "o2flowbox2_Panel5", "", "");
$ctrl_o2label43->x(10);
$ctrl_o2label43->y(30);
$ctrl_o2label43->larghezza(150);
$ctrl_o2label43->altezza(20);
$ctrl_o2label43->label("Base language:");
$ctrl_o2edit11 = &$form_jxtranslate_1->ctrldef("o2edit11", "edit", "o2flowbox2_Panel5", "prg�_�var", "lang_to");
$ctrl_o2edit11->x(160);
$ctrl_o2edit11->y(10);
Expand All @@ -492,15 +510,21 @@ function jxtranslate
$ctrl_o2edit11->on_change(jxtranslate_exp_6());
$ctrl_o2button7 = &$form_jxtranslate_1->ctrldef("o2button7", "button", "o2flowbox2_Panel5", "", "");
$ctrl_o2button7->x(250);
$ctrl_o2button7->y(50);
$ctrl_o2button7->y(60);
$ctrl_o2button7->larghezza(90);
$ctrl_o2button7->altezza(30);
$ctrl_o2button7->modificabile(jxtranslate_exp_25());
$ctrl_o2button7->azione("receive");
$ctrl_o2button7->label("&Receive");
$ctrl_o2edit19 = &$form_jxtranslate_1->ctrldef("o2edit19", "edit", "o2flowbox2_Panel5", "prg�_�var", "lang_from");
$ctrl_o2edit19->x(160);
$ctrl_o2edit19->y(30);
$ctrl_o2edit19->larghezza(100);
$ctrl_o2edit19->altezza(20);
$ctrl_o2edit19->on_change(jxtranslate_exp_6());
$ctrl_o2htmlarea4 = &$form_jxtranslate_1->ctrldef("o2htmlarea4", "htmlarea", "o2flowbox2_Panel5", "", "");
$ctrl_o2htmlarea4->x(20);
$ctrl_o2htmlarea4->y(110);
$ctrl_o2htmlarea4->y(120);
$ctrl_o2htmlarea4->larghezza(310);
$ctrl_o2htmlarea4->altezza(50);
$ctrl_o2htmlarea4->html(jxtranslate_exp_26());
Expand Down Expand Up @@ -906,7 +930,8 @@ function jxtranslate_exp_9() {
'Import dictionaries for Multilanguage Translation',
30);
}
o2job_run('jxmlt_receive', array('lang' => o2val('prg�_�var','lang_to')));
o2job_run('jxmlt_receive', array('lang_to' => o2val('prg�_�var','lang_to'),
'lang_from' => o2val('prg�_�var','lang_from')));
return (true);
} //|o2_fine_exp|

Expand Down

0 comments on commit c0c9af9

Please sign in to comment.