Extension:UserFunctions

From mediawiki.org
This page is a translated version of the page Extension:UserFunctions and the translation is 100% complete.
Manuel des extensions MediaWiki
UserFunctions
État de la version : stable
Implémentation Fonction d'analyseur
Description Fournit un ensemble de fonctions d'analyse qui s'appliquent à l'utilisateur actuel
Auteur(s)
Dernière version 2.8.1 (2022-07-20)
MediaWiki 1.35+
PHP 7.2+
Modifie la base
de données
Non
Composer mediawiki/user-functions
Licence Licence publique générale GNU v2.0 ou supérieur
Téléchargement
Exemple sandbox.semantic-mediawiki.org

  • $wgUFEnabledPersonalDataFunctions
  • $wgUFAllowedNamespaces
  • $wgUFEnableSpecialContexts
Téléchargements trimestriels 32 (Ranked 118th)
Traduire l’extension UserFunctions sur translatewiki.net si elle y est disponible

L'extension UserFunctions fournit un ensemble de fonctions d'analyse dynamique qui se déclenchent sur l'utilisateur actuel.

Utilisation

Par défaut, les fonctions ne sont activées que dans l'espace de noms NS_MEDIAWIKI; pour les autres espaces de noms, voir les exemples ci-dessous.
Si vous utilisez ces fonctions dans la barre latérale de votre wiki, vous ne pouvez pas mettre $wgEnableSidebarCache = true;.

