/
var
/
www
/
barefootlaw.org
/
wp-content
/
plugins
/
newsletter
/
system
/
Upload File
HOME
<?php /* @var $this NewsletterSystem */ /* @var $wpdb wpdb */ defined('ABSPATH') || exit; include_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $controls = new NewsletterControls(); $newsletter = Newsletter::instance(); if ($controls->is_action('test')) { if (!NewsletterModule::is_email($controls->data['test_email'])) { $controls->errors = 'The test email address is not set or is not correct.'; } if (empty($controls->errors)) { $options = $controls->data; if ($controls->data['test_email'] == $newsletter->get_sender_email()) { $controls->messages .= '<strong>Warning:</strong> you are using as test email the same address configured as sender in main configuration. Test can fail because of that.<br>'; } $message = NewsletterMailerAddon::get_test_message($controls->data['test_email'], 'Newsletter test email at ' . date(DATE_ISO8601)); $r = $newsletter->deliver($message); if (!is_wp_error($r)) { $options['mail'] = 1; $controls->messages .= '<strong>SUCCESS</strong><br>'; $controls->messages .= 'Anyway if the message does not appear the mailbox (check even the spam folder) you can '; $controls->messages .= '<a href="https://www.thenewsletterplugin.com/documentation/?p=15170" target="_blank"><strong>read more here</strong></a>.'; } else { $options['mail'] = 0; $options['mail_error'] = $r->get_error_message(); $controls->errors .= '<strong>FAILED</strong> (' . esc_html($r->get_error_message()) . ')<br>'; if (!empty($newsletter->options['return_path'])) { $controls->errors .= '- Try to remove the return path on main settings.<br>'; } $controls->errors .= '<a href="https://www.thenewsletterplugin.com/documentation/?p=15170" target="_blank"><strong>' . __('Read more', 'newsletter') . '</strong></a>.'; $parts = explode('@', $newsletter->get_sender_email()); $sitename = strtolower($_SERVER['SERVER_NAME']); if (substr($sitename, 0, 4) == 'www.') { $sitename = substr($sitename, 4); } if (strtolower($sitename) != strtolower($parts[1])) { $controls->errors .= '- Try to set on main setting a sender address with the same domain of your blog: ' . esc_html($sitename) . ' (you are using ' . esc_html($newsletter->get_sender_email()) . ')<br>'; } } $this->save_options($options, 'status'); } } $options = $this->get_options('status'); $mailer = Newsletter::instance()->get_mailer(); $functions = tnp_get_hook_functions('phpmailer_init'); $icon = 'fas fa-plug'; if ($mailer instanceof NewsletterDefaultMailer) { $mailer_name = 'Wordpress'; $service_name = 'Hosting Provider'; if (!empty($functions)) { $mailer_name .= '<br>(see below)'; $service_name .= '<br>(see below)'; } $icon = 'fab fa-wordpress'; } else if ($mailer instanceof NewsletterDefaultSMTPMailer) { $mailer_name = 'Internal SMTP'; $service_name = 'SMTP Provider'; } else { $mailer_name = 'Unknown'; $service_name = 'Unknown'; if (is_object($mailer)) { if (method_exists($mailer, 'get_description')) { $mailer_name = esc_html($mailer->get_description()); $service_name = esc_html(ucfirst($mailer->get_name()) . ' Service'); } else { $mailer_name = esc_html(get_class($mailer)); $service_name = $mailer_name; } } } function tnp_get_hook_functions($tag) { global $wp_filter; $b = ''; if (isset($wp_filter[$tag])) { foreach ($wp_filter[$tag]->callbacks as $priority => $functions) { foreach ($functions as $function) { $b .= '[' . $priority . '] '; if (is_array($function['function'])) { if (is_object($function['function'][0])) { $b .= get_class($function['function'][0]) . '::' . $function['function'][1]; } else { $b .= $function['function'][0] . '::' . $function['function'][1]; } } else { if (is_object($function['function'])) { $fn = new ReflectionFunction($function['function']); $b .= get_class($fn->getClosureThis()) . '(closure)'; } else { $b .= $function['function']; } } $b .= "<br>"; } } } return $b; } $speed = Newsletter::$instance->get_send_speed(); ?> <style> <?php include __DIR__ . '/css/system.css' ?> </style> <div class="wrap tnp-system tnp-system-delivery" id="tnp-wrap"> <?php include NEWSLETTER_DIR . '/tnp-header.php'; ?> <div id="tnp-heading"> <h2><?php _e('Email Delivery', 'newsletter') ?></h2> </div> <div id="tnp-body"> <form method="post" action=""> <?php $controls->init(); ?> <h3>Mailing test</h3> <p> <?php $controls->text_email('test_email', ['required' => true]) ?> <?php $controls->button('test', __('Send a test message')) ?> <?php if (empty($options['mail'])) { ?> <span class="tnp-ko">KO</span> <?php } else { ?> <span class="tnp-ok">OK</span> <?php } ?> </p> <p> <?php if (empty($options['mail'])) { ?> <?php if (empty($options['mail_error'])) { ?> <p>A test has never run.</p> <?php } else { ?> <p>Last test failed with error "<?php echo esc_html($options['mail_error']) ?>".</p> <?php } ?> <?php } else { ?> <p>Last test was successful. If you didn't receive the test email:</p> <ol style="color: #fff"> <li>If you're using an third party SMTP plugin, do a test from that plugin configuration panel</li> <li>If you're using a Newsletter Delivery Addon, do a test from that addon configuration panel</li> <li>If previous points do not apply to you, ask for support to your provider reporting the emails from your blog are not delivered</li> </ol> <?php } ?> <p><a href="https://www.thenewsletterplugin.com/documentation/email-sending-issues" target="_blank">Read more to solve your issues, if any</a></p> </form> <h3> How are messages delivered by Newsletter to your subscribers? </h3> <div class="tnp-flow"> <div class="tnp-mail"><i class="fas fa-envelope"></i><br><br>Messages<br> (max: <?php echo esc_html($speed) ?> emails per hour) </div> <div class="tnp-arrow">→</div> <div class="tnp-addon"><i class="<?php echo $icon ?>"></i><br><br><?php echo $mailer_name ?></div> <div class="tnp-arrow">→</div> <div class="tnp-service"><i class="fas fa-cog"></i><br><br> <?php echo $service_name ?> </div> <div class="tnp-arrow">→</div> <div class="tnp-user"><i class="fas fa-user"></i></div> </div> <?php if (!empty($functions)) { ?> <br><br> <h3>Functions that are changing the default WordPress delivery system</h3> <p><?php echo $functions ?></p> <?php } ?> </div> <?php include NEWSLETTER_DIR . '/tnp-footer.php'; ?> </div>