web-dev-qa-db-fra.com

Comment réparer le courrier électronique généré par BlueSpice Media Wiki pour que les nouveaux utilisateurs fournissent le nom réel?

J'ai une installation standard de BlueSpice sur Media Wiki. Quand un nouvel utilisateur est créé, je reçois un email avec le corps:

L'utilisateur http://wiki.example.com/index.php/User:NameHere avec le nom réel $ 2 a été créé.

Le $2 doit être remplacé par le nom réel de l'utilisateur. Il y a donc un bogue ici. Où puis-je trouver le code dans l’installation qui lui correspond et comment puis-je le faire effectuer la substitution? Il semble que le $1 ait fonctionné avec le User:NameHere, alors vous ne savez pas pourquoi le $2 n'a pas été également remplacé. J'imagine que cela se trouve quelque part dans le code php.

En faisant un grep je trouve:

# cd ~/public_html
# grep -R "with real name" .
./extensions/BlueSpiceExtensions/Notifications/i18n/en.json:    "bs-notifications-email-addaccount": "The user $1 with real name $2 was created.",

Le fichier complet en.json à cet emplacement est:

{
    "@metadata": {
        "authors": [
            "Swidmann"
        ]
    },
    "bs-notifications-desc": "Sends notifications on user selected changes",
    "prefs-notifications": "Notifications",
    "prefs-echo-extended": "Advanced system settings",
    "bs-notifications-pref-notifyns": "Only notify for changes in these namespaces:",
    "bs-notifications-pref-notifynominor": "No notification for minor changes",
    "bs-notifications-pref-active": "Enable notifications",
    "bs-echo-anon-user": "anonymous",
    "bs-echo-unknown-user": "unknown",
    "bs-echo-page-edit": "The page [[:$1]] has been changed",
    "bs-echo-page-create": "The page  [[:$1]] was created",
    "bs-echo-page-delete": "The page [[:$1]] has been deleted",
    "bs-echo-page-move": "The page [[:$1]] has been moved",
    "bs-echo-page-newuser": "The user $1 was created.",
    "bs-echo-page-shoutbox": "A new ShoutBox message on the site [[:$1]].",
    "bs-notifications-email-new-subject": "Page $1 {{GENDER:$2|created}} by $2",
    "bs-notifications-email-new": "The page \"$1\" was {{GENDER:$2|created}} by $2.\n\nComment:\n $3 \nYou can visit the page following this link:\n$4\n",
    "bs-notifications-email-edit-subject": "Page $1 {{GENDER:$2|edited}} by $2",
    "bs-notifications-email-edit": "The page \"$1\" was {{GENDER:$2|edited}} by $2.\n\nComment:\n $3 \nYou can visit the page following this link:\n$4.\n\nIf you only want to see the changes, follow this link:\n$5\n",
    "bs-notifications-email-move-subject": "Page $1 {{GENDER:$2|moved}} by $2",
    "bs-notifications-email-move": "The page \"$1\" was {{GENDER:$2|moved}} to $3 by $2. You can visit the page following this link:\n$4\n",
    "bs-notifications-email-delete-subject": "Page $1 {{GENDER:$2|deleted}} by $2",
    "bs-notifications-email-delete": "The page \"$1\" was {{GENDER:$2|deleted}} by $2.\n\nThis was the reason:\n$3",
    "bs-notifications-email-addaccount-subject": "User $1 created",
    "bs-notifications-email-addaccount": "The user $1 with real name $2 was created.",
    "bs-notifications-email-shout-subject": "$2 {{GENDER:$2|posted}} a message on page $1",
    "bs-notifications-email-shout": "$2 {{GENDER:$2|posted}} a message on page \"$1\".\n\nMessage:\n$3\n\nYou can visit the page following this link:\n$4.\n",
    "echo-category-title-bs-create-cat": "Notification for new pages",
    "echo-category-title-bs-edit-cat": "Notification for edits",
    "echo-category-title-bs-move-cat": "Notification for moves",
    "echo-category-title-bs-delete-cat": "Notification for deletions",
    "echo-category-title-bs-newuser-cat": "Notification for new users (administrators only)",
    "echo-category-title-bs-shoutbox-cat": "Notification for messages on watched pages (shoutbox)"
}

Pas clair quelle est la solution cependant. Où se trouve l'ensemble décalé d'arguments où un autre doit être inséré pour remplir $2?

1
WilliamKF

Recherchez dans les fichiers source une partie du message, telle que with real name $2 was created. Vous trouverez des fichiers de messages - des fichiers JSON ou PHP array, mais dans tous les cas, un format clé-valeur, où la clé vous indique le nom du message. Vous pouvez ensuite rechercher ce nom dans la source. Voir le interface de message pour savoir comment ajouter des paramètres à un message.

1
Tgr