1.15.03 Messages de redirection
This commit is contained in:
parent
d00770967e
commit
0e42a15ae1
@ -51,7 +51,7 @@ class common
|
|||||||
const ACCESS_TIMER = 1800;
|
const ACCESS_TIMER = 1800;
|
||||||
|
|
||||||
// Numéro de version
|
// Numéro de version
|
||||||
const ZWII_VERSION = '1.15.02';
|
const ZWII_VERSION = '1.15.03';
|
||||||
|
|
||||||
// URL autoupdate
|
// URL autoupdate
|
||||||
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/campus-update/raw/branch/master/';
|
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/campus-update/raw/branch/master/';
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"'Ne pas afficher' crée une page orpheline non accessible par le biais des menus.": "'Do not display' creates an orphan page not accessible through menus.",
|
"'Ne pas afficher' crée une page orpheline non accessible par le biais des menus.": "'Do not display' creates an orphan page not accessible through menus.",
|
||||||
"'Sauvegarder et télécharger les données du module": "'Save and download module data",
|
"'Sauvegarder et télécharger les données du module": "'Save and download module data",
|
||||||
"1 jour": "1 jour",
|
"1 jour": "1 day",
|
||||||
"1/4 : Préparation...": "1/4: preparation ...",
|
"1/4 : Préparation...": "1/4: preparation ...",
|
||||||
"10 minutes": "10 minutes",
|
"10 minutes": "10 minutes",
|
||||||
"10 tentatives": "10 attempts",
|
"10 tentatives": "10 attempts",
|
||||||
@ -31,7 +31,7 @@
|
|||||||
"Adaptation": "Adaptation",
|
"Adaptation": "Adaptation",
|
||||||
"Administrateur": "Administrator",
|
"Administrateur": "Administrator",
|
||||||
"Administration": "Administration",
|
"Administration": "Administration",
|
||||||
"Adresse SMTP": "SMTP Address",
|
"Adresse SMTP": "SMTP address",
|
||||||
"Adresse du proxy": "Proxy address",
|
"Adresse du proxy": "Proxy address",
|
||||||
"Adresse électronique": "email address",
|
"Adresse électronique": "email address",
|
||||||
"Affectation": "Assignment",
|
"Affectation": "Assignment",
|
||||||
@ -60,10 +60,10 @@
|
|||||||
"Archive copiée dans le dossier Modules du gestionnaire de fichier": "Archive copied in the Modules folder",
|
"Archive copiée dans le dossier Modules du gestionnaire de fichier": "Archive copied in the Modules folder",
|
||||||
"Archive de thème invalide": "Invalid theme archive",
|
"Archive de thème invalide": "Invalid theme archive",
|
||||||
"Archive invalide": "Invalid archive",
|
"Archive invalide": "Invalid archive",
|
||||||
"Archive invalide, l'écriture dans le dossier core est interdite": "Invalid archive, writing in the core file is prohibited",
|
"Archive invalide, l'écriture dans le dossier core est interdite": "Invalid archive, writing in the core folder is prohibited",
|
||||||
"Archive invalide, le descripteur est absent": "Invalid archive, the descriptor is absent",
|
"Archive invalide, le descripteur est absent": "Invalid archive, the descriptor is absent",
|
||||||
"Archive invalide, le fichier de classe est absent": "Invalide archive, the class file is absent",
|
"Archive invalide, le fichier de classe est absent": "Invalid archive, the class file is absent",
|
||||||
"Archive invalide, les dossiers ne correspondent pas au descripteur": "Invalid archive, the files do not correspond to the descriptor",
|
"Archive invalide, les dossiers ne correspondent pas au descripteur": "Invalid archive, the files do not match the descriptor",
|
||||||
"Archive non spécifiée ou introuvable": "Archive not specified or not found",
|
"Archive non spécifiée ou introuvable": "Archive not specified or not found",
|
||||||
"Archive à restaurer": "Archive to restore",
|
"Archive à restaurer": "Archive to restore",
|
||||||
"Arrière plan": "Background",
|
"Arrière plan": "Background",
|
||||||
@ -86,7 +86,7 @@
|
|||||||
"Aucune liste noire à télécharger": "No blacklist to download",
|
"Aucune liste noire à télécharger": "No blacklist to download",
|
||||||
"Auteur :": "Author:",
|
"Auteur :": "Author:",
|
||||||
"Authentification": "Authentication",
|
"Authentification": "Authentication",
|
||||||
"Automatique": "Automatique",
|
"Automatique": "Automatic",
|
||||||
"Autoriser les robots à référencer le site": "Allow robots to reference the site",
|
"Autoriser les robots à référencer le site": "Allow robots to reference the site",
|
||||||
"Autorisé": "Allowed",
|
"Autorisé": "Allowed",
|
||||||
"Avant la bannière": "Before the banner",
|
"Avant la bannière": "Before the banner",
|
||||||
@ -104,9 +104,9 @@
|
|||||||
"Barre latérale": "Sidebar",
|
"Barre latérale": "Sidebar",
|
||||||
"Barre latérale droite :": "Right sidebar:",
|
"Barre latérale droite :": "Right sidebar:",
|
||||||
"Barre latérale gauche :": "Left sidebar:",
|
"Barre latérale gauche :": "Left sidebar:",
|
||||||
"Barres latérales": "Side bars",
|
"Barres latérales": "Sidebars",
|
||||||
"Bienvenue %s %s": "Welcome %s %s",
|
"Bienvenue %s %s": "Welcome %s %s",
|
||||||
"Blocage après échecs": "Blocking after chess",
|
"Blocage après échecs": "Blocking after failure",
|
||||||
"Blog": "Blog",
|
"Blog": "Blog",
|
||||||
"Bords arrondis": "Rounded edges",
|
"Bords arrondis": "Rounded edges",
|
||||||
"Bordure des blocs": "Blocks border",
|
"Bordure des blocs": "Blocks border",
|
||||||
@ -122,16 +122,16 @@
|
|||||||
"Caché": "Hidden",
|
"Caché": "Hidden",
|
||||||
"Cachée": "Hidden",
|
"Cachée": "Hidden",
|
||||||
"Captcha complexe": "Complex captcha",
|
"Captcha complexe": "Complex captcha",
|
||||||
"Captcha à la connexion": "Captcha at connecting",
|
"Captcha à la connexion": "Captcha",
|
||||||
"Captcha, identifiant ou mot de passe incorrects": "Incorrect captcha, login or password",
|
"Captcha, identifiant ou mot de passe incorrects": "Incorrect captcha, login or password",
|
||||||
"Capture d'écran Open Graph": "Open Graph screenshot",
|
"Capture d'écran Open Graph": "Open Graph screenshot",
|
||||||
"Capture d'écran générée avec succès": "Successful generated screenshot",
|
"Capture d'écran générée avec succès": "Successful generated screenshot",
|
||||||
"Casse": "Case",
|
"Casse": "Case",
|
||||||
"Catalogue": "Store",
|
"Catalogue": "Store",
|
||||||
"Catégorie": "Category",
|
"Catégorie": "Category",
|
||||||
"Ce membre pourra téléverser ou télécharger des fichiers dans le dossier 'partage' et ses sous-dossiers": "This member upload or download files in the 'Sharing' folder and its subfolders",
|
"Ce membre pourra téléverser ou télécharger des fichiers dans le dossier 'partage' et ses sous-dossiers": "This member can upload or download files in the 'Sharing' folder and its subfolders",
|
||||||
"Cette page ne doit pas apparaître dans l'arborescence du menu. Créez une page orpheline.": "This page should not appear in the menu tree. Create an orphan page.",
|
"Cette page ne doit pas apparaître dans l'arborescence du menu. Créez une page orpheline.": "This page should not appear in the menu tree. Create an orphan page.",
|
||||||
"Cette redirection ne concerne que les pages d'administration du site.": "This redirection only concerns the administration pages of the site.",
|
"Cette redirection ne concerne que les pages d'administration du site.": "This redirection only concerns the site administration pages.",
|
||||||
"Chaîne Youtube": "Youtube channel",
|
"Chaîne Youtube": "Youtube channel",
|
||||||
"Chiffres": "Numbers",
|
"Chiffres": "Numbers",
|
||||||
"Cible": "Target",
|
"Cible": "Target",
|
||||||
@ -158,8 +158,8 @@
|
|||||||
"Consulter l'aide en ligne": "Online help",
|
"Consulter l'aide en ligne": "Online help",
|
||||||
"Contents": "Contents",
|
"Contents": "Contents",
|
||||||
"Contenu": "Contents",
|
"Contenu": "Contents",
|
||||||
"Contenu HTML": "HTML contents",
|
"Contenu HTML": "HTML content",
|
||||||
"Contenu avancé": "Advanced contents",
|
"Contenu avancé": "Advanced content",
|
||||||
"Contenu du menu vertical": "Vertical menu content",
|
"Contenu du menu vertical": "Vertical menu content",
|
||||||
"Contrôle total": "Full control",
|
"Contrôle total": "Full control",
|
||||||
"Cookies": "Cookies",
|
"Cookies": "Cookies",
|
||||||
@ -174,7 +174,7 @@
|
|||||||
"Couleur de fond automatique": "Automatic background color",
|
"Couleur de fond automatique": "Automatic background color",
|
||||||
"Couleur icône haut de page": "Color of top page icon",
|
"Couleur icône haut de page": "Color of top page icon",
|
||||||
"Couleur texte page active": "Active page text color",
|
"Couleur texte page active": "Active page text color",
|
||||||
"Couleur unie ou papier-peint": "United color or wallpaper",
|
"Couleur unie ou papier-peint": "Plain color or wallpaper",
|
||||||
"Couleur visible en l'absence d'une image.<br />Le curseur horizontal règle le niveau de transparence.": "Visible color in the absence of an image. <br /> The horizontal cursor regulates the level of transparency.",
|
"Couleur visible en l'absence d'une image.<br />Le curseur horizontal règle le niveau de transparence.": "Visible color in the absence of an image. <br /> The horizontal cursor regulates the level of transparency.",
|
||||||
"Couleur visible en l'absence d'une image.<br />Le curseur horizontal règle le niveau de transparence. La couleur du texte est automatique.": "Visible color in the absence of an image. <br /> The horizontal cursor regulates the level of transparency. The color of the text is automatic.",
|
"Couleur visible en l'absence d'une image.<br />Le curseur horizontal règle le niveau de transparence. La couleur du texte est automatique.": "Visible color in the absence of an image. <br /> The horizontal cursor regulates the level of transparency. The color of the text is automatic.",
|
||||||
"Couleurs": "Colors",
|
"Couleurs": "Colors",
|
||||||
@ -190,8 +190,8 @@
|
|||||||
"Dossier": "Folder",
|
"Dossier": "Folder",
|
||||||
"Droits sur les dossiers": "Folder authorizations",
|
"Droits sur les dossiers": "Folder authorizations",
|
||||||
"Droits sur les fichiers": "File authorizations",
|
"Droits sur les fichiers": "File authorizations",
|
||||||
"Dupliquer": "Duplicate",
|
"Dupliquer": "Clone",
|
||||||
"Dupliquer la page": "Duplicate the page",
|
"Dupliquer la page": "Clone page",
|
||||||
"Déconnecte les sessions ouvertes précédemment sur d'autres navigateurs ou terminaux. Activation recommandée.": "Disconnects the previously opened sessions on other browsers or terminals. Recommended activation.",
|
"Déconnecte les sessions ouvertes précédemment sur d'autres navigateurs ou terminaux. Activation recommandée.": "Disconnects the previously opened sessions on other browsers or terminals. Recommended activation.",
|
||||||
"Déconnecter": "Disconnect",
|
"Déconnecter": "Disconnect",
|
||||||
"Déconnexion !": "Logout!",
|
"Déconnexion !": "Logout!",
|
||||||
@ -199,7 +199,7 @@
|
|||||||
"Définir par défaut": "Set as default",
|
"Définir par défaut": "Set as default",
|
||||||
"Dévoiler le mot de passe": "Reveal the password",
|
"Dévoiler le mot de passe": "Reveal the password",
|
||||||
"Effacer": "Delete",
|
"Effacer": "Delete",
|
||||||
"Effacer la page": "Delete the page",
|
"Effacer la page": "Delete page",
|
||||||
"Effacer tous les commentaires": "Delete all Comments",
|
"Effacer tous les commentaires": "Delete all Comments",
|
||||||
"Effacer toutes les statistiques": "Delete all statistics",
|
"Effacer toutes les statistiques": "Delete all statistics",
|
||||||
"Effacer un commentaire": "Delete Comment",
|
"Effacer un commentaire": "Delete Comment",
|
||||||
@ -212,9 +212,9 @@
|
|||||||
"En cas de changement de module, les données du module précédent seront supprimées.": "In the event of a module change, data from the previous module will be deleted.",
|
"En cas de changement de module, les données du module précédent seront supprimées.": "In the event of a module change, data from the previous module will be deleted.",
|
||||||
"En dessous du site": "Below the site",
|
"En dessous du site": "Below the site",
|
||||||
"En haut au centre": "Top in the center",
|
"En haut au centre": "Top in the center",
|
||||||
"En haut à droite": "Top right",
|
"En haut à droite": "Top right corner",
|
||||||
"En haut à gauche": "On the top corner left",
|
"En haut à gauche": "Top left corner",
|
||||||
"En position libre ajoutez le module en plaçant [MODULE] à l'endroit voulu dans votre page.": "In free position add the module by placing [module] to the desired location in your page.",
|
"En position libre ajoutez le module en plaçant [MODULE] à l'endroit voulu dans votre page.": "In free position add the module by placing [MODULE] to the desired location in your page.",
|
||||||
"En-dehors du site": "Outside the site",
|
"En-dehors du site": "Outside the site",
|
||||||
"Enregistrer": "Save",
|
"Enregistrer": "Save",
|
||||||
"Envoyer un message de confirmation": "Send a confirmation message",
|
"Envoyer un message de confirmation": "Send a confirmation message",
|
||||||
@ -226,7 +226,7 @@
|
|||||||
"Erreur de lecture, vérifiez les permissions": "Reading error, check permissions",
|
"Erreur de lecture, vérifiez les permissions": "Reading error, check permissions",
|
||||||
"Erreur inconnue": "unknown error",
|
"Erreur inconnue": "unknown error",
|
||||||
"Erreur inconnue, le module n'est pas installé": "Unknown error, the module is not installed",
|
"Erreur inconnue, le module n'est pas installé": "Unknown error, the module is not installed",
|
||||||
"Export CSV": "Export CSV",
|
"Export CSV": "CSV Export",
|
||||||
"Expéditeur": "From",
|
"Expéditeur": "From",
|
||||||
"Extension": "Extension",
|
"Extension": "Extension",
|
||||||
"Extraire": "Extract",
|
"Extraire": "Extract",
|
||||||
@ -260,7 +260,7 @@
|
|||||||
"Grande": "Large",
|
"Grande": "Large",
|
||||||
"Grande (220%)": "Grande (220%)",
|
"Grande (220%)": "Grande (220%)",
|
||||||
"Grande (300px)": "Grande (300px)",
|
"Grande (300px)": "Grande (300px)",
|
||||||
"Gras": "Fetter",
|
"Gras": "Bold",
|
||||||
"Groupe": "Group",
|
"Groupe": "Group",
|
||||||
"Groupe associé": "Associated Group",
|
"Groupe associé": "Associated Group",
|
||||||
"Groupe requis pour accéder à la page :": "Group required to access the page:",
|
"Groupe requis pour accéder à la page :": "Group required to access the page:",
|
||||||
@ -318,7 +318,7 @@
|
|||||||
"Journalisation": "Journalization",
|
"Journalisation": "Journalization",
|
||||||
"L'archive a été déposée dans le gestionnaire de fichiers. Les archives inférieures à la version 9 ne sont pas acceptées.": "The archive was deposited in the file manager. Archives below version 9 are not accepted.",
|
"L'archive a été déposée dans le gestionnaire de fichiers. Les archives inférieures à la version 9 ne sont pas acceptées.": "The archive was deposited in the file manager. Archives below version 9 are not accepted.",
|
||||||
"L'identifiant est défini lors de la création du compte, il ne peut pas être modifié.": "The identifier is defined when creating the account, it cannot be changed.",
|
"L'identifiant est défini lors de la création du compte, il ne peut pas être modifié.": "The identifier is defined when creating the account, it cannot be changed.",
|
||||||
"La carte du site a été mise à jour": "The site card has been updated",
|
"La carte du site a été mise à jour": "The sitemap has been updated",
|
||||||
"La copie de sauvegarde du fichier htaccess n'a pas été restaurée !": "Backup copy of htaccess file has not been restored!",
|
"La copie de sauvegarde du fichier htaccess n'a pas été restaurée !": "Backup copy of htaccess file has not been restored!",
|
||||||
"La description d'une page participe à son référencement, chaque page doit disposer d'une description différente.": "The description of a page participates in its referencing, each page must have a different description.",
|
"La description d'une page participe à son référencement, chaque page doit disposer d'une description différente.": "The description of a page participates in its referencing, each page must have a different description.",
|
||||||
"La page %s est ouverte par l'utilisateur %s": "Page %s opened by user %s",
|
"La page %s est ouverte par l'utilisateur %s": "Page %s opened by user %s",
|
||||||
@ -340,8 +340,8 @@
|
|||||||
"Largeur": "Width",
|
"Largeur": "Width",
|
||||||
"Largeur de l'image": "Image Width",
|
"Largeur de l'image": "Image Width",
|
||||||
"Largeur du site": "Site Width",
|
"Largeur du site": "Site Width",
|
||||||
"Le curseur horizontal règle le niveau de transparence, le placer tout à la gauche pour un surlignement invisible.": "The horizontal cursor regulates the level of transparency, place it on the left for invisible highlights.",
|
"Le curseur horizontal règle le niveau de transparence, le placer tout à la gauche pour un surlignement invisible.": "The horizontal cursor sets the level of transparency, place it on the left for invisible highlights.",
|
||||||
"Le curseur horizontal règle le niveau de transparence.": "The horizontal cursor regulates the level of transparency.",
|
"Le curseur horizontal règle le niveau de transparence.": "The horizontal cursor sets the level of transparency.",
|
||||||
"Le fuseau horaire est utile au bon référencement": "The time zone is useful for the right SEO",
|
"Le fuseau horaire est utile au bon référencement": "The time zone is useful for the right SEO",
|
||||||
"Le menu accessoire est aligné à droite de la barre de menu, c'est un emplacement réservé aux drapeaux et au bouton de connexion.": "The accessory menu is aligned to the right of the menu bar, it is a place reserved for flags and the login button.",
|
"Le menu accessoire est aligné à droite de la barre de menu, c'est un emplacement réservé aux drapeaux et au bouton de connexion.": "The accessory menu is aligned to the right of the menu bar, it is a place reserved for flags and the login button.",
|
||||||
"Le menu horizontal intégral": "The full horizontal menu",
|
"Le menu horizontal intégral": "The full horizontal menu",
|
||||||
@ -349,7 +349,7 @@
|
|||||||
"Le module %s de la page %s a été supprimé": "The %s module of the %s has been deleted",
|
"Le module %s de la page %s a été supprimé": "The %s module of the %s has been deleted",
|
||||||
"Le module %s est désinstallé, il reste peut-être des données dans %s": "The module %s is uninstalled, there may be data in %s",
|
"Le module %s est désinstallé, il reste peut-être des données dans %s": "The module %s is uninstalled, there may be data in %s",
|
||||||
"Le sous-menu de la page parente": "The parent page submenu",
|
"Le sous-menu de la page parente": "The parent page submenu",
|
||||||
"Le survol d'une icône de l'écran de connexion affiche temporairement le mot de passe.": "Flyover of an icon on the connection screen temporarily displays the password.",
|
"Le survol d'une icône de l'écran de connexion affiche temporairement le mot de passe.": "Hovering over a login screen icon temporarily displays the password",
|
||||||
"Le titre court est affiché dans les menus. Il peut être identique au titre de la page.": "The short title is displayed in the menus. It can be identical to the page title.",
|
"Le titre court est affiché dans les menus. Il peut être identique au titre de la page.": "The short title is displayed in the menus. It can be identical to the page title.",
|
||||||
"Les langues sélectionnées sont identiques": "The selected languages are identical",
|
"Les langues sélectionnées sont identiques": "The selected languages are identical",
|
||||||
"Les mentions légales sont obligatoires en France. Une option du pied de page ajoute un lien discret vers cette page.": "Legal notices are compulsory in France. An option of the footer adds a discrete link to this page.",
|
"Les mentions légales sont obligatoires en France. Une option du pied de page ajoute un lien discret vers cette page.": "Legal notices are compulsory in France. An option of the footer adds a discrete link to this page.",
|
||||||
@ -359,7 +359,7 @@
|
|||||||
"Libre": "Libre",
|
"Libre": "Libre",
|
||||||
"Licence :": "Licence:",
|
"Licence :": "Licence:",
|
||||||
"Lien de connexion": "Login link",
|
"Lien de connexion": "Login link",
|
||||||
"Lien page des mentions légales.": "Link of legal notices.",
|
"Lien page des mentions légales.": "Link to legal notices.",
|
||||||
"Liens": "Links",
|
"Liens": "Links",
|
||||||
"Limitation des tentatives": "Limitation of attempts",
|
"Limitation des tentatives": "Limitation of attempts",
|
||||||
"Limitée au site": "Limited to the site",
|
"Limitée au site": "Limited to the site",
|
||||||
@ -371,7 +371,7 @@
|
|||||||
"Légère": "Light",
|
"Légère": "Light",
|
||||||
"Maigre": "Lean",
|
"Maigre": "Lean",
|
||||||
"Maintenance": "Maintenance",
|
"Maintenance": "Maintenance",
|
||||||
"Majuscule à chaque mot": "Capper with each word",
|
"Majuscule à chaque mot": "Capitalize each word",
|
||||||
"Majuscules": "Capital letters",
|
"Majuscules": "Capital letters",
|
||||||
"Marges verticales": "Vertical margins",
|
"Marges verticales": "Vertical margins",
|
||||||
"Masquer la bannière en écran réduit": "Hide the banner in reduced screen",
|
"Masquer la bannière en écran réduit": "Hide the banner in reduced screen",
|
||||||
@ -405,20 +405,20 @@
|
|||||||
"Modules installés": "Installed modules",
|
"Modules installés": "Installed modules",
|
||||||
"Modules orphelins": "Orphaned modules",
|
"Modules orphelins": "Orphaned modules",
|
||||||
"Mot de passe": "Password",
|
"Mot de passe": "Password",
|
||||||
"Mot de passe oublié": "Forgot your password",
|
"Mot de passe oublié": "Forgot password",
|
||||||
"Mot de passe perdu": "Lost password",
|
"Mot de passe perdu": "Lost password",
|
||||||
"Motorisé par": "Powered by",
|
"Motorisé par": "Powered by",
|
||||||
"Moyen": "Medium",
|
"Moyen": "Medium",
|
||||||
"Moyenne": "Medium",
|
"Moyenne": "Medium",
|
||||||
"Moyenne (200%)": "Average (200%)",
|
"Moyenne (200%)": "Medium (200%)",
|
||||||
"Moyenne (200px)": "Average (200px)",
|
"Moyenne (200px)": "Medium (200px)",
|
||||||
"Méta-description": "Meta-description",
|
"Méta-description": "Meta-description",
|
||||||
"Méta-titre": "Meta title",
|
"Méta-titre": "Meta title",
|
||||||
"Ne pas afficher": "Do not display",
|
"Ne pas afficher": "Do not display",
|
||||||
"Ne pas charger l'exemple de site (utilisateurs avancés)": "Do not load the example of a site (advanced users)",
|
"Ne pas charger l'exemple de site (utilisateurs avancés)": "Do not load the example of a site (advanced users)",
|
||||||
"Ne pas répéter": "Do not repeat",
|
"Ne pas répéter": "Do not repeat",
|
||||||
"Ne pas saisir les balises": "Don't type tags",
|
"Ne pas saisir les balises": "Don't type tags",
|
||||||
"News": "",
|
"News": "News",
|
||||||
"Niveau 1 (192.168.12.x)": "Level 1 (192.168.12.x)",
|
"Niveau 1 (192.168.12.x)": "Level 1 (192.168.12.x)",
|
||||||
"Niveau 2 (192.168.x.x)": "Level 2 (192.168.x.x)",
|
"Niveau 2 (192.168.x.x)": "Level 2 (192.168.x.x)",
|
||||||
"Niveau 3 (192.x.x.x)": "Level 3 (192.x.x.x)",
|
"Niveau 3 (192.x.x.x)": "Level 3 (192.x.x.x)",
|
||||||
@ -427,18 +427,18 @@
|
|||||||
"Nom du profil": "Profile Name",
|
"Nom du profil": "Profile Name",
|
||||||
"Nom utilisateur": "Username",
|
"Nom utilisateur": "Username",
|
||||||
"Non": "No",
|
"Non": "No",
|
||||||
"Non tronquée": "Unmanned",
|
"Non tronquée": "Untruncated",
|
||||||
"Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.": "Our site is currently under maintenance. We are sorry for the inconvenience caused and do our best to be quickly back.",
|
"Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.": "Our site is currently under maintenance. Sorry for the inconvenience and we do our best to be back soon.",
|
||||||
"Nouveau contenu localisé": "New localized content",
|
"Nouveau contenu localisé": "New localized content",
|
||||||
"Nouveau mot de passe": "New Password",
|
"Nouveau mot de passe": "New Password",
|
||||||
"Nouveau mot de passe enregistré": "New password recorded",
|
"Nouveau mot de passe enregistré": "New password recorded",
|
||||||
"Nouvel utilisateur": "New user",
|
"Nouvel utilisateur": "New user",
|
||||||
"Nouvelle page créée": "New page created",
|
"Nouvelle page créée": "New page created",
|
||||||
"Nouvelle page ou barre latérale": "New page or sidebar",
|
"Nouvelle page ou barre latérale": "New page or sidebar",
|
||||||
"Obligatoire": "Missing",
|
"Obligatoire": "Required",
|
||||||
"Ombre": "Shadow",
|
"Ombre": "Shadow",
|
||||||
"Option active en mode déconnecté uniquement, les pages enfants sont visibles et accessibles.": "Active option in disconnected mode only, children's pages are visible and accessible.",
|
"Option active en mode déconnecté uniquement, les pages enfants sont visibles et accessibles.": "Active option in disconnected mode only, children's pages are visible and accessible.",
|
||||||
"Option recommandée pour sécuriser la connexion. S'applique à tous les captchas du site. Le captcha simple se limite à une addition de nombres de 0 à 10. Le captcha complexe utilise quatre opérations de nombres de 0 à 20. Activation recommandée.": "Recommended option to secure the connection. Applies to all the Captchas of the site. Simple Captcha is limited to an addition of numbers from 0 to 10. Complex Captcha uses four numbers of 0 to 20. Recommended activation.",
|
"Option recommandée pour sécuriser la connexion. S'applique à tous les captchas du site. Le captcha simple se limite à une addition de nombres de 0 à 10. Le captcha complexe utilise quatre opérations de nombres de 0 à 20. Activation recommandée.": "Recommended option to secure the connection. Applies to all the Captchas of the site. Simple Captcha is limited to an addition of numbers from 0 to 10. Complex Captcha uses four numbers from 0 to 20. Recommended activation.",
|
||||||
"Options": "Options",
|
"Options": "Options",
|
||||||
"Options avancées": "Advanced options",
|
"Options avancées": "Advanced options",
|
||||||
"Origine": "Origin",
|
"Origine": "Origin",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
"Page de recherche": "Search page",
|
"Page de recherche": "Search page",
|
||||||
"Page dupliquée": "Duplicate page",
|
"Page dupliquée": "Duplicate page",
|
||||||
"Page et module dupliqués": "Duplicated page and module",
|
"Page et module dupliqués": "Duplicated page and module",
|
||||||
"Page inexistante, erreur 404": "Page non-existent, error 404",
|
"Page inexistante, erreur 404": "Non-existent page, error 404",
|
||||||
"Page non cliquable": "Non-clickable page",
|
"Page non cliquable": "Non-clickable page",
|
||||||
"Page parent": "Parent page",
|
"Page parent": "Parent page",
|
||||||
"Page standard": "Standard page",
|
"Page standard": "Standard page",
|
||||||
@ -476,7 +476,7 @@
|
|||||||
"Permissions sur les pages": "Page Permissions",
|
"Permissions sur les pages": "Page Permissions",
|
||||||
"Petite": "Small",
|
"Petite": "Small",
|
||||||
"Petite (150px)": "Small (150px)",
|
"Petite (150px)": "Small (150px)",
|
||||||
"Petite (180%)": "Petite (180%)",
|
"Petite (180%)": "Small (180%)",
|
||||||
"Pied de page": "Footer",
|
"Pied de page": "Footer",
|
||||||
"Pinterest": "Pinterest",
|
"Pinterest": "Pinterest",
|
||||||
"Plan du site": "Sitemap",
|
"Plan du site": "Sitemap",
|
||||||
@ -490,9 +490,9 @@
|
|||||||
"Presse Papier": "Clipboard",
|
"Presse Papier": "Clipboard",
|
||||||
"Presse papier": "Clipboard",
|
"Presse papier": "Clipboard",
|
||||||
"Profils des groupes": "Group Profiles",
|
"Profils des groupes": "Group Profiles",
|
||||||
"Proportionnelle à la taille définie dans le site.": "Proportional to that defined in the site.",
|
"Proportionnelle à la taille définie dans le site.": "Proportional to the size defined in the site.",
|
||||||
"Prénom": "First name",
|
"Prénom": "First name",
|
||||||
"Prénom Nom": "Firstname name",
|
"Prénom Nom": "First name Name",
|
||||||
"Préparation de la mise à jour": "Preparation of the update",
|
"Préparation de la mise à jour": "Preparation of the update",
|
||||||
"Préserver le fichier htaccess racine": "Preserve the root htaccess file",
|
"Préserver le fichier htaccess racine": "Preserve the root htaccess file",
|
||||||
"Préserver les comptes des utilisateurs déjà installés": "Preserve user accounts already installed",
|
"Préserver les comptes des utilisateurs déjà installés": "Preserve user accounts already installed",
|
||||||
@ -579,7 +579,7 @@
|
|||||||
"Sur les deux axes": "On both axes",
|
"Sur les deux axes": "On both axes",
|
||||||
"Sécurité": "Security",
|
"Sécurité": "Security",
|
||||||
"Sécurité de la connexion": "Connection security",
|
"Sécurité de la connexion": "Connection security",
|
||||||
"Sécurité désactivée": "Safety deactivated",
|
"Sécurité désactivée": "Security disabled",
|
||||||
"Sélectionner un fichier": "Select a file",
|
"Sélectionner un fichier": "Select a file",
|
||||||
"Sélectionnez au moins un contenu à afficher": "Select at least one content to display",
|
"Sélectionnez au moins un contenu à afficher": "Select at least one content to display",
|
||||||
"Sélectionnez la langue à copier vers une langue cible": "Select the language to copy to a target language",
|
"Sélectionnez la langue à copier vers une langue cible": "Select the language to copy to a target language",
|
||||||
@ -689,5 +689,18 @@
|
|||||||
"Groupes / Profils": "Groups / Profiles",
|
"Groupes / Profils": "Groups / Profiles",
|
||||||
"Prénom commence par": "First Name starts with",
|
"Prénom commence par": "First Name starts with",
|
||||||
"Nom commence par": "Last Name starts with",
|
"Nom commence par": "Last Name starts with",
|
||||||
"Impossible de réinitialiser le mot de passe de ce compte !": "Impossible to reset this account password!"
|
"Impossible de réinitialiser le mot de passe de ce compte !": "Impossible to reset this account password!",
|
||||||
|
"Test de la messagerie du site": "Site messaging test",
|
||||||
|
"Il semblerait que votre messagerie fonctionne correctement !": "It seems that your messaging is working correctly!",
|
||||||
|
"Message de test envoyé avec succès": "Test message sent successfully",
|
||||||
|
"Message non envoyé": "Message not sent",
|
||||||
|
"Validation par clé ⚠️": "Key-based validation ⚠️",
|
||||||
|
"La connexion est confirmée à l'aide d'une clé transmise par messagerie. Depuis le groupe sélectionné et les groupes supérieurs.": "The connection is confirmed using a key sent via messaging. From the selected group and the higher groups.",
|
||||||
|
"Envoi du message d'authentification": "Sending authentication message",
|
||||||
|
"Connexion réussie": "Login successful",
|
||||||
|
"Erreur de mot de passe": "Password error",
|
||||||
|
"Erreur de captcha": "Captcha error",
|
||||||
|
"Clé envoyée par message": "Key sent via message",
|
||||||
|
"Message de test": "Test message",
|
||||||
|
"Clé d'authentification envoyée à votre adresse mail %s": "Authentication key sent to your email address %s"
|
||||||
}
|
}
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"'Ne pas afficher' crée une page orpheline non accessible par le biais des menus.": "'No mostrar' crea una página huérfana a la que no se puede acceder a través de los menús.",
|
"'Ne pas afficher' crée une page orpheline non accessible par le biais des menus.": "'No mostrar' crea una página huérfana a la que no se puede acceder a través de los menús.",
|
||||||
"'Sauvegarder et télécharger les données du module": "Guardar y descargar de los datos del módulo",
|
"'Sauvegarder et télécharger les données du module": "Guardar y descargar de los datos del módulo",
|
||||||
"1 jour": "1 Jour",
|
"1 jour": "1 diaz",
|
||||||
"1/4 : Préparation...": "1/4: Preparando...",
|
"1/4 : Préparation...": "1/4: Preparando...",
|
||||||
"10 minutes": "10 minutos",
|
"10 minutes": "10 minutos",
|
||||||
"10 tentatives": "6 intentos",
|
"10 tentatives": "6 intentos",
|
||||||
@ -322,7 +322,7 @@
|
|||||||
"La copie de sauvegarde du fichier htaccess n'a pas été restaurée !": "¡La copia de seguridad del archivo htaccess no ha sido restaurada!",
|
"La copie de sauvegarde du fichier htaccess n'a pas été restaurée !": "¡La copia de seguridad del archivo htaccess no ha sido restaurada!",
|
||||||
"La description d'une page participe à son référencement, chaque page doit disposer d'une description différente.": "La descripción de una página participa en su referenciación, cada página debe tener una descripción diferente.",
|
"La description d'une page participe à son référencement, chaque page doit disposer d'une description différente.": "La descripción de una página participa en su referenciación, cada página debe tener una descripción diferente.",
|
||||||
"La page %s est ouverte par l'utilisateur %s": "La página %s ha sido abierta por el usuario %s",
|
"La page %s est ouverte par l'utilisateur %s": "La página %s ha sido abierta por el usuario %s",
|
||||||
"La page demandée n'existe pas ou est introuvable (erreur 404)": "La page demandée n'existe pas ou est introuvable (erreur 404)",
|
"La page demandée n'existe pas ou est introuvable (erreur 404)": "La página solicitada no existe o no se encuentra (error 404).",
|
||||||
"La page est affichée dans un menu horizontal mais pas dans le menu vertical d'une barre latérale.": "La página se muestra en un menú horizontal pero no en el menú vertical de una barra lateral.",
|
"La page est affichée dans un menu horizontal mais pas dans le menu vertical d'une barre latérale.": "La página se muestra en un menú horizontal pero no en el menú vertical de una barra lateral.",
|
||||||
"La première page que vos visiteurs verront.": "La primera página que verán tus visitantes.",
|
"La première page que vos visiteurs verront.": "La primera página que verán tus visitantes.",
|
||||||
"La règlementation française impose un anonymat de niveau 2": "La normativa francesa impone el anonimato de nivel 2",
|
"La règlementation française impose un anonymat de niveau 2": "La normativa francesa impone el anonimato de nivel 2",
|
||||||
@ -476,7 +476,7 @@
|
|||||||
"Permissions sur les pages": "Permisos de las páginas",
|
"Permissions sur les pages": "Permisos de las páginas",
|
||||||
"Petite": "Pequeño",
|
"Petite": "Pequeño",
|
||||||
"Petite (150px)": "Pequeño (150px)",
|
"Petite (150px)": "Pequeño (150px)",
|
||||||
"Petite (180%)": "Petite (180%)",
|
"Petite (180%)": "Pequeño (180px)",
|
||||||
"Pied de page": "Pie de página",
|
"Pied de page": "Pie de página",
|
||||||
"Pinterest": "Pinterest",
|
"Pinterest": "Pinterest",
|
||||||
"Plan du site": "Mapa del sitio",
|
"Plan du site": "Mapa del sitio",
|
||||||
@ -689,5 +689,18 @@
|
|||||||
"Groupes / Profils": "Grupos / Perfiles",
|
"Groupes / Profils": "Grupos / Perfiles",
|
||||||
"Prénom commence par": "El nombre comienza con",
|
"Prénom commence par": "El nombre comienza con",
|
||||||
"Nom commence par": "El apellido comienza con",
|
"Nom commence par": "El apellido comienza con",
|
||||||
"Impossible de réinitialiser le mot de passe de ce compte !": "No puedo restablecer la contraseña de esta cuenta."
|
"Impossible de réinitialiser le mot de passe de ce compte !": "No puedo restablecer la contraseña de esta cuenta.",
|
||||||
|
"Test de la messagerie du site": "Prueba de mensajería del sitio",
|
||||||
|
"Il semblerait que votre messagerie fonctionne correctement !": "¡Parece que su mensajería funciona correctamente!",
|
||||||
|
"Message de test envoyé avec succès": "Mensaje de prueba enviado con éxito",
|
||||||
|
"Message non envoyé": "Mensaje no enviado",
|
||||||
|
"Validation par clé ⚠️": "Validación por clave ⚠️",
|
||||||
|
"La connexion est confirmée à l'aide d'une clé transmise par messagerie. Depuis le groupe sélectionné et les groupes supérieurs.": "La conexión se confirma con una clave enviada por mensajería. Desde el grupo seleccionado y los grupos superiores.",
|
||||||
|
"Envoi du message d'authentification": "Envío del mensaje de autenticación",
|
||||||
|
"Connexion réussie": "Conexión exitosa",
|
||||||
|
"Erreur de mot de passe": "Error de contraseña",
|
||||||
|
"Erreur de captcha": "Error de captcha",
|
||||||
|
"Clé envoyée par message": "Clave enviada por mensaje",
|
||||||
|
"Message de test": "Mensaje de prueba",
|
||||||
|
"Clé d'authentification envoyée à votre adresse mail %s": "Clave de autenticación enviada a su dirección de correo electrónico %s"
|
||||||
}
|
}
|
@ -689,5 +689,18 @@
|
|||||||
"Groupes / Profils": "",
|
"Groupes / Profils": "",
|
||||||
"Prénom commence par": "",
|
"Prénom commence par": "",
|
||||||
"Nom commence par": "",
|
"Nom commence par": "",
|
||||||
"Impossible de réinitialiser le mot de passe de ce compte !": ""
|
"Impossible de réinitialiser le mot de passe de ce compte !": "",
|
||||||
|
"Test de la messagerie du site": "",
|
||||||
|
"Il semblerait que votre messagerie fonctionne correctement !": "",
|
||||||
|
"Message de test envoyé avec succès": "",
|
||||||
|
"Message non envoyé": "",
|
||||||
|
"Validation par clé ⚠️": "",
|
||||||
|
"La connexion est confirmée à l'aide d'une clé transmise par messagerie. Depuis le groupe sélectionné et les groupes supérieurs.": "",
|
||||||
|
"Envoi du message d'authentification": "",
|
||||||
|
"Connexion réussie": "",
|
||||||
|
"Erreur de mot de passe": "",
|
||||||
|
"Erreur de captcha": "",
|
||||||
|
"Clé envoyée par message": "",
|
||||||
|
"Message de test": "",
|
||||||
|
"Clé d'authentification envoyée à votre adresse mail %s": ""
|
||||||
}
|
}
|
@ -1240,6 +1240,7 @@ class user extends common
|
|||||||
) {
|
) {
|
||||||
// Lire Id du compte
|
// Lire Id du compte
|
||||||
$userId = $this->getInput('userLoginId', helper::FILTER_ID, true);
|
$userId = $this->getInput('userLoginId', helper::FILTER_ID, true);
|
||||||
|
$notification = '';
|
||||||
// Check le captcha
|
// Check le captcha
|
||||||
if (
|
if (
|
||||||
$this->getData(['config', 'connect', 'captcha'])
|
$this->getData(['config', 'connect', 'captcha'])
|
||||||
@ -1353,11 +1354,13 @@ class user extends common
|
|||||||
|
|
||||||
// L'email a été envoyé avec succès, redirection vers la page de double authentification
|
// L'email a été envoyé avec succès, redirection vers la page de double authentification
|
||||||
if ($sent === true) {
|
if ($sent === true) {
|
||||||
|
// Journalisation
|
||||||
$logStatus = helper::translate('Envoi du message d\'authentification');
|
$logStatus = helper::translate('Envoi du message d\'authentification');
|
||||||
// Redirection vers la page d'authentification
|
// Redirection vers la page d'authentification
|
||||||
$authRedirect = 'user/auth/';
|
$authRedirect = 'user/auth/';
|
||||||
// Stocker la clé envoyée par email
|
// Stocker la clé envoyée par email
|
||||||
$this->setData(['user', $userId, 'authKey', $keyByMail]);
|
$this->setData(['user', $userId, 'authKey', $keyByMail]);
|
||||||
|
$notification = sprintf('Clé d\'authentification envoyée à votre adresse mail %s', $this->getData(['user', $userId, 'mail']));
|
||||||
} else {
|
} else {
|
||||||
// Impossible d'envoyer le message
|
// Impossible d'envoyer le message
|
||||||
// Double authentification désactivée
|
// Double authentification désactivée
|
||||||
@ -1365,9 +1368,11 @@ class user extends common
|
|||||||
$this->setData(['user', $userId, 'authKey', $authKey]);
|
$this->setData(['user', $userId, 'authKey', $authKey]);
|
||||||
// Journalisation
|
// Journalisation
|
||||||
$this->saveLog($sent);
|
$this->saveLog($sent);
|
||||||
|
$notification = sprintf(helper::translate('Bienvenue %s %s'), $this->getData(['user', $userId, 'firstname']), $this->getData(['user', $userId, 'lastname']));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$logStatus = helper::translate('Connexion réussie');
|
$logStatus = helper::translate('Connexion réussie');
|
||||||
|
$notification = sprintf(helper::translate('Bienvenue %s %s'), $this->getData(['user', $userId, 'firstname']), $this->getData(['user', $userId, 'lastname']));
|
||||||
$this->setData(['user', $userId, 'authKey', $authKey]);
|
$this->setData(['user', $userId, 'authKey', $authKey]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1402,7 +1407,7 @@ class user extends common
|
|||||||
$redirect = ($pageId && strpos($pageId, 'user_reset') !== 0) ? helper::baseUrl() . $authRedirect . str_replace('_', '/', str_replace('__', '#', $pageId)) : helper::baseUrl() . $authRedirect;
|
$redirect = ($pageId && strpos($pageId, 'user_reset') !== 0) ? helper::baseUrl() . $authRedirect . str_replace('_', '/', str_replace('__', '#', $pageId)) : helper::baseUrl() . $authRedirect;
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'notification' => sprintf(helper::translate('Bienvenue %s %s'), $this->getData(['user', $userId, 'firstname']), $this->getData(['user', $userId, 'lastname'])),
|
'notification' => $notification,
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'state' => true
|
'state' => true
|
||||||
]);
|
]);
|
||||||
@ -1462,24 +1467,24 @@ class user extends common
|
|||||||
// Vérifier la clé saisie
|
// Vérifier la clé saisie
|
||||||
$targetKey = $this->getData(['user', $this->getUser('id'), 'authKey']);
|
$targetKey = $this->getData(['user', $this->getUser('id'), 'authKey']);
|
||||||
$inputKey = $this->getInput('userAuthKey', helper::FILTER_INT);
|
$inputKey = $this->getInput('userAuthKey', helper::FILTER_INT);
|
||||||
|
// Redirection
|
||||||
|
$pageId = $this->getUrl(2);
|
||||||
|
$redirect = $pageId? helper::baseUrl() . $pageId : helper::baseUrl() ;
|
||||||
if (
|
if (
|
||||||
// La clé est valide ou le message n'ayant pas été expédié, la double authentification est désactivée
|
// La clé est valide ou le message n'ayant pas été expédié, la double authentification est désactivée
|
||||||
$targetKey === $inputKey || $this->getData(['config', 'connect', 'mailAuth', 0]) === 0
|
$targetKey === $inputKey || $this->getData(['config', 'connect', 'mailAuth', 0]) === 0
|
||||||
) {
|
) {
|
||||||
|
|
||||||
// Redirection
|
|
||||||
$pageId = $this->getUrl(2);
|
|
||||||
// La fiche de l'utilisateur contient la clé d'authentification
|
// La fiche de l'utilisateur contient la clé d'authentification
|
||||||
$this->setData(['user', $this->getUser('id'), 'authKey', $this->getInput('ZWII_AUTH_KEY')]);
|
$this->setData(['user', $this->getUser('id'), 'authKey', $this->getInput('ZWII_AUTH_KEY')]);
|
||||||
$redirect = ($pageId && strpos($pageId, 'user_reset') !== 0) ? helper::baseUrl() . str_replace('_', '/', str_replace('__', '#', $pageId)) : helper::baseUrl();
|
|
||||||
// Journalisation
|
// Journalisation
|
||||||
$this->saveLog('Connexion réussie');
|
$this->saveLog('Connexion réussie');
|
||||||
// Réinitialiser le compteur de temps
|
// Utilisateur connecté
|
||||||
$this->setData(['user', $this->getUser('id'), 'connectTimeout', 0]);
|
$userId = $this->getUser('id');
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'notification' => helper::translate('Connexion réussie'),
|
'notification' => sprintf(helper::translate('Bienvenue %s %s'), $this->getData(['user', $userId, 'firstname']), $this->getData(['user', $userId, 'lastname'])),
|
||||||
'state' => true
|
'state' => true
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
@ -1498,10 +1503,9 @@ class user extends common
|
|||||||
|
|
||||||
// Journalisation
|
// Journalisation
|
||||||
$this->saveLog('Erreur de vérification de la clé envoyée par email ' . $this->getUser('id'));
|
$this->saveLog('Erreur de vérification de la clé envoyée par email ' . $this->getUser('id'));
|
||||||
|
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'redirect' => helper::baseUrl() . 'user/auth',
|
'redirect' => $redirect,
|
||||||
'notification' => helper::translate('La clé est incorrecte'),
|
'notification' => helper::translate('La clé est incorrecte'),
|
||||||
'state' => false
|
'state' => false
|
||||||
]);
|
]);
|
||||||
@ -1517,6 +1521,7 @@ class user extends common
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Déconnexion
|
* Déconnexion
|
||||||
*/
|
*/
|
||||||
|
@ -9,8 +9,8 @@
|
|||||||
<div class="row" id="buttonsContainer">
|
<div class="row" id="buttonsContainer">
|
||||||
<div class="col2" id="backContainer">
|
<div class="col2" id="backContainer">
|
||||||
<?php echo template::button('userAuthBack', [
|
<?php echo template::button('userAuthBack', [
|
||||||
'href' => $this->getUrl(2) ? helper::baseUrl() . ' user/login' . str_replace('_', '/', str_replace('__', '#', $this->getUrl(2))) : helper::baseUrl() . ' user/login',
|
'href' => $this->getUrl(2) ? helper::baseUrl() . 'user/login/' . str_replace('_', '/', str_replace('__', '#', $this->getUrl(2))) : helper::baseUrl() . 'user/login',
|
||||||
'value' => template::ico('left')
|
'value' => template::ico('left')
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col2 offset8" id="loginContainer">
|
<div class="col2 offset8" id="loginContainer">
|
||||||
|
Loading…
Reference in New Issue
Block a user