PluginProbe ʕ •ᴥ•ʔ
WooCommerce Square / 3.8.1
WooCommerce Square v3.8.1
5.4.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 / Access_Token_Email.php
woocommerce-square / includes / Emails Last commit date
Access_Token_Email.php 3 years ago Base_Email.php 3 years ago Sync_Completed.php 3 years ago
Access_Token_Email.php
124 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 namespace WooCommerce\Square\Emails;
25
26 defined( 'ABSPATH' ) || exit;
27
28 /**
29 * Sync completed email.
30 *
31 * @since 2.1.0
32 */
33 class Access_Token_Email extends Base_Email {
34 /**
35 * Email constructor.
36 *
37 * @since 2.1.0
38 */
39 public function __construct() {
40 // set properties
41 $this->id = 'wc_square_access_token_email';
42 $this->customer_email = false;
43 $this->title = __( 'Square Access Token problems', 'woocommerce-square' );
44 $this->description = __( 'This email is sent when problems with Access Token are encountered', 'woocommerce-square' );
45 $this->subject = _x( '[WooCommerce] There was a problem with your Square Access Token', 'Email subject', 'woocommerce-square' );
46 $this->heading = _x( 'There was a problem with your Square Access Token', 'Email heading', 'woocommerce-square' );
47 $this->body = _x( 'Heads up! There may be a problem with your connection to Square.', 'Square connection problems email body.', 'woocommerce-square' );
48
49 $this->enabled_default = 'yes';
50
51 // call parent constructor
52 parent::__construct();
53
54 // set default recipient
55 $this->recipient = $this->get_option( 'recipient', get_option( 'admin_email' ) );
56 }
57
58 /**
59 * Triggers the email.
60 *
61 * @since 2.1.0
62 */
63 public function trigger() {
64 if ( ! $this->is_enabled() || ! $this->has_recipients() ) {
65 return;
66 }
67
68 // send the email at most once a day
69 $already_sent = get_transient( 'wc_square_access_token_email_sent' );
70 if ( false !== $already_sent ) {
71 return;
72 }
73 set_transient( 'wc_square_access_token_email_sent', true, DAY_IN_SECONDS );
74
75 $this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
76 }
77
78 /**
79 * Gets the arguments that should be passed to an email template.
80 *
81 * @since 2.1.0
82 *
83 * @param array $args optional associative array with additional arguments
84 * @return array
85 */
86 protected function get_template_args( $args = array() ) {
87 $html = empty( $args['plain_text'] );
88
89 $email_body = $this->body;
90
91 $square = wc_square();
92 $settings_url = esc_url( $square->get_settings_url() );
93 $logs_url = esc_url( admin_url( 'admin.php?page=wc-status&tab=logs' ) );
94 if ( $html ) {
95 $email_body .= ' ' . sprintf(
96 /* translators: Placeholders: %1$s - opening <a> HTML link tag, %2$s - closing </a> HTML link tag */
97 esc_html__( 'In order to continue accepting payments, please %1$sdisconnect and re-connect your site%2$s.', 'woocommerce-square' ),
98 '<a href="' . esc_url( $settings_url ) . '">',
99 '</a>'
100 );
101
102 if ( $square->get_settings_handler()->is_debug_enabled() ) {
103 $email_body .= '<br/><br/>' . sprintf(
104 /* translators: Placeholders: %1$s - opening <a> HTML link tag, %2$s - closing </a> HTML link tag */
105 esc_html__( '%1$sInspect status logs%2$s', 'woocommerce-square' ),
106 '<a href="' . $logs_url . '">',
107 '</a>'
108 );
109 }
110 } else {
111 $email_body .= ' ' + esc_html__( 'In order to continue accepting payments, please disconnect and re-connect your site at ', 'woocommerce-square' ) . $settings_url;
112 }
113
114 return array_merge(
115 $args,
116 array(
117 'email' => $this,
118 'email_heading' => $this->heading,
119 'email_body' => $email_body,
120 )
121 );
122 }
123 }
124