Changeset 2869876
- Timestamp:
- 02/23/2023 09:46:57 AM (3 years ago)
- Location:
- emlg-tfa/trunk
- Files:
-
- 6 edited
-
emlg-tfa.php (modified) (2 diffs)
-
includes/class-emlg-ajax.php (modified) (1 diff)
-
includes/class-emlg-login.php (modified) (6 diffs)
-
languages/emlg-tfa.pot (modified) (10 diffs)
-
readme.txt (modified) (2 diffs)
-
views/admin-page.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
emlg-tfa/trunk/emlg-tfa.php
r2735764 r2869876 5 5 * Plugin Name: EMLG TFA 6 6 * Description: Two-Factor Authentication via out of band email 7 * Version: 1. 0.18 * Author: wprj , Lalaina Rajaonah9 * Author URI: https:// codecanyon.net/user/wprj7 * Version: 1.1 8 * Author: wprj 9 * Author URI: https://www.upwork.com/freelancers/~01f7aae88a686d0580 10 10 * Text Domain: emlg-tfa 11 11 * Domain Path: /languages … … 14 14 */ 15 15 16 const EMLG_VERSION = '1. 0.1';16 const EMLG_VERSION = '1.1'; 17 17 define( 'EMLG_BASE', plugin_basename( __FILE__ ) ); 18 18 define( 'EMLG_PATH', trailingslashit( plugin_dir_path( __FILE__ ) ) ); -
emlg-tfa/trunk/includes/class-emlg-ajax.php
r2735692 r2869876 168 168 "\t" . '<p style="font-size:1.6em;">%SITE_TITLE%</p>' . "\n" . 169 169 "\t" . '<hr/>' . "\n" . 170 "\t" . '<p>Checking for email capability of WordPress </p>' . "\n" .170 "\t" . '<p>Checking for email capability of WordPress at %SITE_URL%</p>' . "\n" . 171 171 "\t" . '<p style="font-size: 1.1em;">Enter the following code on the EMLG TFA dashboard page:</p>' . "\n" . 172 172 "\t" . '<p style="font-size: 1.6em;font-weight: 700">%CODE%</p>' . "\n" . 173 173 '</div>'; 174 174 175 $content = str_replace( [ '%SITE_TITLE%', '%CODE%' ], [ get_bloginfo(), $code], $content );175 $content = str_replace( [ '%SITE_TITLE%', '%CODE%', '%SITE_URL%' ], [ get_bloginfo(), $code, site_url() ], $content ); 176 176 $email = new Emlg_Email( $content ); 177 177 $email->sender_email = $options['email_details']['sender_email']; -
emlg-tfa/trunk/includes/class-emlg-login.php
r2735692 r2869876 26 26 */ 27 27 const OPTION_NAME = 'emlg_options'; 28 29 /**30 * Default option value31 *32 * @var array33 */34 private static $default_options = [35 'mail_cap_status' => '',36 'templates' => [37 'login_mail' => '<div style=\'font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color:#fff;background-color:#2271b1;padding:10px;\'>' . "\n" .38 "\t" . '<p style="font-size:1.6em;">%SITE_TITLE%</p>' . "\n" .39 "\t" . '<hr/>' . "\n" .40 "\t" . '<p>A login attempt to "%SITE_TITLE%" with your account "%USER%" has been performed.</p>' . "\n" .41 "\t" . '<p style="font-size: 1.1em;">This is your login code:</p>' . "\n" .42 "\t" . '<p style="font-size: 1.6em;font-weight: 700">%CODE%</p>' . "\n" .43 "\t" . '<hr/>' . "\n" .44 "\t" . '<p>If you did not perform this action, your password is likely compromised.</p>' . "\n" .45 '</div>',46 ],47 'email_details' => [48 'sender_name' => 'Email login',49 'sender_email' => 'noreply@sandbox.local',50 'subject' => 'Login verification',51 ],52 'enabled' => '',53 ];54 28 55 29 /** … … 117 91 118 92 /** 93 * Get plugin's default options 94 * 95 * @return array 96 */ 97 private static function get_default_options() { 98 return [ 99 'mail_cap_status' => '', 100 'templates' => [ 101 'login_mail' => '<div style=\'font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color:#fff;background-color:#2271b1;padding:10px;\'>' . "\n" . 102 "\t" . '<p style="font-size:1.6em;">%SITE_TITLE%</p>' . "\n" . 103 "\t" . '<hr/>' . "\n" . 104 "\t" . '<p>A login attempt to %SITE_URL% with your account "%USER%" has been performed.</p>' . "\n" . 105 "\t" . '<p style="font-size: 1.1em;">This is your login code:</p>' . "\n" . 106 "\t" . '<p style="font-size: 1.6em;font-weight: 700">%CODE%</p>' . "\n" . 107 "\t" . '<hr/>' . "\n" . 108 "\t" . '<p>If you did not perform this action, your password is likely compromised.</p>' . "\n" . 109 '</div>', 110 ], 111 'email_details' => [ 112 'sender_name' => 'Email login', 113 'sender_email' => 'noreply@example.com', 114 'subject' => 'Login verification', 115 ], 116 'enabled' => '', 117 ]; 118 } 119 120 /** 119 121 * Return plugin option 120 122 * … … 124 126 $options = get_option( self::OPTION_NAME, [] ); 125 127 126 return $options + self::$default_options;128 return wp_parse_args( $options, self::get_default_options() ); 127 129 } 128 130 … … 138 140 $options = Emlg_Login::get_option(); 139 141 140 if ( is_string( $field_or_options ) && $value !== null && isset( self:: $default_options[ $field_or_options ] ) ) {142 if ( is_string( $field_or_options ) && $value !== null && isset( self::get_default_options()[ $field_or_options ] ) ) { 141 143 // Updating a single field. 142 144 $options[ $field_or_options ] = $value; … … 241 243 242 244 // Replace all placeholder in the email message. 243 $email = new Emlg_Email( str_ireplace( [ '%CODE%', '%USER%', '%SITE_TITLE%' ], [ $code, $credentials['user_login'], get_bloginfo() ], self::get_option()['templates']['login_mail'] ) );245 $email = new Emlg_Email( str_ireplace( [ '%CODE%', '%USER%', '%SITE_TITLE%', '%SITE_URL%' ], [ $code, $credentials['user_login'], get_bloginfo(), site_url() ], self::get_option()['templates']['login_mail'] ) ); 244 246 245 247 $email->to = $user->user_email; … … 292 294 self::$instance = new self(); 293 295 } 296 294 297 return self::$instance; 295 298 } -
emlg-tfa/trunk/languages/emlg-tfa.pot
r2735692 r2869876 4 4 "Project-Id-Version: EMLG TFA\n" 5 5 "Report-Msgid-Bugs-To: \n" 6 "POT-Creation-Date: 202 2-05-30 14:02+0000\n"6 "POT-Creation-Date: 2023-02-23 09:30+0000\n" 7 7 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 8 8 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 24 24 msgstr "" 25 25 26 #: views/admin-page.php:7 826 #: views/admin-page.php:79 27 27 msgid "" 28 28 "An attempt to send an email has failed during an user login. Please verify " … … 30 30 msgstr "" 31 31 32 #: views/admin-page.php:6 032 #: views/admin-page.php:61 33 33 msgid "An email with a confirmation code has been sent to" 34 34 msgstr "" … … 38 38 msgstr "" 39 39 40 #: views/admin-page.php:9 340 #: views/admin-page.php:94 41 41 msgid "Check now" 42 42 msgstr "" … … 46 46 msgstr "" 47 47 48 #: views/admin-page.php:6 448 #: views/admin-page.php:65 49 49 msgid "Confirm code" 50 50 msgstr "" 51 51 52 #: views/admin-page.php:11 052 #: views/admin-page.php:111 53 53 msgid "Disabled" 54 54 msgstr "" 55 55 56 #: views/admin-page.php:21 views/admin-page.php:14 456 #: views/admin-page.php:21 views/admin-page.php:145 57 57 msgid "Edit" 58 58 msgstr "" 59 59 60 #: views/admin-page.php:10 760 #: views/admin-page.php:108 61 61 msgid "Email 2FA" 62 62 msgstr "" 63 63 64 #: views/admin-page.php:12 264 #: views/admin-page.php:123 65 65 msgid "Email sender name" 66 66 msgstr "" 67 67 68 #: views/admin-page.php:13 368 #: views/admin-page.php:134 69 69 msgid "Email subject" 70 70 msgstr "" 71 71 72 #: views/admin-page.php:115 72 #. Name of the plugin 73 #: includes/class-emlg-dashboard.php:65 includes/class-emlg-dashboard.php:66 74 #: views/admin-page.php:7 75 msgid "EMLG TFA" 76 msgstr "" 77 78 #: views/admin-page.php:116 73 79 msgid "Enable Two-Factor Authentication via Email" 74 80 msgstr "" 75 81 76 #: views/admin-page.php:11 182 #: views/admin-page.php:112 77 83 msgid "enabled" 78 84 msgstr "" … … 86 92 msgstr "" 87 93 88 #: views/admin-page.php:13 694 #: views/admin-page.php:137 89 95 msgid "Login email subject" 90 96 msgstr "" 91 97 92 #: views/admin-page.php:14 0 views/admin-page.php:14698 #: views/admin-page.php:141 views/admin-page.php:147 93 99 msgid "Login email template" 94 100 msgstr "" 95 101 96 #. 1: place holder for site title, 2: placeholder for login code, 3: placeholder for user login102 #. 1: place holder for site title, 2:login code, 3:user login, 4:site url 97 103 #: views/admin-page.php:31 98 104 #, php-format 99 msgid "Placeholders: %1$s: site title, %2$s: verification code, %3$s: username" 105 msgid "" 106 "Placeholders: %1$s: site title, %2$s: verification code, %3$s: username, " 107 "%4$s: site url" 100 108 msgstr "" 101 109 … … 104 112 msgstr "" 105 113 106 #: views/admin-page.php:7 2114 #: views/admin-page.php:73 107 115 msgid "Resend email" 108 116 msgstr "" 109 117 110 #: views/admin-page.php:1 49118 #: views/admin-page.php:150 111 119 msgid "Save settings" 112 120 msgstr "" 113 121 114 #: views/admin-page.php:8 2122 #: views/admin-page.php:83 115 123 msgid "Send a test email" 116 124 msgstr "" 117 125 118 #: views/admin-page.php:12 6 views/admin-page.php:129126 #: views/admin-page.php:127 views/admin-page.php:130 119 127 msgid "Sender email address" 120 128 msgstr "" 121 129 122 #: views/admin-page.php:1 19130 #: views/admin-page.php:120 123 131 msgid "Sender name" 124 132 msgstr "" … … 128 136 msgstr "" 129 137 130 #: views/admin-page.php:7 1views/submit-code.php:37138 #: views/admin-page.php:72 views/submit-code.php:37 131 139 msgid "Submit code" 132 140 msgstr "" 133 141 134 #: includes/class-emlg-ajax.php: 60142 #: includes/class-emlg-ajax.php:59 135 143 msgid "The code is incorrect or has expired." 136 144 msgstr "" 137 145 138 #: includes/class-emlg-login.php: 89 includes/class-emlg-login.php:108146 #: includes/class-emlg-login.php:63 includes/class-emlg-login.php:82 139 147 msgid "The code is invalid or has expired" 140 148 msgstr "" 141 149 142 #: views/admin-page.php:8 8 views/admin-page.php:99150 #: views/admin-page.php:89 views/admin-page.php:100 143 151 msgid "" 144 152 "Two-factor authentication via email can't work unless WordPress can actually " … … 146 154 msgstr "" 147 155 148 #: views/admin-page.php:7 4156 #: views/admin-page.php:75 149 157 msgid "" 150 158 "Two-factor authentication via email can't work unless WordPress can actually " … … 156 164 msgstr "" 157 165 158 #: views/admin-page.php:9 0166 #: views/admin-page.php:91 159 167 msgid "unknown" 160 168 msgstr "" 161 169 162 #: includes/class-emlg-ajax.php:19 3 includes/class-emlg-email.php:86170 #: includes/class-emlg-ajax.php:192 includes/class-emlg-email.php:97 163 171 msgid "WordPress could not send the email" 164 172 msgstr "" 165 173 166 #: views/admin-page.php:5 4174 #: views/admin-page.php:55 167 175 msgid "WordPress email capability" 168 176 msgstr "" -
emlg-tfa/trunk/readme.txt
r2735764 r2869876 1 1 === EMLG TFA === 2 Contributors: wprj , kamiwdp62 Contributors: wprj 3 3 Tags: 2FA ,email two-factor authentication, 2-factor authentication, login, email login, email authentication, two factor, 2 factor 4 Requires at least: 5.9.35 Tested up to: 6. 06 Requires PHP: 5.6.207 Stable tag: 1. 0.14 Requires at least: 6.0 5 Tested up to: 6.1.1 6 Requires PHP: 7.4 7 Stable tag: 1.1 8 8 License: GPLv3 9 9 License URI: https://www.gnu.org/licenses/gpl-3.0.en.html … … 56 56 == Changelog == 57 57 58 = 1.1 59 60 Feature: add site url to the possible placeholders in email body 61 Updated `.pot` file 62 58 63 = 1.0.1 = 59 64 -
emlg-tfa/trunk/views/admin-page.php
r2735692 r2869876 3 3 * Dashboard page templates. 4 4 */ 5 ?>5 ?> 6 6 <div class="wrap"> 7 7 <h2><?php esc_html_e( 'EMLG TFA', 'emlg-tfa' ); ?></h2> … … 28 28 <?php 29 29 printf( 30 /* translators: 1: place holder for site title, 2: placeholder for login code, 3: placeholder for user login */31 esc_html__( 'Placeholders: %1$s: site title, %2$s: verification code, %3$s: username ', 'emlg-tfa' ),30 // translators: 1: place holder for site title, 2:login code, 3:user login, 4:site url 31 esc_html__( 'Placeholders: %1$s: site title, %2$s: verification code, %3$s: username, %4$s: site url', 'emlg-tfa' ), 32 32 '<code>%SITE_TITLE%</code>', 33 33 '<code>%CODE%</code>', 34 '<code>%USER%</code>' 34 '<code>%USER%</code>', 35 '<code>%SITE_URL%</code>' 35 36 ); 36 37 ?> … … 132 133 <label> 133 134 <span class="label"><?php esc_html_e( 'Email subject', 'emlg-tfa' ); ?></span> 134 <input type="text" class="widefat" name="email_details[subject]" value="{{data.options.email_details.subject}}" />135 <input type="text" class="widefat" name="email_details[subject]" value="{{data.options.email_details.subject}}"/> 135 136 </label> 136 137 <p class="description"><?php esc_html_e( 'Login email subject', 'emlg-tfa' ); ?></p>
Note: See TracChangeset
for help on using the changeset viewer.