diff options
author | László Németh <nemeth@numbertext.org> | 2021-06-14 20:46:17 +0200 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2021-06-17 10:43:08 +0200 |
commit | 12da70f88517bf3c053afe1c504bb70bd27573f2 (patch) | |
tree | 27097e4bb9cc343ece830f77991b5d5220ea2ff3 /xmloff/source/text/txtflde.cxx | |
parent | 68eb62b9bf8a64d892b3cfa58447e7c890ed3ec4 (diff) |
tdf#90401 xmloff: remove personal info of comments and changes
If Options → LibreOffice → Security → Security Options
and Warnings → Options... → Security Options → Remove personal
information on saving" is enabled.
Use the same time (1970-01-01T00:00:00) for mandatory
time stamps, and replace authors and creator-initials with
"1", "2", "3" etc., also to avoid of joining adjacent
redline ranges.
Note: to see the work of the unit test in Linux command line:
(cd sw && make UITest_writer_tests7 UITEST_TEST_NAME="tdf90401.tdf90401.test_tdf90401_remove_personal_info" SAL_USE_VCLPLUGIN=gen)
Change-Id: I3b4d710dbeeee12177aff378597cd2b683ca6c25
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117319
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'xmloff/source/text/txtflde.cxx')
-rw-r--r-- | xmloff/source/text/txtflde.cxx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/xmloff/source/text/txtflde.cxx b/xmloff/source/text/txtflde.cxx index 962e30e995d4..93f43ee6c082 100644 --- a/xmloff/source/text/txtflde.cxx +++ b/xmloff/source/text/txtflde.cxx @@ -1746,6 +1746,10 @@ void XMLTextFieldExport::ExportFieldHelper( DBG_ASSERT(sPresentation.isEmpty(), "Unexpected presentation for annotation field"); + SvtSecurityOptions aSecOpt; + bool bRemovePersonalInfo = aSecOpt.IsOptionSet( + SvtSecurityOptions::EOption::DocWarnRemovePersonalInfo ); + // annotation element + content OUString aName; rPropSet->getPropertyValue(gsPropertyName) >>= aName; @@ -1774,11 +1778,14 @@ void XMLTextFieldExport::ExportFieldHelper( SvXMLElementExport aCreatorElem( GetExport(), XML_NAMESPACE_DC, XML_CREATOR, true, false ); - GetExport().Characters(aAuthor); + GetExport().Characters( bRemovePersonalInfo + ? "Author" + OUString::number( rExport.GetInfoID(aAuthor) ) + : aAuthor ); } // date time util::DateTime aDate( GetDateTimeProperty(gsPropertyDateTimeValue, rPropSet) ); + if ( !bRemovePersonalInfo ) { OUStringBuffer aBuffer; ::sax::Converter::convertDateTime(aBuffer, aDate, nullptr, true); @@ -1804,7 +1811,9 @@ void XMLTextFieldExport::ExportFieldHelper( ? XML_CREATOR_INITIALS : XML_SENDER_INITIALS, true, false ); - GetExport().Characters(aInitials); + GetExport().Characters( bRemovePersonalInfo + ? OUString::number( rExport.GetInfoID(aInitials) ) + : aInitials); } } |