Les quatre fonctions suivantes sont disponibles partout  :

  • {{#ifanon:then|else}}
Teste si l'utilisateur actuel est anonyme.
  • {{#ifblocked:then|else}}
Teste si l'utilisateur actuel est bloqué.
  • {{#ifsysop:then|else}}
Teste si l'utilisateur actuel est un sysop.
  • {{#ifingroup:group|then|else}}
Teste si l'utilisateur actuel est membre du groupe "groupe". Vous pouvez faire le test pour plusieurs groupes ainsi :
{{#ifingroup:group1, group2, group3|then|else}}

Les cinq fonctions suivantes relatives aux données personnelles sont désactivées par défaut (voir la section Installation pour la façon de les activer) :

Les fonctions décrites ci-dessous sont appelées fonctions de données personnelles. Elles peuvent être utilisées pour divulguer certaines de vos données personnelles comme d'adresse courriel ou votre vrai nom.


Si vous n'êtes pas sûr de vous, n'activez pas les données personnelles.
  • {{#realname:alt}}
Renvoie le nom réel de l'utilisateur actuel. Si l'utilisateur n'est pas logué, cette fonction renvoie le texte alternatif fourni, ou l'IP si aucune alternative n'est fournie.
  • {{#username:alt}}
Renvoie le nom d'usage actuel. Si l'utilisateur n'est pas logué, la fonction renvoie le texte alternatif fourni, ou l'IP si aucune alternative n'est fournie.
  • {{#useremail:alt}}
Renvoie l'adresse courriel de l'utilisateur actuel. Si l'utilisateur n'est pas logué, cette fonction renvoie le texte alternatif fourni, ou l'IP si aucune alternative n'est fournie.
  • {{#nickname:alt}}
Renvoie le prénom de l'utilisateur actuel. Si l'utilisateur n'a pas de prénom, renvoie le nom d'usage. Si l'utilisateur n'est pas logué, cette fonction renvoie le texte alternatif fourni, ou l'IP si aucune alternative n'est fournie.
  • {{#ip:}}
Renvoie l'adresse IP de l'utilisateur actuel.

Installation

  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé UserFunctions dans votre dossier extensions/.
    Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/UserFunctions
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'UserFunctions' );
    
  • Si vous voulez utiliser l’une des fonctions suivantes : #realname, #username, #useremail, #nickname ou #ip, ajoutez ceci juste après cette ligne :
    $wgUFEnabledPersonalDataFunctions = [
    	'ip',
    	'nickname',
    	'realname',
    	'useremail',
    	'username',
    ];
    
Si vous utilisez une ancienne version de l'extension, les fonctions sont incluses dans le paquet via : $wgUFEnablePersonalDataFunctions = true;
  • Si vous souhaitez activer les fonctions dans d'autres espaces de noms, outre NS_MEDIAWIKI (par défaut), suivez le modèle des exemples ci-dessous.
  • Yes Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Pour les utilisateurs de MediaWiki 1.35 ou précédents :

Les instructions ci-dessus décrivent la nouvelle procédure pour installer cette extension en utilisant wfLoadExtension(). Si vous avez besoin d'installer cette extension sur les précédentes versions de MediaWiki (1.35 ou antérieur), à la place de wfLoadExtension( 'UserFunctions' );, vous devez utiliser :

require_once "$IP/extensions/UserFunctions/UserFunctions.php";

Autoriser les espaces de noms

Par défaut, les fonctions utilisateur ne fonctionnent que dans l'espace de noms NS_MEDIAWIKI .

Vous trouverez ci-dessous des exemples qui permettent ou interdisent aux fonctions de fonctionner dans les autres espaces de noms. La syntaxe est basée sur l'une de celles décrites avec les sous-pages.

// Autoriser les fonctions utilisateur dans l'espace de noms "Main"
// Ajouter les valeurs au tableau existant
$wgUFAllowedNamespaces[NS_MAIN] = true;
// Activer les fonctions utilisateur dans l'espace de noms 'Main" et "User", mais pas dans l'espace de noms "MediaWiki"
// en remplaçant les valeurs présentes dans le tableau
$wgUFAllowedNamespaces = [
        NS_MAIN => true,
        NS_USER => true
];
// Active les fonctions utilisateur dans les espaces de  noms avec les index de 0 à 200
// en remplaçant les valeurs dans le tableau suivant
$wgUFAllowedNamespaces = array_fill( 0, 200, true );

Plus d'info sur la numérotation des espaces de noms.

Dans les autres contextes (reconnus comme NS -1, mais pas toujours une page spéciale), tels que les pages de formulaire , vérifiez si les paramètres suivants sont activés :

$wgUFEnableSpecialContexts = true;

Le paramètre ci-dessus est activé par défaut.

Si vous rencontrez des problèmes avec les robots ou les scripts de maintenance, mettez le à false et signalez-le sur cette page de discussion.

Historique des versions

Auteurs : algorithme et autres

  • Version 2.8.1 () Permet d'activer et de désactiver les fonctions spécifiques des données personnelles - Universal Omega
Avant cette version, la variable de configuration $wgUFEnabledPersonalDataFunctions s'appelait $wgUFEnablePersonalDataFunctions, et en la mettant à true vous activiez toutes les fonctions sur les données personnelles; elle ne pouvait que les activer ou les désactiver toutes ensemble, ou aucune.
  • Version 2.8.0 () Conversion en ExtensionRegistry et autres nettoyages de code - Universal Omega
  • Version 2.7.0 () Suppression des structures de base PHP i18n - Kghbln
  • Version 2.6.1 () Propositions de modification de syntaxte - Kghbln, Umherirrender
  • Version 2.6.0 () Extension compatible avec Composer - Toniher
  • Version 2.5.0 () Migré vers JSON i18n - Siebrand
  • Version 2.4.3 () Corrections en attente et nettoyage de code - Chad Uckelman
  • Version 2.4.2 () Nettoyage partiel du code - Reedy
  • Version 2.4.1 () Correction de problèmes avec la barre latérale (signalés par Kghbln). Suppression des avertissements PHP dans les fonctions - Toniher
  • Version 2.4 () Nettoyage en utilisant les modèles actuels de ParserFunctions. Correction de la modification des formulaires - Toniher
  • Version 2.3 () correction des problèmes liés à l'utilisation des scripts et des groupes multiples autorisés et qui sont testés dans ifingroup. - Toniher
  • Version 2.2 () ajout du paramètre $wgUFAllowedNamespaces. Les utilisateurs doivent définir dans quels espaces de noms de fonctions autorisés, ils vont travailler. - Toniher
  • Version 2.1 () ajout du paramètre $wgUFEnablePersonalDataFunctions. Migration de $wgUser vers l'équivalent ParserOptions - Toniher
  • Version 2.0 () ajout de i18n et compatibilité avec les autres extensions des fonctions d'analyse syntaxique - Toniher
  • Version 1.5 () ajout de ip (adresse IP) - Kghbln
  • Version 1.4 () ajout de realname (vrai nom) - Kghbln
  • Version 1.3 () ajout de useremail (adresse courriel) - Wikinaut
  • Version 1.2 () ajout de ifingroup - Louperivois
  • Version 1.1 () ajout de nickname - Lexw
  • Version 1.0 () Algorithme

Issues and feature requests

Voir aussi