💥 TRENDING: Changeset/ - HD Photos!

Changeset 3341724


Ignore:
Timestamp:
08/08/2025 03:01:05 PM (5 months ago)
Author:
DavidAnderson
Message:

Release version 1.15.5

Location:
two-factor-authentication
Files:
26 edited
1 copied

Legend:

Unmodified
Added
Removed
  • two-factor-authentication/tags/1.15.5/languages/two-factor-authentication.pot

    r3196753 r3341724  
    1 # Copyright (C) 2024 two-factor-authentication
     1# Copyright (C) 2025 two-factor-authentication
    22# This file is distributed under the same license as the two-factor-authentication package.
    33msgid ""
     
    99"Language-Team: Team Updraft <[email protected]>\n"
    1010"Last-Translator: John Doe <[email protected]>\n"
    11 "POT-Creation-Date: 2024-11-25 17:39+0000\n"
     11"POT-Creation-Date: 2025-08-08 09:23+0000\n"
    1212"Report-Msgid-Bugs-To: https://wordpress.org/plugins/two-factor-authentication/\n"
    1313"X-Poedit-Basepath: ..\n"
     
    4242msgstr ""
    4343
    44 #: dist/two-factor-login.php:190, dist/simba-tfa/templates/admin-settings.php:183
     44#: dist/two-factor-login.php:190, dist/simba-tfa/templates/admin-settings.php:185
    4545msgid "Premium version"
    4646msgstr ""
     
    7070msgstr ""
    7171
    72 #: dist/two-factor-login.php:237
     72#. translators: 1. PHP required  2. PHP version.
     73#: dist/two-factor-login.php:238
    7374msgid "Higher PHP version required"
    7475msgstr ""
    7576
    76 #: dist/two-factor-login.php:237
    77 msgid "The Two Factor Authentication plugin requires PHP version %s or higher - your current version is only %s."
    78 msgstr ""
    79 
    80 #: dist/two-factor-login.php:244
     77#: dist/two-factor-login.php:238
     78msgid "The Two Factor Authentication plugin requires PHP version %1$s or higher - your current version is only %2$s."
     79msgstr ""
     80
     81#: dist/two-factor-login.php:245
    8182msgid "PHP OpenSSL or mcrypt module required"
    8283msgstr ""
    8384
    84 #: dist/two-factor-login.php:244
     85#: dist/two-factor-login.php:245
    8586msgid "The Two Factor Authentication plugin requires either the PHP openssl (preferred) or mcrypt module to be installed. Please ask your web hosting company to install one of them."
    8687msgstr ""
    8788
    88 #: dist/two-factor-login.php:251
     89#: dist/two-factor-login.php:252
    8990msgid "Two Factor Authentication encryption key not found"
    9091msgstr ""
    9192
    92 #: dist/two-factor-login.php:269
     93#: dist/two-factor-login.php:252, dist/simba-tfa/simba-tfa.php:1064
     94msgid "The \"encrypt secrets\" feature is currently enabled, but no encryption key has been found (set via the SIMBA_TFA_DB_ENCRYPTION_KEY constant)."
     95msgstr ""
     96
     97#: dist/two-factor-login.php:252, dist/simba-tfa/simba-tfa.php:1064
     98msgid "This indicates that either setup failed, or your WordPress installation has been corrupted."
     99msgstr ""
     100
     101#: dist/two-factor-login.php:252, dist/simba-tfa/simba-tfa.php:1064
     102msgid "Go here for the FAQs, which explain how a website owner can de-activate the plugin without needing to login."
     103msgstr ""
     104
     105#. translators: %s: plugin version.
     106#: dist/two-factor-login.php:271
    93107msgid "Two Factor Authentication (Version: %s) - Admin Settings"
    94108msgstr ""
     
    114128msgstr ""
    115129
    116 #: dist/simba-tfa/simba-tfa.php:1064
    117 msgid "The \"encrypt secrets\" feature is currently enabled, but no encryption key has been found (set via the SIMBA_TFA_DB_ENCRYPTION_KEY constant)."
    118 msgstr ""
    119 
    120 #: dist/simba-tfa/simba-tfa.php:1064
    121 msgid "This indicates that either setup failed, or your WordPress installation has been corrupted."
    122 msgstr ""
    123 
    124 #: dist/simba-tfa/simba-tfa.php:1064
    125 msgid "Go here for the FAQs, which explain how a website owner can de-activate the plugin without needing to login."
    126 msgstr ""
    127 
    128 #: dist/simba-tfa/simba-tfa.php:1065, dist/simba-tfa/simba-tfa.php:1470, dist/simba-tfa/simba-tfa.php:1507, dist/simba-tfa/simba-tfa.php:1521, dist/simba-tfa/simba-tfa.php:1664, dist/simba-tfa/includes/login-form-integrations.php:124
     130#: dist/simba-tfa/simba-tfa.php:1065, dist/simba-tfa/simba-tfa.php:1470, dist/simba-tfa/simba-tfa.php:1507, dist/simba-tfa/simba-tfa.php:1521, dist/simba-tfa/simba-tfa.php:1664, dist/simba-tfa/includes/login-form-integrations.php:128
    129131msgid "Error:"
    130132msgstr ""
    131133
    132 #: dist/simba-tfa/simba-tfa.php:1065, dist/simba-tfa/includes/login-form-integrations.php:124
     134#: dist/simba-tfa/simba-tfa.php:1065, dist/simba-tfa/includes/login-form-integrations.php:128
    133135msgid "The one-time password (TFA code) you entered was incorrect."
    134136msgstr ""
     
    240242msgstr ""
    241243
    242 #: dist/simba-tfa/includes/tfa-encryption-muplugin.php:72
     244#. translators: %s: Multi user plugin directory
     245#: dist/simba-tfa/includes/tfa-encryption-muplugin.php:73
    243246msgid "Encrypt secrets feature not enabled: no directory has been set."
    244247msgstr ""
    245248
    246 #: dist/simba-tfa/includes/tfa-encryption-muplugin.php:72
     249#: dist/simba-tfa/includes/tfa-encryption-muplugin.php:73
    247250msgid "Please check your %s constant is valid"
    248251msgstr ""
    249252
    250 #: dist/simba-tfa/includes/tfa-encryption-muplugin.php:80
     253#. translators: %s: Multi user plugin directory
     254#: dist/simba-tfa/includes/tfa-encryption-muplugin.php:82
    251255msgid "The encrypt secrets feature was not enabled: your mu-plugins directory could not be automatically created; therefore, please use your web hosting file manager or FTP to manually create this folder and then try again: %s"
    252256msgstr ""
    253257
    254 #: dist/simba-tfa/includes/tfa-encryption-muplugin.php:88
     258#. translators: %s: File path.
     259#: dist/simba-tfa/includes/tfa-encryption-muplugin.php:91
    255260msgid "The encrypt secrets feature was not enabled: attempting to write the mu-plugin file contents failed; therefore, please create the file manually."
    256261msgstr ""
    257262
    258 #: dist/simba-tfa/includes/tfa-encryption-muplugin.php:88
     263#: dist/simba-tfa/includes/tfa-encryption-muplugin.php:91
     264msgid "Add the following code to the file %s"
     265msgstr ""
     266
     267#: dist/simba-tfa/includes/tfa-encryption-muplugin.php:91
    259268msgid "Once you have added the above code then press the button to turn on encryption again"
    260269msgstr ""
    261270
    262 #: dist/simba-tfa/includes/tfa_frontend.php:73
     271#: dist/simba-tfa/includes/tfa_frontend.php:75
    263272msgid "The TFA code you entered was incorrect."
    264273msgstr ""
    265274
    266 #: dist/simba-tfa/includes/tfa_frontend.php:65
     275#: dist/simba-tfa/includes/tfa_frontend.php:67
    267276msgid "To enable TFA, you must enter the current code."
    268277msgstr ""
    269278
    270 #: dist/simba-tfa/includes/tfa_frontend.php:97
     279#: dist/simba-tfa/includes/tfa_frontend.php:99
    271280msgid "a time based"
    272281msgstr ""
    273282
    274 #: dist/simba-tfa/includes/tfa_frontend.php:97
     283#: dist/simba-tfa/includes/tfa_frontend.php:99
    275284msgid "an event based"
    276285msgstr ""
    277286
    278 #: dist/simba-tfa/includes/tfa_frontend.php:127
     287#: dist/simba-tfa/includes/tfa_frontend.php:129
    279288msgid "No emergency codes left. Sorry."
    280289msgstr ""
    281290
    282 #: dist/simba-tfa/includes/tfa_frontend.php:136, dist/simba-tfa/includes/tfa_frontend.php:150, dist/simba-tfa/premium/shortcodes.php:141
     291#: dist/simba-tfa/includes/tfa_frontend.php:138, dist/simba-tfa/includes/tfa_frontend.php:152, dist/simba-tfa/premium/shortcodes.php:141
    283292msgid "Save Settings"
    284293msgstr ""
    285294
    286 #: dist/simba-tfa/includes/tfa_frontend.php:180
     295#: dist/simba-tfa/includes/tfa_frontend.php:182
    287296msgid "You have unsaved settings."
    288297msgstr ""
    289298
    290 #: dist/simba-tfa/includes/tfa_frontend.php:181
     299#: dist/simba-tfa/includes/tfa_frontend.php:183
    291300msgid "Saving..."
    292301msgstr ""
    293302
    294 #: dist/simba-tfa/includes/tfa_frontend.php:185, dist/simba-tfa/providers/totp/loader.php:199
     303#: dist/simba-tfa/includes/tfa_frontend.php:187, dist/simba-tfa/providers/totp/loader.php:199
    295304msgid "Response:"
    296305msgstr ""
     
    337346
    338347#: dist/simba-tfa/premium/emergency-codes.php:38
    339 msgid "Your must now go to the Two Factor Authentication settings to generate some new emergency codes if you wish to use any emergency codes in future."
     348msgid "You must now go to the Two Factor Authentication settings to generate some new emergency codes if you wish to use any emergency codes in future."
    340349msgstr ""
    341350
     
    344353msgstr ""
    345354
    346 #: dist/simba-tfa/premium/emergency-codes.php:46
     355#. translators: %s: User name.
     356#: dist/simba-tfa/premium/emergency-codes.php:47
    347357msgid "An emergency code was used to login (username: %s) on this website: "
    348358msgstr ""
    349359
    350 #: dist/simba-tfa/premium/emergency-codes.php:47
     360#. translators: %s: Remaining codes.
     361#: dist/simba-tfa/premium/emergency-codes.php:49
    351362msgid "You now have %s emergency code(s) remaining."
    352363msgstr ""
    353364
    354 #: dist/simba-tfa/premium/emergency-codes.php:122
     365#: dist/simba-tfa/premium/emergency-codes.php:124
    355366msgid "You have three emergency codes that can be used. Keep them in a safe place; if you lose your authentication device, then you can use them to log in."
    356367msgstr ""
    357368
    358 #: dist/simba-tfa/premium/emergency-codes.php:122
     369#: dist/simba-tfa/premium/emergency-codes.php:124
    359370msgid "These can only be used once each."
    360371msgstr ""
    361372
    362 #: dist/simba-tfa/premium/emergency-codes.php:124
     373#: dist/simba-tfa/premium/emergency-codes.php:126
    363374msgid "Your emergency codes are:"
    364375msgstr ""
     
    432443msgstr ""
    433444
     445#. translators: 1. Private key. 2. Private key base 32.
    434446#: dist/simba-tfa/premium/shortcodes.php:182
    435 msgid "Private key: %s (base 32: %s)"
    436 msgstr ""
    437 
    438 #: dist/simba-tfa/premium/trusted-devices.php:37
     447msgid "Private key: %1$s (base 32: %2$s)"
     448msgstr ""
     449
     450#. translators: s%: HTML
     451#: dist/simba-tfa/premium/trusted-devices.php:38
    439452msgid "When a device is trusted, don't require a two-factor code for another %s days"
    440453msgstr ""
    441454
    442 #: dist/simba-tfa/premium/trusted-devices.php:63, dist/simba-tfa/templates/admin-settings.php:70, dist/simba-tfa/templates/admin-settings.php:191
     455#: dist/simba-tfa/premium/trusted-devices.php:64, dist/simba-tfa/templates/admin-settings.php:71, dist/simba-tfa/templates/admin-settings.php:193
    443456msgid "Trusted devices"
    444457msgstr ""
     
    464477msgstr ""
    465478
    466 #: dist/simba-tfa/templates/admin-settings.php:23
     479#: dist/simba-tfa/templates/admin-settings.php:24
    467480msgid "Two Factor Authentication currently disabled"
    468481msgstr ""
    469482
    470 #: dist/simba-tfa/templates/admin-settings.php:25
     483#: dist/simba-tfa/templates/admin-settings.php:26
    471484msgid "Two factor authentication is currently disabled via the TWO_FACTOR_DISABLE constant (which is mostly likely to be defined in your wp-config.php)"
    472485msgstr ""
    473486
    474 #: dist/simba-tfa/templates/admin-settings.php:37
     487#: dist/simba-tfa/templates/admin-settings.php:38
    475488msgid "N.B. These two-factor settings apply to your entire WordPress network. (i.e. They are not localised to one particular site)."
    476489msgstr ""
    477490
    478 #: dist/simba-tfa/templates/admin-settings.php:49
     491#: dist/simba-tfa/templates/admin-settings.php:50
    479492msgid "Make two factor authentication available"
    480493msgstr ""
    481494
    482 #: dist/simba-tfa/templates/admin-settings.php:50
     495#: dist/simba-tfa/templates/admin-settings.php:51
    483496msgid "Choose which user roles will have two factor authentication available."
    484497msgstr ""
    485498
    486 #: dist/simba-tfa/templates/admin-settings.php:60
     499#: dist/simba-tfa/templates/admin-settings.php:61
    487500msgid "Make two factor authentication compulsory"
    488501msgstr ""
    489502
    490 #: dist/simba-tfa/templates/admin-settings.php:64
     503#: dist/simba-tfa/templates/admin-settings.php:65
    491504msgid "Requiring users to use two-factor authentication is a feature of the Premium version of this plugin."
    492505msgstr ""
    493506
    494 #: dist/simba-tfa/templates/admin-settings.php:74
     507#: dist/simba-tfa/templates/admin-settings.php:75
    495508msgid "Choose which user roles are permitted to mark devices they login on as trusted. This feature requires browser cookies and an https (i.e. SSL) connection to the website to work."
    496509msgstr ""
    497510
    498 #: dist/simba-tfa/templates/admin-settings.php:77
     511#: dist/simba-tfa/templates/admin-settings.php:78
    499512msgid "Allowing users to mark a device as trusted so that a two-factor code is only needed once in a specified number of days (instead of every login) is a feature of the Premium version of this plugin."
    500513msgstr ""
    501514
    502 #: dist/simba-tfa/templates/admin-settings.php:90
     515#: dist/simba-tfa/templates/admin-settings.php:92
    503516msgid "XMLRPC requests"
    504517msgstr ""
    505518
    506 #: dist/simba-tfa/templates/admin-settings.php:94
     519#: dist/simba-tfa/templates/admin-settings.php:96
    507520msgid "XMLRPC is a feature within WordPress allowing other computers to talk to your WordPress install. For example, it could be used by an app on your tablet that allows you to blog directly from the app (instead of needing the WordPress dashboard)."
    508521msgstr ""
    509522
    510 #: dist/simba-tfa/templates/admin-settings.php:97
     523#: dist/simba-tfa/templates/admin-settings.php:99
    511524msgid "Unfortunately, XMLRPC also provides a way for attackers to perform actions on your WordPress site, using only a password (i.e. without a two-factor password). More unfortunately, authors of legitimate programmes using XMLRPC have not yet added two-factor support to their code."
    512525msgstr ""
    513526
    514 #: dist/simba-tfa/templates/admin-settings.php:100
     527#: dist/simba-tfa/templates/admin-settings.php:102
    515528msgid "i.e. XMLRPC requests coming in to WordPress (whether from a legitimate app, or from an attacker) can only be verified using the password - not with a two-factor code. As a result, there not be an ideal option to pick below. You may have to choose between the convenience of using your apps, or the security of two factor authentication."
    516529msgstr ""
    517530
    518 #: dist/simba-tfa/templates/admin-settings.php:115
     531#: dist/simba-tfa/templates/admin-settings.php:117
    519532msgid "Default algorithm for codes generated by user devices"
    520533msgstr ""
    521534
    522 #: dist/simba-tfa/templates/admin-settings.php:116
     535#: dist/simba-tfa/templates/admin-settings.php:118
    523536msgid "Your users can change this in their own settings if they want."
    524537msgstr ""
    525538
    526 #: dist/simba-tfa/templates/admin-settings.php:136, dist/simba-tfa/templates/admin-settings.php:128
     539#: dist/simba-tfa/templates/admin-settings.php:138, dist/simba-tfa/templates/admin-settings.php:130
    527540msgid "Encrypt keys in database"
    528541msgstr ""
    529542
    530 #: dist/simba-tfa/templates/admin-settings.php:138
     543#: dist/simba-tfa/templates/admin-settings.php:140
    531544msgid "Once turned on, this feature cannot be turned off (but there is no technical reason why this should discourage you from using it)."
    532545msgstr ""
    533546
    534 #: dist/simba-tfa/templates/admin-settings.php:141
     547#: dist/simba-tfa/templates/admin-settings.php:143
    535548msgid "This feature will encrypt all two factor authentication secret keys stored in the database, using an encryption key that is stored on your disk."
    536549msgstr ""
    537550
    538 #: dist/simba-tfa/templates/admin-settings.php:142
     551#: dist/simba-tfa/templates/admin-settings.php:144
    539552msgid "This means that in the event your database is compromised there's an additional layer of security (the attacker would need to compromise your on-disk data as well) protecting your two factor authentication secret keys."
    540553msgstr ""
    541554
    542 #: dist/simba-tfa/templates/admin-settings.php:144
     555#: dist/simba-tfa/templates/admin-settings.php:146
    543556msgid "Enable encryption of database keys"
    544557msgstr ""
    545558
    546 #: dist/simba-tfa/templates/admin-settings.php:130
     559#: dist/simba-tfa/templates/admin-settings.php:132
    547560msgid "Encryption of keys in the database has been enabled."
    548561msgstr ""
    549562
    550 #: dist/simba-tfa/templates/admin-settings.php:130
     563#: dist/simba-tfa/templates/admin-settings.php:132
    551564msgid "This feature cannot be turned off."
    552565msgstr ""
    553566
    554 #: dist/simba-tfa/templates/admin-settings.php:156
     567#: dist/simba-tfa/templates/admin-settings.php:158
    555568msgid "WooCommerce integration"
    556569msgstr ""
    557570
    558 #: dist/simba-tfa/templates/admin-settings.php:158
     571#: dist/simba-tfa/templates/admin-settings.php:160
    559572msgid "The Premium version of this plugin allows you to add a configuration tab for users in the WooCommerce \"My account\" area, and anti-bot protection on the WooCommerce login form."
    560573msgstr ""
    561574
    562 #: dist/simba-tfa/templates/admin-settings.php:167
     575#: dist/simba-tfa/templates/admin-settings.php:169
    563576msgid "Users' settings"
    564577msgstr ""
    565578
    566 #: dist/simba-tfa/templates/admin-settings.php:173
     579#: dist/simba-tfa/templates/admin-settings.php:175
    567580msgid "The Premium version of this plugin allows you to see and reset the TFA settings of other users."
    568581msgstr ""
    569582
    570 #: dist/simba-tfa/templates/admin-settings.php:175
     583#: dist/simba-tfa/templates/admin-settings.php:177
    571584msgid "Another way to do that is by using a user-switching plugin like this one."
    572585msgstr ""
    573586
    574 #: dist/simba-tfa/templates/admin-settings.php:185
     587#: dist/simba-tfa/templates/admin-settings.php:187
    575588msgid "If you want to say 'thank you' or help this plugin's development, or get extra features, then please take a look at the premium version of this plugin."
    576589msgstr ""
    577590
    578 #: dist/simba-tfa/templates/admin-settings.php:185
     591#: dist/simba-tfa/templates/admin-settings.php:187
    579592msgid "It comes with these extra features:"
    580593msgstr ""
    581594
    582 #: dist/simba-tfa/templates/admin-settings.php:189, dist/simba-tfa/providers/totp/loader.php:446
     595#: dist/simba-tfa/templates/admin-settings.php:191, dist/simba-tfa/providers/totp/loader.php:446
    583596msgid "Emergency codes"
    584597msgstr ""
    585598
    586 #: dist/simba-tfa/templates/admin-settings.php:189
     599#: dist/simba-tfa/templates/admin-settings.php:191
    587600msgid "provide your users with one-time codes to use in case they lose their device."
    588601msgstr ""
    589602
    590 #: dist/simba-tfa/templates/admin-settings.php:190
     603#: dist/simba-tfa/templates/admin-settings.php:192
    591604msgid "Make TFA compulsory"
    592605msgstr ""
    593606
    594 #: dist/simba-tfa/templates/admin-settings.php:190
     607#: dist/simba-tfa/templates/admin-settings.php:192
    595608msgid "require your users to set up TFA to be able to log in, after an optional grace period."
    596609msgstr ""
    597610
    598 #: dist/simba-tfa/templates/admin-settings.php:191
     611#: dist/simba-tfa/templates/admin-settings.php:193
    599612msgid "allow privileged (or all) users to mark a device as trusted and thereby only needing to supply a TFA code upon login every so-many days (e.g. every 30 days) instead of on each login."
    600613msgstr ""
    601614
    602 #: dist/simba-tfa/templates/admin-settings.php:192
     615#: dist/simba-tfa/templates/admin-settings.php:194
    603616msgid "Manage all users centrally"
    604617msgstr ""
    605618
    606 #: dist/simba-tfa/templates/admin-settings.php:192
     619#: dist/simba-tfa/templates/admin-settings.php:194
    607620msgid "enable, disable or see TFA codes for all your users from one central location."
    608621msgstr ""
    609622
    610 #: dist/simba-tfa/templates/admin-settings.php:193
     623#: dist/simba-tfa/templates/admin-settings.php:195
    611624msgid "More shortcodes"
    612625msgstr ""
    613626
    614 #: dist/simba-tfa/templates/admin-settings.php:193
     627#: dist/simba-tfa/templates/admin-settings.php:195
    615628msgid "flexible shortcodes allowing you to design your front-end settings page for your users exactly as you wish."
    616629msgstr ""
    617630
    618 #: dist/simba-tfa/templates/admin-settings.php:194
     631#: dist/simba-tfa/templates/admin-settings.php:196
    619632msgid "More WooCommerce features"
    620633msgstr ""
    621634
    622 #: dist/simba-tfa/templates/admin-settings.php:194
     635#: dist/simba-tfa/templates/admin-settings.php:196
    623636msgid "automatically add TFA settings in the WooCommerce account settings, and WooCommerce login form bot protection."
    624637msgstr ""
    625638
    626 #: dist/simba-tfa/templates/admin-settings.php:195
     639#: dist/simba-tfa/templates/admin-settings.php:197
    627640msgid "Elementor support"
    628641msgstr ""
    629642
    630 #: dist/simba-tfa/templates/admin-settings.php:195
     643#: dist/simba-tfa/templates/admin-settings.php:197
    631644msgid "adds support for Elementor login forms."
    632645msgstr ""
    633646
    634 #: dist/simba-tfa/templates/admin-settings.php:196
     647#: dist/simba-tfa/templates/admin-settings.php:198
    635648msgid "Any-form support"
    636649msgstr ""
    637650
    638 #: dist/simba-tfa/templates/admin-settings.php:196
     651#: dist/simba-tfa/templates/admin-settings.php:198
    639652msgid "adds support for any login form from any plugin via appending your TFA code onto the end of your password."
    640653msgstr ""
    641654
    642 #: dist/simba-tfa/templates/admin-settings.php:197
     655#: dist/simba-tfa/templates/admin-settings.php:199
    643656msgid "Personal support"
    644657msgstr ""
    645658
    646 #: dist/simba-tfa/templates/admin-settings.php:197
     659#: dist/simba-tfa/templates/admin-settings.php:199
    647660msgid "access to our personal support desk for 12 months."
    648661msgstr ""
    649662
    650 #: dist/simba-tfa/templates/admin-settings.php:204
     663#: dist/simba-tfa/templates/admin-settings.php:206
    651664msgid "Translations"
    652665msgstr ""
    653666
    654 #: dist/simba-tfa/templates/admin-settings.php:206
     667#. translators: %s: Plugin translation URL.
     668#: dist/simba-tfa/templates/admin-settings.php:209
    655669msgid "If you want to translate this plugin, please go to %s"
    656670msgstr ""
    657671
    658 #: dist/simba-tfa/templates/admin-settings.php:206
     672#: dist/simba-tfa/templates/admin-settings.php:209
    659673msgid "the wordpress.org translation website."
    660674msgstr ""
    661675
    662 #: dist/simba-tfa/templates/admin-settings.php:206
     676#: dist/simba-tfa/templates/admin-settings.php:209
    663677msgid "Don't send us the translation file directly - plugin authors do not have access to the wordpress.org translation system (local language teams do)."
    664678msgstr ""
     
    716730msgstr ""
    717731
    718 #: dist/simba-tfa/templates/user-settings.php:41
    719 msgid "N.B. Getting your TFA app/device to generate the correct code depends upon a) you first setting it up by entering or scanning the code below into it, and b) upon your web-server and your TFA app/device agreeing upon the UTC time (within a minute or so). The current UTC time according to the server when this page loaded: %s, and in the time-zone you have configured in your WordPress settings: %s"
     732#. translators: 1. UTC date. 2. Now date.
     733#: dist/simba-tfa/templates/user-settings.php:42
     734msgid "N.B. Getting your TFA app/device to generate the correct code depends upon a) you first setting it up by entering or scanning the code below into it, and b) upon your web-server and your TFA app/device agreeing upon the UTC time (within a minute or so). The current UTC time according to the server when this page loaded: %1$s, and in the time-zone you have configured in your WordPress settings: %2$s"
    720735msgstr ""
    721736
  • two-factor-authentication/tags/1.15.5/readme.txt

    r3196753 r3341724  
    22Tags: two factor, 2fa, tfa, two factor auth, google authenticator
    33Requires at least: 3.4
    4 Tested up to: 6.7
    5 Stable tag: 1.14.27
     4Tested up to: 6.8
     5Stable tag: 1.15.5
    66Requires PHP: 5.6
    77Author: DavidAnderson
     
    3636* Includes support for Elementor Pro login forms (Premium version)
    3737* Includes support for bbPress login forms (Premium version)
     38* Includes support for RegistrationMagic login forms (Premium version)
    3839* Includes support for login forms from the Gravity Forms User Registration add-on (Premium version)
     40* Includes support for login forms (shortcode forms only) from Paid Memberships Pro (Premium version)
    3941* Includes support for any and every third-party login form (Premium version) without any further coding needed via appending your TFA code to the end of your password
    4042* Does not mention or request second factor until the user has been identified as one with TFA enabled (i.e. nothing is shown to users who do not have it enabled)
     
    71734. Find site-wide settings in Settings -> Two Factor Authentication ; find your own user settings in the top-level menu entry "Two Factor Auth".
    7274
    73 If you want to add a section to the front-end of your site where users can configure their two-factor authentication settings, use this shortcode: [twofactor_user_settings]
     75If you want to add a section to the front-end of your site where users can configure their two-factor authentication settings, use this shortcode: [twofactor_user_settings] . (If you set the attribute show_algorithm_selector to "yes" then it will include an 'advanced' settings section allowing the HOTP algorithm to be chosen and not only the default TOTP algorithm, but few people will want this).
    7476
    7577== Frequently Asked Questions ==
     
    162164
    163165== Changelog ==
     166
     167= 1.15.5 - 28/Jun/2025 =
     168
     169* FIX: Function WP_Block_Type_Registry::register was called incorrectly
     170* FIX: Fix regression in 1.15.1 which could result in displaying settings incorrectly, with checkboxes hidden
     171* FEATURE: Add support for RegistrationMagic login forms
     172
     173= 1.15.2 - 25/Apr/2025 =
     174
     175* TWEAK: Fix regression in 1.15.1 in parsing of multisite capabilities
     176
     177= 1.15.1 - 12/Apr/2025 =
     178
     179* TWEAK: Replace use of maybe_unserialize()
     180* TWEAK: Add support for shortcode-based login forms from Paid Memberships Pro (Premium version)
     181
     182= 1.15.0 - 13/Dec/2024 =
     183
     184* TWEAK: The 'twofactor_user_settings' shortcode will now not include the "advanced" settings section (with a selector for the TOTP or HOTP algorithm) in the settings output. You can revert to the previous behaviour by adding the attribute show_algorithm_selector="yes" to the shortcode (e.g. [twofactor_user_settings show_algorithm_selector="yes"] ).
    164185
    165186= 1.14.27 - 25/Nov/2024 =
     
    889910
    890911== Upgrade Notice ==
    891 * 1.14.27 : Fix a regression in 1.14.26, and manage a database option more efficiently. A recommended update for all.
     912* 1.15.5 : Support RegistrationMagic. Fix regression in 1.15.1 in display of options. A recommended update for all.
  • two-factor-authentication/tags/1.15.5/simba-tfa/includes/login-form-integrations.php

    r3107617 r3341724  
    111111       
    112112        $params = array(
    113             'log' => stripslashes($_POST['affwp_user_login']),
    114             'caller'=> $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['REQUEST_URI'],
    115             'two_factor_code' => isset($_POST['two_factor_code']) ? stripslashes((string) $_POST['two_factor_code']) : '',
     113            // phpcs:ignore WordPress.Security.NonceVerification -- No nonce.
     114            'log' => isset($_POST['affwp_user_login']) ? sanitize_user(wp_unslash($_POST['affwp_user_login'])): '',
     115
     116            $request_uri = isset($_SERVER['REQUEST_URI']) ? sanitize_text_field(wp_unslash($_SERVER['REQUEST_URI'])) : '',
     117            'caller'=> isset($_SERVER['PHP_SELF']) ? sanitize_text_field(wp_unslash($_SERVER['PHP_SELF'])) : $request_uri,
     118            // phpcs:ignore WordPress.Security.NonceVerification -- No nonce.
     119            'two_factor_code' => isset($_POST['two_factor_code']) ? sanitize_text_field(wp_unslash((string) $_POST['two_factor_code'])) : '',
    116120        );
    117121        $code_ok = $this->tfa->authorise_user_from_login($params, true);
  • two-factor-authentication/tags/1.15.5/simba-tfa/includes/tfa-encryption-muplugin.php

    r2909348 r3341724  
    7070            return new WP_Error(
    7171                'file_no_directory',
     72                /* translators: %s: Multi user plugin directory */
    7273                __('Encrypt secrets feature not enabled: no directory has been set.', 'two-factor-authentication') . ' ' . sprintf(__('Please check your %s constant is valid', 'two-factor-authentication'), 'WPMU_PLUGIN_DIR'),
    7374                $this->file_path
     
    7879            return new WP_Error(
    7980                'file_no_directory_created',
     81                /* translators: %s: Multi user plugin directory */
    8082                sprintf(__('The encrypt secrets feature was not enabled: your mu-plugins directory could not be automatically created; therefore, please use your web hosting file manager or FTP to manually create this folder and then try again: %s', 'two-factor-authentication'), $this->get_mu_plugin_dir()),
    8183                $info['dirname']
     
    8688            return new WP_Error(
    8789                'file_no_contents',
    88                 __('The encrypt secrets feature was not enabled: attempting to write the mu-plugin file contents failed; therefore, please create the file manually.', 'two-factor-authentication') . "<br><br>" . sprintf(__('Add the following code to the file %s'), $this->get_file_path()) . "\n" . '<br><br><code>' . nl2br(esc_html($this->get_contents())) . '</code><br><br>' . __('Once you have added the above code then press the button to turn on encryption again', 'two-factor-authentication'),
     90                /* translators: %s: File path. */
     91                __('The encrypt secrets feature was not enabled: attempting to write the mu-plugin file contents failed; therefore, please create the file manually.', 'two-factor-authentication') . "<br><br>" . sprintf(__('Add the following code to the file %s', 'two-factor-authentication'), $this->get_file_path()) . "\n" . '<br><br><code>' . nl2br(esc_html($this->get_contents())) . '</code><br><br>' . __('Once you have added the above code then press the button to turn on encryption again', 'two-factor-authentication'),
    8992                $info['dirname']
    9093            );
  • two-factor-authentication/tags/1.15.5/simba-tfa/includes/tfa.js

    r3107617 r3341724  
    99     */
    1010    function get_username_identifiers() {
    11         // 'username' is used by WooCommerce
     11        // 'username' is used by WooCommerce and RegistrationMagic
    1212        return '[name="log"], [name="username"], #user_login, #affwp-login-user-login, #affwp-user-login, #gform_fields_login input[type="text"], .um-field-username input[type="text"]';
    1313    }
     
    163163        var form_is_ultimate_member = ($(form).find('.um-row').length > 0) ? true : false;
    164164
     165        // This is used just for applying styling if .js-login-form class exists inside form
     166        var form_is_login_form = ($(form).find('.js-login-form').length > 0) ? true : false;
     167
    165168        // Gravity Forms won't submit if the elements are hidden
    166169        var form_retain_existing_elements = form_is_gravity_forms ? true : false;
     
    177180            // .user-pass-wrap is the wrapper used (instead of a paragraph) on wp-login.php from WP 5.3
    178181            // .um-row : Ultimate Member
    179             $submit_button.parents('form').first().find('p, .impu-form-line-fr, .tml-field-wrap, .user-pass-wrap, .elementor-field-type-text, .elementor-field-type-submit, .elementor-remember-me, .bbp-username, .bbp-password, .bbp-submit-wrapper, .gform_body, .um-row, .um-button').each(function(i) {
     182            // .rmrow : RegistrationMagic
     183            $submit_button.parents('form').first().find('p, .impu-form-line-fr, .tml-field-wrap, .user-pass-wrap, .elementor-field-type-text, .elementor-field-type-submit, .elementor-remember-me, .bbp-username, .bbp-password, .bbp-submit-wrapper, .gform_body, .um-row, .um-button, .js-login-form, .rmrow').each(function(i) {
    180184                $(this).css('visibility', 'hidden').css('position', 'absolute');
    181185                // On the WooCommerce form, the 'required' asterisk in the child <span> still shows without this
     
    211215            html += 'for="simba_two_factor_auth">';
    212216           
    213             html += simba_tfasettings.otp + '<br><input type="text" name="two_factor_code" id="simba_two_factor_auth" autocomplete="off" data-lpignore="true"';
     217            html += simba_tfasettings.otp + '</label><input type="text" name="two_factor_code" id="simba_two_factor_auth" autocomplete="off" data-lpignore="true"';
    214218           
    215219            if ($(form).hasClass('woocommerce-form-login')) {
     
    218222            }
    219223           
    220             html += '></label>';
     224            html += '>';
    221225           
    222226            if (form_is_ultimate_member) { html += '</div>'; }
     
    244248            if (user_can_trust) {
    245249           
    246                 html += '<br><input type="checkbox" name="simba_tfa_mark_as_trusted" id="simba_tfa_mark_as_trusted" value="1"><label for="simba_tfa_mark_as_trusted" style="display:inline;">'+ simba_tfasettings.mark_as_trusted+'</label>';
     250                html += '<input type="checkbox" name="simba_tfa_mark_as_trusted" id="simba_tfa_mark_as_trusted" value="1"><label for="simba_tfa_mark_as_trusted">'+ simba_tfasettings.mark_as_trusted+'</label>';
    247251               
    248252            }
     
    272276           
    273277            if (form_is_ultimate_member) { html += ' um-button'; }
     278
     279            if (form_is_login_form) { html += ' c-btn-rg hover:bg-main focus:bg-main'; }
    274280           
    275281            html += '" type="submit" ';
  • two-factor-authentication/tags/1.15.5/simba-tfa/includes/tfa_frontend.php

    r3107617 r3341724  
    1717        add_shortcode('twofactor_user_settings', array($this, 'tfa_user_settings_front'));
    1818
    19         register_block_type('twofactor/user-settings', array(
    20             'editor_script' => 'twofactor-gutenberg-blocks',
    21             'render_callback' => array($this, 'tfa_user_settings_front'),
    22         ));
     19        if (!WP_Block_Type_Registry::get_instance()->is_registered('twofactor/user-settings')) {
     20            register_block_type('twofactor/user-settings', array(
     21                'editor_script' => 'twofactor-gutenberg-blocks',
     22                'render_callback' => array($this, 'tfa_user_settings_front'),
     23            ));
     24        }
    2325    }
    2426
     
    193195     * Shortcode function for twofactor_user_settings
    194196     *
    195      * @param Array $atts
    196      * @param Null|String $content
     197     * @param Array $atts          - shortcode attributes
    197198     *
    198199     * @return String
    199200     */
    200     public function tfa_user_settings_front($atts, $content = null) {
     201    public function tfa_user_settings_front($atts = array()) {
    201202
    202203        if (!is_user_logged_in()) return '';
    203204
    204         global $current_user;
    205        
    206         return $this->mother->include_template('shortcode-tfa-user-settings.php', array('is_activated_for_user' => $current_user->ID, 'tfa_frontend' => $this), true);
     205        $atts = array_change_key_case((array)$atts, CASE_LOWER);
     206       
     207        $atts = shortcode_atts(array('show_algorithm_selector' => 'no'), $atts);
     208
     209        $show_algorithm_selector = ('yes' === $atts['show_algorithm_selector']);
     210       
     211        global $current_user;
     212       
     213        return $this->mother->include_template('shortcode-tfa-user-settings.php', array('is_activated_for_user' => $current_user->ID, 'tfa_frontend' => $this, 'show_algorithm_selector' => $show_algorithm_selector), true);
    207214
    208215    }
  • two-factor-authentication/tags/1.15.5/simba-tfa/providers/totp/loader.php

    r3107617 r3341724  
    10321032    }
    10331033   
    1034     public function setUserHMACTypes() {
    1035         trigger_error("Deprecated: setUserHMACTypes() does nothing: remove any calls to it");
    1036     }
    1037 
    10381034}
  • two-factor-authentication/tags/1.15.5/simba-tfa/simba-tfa.php

    r3196753 r3341724  
    609609                foreach ($roles_db as $role_info) {
    610610                    if (empty($role_info->meta_key) || !preg_match('/^'.$table_prefix.'\d+_capabilities$/', $role_info->meta_key) || empty($role_info->meta_value) || !preg_match('/^a:/', $role_info->meta_value)) continue;
    611                     $site_roles = unserialize($role_info->meta_value);
     611                    $site_roles = $this->unserialize($role_info->meta_value);
    612612                    if (!is_array($site_roles)) continue;
    613613                    foreach ($site_roles as $role => $active) {
     
    14001400            $setting = ($setting === false) ? $default : ($setting ? 1 : 0);
    14011401
    1402             echo '<input type="checkbox" id="tfa_'.$prefix.$id.'" name="tfa_'.$prefix.$id.'" class="tfa_'.$prefix.'user_roles" value="1" '.($setting ? 'checked="checked"' :'').'> <label for="tfa_'.$prefix.$id.'">'.htmlspecialchars($name)."</label><br>\n";
     1402            echo '<input type="checkbox" id="tfa_'.esc_attr($prefix.$id).'" name="tfa_'.esc_attr($prefix.$id).'" class="tfa_'.esc_attr($prefix).'user_roles" value="1" '.($setting ? 'checked="checked"' :'').'> <label for="tfa_'.esc_attr($prefix.$id).'">'.htmlspecialchars($name)."</label><br>\n";