PluginProbe ʕ •ᴥ•ʔ
WooCommerce Square / 5.3.2
WooCommerce Square v5.3.2
5.4.1 5.4.0 trunk 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.6.0 2.7.0 2.8.0 2.9.0 2.9.1 3.0.0 3.0.1 3.0.2 3.0.3 3.1.0 3.2.0 3.3.0 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.7.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 4.0.0 4.1.0 4.2.0 4.2.1 4.2.2 4.2.3 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.2 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.9.0 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 4.9.8 4.9.9 5.0.0 5.0.1 5.1.0 5.1.1 5.1.2 5.2.0 5.3.0 5.3.1 5.3.2 5.3.3
woocommerce-square / includes / Emails / WC_Square_Access_Token_Email.php
woocommerce-square / includes / Emails Last commit date
Base_Email.php 2 years ago WC_Square_Access_Token_Email.php 1 year ago WC_Square_Gift_Card_Sent.php 1 year ago WC_Square_Sync_Completed.php 1 year ago
WC_Square_Access_Token_Email.php
132 lines
1 <?php
2 /**
3 * WooCommerce Square
4 *
5 * This source file is subject to the GNU General Public License v3.0
6 * that is bundled with this package in the file license.txt.
7 * It is also available through the world-wide-web at this URL:
8 * http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0 or later
9 * If you did not receive a copy of the license and are unable to
10 * obtain it through the world-wide-web, please send an email
11 * to license@woocommerce.com so we can send you a copy immediately.
12 *
13 * DISCLAIMER
14 *
15 * Do not edit or add to this file if you wish to upgrade WooCommerce Square to newer
16 * versions in the future. If you wish to customize WooCommerce Square for your
17 * needs please refer to https://docs.woocommerce.com/document/woocommerce-square/
18 *
19 * @author WooCommerce
20 * @copyright Copyright: (c) 2019, Automattic, Inc.
21 * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0 or later
22 */
23
24 use WooCommerce\Square\Emails;
25
26 defined( 'ABSPATH' ) || exit;
27
28 /**
29 * Sync completed email.
30 *
31 * @since 2.1.0
32 */
33 class WC_Square_Access_Token_Email extends Emails\Base_Email {
34 /**
35 * Email body.
36 *
37 * @var string
38 **/
39 public $body;
40
41 /**
42 * Email constructor.
43 *
44 * @since 2.1.0
45 */
46 public function __construct() {
47 // set properties
48 $this->id = 'wc_square_access_token_email';
49 $this->customer_email = false;
50 $this->title = __( 'Square Access Token Problems', 'woocommerce-square' );
51 $this->description = __( 'This email is sent when problems with Access Token are encountered', 'woocommerce-square' );
52 $this->subject = _x( '[WooCommerce] There was a problem with your Square Access Token', 'Email subject', 'woocommerce-square' );
53 $this->heading = _x( 'There was a problem with your Square Access Token', 'Email heading', 'woocommerce-square' );
54 $this->body = _x( 'Heads up! There may be a problem with your connection to Square.', 'Square connection problems email body.', 'woocommerce-square' );
55
56 $this->enabled_default = 'yes';
57
58 // call parent constructor
59 parent::__construct();
60
61 // set default recipient
62 $this->recipient = $this->get_option( 'recipient', get_option( 'admin_email' ) );
63 }
64
65 /**
66 * Triggers the email.
67 *
68 * @since 2.1.0
69 */
70 public function trigger() {
71 if ( ! $this->is_enabled() || ! $this->has_recipients() ) {
72 return;
73 }
74
75 // send the email at most once a day
76 $already_sent = get_transient( 'wc_square_access_token_email_sent' );
77 if ( false !== $already_sent ) {
78 return;
79 }
80 set_transient( 'wc_square_access_token_email_sent', true, DAY_IN_SECONDS );
81
82 $this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
83 }
84
85 /**
86 * Gets the arguments that should be passed to an email template.
87 *
88 * @since 2.1.0
89 *
90 * @param array $args optional associative array with additional arguments
91 * @return array
92 */
93 protected function get_template_args( $args = array() ) {
94 $html = empty( $args['plain_text'] );
95
96 $email_body = $this->body;
97
98 $square = wc_square();
99 $settings_url = $square->get_settings_url();
100 $logs_url = esc_url( admin_url( 'admin.php?page=wc-status&tab=logs' ) );
101 if ( $html ) {
102 $email_body .= ' ' . sprintf(
103 /* translators: Placeholders: %1$s - opening <a> HTML link tag, %2$s - closing </a> HTML link tag */
104 esc_html__( 'In order to continue accepting payments, please %1$sdisconnect and re-connect your site%2$s.', 'woocommerce-square' ),
105 '<a href="' . esc_url( $settings_url ) . '">',
106 '</a>'
107 );
108
109 if ( $square->get_settings_handler()->is_debug_enabled() ) {
110 $email_body .= '<br/><br/>' . sprintf(
111 /* translators: Placeholders: %1$s - opening <a> HTML link tag, %2$s - closing </a> HTML link tag */
112 esc_html__( '%1$sInspect status logs%2$s', 'woocommerce-square' ),
113 '<a href="' . $logs_url . '">',
114 '</a>'
115 );
116 }
117 } else {
118 $email_body .= ' ' . esc_html__( 'In order to continue accepting payments, please disconnect and re-connect your site at ', 'woocommerce-square' ) . esc_url( $settings_url );
119 }
120
121 return array_merge(
122 $args,
123 array(
124 'email' => $this,
125 'email_heading' => $this->heading,
126 'email_body' => $email_body,
127 'additional_content' => $this->get_additional_content(),
128 )
129 );
130 }
131 }
132