diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php index 7e0468107df..bffa9be01b6 100644 --- a/htdocs/admin/translation.php +++ b/htdocs/admin/translation.php @@ -88,7 +88,45 @@ if ($action == 'setMAIN_ENABLE_OVERWRITE_TRANSLATION') else dolibarr_set_const($db, 'MAIN_ENABLE_OVERWRITE_TRANSLATION', 0, 'chaine', 0, '', $conf->entity); } -if ($action == 'add' || (GETPOST('add') && $action != 'update')) +if ($action == 'update') +{ + if ($transvalue == '') + { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("NewTranslationStringToShow")), null, 'errors'); + $error++; + } + if (! $error) + { + $db->begin(); + + $sql = "UPDATE ".MAIN_DB_PREFIX."overwrite_trans set transvalue = '".$db->escape($transvalue)."' WHERE rowid = ".GETPOST('rowid','int'); + $result = $db->query($sql); + if ($result > 0) + { + $db->commit(); + setEventMessages($langs->trans("RecordSaved"), null, 'mesgs'); + $action=""; + $transkey=""; + $transvalue=""; + } + else + { + + $db->rollback(); + if ($db->lasterrno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') + { + setEventMessages($langs->trans("WarningAnEntryAlreadyExistForTransKey"), null, 'warnings'); + } + else + { + setEventMessages($db->lasterror(), null, 'errors'); + } + $action=''; + } + } +} + +if ($action == 'add') { $error=0; @@ -209,7 +247,6 @@ print '