diff --git a/ai_info.php b/ai_info.php index 095cf5c..73b8bf8 100644 --- a/ai_info.php +++ b/ai_info.php @@ -73,8 +73,10 @@ $templatepurpose['highlight'] = in_array($purpose, $purposes); $templatecontext['purposes'][] = $templatepurpose; } -$termsofuse = get_config('local_ai_manager', 'termsofuse'); -if (!empty($termsofuse)) { +$termsofuse = get_config('local_ai_manager', 'termsofuse') ?: ''; +$showtermsofuse = !empty($termsofuse); +$templatecontext['showtermsofuse'] = $showtermsofuse; +if ($showtermsofuse) { $templatecontext['termsofuse'] = $termsofuse; } echo $OUTPUT->render_from_template('local_ai_manager/purpose_info', $templatecontext); diff --git a/confirm_ai_usage.php b/confirm_ai_usage.php index 6359247..3477f7e 100644 --- a/confirm_ai_usage.php +++ b/confirm_ai_usage.php @@ -61,20 +61,25 @@ echo $OUTPUT->header(); +$templatecontext = [ + 'checked' => $userinfo->is_confirmed(), + 'description' => $userinfo->is_confirmed() ? get_string('revokeconfirmation', 'local_ai_manager') : + get_string('confirm', 'local_ai_manager'), + 'text' => $userinfo->is_confirmed() ? get_string('confirmed', 'local_ai_manager') : + get_string('notconfirmed', 'local_ai_manager'), + 'targetwhenchecked' => (new moodle_url('/local/ai_manager/confirm_ai_usage.php', + ['confirm' => 0]))->out(false), + 'targetwhennotchecked' => (new moodle_url('/local/ai_manager/confirm_ai_usage.php', + ['confirm' => 1]))->out(false), +]; + $termsofuse = get_config('local_ai_manager', 'termsofuse') ?: ''; +$showtermsofuse = !empty($termsofuse); +$templatecontext['showtermsofuse'] = $showtermsofuse; +if ($showtermsofuse) { + $templatecontext['termsofuse'] = $termsofuse; +} -echo $OUTPUT->render_from_template('local_ai_manager/confirm_ai_usage', - [ - 'checked' => $userinfo->is_confirmed(), - 'description' => $userinfo->is_confirmed() ? get_string('revokeconfirmation', 'local_ai_manager') : - get_string('confirm', 'local_ai_manager'), - 'text' => $userinfo->is_confirmed() ? get_string('confirmed', 'local_ai_manager') : - get_string('notconfirmed', 'local_ai_manager'), - 'targetwhenchecked' => (new moodle_url('/local/ai_manager/confirm_ai_usage.php', - ['confirm' => 0]))->out(false), - 'targetwhennotchecked' => (new moodle_url('/local/ai_manager/confirm_ai_usage.php', - ['confirm' => 1]))->out(false), - 'termsofuse' => $termsofuse, - ]); +echo $OUTPUT->render_from_template('local_ai_manager/confirm_ai_usage', $templatecontext); echo $OUTPUT->footer(); diff --git a/lang/de/local_ai_manager.php b/lang/de/local_ai_manager.php index 21e5710..2ae6bba 100644 --- a/lang/de/local_ai_manager.php +++ b/lang/de/local_ai_manager.php @@ -128,7 +128,10 @@ $string['preconfiguredmodel'] = 'vorkonfiguriertes Modell'; $string['privacy:metadata'] = 'Das Plugin local_ai_manager speichert keine persönlichen Daten.'; $string['privacy_table_description'] = 'In der unten angeführten Tabelle sehen Sie eine Übersicht über die von Ihrem Tenant konfigurierten KI-Tools. Ihr Tenant-Manager hat gegebenenfalls weitere Hinweise zu den Nutzungsbedingungen und Datenschutzhinweisen des jeweiligen KI-Tools in der Spalte "Infolink" hinterlegt.'; +$string['privacy_terms_description'] = 'Im Folgenden finden Sie Hinweise zu Datenschutz und Nutzungsbedingungen in der exakten Form, wie Sie sie vor der Nutzung der KI-Funktionalitäten bestätigt haben/bestätigen müssen.'; $string['privacy_terms_heading'] = 'Datenschutz und Nutzungsbedingungen'; +$string['privacy_terms_missing'] = 'Es wurden keine Hinweise zu Datenschutz und Nutzungsbedingungen hinterlegt.'; +$string['privacy_terms_missing_enable_anyway'] = 'Aktivieren Sie den folgenden Schalter, um die KI-Funktionalitäten nutzen zu können.'; $string['purpose'] = 'Einsatzzweck'; $string['purposesdescription'] = 'Welches Ihrer konfigurierten KI-Tools soll für welchen Einsatzzweck eingesetzt werden?'; $string['purposesheading'] = 'Einsatzzwecke ({$a->currentcount}/{$a->maxcount} zugewiesen)'; @@ -195,7 +198,6 @@ $string['use_openai_by_azure_heading'] = 'Verwende OpenAI via Azure'; $string['use_openai_by_azure_name'] = 'Name der Azure-Resource'; $string['userconfig'] = 'Benutzereinstellungen'; -$string['userconfirmation_description'] = 'Mit Aktivieren des folgenden Schalters akzeptieren Sie die zusätzlichen Nutzungsbedingungen hinsichtlich der Nutzung der KI-Dienste innerhalb der Moodle-Instanz:'; $string['userconfirmation_headline'] = 'KI-Nutzung bestätigen'; $string['userstatistics'] = 'Benutzerübersicht'; $string['userstatusupdated'] = 'Der Status des Benutzers/der Benutzer wurde aktualisiert'; diff --git a/lang/en/local_ai_manager.php b/lang/en/local_ai_manager.php index a20a91c..3ffea51 100644 --- a/lang/en/local_ai_manager.php +++ b/lang/en/local_ai_manager.php @@ -128,7 +128,10 @@ $string['preconfiguredmodel'] = 'Preconfigured model'; $string['privacy:metadata'] = 'The local ai_manager plugin does not store any personal data.'; $string['privacy_table_description'] = 'In the table below, you can see an overview of the AI tools configured by your school. Your ByCS admin may have provided additional notes on the terms of use and privacy notices of the respective AI tools in the "Info link" column.'; +$string['privacy_terms_description'] = 'Following are the notes about data privacy and terms of use in the exact same form like you confirmed or still have to confirm to use the AI functionalities.'; $string['privacy_terms_heading'] = 'Privacy and Terms of Use'; +$string['privacy_terms_missing'] = 'No terms of use have been specified.'; +$string['privacy_terms_missing_enable_anyway'] = 'Please enable the following switch to be able to use the AI functionalities.'; $string['purpose'] = 'Purpose'; $string['purposesdescription'] = 'Which of your configured AI tools should be used for which purpose?'; $string['purposesheading'] = 'Purposes ({$a->currentcount}/{$a->maxcount} assigned)'; @@ -195,7 +198,6 @@ $string['use_openai_by_azure_heading'] = 'Use OpenAI via Azure'; $string['use_openai_by_azure_name'] = 'Name of the Azure resource'; $string['userconfig'] = 'User configuration'; -$string['userconfirmation_description'] = 'By enabling the switch below you accept the additional terms of use related to the usage of the AI tools.'; $string['userconfirmation_headline'] = 'Confirmation for usage of AI tools'; $string['userstatistics'] = 'User overview'; $string['userstatusupdated'] = 'The user\'s/users\' status has been updated'; diff --git a/templates/confirm_ai_usage.mustache b/templates/confirm_ai_usage.mustache index 7457ed7..2b2461b 100644 --- a/templates/confirm_ai_usage.mustache +++ b/templates/confirm_ai_usage.mustache @@ -27,8 +27,13 @@

{{#str}} userconfirmation_headline, local_ai_manager {{/str}}

-

{{{termsofuse}}}

-

{{#str}} userconfirmation_description, local_ai_manager {{/str}}

+ {{#showtermsofuse}} +

{{{termsofuse}}}

+ {{/showtermsofuse}} + {{^showtermsofuse}} +

{{#str}}privacy_terms_missing, local_ai_manager{{/str}}

+

{{#str}}privacy_terms_missing_enable_anyway, local_ai_manager{{/str}}

+ {{/showtermsofuse}}
{{> local_ai_manager/toggle }} diff --git a/templates/purpose_info.mustache b/templates/purpose_info.mustache index b59f566..aa7f58c 100644 --- a/templates/purpose_info.mustache +++ b/templates/purpose_info.mustache @@ -59,12 +59,18 @@

{{#str}}privacy_terms_heading, local_ai_manager{{/str}}

-

- {{{termsofuse}}} -

-

{{#str}}privacy_table_description, local_ai_manager{{/str}}

+ {{#showtermsofuse}} +

{{#str}}privacy_terms_description, local_ai_manager{{/str}}

+
+ {{{termsofuse}}} +
+ {{/showtermsofuse}} + {{^showtermsofuse}} +

{{#str}}privacy_terms_missing, local_ai_manager{{/str}}

+ {{/showtermsofuse}}
+

{{#str}}privacy_table_description, local_ai_manager{{/str}}