dsgvo: Add a button to the privacy draft to copy the pure html (#78)

This commit is contained in:
onli 2018-05-15 18:45:36 +02:00 committed by GitHub
parent c45ba5f4ef
commit 725edf4415
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 25 additions and 5 deletions

View file

@ -1,3 +1,4 @@
1.2.0: Add button to copy pricvacy draft in html
1.1.0: Set default value of commentform checkbox to false
1.0.7: Properly quit once the CSV dump is sent, and not embed this in HTML
1.0.6: Typos, German translation, frontend markup fix

View file

@ -124,3 +124,4 @@ Bestimmte Plugins können das Session-Cookie verwenden, um zusätzlich temporär
@define('PLUGIN_EVENT_DSGVO_GDPR_BACKEND', 'Benutzerdaten verwalten');
@define('PLUGIN_EVENT_DSGVO_GDPR_BACKEND_INFO', 'Hier können Sie einen exakt übereinstimmenden Benutzernamen oder eine E-Mail-Adresse eingeben, um diesen Benutzer zu entfernen oder seine Daten zu exportieren. Sie können mehrere Namen auf jeweils einer neuen Zeile eingeben.');
@define('PLUGIN_EVENT_DSGVO_GDPR_BACKEND_DELFAIL', 'Um exportieren oder löschen zu können muss mindestens ein Benutzername oder eine E-Mail-Adresse eingegeben werden.');
@define('PLUGIN_EVENT_DSGVO_GDPR_COPY_CLIPBOARD', 'In Zwischenablage kopieren');

View file

@ -124,3 +124,4 @@ Bestimmte Plugins k
@define('PLUGIN_EVENT_DSGVO_GDPR_BACKEND', 'Benutzerdaten verwalten');
@define('PLUGIN_EVENT_DSGVO_GDPR_BACKEND_INFO', 'Hier können Sie einen exakt übereinstimmenden Benutzernamen oder eine E-Mail-Adresse eingeben, um diesen Benutzer zu entfernen oder seine Daten zu exportieren. Sie können mehrere Namen auf jeweils einer neuen Zeile eingeben.');
@define('PLUGIN_EVENT_DSGVO_GDPR_BACKEND_DELFAIL', 'Um exportieren oder löschen zu können muss mindestens ein Benutzername oder eine E-Mail-Adresse eingegeben werden.');
@define('PLUGIN_EVENT_DSGVO_GDPR_COPY_CLIPBOARD', 'In Zwischenablage kopieren');

View file

@ -126,3 +126,4 @@ Certain plugins can use the session cookie to store additional temporary data.</
@define('PLUGIN_EVENT_DSGVO_GDPR_BACKEND', 'Manage user data');
@define('PLUGIN_EVENT_DSGVO_GDPR_BACKEND_INFO', 'Here you can enter an exactly matching username or e-mail address to remove or export data for that user. You can separate multiple names with a newline.');
@define('PLUGIN_EVENT_DSGVO_GDPR_BACKEND_DELFAIL', 'To export or delete data you must specify at least one username or e-mail address.');
@define('PLUGIN_EVENT_DSGVO_GDPR_COPY_CLIPBOARD', 'Copy to clipboard');

View file

@ -23,7 +23,7 @@ class serendipity_event_dsgvo_gdpr extends serendipity_event
$propbag->add('description', PLUGIN_EVENT_DSGVO_GDPR_DESC);
$propbag->add('stackable', false);
$propbag->add('author', 'Serendipity Team');
$propbag->add('version', '1.1.0');
$propbag->add('version', '1.2.0');
$propbag->add('requirements', array(
'serendipity' => '2.0',
'smarty' => '2.6.7',
@ -116,7 +116,7 @@ class serendipity_event_dsgvo_gdpr extends serendipity_event
$propbag->add('type', 'content');
$propbag->add('name', PLUGIN_EVENT_DSGVO_GDPR_INFO);
$propbag->add('description', PLUGIN_EVENT_DSGVO_GDPR_INFO_DESC);
$propbag->add('default', $this->inspect_gdpr());
$propbag->add('default', $this->inspect_gdpr() . $this->buttonCopyToClipboard($this->inspect_gdpr()));
break;
case 'cookie_consent':
@ -291,17 +291,17 @@ class serendipity_event_dsgvo_gdpr extends serendipity_event
if ($theme == $serendipity['template']) {
$pointer = 'theme_active';
$$pointer .= '<h3>Active Theme "' . $theme . '"</h3>';
$$pointer .= '<h3>Active Theme "' . $theme . '"</h3>' . "\n";
} else {
$pointer = 'theme_other';
$$pointer .= '<h3>Available Theme "' . $theme . '"</h3>';
$$pointer .= '<h3>Available Theme "' . $theme . '"</h3>' . "\n";
}
$$pointer .= '<ul>';
if (isset($static_info[$theme])) {
foreach($static_info[$theme] AS $themeout) {
$$pointer .= '<li>' . $themeout . '</li>';
$$pointer .= '<li>' . $themeout . "</li>\n";
}
}
@ -349,6 +349,22 @@ class serendipity_event_dsgvo_gdpr extends serendipity_event
return $out;
}
// outputs html for a button that copies the given text to the browser clipboard
function buttonCopyToClipboard($text) {
$out = '<textarea style="display: none;white-space: pre;" id="copyWrapper">' . serendipity_specialchars($text) . '</textarea>';
$out .= '<button type="button" onclick="copyTextFromWrapper()">' . PLUGIN_EVENT_DSGVO_GDPR_COPY_CLIPBOARD . '</button>';
$out .= '<script>
function copyTextFromWrapper() {
var target = document.getElementById("copyWrapper");
target.style.display = "block";
target.focus();
target.select();
document.execCommand("Copy");
target.style.display = "none";
}</script>';
return $out;
}
function showBackend() {
global $serendipity;