Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions app/Http/Resources/Rights/ModulesRightsResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ class ModulesRightsResource extends Data
public bool $is_mod_webhook_enabled = false;
public bool $is_ai_vision_enabled = false;
public bool $is_face_overlay_enabled = true;
public bool $is_face_recognition_warning_enabled = true;
public bool $is_contact_enabled = false;
public int $messages_count = 0;

Expand All @@ -50,6 +51,7 @@ public function __construct()
$this->is_mod_webhook_enabled = $this->isWebhookEnabled();
$this->is_ai_vision_enabled = $this->isAiVisionEnabled($is_logged_in);
$this->is_face_overlay_enabled = request()->configs()->getValueAsBool('ai_vision_face_overlay_enabled');
$this->is_face_recognition_warning_enabled = request()->configs()->getValueAsBool('ai_vision_face_recognition_warning');
$this->isContactEnabled();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?php

/**
* SPDX-License-Identifier: MIT
* Copyright (c) 2017-2018 Tobias Reich
* Copyright (c) 2018-2026 LycheeOrg.
*/

use App\Models\Extensions\BaseConfigMigration;

return new class() extends BaseConfigMigration {
public const CAT = 'AI Vision';

public function getConfigs(): array
{
return [
[
'key' => 'ai_vision_face_recognition_warning',
'value' => '1',
'cat' => self::CAT,
'type_range' => self::BOOL,
'description' => 'Show face recognition legal warning',
'details' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.',
'is_expert' => false,
'is_secret' => false,
'level' => 0,
'order' => 19,
],
];
}
};
2 changes: 2 additions & 0 deletions lang/ar/all_settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,7 @@
'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
'ai_vision_face_recognition_warning' => 'Show face recognition legal warning',
'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
Expand Down Expand Up @@ -693,6 +694,7 @@
'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
'import_via_url_block_redirect' => '<span class="pi pi-exclamation-triangle text-orange-500"></span> Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.',
'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
Expand Down
11 changes: 11 additions & 0 deletions lang/ar/people.php
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,17 @@
'assigned_faces' => 'Assigned :count face(s)',
'dismissed_faces' => 'Dismissed :count face(s)',
'clustering_started' => 'Clustering started. Reload when complete.',

