Esempio n. 1
0
 /**
  * @since 1.0.0
  */
 public function form_handler()
 {
     if (!empty($_POST['stylify_button'])) {
         $status = $this->stylify->refresh();
         $message = is_wp_error($status) ? $status->get_error_message() : __('Colors updated.', 'Postmatic');
         $class = is_wp_error($status) ? 'error' : 'updated';
         Prompt_Core::$options->set('site_styles', $this->stylify->get_styles());
         $this->add_notice($message, $class);
         return;
     }
     if (!empty($_POST['reset_site_styles_button'])) {
         Prompt_Core::$options->set('site_styles', array());
         $this->stylify = new Prompt_Stylify(array());
         $this->add_notice(__('Colors set to defaults.', 'Postmatic'));
         return;
     }
     if (!empty($_POST['send_test_email_button'])) {
         $to_address = sanitize_email($_POST['test_email_address']);
         if (!is_email($to_address)) {
             $this->add_notice(__('Test email was <strong>not sent</strong> to an invalid address.', 'Postmatic'), 'error');
             return;
         }
         $html_template = new Prompt_Template('test-email.php');
         $footnote = __('This is a test email sent by Postmatic. It is solely for demonstrating the Postmatic template and is not replyable. Also, that is not latin. <a href="https://en.wikipedia.org/wiki/Lorem_ipsum">It is Lorem ipsum</a>.', 'Postmatic');
         $batch = new Prompt_Email_Batch(array('subject' => __('This is a test email. By Postmatic.', 'Postmatic'), 'html_content' => $html_template->render(), 'message_type' => Prompt_Enum_Message_Types::ADMIN, 'footnote_html' => $footnote, 'footnote_text' => $footnote));
         $batch->add_individual_message_values(array('to_address' => $to_address));
         if (!is_wp_error(Prompt_Factory::make_mailer($batch)->send())) {
             $this->add_notice(__('Test email <strong>sent</strong>.', 'Postmatic'));
             return;
         }
     }
     parent::form_handler();
 }
 protected function send_notifications($recipient_ids)
 {
     $template_data = array('post' => $this->prompt_post, 'comment_header' => true);
     /**
      * Filter comment email template data.
      *
      * @param array $template_data {
      * @type Prompt_post $post
      * @type bool $comment_header
      * }
      */
     $template_data = apply_filters('prompt/comment_flood_email/template_data', $template_data);
     $html_template = new Prompt_Template('comment-flood-email.php');
     $text_template = new Prompt_Text_Template('comment-flood-email-text.php');
     $footnote_html = sprintf(__('You received this email because you\'re subscribed to %s.', 'Postmatic'), $this->prompt_post->subscription_object_label());
     $batch = new Prompt_Email_Batch(array('subject' => __('We\'re pausing comment notices for you.', 'Postmatic'), 'text_content' => $text_template->render($template_data), 'html_content' => $html_template->render($template_data), 'message_type' => Prompt_Enum_Message_Types::SUBSCRIPTION, 'reply_to' => '{{{reply_to}}}', 'footnote_html' => $footnote_html, 'footnote_text' => Prompt_Content_Handling::reduce_html_to_utf8($footnote_html)));
     foreach ($recipient_ids as $recipient_id) {
         $subscriber = get_userdata($recipient_id);
         if (!$subscriber or !$subscriber->user_email) {
             continue;
         }
         $command = new Prompt_Comment_Flood_Command();
         $command->set_post_id($this->prompt_post->id());
         $command->set_user_id($recipient_id);
         $batch->add_individual_message_values(array('to_address' => $subscriber->user_email, 'reply_to' => Prompt_Email_Batch::trackable_address(Prompt_Command_Handling::get_command_metadata($command))));
     }
     /**
      * Filter comment notification email batch.
      *
      * @param Prompt_Email_Batch $batch
      * @param array $template_data see prompt/comment_email/template_data
      */
     $batch = apply_filters('prompt/comment_flood_email_batch', $batch, $template_data);
     Prompt_Factory::make_mailer($batch)->send();
 }