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