initial
This commit is contained in:
+196
@@ -0,0 +1,196 @@
|
||||
<?php
|
||||
|
||||
namespace Gravity_Forms\Gravity_SMTP\Apps\Config;
|
||||
|
||||
use Gravity_Forms\Gravity_SMTP\Apps\App_Service_Provider;
|
||||
use Gravity_Forms\Gravity_SMTP\Connectors\Connector_Service_Provider;
|
||||
use Gravity_Forms\Gravity_SMTP\Gravity_SMTP;
|
||||
use Gravity_Forms\Gravity_Tools\Config;
|
||||
|
||||
class Email_Log_Single_Config extends Config {
|
||||
|
||||
protected $script_to_localize = 'gravitysmtp_scripts_admin';
|
||||
protected $name = 'gravitysmtp_admin_config';
|
||||
protected $overwrite = false;
|
||||
|
||||
public function should_enqueue() {
|
||||
if ( ! is_admin() ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$page = filter_input( INPUT_GET, 'page' );
|
||||
|
||||
if ( ! is_string( $page ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$page = htmlspecialchars( $page );
|
||||
$event_id = filter_input( INPUT_GET, 'event_id', FILTER_SANITIZE_NUMBER_INT );
|
||||
|
||||
if ( $page !== 'gravitysmtp-activity-log' || empty( $event_id ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function get_i18n() {
|
||||
return array(
|
||||
'error_alert_title' => esc_html__( 'Error Saving', 'gravitysmtp' ),
|
||||
'error_alert_generic_message' => esc_html__( 'Could not save; please check your logs.', 'gravitysmtp' ),
|
||||
'error_alert_close_text' => esc_html__( 'Close', 'gravitysmtp' ),
|
||||
'log_detail' => array(
|
||||
'top_heading' => esc_html__( 'Email Log Details', 'gravitysmtp' ),
|
||||
// 'top_content' => esc_html__( '', 'gravitysmtp' ),
|
||||
'top_error' => esc_html__( 'The email could not be found, go back and try again.', 'gravitysmtp' ),
|
||||
'action_button_view_email_label' => esc_html__( 'View Email', 'gravitysmtp' ),
|
||||
'action_button_resend_label' => esc_html__( 'Resend', 'gravitysmtp' ),
|
||||
'action_button_print_label' => esc_html__( 'Print', 'gravitysmtp' ),
|
||||
'action_button_export_label' => esc_html__( 'Export', 'gravitysmtp' ),
|
||||
'action_button_delete_label' => esc_html__( 'Delete Log Entry', 'gravitysmtp' ),
|
||||
'back_button_label' => esc_html__( 'Back to Email Log', 'gravitysmtp' ),
|
||||
'main_box_heading' => esc_html__( 'Email Details', 'gravitysmtp' ),
|
||||
'main_box_bcc_label' => esc_html__( 'BCC', 'gravitysmtp' ),
|
||||
'main_box_cc_label' => esc_html__( 'CC', 'gravitysmtp' ),
|
||||
'main_box_date_label' => esc_html__( 'Date Sent', 'gravitysmtp' ),
|
||||
'main_box_from_label' => esc_html__( 'From', 'gravitysmtp' ),
|
||||
'main_box_to_label' => esc_html__( 'To', 'gravitysmtp' ),
|
||||
'main_box_subject_label' => esc_html__( 'Subject', 'gravitysmtp' ),
|
||||
'nav_button_next_title' => esc_html__( 'Navigate to the next log detail', 'gravitysmtp' ),
|
||||
'nav_button_prev_title' => esc_html__( 'Navigate to the previous log detail', 'gravitysmtp' ),
|
||||
'secondary_box_heading' => esc_html__( 'Technical Information', 'gravitysmtp' ),
|
||||
'secondary_box_log_heading' => esc_html__( 'Log', 'gravitysmtp' ),
|
||||
'secondary_box_headers_heading' => esc_html__( 'Headers', 'gravitysmtp' ),
|
||||
'sidebar_status_heading' => esc_html__( 'Log Details', 'gravitysmtp' ),
|
||||
'sidebar_status_label' => esc_html__( 'Status:', 'gravitysmtp' ),
|
||||
'sidebar_service_label' => esc_html__( 'Service:', 'gravitysmtp' ),
|
||||
'sidebar_has_attachment_label' => esc_html__( 'Has attachment:', 'gravitysmtp' ),
|
||||
'sidebar_log_id_label' => esc_html__( 'Log ID:', 'gravitysmtp' ),
|
||||
'sidebar_source_label' => esc_html__( 'Source:', 'gravitysmtp' ),
|
||||
'sidebar_attachments_heading' => esc_html__( 'Attachments', 'gravitysmtp' ),
|
||||
'view_email_desktop_mode' => esc_html__( 'Preview email in desktop mode', 'gravitysmtp' ),
|
||||
'view_email_mobile_mode' => esc_html__( 'Preview email in mobile mode', 'gravitysmtp' ),
|
||||
),
|
||||
/* translators: %1$s is the body of the ajax request. */
|
||||
'resending_email' => esc_html__( 'Resending email: %1$s', 'gravitysmtp' ),
|
||||
/* translators: %1$s is the error message. */
|
||||
'resending_error' => esc_html__( 'Error resending email: %1$s', 'gravitysmtp' ),
|
||||
'snackbar_resend_error' => esc_html__( 'Error resending email', 'gravitysmtp' ),
|
||||
'snackbar_resend_success' => esc_html__( 'Email successfully resent', 'gravitysmtp' ),
|
||||
);
|
||||
}
|
||||
|
||||
public function get_log_single_data() {
|
||||
return array(
|
||||
'log_detail' => array(
|
||||
'default' => $this->get_default_log_details(),
|
||||
'value' => $this->get_log_details(),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
private function get_default_log_data() {
|
||||
$headers = array(
|
||||
'body' => array(
|
||||
'to' => 'someuser@its.rochester.edu',
|
||||
'subject' => 'My mail message is about.',
|
||||
),
|
||||
'headers' => array(
|
||||
'from: somesender@mail.rochester.edu',
|
||||
'content-type: text/html',
|
||||
),
|
||||
);
|
||||
|
||||
$text = 'Received: from antivirus1.its.rochester.edu (antivirus.its.rochester.edu [128.151.57.50])
|
||||
by mail.rochester.edu (8.12.8/8.12.4) with ESMTP id h20GQs90002563;
|
||||
Mon, 24 Mar 2003 11:26:54 -0500 (EST)
|
||||
Received: from antivirus.its.rochester.edu (localhost [127.0.0.1])
|
||||
by antivirus1.its.rochester.edu (8.12.8/8.12.4) with ESMTP id h20GOr0x003450;
|
||||
Mon, 24 Mar 2003 11:26:54 -0500 (EST)
|
||||
Received: from galileo.cc.rochester.edu (galileo.cc.rochester.edu [128.151.224.6])
|
||||
by antivirus1.its.rochester.edu (8.12.8/8.12.4) with SMTP id h20GOrDC003447;
|
||||
Mon, 24 Mar 2003 11:26:53 -0500 (EST)
|
||||
Received: (from majord@localhost)
|
||||
by galileo.cc.rochester.edu (8.12.8/8.12.4) id h20GQg91029757;
|
||||
Mon, 24 Mar 2003 11:26:52 -0500 (EST)
|
||||
Date: Mon, 24 Mar 2003 11:26:50 -0500 (EST)
|
||||
From: somesender@mail.rochester.edu
|
||||
Message-Id: <200303241626.h20GQoit002507@mail.rochester.edu>
|
||||
To: someuser@its.rochester.edu
|
||||
Subject: My mail message is about.';
|
||||
|
||||
$lines = explode( "\n", $text );
|
||||
$temp_log_detail_techincal_data = array();
|
||||
|
||||
foreach ( $lines as $index => $line ) {
|
||||
$temp_log_detail_techincal_data[ $index ] = $line;
|
||||
}
|
||||
|
||||
return array(
|
||||
'log' => $temp_log_detail_techincal_data,
|
||||
'headers' => $headers,
|
||||
);
|
||||
}
|
||||
|
||||
private function get_default_log_details() {
|
||||
return array(
|
||||
'date' => 'March 7, 2023 at 8:07 pm',
|
||||
'from' => 'carl@gmail.com',
|
||||
'to' => 'carl@hancock.io',
|
||||
'subject' => 'New WordPress User Registration',
|
||||
'technical_information' => $this->get_default_log_data(),
|
||||
'status' => array(
|
||||
'label' => 'Sent',
|
||||
'status' => 'active',
|
||||
),
|
||||
'service' => 'Amazon SES',
|
||||
'has_attachment' => 3,
|
||||
'attachments' => array(
|
||||
array(
|
||||
'file_name' => 'test.pdf',
|
||||
'file_path' => 'http://example.com/wp-content/uploads/gravity_forms/2023/08/test.pdf',
|
||||
'file_extension' => 'pdf',
|
||||
),
|
||||
array(
|
||||
'file_name' => 'test2.pdf',
|
||||
'file_path' => 'http://example.com/wp-content/uploads/gravity_forms/2023/08/test2.pdf',
|
||||
'file_extension' => 'pdf',
|
||||
),
|
||||
array(
|
||||
'file_name' => 'test3.pdf',
|
||||
'file_path' => 'http://example.com/wp-content/uploads/gravity_forms/2023/08/test3.pdf',
|
||||
'file_extension' => 'pdf',
|
||||
),
|
||||
),
|
||||
'log_id' => '12',
|
||||
'source' => 'Gravity Forms',
|
||||
);
|
||||
}
|
||||
|
||||
private function get_log_details() {
|
||||
$id = filter_input( INPUT_GET, 'event_id', FILTER_SANITIZE_NUMBER_INT );
|
||||
|
||||
if ( empty( $id ) ) {
|
||||
return array();
|
||||
}
|
||||
|
||||
$container = Gravity_SMTP::container();
|
||||
$logs = $container->get( Connector_Service_Provider::LOG_DETAILS_MODEL );
|
||||
|
||||
return $logs->full_details( $id );
|
||||
}
|
||||
|
||||
public function data() {
|
||||
$log_config = Gravity_SMTP::container()->get( App_Service_Provider::EMAIL_LOG_CONFIG );
|
||||
|
||||
return array(
|
||||
'components' => array(
|
||||
'activity_log' => array(
|
||||
'data' => array_merge( $this->get_log_single_data(), $log_config->get_log_data() ),
|
||||
'i18n' => array_merge( $this->get_i18n(), $log_config->get_i18n() ),
|
||||
'endpoints' => array(),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user