NEW #21395 : Added option for dark theme mode in display - color and theme

This commit is contained in:
Faustin 2022-06-27 16:08:06 +02:00
parent 35187e2e2f
commit d7d02fee9a
4 changed files with 50 additions and 10 deletions

View File

@ -104,6 +104,16 @@ if ($action == 'update') {
dolibarr_set_const($db, "MAIN_THEME", GETPOST("main_theme", 'aZ09'), 'chaine', 0, '', $conf->entity);
dolibarr_set_const($db, "MAIN_IHM_PARAMS_REV", getDolGlobalInt('MAIN_IHM_PARAMS_REV') + 1, 'chaine', 0, '', $conf->entity);
if (GETPOSTISSET('THEME_DARKMODEENABLED')) {
$val = GETPOST('THEME_DARKMODEENABLED');
if (!$val) {
dolibarr_del_const($db, "THEME_DARKMODEENABLED", $conf->entity);
}
if ($val) {
dolibarr_set_const($db, "THEME_DARKMODEENABLED", $val, 'chaine', 0, '', $conf->entity);
}
}
if (GETPOSTISSET('THEME_TOPMENU_DISABLE_IMAGE')) {
$val=GETPOST('THEME_TOPMENU_DISABLE_IMAGE');
if (!$val) {

View File

@ -455,6 +455,27 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false)
include DOL_DOCUMENT_ROOT.'/theme/'.$conf->theme.'/theme_vars.inc.php';
}
//Dark mode
if ($foruserprofile) {
//Nothing
} else {
$listofdarkmodes = array(
'0' => $langs->trans("AlwaysDisabled"),
'1' => $langs->trans("AccordingToBrowser"),
'2' => $langs->trans("AlwaysEnabled")
);
print '<tr class="oddeven">';
print '<td>'.$langs->trans("DarkThemeMode").'</td>';
print '<td colspan="'.($colspan - 1).'">';
if ($edit) {
print $form->selectarray('THEME_DARKMODEENABLED', $listofdarkmodes, isset($conf->global->THEME_DARKMODEENABLED) ? $conf->global->THEME_DARKMODEENABLED : 0);
} else {
print $listofdarkmodes[isset($conf->global->THEME_DARKMODEENABLED) ? $conf->global->THEME_DARKMODEENABLED : 0];
}
print '</tr>';
}
// TopMenuDisableImages
if ($foruserprofile) {
/*

View File

@ -897,7 +897,7 @@ Permission701=Read donations
Permission702=Create/modify donations
Permission703=Delete donations
Permission771=Read expense reports (yours and your subordinates)
Permission772=Create/modify expense reports (for you and your subordinates)
Permission772=Create/modify expense reports (for you and your subordinates)
Permission773=Delete expense reports
Permission775=Approve expense reports
Permission776=Pay expense reports
@ -2169,7 +2169,7 @@ EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax
PDF_SHOW_PROJECT=Show project on document
ShowProjectLabel=Project Label
PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME=Include alias in thirdparty name
THIRDPARTY_ALIAS=Name thirdparty - Alias thirdparty
THIRDPARTY_ALIAS=Name thirdparty - Alias thirdparty
ALIAS_THIRDPARTY=Alias thirdparty - Name thirdparty
PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF.
PDF_USE_A=Gererate PDF documents with format PDF/A instead of defaut format PDF
@ -2277,3 +2277,8 @@ INVOICE_ADD_ZATCA_QR_CODEMore=Some Arabic countries need this QR Code on their i
INVOICE_ADD_SWISS_QR_CODE=Show the swiss QR-Bill code on invoices
UrlSocialNetworksDesc=Url link of social network. Use {socialid} for the variable part that contains the social network ID.
IfThisCategoryIsChildOfAnother=If this category is a child of another one
DarkThemeMode=Dark theme mode
AlwaysDisabled=Always disabled
AccordingToBrowser=According to browser
AlwaysEnabled=Always Enabled

View File

@ -190,7 +190,7 @@ Compression=Compression
CommandsToDisableForeignKeysForImport=Commande pour désactiver les clés étrangères à l'importation
CommandsToDisableForeignKeysForImportWarning=Requis si vous voulez être en mesure de restaurer votre « dump » SQL plus tard
ExportCompatibility=Compatibilité du fichier d'exportation généré
ExportUseMySQLQuickParameter=Utiliser le paramètre --quick
ExportUseMySQLQuickParameter=Utiliser le paramètre --quick
ExportUseMySQLQuickParameterHelp=Le paramètre '--quick' aide à réduire la consommation de RAM pour les longues listes
MySqlExportParameters=Paramètres de l'exportation MySQL
PostgreSqlExportParameters= Paramètres de l'exportation PostgreSQL
@ -338,7 +338,7 @@ MenuHandlers=Gestionnaires de menu
MenuAdmin=Édition menu
DoNotUseInProduction=Ne pas utiliser en production
ThisIsProcessToFollow=Procédure de mise à jour:
ThisIsAlternativeProcessToFollow=Voici une procédure de configuration alternative
ThisIsAlternativeProcessToFollow=Voici une procédure de configuration alternative
StepNb=Étape %s
FindPackageFromWebSite=Rechercher le paquet qui répond à votre besoin (par exemple sur le site web %s).
DownloadPackageFromWebSite=Télécharger le package (par exemple depuis le site web officiel %s)
@ -1377,7 +1377,7 @@ NumberingModules=Modèles de numérotation
DocumentModules=Modèles de documents
##### Module password generation
PasswordGenerationStandard=Renvoie un mot de passe généré selon l'algorythme interne de Dolibarr :%s caractères contenant chiffres et minuscules
PasswordGenerationNone=Ne pas suggérer un mot de passe généré. Le mot de passe doit être entré manuellement.
PasswordGenerationNone=Ne pas suggérer un mot de passe généré. Le mot de passe doit être entré manuellement.
PasswordGenerationPerso=Renvoie un mot de passe en fonction d'une configuration personnalisée.
SetupPerso=Selon votre configuration
PasswordPatternDesc=Description du masque du mot de passe
@ -1455,7 +1455,7 @@ OrdersNumberingModules=Modèles de numérotation des commandes
OrdersModelModule=Modèles de document des commandes
FreeLegalTextOnOrders=Mention complémentaire sur les commandes
WatermarkOnDraftOrders=Filigrane sur les brouillons de commandes (aucun si vide)
ShippableOrderIconInList=Ajouter une icône dans la liste des commandes qui indique si la commande est expédiable.
ShippableOrderIconInList=Ajouter une icône dans la liste des commandes qui indique si la commande est expédiable.
BANK_ASK_PAYMENT_BANK_DURING_ORDER=Demander le compte bancaire cible durant la commande
##### Interventions #####
InterventionsSetup=Configuration du module Interventions
@ -1645,7 +1645,7 @@ TestNotPossibleWithCurrentBrowsers=Une détection automatique n'est pas possible
DefaultValuesDesc=Vous pouvez définir/forcer ici la valeur par défaut que vous voulez obtenir lorsque vous créez un nouvel enregistrement, et/ou les filtres par défaut ou ordre de tri des listes.
DefaultCreateForm=Valeurs par défaut (sur les formulaires de création)
DefaultSearchFilters=Filtres de recherche par défaut
DefaultSortOrder=Ordre de tri par défaut
DefaultSortOrder=Ordre de tri par défaut
DefaultFocus=Champs par défaut ayant le focus
DefaultMandatory=Champs de formulaire obligatoires
##### Products #####
@ -1864,7 +1864,7 @@ ChequeReceiptsNumberingModule=Module de numérotation des bordereaux de remises
MultiCompanySetup=Configuration du module Multi-société
##### Suppliers #####
SuppliersSetup=Configuration du module Fournisseurs
SuppliersCommandModel=Modèle de commande fournisseur complet
SuppliersCommandModel=Modèle de commande fournisseur complet
SuppliersCommandModelMuscadet=Modèle de commande fournisseur complet (ancienne implémentation du modèle Cornas)
SuppliersInvoiceModel=Modèle de facture fournisseur complet
SuppliersInvoiceNumberingModel=Modèles de numérotation des factures fournisseur
@ -1899,7 +1899,7 @@ NbMajMin=Nombre minimal de caractères majuscules
NbNumMin=Nombre minimal de caractères numériques
NbSpeMin=Nombre minimal de caractères spéciaux
NbIteConsecutive=Nombre maximal de répétition des mêmes caractères
NoAmbiCaracAutoGeneration=Ne pas utiliser des caractères ambigus ("1","l","i","|","0","O") pour la génération automatique
NoAmbiCaracAutoGeneration=Ne pas utiliser des caractères ambigus ("1","l","i","|","0","O") pour la génération automatique
SalariesSetup=Configuration du module salaires
SortOrder=Ordre de tri
Format=Format
@ -1920,7 +1920,7 @@ GoOntoContactCardToAddMore=Rendez-vous sur l'onglet "Notifications" d'un tiers p
Threshold=Seuil
BackupDumpWizard=Assistant pour créer le fichier dump de la base de données
BackupZipWizard=Assistant pour générer l'archive du répertoire documents
SomethingMakeInstallFromWebNotPossible=L'installation de module externe est impossible depuis l'interface web pour la raison suivante :
SomethingMakeInstallFromWebNotPossible=L'installation de module externe est impossible depuis l'interface web pour la raison suivante :
SomethingMakeInstallFromWebNotPossible2=Pour cette raison, le processus de mise à jour décrit ici est une processus manuel que seul un utilisateur ayant des droits privilégiés peut réaliser.
InstallModuleFromWebHasBeenDisabledByFile=L'installation de module externe depuis l'application a été désactivé par l'administrator. Vous devez lui demander de supprimer le fichier <strong>%s</strong> pour permettre cette fonctionnalité.
ConfFileMustContainCustom=Installer ou créer un module externe à partir de l'application nécessite de sauvegarder les fichiers du module dans le répertoire <strong>%s</strong>. Pour que ce répertoire soit reconnu par Dolibarr, vous devez paramétrer le fichier de configuration <strong>conf/conf.php</strong> en ajoutant les 2 lignes suivantes :<br><strong>$dolibarr_main_url_root_alt='/custom'</strong><br><strong>$dolibarr_main_document_root_alt='%s/custom';</strong>
@ -2263,3 +2263,7 @@ IconOnly=Icon only - Text on tooltip only
INVOICE_ADD_ZATCA_QR_CODE=Show the ZATCA QR code on invoices
INVOICE_ADD_ZATCA_QR_CODEMore=Some Arabic countries need this QR Code on their invoices
UrlSocialNetworksDesc=Url link of social network. Use {socialid} for the variable part that contains the social network ID.
DarkThemeMode=Mode thème sombre
AlwaysDisabled=Toujours désactivé
AccordingToBrowser=Selon le navigateur
AlwaysEnabled=Toujours activé