'face_recognition_warning' => [
'title' => 'Legal Notice — Facial Recognition',
'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.',
'example_title' => 'Example — the Netherlands:',
'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially <span class="text-muted-color-emphasis font-bold">carrying fines of up to €20 million or 4% of global annual turnover</span>.',
'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.',
'no_liability' => 'Lychee is developed under the <a href="https://lycheeorg.dev/license" class="text-primary-400 underline" target="_blank">MIT license</a>. <span class="text-muted-color-emphasis">The authors and contributors</span> of LycheeOrg <span class="text-muted-color-emphasis">accept no liability for unlawful use</span>.<br/>It is <span class="text-muted-color-emphasis">your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality</span> before operating this software.',
'acknowledge' => 'I have read and understood the above legal notice',
'accept' => 'Accept & Dismiss Warning',
],
'merge' => [
'title' => 'Merge person',
'into' => 'into…',
Expand Down
2 changes: 2 additions & 0 deletions lang/bg/all_settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,7 @@
'rating_album_view_mode' => 'Показване на оценката върху миниатюрите в изглед на албум.',
'rating_show_avg_in_album_view' => 'Показване на средната оценка върху миниатюрите на снимките',
'import_via_url_block_redirect' => 'Импортирането чрез URL не трябва да следва пренасочвания',
'ai_vision_face_recognition_warning' => 'Show face recognition legal warning',
'webshop_lycheeorg_disclaimer_enabled' => 'Активиране на отказа от отговорност на LycheeOrg',
'webshop_auto_fulfill_enabled' => 'Активиране на автоматично изпълнение на поръчките.',
'webshop_manual_fulfill_enabled' => 'Активиране на автоматично изпълнение на поръчките при ръчно действие.',
Expand Down Expand Up @@ -691,6 +692,7 @@
'rating_album_view_mode' => 'Контролира видимостта на оценката върху миниматюрите: винаги видима, при посочване или никога.',
'rating_show_avg_in_album_view' => 'Показване на средната оценка върху миниматюрите на снимките в изглед на албум, вместо оценката на потребителя.',
'import_via_url_block_redirect' => '<span class="pi pi-exclamation-triangle text-orange-500"></span> Деактивирането на това излага вашия localhost на функционалността за импортиране чрез URL и може да доведе до Server-Side Request Forgery (SSRF).',
'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.',
'webshop_lycheeorg_disclaimer_enabled' => 'Lychee се предоставя под MIT лиценз без никакви гаранции. Деактивирането на тази опция премахва отказа от отговорност от страницата за поръчка.',
'webshop_auto_fulfill_enabled' => 'След приключване на плащането, съдържанието автоматично става достъпно за потребителя, когато е възможно.',
'webshop_manual_fulfill_enabled' => 'Когато се кликне върху "Маркирай като доставено", съдържанието автоматично става достъпно за потребителя, когато е възможно.',
Expand Down
11 changes: 11 additions & 0 deletions lang/bg/people.php
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,17 @@
'assigned_faces' => 'Assigned :count face(s)',
'dismissed_faces' => 'Dismissed :count face(s)',
'clustering_started' => 'Clustering started. Reload when complete.',

'face_recognition_warning' => [
'title' => 'Legal Notice — Facial Recognition',
'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.',
'example_title' => 'Example — the Netherlands:',
'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially <span class="text-muted-color-emphasis font-bold">carrying fines of up to €20 million or 4% of global annual turnover</span>.',
'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.',
'no_liability' => 'Lychee is developed under the <a href="https://lycheeorg.dev/license" class="text-primary-400 underline" target="_blank">MIT license</a>. <span class="text-muted-color-emphasis">The authors and contributors</span> of LycheeOrg <span class="text-muted-color-emphasis">accept no liability for unlawful use</span>.<br/>It is <span class="text-muted-color-emphasis">your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality</span> before operating this software.',
Comment thread
ildyria marked this conversation as resolved.
'acknowledge' => 'I have read and understood the above legal notice',
'accept' => 'Accept & Dismiss Warning',
],
'merge' => [
'title' => 'Merge person',
'into' => 'into…',
Expand Down
2 changes: 2 additions & 0 deletions lang/cz/all_settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,7 @@
'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
'ai_vision_face_recognition_warning' => 'Show face recognition legal warning',
'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
Expand Down Expand Up @@ -693,6 +694,7 @@
'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
'import_via_url_block_redirect' => '<span class="pi pi-exclamation-triangle text-orange-500"></span> Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.',
'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
Expand Down
11 changes: 11 additions & 0 deletions lang/cz/people.php
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,17 @@
'assigned_faces' => 'Assigned :count face(s)',
'dismissed_faces' => 'Dismissed :count face(s)',
'clustering_started' => 'Clustering started. Reload when complete.',

'face_recognition_warning' => [
'title' => 'Legal Notice — Facial Recognition',
'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.',
'example_title' => 'Example — the Netherlands:',
'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially <span class="text-muted-color-emphasis font-bold">carrying fines of up to €20 million or 4% of global annual turnover</span>.',
'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.',
'no_liability' => 'Lychee is developed under the <a href="https://lycheeorg.dev/license" class="text-primary-400 underline" target="_blank">MIT license</a>. <span class="text-muted-color-emphasis">The authors and contributors</span> of LycheeOrg <span class="text-muted-color-emphasis">accept no liability for unlawful use</span>.<br/>It is <span class="text-muted-color-emphasis">your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality</span> before operating this software.',
Comment thread
ildyria marked this conversation as resolved.
'acknowledge' => 'I have read and understood the above legal notice',
'accept' => 'Accept & Dismiss Warning',
],
'merge' => [
'title' => 'Merge person',
'into' => 'into…',
Expand Down
2 changes: 2 additions & 0 deletions lang/de/all_settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,7 @@
'rating_album_view_mode' => 'Bewertung auf Foto-Vorschaubildern in der Albumansicht anzeigen',
'rating_show_avg_in_album_view' => 'Durchschnittsbewertung auf Foto-Vorschaubildern anzeigen',
'import_via_url_block_redirect' => 'Import via URL darf keinen Weiterleitungen folgen',
'ai_vision_face_recognition_warning' => 'Show face recognition legal warning',
'webshop_lycheeorg_disclaimer_enabled' => 'Haftungsausschluss von LycheeOrg aktivieren',
'webshop_auto_fulfill_enabled' => 'Automatische Auftragsabwicklung aktivieren',
'webshop_manual_fulfill_enabled' => 'Automatische Auftragsabwicklung bei manueller Bestätigung aktivieren',
Expand Down Expand Up @@ -691,6 +692,7 @@
'rating_album_view_mode' => 'Steuert die Sichtbarkeit der Bewertung auf Vorschaubildern: immer sichtbar, beim Darüberfahren mit der Maus oder nie.',
'rating_show_avg_in_album_view' => 'Zeigt die Durchschnittsbewertung auf Foto-Vorschaubildern in der Albenansicht anstelle der Nutzerbewertung an.',
'import_via_url_block_redirect' => '<span class="pi pi-exclamation-triangle text-orange-500"></span> Das Deaktivieren dieser Option setzt Ihren Localhost der Import-Funktion aus und kann zu Server-Side Request Forgery (SSRF) führen.',
'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.',
'webshop_lycheeorg_disclaimer_enabled' => 'Lychee wird unter der MIT-Lizenz ohne Gewährleistung bereitgestellt. Das Deaktivieren dieser Option entfernt diesen Hinweis von der Bestellseite.',
'webshop_auto_fulfill_enabled' => 'Sobald eine Zahlung abgeschlossen ist, werden die Inhalte dem Benutzer automatisch bereitgestellt, sofern möglich.',
'webshop_manual_fulfill_enabled' => 'Sobald „Als ausgeliefert markieren“ angeklickt wird, werden die Inhalte dem Benutzer automatisch bereitgestellt, sofern möglich.',
Expand Down
11 changes: 11 additions & 0 deletions lang/de/people.php
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,17 @@
'assigned_faces' => 'Assigned :count face(s)',
'dismissed_faces' => 'Dismissed :count face(s)',
'clustering_started' => 'Clustering started. Reload when complete.',

'face_recognition_warning' => [
'title' => 'Legal Notice — Facial Recognition',
'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.',
'example_title' => 'Example — the Netherlands:',
'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially <span class="text-muted-color-emphasis font-bold">carrying fines of up to €20 million or 4% of global annual turnover</span>.',
'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.',
'no_liability' => 'Lychee is developed under the <a href="https://lycheeorg.dev/license" class="text-primary-400 underline" target="_blank">MIT license</a>. <span class="text-muted-color-emphasis">The authors and contributors</span> of LycheeOrg <span class="text-muted-color-emphasis">accept no liability for unlawful use</span>.<br/>It is <span class="text-muted-color-emphasis">your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality</span> before operating this software.',
'acknowledge' => 'I have read and understood the above legal notice',
'accept' => 'Accept & Dismiss Warning',
],
'merge' => [
'title' => 'Merge person',
'into' => 'into…',
Expand Down
Loading
Loading