Version Description
Download this release
Release Info
| Developer | raldea89 |
| Plugin | |
| Version | 1.0.5 |
| Comparing to | |
| See all releases | |
Code changes from version 1.0.4 to 1.0.5
- Gruntfile.js +131 -0
- assets/css/admin/checkemail.css +14 -0
- assets/js/admin/checkemail.js +100 -31
- changelog.txt +11 -3
- check-email.php +2 -1
- include/Core/Check_Email_From_Handler.php +95 -0
- include/Core/Check_Email_Review.php +2 -2
- include/Core/UI/Component/Check_Email_Dashboard_Widget.php +3 -3
- include/Core/UI/Page/Check_Email_Log_List_Page.php +1 -1
- include/Core/UI/Page/Check_Email_Settings_Page.php +104 -15
- include/Core/UI/Page/Check_Email_Status_Page.php +1 -1
- include/Core/UI/Setting/Check_Email_Core_Setting.php +71 -24
- include/Core/UI/Setting/Check_Email_Setting.php +1 -1
- languages/check-email.po +16 -16
- package.json +22 -0
- readme.txt +1 -1
Gruntfile.js
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
'use strict';
|
| 2 |
+
module.exports = function( grunt ) {
|
| 3 |
+
|
| 4 |
+
// load all tasks
|
| 5 |
+
require( 'load-grunt-tasks' )( grunt, { scope: 'devDependencies' } );
|
| 6 |
+
|
| 7 |
+
grunt.config.init( {
|
| 8 |
+
pkg: grunt.file.readJSON( 'package.json' ),
|
| 9 |
+
|
| 10 |
+
dirs: {
|
| 11 |
+
css: '/assets/css',
|
| 12 |
+
js: '/assets/js'
|
| 13 |
+
},
|
| 14 |
+
checktextdomain: {
|
| 15 |
+
standard: {
|
| 16 |
+
options: {
|
| 17 |
+
text_domain: [ 'check-email' ], //Specify allowed domain(s)
|
| 18 |
+
create_report_file: 'true',
|
| 19 |
+
keywords: [ //List keyword specifications
|
| 20 |
+
'__:1,2d',
|
| 21 |
+
'_e:1,2d',
|
| 22 |
+
'_x:1,2c,3d',
|
| 23 |
+
'esc_html__:1,2d',
|
| 24 |
+
'esc_html_e:1,2d',
|
| 25 |
+
'esc_html_x:1,2c,3d',
|
| 26 |
+
'esc_attr__:1,2d',
|
| 27 |
+
'esc_attr_e:1,2d',
|
| 28 |
+
'esc_attr_x:1,2c,3d',
|
| 29 |
+
'_ex:1,2c,3d',
|
| 30 |
+
'_n:1,2,4d',
|
| 31 |
+
'_nx:1,2,4c,5d',
|
| 32 |
+
'_n_noop:1,2,3d',
|
| 33 |
+
'_nx_noop:1,2,3c,4d'
|
| 34 |
+
]
|
| 35 |
+
},
|
| 36 |
+
files: [
|
| 37 |
+
{
|
| 38 |
+
src: [
|
| 39 |
+
'**/*.php',
|
| 40 |
+
'!**/node_modules/**',
|
| 41 |
+
], //all php
|
| 42 |
+
expand: true
|
| 43 |
+
}
|
| 44 |
+
]
|
| 45 |
+
}
|
| 46 |
+
},
|
| 47 |
+
makepot: {
|
| 48 |
+
target: {
|
| 49 |
+
options: {
|
| 50 |
+
cwd: '', // Directory of files to internationalize.
|
| 51 |
+
domainPath: 'languages/', // Where to save the POT file.
|
| 52 |
+
exclude: [], // List of files or directories to ignore.
|
| 53 |
+
include: [], // List of files or directories to include.
|
| 54 |
+
mainFile: 'check-email.php', // Main project file.
|
| 55 |
+
potComments: '', // The copyright at the beginning of the POT file.
|
| 56 |
+
potFilename: 'check-email.po', // Name of the POT file.
|
| 57 |
+
potHeaders: {
|
| 58 |
+
poedit: true, // Includes common Poedit headers.
|
| 59 |
+
'x-poedit-keywordslist': true // Include a list of all possible gettext functions.
|
| 60 |
+
}, // Headers to add to the generated POT file.
|
| 61 |
+
processPot: null, // A callback function for manipulating the POT file.
|
| 62 |
+
type: 'wp-plugin', // Type of project (wp-plugin or wp-theme).
|
| 63 |
+
updateTimestamp: true, // Whether the POT-Creation-Date should be updated without other changes.
|
| 64 |
+
updatePoFiles: false // Whether to update PO files in the same directory as the POT file.
|
| 65 |
+
}
|
| 66 |
+
}
|
| 67 |
+
},
|
| 68 |
+
clean: {
|
| 69 |
+
init: {
|
| 70 |
+
src: [ 'build/' ]
|
| 71 |
+
}
|
| 72 |
+
},
|
| 73 |
+
copy: {
|
| 74 |
+
build: {
|
| 75 |
+
expand: true,
|
| 76 |
+
src: [
|
| 77 |
+
'**',
|
| 78 |
+
'!node_modules/**',
|
| 79 |
+
'!vendor/**',
|
| 80 |
+
'!build/**',
|
| 81 |
+
'!readme.md',
|
| 82 |
+
'!README.md',
|
| 83 |
+
'!phpcs.ruleset.xml',
|
| 84 |
+
'!package-lock.json',
|
| 85 |
+
'!svn-ignore.txt',
|
| 86 |
+
'!Gruntfile.js',
|
| 87 |
+
'!package.json',
|
| 88 |
+
'!composer.json',
|
| 89 |
+
'!composer.lock',
|
| 90 |
+
'!postcss.config.js',
|
| 91 |
+
'!webpack.config.js',
|
| 92 |
+
'!set_tags.sh',
|
| 93 |
+
'!check-email.zip',
|
| 94 |
+
'!old/**',
|
| 95 |
+
'!nbproject/**'
|
| 96 |
+
],
|
| 97 |
+
dest: 'build/'
|
| 98 |
+
}
|
| 99 |
+
},
|
| 100 |
+
|
| 101 |
+
compress: {
|
| 102 |
+
build: {
|
| 103 |
+
options: {
|
| 104 |
+
pretty: true, // Pretty print file sizes when logging.
|
| 105 |
+
archive: '<%= pkg.name %>.zip'
|
| 106 |
+
},
|
| 107 |
+
expand: true,
|
| 108 |
+
cwd: 'build/',
|
| 109 |
+
src: [ '**/*' ],
|
| 110 |
+
dest: '<%= pkg.name %>/'
|
| 111 |
+
}
|
| 112 |
+
},
|
| 113 |
+
|
| 114 |
+
} );
|
| 115 |
+
|
| 116 |
+
grunt.loadNpmTasks( 'grunt-contrib-clean' );
|
| 117 |
+
grunt.loadNpmTasks( 'grunt-contrib-cssmin' );
|
| 118 |
+
|
| 119 |
+
grunt.registerTask( 'textdomain', [
|
| 120 |
+
'checktextdomain',
|
| 121 |
+
'makepot'
|
| 122 |
+
] );
|
| 123 |
+
|
| 124 |
+
// Build task
|
| 125 |
+
grunt.registerTask( 'build-archive', [
|
| 126 |
+
'clean:init',
|
| 127 |
+
'copy',
|
| 128 |
+
'compress:build',
|
| 129 |
+
'clean:init'
|
| 130 |
+
] );
|
| 131 |
+
};
|
assets/css/admin/checkemail.css
CHANGED
|
@@ -36,4 +36,18 @@
|
|
| 36 |
background-color: #FAFAFA;
|
| 37 |
border: 1px solid #CCC;
|
| 38 |
padding: 10px 15px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
}
|
| 36 |
background-color: #FAFAFA;
|
| 37 |
border: 1px solid #CCC;
|
| 38 |
padding: 10px 15px;
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
.tab-content.ce_tab_general .check_email_enable_logs,
|
| 42 |
+
.tab-content.ce_tab_general .check_email_enable_dashboard_widget,
|
| 43 |
+
.tab-content.ce_tab_general .check_email_db_size_notification {
|
| 44 |
+
display: none;
|
| 45 |
+
}
|
| 46 |
+
|
| 47 |
+
.tab-content.ce_tab_logging .check_email_allowed_user_roles,
|
| 48 |
+
.tab-content.ce_tab_logging .check_email_remove_on_uninstall,
|
| 49 |
+
.tab-content.ce_tab_logging .check_email_override_emails_from,
|
| 50 |
+
.tab-content.ce_tab_logging .check_email_email_from_name,
|
| 51 |
+
.tab-content.ce_tab_logging .check_email_email_from_email {
|
| 52 |
+
display: none;
|
| 53 |
}
|
assets/js/admin/checkemail.js
CHANGED
|
@@ -1,34 +1,103 @@
|
|
| 1 |
/**
|
| 2 |
* Show/Hide individual add-on license key input.
|
| 3 |
*/
|
| 4 |
-
(
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
/**
|
| 2 |
* Show/Hide individual add-on license key input.
|
| 3 |
*/
|
| 4 |
+
(function ($) {
|
| 5 |
+
$(document).ready(function () {
|
| 6 |
+
$(".checkemail-hide").hide();
|
| 7 |
+
var widget = $("#check-email-enable-widget").parent().parent();
|
| 8 |
+
var dbNotifications = $("#check-email-enable-db-notifications")
|
| 9 |
+
.parent()
|
| 10 |
+
.parent();
|
| 11 |
+
if (!$("#check-email-enable-logs").is(":checked")) {
|
| 12 |
+
widget.hide();
|
| 13 |
+
dbNotifications.hide();
|
| 14 |
+
}
|
| 15 |
+
|
| 16 |
+
$("#checkemail_autoheaders,#checkemail_customheaders").on(
|
| 17 |
+
"change",
|
| 18 |
+
function () {
|
| 19 |
+
if ($("#checkemail_autoheaders").is(":checked")) {
|
| 20 |
+
$("#customheaders").hide();
|
| 21 |
+
$("#autoheaders").show();
|
| 22 |
+
}
|
| 23 |
+
if ($("#checkemail_customheaders").is(":checked")) {
|
| 24 |
+
$("#autoheaders").hide();
|
| 25 |
+
$("#customheaders").show();
|
| 26 |
+
}
|
| 27 |
+
}
|
| 28 |
+
);
|
| 29 |
+
$("#check-email-enable-logs").on("click", function () {
|
| 30 |
+
if ($(this).is(":checked")) {
|
| 31 |
+
widget.show();
|
| 32 |
+
dbNotifications.show();
|
| 33 |
+
} else {
|
| 34 |
+
widget.hide();
|
| 35 |
+
dbNotifications.hide();
|
| 36 |
+
}
|
| 37 |
+
});
|
| 38 |
+
|
| 39 |
+
var from_name_setting = $("#check-email-from_name").parent().parent();
|
| 40 |
+
var from_email_setting = $("#check-email-from_email").parent().parent();
|
| 41 |
+
if (!$("#check-email-overdide-from").is(":checked")) {
|
| 42 |
+
from_name_setting.hide();
|
| 43 |
+
from_email_setting.hide();
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
$("#check-email-overdide-from").on("click", function () {
|
| 47 |
+
if ($(this).is(":checked")) {
|
| 48 |
+
from_name_setting.show();
|
| 49 |
+
from_email_setting.show();
|
| 50 |
+
} else {
|
| 51 |
+
from_name_setting.hide();
|
| 52 |
+
from_email_setting.hide();
|
| 53 |
+
}
|
| 54 |
+
});
|
| 55 |
+
|
| 56 |
+
function activatePlugin(url) {
|
| 57 |
+
$.ajax({
|
| 58 |
+
async: true,
|
| 59 |
+
type: "GET",
|
| 60 |
+
dataType: "html",
|
| 61 |
+
url: url,
|
| 62 |
+
success: function () {
|
| 63 |
+
location.reload();
|
| 64 |
+
},
|
| 65 |
+
});
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
// Install plugins actions
|
| 69 |
+
$("#install_wp_smtp").on("click", (event) => {
|
| 70 |
+
event.preventDefault();
|
| 71 |
+
const current = $(event.currentTarget);
|
| 72 |
+
const plugin_slug = current.data("slug");
|
| 73 |
+
const plugin_action = current.data("action");
|
| 74 |
+
const activate_url = current.data("activation_url");
|
| 75 |
+
|
| 76 |
+
// Now let's disable the button and show the action text
|
| 77 |
+
current.attr("disabled", true);
|
| 78 |
+
|
| 79 |
+
if ("install" === plugin_action) {
|
| 80 |
+
current.addClass("updating-message");
|
| 81 |
+
|
| 82 |
+
const args = {
|
| 83 |
+
slug: plugin_slug,
|
| 84 |
+
success: (response) => {
|
| 85 |
+
current.html("Activating plugin");
|
| 86 |
+
|
| 87 |
+
activatePlugin(response.activateUrl);
|
| 88 |
+
},
|
| 89 |
+
error: (response) => {
|
| 90 |
+
current.removeClass("updating-message");
|
| 91 |
+
jQuery("#install_wp_smtp_info p").html(response.errorMessage);
|
| 92 |
+
jQuery("#install_wp_smtp_info").addClass("notice-error notice");
|
| 93 |
+
},
|
| 94 |
+
};
|
| 95 |
+
|
| 96 |
+
wp.updates.installPlugin(args);
|
| 97 |
+
} else if ("activate" === plugin_action) {
|
| 98 |
+
activatePlugin(activate_url);
|
| 99 |
+
}
|
| 100 |
+
});
|
| 101 |
+
|
| 102 |
+
});
|
| 103 |
+
})(jQuery);
|
changelog.txt
CHANGED
|
@@ -1,5 +1,11 @@
|
|
| 1 |
== Changelog ==
|
| 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
= v1.0.4 - 28/10/2021 =
|
| 4 |
- Fixed: URL got too long when bulk deleting email logs. (https://github.com/WPChill/check-email/issues/30)
|
| 5 |
- Fixed: Sanitization and Escaping
|
|
@@ -9,6 +15,8 @@
|
|
| 9 |
|
| 10 |
= v1.0.2 - 16/06/2021 =
|
| 11 |
- Added: From column in Email Logs. ( https://github.com/WPChill/check-email/issues/24 )
|
|
|
|
|
|
|
| 12 |
- Added: Translation for roles and notices. ( https://github.com/WPChill/check-email/issues/10 )
|
| 13 |
- Added: Headers of the emails in the view log tab. ( https://github.com/WPChill/check-email/issues/12 )
|
| 14 |
- Fixed: Admin subpages link bug. ( https://github.com/WPChill/check-email/issues/9 )
|
|
@@ -22,13 +30,13 @@
|
|
| 22 |
* Fixed admin menu capabilities.
|
| 23 |
* Rezolved incompatibility with Wp Mail Logging.
|
| 24 |
|
| 25 |
-
= 1.0.0 =
|
| 26 |
* Added Email Logs for all the emails sent through Wordpress.
|
| 27 |
|
| 28 |
= 0.6.1 =
|
| 29 |
Added feedback form. Improved CSS backend.
|
| 30 |
|
| 31 |
-
= 0.6.0 =
|
| 32 |
Fixed loopback error.
|
| 33 |
|
| 34 |
= 0.5.7 =
|
|
@@ -70,7 +78,7 @@ Fixed version number
|
|
| 70 |
= 0.1.2 =
|
| 71 |
Fixed bug in Plugin Register caused by latest version of WordPress
|
| 72 |
|
| 73 |
-
= 0.1.1 =
|
| 74 |
Fixed typo in plugin name
|
| 75 |
|
| 76 |
= 0.1 =
|
| 1 |
== Changelog ==
|
| 2 |
|
| 3 |
+
= v1.0.5 - 10/03/2022 =
|
| 4 |
+
- Fixed: Replaced deprecated jQuery code ( https://github.com/WPChill/check-email/issues/32 )
|
| 5 |
+
- Fixed: HTML code was being shown in dashboard widget ( https://github.com/WPChill/check-email/issues/33 )
|
| 6 |
+
- Added: Tabs and grouped settings by tabs ( https://github.com/WPChill/check-email/issues/37 )
|
| 7 |
+
- Added: Quick install WP SMTP plugin from settings ( https://github.com/WPChill/check-email/issues/37 )
|
| 8 |
+
|
| 9 |
= v1.0.4 - 28/10/2021 =
|
| 10 |
- Fixed: URL got too long when bulk deleting email logs. (https://github.com/WPChill/check-email/issues/30)
|
| 11 |
- Fixed: Sanitization and Escaping
|
| 15 |
|
| 16 |
= v1.0.2 - 16/06/2021 =
|
| 17 |
- Added: From column in Email Logs. ( https://github.com/WPChill/check-email/issues/24 )
|
| 18 |
+
|
| 19 |
+
= v1.0.2 - 16/06/2021 =
|
| 20 |
- Added: Translation for roles and notices. ( https://github.com/WPChill/check-email/issues/10 )
|
| 21 |
- Added: Headers of the emails in the view log tab. ( https://github.com/WPChill/check-email/issues/12 )
|
| 22 |
- Fixed: Admin subpages link bug. ( https://github.com/WPChill/check-email/issues/9 )
|
| 30 |
* Fixed admin menu capabilities.
|
| 31 |
* Rezolved incompatibility with Wp Mail Logging.
|
| 32 |
|
| 33 |
+
= 1.0.0 =
|
| 34 |
* Added Email Logs for all the emails sent through Wordpress.
|
| 35 |
|
| 36 |
= 0.6.1 =
|
| 37 |
Added feedback form. Improved CSS backend.
|
| 38 |
|
| 39 |
+
= 0.6.0 =
|
| 40 |
Fixed loopback error.
|
| 41 |
|
| 42 |
= 0.5.7 =
|
| 78 |
= 0.1.2 =
|
| 79 |
Fixed bug in Plugin Register caused by latest version of WordPress
|
| 80 |
|
| 81 |
+
= 0.1.1 =
|
| 82 |
Fixed typo in plugin name
|
| 83 |
|
| 84 |
= 0.1 =
|
check-email.php
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
* Plugin Name: Check & Log Email
|
| 4 |
* Description: Check & Log email allows you to test if your WordPress installation is sending emails correctly and logs every email.
|
| 5 |
* Author: WPChill
|
| 6 |
-
* Version: 1.0.
|
| 7 |
* Author URI: https://wpchill.com/
|
| 8 |
* License: GPLv3 or later
|
| 9 |
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
|
@@ -99,6 +99,7 @@ function check_email_log( $plugin_file ) {
|
|
| 99 |
$check_email->add_loadie( $capability_giver );
|
| 100 |
$capability_giver->add_cap_to_admin();
|
| 101 |
|
|
|
|
| 102 |
|
| 103 |
// `register_activation_hook` can't be called from inside any hook.
|
| 104 |
register_activation_hook( $plugin_file, array( $check_email->table_manager, 'on_activate' ) );
|
| 3 |
* Plugin Name: Check & Log Email
|
| 4 |
* Description: Check & Log email allows you to test if your WordPress installation is sending emails correctly and logs every email.
|
| 5 |
* Author: WPChill
|
| 6 |
+
* Version: 1.0.5
|
| 7 |
* Author URI: https://wpchill.com/
|
| 8 |
* License: GPLv3 or later
|
| 9 |
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
| 99 |
$check_email->add_loadie( $capability_giver );
|
| 100 |
$capability_giver->add_cap_to_admin();
|
| 101 |
|
| 102 |
+
$check_email->add_loadie( new \CheckEmail\Core\Check_Email_From_Handler() );
|
| 103 |
|
| 104 |
// `register_activation_hook` can't be called from inside any hook.
|
| 105 |
register_activation_hook( $plugin_file, array( $check_email->table_manager, 'on_activate' ) );
|
include/Core/Check_Email_From_Handler.php
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php namespace CheckEmail\Core;
|
| 2 |
+
|
| 3 |
+
defined( 'ABSPATH' ) || exit; // Exit if accessed directly
|
| 4 |
+
|
| 5 |
+
class Check_Email_From_Handler {
|
| 6 |
+
|
| 7 |
+
public $options;
|
| 8 |
+
/**
|
| 9 |
+
* Constructor
|
| 10 |
+
*/
|
| 11 |
+
public function __construct() {
|
| 12 |
+
|
| 13 |
+
$this->options = get_option('check-email-log-core', false);
|
| 14 |
+
|
| 15 |
+
add_filter( 'wp_mail', array( $this, 'override_values'), 15 );
|
| 16 |
+
add_filter( 'wp_mail_from', array($this, 'set_wp_mail_from' ), 99 );
|
| 17 |
+
add_filter( 'wp_mail_from_name', array($this, 'set_wp_mail_from_name' ), 99 );
|
| 18 |
+
}
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
/**
|
| 22 |
+
* Overrides the current wp_mail_from with the one from settings.
|
| 23 |
+
*
|
| 24 |
+
* @param String $email - Wordpress current mail from address.
|
| 25 |
+
* @return String $email - "From" email address set in settings if it exists, else return the $email unchanged
|
| 26 |
+
*
|
| 27 |
+
* @since 1.0.5
|
| 28 |
+
*/
|
| 29 |
+
public function set_wp_mail_from( $email ){
|
| 30 |
+
if( $this->override_enabled() && isset( $this->options['email_from_email'] ) && '' != $this->options['email_from_email']){
|
| 31 |
+
return $this->options['email_from_email'];
|
| 32 |
+
}
|
| 33 |
+
|
| 34 |
+
return $email;
|
| 35 |
+
}
|
| 36 |
+
|
| 37 |
+
/**
|
| 38 |
+
* Overrides the current wp_mail_from_name with the one from settings.
|
| 39 |
+
*
|
| 40 |
+
* @param String $name - Wordpress current mail from name.
|
| 41 |
+
* @return String $name - "From" name set in settings if it exists, else return the $name unchanged
|
| 42 |
+
*
|
| 43 |
+
* @since 1.0.5
|
| 44 |
+
*/
|
| 45 |
+
public function set_wp_mail_from_name( $name ){
|
| 46 |
+
if( $this->override_enabled() && isset( $this->options['email_from_name'] ) && '' != $this->options['email_from_name']){
|
| 47 |
+
return $this->options['email_from_name'];
|
| 48 |
+
}
|
| 49 |
+
|
| 50 |
+
return $name;
|
| 51 |
+
}
|
| 52 |
+
/**
|
| 53 |
+
* Check if the setting to override the default from email and from name is active.
|
| 54 |
+
*
|
| 55 |
+
* @since 1.0.5
|
| 56 |
+
*/
|
| 57 |
+
public function override_enabled(){
|
| 58 |
+
|
| 59 |
+
if( $this->options && isset( $this->options['override_emails_from'] ) && $this->options['override_emails_from'] ){
|
| 60 |
+
return true;
|
| 61 |
+
}
|
| 62 |
+
|
| 63 |
+
return false;
|
| 64 |
+
}
|
| 65 |
+
|
| 66 |
+
/**
|
| 67 |
+
* Replaces the current wp_mail $headers with the values from settings.
|
| 68 |
+
*
|
| 69 |
+
* @param Array $headers - Wordpress current mail headers
|
| 70 |
+
* @return Array $headers - New headers from settings
|
| 71 |
+
*
|
| 72 |
+
* @since 1.0.5
|
| 73 |
+
*/
|
| 74 |
+
public function override_values( $headers ) {
|
| 75 |
+
if( $this->override_enabled() && isset( $this->options['email_from_email'] ) && '' != $this->options['email_from_email']){
|
| 76 |
+
|
| 77 |
+
$headers['headers'] = "MIME-Version: 1.0\r\n";
|
| 78 |
+
|
| 79 |
+
$email = $this->options['email_from_email'];
|
| 80 |
+
|
| 81 |
+
if( $this->override_enabled() && isset( $this->options['email_from_name'] ) && '' != $this->options['email_from_name'] ){
|
| 82 |
+
|
| 83 |
+
$headers['headers'] .= "From: " . $this->options['email_from_name'] . " <". $email .">\r\n" ;
|
| 84 |
+
}else{
|
| 85 |
+
|
| 86 |
+
$headers['headers'] .= "From: <". $email .">\r\n" ;
|
| 87 |
+
}
|
| 88 |
+
|
| 89 |
+
$headers['headers'] .= "Content-Type: text/plain; charset=\"UTF-8\"\r\n";
|
| 90 |
+
}
|
| 91 |
+
|
| 92 |
+
|
| 93 |
+
return $headers;
|
| 94 |
+
}
|
| 95 |
+
}
|
include/Core/Check_Email_Review.php
CHANGED
|
@@ -123,11 +123,11 @@ class Check_Email_Review {
|
|
| 123 |
<script type="text/javascript">
|
| 124 |
jQuery( document ).ready( function( $ ){
|
| 125 |
|
| 126 |
-
$( '#check-email-epsilon-review-notice button' ).
|
| 127 |
$( '#epsilon-no-rate' ).trigger( 'click' );
|
| 128 |
});
|
| 129 |
|
| 130 |
-
$( '.epsilon-review-button' ).
|
| 131 |
var href = $(this).attr('href'),
|
| 132 |
id = $(this).attr('id');
|
| 133 |
|
| 123 |
<script type="text/javascript">
|
| 124 |
jQuery( document ).ready( function( $ ){
|
| 125 |
|
| 126 |
+
$( '#check-email-epsilon-review-notice button' ).on( 'click', function(){
|
| 127 |
$( '#epsilon-no-rate' ).trigger( 'click' );
|
| 128 |
});
|
| 129 |
|
| 130 |
+
$( '.epsilon-review-button' ).on( 'click', function( evt ){
|
| 131 |
var href = $(this).attr('href'),
|
| 132 |
id = $(this).attr('id');
|
| 133 |
|
include/Core/UI/Component/Check_Email_Dashboard_Widget.php
CHANGED
|
@@ -34,9 +34,9 @@ class Check_Email_Dashboard_Widget implements Loadie {
|
|
| 34 |
?>
|
| 35 |
|
| 36 |
<ul class="subsubsub" style="float: none">
|
| 37 |
-
<li><?php printf(
|
| 38 |
-
<li><?php printf(
|
| 39 |
-
<li><?php printf(
|
| 40 |
</ul>
|
| 41 |
|
| 42 |
<?php
|
| 34 |
?>
|
| 35 |
|
| 36 |
<ul class="subsubsub" style="float: none">
|
| 37 |
+
<li><?php printf( wp_kses_post( __( '<a href="%s">Status</a>', 'check-email' ) ), 'admin.php?page=check-email-status' ); ?> <span style="color: #ddd"> | </span></li>
|
| 38 |
+
<li><?php printf( wp_kses_post( __( '<a href="%s">Email Logs</a>', 'check-email' ) ), 'admin.php?page=check-email-logs' ); ?> <span style="color: #ddd"> | </span></li>
|
| 39 |
+
<li><?php printf( wp_kses_post( __( '<a href="%s">Settings</a>', 'check-email' ) ), 'admin.php?page=check-email-settings' ); ?> <span style="color: #ddd"> | </span></li>
|
| 40 |
</ul>
|
| 41 |
|
| 42 |
<?php
|
include/Core/UI/Page/Check_Email_Log_List_Page.php
CHANGED
|
@@ -127,7 +127,7 @@ class Check_Email_Log_List_Page extends Check_Email_BasePage {
|
|
| 127 |
|
| 128 |
wp_register_style( 'jquery-ui-css', $plugin_dir_url . 'assets/vendor/jquery-ui/themes/base/jquery-ui.min.css', array(), '1.12.1' );
|
| 129 |
|
| 130 |
-
wp_register_script( 'insertionQ', $plugin_dir_url . 'assets/vendor/insertion-query/insQ.min.js', array( 'jquery' ), '1.0.
|
| 131 |
|
| 132 |
wp_enqueue_script( 'check-email-view-logs', $plugin_dir_url . 'assets/js/admin/view-logs.js', array( 'insertionQ', 'jquery-ui-core', 'jquery-ui-datepicker', 'jquery-ui-tooltip', 'jquery-ui-tabs' ), $check_email->get_version(), true );
|
| 133 |
}
|
| 127 |
|
| 128 |
wp_register_style( 'jquery-ui-css', $plugin_dir_url . 'assets/vendor/jquery-ui/themes/base/jquery-ui.min.css', array(), '1.12.1' );
|
| 129 |
|
| 130 |
+
wp_register_script( 'insertionQ', $plugin_dir_url . 'assets/vendor/insertion-query/insQ.min.js', array( 'jquery' ), '1.0.5', true );
|
| 131 |
|
| 132 |
wp_enqueue_script( 'check-email-view-logs', $plugin_dir_url . 'assets/js/admin/view-logs.js', array( 'insertionQ', 'jquery-ui-core', 'jquery-ui-datepicker', 'jquery-ui-tooltip', 'jquery-ui-tabs' ), $check_email->get_version(), true );
|
| 133 |
}
|
include/Core/UI/Page/Check_Email_Settings_Page.php
CHANGED
|
@@ -5,19 +5,24 @@ defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
|
|
| 5 |
class Check_Email_Settings_Page extends Check_Email_BasePage {
|
| 6 |
|
| 7 |
const PAGE_SLUG = 'check-email-settings';
|
| 8 |
-
|
| 9 |
public function load() {
|
| 10 |
parent::load();
|
| 11 |
|
| 12 |
add_action( 'admin_init', array( $this, 'register_settings' ) );
|
|
|
|
|
|
|
| 13 |
}
|
| 14 |
|
| 15 |
public function register_settings() {
|
| 16 |
$sections = $this->get_setting_sections();
|
| 17 |
|
| 18 |
foreach ( $sections as $section ) {
|
|
|
|
|
|
|
|
|
|
| 19 |
register_setting(
|
| 20 |
-
|
| 21 |
$section->option_name,
|
| 22 |
array( 'sanitize_callback' => $section->sanitize_callback )
|
| 23 |
);
|
|
@@ -26,7 +31,7 @@ class Check_Email_Settings_Page extends Check_Email_BasePage {
|
|
| 26 |
$section->id,
|
| 27 |
$section->title,
|
| 28 |
$section->callback,
|
| 29 |
-
|
| 30 |
);
|
| 31 |
|
| 32 |
foreach ( $section->fields as $field ) {
|
|
@@ -34,7 +39,7 @@ class Check_Email_Settings_Page extends Check_Email_BasePage {
|
|
| 34 |
$section->id . '[' . $field->id . ']',
|
| 35 |
$field->title,
|
| 36 |
$field->callback,
|
| 37 |
-
|
| 38 |
$section->id,
|
| 39 |
$field->args
|
| 40 |
);
|
|
@@ -64,22 +69,106 @@ class Check_Email_Settings_Page extends Check_Email_BasePage {
|
|
| 64 |
);
|
| 65 |
|
| 66 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 67 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
public function render_page() {
|
|
|
|
|
|
|
|
|
|
| 69 |
?>
|
| 70 |
<div class="wrap">
|
| 71 |
-
<h1><?php esc_html_e( 'Email Log Settings', 'check-email' ); ?></h1>
|
| 72 |
-
|
| 73 |
-
<form method="post" action="options.php">
|
| 74 |
-
<?php
|
| 75 |
-
settings_errors();
|
| 76 |
-
settings_fields( self::PAGE_SLUG );
|
| 77 |
-
do_settings_sections( self::PAGE_SLUG );
|
| 78 |
-
|
| 79 |
-
submit_button( esc_html__( 'Save', 'check-email' ) );
|
| 80 |
-
?>
|
| 81 |
-
</form>
|
| 82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
</div>
|
| 84 |
<?php
|
| 85 |
|
| 5 |
class Check_Email_Settings_Page extends Check_Email_BasePage {
|
| 6 |
|
| 7 |
const PAGE_SLUG = 'check-email-settings';
|
| 8 |
+
public $page_slug;
|
| 9 |
public function load() {
|
| 10 |
parent::load();
|
| 11 |
|
| 12 |
add_action( 'admin_init', array( $this, 'register_settings' ) );
|
| 13 |
+
add_action( 'wp_ajax_oneclick_smtp_install', array( $this, 'install_plugin' ) );
|
| 14 |
+
add_action( 'wp_ajax_oneclick_smtp_activate', array( $this, 'activate_plugin' ) );
|
| 15 |
}
|
| 16 |
|
| 17 |
public function register_settings() {
|
| 18 |
$sections = $this->get_setting_sections();
|
| 19 |
|
| 20 |
foreach ( $sections as $section ) {
|
| 21 |
+
if( !isset( $section->page_slug ) )
|
| 22 |
+
continue;
|
| 23 |
+
$this->page_slug = $section->page_slug;
|
| 24 |
register_setting(
|
| 25 |
+
$this->page_slug ,
|
| 26 |
$section->option_name,
|
| 27 |
array( 'sanitize_callback' => $section->sanitize_callback )
|
| 28 |
);
|
| 31 |
$section->id,
|
| 32 |
$section->title,
|
| 33 |
$section->callback,
|
| 34 |
+
$this->page_slug
|
| 35 |
);
|
| 36 |
|
| 37 |
foreach ( $section->fields as $field ) {
|
| 39 |
$section->id . '[' . $field->id . ']',
|
| 40 |
$field->title,
|
| 41 |
$field->callback,
|
| 42 |
+
$this->page_slug,
|
| 43 |
$section->id,
|
| 44 |
$field->args
|
| 45 |
);
|
| 69 |
);
|
| 70 |
|
| 71 |
}
|
| 72 |
+
/**
|
| 73 |
+
* Checks if SMTP plugin is installed and/or active
|
| 74 |
+
* @return string
|
| 75 |
+
* @since 1.0.5
|
| 76 |
+
*/
|
| 77 |
+
public function is_smtp_installed() {
|
| 78 |
+
if ( ! function_exists( 'get_plugins' ) ) {
|
| 79 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
| 80 |
+
}
|
| 81 |
+
|
| 82 |
+
$all_plugins = get_plugins();
|
| 83 |
+
|
| 84 |
+
if ( empty( $all_plugins['wp-smtp/wp-smtp.php'] ) ) {
|
| 85 |
+
|
| 86 |
+
return 'install';
|
| 87 |
+
}else{
|
| 88 |
+
if( !is_plugin_active( 'wp-smtp/wp-smtp.php' ) ){
|
| 89 |
+
|
| 90 |
+
return 'activate';
|
| 91 |
+
}else{
|
| 92 |
+
return 'false';
|
| 93 |
+
}
|
| 94 |
+
}
|
| 95 |
+
}
|
| 96 |
|
| 97 |
+
/**
|
| 98 |
+
* Renders the plugin settings page HTML
|
| 99 |
+
*
|
| 100 |
+
* @since 1.0.5
|
| 101 |
+
*/
|
| 102 |
public function render_page() {
|
| 103 |
+
|
| 104 |
+
$tab = isset( $_GET['tab']) ? $_GET['tab'] : 'general';
|
| 105 |
+
|
| 106 |
?>
|
| 107 |
<div class="wrap">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 108 |
|
| 109 |
+
<nav class="nav-tab-wrapper">
|
| 110 |
+
<a href="?page=check-email-settings" class="nav-tab <?php if( 'general' == $tab ):?>nav-tab-active<?php endif; ?>"><?php esc_html_e( 'General', 'check-email' ); ?></a>
|
| 111 |
+
<a href="?page=check-email-settings&tab=logging" class="nav-tab <?php if( 'logging' == $tab ):?>nav-tab-active<?php endif; ?>"><?php esc_html_e( 'Logging', 'check-email' ); ?></a>
|
| 112 |
+
<a href="?page=check-email-settings&tab=smtp" class="nav-tab <?php if( 'smtp' == $tab ):?>nav-tab-active<?php endif; ?>"><?php esc_html_e( 'SMTP', 'check-email' ); ?></a>
|
| 113 |
+
<a href="https://docs.google.com/forms/d/e/1FAIpQLSdhHrYons-oMg_9oEDVvx8VTvzdeCQpT4PnG6KLCjYPiyQfXg/viewform" target="_blank" class="nav-tab"><span class="dashicons dashicons-external"></span><?php esc_html_e( 'Suggest a feature', 'check-email' ); ?></a>
|
| 114 |
+
</nav>
|
| 115 |
+
|
| 116 |
+
<div class="tab-content ce_tab_<?php echo $tab; ?>">
|
| 117 |
+
|
| 118 |
+
<?php if( 'general' == $tab ): ?>
|
| 119 |
+
<h2><?php esc_html_e( 'Core Check Email Log Settings', 'check-email' ); ?></h2>
|
| 120 |
+
<?php elseif( 'logging' == $tab ): ?>
|
| 121 |
+
<h2><?php esc_html_e( 'Logging', 'check-email' ); ?></h2>
|
| 122 |
+
<?php elseif( 'smtp' == $tab ): ?>
|
| 123 |
+
<h2><?php esc_html_e( 'WP SMTP Installer', 'check-email' ); ?></h2>
|
| 124 |
+
<?php endif; ?>
|
| 125 |
+
|
| 126 |
+
<?php if( 'smtp' !== $tab ): ?>
|
| 127 |
+
<?php $submit_url = ( '' != $tab ) ? add_query_arg( 'tab', $tab, admin_url( 'options.php' ) ) : 'options.php'; ?>
|
| 128 |
+
<form method="post" action="<?php echo esc_url( $submit_url ); ?>">
|
| 129 |
+
<?php
|
| 130 |
+
settings_errors();
|
| 131 |
+
settings_fields( $this->page_slug );
|
| 132 |
+
do_settings_sections( $this->page_slug );
|
| 133 |
+
submit_button( esc_html__( 'Save', 'check-email' ) );
|
| 134 |
+
?>
|
| 135 |
+
</form>
|
| 136 |
+
<?php elseif( 'smtp' == $tab ): ?>
|
| 137 |
+
<table class="form-table" role="presentation">
|
| 138 |
+
<tbody>
|
| 139 |
+
<tr>
|
| 140 |
+
<th scope="row"><?php esc_html_e( 'Install WP SMTP', 'check-email' ); ?></th>
|
| 141 |
+
<?php $smtp_status = $this->is_smtp_installed(); ?>
|
| 142 |
+
<?php if( 'false' != $smtp_status ): ?>
|
| 143 |
+
<?php
|
| 144 |
+
$activate_url = add_query_arg(
|
| 145 |
+
array(
|
| 146 |
+
'action' => 'activate',
|
| 147 |
+
'plugin' => rawurlencode( 'wp-smtp/wp-smtp.php' ),
|
| 148 |
+
'plugin_status' => 'all',
|
| 149 |
+
'paged' => '1',
|
| 150 |
+
'_wpnonce' => wp_create_nonce( 'activate-plugin_wp-smtp/wp-smtp.php' ),
|
| 151 |
+
),
|
| 152 |
+
admin_url( 'plugins.php' )
|
| 153 |
+
);
|
| 154 |
+
?>
|
| 155 |
+
<td>
|
| 156 |
+
<div class="install_plugin_wrap">
|
| 157 |
+
<button id="install_wp_smtp" class="button" data-slug="wp-smtp" data-action="<?php echo ( 'install' == $smtp_status ? 'install' : 'activate' ); ?>" data-activation_url="<?php echo $activate_url; ?>"><?php echo sprintf( esc_html__( '%s SMTP', 'check-email' ), ( 'install' == $smtp_status ? 'Install' : 'Activate' ) ); ?></button>
|
| 158 |
+
<div id="install_wp_smtp_info"> <p><?php echo sprintf( esc_html__( 'Click to %s WP SMTP', 'check-email' ), ( 'install' == $smtp_status ? 'install' : 'activate' ) ) ; ?> </p></div>
|
| 159 |
+
</div>
|
| 160 |
+
|
| 161 |
+
</td>
|
| 162 |
+
<?php else: ?>
|
| 163 |
+
<td>
|
| 164 |
+
<div class="install_wp_smtp_wrap"> <?php esc_html_e( 'WP SMTP is allready installed and activated.', 'check-email' ); ?></div>
|
| 165 |
+
</td>
|
| 166 |
+
<?php endif; ?>
|
| 167 |
+
</tr>
|
| 168 |
+
</tbody>
|
| 169 |
+
</table>
|
| 170 |
+
<?php endif; ?>
|
| 171 |
+
</div>
|
| 172 |
</div>
|
| 173 |
<?php
|
| 174 |
|
include/Core/UI/Page/Check_Email_Status_Page.php
CHANGED
|
@@ -149,6 +149,6 @@ class Check_Email_Status_Page extends Check_Email_BasePage {
|
|
| 149 |
$check_email = wpchill_check_email();
|
| 150 |
$plugin_dir_url = plugin_dir_url( $check_email->get_plugin_file() );
|
| 151 |
wp_enqueue_style( 'checkemail-css', $plugin_dir_url . 'assets/css/admin/checkemail.css', array(), $check_email->get_version() );
|
| 152 |
-
wp_enqueue_script( 'checkemail', $plugin_dir_url . 'assets/js/admin/checkemail.js', array(), $check_email->get_version(), true );
|
| 153 |
}
|
| 154 |
}
|
| 149 |
$check_email = wpchill_check_email();
|
| 150 |
$plugin_dir_url = plugin_dir_url( $check_email->get_plugin_file() );
|
| 151 |
wp_enqueue_style( 'checkemail-css', $plugin_dir_url . 'assets/css/admin/checkemail.css', array(), $check_email->get_version() );
|
| 152 |
+
wp_enqueue_script( 'checkemail', $plugin_dir_url . 'assets/js/admin/checkemail.js', array( 'jquery', 'updates' ), $check_email->get_version(), true );
|
| 153 |
}
|
| 154 |
}
|
include/Core/UI/Setting/Check_Email_Core_Setting.php
CHANGED
|
@@ -8,33 +8,41 @@ defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
|
|
| 8 |
class Check_Email_Core_Setting extends Check_Email_Setting {
|
| 9 |
|
| 10 |
protected function initialize() {
|
| 11 |
-
$this->section->id = 'check-email-log-core';
|
| 12 |
-
$this->section->title = esc_html__( 'Core Check Email Log Settings', 'check-email' );
|
| 13 |
-
$this->section->option_name = 'check-email-log-core';
|
| 14 |
-
|
| 15 |
-
$this->section->field_labels = array(
|
| 16 |
-
'allowed_user_roles' => esc_html__( 'Allowed User Roles', 'check-email' ),
|
| 17 |
-
'enable_logs' => esc_html__( 'Enable Logs', 'check-email' ),
|
| 18 |
-
'enable_dashboard_widget' => esc_html__( 'Enable Dashboard Widget', 'check-email' ),
|
| 19 |
-
'db_size_notification' => esc_html__( 'Database Size Notification', 'check-email' ),
|
| 20 |
-
'remove_on_uninstall' => esc_html__( 'Remove Data on Uninstall?', 'check-email' ),
|
| 21 |
-
);
|
| 22 |
|
| 23 |
-
|
| 24 |
-
'
|
| 25 |
-
'
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
'
|
| 29 |
-
'
|
| 30 |
-
'
|
| 31 |
-
'
|
| 32 |
-
'
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
|
| 37 |
$this->load();
|
|
|
|
| 38 |
}
|
| 39 |
|
| 40 |
public function load() {
|
|
@@ -369,4 +377,43 @@ EOT;
|
|
| 369 |
<?php
|
| 370 |
}
|
| 371 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 372 |
}
|
| 8 |
class Check_Email_Core_Setting extends Check_Email_Setting {
|
| 9 |
|
| 10 |
protected function initialize() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
|
| 12 |
+
$this->section->page_slug = 'check-email-settings';
|
| 13 |
+
$this->section->id = 'check-email-log-core';
|
| 14 |
+
$this->section->option_name = 'check-email-log-core';
|
| 15 |
+
|
| 16 |
+
$this->section->field_labels = array(
|
| 17 |
+
'allowed_user_roles' => esc_html__( 'Allowed User Roles', 'check-email' ),
|
| 18 |
+
'remove_on_uninstall' => esc_html__( 'Remove Data on Uninstall?', 'check-email' ),
|
| 19 |
+
'override_emails_from' => esc_html__( 'Override Emails From', 'check-email' ),
|
| 20 |
+
'email_from_name' => esc_html__( 'Change the "from" name.', 'check-email' ),
|
| 21 |
+
'email_from_email' => esc_html__( 'Change the "from" email.', 'check-email' ),
|
| 22 |
+
'enable_logs' => esc_html__( 'Enable Logs', 'check-email' ),
|
| 23 |
+
'enable_dashboard_widget' => esc_html__( 'Enable Dashboard Widget', 'check-email' ),
|
| 24 |
+
'db_size_notification' => esc_html__( 'Database Size Notification', 'check-email' ),
|
| 25 |
+
);
|
| 26 |
+
|
| 27 |
+
$this->section->default_value = array(
|
| 28 |
+
'allowed_user_roles' => array(),
|
| 29 |
+
'remove_on_uninstall' => '',
|
| 30 |
+
'email_from_name' => '',
|
| 31 |
+
'email_from_email' => '',
|
| 32 |
+
'override_emails_from' => false,
|
| 33 |
+
'enable_logs' => false,
|
| 34 |
+
'enable_dashboard_widget' => false,
|
| 35 |
+
'db_size_notification' => array(
|
| 36 |
+
'notify' => false,
|
| 37 |
+
'admin_email' => '',
|
| 38 |
+
'logs_threshold' => '',
|
| 39 |
+
'log_threshold_met' => false,
|
| 40 |
+
'threshold_email_last_sent' => false,
|
| 41 |
+
)
|
| 42 |
+
);
|
| 43 |
|
| 44 |
$this->load();
|
| 45 |
+
|
| 46 |
}
|
| 47 |
|
| 48 |
public function load() {
|
| 377 |
<?php
|
| 378 |
}
|
| 379 |
|
| 380 |
+
public function render_override_emails_from_settings( $args ){
|
| 381 |
+
|
| 382 |
+
$option = $this->get_value();
|
| 383 |
+
$field_value = $option[ $args['id'] ];
|
| 384 |
+
$field_name = $this->section->option_name . '[' . $args['id'] . ']';
|
| 385 |
+
?>
|
| 386 |
+
<input id="check-email-overdide-from" type="checkbox" name="<?php echo esc_attr( $field_name ); ?>" value="true" <?php checked( 'true', $field_value ); ?>>
|
| 387 |
+
<?php esc_html_e( 'Check this box if you would like override wordpress default from email and name.', 'check-email' ) ?>
|
| 388 |
+
<?php
|
| 389 |
+
|
| 390 |
+
}
|
| 391 |
+
|
| 392 |
+
public function render_email_from_name_settings( $args ){
|
| 393 |
+
|
| 394 |
+
$option = $this->get_value();
|
| 395 |
+
$field_value = $option[ $args['id'] ];
|
| 396 |
+
$field_name = $this->section->option_name . '[' . $args['id'] . ']';
|
| 397 |
+
|
| 398 |
+
echo sprintf(
|
| 399 |
+
'<input id="check-email-from_name" type="text" name="%s" value="%s" size="35" />',
|
| 400 |
+
esc_attr( $field_name ),
|
| 401 |
+
esc_attr( $field_value )
|
| 402 |
+
);
|
| 403 |
+
|
| 404 |
+
}
|
| 405 |
+
|
| 406 |
+
|
| 407 |
+
public function render_email_from_email_settings( $args ){
|
| 408 |
+
|
| 409 |
+
$option = $this->get_value();
|
| 410 |
+
$field_value = $option[ $args['id'] ];
|
| 411 |
+
$field_name = $this->section->option_name . '[' . $args['id'] . ']';
|
| 412 |
+
|
| 413 |
+
echo sprintf(
|
| 414 |
+
'<input id="check-email-from_email" type="email" name="%s" value="%s" size="35" />',
|
| 415 |
+
esc_attr( $field_name ),
|
| 416 |
+
esc_attr( $field_value )
|
| 417 |
+
);
|
| 418 |
+
}
|
| 419 |
}
|
include/Core/UI/Setting/Check_Email_Setting.php
CHANGED
|
@@ -73,7 +73,7 @@ abstract class Check_Email_Setting {
|
|
| 73 |
$field = new Check_Email_Log_Setting_Field();
|
| 74 |
$field->id = $field_id;
|
| 75 |
$field->title = $label;
|
| 76 |
-
$field->args = array( 'id' => $field_id );
|
| 77 |
$field->callback = array( $this, 'render_' . $field_id . '_settings' );
|
| 78 |
|
| 79 |
$fields[] = $field;
|
| 73 |
$field = new Check_Email_Log_Setting_Field();
|
| 74 |
$field->id = $field_id;
|
| 75 |
$field->title = $label;
|
| 76 |
+
$field->args = array( 'id' => $field_id, 'class' => 'check_email_'.$field_id );
|
| 77 |
$field->callback = array( $this, 'render_' . $field_id . '_settings' );
|
| 78 |
|
| 79 |
$fields[] = $field;
|
languages/check-email.po
CHANGED
|
@@ -4,7 +4,7 @@ msgid ""
|
|
| 4 |
msgstr ""
|
| 5 |
"Project-Id-Version: Check & Log Email 1.0.2\n"
|
| 6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/check-email\n"
|
| 7 |
-
"POT-Creation-Date: 2021-
|
| 8 |
"MIME-Version: 1.0\n"
|
| 9 |
"Content-Type: text/plain; charset=utf-8\n"
|
| 10 |
"Content-Transfer-Encoding: 8bit\n"
|
|
@@ -313,49 +313,49 @@ msgstr ""
|
|
| 313 |
msgid "Administrator always has access and cannot be disabled."
|
| 314 |
msgstr ""
|
| 315 |
|
| 316 |
-
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:
|
| 317 |
msgid "Check this box if you would like to log your emails."
|
| 318 |
msgstr ""
|
| 319 |
|
| 320 |
-
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:
|
| 321 |
msgid ""
|
| 322 |
"Check this box if you would like to completely remove all of its data when "
|
| 323 |
"the plugin is deleted."
|
| 324 |
msgstr ""
|
| 325 |
|
| 326 |
-
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:
|
| 327 |
msgid "Check this box if you would like to enable dashboard widget."
|
| 328 |
msgstr ""
|
| 329 |
|
| 330 |
-
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:
|
| 331 |
msgid "Notify %1$s if there are more than %2$s logs."
|
| 332 |
msgstr ""
|
| 333 |
|
| 334 |
-
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:
|
| 335 |
msgid "%1$s There are %2$s email logs currently logged in the database."
|
| 336 |
msgstr ""
|
| 337 |
|
| 338 |
-
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:
|
| 339 |
msgid "Note"
|
| 340 |
msgstr ""
|
| 341 |
|
| 342 |
-
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:
|
| 343 |
msgid ""
|
| 344 |
"Last notification email was sent on %1$s. Click %2$s button to reset "
|
| 345 |
"sending the notification."
|
| 346 |
msgstr ""
|
| 347 |
|
| 348 |
-
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:
|
| 349 |
msgid "Check & Log Email: Your log threshold of %s has been met"
|
| 350 |
msgstr ""
|
| 351 |
|
| 352 |
-
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:
|
| 353 |
msgid ""
|
| 354 |
"Currently there are %1$s logged, which is more than the threshold. You can "
|
| 355 |
"delete some logs or increase the threshold."
|
| 356 |
msgstr ""
|
| 357 |
|
| 358 |
-
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:
|
| 359 |
msgid " email log"
|
| 360 |
msgid_plural " email logs"
|
| 361 |
msgstr[0] ""
|
|
@@ -377,27 +377,27 @@ msgid "View Content"
|
|
| 377 |
msgstr ""
|
| 378 |
|
| 379 |
#: include/Core/UI/list_table/Check_Email_Log_List_Table.php:92
|
| 380 |
-
#: include/Core/UI/list_table/Check_Email_Log_List_Table.php:
|
| 381 |
#: include/class-check-email-log-list-table.php:77
|
| 382 |
#: include/class-check-email-log-list-table.php:107
|
| 383 |
msgid "Delete"
|
| 384 |
msgstr ""
|
| 385 |
|
| 386 |
-
#: include/Core/UI/list_table/Check_Email_Log_List_Table.php:
|
| 387 |
#: include/class-check-email-log-list-table.php:108
|
| 388 |
msgid "Delete All Logs"
|
| 389 |
msgstr ""
|
| 390 |
|
| 391 |
-
#: include/Core/UI/list_table/Check_Email_Log_List_Table.php:
|
| 392 |
#: include/class-check-email-log-list-table.php:206
|
| 393 |
msgid "Your email log is empty"
|
| 394 |
msgstr ""
|
| 395 |
|
| 396 |
-
#: include/Core/UI/list_table/Check_Email_Log_List_Table.php:
|
| 397 |
msgid "Search by date"
|
| 398 |
msgstr ""
|
| 399 |
|
| 400 |
-
#: include/Core/UI/list_table/Check_Email_Log_List_Table.php:
|
| 401 |
msgid "Search by term"
|
| 402 |
msgstr ""
|
| 403 |
|
| 4 |
msgstr ""
|
| 5 |
"Project-Id-Version: Check & Log Email 1.0.2\n"
|
| 6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/check-email\n"
|
| 7 |
+
"POT-Creation-Date: 2021-07-07 09:28:35+00:00\n"
|
| 8 |
"MIME-Version: 1.0\n"
|
| 9 |
"Content-Type: text/plain; charset=utf-8\n"
|
| 10 |
"Content-Transfer-Encoding: 8bit\n"
|
| 313 |
msgid "Administrator always has access and cannot be disabled."
|
| 314 |
msgstr ""
|
| 315 |
|
| 316 |
+
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:99
|
| 317 |
msgid "Check this box if you would like to log your emails."
|
| 318 |
msgstr ""
|
| 319 |
|
| 320 |
+
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:115
|
| 321 |
msgid ""
|
| 322 |
"Check this box if you would like to completely remove all of its data when "
|
| 323 |
"the plugin is deleted."
|
| 324 |
msgstr ""
|
| 325 |
|
| 326 |
+
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:156
|
| 327 |
msgid "Check this box if you would like to enable dashboard widget."
|
| 328 |
msgstr ""
|
| 329 |
|
| 330 |
+
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:199
|
| 331 |
msgid "Notify %1$s if there are more than %2$s logs."
|
| 332 |
msgstr ""
|
| 333 |
|
| 334 |
+
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:208
|
| 335 |
msgid "%1$s There are %2$s email logs currently logged in the database."
|
| 336 |
msgstr ""
|
| 337 |
|
| 338 |
+
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:209
|
| 339 |
msgid "Note"
|
| 340 |
msgstr ""
|
| 341 |
|
| 342 |
+
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:219
|
| 343 |
msgid ""
|
| 344 |
"Last notification email was sent on %1$s. Click %2$s button to reset "
|
| 345 |
"sending the notification."
|
| 346 |
msgstr ""
|
| 347 |
|
| 348 |
+
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:333
|
| 349 |
msgid "Check & Log Email: Your log threshold of %s has been met"
|
| 350 |
msgstr ""
|
| 351 |
|
| 352 |
+
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:360
|
| 353 |
msgid ""
|
| 354 |
"Currently there are %1$s logged, which is more than the threshold. You can "
|
| 355 |
"delete some logs or increase the threshold."
|
| 356 |
msgstr ""
|
| 357 |
|
| 358 |
+
#: include/Core/UI/Setting/Check_Email_Core_Setting.php:361
|
| 359 |
msgid " email log"
|
| 360 |
msgid_plural " email logs"
|
| 361 |
msgstr[0] ""
|
| 377 |
msgstr ""
|
| 378 |
|
| 379 |
#: include/Core/UI/list_table/Check_Email_Log_List_Table.php:92
|
| 380 |
+
#: include/Core/UI/list_table/Check_Email_Log_List_Table.php:169
|
| 381 |
#: include/class-check-email-log-list-table.php:77
|
| 382 |
#: include/class-check-email-log-list-table.php:107
|
| 383 |
msgid "Delete"
|
| 384 |
msgstr ""
|
| 385 |
|
| 386 |
+
#: include/Core/UI/list_table/Check_Email_Log_List_Table.php:170
|
| 387 |
#: include/class-check-email-log-list-table.php:108
|
| 388 |
msgid "Delete All Logs"
|
| 389 |
msgstr ""
|
| 390 |
|
| 391 |
+
#: include/Core/UI/list_table/Check_Email_Log_List_Table.php:197
|
| 392 |
#: include/class-check-email-log-list-table.php:206
|
| 393 |
msgid "Your email log is empty"
|
| 394 |
msgstr ""
|
| 395 |
|
| 396 |
+
#: include/Core/UI/list_table/Check_Email_Log_List_Table.php:216
|
| 397 |
msgid "Search by date"
|
| 398 |
msgstr ""
|
| 399 |
|
| 400 |
+
#: include/Core/UI/list_table/Check_Email_Log_List_Table.php:217
|
| 401 |
msgid "Search by term"
|
| 402 |
msgstr ""
|
| 403 |
|
package.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "check-email",
|
| 3 |
+
"main": "Gruntfile.js",
|
| 4 |
+
"version": "2.1.0",
|
| 5 |
+
"author": "Macho Themes",
|
| 6 |
+
"license": "GPL v3",
|
| 7 |
+
"repository": "https://github.com/MachoThemes/check-email",
|
| 8 |
+
"devDependencies": {
|
| 9 |
+
"grunt": "^1.4.1",
|
| 10 |
+
"grunt-checktextdomain": "^1.0.1",
|
| 11 |
+
"grunt-cli": "^1.4.3",
|
| 12 |
+
"grunt-contrib-clean": "^2.0.0",
|
| 13 |
+
"grunt-contrib-compress": "^2.0.0",
|
| 14 |
+
"grunt-contrib-concat": "^1.0.1",
|
| 15 |
+
"grunt-contrib-copy": "^1.0.0",
|
| 16 |
+
"grunt-wp-i18n": "^1.0.3",
|
| 17 |
+
"load-grunt-tasks": "^5.1.0"
|
| 18 |
+
},
|
| 19 |
+
"dependencies": {
|
| 20 |
+
"npm": "^7.19.1"
|
| 21 |
+
}
|
| 22 |
+
}
|
readme.txt
CHANGED
|
@@ -3,7 +3,7 @@ Contributors: wpchill, silkalns, giucu91
|
|
| 3 |
Tags: check, test, email, smtp, pop, send, delivery
|
| 4 |
Requires at least: 5.0
|
| 5 |
Tested up to: 5.9
|
| 6 |
-
Stable tag: 1.0.
|
| 7 |
|
| 8 |
Check & Log email allows you to test if your WordPress installation is sending emails correctly by sending a test email to an address of your choice. Allows overriding of email headers and carbon copying to another address.
|
| 9 |
|
| 3 |
Tags: check, test, email, smtp, pop, send, delivery
|
| 4 |
Requires at least: 5.0
|
| 5 |
Tested up to: 5.9
|
| 6 |
+
Stable tag: 1.0.5
|
| 7 |
|
| 8 |
Check & Log email allows you to test if your WordPress installation is sending emails correctly by sending a test email to an address of your choice. Allows overriding of email headers and carbon copying to another address.
|
| 9 |
|
