summaryrefslogtreecommitdiff
path: root/xmloff/source/draw
diff options
context:
space:
mode:
authorLászló Németh <nemeth@numbertext.org>2021-06-14 20:46:17 +0200
committerLászló Németh <nemeth@numbertext.org>2021-06-17 10:43:08 +0200
commit12da70f88517bf3c053afe1c504bb70bd27573f2 (patch)
tree27097e4bb9cc343ece830f77991b5d5220ea2ff3 /xmloff/source/draw
parent68eb62b9bf8a64d892b3cfa58447e7c890ed3ec4 (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/draw')
-rw-r--r--xmloff/source/draw/sdxmlexp.cxx16
1 files changed, 13 insertions, 3 deletions
diff --git a/xmloff/source/draw/sdxmlexp.cxx b/xmloff/source/draw/sdxmlexp.cxx
index 652bce79610d..db1542fc511f 100644
--- a/xmloff/source/draw/sdxmlexp.cxx
+++ b/xmloff/source/draw/sdxmlexp.cxx
@@ -2516,6 +2516,10 @@ void SdXMLExport::exportAnnotations( const Reference<XDrawPage>& xDrawPage )
Reference< XAnnotationEnumeration > xAnnotationEnumeration( xAnnotationAccess->createAnnotationEnumeration() );
if( xAnnotationEnumeration.is() && xAnnotationEnumeration->hasMoreElements() )
{
+ SvtSecurityOptions aSecOpt;
+ bool bRemovePersonalInfo = aSecOpt.IsOptionSet(
+ SvtSecurityOptions::EOption::DocWarnRemovePersonalInfo );
+
OUStringBuffer sStringBuffer;
do
{
@@ -2551,7 +2555,9 @@ void SdXMLExport::exportAnnotations( const Reference<XDrawPage>& xDrawPage )
if( !aAuthor.isEmpty() )
{
SvXMLElementExport aCreatorElem( *this, XML_NAMESPACE_DC, XML_CREATOR, true, false );
- Characters(aAuthor);
+ Characters( bRemovePersonalInfo
+ ? "Author" + OUString::number( SvXMLExport::GetInfoID(aAuthor) )
+ : aAuthor );
}
// initials
@@ -2567,7 +2573,9 @@ void SdXMLExport::exportAnnotations( const Reference<XDrawPage>& xDrawPage )
? XML_CREATOR_INITIALS
: XML_SENDER_INITIALS,
true, false );
- Characters(aInitials);
+ Characters( bRemovePersonalInfo
+ ? OUString::number( SvXMLExport::GetInfoID(aInitials) )
+ : aInitials );
}
{
@@ -2575,7 +2583,9 @@ void SdXMLExport::exportAnnotations( const Reference<XDrawPage>& xDrawPage )
css::util::DateTime aDate( xAnnotation->getDateTime() );
::sax::Converter::convertDateTime(sStringBuffer, aDate, nullptr, true);
SvXMLElementExport aDateElem( *this, XML_NAMESPACE_DC, XML_DATE, true, false );
- Characters(sStringBuffer.makeStringAndClear());
+ Characters( bRemovePersonalInfo
+ ? "1970-01-01T00:00::00"
+ : sStringBuffer.makeStringAndClear() );
}
css::uno::Reference < css::text::XText > xText( xAnnotation->getTextRange() );