@@ -13,325 +13,325 @@  | 
                                                    ||
| 13 | 13 |  class GetPaid_Subscription_Notification_Emails { | 
                                                        
| 14 | 14 | |
| 15 | 15 | /**  | 
                                                        
| 16 | - * The array of subscription email actions.  | 
                                                        |
| 17 | - *  | 
                                                        |
| 18 | - * @param array  | 
                                                        |
| 19 | - */  | 
                                                        |
| 20 | - public $subscription_actions;  | 
                                                        |
| 16 | + * The array of subscription email actions.  | 
                                                        |
| 17 | + *  | 
                                                        |
| 18 | + * @param array  | 
                                                        |
| 19 | + */  | 
                                                        |
| 20 | + public $subscription_actions;  | 
                                                        |
| 21 | 21 | |
| 22 | 22 | /**  | 
                                                        
| 23 | - * Class constructor  | 
                                                        |
| 23 | + * Class constructor  | 
                                                        |
| 24 | 24 | *  | 
                                                        
| 25 | - */  | 
                                                        |
| 26 | -	public function __construct() { | 
                                                        |
| 27 | -  | 
                                                        |
| 28 | - $this->subscription_actions = apply_filters(  | 
                                                        |
| 29 | - 'getpaid_notification_email_subscription_triggers',  | 
                                                        |
| 30 | - array(  | 
                                                        |
| 31 | - 'getpaid_subscription_active' => 'subscription_active',  | 
                                                        |
| 32 | - 'getpaid_subscription_trialling' => 'subscription_trial',  | 
                                                        |
| 33 | - 'getpaid_subscription_cancelled' => 'subscription_cancelled',  | 
                                                        |
| 34 | - 'getpaid_subscription_expired' => 'subscription_expired',  | 
                                                        |
| 35 | - 'getpaid_subscription_completed' => 'subscription_complete',  | 
                                                        |
| 36 | - 'getpaid_daily_maintenance' => 'renewal_reminder'  | 
                                                        |
| 37 | - )  | 
                                                        |
| 38 | - );  | 
                                                        |
| 39 | -  | 
                                                        |
| 40 | - $this->init_hooks();  | 
                                                        |
| 25 | + */  | 
                                                        |
| 26 | +    public function __construct() { | 
                                                        |
| 27 | +  | 
                                                        |
| 28 | + $this->subscription_actions = apply_filters(  | 
                                                        |
| 29 | + 'getpaid_notification_email_subscription_triggers',  | 
                                                        |
| 30 | + array(  | 
                                                        |
| 31 | + 'getpaid_subscription_active' => 'subscription_active',  | 
                                                        |
| 32 | + 'getpaid_subscription_trialling' => 'subscription_trial',  | 
                                                        |
| 33 | + 'getpaid_subscription_cancelled' => 'subscription_cancelled',  | 
                                                        |
| 34 | + 'getpaid_subscription_expired' => 'subscription_expired',  | 
                                                        |
| 35 | + 'getpaid_subscription_completed' => 'subscription_complete',  | 
                                                        |
| 36 | + 'getpaid_daily_maintenance' => 'renewal_reminder'  | 
                                                        |
| 37 | + )  | 
                                                        |
| 38 | + );  | 
                                                        |
| 39 | +  | 
                                                        |
| 40 | + $this->init_hooks();  | 
                                                        |
| 41 | 41 | |
| 42 | 42 | }  | 
                                                        
| 43 | 43 | |
| 44 | 44 | /**  | 
                                                        
| 45 | - * Registers email hooks.  | 
                                                        |
| 46 | - */  | 
                                                        |
| 47 | -	public function init_hooks() { | 
                                                        |
| 48 | -  | 
                                                        |
| 49 | - add_filter( 'getpaid_get_email_merge_tags', array( $this, 'subscription_merge_tags' ), 10, 2 );  | 
                                                        |
| 50 | -		foreach ( $this->subscription_actions as $hook => $email_type ) { | 
                                                        |
| 51 | -  | 
                                                        |
| 52 | - $email = new GetPaid_Notification_Email( $email_type );  | 
                                                        |
| 53 | -  | 
                                                        |
| 54 | -			if ( ! $email->is_active() ) { | 
                                                        |
| 55 | - continue;  | 
                                                        |
| 56 | - }  | 
                                                        |
| 57 | -  | 
                                                        |
| 58 | -			if ( method_exists( $this, $email_type ) ) { | 
                                                        |
| 59 | - add_action( $hook, array( $this, $email_type ), 100, 2 );  | 
                                                        |
| 60 | - continue;  | 
                                                        |
| 61 | - }  | 
                                                        |
| 62 | -  | 
                                                        |
| 63 | - do_action( 'getpaid_subscription_notification_email_register_hook', $email_type, $hook );  | 
                                                        |
| 64 | -  | 
                                                        |
| 65 | - }  | 
                                                        |
| 66 | -  | 
                                                        |
| 67 | - }  | 
                                                        |
| 68 | -  | 
                                                        |
| 69 | - /**  | 
                                                        |
| 70 | - * Filters subscription merge tags.  | 
                                                        |
| 71 | - *  | 
                                                        |
| 72 | - * @param array $merge_tags  | 
                                                        |
| 73 | - * @param mixed|WPInv_Invoice|WPInv_Subscription $object  | 
                                                        |
| 74 | - */  | 
                                                        |
| 75 | -	public function subscription_merge_tags( $merge_tags, $object ) { | 
                                                        |
| 76 | -  | 
                                                        |
| 77 | -		if ( is_a( $object, 'WPInv_Subscription' ) ) { | 
                                                        |
| 78 | - $merge_tags = array_merge(  | 
                                                        |
| 79 | - $merge_tags,  | 
                                                        |
| 80 | - $this->get_subscription_merge_tags( $object )  | 
                                                        |
| 81 | - );  | 
                                                        |
| 82 | - }  | 
                                                        |
| 83 | -  | 
                                                        |
| 84 | - return $merge_tags;  | 
                                                        |
| 85 | -  | 
                                                        |
| 86 | - }  | 
                                                        |
| 87 | -  | 
                                                        |
| 88 | - /**  | 
                                                        |
| 89 | - * Generates subscription merge tags.  | 
                                                        |
| 90 | - *  | 
                                                        |
| 91 | - * @param WPInv_Subscription $subscription  | 
                                                        |
| 92 | - * @return array  | 
                                                        |
| 93 | - */  | 
                                                        |
| 94 | -	public function get_subscription_merge_tags( $subscription ) { | 
                                                        |
| 95 | -  | 
                                                        |
| 96 | - // Abort if it does not exist.  | 
                                                        |
| 97 | -		if ( ! $subscription->get_id() ) { | 
                                                        |
| 98 | - return array();  | 
                                                        |
| 99 | - }  | 
                                                        |
| 100 | -  | 
                                                        |
| 101 | - $invoice = $subscription->get_parent_invoice();  | 
                                                        |
| 102 | - return array(  | 
                                                        |
| 103 | -			'{subscription_renewal_date}'     => getpaid_format_date_value( $subscription->get_next_renewal_date(), __( 'Never', 'invoicing' ) ), | 
                                                        |
| 104 | -			'{subscription_created}'          => getpaid_format_date_value( $subscription->get_date_created() ), | 
                                                        |
| 105 | -			'{subscription_status}'           => sanitize_text_field( $subscription->get_status_label() ), | 
                                                        |
| 106 | -			'{subscription_profile_id}'       => sanitize_text_field( $subscription->get_profile_id() ), | 
                                                        |
| 107 | -			'{subscription_id}'               => absint( $subscription->get_id() ), | 
                                                        |
| 108 | -			'{subscription_recurring_amount}' => sanitize_text_field( wpinv_price( $subscription->get_recurring_amount(), $invoice->get_currency() ) ), | 
                                                        |
| 109 | -			'{subscription_initial_amount}'   => sanitize_text_field( wpinv_price( $subscription->get_initial_amount(), $invoice->get_currency() ) ), | 
                                                        |
| 110 | -			'{subscription_recurring_period}' => getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' ), | 
                                                        |
| 111 | -			'{subscription_bill_times}'       => $subscription->get_bill_times(), | 
                                                        |
| 112 | -			'{subscription_url}'              => esc_url( $subscription->get_view_url() ), | 
                                                        |
| 113 | - );  | 
                                                        |
| 114 | -  | 
                                                        |
| 115 | - }  | 
                                                        |
| 116 | -  | 
                                                        |
| 117 | - /**  | 
                                                        |
| 118 | - * Checks if we should send a notification for a subscription.  | 
                                                        |
| 119 | - *  | 
                                                        |
| 120 | - * @param WPInv_Invoice $invoice  | 
                                                        |
| 121 | - * @return bool  | 
                                                        |
| 122 | - */  | 
                                                        |
| 123 | -	public function should_send_notification( $invoice ) { | 
                                                        |
| 124 | - return 0 != $invoice->get_id();  | 
                                                        |
| 125 | - }  | 
                                                        |
| 126 | -  | 
                                                        |
| 127 | - /**  | 
                                                        |
| 128 | - * Returns notification recipients.  | 
                                                        |
| 129 | - *  | 
                                                        |
| 130 | - * @param WPInv_Invoice $invoice  | 
                                                        |
| 131 | - * @return array  | 
                                                        |
| 132 | - */  | 
                                                        |
| 133 | -	public function get_recipients( $invoice ) { | 
                                                        |
| 134 | - $recipients = array( $invoice->get_email() );  | 
                                                        |
| 135 | -  | 
                                                        |
| 136 | - $cc = $invoice->get_email_cc();  | 
                                                        |
| 137 | -  | 
                                                        |
| 138 | -		if ( ! empty( $cc ) ) { | 
                                                        |
| 139 | - $cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );  | 
                                                        |
| 140 | - $recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );  | 
                                                        |
| 141 | - }  | 
                                                        |
| 142 | -  | 
                                                        |
| 143 | - return $recipients;  | 
                                                        |
| 144 | - }  | 
                                                        |
| 145 | -  | 
                                                        |
| 146 | - /**  | 
                                                        |
| 147 | - * Helper function to send an email.  | 
                                                        |
| 148 | - *  | 
                                                        |
| 149 | - * @param WPInv_Subscription $subscription  | 
                                                        |
| 150 | - * @param GetPaid_Notification_Email $email  | 
                                                        |
| 151 | - * @param string $type  | 
                                                        |
| 152 | - * @param array $extra_args Extra template args.  | 
                                                        |
| 153 | - */  | 
                                                        |
| 154 | -	public function send_email( $subscription, $email, $type, $extra_args = array() ) { | 
                                                        |
| 155 | -  | 
                                                        |
| 156 | -		if ( empty( $subscription ) ) { | 
                                                        |
| 157 | - return;  | 
                                                        |
| 158 | - }  | 
                                                        |
| 159 | -  | 
                                                        |
| 160 | -		if ( is_array( $subscription ) ) { | 
                                                        |
| 161 | - $subscription = current( $subscription );  | 
                                                        |
| 162 | - }  | 
                                                        |
| 163 | -  | 
                                                        |
| 164 | -		if ( ! $subscription instanceof WPInv_Subscription ) { | 
                                                        |
| 165 | - return;  | 
                                                        |
| 166 | - }  | 
                                                        |
| 167 | -  | 
                                                        |
| 168 | - // Abort in case the parent invoice does not exist.  | 
                                                        |
| 169 | - $invoice = $subscription->get_parent_invoice();  | 
                                                        |
| 170 | -		if ( ! $this->should_send_notification( $invoice ) ) { | 
                                                        |
| 171 | - return;  | 
                                                        |
| 172 | - }  | 
                                                        |
| 173 | -  | 
                                                        |
| 174 | -		if ( apply_filters( 'getpaid_skip_subscription_email', false, $type, $subscription ) ) { | 
                                                        |
| 175 | - return;  | 
                                                        |
| 176 | - }  | 
                                                        |
| 177 | -  | 
                                                        |
| 178 | - do_action( 'getpaid_before_send_subscription_notification', $type, $subscription, $email );  | 
                                                        |
| 179 | -  | 
                                                        |
| 180 | - $recipients = $this->get_recipients( $invoice );  | 
                                                        |
| 181 | - $mailer = new GetPaid_Notification_Email_Sender();  | 
                                                        |
| 182 | - $merge_tags = $email->get_merge_tags();  | 
                                                        |
| 183 | - $content = $email->get_content( $merge_tags, $extra_args );  | 
                                                        |
| 184 | - $subject = $email->add_merge_tags( $email->get_subject(), $merge_tags );  | 
                                                        |
| 185 | - $attachments = $email->get_attachments();  | 
                                                        |
| 186 | -  | 
                                                        |
| 187 | - $result = $mailer->send(  | 
                                                        |
| 188 | - apply_filters( 'getpaid_subscription_email_recipients', wpinv_parse_list( $recipients ), $email ),  | 
                                                        |
| 189 | - $subject,  | 
                                                        |
| 190 | - $content,  | 
                                                        |
| 191 | - $attachments  | 
                                                        |
| 192 | - );  | 
                                                        |
| 193 | -  | 
                                                        |
| 194 | - // Maybe send a copy to the admin.  | 
                                                        |
| 195 | -		if ( $email->include_admin_bcc() ) { | 
                                                        |
| 196 | - $mailer->send(  | 
                                                        |
| 197 | - wpinv_get_admin_email(),  | 
                                                        |
| 198 | - $subject . __( ' - ADMIN BCC COPY', 'invoicing' ),  | 
                                                        |
| 199 | - $content,  | 
                                                        |
| 200 | - $attachments  | 
                                                        |
| 201 | - );  | 
                                                        |
| 202 | - }  | 
                                                        |
| 203 | -  | 
                                                        |
| 204 | -		if ( $result ) { | 
                                                        |
| 205 | - $invoice->add_system_note(  | 
                                                        |
| 206 | - sprintf(  | 
                                                        |
| 207 | - __( 'Successfully sent %1$s notification email to %2$s.', 'invoicing' ),  | 
                                                        |
| 208 | - sanitize_key( $type ),  | 
                                                        |
| 209 | - $email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )  | 
                                                        |
| 210 | - )  | 
                                                        |
| 211 | - );  | 
                                                        |
| 212 | -		} else { | 
                                                        |
| 213 | - $invoice->add_system_note(  | 
                                                        |
| 214 | - sprintf(  | 
                                                        |
| 215 | - __( 'Failed sending %1$s notification email to %2$s.', 'invoicing' ),  | 
                                                        |
| 216 | - sanitize_key( $type ),  | 
                                                        |
| 217 | - $email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )  | 
                                                        |
| 218 | - )  | 
                                                        |
| 219 | - );  | 
                                                        |
| 220 | - }  | 
                                                        |
| 221 | -  | 
                                                        |
| 222 | - do_action( 'getpaid_after_send_subscription_notification', $type, $subscription, $email );  | 
                                                        |
| 223 | -  | 
                                                        |
| 224 | - }  | 
                                                        |
| 225 | -  | 
                                                        |
| 226 | - /**  | 
                                                        |
| 227 | - * Sends a subscription active.  | 
                                                        |
| 228 | - *  | 
                                                        |
| 229 | - * @since 2.8.4  | 
                                                        |
| 230 | - *  | 
                                                        |
| 231 | - * @param WPInv_Subscription $subscription  | 
                                                        |
| 232 | - */  | 
                                                        |
| 233 | -	public function subscription_active( $subscription ) { | 
                                                        |
| 234 | - $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 235 | -  | 
                                                        |
| 236 | - $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 237 | - }  | 
                                                        |
| 45 | + * Registers email hooks.  | 
                                                        |
| 46 | + */  | 
                                                        |
| 47 | +    public function init_hooks() { | 
                                                        |
| 48 | +  | 
                                                        |
| 49 | + add_filter( 'getpaid_get_email_merge_tags', array( $this, 'subscription_merge_tags' ), 10, 2 );  | 
                                                        |
| 50 | +        foreach ( $this->subscription_actions as $hook => $email_type ) { | 
                                                        |
| 51 | +  | 
                                                        |
| 52 | + $email = new GetPaid_Notification_Email( $email_type );  | 
                                                        |
| 53 | +  | 
                                                        |
| 54 | +            if ( ! $email->is_active() ) { | 
                                                        |
| 55 | + continue;  | 
                                                        |
| 56 | + }  | 
                                                        |
| 57 | +  | 
                                                        |
| 58 | +            if ( method_exists( $this, $email_type ) ) { | 
                                                        |
| 59 | + add_action( $hook, array( $this, $email_type ), 100, 2 );  | 
                                                        |
| 60 | + continue;  | 
                                                        |
| 61 | + }  | 
                                                        |
| 62 | +  | 
                                                        |
| 63 | + do_action( 'getpaid_subscription_notification_email_register_hook', $email_type, $hook );  | 
                                                        |
| 64 | +  | 
                                                        |
| 65 | + }  | 
                                                        |
| 66 | +  | 
                                                        |
| 67 | + }  | 
                                                        |
| 238 | 68 | |
| 239 | 69 | /**  | 
                                                        
| 240 | - * Sends a new trial notification.  | 
                                                        |
| 241 | - *  | 
                                                        |
| 242 | - * @param WPInv_Subscription $subscription  | 
                                                        |
| 243 | - */  | 
                                                        |
| 244 | -	public function subscription_trial( $subscription ) { | 
                                                        |
| 70 | + * Filters subscription merge tags.  | 
                                                        |
| 71 | + *  | 
                                                        |
| 72 | + * @param array $merge_tags  | 
                                                        |
| 73 | + * @param mixed|WPInv_Invoice|WPInv_Subscription $object  | 
                                                        |
| 74 | + */  | 
                                                        |
| 75 | +    public function subscription_merge_tags( $merge_tags, $object ) { | 
                                                        |
| 245 | 76 | |
| 246 | - $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 247 | - $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 77 | +        if ( is_a( $object, 'WPInv_Subscription' ) ) { | 
                                                        |
| 78 | + $merge_tags = array_merge(  | 
                                                        |
| 79 | + $merge_tags,  | 
                                                        |
| 80 | + $this->get_subscription_merge_tags( $object )  | 
                                                        |
| 81 | + );  | 
                                                        |
| 82 | + }  | 
                                                        |
| 248 | 83 | |
| 249 | - }  | 
                                                        |
| 84 | + return $merge_tags;  | 
                                                        |
| 250 | 85 | |
| 251 | - /**  | 
                                                        |
| 252 | - * Sends a cancelled subscription notification.  | 
                                                        |
| 253 | - *  | 
                                                        |
| 254 | - * @param WPInv_Subscription $subscription  | 
                                                        |
| 255 | - */  | 
                                                        |
| 256 | -	public function subscription_cancelled( $subscription ) { | 
                                                        |
| 86 | + }  | 
                                                        |
| 257 | 87 | |
| 258 | - $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 259 | - $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 88 | + /**  | 
                                                        |
| 89 | + * Generates subscription merge tags.  | 
                                                        |
| 90 | + *  | 
                                                        |
| 91 | + * @param WPInv_Subscription $subscription  | 
                                                        |
| 92 | + * @return array  | 
                                                        |
| 93 | + */  | 
                                                        |
| 94 | +    public function get_subscription_merge_tags( $subscription ) { | 
                                                        |
| 95 | +  | 
                                                        |
| 96 | + // Abort if it does not exist.  | 
                                                        |
| 97 | +        if ( ! $subscription->get_id() ) { | 
                                                        |
| 98 | + return array();  | 
                                                        |
| 99 | + }  | 
                                                        |
| 100 | +  | 
                                                        |
| 101 | + $invoice = $subscription->get_parent_invoice();  | 
                                                        |
| 102 | + return array(  | 
                                                        |
| 103 | +            '{subscription_renewal_date}'     => getpaid_format_date_value( $subscription->get_next_renewal_date(), __( 'Never', 'invoicing' ) ), | 
                                                        |
| 104 | +            '{subscription_created}'          => getpaid_format_date_value( $subscription->get_date_created() ), | 
                                                        |
| 105 | +            '{subscription_status}'           => sanitize_text_field( $subscription->get_status_label() ), | 
                                                        |
| 106 | +            '{subscription_profile_id}'       => sanitize_text_field( $subscription->get_profile_id() ), | 
                                                        |
| 107 | +            '{subscription_id}'               => absint( $subscription->get_id() ), | 
                                                        |
| 108 | +            '{subscription_recurring_amount}' => sanitize_text_field( wpinv_price( $subscription->get_recurring_amount(), $invoice->get_currency() ) ), | 
                                                        |
| 109 | +            '{subscription_initial_amount}'   => sanitize_text_field( wpinv_price( $subscription->get_initial_amount(), $invoice->get_currency() ) ), | 
                                                        |
| 110 | +            '{subscription_recurring_period}' => getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' ), | 
                                                        |
| 111 | +            '{subscription_bill_times}'       => $subscription->get_bill_times(), | 
                                                        |
| 112 | +            '{subscription_url}'              => esc_url( $subscription->get_view_url() ), | 
                                                        |
| 113 | + );  | 
                                                        |
| 260 | 114 | |
| 261 | - }  | 
                                                        |
| 115 | + }  | 
                                                        |
| 262 | 116 | |
| 263 | - /**  | 
                                                        |
| 264 | - * Sends a subscription expired notification.  | 
                                                        |
| 265 | - *  | 
                                                        |
| 266 | - * @param WPInv_Subscription $subscription  | 
                                                        |
| 267 | - */  | 
                                                        |
| 268 | -	public function subscription_expired( $subscription ) { | 
                                                        |
| 117 | + /**  | 
                                                        |
| 118 | + * Checks if we should send a notification for a subscription.  | 
                                                        |
| 119 | + *  | 
                                                        |
| 120 | + * @param WPInv_Invoice $invoice  | 
                                                        |
| 121 | + * @return bool  | 
                                                        |
| 122 | + */  | 
                                                        |
| 123 | +    public function should_send_notification( $invoice ) { | 
                                                        |
| 124 | + return 0 != $invoice->get_id();  | 
                                                        |
| 125 | + }  | 
                                                        |
| 269 | 126 | |
| 270 | - $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 271 | - $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 127 | + /**  | 
                                                        |
| 128 | + * Returns notification recipients.  | 
                                                        |
| 129 | + *  | 
                                                        |
| 130 | + * @param WPInv_Invoice $invoice  | 
                                                        |
| 131 | + * @return array  | 
                                                        |
| 132 | + */  | 
                                                        |
| 133 | +    public function get_recipients( $invoice ) { | 
                                                        |
| 134 | + $recipients = array( $invoice->get_email() );  | 
                                                        |
| 272 | 135 | |
| 273 | - }  | 
                                                        |
| 136 | + $cc = $invoice->get_email_cc();  | 
                                                        |
| 274 | 137 | |
| 275 | - /**  | 
                                                        |
| 276 | - * Sends a completed subscription notification.  | 
                                                        |
| 277 | - *  | 
                                                        |
| 278 | - * @param WPInv_Subscription $subscription  | 
                                                        |
| 279 | - */  | 
                                                        |
| 280 | -	public function subscription_complete( $subscription ) { | 
                                                        |
| 138 | +        if ( ! empty( $cc ) ) { | 
                                                        |
| 139 | + $cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );  | 
                                                        |
| 140 | + $recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );  | 
                                                        |
| 141 | + }  | 
                                                        |
| 281 | 142 | |
| 282 | - $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 283 | - $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 143 | + return $recipients;  | 
                                                        |
| 144 | + }  | 
                                                        |
| 284 | 145 | |
| 285 | - }  | 
                                                        |
| 146 | + /**  | 
                                                        |
| 147 | + * Helper function to send an email.  | 
                                                        |
| 148 | + *  | 
                                                        |
| 149 | + * @param WPInv_Subscription $subscription  | 
                                                        |
| 150 | + * @param GetPaid_Notification_Email $email  | 
                                                        |
| 151 | + * @param string $type  | 
                                                        |
| 152 | + * @param array $extra_args Extra template args.  | 
                                                        |
| 153 | + */  | 
                                                        |
| 154 | +    public function send_email( $subscription, $email, $type, $extra_args = array() ) { | 
                                                        |
| 155 | +  | 
                                                        |
| 156 | +        if ( empty( $subscription ) ) { | 
                                                        |
| 157 | + return;  | 
                                                        |
| 158 | + }  | 
                                                        |
| 159 | +  | 
                                                        |
| 160 | +        if ( is_array( $subscription ) ) { | 
                                                        |
| 161 | + $subscription = current( $subscription );  | 
                                                        |
| 162 | + }  | 
                                                        |
| 163 | +  | 
                                                        |
| 164 | +        if ( ! $subscription instanceof WPInv_Subscription ) { | 
                                                        |
| 165 | + return;  | 
                                                        |
| 166 | + }  | 
                                                        |
| 167 | +  | 
                                                        |
| 168 | + // Abort in case the parent invoice does not exist.  | 
                                                        |
| 169 | + $invoice = $subscription->get_parent_invoice();  | 
                                                        |
| 170 | +        if ( ! $this->should_send_notification( $invoice ) ) { | 
                                                        |
| 171 | + return;  | 
                                                        |
| 172 | + }  | 
                                                        |
| 173 | +  | 
                                                        |
| 174 | +        if ( apply_filters( 'getpaid_skip_subscription_email', false, $type, $subscription ) ) { | 
                                                        |
| 175 | + return;  | 
                                                        |
| 176 | + }  | 
                                                        |
| 177 | +  | 
                                                        |
| 178 | + do_action( 'getpaid_before_send_subscription_notification', $type, $subscription, $email );  | 
                                                        |
| 179 | +  | 
                                                        |
| 180 | + $recipients = $this->get_recipients( $invoice );  | 
                                                        |
| 181 | + $mailer = new GetPaid_Notification_Email_Sender();  | 
                                                        |
| 182 | + $merge_tags = $email->get_merge_tags();  | 
                                                        |
| 183 | + $content = $email->get_content( $merge_tags, $extra_args );  | 
                                                        |
| 184 | + $subject = $email->add_merge_tags( $email->get_subject(), $merge_tags );  | 
                                                        |
| 185 | + $attachments = $email->get_attachments();  | 
                                                        |
| 186 | +  | 
                                                        |
| 187 | + $result = $mailer->send(  | 
                                                        |
| 188 | + apply_filters( 'getpaid_subscription_email_recipients', wpinv_parse_list( $recipients ), $email ),  | 
                                                        |
| 189 | + $subject,  | 
                                                        |
| 190 | + $content,  | 
                                                        |
| 191 | + $attachments  | 
                                                        |
| 192 | + );  | 
                                                        |
| 193 | +  | 
                                                        |
| 194 | + // Maybe send a copy to the admin.  | 
                                                        |
| 195 | +        if ( $email->include_admin_bcc() ) { | 
                                                        |
| 196 | + $mailer->send(  | 
                                                        |
| 197 | + wpinv_get_admin_email(),  | 
                                                        |
| 198 | + $subject . __( ' - ADMIN BCC COPY', 'invoicing' ),  | 
                                                        |
| 199 | + $content,  | 
                                                        |
| 200 | + $attachments  | 
                                                        |
| 201 | + );  | 
                                                        |
| 202 | + }  | 
                                                        |
| 203 | +  | 
                                                        |
| 204 | +        if ( $result ) { | 
                                                        |
| 205 | + $invoice->add_system_note(  | 
                                                        |
| 206 | + sprintf(  | 
                                                        |
| 207 | + __( 'Successfully sent %1$s notification email to %2$s.', 'invoicing' ),  | 
                                                        |
| 208 | + sanitize_key( $type ),  | 
                                                        |
| 209 | + $email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )  | 
                                                        |
| 210 | + )  | 
                                                        |
| 211 | + );  | 
                                                        |
| 212 | +        } else { | 
                                                        |
| 213 | + $invoice->add_system_note(  | 
                                                        |
| 214 | + sprintf(  | 
                                                        |
| 215 | + __( 'Failed sending %1$s notification email to %2$s.', 'invoicing' ),  | 
                                                        |
| 216 | + sanitize_key( $type ),  | 
                                                        |
| 217 | + $email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )  | 
                                                        |
| 218 | + )  | 
                                                        |
| 219 | + );  | 
                                                        |
| 220 | + }  | 
                                                        |
| 221 | +  | 
                                                        |
| 222 | + do_action( 'getpaid_after_send_subscription_notification', $type, $subscription, $email );  | 
                                                        |
| 286 | 223 | |
| 287 | - /**  | 
                                                        |
| 288 | - * Sends a subscription renewal reminder notification.  | 
                                                        |
| 289 | - *  | 
                                                        |
| 290 | - */  | 
                                                        |
| 291 | -	public function renewal_reminder() { | 
                                                        |
| 224 | + }  | 
                                                        |
| 292 | 225 | |
| 293 | - $email = new GetPaid_Notification_Email( __FUNCTION__ );  | 
                                                        |
| 226 | + /**  | 
                                                        |
| 227 | + * Sends a subscription active.  | 
                                                        |
| 228 | + *  | 
                                                        |
| 229 | + * @since 2.8.4  | 
                                                        |
| 230 | + *  | 
                                                        |
| 231 | + * @param WPInv_Subscription $subscription  | 
                                                        |
| 232 | + */  | 
                                                        |
| 233 | +    public function subscription_active( $subscription ) { | 
                                                        |
| 234 | + $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 294 | 235 | |
| 295 | - // Fetch reminder days.  | 
                                                        |
| 296 | - $reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );  | 
                                                        |
| 236 | + $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 237 | + }  | 
                                                        |
| 297 | 238 | |
| 298 | - // Abort if non is set.  | 
                                                        |
| 299 | -		if ( empty( $reminder_days ) ) { | 
                                                        |
| 300 | - return;  | 
                                                        |
| 301 | - }  | 
                                                        |
| 239 | + /**  | 
                                                        |
| 240 | + * Sends a new trial notification.  | 
                                                        |
| 241 | + *  | 
                                                        |
| 242 | + * @param WPInv_Subscription $subscription  | 
                                                        |
| 243 | + */  | 
                                                        |
| 244 | +    public function subscription_trial( $subscription ) { | 
                                                        |
| 302 | 245 | |
| 303 | - // Fetch matching subscriptions.  | 
                                                        |
| 246 | + $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 247 | + $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 248 | +  | 
                                                        |
| 249 | + }  | 
                                                        |
| 250 | +  | 
                                                        |
| 251 | + /**  | 
                                                        |
| 252 | + * Sends a cancelled subscription notification.  | 
                                                        |
| 253 | + *  | 
                                                        |
| 254 | + * @param WPInv_Subscription $subscription  | 
                                                        |
| 255 | + */  | 
                                                        |
| 256 | +    public function subscription_cancelled( $subscription ) { | 
                                                        |
| 257 | +  | 
                                                        |
| 258 | + $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 259 | + $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 260 | +  | 
                                                        |
| 261 | + }  | 
                                                        |
| 262 | +  | 
                                                        |
| 263 | + /**  | 
                                                        |
| 264 | + * Sends a subscription expired notification.  | 
                                                        |
| 265 | + *  | 
                                                        |
| 266 | + * @param WPInv_Subscription $subscription  | 
                                                        |
| 267 | + */  | 
                                                        |
| 268 | +    public function subscription_expired( $subscription ) { | 
                                                        |
| 269 | +  | 
                                                        |
| 270 | + $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 271 | + $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 272 | +  | 
                                                        |
| 273 | + }  | 
                                                        |
| 274 | +  | 
                                                        |
| 275 | + /**  | 
                                                        |
| 276 | + * Sends a completed subscription notification.  | 
                                                        |
| 277 | + *  | 
                                                        |
| 278 | + * @param WPInv_Subscription $subscription  | 
                                                        |
| 279 | + */  | 
                                                        |
| 280 | +    public function subscription_complete( $subscription ) { | 
                                                        |
| 281 | +  | 
                                                        |
| 282 | + $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 283 | + $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 284 | +  | 
                                                        |
| 285 | + }  | 
                                                        |
| 286 | +  | 
                                                        |
| 287 | + /**  | 
                                                        |
| 288 | + * Sends a subscription renewal reminder notification.  | 
                                                        |
| 289 | + *  | 
                                                        |
| 290 | + */  | 
                                                        |
| 291 | +    public function renewal_reminder() { | 
                                                        |
| 292 | +  | 
                                                        |
| 293 | + $email = new GetPaid_Notification_Email( __FUNCTION__ );  | 
                                                        |
| 294 | +  | 
                                                        |
| 295 | + // Fetch reminder days.  | 
                                                        |
| 296 | + $reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );  | 
                                                        |
| 297 | +  | 
                                                        |
| 298 | + // Abort if non is set.  | 
                                                        |
| 299 | +        if ( empty( $reminder_days ) ) { | 
                                                        |
| 300 | + return;  | 
                                                        |
| 301 | + }  | 
                                                        |
| 302 | +  | 
                                                        |
| 303 | + // Fetch matching subscriptions.  | 
                                                        |
| 304 | 304 | $args = array(  | 
                                                        
| 305 | 305 | 'number' => -1,  | 
                                                        
| 306 | - 'count_total' => false,  | 
                                                        |
| 307 | - 'status' => 'trialling active',  | 
                                                        |
| 306 | + 'count_total' => false,  | 
                                                        |
| 307 | + 'status' => 'trialling active',  | 
                                                        |
| 308 | 308 | 'date_expires_query' => array(  | 
                                                        
| 309 | - 'relation' => 'OR',  | 
                                                        |
| 309 | + 'relation' => 'OR',  | 
                                                        |
| 310 | 310 | ),  | 
                                                        
| 311 | - );  | 
                                                        |
| 311 | + );  | 
                                                        |
| 312 | 312 | |
| 313 | -		foreach ( $reminder_days as $days ) { | 
                                                        |
| 314 | - $date = date_parse( date( 'Y-m-d', strtotime( "+$days days", current_time( 'timestamp' ) ) ) );  | 
                                                        |
| 313 | +        foreach ( $reminder_days as $days ) { | 
                                                        |
| 314 | + $date = date_parse( date( 'Y-m-d', strtotime( "+$days days", current_time( 'timestamp' ) ) ) );  | 
                                                        |
| 315 | 315 | |
| 316 | - $args['date_expires_query'][] = array(  | 
                                                        |
| 317 | - 'year' => $date['year'],  | 
                                                        |
| 318 | - 'month' => $date['month'],  | 
                                                        |
| 319 | - 'day' => $date['day'],  | 
                                                        |
| 320 | - );  | 
                                                        |
| 316 | + $args['date_expires_query'][] = array(  | 
                                                        |
| 317 | + 'year' => $date['year'],  | 
                                                        |
| 318 | + 'month' => $date['month'],  | 
                                                        |
| 319 | + 'day' => $date['day'],  | 
                                                        |
| 320 | + );  | 
                                                        |
| 321 | 321 | |
| 322 | - }  | 
                                                        |
| 322 | + }  | 
                                                        |
| 323 | 323 | |
| 324 | - $subscriptions = new GetPaid_Subscriptions_Query( $args );  | 
                                                        |
| 324 | + $subscriptions = new GetPaid_Subscriptions_Query( $args );  | 
                                                        |
| 325 | 325 | |
| 326 | 326 |          foreach ( $subscriptions->get_results() as $subscription ) { | 
                                                        
| 327 | 327 | |
| 328 | - // Skip packages.  | 
                                                        |
| 329 | -			if ( apply_filters( 'getpaid_send_subscription_renewal_reminder_email', true ) ) { | 
                                                        |
| 330 | - $email->object = $subscription;  | 
                                                        |
| 331 | - $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 332 | - }  | 
                                                        |
| 333 | - }  | 
                                                        |
| 328 | + // Skip packages.  | 
                                                        |
| 329 | +            if ( apply_filters( 'getpaid_send_subscription_renewal_reminder_email', true ) ) { | 
                                                        |
| 330 | + $email->object = $subscription;  | 
                                                        |
| 331 | + $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 332 | + }  | 
                                                        |
| 333 | + }  | 
                                                        |
| 334 | 334 | |
| 335 | - }  | 
                                                        |
| 335 | + }  | 
                                                        |
| 336 | 336 | |
| 337 | 337 | }  | 
                                                        
@@ -4,7 +4,7 @@ discard block  | 
                                                    ||
| 4 | 4 | *  | 
                                                        
| 5 | 5 | */  | 
                                                        
| 6 | 6 | |
| 7 | -defined( 'ABSPATH' ) || exit;  | 
                                                        |
| 7 | +defined('ABSPATH') || exit; | 
                                                        |
| 8 | 8 | |
| 9 | 9 | /**  | 
                                                        
| 10 | 10 | * This class handles subscription notificaiton emails.  | 
                                                        
@@ -46,21 +46,21 @@ discard block  | 
                                                    ||
| 46 | 46 | */  | 
                                                        
| 47 | 47 |  	public function init_hooks() { | 
                                                        
| 48 | 48 | |
| 49 | - add_filter( 'getpaid_get_email_merge_tags', array( $this, 'subscription_merge_tags' ), 10, 2 );  | 
                                                        |
| 50 | -		foreach ( $this->subscription_actions as $hook => $email_type ) { | 
                                                        |
| 49 | +		add_filter('getpaid_get_email_merge_tags', array($this, 'subscription_merge_tags'), 10, 2); | 
                                                        |
| 50 | +		foreach ($this->subscription_actions as $hook => $email_type) { | 
                                                        |
| 51 | 51 | |
| 52 | - $email = new GetPaid_Notification_Email( $email_type );  | 
                                                        |
| 52 | + $email = new GetPaid_Notification_Email($email_type);  | 
                                                        |
| 53 | 53 | |
| 54 | -			if ( ! $email->is_active() ) { | 
                                                        |
| 54 | +			if (!$email->is_active()) { | 
                                                        |
| 55 | 55 | continue;  | 
                                                        
| 56 | 56 | }  | 
                                                        
| 57 | 57 | |
| 58 | -			if ( method_exists( $this, $email_type ) ) { | 
                                                        |
| 59 | - add_action( $hook, array( $this, $email_type ), 100, 2 );  | 
                                                        |
| 58 | +			if (method_exists($this, $email_type)) { | 
                                                        |
| 59 | + add_action($hook, array($this, $email_type), 100, 2);  | 
                                                        |
| 60 | 60 | continue;  | 
                                                        
| 61 | 61 | }  | 
                                                        
| 62 | 62 | |
| 63 | - do_action( 'getpaid_subscription_notification_email_register_hook', $email_type, $hook );  | 
                                                        |
| 63 | +			do_action('getpaid_subscription_notification_email_register_hook', $email_type, $hook); | 
                                                        |
| 64 | 64 | |
| 65 | 65 | }  | 
                                                        
| 66 | 66 | |
@@ -72,12 +72,12 @@ discard block  | 
                                                    ||
| 72 | 72 | * @param array $merge_tags  | 
                                                        
| 73 | 73 | * @param mixed|WPInv_Invoice|WPInv_Subscription $object  | 
                                                        
| 74 | 74 | */  | 
                                                        
| 75 | -	public function subscription_merge_tags( $merge_tags, $object ) { | 
                                                        |
| 75 | +	public function subscription_merge_tags($merge_tags, $object) { | 
                                                        |
| 76 | 76 | |
| 77 | -		if ( is_a( $object, 'WPInv_Subscription' ) ) { | 
                                                        |
| 77 | +		if (is_a($object, 'WPInv_Subscription')) { | 
                                                        |
| 78 | 78 | $merge_tags = array_merge(  | 
                                                        
| 79 | 79 | $merge_tags,  | 
                                                        
| 80 | - $this->get_subscription_merge_tags( $object )  | 
                                                        |
| 80 | + $this->get_subscription_merge_tags($object)  | 
                                                        |
| 81 | 81 | );  | 
                                                        
| 82 | 82 | }  | 
                                                        
| 83 | 83 | |
@@ -91,25 +91,25 @@ discard block  | 
                                                    ||
| 91 | 91 | * @param WPInv_Subscription $subscription  | 
                                                        
| 92 | 92 | * @return array  | 
                                                        
| 93 | 93 | */  | 
                                                        
| 94 | -	public function get_subscription_merge_tags( $subscription ) { | 
                                                        |
| 94 | +	public function get_subscription_merge_tags($subscription) { | 
                                                        |
| 95 | 95 | |
| 96 | 96 | // Abort if it does not exist.  | 
                                                        
| 97 | -		if ( ! $subscription->get_id() ) { | 
                                                        |
| 97 | +		if (!$subscription->get_id()) { | 
                                                        |
| 98 | 98 | return array();  | 
                                                        
| 99 | 99 | }  | 
                                                        
| 100 | 100 | |
| 101 | - $invoice = $subscription->get_parent_invoice();  | 
                                                        |
| 101 | + $invoice = $subscription->get_parent_invoice();  | 
                                                        |
| 102 | 102 | return array(  | 
                                                        
| 103 | -			'{subscription_renewal_date}'     => getpaid_format_date_value( $subscription->get_next_renewal_date(), __( 'Never', 'invoicing' ) ), | 
                                                        |
| 104 | -			'{subscription_created}'          => getpaid_format_date_value( $subscription->get_date_created() ), | 
                                                        |
| 105 | -			'{subscription_status}'           => sanitize_text_field( $subscription->get_status_label() ), | 
                                                        |
| 106 | -			'{subscription_profile_id}'       => sanitize_text_field( $subscription->get_profile_id() ), | 
                                                        |
| 107 | -			'{subscription_id}'               => absint( $subscription->get_id() ), | 
                                                        |
| 108 | -			'{subscription_recurring_amount}' => sanitize_text_field( wpinv_price( $subscription->get_recurring_amount(), $invoice->get_currency() ) ), | 
                                                        |
| 109 | -			'{subscription_initial_amount}'   => sanitize_text_field( wpinv_price( $subscription->get_initial_amount(), $invoice->get_currency() ) ), | 
                                                        |
| 110 | -			'{subscription_recurring_period}' => getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' ), | 
                                                        |
| 103 | +			'{subscription_renewal_date}'     => getpaid_format_date_value($subscription->get_next_renewal_date(), __('Never', 'invoicing')), | 
                                                        |
| 104 | +			'{subscription_created}'          => getpaid_format_date_value($subscription->get_date_created()), | 
                                                        |
| 105 | +			'{subscription_status}'           => sanitize_text_field($subscription->get_status_label()), | 
                                                        |
| 106 | +			'{subscription_profile_id}'       => sanitize_text_field($subscription->get_profile_id()), | 
                                                        |
| 107 | +			'{subscription_id}'               => absint($subscription->get_id()), | 
                                                        |
| 108 | +			'{subscription_recurring_amount}' => sanitize_text_field(wpinv_price($subscription->get_recurring_amount(), $invoice->get_currency())), | 
                                                        |
| 109 | +			'{subscription_initial_amount}'   => sanitize_text_field(wpinv_price($subscription->get_initial_amount(), $invoice->get_currency())), | 
                                                        |
| 110 | +			'{subscription_recurring_period}' => getpaid_get_subscription_period_label($subscription->get_period(), $subscription->get_frequency(), ''), | 
                                                        |
| 111 | 111 |  			'{subscription_bill_times}'       => $subscription->get_bill_times(), | 
                                                        
| 112 | -			'{subscription_url}'              => esc_url( $subscription->get_view_url() ), | 
                                                        |
| 112 | +			'{subscription_url}'              => esc_url($subscription->get_view_url()), | 
                                                        |
| 113 | 113 | );  | 
                                                        
| 114 | 114 | |
| 115 | 115 | }  | 
                                                        
@@ -120,7 +120,7 @@ discard block  | 
                                                    ||
| 120 | 120 | * @param WPInv_Invoice $invoice  | 
                                                        
| 121 | 121 | * @return bool  | 
                                                        
| 122 | 122 | */  | 
                                                        
| 123 | -	public function should_send_notification( $invoice ) { | 
                                                        |
| 123 | +	public function should_send_notification($invoice) { | 
                                                        |
| 124 | 124 | return 0 != $invoice->get_id();  | 
                                                        
| 125 | 125 | }  | 
                                                        
| 126 | 126 | |
@@ -130,14 +130,14 @@ discard block  | 
                                                    ||
| 130 | 130 | * @param WPInv_Invoice $invoice  | 
                                                        
| 131 | 131 | * @return array  | 
                                                        
| 132 | 132 | */  | 
                                                        
| 133 | -	public function get_recipients( $invoice ) { | 
                                                        |
| 134 | - $recipients = array( $invoice->get_email() );  | 
                                                        |
| 133 | +	public function get_recipients($invoice) { | 
                                                        |
| 134 | + $recipients = array($invoice->get_email());  | 
                                                        |
| 135 | 135 | |
| 136 | 136 | $cc = $invoice->get_email_cc();  | 
                                                        
| 137 | 137 | |
| 138 | -		if ( ! empty( $cc ) ) { | 
                                                        |
| 139 | - $cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );  | 
                                                        |
| 140 | - $recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );  | 
                                                        |
| 138 | +		if (!empty($cc)) { | 
                                                        |
| 139 | +			$cc = array_map('sanitize_email', wpinv_parse_list($cc)); | 
                                                        |
| 140 | + $recipients = array_filter(array_unique(array_merge($recipients, $cc)));  | 
                                                        |
| 141 | 141 | }  | 
                                                        
| 142 | 142 | |
| 143 | 143 | return $recipients;  | 
                                                        
@@ -151,75 +151,75 @@ discard block  | 
                                                    ||
| 151 | 151 | * @param string $type  | 
                                                        
| 152 | 152 | * @param array $extra_args Extra template args.  | 
                                                        
| 153 | 153 | */  | 
                                                        
| 154 | -	public function send_email( $subscription, $email, $type, $extra_args = array() ) { | 
                                                        |
| 154 | +	public function send_email($subscription, $email, $type, $extra_args = array()) { | 
                                                        |
| 155 | 155 | |
| 156 | -		if ( empty( $subscription ) ) { | 
                                                        |
| 156 | +		if (empty($subscription)) { | 
                                                        |
| 157 | 157 | return;  | 
                                                        
| 158 | 158 | }  | 
                                                        
| 159 | 159 | |
| 160 | -		if ( is_array( $subscription ) ) { | 
                                                        |
| 161 | - $subscription = current( $subscription );  | 
                                                        |
| 160 | +		if (is_array($subscription)) { | 
                                                        |
| 161 | + $subscription = current($subscription);  | 
                                                        |
| 162 | 162 | }  | 
                                                        
| 163 | 163 | |
| 164 | -		if ( ! $subscription instanceof WPInv_Subscription ) { | 
                                                        |
| 164 | +		if (!$subscription instanceof WPInv_Subscription) { | 
                                                        |
| 165 | 165 | return;  | 
                                                        
| 166 | 166 | }  | 
                                                        
| 167 | 167 | |
| 168 | 168 | // Abort in case the parent invoice does not exist.  | 
                                                        
| 169 | 169 | $invoice = $subscription->get_parent_invoice();  | 
                                                        
| 170 | -		if ( ! $this->should_send_notification( $invoice ) ) { | 
                                                        |
| 170 | +		if (!$this->should_send_notification($invoice)) { | 
                                                        |
| 171 | 171 | return;  | 
                                                        
| 172 | 172 | }  | 
                                                        
| 173 | 173 | |
| 174 | -		if ( apply_filters( 'getpaid_skip_subscription_email', false, $type, $subscription ) ) { | 
                                                        |
| 174 | +		if (apply_filters('getpaid_skip_subscription_email', false, $type, $subscription)) { | 
                                                        |
| 175 | 175 | return;  | 
                                                        
| 176 | 176 | }  | 
                                                        
| 177 | 177 | |
| 178 | - do_action( 'getpaid_before_send_subscription_notification', $type, $subscription, $email );  | 
                                                        |
| 178 | +		do_action('getpaid_before_send_subscription_notification', $type, $subscription, $email); | 
                                                        |
| 179 | 179 | |
| 180 | - $recipients = $this->get_recipients( $invoice );  | 
                                                        |
| 180 | + $recipients = $this->get_recipients($invoice);  | 
                                                        |
| 181 | 181 | $mailer = new GetPaid_Notification_Email_Sender();  | 
                                                        
| 182 | 182 | $merge_tags = $email->get_merge_tags();  | 
                                                        
| 183 | - $content = $email->get_content( $merge_tags, $extra_args );  | 
                                                        |
| 184 | - $subject = $email->add_merge_tags( $email->get_subject(), $merge_tags );  | 
                                                        |
| 183 | + $content = $email->get_content($merge_tags, $extra_args);  | 
                                                        |
| 184 | + $subject = $email->add_merge_tags($email->get_subject(), $merge_tags);  | 
                                                        |
| 185 | 185 | $attachments = $email->get_attachments();  | 
                                                        
| 186 | 186 | |
| 187 | 187 | $result = $mailer->send(  | 
                                                        
| 188 | - apply_filters( 'getpaid_subscription_email_recipients', wpinv_parse_list( $recipients ), $email ),  | 
                                                        |
| 188 | +			apply_filters('getpaid_subscription_email_recipients', wpinv_parse_list($recipients), $email), | 
                                                        |
| 189 | 189 | $subject,  | 
                                                        
| 190 | 190 | $content,  | 
                                                        
| 191 | 191 | $attachments  | 
                                                        
| 192 | 192 | );  | 
                                                        
| 193 | 193 | |
| 194 | 194 | // Maybe send a copy to the admin.  | 
                                                        
| 195 | -		if ( $email->include_admin_bcc() ) { | 
                                                        |
| 195 | +		if ($email->include_admin_bcc()) { | 
                                                        |
| 196 | 196 | $mailer->send(  | 
                                                        
| 197 | 197 | wpinv_get_admin_email(),  | 
                                                        
| 198 | - $subject . __( ' - ADMIN BCC COPY', 'invoicing' ),  | 
                                                        |
| 198 | +				$subject . __(' - ADMIN BCC COPY', 'invoicing'), | 
                                                        |
| 199 | 199 | $content,  | 
                                                        
| 200 | 200 | $attachments  | 
                                                        
| 201 | 201 | );  | 
                                                        
| 202 | 202 | }  | 
                                                        
| 203 | 203 | |
| 204 | -		if ( $result ) { | 
                                                        |
| 204 | +		if ($result) { | 
                                                        |
| 205 | 205 | $invoice->add_system_note(  | 
                                                        
| 206 | 206 | sprintf(  | 
                                                        
| 207 | - __( 'Successfully sent %1$s notification email to %2$s.', 'invoicing' ),  | 
                                                        |
| 208 | - sanitize_key( $type ),  | 
                                                        |
| 209 | - $email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )  | 
                                                        |
| 207 | +					__('Successfully sent %1$s notification email to %2$s.', 'invoicing'), | 
                                                        |
| 208 | + sanitize_key($type),  | 
                                                        |
| 209 | +					$email->is_admin_email() ? __('admin') : __('the customer') | 
                                                        |
| 210 | 210 | )  | 
                                                        
| 211 | 211 | );  | 
                                                        
| 212 | 212 |  		} else { | 
                                                        
| 213 | 213 | $invoice->add_system_note(  | 
                                                        
| 214 | 214 | sprintf(  | 
                                                        
| 215 | - __( 'Failed sending %1$s notification email to %2$s.', 'invoicing' ),  | 
                                                        |
| 216 | - sanitize_key( $type ),  | 
                                                        |
| 217 | - $email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )  | 
                                                        |
| 215 | +					__('Failed sending %1$s notification email to %2$s.', 'invoicing'), | 
                                                        |
| 216 | + sanitize_key($type),  | 
                                                        |
| 217 | +					$email->is_admin_email() ? __('admin') : __('the customer') | 
                                                        |
| 218 | 218 | )  | 
                                                        
| 219 | 219 | );  | 
                                                        
| 220 | 220 | }  | 
                                                        
| 221 | 221 | |
| 222 | - do_action( 'getpaid_after_send_subscription_notification', $type, $subscription, $email );  | 
                                                        |
| 222 | +		do_action('getpaid_after_send_subscription_notification', $type, $subscription, $email); | 
                                                        |
| 223 | 223 | |
| 224 | 224 | }  | 
                                                        
| 225 | 225 | |
@@ -230,10 +230,10 @@ discard block  | 
                                                    ||
| 230 | 230 | *  | 
                                                        
| 231 | 231 | * @param WPInv_Subscription $subscription  | 
                                                        
| 232 | 232 | */  | 
                                                        
| 233 | -	public function subscription_active( $subscription ) { | 
                                                        |
| 234 | - $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 233 | +	public function subscription_active($subscription) { | 
                                                        |
| 234 | + $email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);  | 
                                                        |
| 235 | 235 | |
| 236 | - $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 236 | + $this->send_email($subscription, $email, __FUNCTION__);  | 
                                                        |
| 237 | 237 | }  | 
                                                        
| 238 | 238 | |
| 239 | 239 | /**  | 
                                                        
@@ -241,10 +241,10 @@ discard block  | 
                                                    ||
| 241 | 241 | *  | 
                                                        
| 242 | 242 | * @param WPInv_Subscription $subscription  | 
                                                        
| 243 | 243 | */  | 
                                                        
| 244 | -	public function subscription_trial( $subscription ) { | 
                                                        |
| 244 | +	public function subscription_trial($subscription) { | 
                                                        |
| 245 | 245 | |
| 246 | - $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 247 | - $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 246 | + $email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);  | 
                                                        |
| 247 | + $this->send_email($subscription, $email, __FUNCTION__);  | 
                                                        |
| 248 | 248 | |
| 249 | 249 | }  | 
                                                        
| 250 | 250 | |
@@ -253,10 +253,10 @@ discard block  | 
                                                    ||
| 253 | 253 | *  | 
                                                        
| 254 | 254 | * @param WPInv_Subscription $subscription  | 
                                                        
| 255 | 255 | */  | 
                                                        
| 256 | -	public function subscription_cancelled( $subscription ) { | 
                                                        |
| 256 | +	public function subscription_cancelled($subscription) { | 
                                                        |
| 257 | 257 | |
| 258 | - $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 259 | - $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 258 | + $email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);  | 
                                                        |
| 259 | + $this->send_email($subscription, $email, __FUNCTION__);  | 
                                                        |
| 260 | 260 | |
| 261 | 261 | }  | 
                                                        
| 262 | 262 | |
@@ -265,10 +265,10 @@ discard block  | 
                                                    ||
| 265 | 265 | *  | 
                                                        
| 266 | 266 | * @param WPInv_Subscription $subscription  | 
                                                        
| 267 | 267 | */  | 
                                                        
| 268 | -	public function subscription_expired( $subscription ) { | 
                                                        |
| 268 | +	public function subscription_expired($subscription) { | 
                                                        |
| 269 | 269 | |
| 270 | - $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 271 | - $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 270 | + $email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);  | 
                                                        |
| 271 | + $this->send_email($subscription, $email, __FUNCTION__);  | 
                                                        |
| 272 | 272 | |
| 273 | 273 | }  | 
                                                        
| 274 | 274 | |
@@ -277,10 +277,10 @@ discard block  | 
                                                    ||
| 277 | 277 | *  | 
                                                        
| 278 | 278 | * @param WPInv_Subscription $subscription  | 
                                                        
| 279 | 279 | */  | 
                                                        
| 280 | -	public function subscription_complete( $subscription ) { | 
                                                        |
| 280 | +	public function subscription_complete($subscription) { | 
                                                        |
| 281 | 281 | |
| 282 | - $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );  | 
                                                        |
| 283 | - $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 282 | + $email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);  | 
                                                        |
| 283 | + $this->send_email($subscription, $email, __FUNCTION__);  | 
                                                        |
| 284 | 284 | |
| 285 | 285 | }  | 
                                                        
| 286 | 286 | |
@@ -290,18 +290,18 @@ discard block  | 
                                                    ||
| 290 | 290 | */  | 
                                                        
| 291 | 291 |  	public function renewal_reminder() { | 
                                                        
| 292 | 292 | |
| 293 | - $email = new GetPaid_Notification_Email( __FUNCTION__ );  | 
                                                        |
| 293 | + $email = new GetPaid_Notification_Email(__FUNCTION__);  | 
                                                        |
| 294 | 294 | |
| 295 | 295 | // Fetch reminder days.  | 
                                                        
| 296 | - $reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );  | 
                                                        |
| 296 | +		$reminder_days = array_unique(wp_parse_id_list($email->get_option('days'))); | 
                                                        |
| 297 | 297 | |
| 298 | 298 | // Abort if non is set.  | 
                                                        
| 299 | -		if ( empty( $reminder_days ) ) { | 
                                                        |
| 299 | +		if (empty($reminder_days)) { | 
                                                        |
| 300 | 300 | return;  | 
                                                        
| 301 | 301 | }  | 
                                                        
| 302 | 302 | |
| 303 | 303 | // Fetch matching subscriptions.  | 
                                                        
| 304 | - $args = array(  | 
                                                        |
| 304 | + $args = array(  | 
                                                        |
| 305 | 305 | 'number' => -1,  | 
                                                        
| 306 | 306 | 'count_total' => false,  | 
                                                        
| 307 | 307 | 'status' => 'trialling active',  | 
                                                        
@@ -310,8 +310,8 @@ discard block  | 
                                                    ||
| 310 | 310 | ),  | 
                                                        
| 311 | 311 | );  | 
                                                        
| 312 | 312 | |
| 313 | -		foreach ( $reminder_days as $days ) { | 
                                                        |
| 314 | - $date = date_parse( date( 'Y-m-d', strtotime( "+$days days", current_time( 'timestamp' ) ) ) );  | 
                                                        |
| 313 | +		foreach ($reminder_days as $days) { | 
                                                        |
| 314 | +			$date = date_parse(date('Y-m-d', strtotime("+$days days", current_time('timestamp')))); | 
                                                        |
| 315 | 315 | |
| 316 | 316 | $args['date_expires_query'][] = array(  | 
                                                        
| 317 | 317 | 'year' => $date['year'],  | 
                                                        
@@ -321,14 +321,14 @@ discard block  | 
                                                    ||
| 321 | 321 | |
| 322 | 322 | }  | 
                                                        
| 323 | 323 | |
| 324 | - $subscriptions = new GetPaid_Subscriptions_Query( $args );  | 
                                                        |
| 324 | + $subscriptions = new GetPaid_Subscriptions_Query($args);  | 
                                                        |
| 325 | 325 | |
| 326 | -        foreach ( $subscriptions->get_results() as $subscription ) { | 
                                                        |
| 326 | +        foreach ($subscriptions->get_results() as $subscription) { | 
                                                        |
| 327 | 327 | |
| 328 | 328 | // Skip packages.  | 
                                                        
| 329 | -			if ( apply_filters( 'getpaid_send_subscription_renewal_reminder_email', true ) ) { | 
                                                        |
| 329 | +			if (apply_filters('getpaid_send_subscription_renewal_reminder_email', true)) { | 
                                                        |
| 330 | 330 | $email->object = $subscription;  | 
                                                        
| 331 | - $this->send_email( $subscription, $email, __FUNCTION__ );  | 
                                                        |
| 331 | + $this->send_email($subscription, $email, __FUNCTION__);  | 
                                                        |
| 332 | 332 | }  | 
                                                        
| 333 | 333 | }  | 
                                                        
| 334 | 334 | |
@@ -8,24 +8,24 @@ discard block  | 
                                                    ||
| 8 | 8 | * @version 1.0.19  | 
                                                        
| 9 | 9 | */  | 
                                                        
| 10 | 10 | |
| 11 | -defined( 'ABSPATH' ) || exit;  | 
                                                        |
| 11 | +defined('ABSPATH') || exit; | 
                                                        |
| 12 | 12 | |
| 13 | 13 | // Prepare the due date reminder options.  | 
                                                        
| 14 | 14 | $overdue_days_options = array();  | 
                                                        
| 15 | -$overdue_days_options['0'] = __( 'On the Due Date', 'invoicing' );  | 
                                                        |
| 16 | -$overdue_days_options['1'] = __( '1 day after Due Date', 'invoicing' );  | 
                                                        |
| 15 | +$overdue_days_options['0']  = __('On the Due Date', 'invoicing'); | 
                                                        |
| 16 | +$overdue_days_options['1']  = __('1 day after Due Date', 'invoicing'); | 
                                                        |
| 17 | 17 | |
| 18 | -for ( $i = 2; $i <= 45; $i++ ) { | 
                                                        |
| 19 | - $overdue_days_options[ "$i" ] = wp_sprintf( __( '%d days after Due Date', 'invoicing' ), $i );  | 
                                                        |
| 18 | +for ($i = 2; $i <= 45; $i++) { | 
                                                        |
| 19 | +    $overdue_days_options["$i"] = wp_sprintf(__('%d days after Due Date', 'invoicing'), $i); | 
                                                        |
| 20 | 20 | }  | 
                                                        
| 21 | 21 | |
| 22 | 22 | // Prepare up coming renewal reminder options.  | 
                                                        
| 23 | 23 | $renewal_days_options = array();  | 
                                                        
| 24 | -$renewal_days_options['0'] = __( 'On the renewal date', 'invoicing' );  | 
                                                        |
| 25 | -$renewal_days_options['1'] = __( '1 day before the renewal date', 'invoicing' );  | 
                                                        |
| 24 | +$renewal_days_options['0']  = __('On the renewal date', 'invoicing'); | 
                                                        |
| 25 | +$renewal_days_options['1']  = __('1 day before the renewal date', 'invoicing'); | 
                                                        |
| 26 | 26 | |
| 27 | -for ( $i = 2; $i <= 45; $i++ ) { | 
                                                        |
| 28 | - $renewal_days_options[ "$i" ] = wp_sprintf( __( '%d days before the renewal date', 'invoicing' ), $i );  | 
                                                        |
| 27 | +for ($i = 2; $i <= 45; $i++) { | 
                                                        |
| 28 | +    $renewal_days_options["$i"] = wp_sprintf(__('%d days before the renewal date', 'invoicing'), $i); | 
                                                        |
| 29 | 29 | }  | 
                                                        
| 30 | 30 | |
| 31 | 31 | // Default, built-in gateways  | 
                                                        
@@ -34,45 +34,45 @@ discard block  | 
                                                    ||
| 34 | 34 | |
| 35 | 35 | 'email_new_invoice_header' => array(  | 
                                                        
| 36 | 36 | 'id' => 'email_new_invoice_header',  | 
                                                        
| 37 | - 'name' => '<h3>' . __( 'New Invoice', 'invoicing' ) . '</h3>',  | 
                                                        |
| 38 | - 'desc' => __( 'These emails are sent to the site admin whenever there is a new invoice.', 'invoicing' ),  | 
                                                        |
| 37 | +            'name' => '<h3>' . __('New Invoice', 'invoicing') . '</h3>', | 
                                                        |
| 38 | +            'desc' => __('These emails are sent to the site admin whenever there is a new invoice.', 'invoicing'), | 
                                                        |
| 39 | 39 | 'type' => 'header',  | 
                                                        
| 40 | 40 | ),  | 
                                                        
| 41 | 41 | |
| 42 | 42 | 'email_new_invoice_active' => array(  | 
                                                        
| 43 | 43 | 'id' => 'email_new_invoice_active',  | 
                                                        
| 44 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 45 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 44 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 45 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 46 | 46 | 'type' => 'checkbox',  | 
                                                        
| 47 | 47 | 'std' => 1,  | 
                                                        
| 48 | 48 | ),  | 
                                                        
| 49 | 49 | |
| 50 | 50 | 'email_new_invoice_subject' => array(  | 
                                                        
| 51 | 51 | 'id' => 'email_new_invoice_subject',  | 
                                                        
| 52 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 53 | - 'desc' => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 52 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 53 | +            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 54 | 54 | 'help-tip' => true,  | 
                                                        
| 55 | 55 | 'type' => 'text',  | 
                                                        
| 56 | -            'std'      => __( '[{site_title}] New invoice ({invoice_number}) for {invoice_total} {invoice_currency}', 'invoicing' ), | 
                                                        |
| 56 | +            'std'      => __('[{site_title}] New invoice ({invoice_number}) for {invoice_total} {invoice_currency}', 'invoicing'), | 
                                                        |
| 57 | 57 | 'size' => 'large',  | 
                                                        
| 58 | 58 | ),  | 
                                                        
| 59 | 59 | |
| 60 | 60 | 'email_new_invoice_heading' => array(  | 
                                                        
| 61 | 61 | 'id' => 'email_new_invoice_heading',  | 
                                                        
| 62 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 63 | - 'desc' => __( 'Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 62 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 63 | +            'desc'     => __('Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 64 | 64 | 'help-tip' => true,  | 
                                                        
| 65 | 65 | 'type' => 'text',  | 
                                                        
| 66 | - 'std' => __( 'New invoice', 'invoicing' ),  | 
                                                        |
| 66 | +            'std'      => __('New invoice', 'invoicing'), | 
                                                        |
| 67 | 67 | 'size' => 'large',  | 
                                                        
| 68 | 68 | ),  | 
                                                        
| 69 | 69 | |
| 70 | 70 | 'email_new_invoice_body' => array(  | 
                                                        
| 71 | 71 | 'id' => 'email_new_invoice_body',  | 
                                                        
| 72 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 72 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 73 | 73 | 'desc' => wpinv_get_merge_tags_help_text(),  | 
                                                        
| 74 | 74 | 'type' => 'rich_editor',  | 
                                                        
| 75 | -            'std'   => __( '<p>A new invoice <a href="{invoice_link}">({invoice_number})</a> to {name} for {invoice_total} {invoice_currency} has been created on your site. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ), | 
                                                        |
| 75 | +            'std'   => __('<p>A new invoice <a href="{invoice_link}">({invoice_number})</a> to {name} for {invoice_total} {invoice_currency} has been created on your site. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'), | 
                                                        |
| 76 | 76 | 'class' => 'large',  | 
                                                        
| 77 | 77 | 'size' => '10',  | 
                                                        
| 78 | 78 | ),  | 
                                                        
@@ -82,53 +82,53 @@ discard block  | 
                                                    ||
| 82 | 82 | |
| 83 | 83 | 'email_cancelled_invoice_header' => array(  | 
                                                        
| 84 | 84 | 'id' => 'email_cancelled_invoice_header',  | 
                                                        
| 85 | - 'name' => '<h3>' . __( 'Cancelled Invoice', 'invoicing' ) . '</h3>',  | 
                                                        |
| 86 | - 'desc' => __( 'These emails are sent to customers whenever invoices are cancelled.', 'invoicing' ),  | 
                                                        |
| 85 | +            'name' => '<h3>' . __('Cancelled Invoice', 'invoicing') . '</h3>', | 
                                                        |
| 86 | +            'desc' => __('These emails are sent to customers whenever invoices are cancelled.', 'invoicing'), | 
                                                        |
| 87 | 87 | 'type' => 'header',  | 
                                                        
| 88 | 88 | ),  | 
                                                        
| 89 | 89 | |
| 90 | 90 | 'email_cancelled_invoice_active' => array(  | 
                                                        
| 91 | 91 | 'id' => 'email_cancelled_invoice_active',  | 
                                                        
| 92 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 93 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 92 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 93 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 94 | 94 | 'type' => 'checkbox',  | 
                                                        
| 95 | 95 | 'std' => 1,  | 
                                                        
| 96 | 96 | ),  | 
                                                        
| 97 | 97 | |
| 98 | 98 | 'email_cancelled_invoice_admin_bcc' => array(  | 
                                                        
| 99 | 99 | 'id' => 'email_cancelled_invoice_admin_bcc',  | 
                                                        
| 100 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 101 | - 'desc' => __( 'Check if you want to send this notification email to site Admin.', 'invoicing' ),  | 
                                                        |
| 100 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 101 | +            'desc' => __('Check if you want to send this notification email to site Admin.', 'invoicing'), | 
                                                        |
| 102 | 102 | 'type' => 'checkbox',  | 
                                                        
| 103 | 103 | 'std' => 1,  | 
                                                        
| 104 | 104 | ),  | 
                                                        
| 105 | 105 | |
| 106 | 106 | 'email_cancelled_invoice_subject' => array(  | 
                                                        
| 107 | 107 | 'id' => 'email_cancelled_invoice_subject',  | 
                                                        
| 108 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 109 | - 'desc' => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 108 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 109 | +            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 110 | 110 | 'help-tip' => true,  | 
                                                        
| 111 | 111 | 'type' => 'text',  | 
                                                        
| 112 | -            'std'      => __( '[{site_title}] Invoice ({invoice_number}) Cancelled', 'invoicing' ), | 
                                                        |
| 112 | +            'std'      => __('[{site_title}] Invoice ({invoice_number}) Cancelled', 'invoicing'), | 
                                                        |
| 113 | 113 | 'size' => 'large',  | 
                                                        
| 114 | 114 | ),  | 
                                                        
| 115 | 115 | |
| 116 | 116 | 'email_cancelled_invoice_heading' => array(  | 
                                                        
| 117 | 117 | 'id' => 'email_cancelled_invoice_heading',  | 
                                                        
| 118 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 119 | - 'desc' => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),  | 
                                                        |
| 118 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 119 | +            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'), | 
                                                        |
| 120 | 120 | 'help-tip' => true,  | 
                                                        
| 121 | 121 | 'type' => 'text',  | 
                                                        
| 122 | - 'std' => __( 'Invoice Cancelled', 'invoicing' ),  | 
                                                        |
| 122 | +            'std'      => __('Invoice Cancelled', 'invoicing'), | 
                                                        |
| 123 | 123 | 'size' => 'large',  | 
                                                        
| 124 | 124 | ),  | 
                                                        
| 125 | 125 | |
| 126 | 126 | 'email_cancelled_invoice_body' => array(  | 
                                                        
| 127 | 127 | 'id' => 'email_cancelled_invoice_body',  | 
                                                        
| 128 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 128 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 129 | 129 | 'desc' => wpinv_get_merge_tags_help_text(),  | 
                                                        
| 130 | 130 | 'type' => 'rich_editor',  | 
                                                        
| 131 | -            'std'   => __( '<p>The invoice <a href="{invoice_link}">#{invoice_number}</a> created for {name} on {site_title} has been cancelled. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ), | 
                                                        |
| 131 | +            'std'   => __('<p>The invoice <a href="{invoice_link}">#{invoice_number}</a> created for {name} on {site_title} has been cancelled. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'), | 
                                                        |
| 132 | 132 | 'class' => 'large',  | 
                                                        
| 133 | 133 | 'size' => '10',  | 
                                                        
| 134 | 134 | ),  | 
                                                        
@@ -139,45 +139,45 @@ discard block  | 
                                                    ||
| 139 | 139 | |
| 140 | 140 | 'email_failed_invoice_header' => array(  | 
                                                        
| 141 | 141 | 'id' => 'email_failed_invoice_header',  | 
                                                        
| 142 | - 'name' => '<h3>' . __( 'Failed Invoice', 'invoicing' ) . '</h3>',  | 
                                                        |
| 143 | - 'desc' => __( 'Failed invoice emails are sent to the site admin when invoice payments fail.', 'invoicing' ),  | 
                                                        |
| 142 | +            'name' => '<h3>' . __('Failed Invoice', 'invoicing') . '</h3>', | 
                                                        |
| 143 | +            'desc' => __('Failed invoice emails are sent to the site admin when invoice payments fail.', 'invoicing'), | 
                                                        |
| 144 | 144 | 'type' => 'header',  | 
                                                        
| 145 | 145 | ),  | 
                                                        
| 146 | 146 | |
| 147 | 147 | 'email_failed_invoice_active' => array(  | 
                                                        
| 148 | 148 | 'id' => 'email_failed_invoice_active',  | 
                                                        
| 149 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 150 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 149 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 150 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 151 | 151 | 'type' => 'checkbox',  | 
                                                        
| 152 | 152 | 'std' => 1,  | 
                                                        
| 153 | 153 | ),  | 
                                                        
| 154 | 154 | |
| 155 | 155 | 'email_failed_invoice_subject' => array(  | 
                                                        
| 156 | 156 | 'id' => 'email_failed_invoice_subject',  | 
                                                        
| 157 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 158 | - 'desc' => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 157 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 158 | +            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 159 | 159 | 'help-tip' => true,  | 
                                                        
| 160 | 160 | 'type' => 'text',  | 
                                                        
| 161 | -            'std'      => __( '[{site_title}] Invoice ({invoice_number}) Payment Failed', 'invoicing' ), | 
                                                        |
| 161 | +            'std'      => __('[{site_title}] Invoice ({invoice_number}) Payment Failed', 'invoicing'), | 
                                                        |
| 162 | 162 | 'size' => 'large',  | 
                                                        
| 163 | 163 | ),  | 
                                                        
| 164 | 164 | |
| 165 | 165 | 'email_failed_invoice_heading' => array(  | 
                                                        
| 166 | 166 | 'id' => 'email_failed_invoice_heading',  | 
                                                        
| 167 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 168 | - 'desc' => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),  | 
                                                        |
| 167 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 168 | +            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'), | 
                                                        |
| 169 | 169 | 'help-tip' => true,  | 
                                                        
| 170 | 170 | 'type' => 'text',  | 
                                                        
| 171 | - 'std' => __( 'Invoice Payment Failed', 'invoicing' ),  | 
                                                        |
| 171 | +            'std'      => __('Invoice Payment Failed', 'invoicing'), | 
                                                        |
| 172 | 172 | 'size' => 'large',  | 
                                                        
| 173 | 173 | ),  | 
                                                        
| 174 | 174 | |
| 175 | 175 | 'email_failed_invoice_body' => array(  | 
                                                        
| 176 | 176 | 'id' => 'email_failed_invoice_body',  | 
                                                        
| 177 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 177 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 178 | 178 | 'desc' => wpinv_get_merge_tags_help_text(),  | 
                                                        
| 179 | 179 | 'type' => 'rich_editor',  | 
                                                        
| 180 | -            'std'   => __( '<p>Payment for the invoice <a href="{invoice_link}">#{invoice_number}</a> on {site_title} has failed to go through. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ), | 
                                                        |
| 180 | +            'std'   => __('<p>Payment for the invoice <a href="{invoice_link}">#{invoice_number}</a> on {site_title} has failed to go through. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'), | 
                                                        |
| 181 | 181 | 'class' => 'large',  | 
                                                        
| 182 | 182 | 'size' => '10',  | 
                                                        
| 183 | 183 | ),  | 
                                                        
@@ -187,53 +187,53 @@ discard block  | 
                                                    ||
| 187 | 187 | |
| 188 | 188 | 'email_onhold_invoice_header' => array(  | 
                                                        
| 189 | 189 | 'id' => 'email_onhold_invoice_header',  | 
                                                        
| 190 | - 'name' => '<h3>' . __( 'On Hold Invoice', 'invoicing' ) . '</h3>',  | 
                                                        |
| 191 | - 'desc' => __( 'These emails are sent to customers whenever their invoices are held.', 'invoicing' ),  | 
                                                        |
| 190 | +            'name' => '<h3>' . __('On Hold Invoice', 'invoicing') . '</h3>', | 
                                                        |
| 191 | +            'desc' => __('These emails are sent to customers whenever their invoices are held.', 'invoicing'), | 
                                                        |
| 192 | 192 | 'type' => 'header',  | 
                                                        
| 193 | 193 | ),  | 
                                                        
| 194 | 194 | |
| 195 | 195 | 'email_onhold_invoice_active' => array(  | 
                                                        
| 196 | 196 | 'id' => 'email_onhold_invoice_active',  | 
                                                        
| 197 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 198 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 197 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 198 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 199 | 199 | 'type' => 'checkbox',  | 
                                                        
| 200 | 200 | 'std' => 1,  | 
                                                        
| 201 | 201 | ),  | 
                                                        
| 202 | 202 | |
| 203 | 203 | 'email_onhold_invoice_admin_bcc' => array(  | 
                                                        
| 204 | 204 | 'id' => 'email_onhold_invoice_admin_bcc',  | 
                                                        
| 205 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 206 | - 'desc' => __( 'Check if you want to send this notification email to site Admin.', 'invoicing' ),  | 
                                                        |
| 205 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 206 | +            'desc' => __('Check if you want to send this notification email to site Admin.', 'invoicing'), | 
                                                        |
| 207 | 207 | 'type' => 'checkbox',  | 
                                                        
| 208 | 208 | 'std' => 1,  | 
                                                        
| 209 | 209 | ),  | 
                                                        
| 210 | 210 | |
| 211 | 211 | 'email_onhold_invoice_subject' => array(  | 
                                                        
| 212 | 212 | 'id' => 'email_onhold_invoice_subject',  | 
                                                        
| 213 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 214 | - 'desc' => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 213 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 214 | +            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 215 | 215 | 'help-tip' => true,  | 
                                                        
| 216 | 216 | 'type' => 'text',  | 
                                                        
| 217 | -            'std'      => __( '[{site_title}] Your invoice is on hold', 'invoicing' ), | 
                                                        |
| 217 | +            'std'      => __('[{site_title}] Your invoice is on hold', 'invoicing'), | 
                                                        |
| 218 | 218 | 'size' => 'large',  | 
                                                        
| 219 | 219 | ),  | 
                                                        
| 220 | 220 | |
| 221 | 221 | 'email_onhold_invoice_heading' => array(  | 
                                                        
| 222 | 222 | 'id' => 'email_onhold_invoice_heading',  | 
                                                        
| 223 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 224 | - 'desc' => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),  | 
                                                        |
| 223 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 224 | +            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'), | 
                                                        |
| 225 | 225 | 'help-tip' => true,  | 
                                                        
| 226 | 226 | 'type' => 'text',  | 
                                                        
| 227 | - 'std' => __( 'Your invoice is on hold', 'invoicing' ),  | 
                                                        |
| 227 | +            'std'      => __('Your invoice is on hold', 'invoicing'), | 
                                                        |
| 228 | 228 | 'size' => 'large',  | 
                                                        
| 229 | 229 | ),  | 
                                                        
| 230 | 230 | |
| 231 | 231 | 'email_onhold_invoice_body' => array(  | 
                                                        
| 232 | 232 | 'id' => 'email_onhold_invoice_body',  | 
                                                        
| 233 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 233 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 234 | 234 | 'desc' => wpinv_get_merge_tags_help_text(),  | 
                                                        
| 235 | 235 | 'type' => 'rich_editor',  | 
                                                        
| 236 | -            'std'   => __( '<p>Hi {name},</p><p>Your invoice is on-hold and will be processed when we receive your payment. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ), | 
                                                        |
| 236 | +            'std'   => __('<p>Hi {name},</p><p>Your invoice is on-hold and will be processed when we receive your payment. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'), | 
                                                        |
| 237 | 237 | 'class' => 'large',  | 
                                                        
| 238 | 238 | 'size' => '10',  | 
                                                        
| 239 | 239 | ),  | 
                                                        
@@ -244,53 +244,53 @@ discard block  | 
                                                    ||
| 244 | 244 | |
| 245 | 245 | 'email_processing_invoice_header' => array(  | 
                                                        
| 246 | 246 | 'id' => 'email_processing_invoice_header',  | 
                                                        
| 247 | - 'name' => '<h3>' . __( 'Processing Invoice', 'invoicing' ) . '</h3>',  | 
                                                        |
| 248 | - 'desc' => __( 'These emails are sent to users whenever payments for their invoices are processing.', 'invoicing' ),  | 
                                                        |
| 247 | +            'name' => '<h3>' . __('Processing Invoice', 'invoicing') . '</h3>', | 
                                                        |
| 248 | +            'desc' => __('These emails are sent to users whenever payments for their invoices are processing.', 'invoicing'), | 
                                                        |
| 249 | 249 | 'type' => 'header',  | 
                                                        
| 250 | 250 | ),  | 
                                                        
| 251 | 251 | |
| 252 | 252 | 'email_processing_invoice_active' => array(  | 
                                                        
| 253 | 253 | 'id' => 'email_processing_invoice_active',  | 
                                                        
| 254 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 255 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 254 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 255 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 256 | 256 | 'type' => 'checkbox',  | 
                                                        
| 257 | 257 | 'std' => 1,  | 
                                                        
| 258 | 258 | ),  | 
                                                        
| 259 | 259 | |
| 260 | 260 | 'email_processing_invoice_admin_bcc' => array(  | 
                                                        
| 261 | 261 | 'id' => 'email_processing_invoice_admin_bcc',  | 
                                                        
| 262 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 263 | - 'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),  | 
                                                        |
| 262 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 263 | +            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'), | 
                                                        |
| 264 | 264 | 'type' => 'checkbox',  | 
                                                        
| 265 | 265 | 'std' => 1,  | 
                                                        
| 266 | 266 | ),  | 
                                                        
| 267 | 267 | |
| 268 | 268 | 'email_processing_invoice_subject' => array(  | 
                                                        
| 269 | 269 | 'id' => 'email_processing_invoice_subject',  | 
                                                        
| 270 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 271 | - 'desc' => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 270 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 271 | +            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 272 | 272 | 'help-tip' => true,  | 
                                                        
| 273 | 273 | 'type' => 'text',  | 
                                                        
| 274 | -            'std'      => __( '[{site_title}] Your payment is being processed', 'invoicing' ), | 
                                                        |
| 274 | +            'std'      => __('[{site_title}] Your payment is being processed', 'invoicing'), | 
                                                        |
| 275 | 275 | 'size' => 'large',  | 
                                                        
| 276 | 276 | ),  | 
                                                        
| 277 | 277 | |
| 278 | 278 | 'email_processing_invoice_heading' => array(  | 
                                                        
| 279 | 279 | 'id' => 'email_processing_invoice_heading',  | 
                                                        
| 280 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 281 | - 'desc' => __( 'Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 280 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 281 | +            'desc'     => __('Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 282 | 282 | 'help-tip' => true,  | 
                                                        
| 283 | 283 | 'type' => 'text',  | 
                                                        
| 284 | - 'std' => __( 'Your payment is being processed', 'invoicing' ),  | 
                                                        |
| 284 | +            'std'      => __('Your payment is being processed', 'invoicing'), | 
                                                        |
| 285 | 285 | 'size' => 'large',  | 
                                                        
| 286 | 286 | ),  | 
                                                        
| 287 | 287 | |
| 288 | 288 | 'email_processing_invoice_body' => array(  | 
                                                        
| 289 | 289 | 'id' => 'email_processing_invoice_body',  | 
                                                        
| 290 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 290 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 291 | 291 | 'desc' => wpinv_get_merge_tags_help_text(),  | 
                                                        
| 292 | 292 | 'type' => 'rich_editor',  | 
                                                        
| 293 | -            'std'   => __( '<p>Hi {name},</p><p>I would like to let you know that we have received and are currently processing your payment for the invoice <a href="{invoice_link}">#{invoice_number}</a> on {site_title}. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ), | 
                                                        |
| 293 | +            'std'   => __('<p>Hi {name},</p><p>I would like to let you know that we have received and are currently processing your payment for the invoice <a href="{invoice_link}">#{invoice_number}</a> on {site_title}. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'), | 
                                                        |
| 294 | 294 | 'class' => 'large',  | 
                                                        
| 295 | 295 | 'size' => '10',  | 
                                                        
| 296 | 296 | ),  | 
                                                        
@@ -301,61 +301,61 @@ discard block  | 
                                                    ||
| 301 | 301 | |
| 302 | 302 | 'email_completed_invoice_header' => array(  | 
                                                        
| 303 | 303 | 'id' => 'email_completed_invoice_header',  | 
                                                        
| 304 | - 'name' => '<h3>' . __( 'Paid Invoice', 'invoicing' ) . '</h3>',  | 
                                                        |
| 305 | - 'desc' => __( 'These emails are sent to customers when their invoices are marked as paid.', 'invoicing' ),  | 
                                                        |
| 304 | +            'name' => '<h3>' . __('Paid Invoice', 'invoicing') . '</h3>', | 
                                                        |
| 305 | +            'desc' => __('These emails are sent to customers when their invoices are marked as paid.', 'invoicing'), | 
                                                        |
| 306 | 306 | 'type' => 'header',  | 
                                                        
| 307 | 307 | ),  | 
                                                        
| 308 | 308 | |
| 309 | 309 | 'email_completed_invoice_active' => array(  | 
                                                        
| 310 | 310 | 'id' => 'email_completed_invoice_active',  | 
                                                        
| 311 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 312 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 311 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 312 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 313 | 313 | 'type' => 'checkbox',  | 
                                                        
| 314 | 314 | 'std' => 1,  | 
                                                        
| 315 | 315 | ),  | 
                                                        
| 316 | 316 | |
| 317 | 317 | 'email_completed_invoice_renewal_active' => array(  | 
                                                        
| 318 | 318 | 'id' => 'email_completed_invoice_renewal_active',  | 
                                                        
| 319 | - 'name' => __( 'Enable renewal notification', 'invoicing' ),  | 
                                                        |
| 320 | - 'desc' => __( 'Should this email be sent for renewals too?', 'invoicing' ),  | 
                                                        |
| 319 | +            'name' => __('Enable renewal notification', 'invoicing'), | 
                                                        |
| 320 | +            'desc' => __('Should this email be sent for renewals too?', 'invoicing'), | 
                                                        |
| 321 | 321 | 'type' => 'checkbox',  | 
                                                        
| 322 | 322 | 'std' => 1,  | 
                                                        
| 323 | 323 | ),  | 
                                                        
| 324 | 324 | |
| 325 | 325 | 'email_completed_invoice_admin_bcc' => array(  | 
                                                        
| 326 | 326 | 'id' => 'email_completed_invoice_admin_bcc',  | 
                                                        
| 327 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 328 | - 'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),  | 
                                                        |
| 327 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 328 | +            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'), | 
                                                        |
| 329 | 329 | 'type' => 'checkbox',  | 
                                                        
| 330 | 330 | 'std' => 1,  | 
                                                        
| 331 | 331 | ),  | 
                                                        
| 332 | 332 | |
| 333 | 333 | 'email_completed_invoice_subject' => array(  | 
                                                        
| 334 | 334 | 'id' => 'email_completed_invoice_subject',  | 
                                                        
| 335 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 336 | - 'desc' => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 335 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 336 | +            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 337 | 337 | 'help-tip' => true,  | 
                                                        
| 338 | 338 | 'type' => 'text',  | 
                                                        
| 339 | -            'std'      => __( '[{site_title}] Your invoice from {invoice_date} has been paid', 'invoicing' ), | 
                                                        |
| 339 | +            'std'      => __('[{site_title}] Your invoice from {invoice_date} has been paid', 'invoicing'), | 
                                                        |
| 340 | 340 | 'size' => 'large',  | 
                                                        
| 341 | 341 | ),  | 
                                                        
| 342 | 342 | |
| 343 | 343 | 'email_completed_invoice_heading' => array(  | 
                                                        
| 344 | 344 | 'id' => 'email_completed_invoice_heading',  | 
                                                        
| 345 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 346 | - 'desc' => __( 'Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 345 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 346 | +            'desc'     => __('Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 347 | 347 | 'help-tip' => true,  | 
                                                        
| 348 | 348 | 'type' => 'text',  | 
                                                        
| 349 | - 'std' => __( 'Your invoice has been paid', 'invoicing' ),  | 
                                                        |
| 349 | +            'std'      => __('Your invoice has been paid', 'invoicing'), | 
                                                        |
| 350 | 350 | 'size' => 'large',  | 
                                                        
| 351 | 351 | ),  | 
                                                        
| 352 | 352 | |
| 353 | 353 | 'email_completed_invoice_body' => array(  | 
                                                        
| 354 | 354 | 'id' => 'email_completed_invoice_body',  | 
                                                        
| 355 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 355 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 356 | 356 | 'desc' => wpinv_get_merge_tags_help_text(),  | 
                                                        
| 357 | 357 | 'type' => 'rich_editor',  | 
                                                        
| 358 | -            'std'   => __( '<p>Hi {name},</p><p>Your recent invoice on {site_title} has been paid. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ), | 
                                                        |
| 358 | +            'std'   => __('<p>Hi {name},</p><p>Your recent invoice on {site_title} has been paid. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'), | 
                                                        |
| 359 | 359 | 'class' => 'large',  | 
                                                        
| 360 | 360 | 'size' => '10',  | 
                                                        
| 361 | 361 | ),  | 
                                                        
@@ -366,53 +366,53 @@ discard block  | 
                                                    ||
| 366 | 366 | |
| 367 | 367 | 'email_refunded_invoice_header' => array(  | 
                                                        
| 368 | 368 | 'id' => 'email_refunded_invoice_header',  | 
                                                        
| 369 | - 'name' => '<h3>' . __( 'Refunded Invoice', 'invoicing' ) . '</h3>',  | 
                                                        |
| 370 | - 'desc' => __( 'These emails are sent to users when their invoices are marked as refunded.', 'invoicing' ),  | 
                                                        |
| 369 | +            'name' => '<h3>' . __('Refunded Invoice', 'invoicing') . '</h3>', | 
                                                        |
| 370 | +            'desc' => __('These emails are sent to users when their invoices are marked as refunded.', 'invoicing'), | 
                                                        |
| 371 | 371 | 'type' => 'header',  | 
                                                        
| 372 | 372 | ),  | 
                                                        
| 373 | 373 | |
| 374 | 374 | 'email_refunded_invoice_active' => array(  | 
                                                        
| 375 | 375 | 'id' => 'email_refunded_invoice_active',  | 
                                                        
| 376 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 377 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 376 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 377 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 378 | 378 | 'type' => 'checkbox',  | 
                                                        
| 379 | 379 | 'std' => 1,  | 
                                                        
| 380 | 380 | ),  | 
                                                        
| 381 | 381 | |
| 382 | 382 | 'email_refunded_invoice_admin_bcc' => array(  | 
                                                        
| 383 | 383 | 'id' => 'email_refunded_invoice_admin_bcc',  | 
                                                        
| 384 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 385 | - 'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),  | 
                                                        |
| 384 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 385 | +            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'), | 
                                                        |
| 386 | 386 | 'type' => 'checkbox',  | 
                                                        
| 387 | 387 | 'std' => 1,  | 
                                                        
| 388 | 388 | ),  | 
                                                        
| 389 | 389 | |
| 390 | 390 | 'email_refunded_invoice_subject' => array(  | 
                                                        
| 391 | 391 | 'id' => 'email_refunded_invoice_subject',  | 
                                                        
| 392 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 393 | - 'desc' => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 392 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 393 | +            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 394 | 394 | 'help-tip' => true,  | 
                                                        
| 395 | 395 | 'type' => 'text',  | 
                                                        
| 396 | -            'std'      => __( '[{site_title}] Your invoice from {invoice_date} has been refunded', 'invoicing' ), | 
                                                        |
| 396 | +            'std'      => __('[{site_title}] Your invoice from {invoice_date} has been refunded', 'invoicing'), | 
                                                        |
| 397 | 397 | 'size' => 'large',  | 
                                                        
| 398 | 398 | ),  | 
                                                        
| 399 | 399 | |
| 400 | 400 | 'email_refunded_invoice_heading' => array(  | 
                                                        
| 401 | 401 | 'id' => 'email_refunded_invoice_heading',  | 
                                                        
| 402 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 403 | - 'desc' => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),  | 
                                                        |
| 402 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 403 | +            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'), | 
                                                        |
| 404 | 404 | 'help-tip' => true,  | 
                                                        
| 405 | 405 | 'type' => 'text',  | 
                                                        
| 406 | - 'std' => __( 'Your invoice has been refunded', 'invoicing' ),  | 
                                                        |
| 406 | +            'std'      => __('Your invoice has been refunded', 'invoicing'), | 
                                                        |
| 407 | 407 | 'size' => 'large',  | 
                                                        
| 408 | 408 | ),  | 
                                                        
| 409 | 409 | |
| 410 | 410 | 'email_refunded_invoice_body' => array(  | 
                                                        
| 411 | 411 | 'id' => 'email_refunded_invoice_body',  | 
                                                        
| 412 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 412 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 413 | 413 | 'desc' => wpinv_get_merge_tags_help_text(),  | 
                                                        
| 414 | 414 | 'type' => 'rich_editor',  | 
                                                        
| 415 | -            'std'   => __( '<p>Hi {name},</p><p>Your invoice on {site_title} has been refunded. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ), | 
                                                        |
| 415 | +            'std'   => __('<p>Hi {name},</p><p>Your invoice on {site_title} has been refunded. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'), | 
                                                        |
| 416 | 416 | 'class' => 'large',  | 
                                                        
| 417 | 417 | 'size' => '10',  | 
                                                        
| 418 | 418 | ),  | 
                                                        
@@ -423,53 +423,53 @@ discard block  | 
                                                    ||
| 423 | 423 | |
| 424 | 424 | 'email_user_invoice_header' => array(  | 
                                                        
| 425 | 425 | 'id' => 'email_user_invoice_header',  | 
                                                        
| 426 | - 'name' => '<h3>' . __( 'Customer Invoice', 'invoicing' ) . '</h3>',  | 
                                                        |
| 427 | - 'desc' => __( 'These emails are sent to customers containing their invoice information and payment links.', 'invoicing' ),  | 
                                                        |
| 426 | +            'name' => '<h3>' . __('Customer Invoice', 'invoicing') . '</h3>', | 
                                                        |
| 427 | +            'desc' => __('These emails are sent to customers containing their invoice information and payment links.', 'invoicing'), | 
                                                        |
| 428 | 428 | 'type' => 'header',  | 
                                                        
| 429 | 429 | ),  | 
                                                        
| 430 | 430 | |
| 431 | 431 | 'email_user_invoice_active' => array(  | 
                                                        
| 432 | 432 | 'id' => 'email_user_invoice_active',  | 
                                                        
| 433 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 434 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 433 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 434 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 435 | 435 | 'type' => 'checkbox',  | 
                                                        
| 436 | 436 | 'std' => 1,  | 
                                                        
| 437 | 437 | ),  | 
                                                        
| 438 | 438 | |
| 439 | 439 | 'email_user_invoice_admin_bcc' => array(  | 
                                                        
| 440 | 440 | 'id' => 'email_user_invoice_admin_bcc',  | 
                                                        
| 441 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 442 | - 'desc' => __( 'Check if you want to send a copy of this notification email to to the site admin.', 'invoicing' ),  | 
                                                        |
| 441 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 442 | +            'desc' => __('Check if you want to send a copy of this notification email to to the site admin.', 'invoicing'), | 
                                                        |
| 443 | 443 | 'type' => 'checkbox',  | 
                                                        
| 444 | 444 | 'std' => 0,  | 
                                                        
| 445 | 445 | ),  | 
                                                        
| 446 | 446 | |
| 447 | 447 | 'email_user_invoice_subject' => array(  | 
                                                        
| 448 | 448 | 'id' => 'email_user_invoice_subject',  | 
                                                        
| 449 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 450 | - 'desc' => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 449 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 450 | +            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 451 | 451 | 'help-tip' => true,  | 
                                                        
| 452 | 452 | 'type' => 'text',  | 
                                                        
| 453 | -            'std'      => __( '[{site_title}] Your invoice from {invoice_date}', 'invoicing' ), | 
                                                        |
| 453 | +            'std'      => __('[{site_title}] Your invoice from {invoice_date}', 'invoicing'), | 
                                                        |
| 454 | 454 | 'size' => 'large',  | 
                                                        
| 455 | 455 | ),  | 
                                                        
| 456 | 456 | |
| 457 | 457 | 'email_user_invoice_heading' => array(  | 
                                                        
| 458 | 458 | 'id' => 'email_user_invoice_heading',  | 
                                                        
| 459 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 460 | - 'desc' => __( 'Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 459 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 460 | +            'desc'     => __('Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 461 | 461 | 'help-tip' => true,  | 
                                                        
| 462 | 462 | 'type' => 'text',  | 
                                                        
| 463 | -            'std'      => __( 'Your invoice {invoice_number} details', 'invoicing' ), | 
                                                        |
| 463 | +            'std'      => __('Your invoice {invoice_number} details', 'invoicing'), | 
                                                        |
| 464 | 464 | 'size' => 'large',  | 
                                                        
| 465 | 465 | ),  | 
                                                        
| 466 | 466 | |
| 467 | 467 | 'email_user_invoice_body' => array(  | 
                                                        
| 468 | 468 | 'id' => 'email_user_invoice_body',  | 
                                                        
| 469 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 469 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 470 | 470 | 'desc' => wpinv_get_merge_tags_help_text(),  | 
                                                        
| 471 | 471 | 'type' => 'rich_editor',  | 
                                                        
| 472 | -            'std'   => __( '<p>Hi {name},</p><p>An invoice of {invoice_total} has been created for you on {site_title}. You can <a href="{invoice_link}">view</a> or <a href="{invoice_pay_link}">pay</a> the invoice. Please reply to this email if you have any questions about the invoice.', 'invoicing' ), | 
                                                        |
| 472 | +            'std'   => __('<p>Hi {name},</p><p>An invoice of {invoice_total} has been created for you on {site_title}. You can <a href="{invoice_link}">view</a> or <a href="{invoice_pay_link}">pay</a> the invoice. Please reply to this email if you have any questions about the invoice.', 'invoicing'), | 
                                                        |
| 473 | 473 | 'class' => 'large',  | 
                                                        
| 474 | 474 | 'size' => '10',  | 
                                                        
| 475 | 475 | ),  | 
                                                        
@@ -479,53 +479,53 @@ discard block  | 
                                                    ||
| 479 | 479 | |
| 480 | 480 | 'email_user_note_header' => array(  | 
                                                        
| 481 | 481 | 'id' => 'email_user_note_header',  | 
                                                        
| 482 | - 'name' => '<h3>' . __( 'Customer Note', 'invoicing' ) . '</h3>',  | 
                                                        |
| 483 | - 'desc' => __( 'These emails are sent when you add a customer note to an invoice/quote.', 'invoicing' ),  | 
                                                        |
| 482 | +            'name' => '<h3>' . __('Customer Note', 'invoicing') . '</h3>', | 
                                                        |
| 483 | +            'desc' => __('These emails are sent when you add a customer note to an invoice/quote.', 'invoicing'), | 
                                                        |
| 484 | 484 | 'type' => 'header',  | 
                                                        
| 485 | 485 | ),  | 
                                                        
| 486 | 486 | |
| 487 | 487 | 'email_user_note_active' => array(  | 
                                                        
| 488 | 488 | 'id' => 'email_user_note_active',  | 
                                                        
| 489 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 490 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 489 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 490 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 491 | 491 | 'type' => 'checkbox',  | 
                                                        
| 492 | 492 | 'std' => 1,  | 
                                                        
| 493 | 493 | ),  | 
                                                        
| 494 | 494 | |
| 495 | 495 | 'email_user_note_admin_bcc' => array(  | 
                                                        
| 496 | 496 | 'id' => 'email_user_note_admin_bcc',  | 
                                                        
| 497 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 498 | - 'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),  | 
                                                        |
| 497 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 498 | +            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'), | 
                                                        |
| 499 | 499 | 'type' => 'checkbox',  | 
                                                        
| 500 | 500 | 'std' => 0,  | 
                                                        
| 501 | 501 | ),  | 
                                                        
| 502 | 502 | |
| 503 | 503 | 'email_user_note_subject' => array(  | 
                                                        
| 504 | 504 | 'id' => 'email_user_note_subject',  | 
                                                        
| 505 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 506 | - 'desc' => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 505 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 506 | +            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 507 | 507 | 'help-tip' => true,  | 
                                                        
| 508 | 508 | 'type' => 'text',  | 
                                                        
| 509 | -            'std'      => __( '[{site_title}] Note added to your {invoice_label} #{invoice_number} from {invoice_date}', 'invoicing' ), | 
                                                        |
| 509 | +            'std'      => __('[{site_title}] Note added to your {invoice_label} #{invoice_number} from {invoice_date}', 'invoicing'), | 
                                                        |
| 510 | 510 | 'size' => 'large',  | 
                                                        
| 511 | 511 | ),  | 
                                                        
| 512 | 512 | |
| 513 | 513 | 'email_user_note_heading' => array(  | 
                                                        
| 514 | 514 | 'id' => 'email_user_note_heading',  | 
                                                        
| 515 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 516 | - 'desc' => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),  | 
                                                        |
| 515 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 516 | +            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'), | 
                                                        |
| 517 | 517 | 'help-tip' => true,  | 
                                                        
| 518 | 518 | 'type' => 'text',  | 
                                                        
| 519 | -            'std'      => __( 'A note has been added to your {invoice_label}', 'invoicing' ), | 
                                                        |
| 519 | +            'std'      => __('A note has been added to your {invoice_label}', 'invoicing'), | 
                                                        |
| 520 | 520 | 'size' => 'large',  | 
                                                        
| 521 | 521 | ),  | 
                                                        
| 522 | 522 | |
| 523 | 523 | 'email_user_note_body' => array(  | 
                                                        
| 524 | 524 | 'id' => 'email_user_note_body',  | 
                                                        
| 525 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 525 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 526 | 526 | 'desc' => wpinv_get_merge_tags_help_text(),  | 
                                                        
| 527 | 527 | 'type' => 'rich_editor',  | 
                                                        
| 528 | -            'std'   => __( '<p>Hi {name},</p><p>The following note has been added to your {invoice_label} <a href="{invoice_link}">#{invoice_number}</a>:</p><blockquote class="wpinv-note">{customer_note}</blockquote><a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a>', 'invoicing' ), | 
                                                        |
| 528 | +            'std'   => __('<p>Hi {name},</p><p>The following note has been added to your {invoice_label} <a href="{invoice_link}">#{invoice_number}</a>:</p><blockquote class="wpinv-note">{customer_note}</blockquote><a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a>', 'invoicing'), | 
                                                        |
| 529 | 529 | 'class' => 'large',  | 
                                                        
| 530 | 530 | 'size' => '10',  | 
                                                        
| 531 | 531 | ),  | 
                                                        
@@ -535,63 +535,63 @@ discard block  | 
                                                    ||
| 535 | 535 | |
| 536 | 536 | 'email_overdue_header' => array(  | 
                                                        
| 537 | 537 | 'id' => 'email_overdue_header',  | 
                                                        
| 538 | - 'name' => '<h3>' . __( 'Payment Reminder', 'invoicing' ) . '</h3>',  | 
                                                        |
| 539 | - 'desc' => __( 'Payment reminder emails are sent to customers whenever their invoices are due.', 'invoicing' ),  | 
                                                        |
| 538 | +            'name' => '<h3>' . __('Payment Reminder', 'invoicing') . '</h3>', | 
                                                        |
| 539 | +            'desc' => __('Payment reminder emails are sent to customers whenever their invoices are due.', 'invoicing'), | 
                                                        |
| 540 | 540 | 'type' => 'header',  | 
                                                        
| 541 | 541 | ),  | 
                                                        
| 542 | 542 | |
| 543 | 543 | 'email_overdue_active' => array(  | 
                                                        
| 544 | 544 | 'id' => 'email_overdue_active',  | 
                                                        
| 545 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 546 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 545 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 546 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 547 | 547 | 'type' => 'checkbox',  | 
                                                        
| 548 | 548 | 'std' => 1,  | 
                                                        
| 549 | 549 | ),  | 
                                                        
| 550 | 550 | |
| 551 | 551 | 'email_overdue_admin_bcc' => array(  | 
                                                        
| 552 | 552 | 'id' => 'email_overdue_admin_bcc',  | 
                                                        
| 553 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 554 | - 'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),  | 
                                                        |
| 553 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 554 | +            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'), | 
                                                        |
| 555 | 555 | 'type' => 'checkbox',  | 
                                                        
| 556 | 556 | 'std' => 0,  | 
                                                        
| 557 | 557 | ),  | 
                                                        
| 558 | 558 | |
| 559 | 559 | 'email_overdue_days' => array(  | 
                                                        
| 560 | 560 | 'id' => 'email_overdue_days',  | 
                                                        
| 561 | - 'name' => __( 'When to Send', 'invoicing' ),  | 
                                                        |
| 562 | - 'desc' => __( 'Check when you would like payment reminders sent out.', 'invoicing' ),  | 
                                                        |
| 561 | +            'name'     => __('When to Send', 'invoicing'), | 
                                                        |
| 562 | +            'desc'     => __('Check when you would like payment reminders sent out.', 'invoicing'), | 
                                                        |
| 563 | 563 | 'help-tip' => true,  | 
                                                        
| 564 | - 'std' => array( '1' ),  | 
                                                        |
| 564 | +            'std'      => array('1'), | 
                                                        |
| 565 | 565 | 'type' => 'multicheck',  | 
                                                        
| 566 | 566 | 'options' => $overdue_days_options,  | 
                                                        
| 567 | 567 | ),  | 
                                                        
| 568 | 568 | |
| 569 | 569 | 'email_overdue_subject' => array(  | 
                                                        
| 570 | 570 | 'id' => 'email_overdue_subject',  | 
                                                        
| 571 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 572 | - 'desc' => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),  | 
                                                        |
| 571 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 572 | +            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'), | 
                                                        |
| 573 | 573 | 'help-tip' => true,  | 
                                                        
| 574 | 574 | 'type' => 'text',  | 
                                                        
| 575 | -            'std'      => __( '[{site_title}] Payment Reminder', 'invoicing' ), | 
                                                        |
| 575 | +            'std'      => __('[{site_title}] Payment Reminder', 'invoicing'), | 
                                                        |
| 576 | 576 | 'size' => 'large',  | 
                                                        
| 577 | 577 | ),  | 
                                                        
| 578 | 578 | |
| 579 | 579 | 'email_overdue_heading' => array(  | 
                                                        
| 580 | 580 | 'id' => 'email_overdue_heading',  | 
                                                        
| 581 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 582 | - 'desc' => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),  | 
                                                        |
| 581 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 582 | +            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'), | 
                                                        |
| 583 | 583 | 'help-tip' => true,  | 
                                                        
| 584 | 584 | 'type' => 'text',  | 
                                                        
| 585 | - 'std' => __( 'Payment reminder for your invoice', 'invoicing' ),  | 
                                                        |
| 585 | +            'std'      => __('Payment reminder for your invoice', 'invoicing'), | 
                                                        |
| 586 | 586 | 'size' => 'large',  | 
                                                        
| 587 | 587 | ),  | 
                                                        
| 588 | 588 | |
| 589 | 589 | 'email_overdue_body' => array(  | 
                                                        
| 590 | 590 | 'id' => 'email_overdue_body',  | 
                                                        
| 591 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 591 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 592 | 592 | 'desc' => wpinv_get_merge_tags_help_text(),  | 
                                                        
| 593 | 593 | 'type' => 'rich_editor',  | 
                                                        
| 594 | -            'std'   => __( '<p>Hi {full_name},</p><p>This is just a friendly reminder that your invoice <a href="{invoice_link}">#{invoice_number}</a> {is_was} due on {invoice_due_date}.</p><p>The total of this invoice is {invoice_total}</p><p>To view / pay now for this invoice please use the following link: <a class="btn btn-success" href="{invoice_link}">View / Pay</a></p>', 'invoicing' ), | 
                                                        |
| 594 | +            'std'   => __('<p>Hi {full_name},</p><p>This is just a friendly reminder that your invoice <a href="{invoice_link}">#{invoice_number}</a> {is_was} due on {invoice_due_date}.</p><p>The total of this invoice is {invoice_total}</p><p>To view / pay now for this invoice please use the following link: <a class="btn btn-success" href="{invoice_link}">View / Pay</a></p>', 'invoicing'), | 
                                                        |
| 595 | 595 | 'class' => 'large',  | 
                                                        
| 596 | 596 | 'size' => 10,  | 
                                                        
| 597 | 597 | ),  | 
                                                        
@@ -602,63 +602,63 @@ discard block  | 
                                                    ||
| 602 | 602 | |
| 603 | 603 | 'email_renewal_reminder_header' => array(  | 
                                                        
| 604 | 604 | 'id' => 'email_renewal_reminder_header',  | 
                                                        
| 605 | - 'name' => '<h3>' . __( 'Renewal Reminder', 'invoicing' ) . '</h3>',  | 
                                                        |
| 606 | - 'desc' => __( 'These emails are sent to customers whenever their subscription is about to renew.', 'invoicing' ),  | 
                                                        |
| 605 | +            'name' => '<h3>' . __('Renewal Reminder', 'invoicing') . '</h3>', | 
                                                        |
| 606 | +            'desc' => __('These emails are sent to customers whenever their subscription is about to renew.', 'invoicing'), | 
                                                        |
| 607 | 607 | 'type' => 'header',  | 
                                                        
| 608 | 608 | ),  | 
                                                        
| 609 | 609 | |
| 610 | 610 | 'email_renewal_reminder_active' => array(  | 
                                                        
| 611 | 611 | 'id' => 'email_renewal_reminder_active',  | 
                                                        
| 612 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 613 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 612 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 613 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 614 | 614 | 'type' => 'checkbox',  | 
                                                        
| 615 | 615 | 'std' => 0,  | 
                                                        
| 616 | 616 | ),  | 
                                                        
| 617 | 617 | |
| 618 | 618 | 'email_renewal_reminder_admin_bcc' => array(  | 
                                                        
| 619 | 619 | 'id' => 'email_renewal_reminder_admin_bcc',  | 
                                                        
| 620 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 621 | - 'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),  | 
                                                        |
| 620 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 621 | +            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'), | 
                                                        |
| 622 | 622 | 'type' => 'checkbox',  | 
                                                        
| 623 | 623 | 'std' => 0,  | 
                                                        
| 624 | 624 | ),  | 
                                                        
| 625 | 625 | |
| 626 | 626 | 'email_renewal_reminder_days' => array(  | 
                                                        
| 627 | 627 | 'id' => 'email_renewal_reminder_days',  | 
                                                        
| 628 | - 'name' => __( 'When to Send', 'invoicing' ),  | 
                                                        |
| 629 | - 'desc' => __( 'Check when you would like renewal reminders sent out.', 'invoicing' ),  | 
                                                        |
| 628 | +            'name'     => __('When to Send', 'invoicing'), | 
                                                        |
| 629 | +            'desc'     => __('Check when you would like renewal reminders sent out.', 'invoicing'), | 
                                                        |
| 630 | 630 | 'help-tip' => true,  | 
                                                        
| 631 | - 'std' => array( '1', '5', '10' ),  | 
                                                        |
| 631 | +            'std'      => array('1', '5', '10'), | 
                                                        |
| 632 | 632 | 'type' => 'multicheck',  | 
                                                        
| 633 | 633 | 'options' => $renewal_days_options,  | 
                                                        
| 634 | 634 | ),  | 
                                                        
| 635 | 635 | |
| 636 | 636 | 'email_renewal_reminder_subject' => array(  | 
                                                        
| 637 | 637 | 'id' => 'email_renewal_reminder_subject',  | 
                                                        
| 638 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 639 | - 'desc' => __( 'Enter the subject line for the email.', 'invoicing' ),  | 
                                                        |
| 638 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 639 | +            'desc'     => __('Enter the subject line for the email.', 'invoicing'), | 
                                                        |
| 640 | 640 | 'help-tip' => true,  | 
                                                        
| 641 | 641 | 'type' => 'text',  | 
                                                        
| 642 | -            'std'      => __( '[{site_title}] Renewal Reminder', 'invoicing' ), | 
                                                        |
| 642 | +            'std'      => __('[{site_title}] Renewal Reminder', 'invoicing'), | 
                                                        |
| 643 | 643 | 'size' => 'large',  | 
                                                        
| 644 | 644 | ),  | 
                                                        
| 645 | 645 | |
| 646 | 646 | 'email_renewal_reminder_heading' => array(  | 
                                                        
| 647 | 647 | 'id' => 'email_renewal_reminder_heading',  | 
                                                        
| 648 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 649 | - 'desc' => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),  | 
                                                        |
| 648 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 649 | +            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'), | 
                                                        |
| 650 | 650 | 'help-tip' => true,  | 
                                                        
| 651 | 651 | 'type' => 'text',  | 
                                                        
| 652 | - 'std' => __( 'Upcoming renewal reminder', 'invoicing' ),  | 
                                                        |
| 652 | +            'std'      => __('Upcoming renewal reminder', 'invoicing'), | 
                                                        |
| 653 | 653 | 'size' => 'large',  | 
                                                        
| 654 | 654 | ),  | 
                                                        
| 655 | 655 | |
| 656 | 656 | 'email_renewal_reminder_body' => array(  | 
                                                        
| 657 | 657 | 'id' => 'email_renewal_reminder_body',  | 
                                                        
| 658 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 659 | - 'desc' => wpinv_get_merge_tags_help_text( true ),  | 
                                                        |
| 658 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 659 | + 'desc' => wpinv_get_merge_tags_help_text(true),  | 
                                                        |
| 660 | 660 | 'type' => 'rich_editor',  | 
                                                        
| 661 | -            'std'   => __( '<p>Hi {full_name},</p><p>This is just a friendly reminder that your subscription for invoice <a href="{invoice_link}">#{invoice_number}</a> will renew on {subscription_renewal_date}.</p>', 'invoicing' ), | 
                                                        |
| 661 | +            'std'   => __('<p>Hi {full_name},</p><p>This is just a friendly reminder that your subscription for invoice <a href="{invoice_link}">#{invoice_number}</a> will renew on {subscription_renewal_date}.</p>', 'invoicing'), | 
                                                        |
| 662 | 662 | 'class' => 'large',  | 
                                                        
| 663 | 663 | 'size' => 10,  | 
                                                        
| 664 | 664 | ),  | 
                                                        
@@ -669,53 +669,53 @@ discard block  | 
                                                    ||
| 669 | 669 | |
| 670 | 670 | 'email_subscription_active_header' => array(  | 
                                                        
| 671 | 671 | 'id' => 'email_subscription_active_header',  | 
                                                        
| 672 | - 'name' => '<h3>' . __( 'Subscription Active', 'invoicing' ) . '</h3>',  | 
                                                        |
| 673 | - 'desc' => __( 'This email is sent when a subscription is activated.', 'invoicing' ),  | 
                                                        |
| 672 | +            'name' => '<h3>' . __('Subscription Active', 'invoicing') . '</h3>', | 
                                                        |
| 673 | +            'desc' => __('This email is sent when a subscription is activated.', 'invoicing'), | 
                                                        |
| 674 | 674 | 'type' => 'header',  | 
                                                        
| 675 | 675 | ),  | 
                                                        
| 676 | 676 | |
| 677 | 677 | 'email_subscription_active_active' => array(  | 
                                                        
| 678 | 678 | 'id' => 'email_subscription_active_active',  | 
                                                        
| 679 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 680 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 679 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 680 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 681 | 681 | 'type' => 'checkbox',  | 
                                                        
| 682 | 682 | 'std' => 1,  | 
                                                        
| 683 | 683 | ),  | 
                                                        
| 684 | 684 | |
| 685 | 685 | 'email_subscription_active_admin_bcc' => array(  | 
                                                        
| 686 | 686 | 'id' => 'email_subscription_active_admin_bcc',  | 
                                                        
| 687 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 688 | - 'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),  | 
                                                        |
| 687 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 688 | +            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'), | 
                                                        |
| 689 | 689 | 'type' => 'checkbox',  | 
                                                        
| 690 | 690 | 'std' => 1,  | 
                                                        
| 691 | 691 | ),  | 
                                                        
| 692 | 692 | |
| 693 | 693 | 'email_subscription_active_subject' => array(  | 
                                                        
| 694 | 694 | 'id' => 'email_subscription_active_subject',  | 
                                                        
| 695 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 696 | - 'desc' => __( 'Enter the subject line for the subscription active email.', 'invoicing' ),  | 
                                                        |
| 695 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 696 | +            'desc'     => __('Enter the subject line for the subscription active email.', 'invoicing'), | 
                                                        |
| 697 | 697 | 'help-tip' => true,  | 
                                                        
| 698 | 698 | 'type' => 'text',  | 
                                                        
| 699 | -            'std'      => __( '[{site_title}] Your subscription #{subscription_id} has been activated', 'invoicing' ), | 
                                                        |
| 699 | +            'std'      => __('[{site_title}] Your subscription #{subscription_id} has been activated', 'invoicing'), | 
                                                        |
| 700 | 700 | 'size' => 'large',  | 
                                                        
| 701 | 701 | ),  | 
                                                        
| 702 | 702 | |
| 703 | 703 | 'email_subscription_active_heading' => array(  | 
                                                        
| 704 | 704 | 'id' => 'email_subscription_active_heading',  | 
                                                        
| 705 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 706 | - 'desc' => __( 'Enter the main heading of this email.', 'invoicing' ),  | 
                                                        |
| 705 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 706 | +            'desc'     => __('Enter the main heading of this email.', 'invoicing'), | 
                                                        |
| 707 | 707 | 'help-tip' => true,  | 
                                                        
| 708 | 708 | 'type' => 'text',  | 
                                                        
| 709 | - 'std' => __( 'Subscription Activated', 'invoicing' ),  | 
                                                        |
| 709 | +            'std'      => __('Subscription Activated', 'invoicing'), | 
                                                        |
| 710 | 710 | 'size' => 'large',  | 
                                                        
| 711 | 711 | ),  | 
                                                        
| 712 | 712 | |
| 713 | 713 | 'email_subscription_active_body' => array(  | 
                                                        
| 714 | 714 | 'id' => 'email_subscription_active_body',  | 
                                                        
| 715 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 716 | - 'desc' => wpinv_get_merge_tags_help_text( true ),  | 
                                                        |
| 715 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 716 | + 'desc' => wpinv_get_merge_tags_help_text(true),  | 
                                                        |
| 717 | 717 | 'type' => 'rich_editor',  | 
                                                        
| 718 | -            'std'   => __( '<p>Hi {first_name},</p><p>Your subscription #{subscription_id} for {subscription_name} has been activated.</p>', 'invoicing' ), | 
                                                        |
| 718 | +            'std'   => __('<p>Hi {first_name},</p><p>Your subscription #{subscription_id} for {subscription_name} has been activated.</p>', 'invoicing'), | 
                                                        |
| 719 | 719 | 'class' => 'large',  | 
                                                        
| 720 | 720 | 'size' => 10,  | 
                                                        
| 721 | 721 | ),  | 
                                                        
@@ -725,53 +725,53 @@ discard block  | 
                                                    ||
| 725 | 725 | |
| 726 | 726 | 'email_subscription_trial_header' => array(  | 
                                                        
| 727 | 727 | 'id' => 'email_subscription_trial_header',  | 
                                                        
| 728 | - 'name' => '<h3>' . __( 'Trial Started', 'invoicing' ) . '</h3>',  | 
                                                        |
| 729 | - 'desc' => __( 'These emails are sent when a customer starts a subscription trial.', 'invoicing' ),  | 
                                                        |
| 728 | +            'name' => '<h3>' . __('Trial Started', 'invoicing') . '</h3>', | 
                                                        |
| 729 | +            'desc' => __('These emails are sent when a customer starts a subscription trial.', 'invoicing'), | 
                                                        |
| 730 | 730 | 'type' => 'header',  | 
                                                        
| 731 | 731 | ),  | 
                                                        
| 732 | 732 | |
| 733 | 733 | 'email_subscription_trial_active' => array(  | 
                                                        
| 734 | 734 | 'id' => 'email_subscription_trial_active',  | 
                                                        
| 735 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 736 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 735 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 736 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 737 | 737 | 'type' => 'checkbox',  | 
                                                        
| 738 | 738 | 'std' => 0,  | 
                                                        
| 739 | 739 | ),  | 
                                                        
| 740 | 740 | |
| 741 | 741 | 'email_subscription_trial_admin_bcc' => array(  | 
                                                        
| 742 | 742 | 'id' => 'email_subscription_trial_admin_bcc',  | 
                                                        
| 743 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 744 | - 'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),  | 
                                                        |
| 743 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 744 | +            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'), | 
                                                        |
| 745 | 745 | 'type' => 'checkbox',  | 
                                                        
| 746 | 746 | 'std' => 0,  | 
                                                        
| 747 | 747 | ),  | 
                                                        
| 748 | 748 | |
| 749 | 749 | 'email_subscription_trial_subject' => array(  | 
                                                        
| 750 | 750 | 'id' => 'email_subscription_trial_subject',  | 
                                                        
| 751 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 752 | - 'desc' => __( 'Enter the subject line for the subscription trial email.', 'invoicing' ),  | 
                                                        |
| 751 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 752 | +            'desc'     => __('Enter the subject line for the subscription trial email.', 'invoicing'), | 
                                                        |
| 753 | 753 | 'help-tip' => true,  | 
                                                        
| 754 | 754 | 'type' => 'text',  | 
                                                        
| 755 | -            'std'      => __( '[{site_title}] Trial Started', 'invoicing' ), | 
                                                        |
| 755 | +            'std'      => __('[{site_title}] Trial Started', 'invoicing'), | 
                                                        |
| 756 | 756 | 'size' => 'large',  | 
                                                        
| 757 | 757 | ),  | 
                                                        
| 758 | 758 | |
| 759 | 759 | 'email_subscription_trial_heading' => array(  | 
                                                        
| 760 | 760 | 'id' => 'email_subscription_trial_heading',  | 
                                                        
| 761 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 762 | - 'desc' => __( 'Enter the main heading of this email.', 'invoicing' ),  | 
                                                        |
| 761 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 762 | +            'desc'     => __('Enter the main heading of this email.', 'invoicing'), | 
                                                        |
| 763 | 763 | 'help-tip' => true,  | 
                                                        
| 764 | 764 | 'type' => 'text',  | 
                                                        
| 765 | - 'std' => __( 'Trial Started', 'invoicing' ),  | 
                                                        |
| 765 | +            'std'      => __('Trial Started', 'invoicing'), | 
                                                        |
| 766 | 766 | 'size' => 'large',  | 
                                                        
| 767 | 767 | ),  | 
                                                        
| 768 | 768 | |
| 769 | 769 | 'email_subscription_trial_body' => array(  | 
                                                        
| 770 | 770 | 'id' => 'email_subscription_trial_body',  | 
                                                        
| 771 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 772 | - 'desc' => wpinv_get_merge_tags_help_text( true ),  | 
                                                        |
| 771 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 772 | + 'desc' => wpinv_get_merge_tags_help_text(true),  | 
                                                        |
| 773 | 773 | 'type' => 'rich_editor',  | 
                                                        
| 774 | -            'std'   => __( '<p>Hi {first_name},</p><p>Your trial for {subscription_name} is now active and will renew on {subscription_renewal_date}.</p>', 'invoicing' ), | 
                                                        |
| 774 | +            'std'   => __('<p>Hi {first_name},</p><p>Your trial for {subscription_name} is now active and will renew on {subscription_renewal_date}.</p>', 'invoicing'), | 
                                                        |
| 775 | 775 | 'class' => 'large',  | 
                                                        
| 776 | 776 | 'size' => 10,  | 
                                                        
| 777 | 777 | ),  | 
                                                        
@@ -781,53 +781,53 @@ discard block  | 
                                                    ||
| 781 | 781 | |
| 782 | 782 | 'email_subscription_cancelled_header' => array(  | 
                                                        
| 783 | 783 | 'id' => 'email_subscription_cancelled_header',  | 
                                                        
| 784 | - 'name' => '<h3>' . __( 'Subscription Cancelled', 'invoicing' ) . '</h3>',  | 
                                                        |
| 785 | - 'desc' => __( 'These emails are sent when a customer cancels their subscription.', 'invoicing' ),  | 
                                                        |
| 784 | +            'name' => '<h3>' . __('Subscription Cancelled', 'invoicing') . '</h3>', | 
                                                        |
| 785 | +            'desc' => __('These emails are sent when a customer cancels their subscription.', 'invoicing'), | 
                                                        |
| 786 | 786 | 'type' => 'header',  | 
                                                        
| 787 | 787 | ),  | 
                                                        
| 788 | 788 | |
| 789 | 789 | 'email_subscription_cancelled_active' => array(  | 
                                                        
| 790 | 790 | 'id' => 'email_subscription_cancelled_active',  | 
                                                        
| 791 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 792 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 791 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 792 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 793 | 793 | 'type' => 'checkbox',  | 
                                                        
| 794 | 794 | 'std' => 1,  | 
                                                        
| 795 | 795 | ),  | 
                                                        
| 796 | 796 | |
| 797 | 797 | 'email_subscription_cancelled_admin_bcc' => array(  | 
                                                        
| 798 | 798 | 'id' => 'email_subscription_cancelled_admin_bcc',  | 
                                                        
| 799 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 800 | - 'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),  | 
                                                        |
| 799 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 800 | +            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'), | 
                                                        |
| 801 | 801 | 'type' => 'checkbox',  | 
                                                        
| 802 | 802 | 'std' => 1,  | 
                                                        
| 803 | 803 | ),  | 
                                                        
| 804 | 804 | |
| 805 | 805 | 'email_subscription_cancelled_subject' => array(  | 
                                                        
| 806 | 806 | 'id' => 'email_subscription_cancelled_subject',  | 
                                                        
| 807 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 808 | - 'desc' => __( 'Enter the subject line for the subscription cancelled email.', 'invoicing' ),  | 
                                                        |
| 807 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 808 | +            'desc'     => __('Enter the subject line for the subscription cancelled email.', 'invoicing'), | 
                                                        |
| 809 | 809 | 'help-tip' => true,  | 
                                                        
| 810 | 810 | 'type' => 'text',  | 
                                                        
| 811 | -            'std'      => __( '[{site_title}] Subscription Cancelled', 'invoicing' ), | 
                                                        |
| 811 | +            'std'      => __('[{site_title}] Subscription Cancelled', 'invoicing'), | 
                                                        |
| 812 | 812 | 'size' => 'large',  | 
                                                        
| 813 | 813 | ),  | 
                                                        
| 814 | 814 | |
| 815 | 815 | 'email_subscription_cancelled_heading' => array(  | 
                                                        
| 816 | 816 | 'id' => 'email_subscription_cancelled_heading',  | 
                                                        
| 817 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 818 | - 'desc' => __( 'Enter the main heading of this email.', 'invoicing' ),  | 
                                                        |
| 817 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 818 | +            'desc'     => __('Enter the main heading of this email.', 'invoicing'), | 
                                                        |
| 819 | 819 | 'help-tip' => true,  | 
                                                        
| 820 | 820 | 'type' => 'text',  | 
                                                        
| 821 | - 'std' => __( 'Subscription Cancelled', 'invoicing' ),  | 
                                                        |
| 821 | +            'std'      => __('Subscription Cancelled', 'invoicing'), | 
                                                        |
| 822 | 822 | 'size' => 'large',  | 
                                                        
| 823 | 823 | ),  | 
                                                        
| 824 | 824 | |
| 825 | 825 | 'email_subscription_cancelled_body' => array(  | 
                                                        
| 826 | 826 | 'id' => 'email_subscription_cancelled_body',  | 
                                                        
| 827 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 828 | - 'desc' => wpinv_get_merge_tags_help_text( true ),  | 
                                                        |
| 827 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 828 | + 'desc' => wpinv_get_merge_tags_help_text(true),  | 
                                                        |
| 829 | 829 | 'type' => 'rich_editor',  | 
                                                        
| 830 | -            'std'   => __( '<p>Hi {first_name},</p><p>Your subscription for {subscription_name} has been cancelled and will no longer renew.</p>', 'invoicing' ), | 
                                                        |
| 830 | +            'std'   => __('<p>Hi {first_name},</p><p>Your subscription for {subscription_name} has been cancelled and will no longer renew.</p>', 'invoicing'), | 
                                                        |
| 831 | 831 | 'class' => 'large',  | 
                                                        
| 832 | 832 | 'size' => 10,  | 
                                                        
| 833 | 833 | ),  | 
                                                        
@@ -837,53 +837,53 @@ discard block  | 
                                                    ||
| 837 | 837 | |
| 838 | 838 | 'email_subscription_expired_header' => array(  | 
                                                        
| 839 | 839 | 'id' => 'email_subscription_expired_header',  | 
                                                        
| 840 | - 'name' => '<h3>' . __( 'Subscription Expired', 'invoicing' ) . '</h3>',  | 
                                                        |
| 841 | - 'desc' => __( "These emails are sent when a customer's subscription expires and automatic renewal fails.", 'invoicing' ),  | 
                                                        |
| 840 | +            'name' => '<h3>' . __('Subscription Expired', 'invoicing') . '</h3>', | 
                                                        |
| 841 | +            'desc' => __("These emails are sent when a customer's subscription expires and automatic renewal fails.", 'invoicing'), | 
                                                        |
| 842 | 842 | 'type' => 'header',  | 
                                                        
| 843 | 843 | ),  | 
                                                        
| 844 | 844 | |
| 845 | 845 | 'email_subscription_expired_active' => array(  | 
                                                        
| 846 | 846 | 'id' => 'email_subscription_expired_active',  | 
                                                        
| 847 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 848 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 847 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 848 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 849 | 849 | 'type' => 'checkbox',  | 
                                                        
| 850 | 850 | 'std' => 1,  | 
                                                        
| 851 | 851 | ),  | 
                                                        
| 852 | 852 | |
| 853 | 853 | 'email_subscription_expired_admin_bcc' => array(  | 
                                                        
| 854 | 854 | 'id' => 'email_subscription_expired_admin_bcc',  | 
                                                        
| 855 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 856 | - 'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),  | 
                                                        |
| 855 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 856 | +            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'), | 
                                                        |
| 857 | 857 | 'type' => 'checkbox',  | 
                                                        
| 858 | 858 | 'std' => 1,  | 
                                                        
| 859 | 859 | ),  | 
                                                        
| 860 | 860 | |
| 861 | 861 | 'email_subscription_expired_subject' => array(  | 
                                                        
| 862 | 862 | 'id' => 'email_subscription_expired_subject',  | 
                                                        
| 863 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 864 | - 'desc' => __( 'Enter the subject line for the subscription expired email.', 'invoicing' ),  | 
                                                        |
| 863 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 864 | +            'desc'     => __('Enter the subject line for the subscription expired email.', 'invoicing'), | 
                                                        |
| 865 | 865 | 'help-tip' => true,  | 
                                                        
| 866 | 866 | 'type' => 'text',  | 
                                                        
| 867 | -            'std'      => __( '[{site_title}] Subscription Expired', 'invoicing' ), | 
                                                        |
| 867 | +            'std'      => __('[{site_title}] Subscription Expired', 'invoicing'), | 
                                                        |
| 868 | 868 | 'size' => 'large',  | 
                                                        
| 869 | 869 | ),  | 
                                                        
| 870 | 870 | |
| 871 | 871 | 'email_subscription_expired_heading' => array(  | 
                                                        
| 872 | 872 | 'id' => 'email_subscription_expired_heading',  | 
                                                        
| 873 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 874 | - 'desc' => __( 'Enter the main heading of this email.', 'invoicing' ),  | 
                                                        |
| 873 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 874 | +            'desc'     => __('Enter the main heading of this email.', 'invoicing'), | 
                                                        |
| 875 | 875 | 'type' => 'text',  | 
                                                        
| 876 | - 'std' => __( 'Subscription Expired', 'invoicing' ),  | 
                                                        |
| 876 | +            'std'      => __('Subscription Expired', 'invoicing'), | 
                                                        |
| 877 | 877 | 'help-tip' => true,  | 
                                                        
| 878 | 878 | 'size' => 'large',  | 
                                                        
| 879 | 879 | ),  | 
                                                        
| 880 | 880 | |
| 881 | 881 | 'email_subscription_expired_body' => array(  | 
                                                        
| 882 | 882 | 'id' => 'email_subscription_expired_body',  | 
                                                        
| 883 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 884 | - 'desc' => wpinv_get_merge_tags_help_text( true ),  | 
                                                        |
| 883 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 884 | + 'desc' => wpinv_get_merge_tags_help_text(true),  | 
                                                        |
| 885 | 885 | 'type' => 'rich_editor',  | 
                                                        
| 886 | -            'std'   => __( '<p>Hi {first_name},</p><p>Your subscription for {subscription_name} has expired.</p>', 'invoicing' ), | 
                                                        |
| 886 | +            'std'   => __('<p>Hi {first_name},</p><p>Your subscription for {subscription_name} has expired.</p>', 'invoicing'), | 
                                                        |
| 887 | 887 | 'class' => 'large',  | 
                                                        
| 888 | 888 | 'size' => 10,  | 
                                                        
| 889 | 889 | ),  | 
                                                        
@@ -893,53 +893,53 @@ discard block  | 
                                                    ||
| 893 | 893 | |
| 894 | 894 | 'email_subscription_complete_header' => array(  | 
                                                        
| 895 | 895 | 'id' => 'email_subscription_complete_header',  | 
                                                        
| 896 | - 'name' => '<h3>' . __( 'Subscription Complete', 'invoicing' ) . '</h3>',  | 
                                                        |
| 897 | - 'desc' => __( 'These emails are sent when a customer completes their subscription.', 'invoicing' ),  | 
                                                        |
| 896 | +            'name' => '<h3>' . __('Subscription Complete', 'invoicing') . '</h3>', | 
                                                        |
| 897 | +            'desc' => __('These emails are sent when a customer completes their subscription.', 'invoicing'), | 
                                                        |
| 898 | 898 | 'type' => 'header',  | 
                                                        
| 899 | 899 | ),  | 
                                                        
| 900 | 900 | |
| 901 | 901 | 'email_subscription_complete_active' => array(  | 
                                                        
| 902 | 902 | 'id' => 'email_subscription_complete_active',  | 
                                                        
| 903 | - 'name' => __( 'Enable/Disable', 'invoicing' ),  | 
                                                        |
| 904 | - 'desc' => __( 'Enable this email notification', 'invoicing' ),  | 
                                                        |
| 903 | +            'name' => __('Enable/Disable', 'invoicing'), | 
                                                        |
| 904 | +            'desc' => __('Enable this email notification', 'invoicing'), | 
                                                        |
| 905 | 905 | 'type' => 'checkbox',  | 
                                                        
| 906 | 906 | 'std' => 1,  | 
                                                        
| 907 | 907 | ),  | 
                                                        
| 908 | 908 | |
| 909 | 909 | 'email_subscription_complete_admin_bcc' => array(  | 
                                                        
| 910 | 910 | 'id' => 'email_subscription_complete_admin_bcc',  | 
                                                        
| 911 | - 'name' => __( 'Enable Admin BCC', 'invoicing' ),  | 
                                                        |
| 912 | - 'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),  | 
                                                        |
| 911 | +            'name' => __('Enable Admin BCC', 'invoicing'), | 
                                                        |
| 912 | +            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'), | 
                                                        |
| 913 | 913 | 'type' => 'checkbox',  | 
                                                        
| 914 | 914 | 'std' => 1,  | 
                                                        
| 915 | 915 | ),  | 
                                                        
| 916 | 916 | |
| 917 | 917 | 'email_subscription_complete_subject' => array(  | 
                                                        
| 918 | 918 | 'id' => 'email_subscription_complete_subject',  | 
                                                        
| 919 | - 'name' => __( 'Subject', 'invoicing' ),  | 
                                                        |
| 920 | - 'desc' => __( 'Enter the subject line for the subscription complete email.', 'invoicing' ),  | 
                                                        |
| 919 | +            'name'     => __('Subject', 'invoicing'), | 
                                                        |
| 920 | +            'desc'     => __('Enter the subject line for the subscription complete email.', 'invoicing'), | 
                                                        |
| 921 | 921 | 'help-tip' => true,  | 
                                                        
| 922 | 922 | 'type' => 'text',  | 
                                                        
| 923 | -            'std'      => __( '[{site_title}] Subscription Complete', 'invoicing' ), | 
                                                        |
| 923 | +            'std'      => __('[{site_title}] Subscription Complete', 'invoicing'), | 
                                                        |
| 924 | 924 | 'size' => 'large',  | 
                                                        
| 925 | 925 | ),  | 
                                                        
| 926 | 926 | |
| 927 | 927 | 'email_subscription_complete_heading' => array(  | 
                                                        
| 928 | 928 | 'id' => 'email_subscription_complete_heading',  | 
                                                        
| 929 | - 'name' => __( 'Email Heading', 'invoicing' ),  | 
                                                        |
| 930 | - 'desc' => __( 'Enter the main heading of this email.', 'invoicing' ),  | 
                                                        |
| 929 | +            'name'     => __('Email Heading', 'invoicing'), | 
                                                        |
| 930 | +            'desc'     => __('Enter the main heading of this email.', 'invoicing'), | 
                                                        |
| 931 | 931 | 'help-tip' => true,  | 
                                                        
| 932 | 932 | 'type' => 'text',  | 
                                                        
| 933 | - 'std' => __( 'Subscription Complete', 'invoicing' ),  | 
                                                        |
| 933 | +            'std'      => __('Subscription Complete', 'invoicing'), | 
                                                        |
| 934 | 934 | 'size' => 'large',  | 
                                                        
| 935 | 935 | ),  | 
                                                        
| 936 | 936 | |
| 937 | 937 | 'email_subscription_complete_body' => array(  | 
                                                        
| 938 | 938 | 'id' => 'email_subscription_complete_body',  | 
                                                        
| 939 | - 'name' => __( 'Email Content', 'invoicing' ),  | 
                                                        |
| 940 | - 'desc' => wpinv_get_merge_tags_help_text( true ),  | 
                                                        |
| 939 | +            'name'  => __('Email Content', 'invoicing'), | 
                                                        |
| 940 | + 'desc' => wpinv_get_merge_tags_help_text(true),  | 
                                                        |
| 941 | 941 | 'type' => 'rich_editor',  | 
                                                        
| 942 | -            'std'   => __( '<p>Hi {first_name},</p><p>Your subscription for {subscription_name} is now complete.</p>', 'invoicing' ), | 
                                                        |
| 942 | +            'std'   => __('<p>Hi {first_name},</p><p>Your subscription for {subscription_name} is now complete.</p>', 'invoicing'), | 
                                                        |
| 943 | 943 | 'class' => 'large',  | 
                                                        
| 944 | 944 | 'size' => 10,  | 
                                                        
| 945 | 945 | ),  | 
                                                        
@@ -1,4 +1,4 @@ discard block  | 
                                                    ||
| 1 | -<?php  | 
                                                        |
| 1 | + <?php  | 
                                                        |
| 2 | 2 | /**  | 
                                                        
| 3 | 3 | * Template that generates the subscription active email.  | 
                                                        
| 4 | 4 | *  | 
                                                        
@@ -8,15 +8,15 @@ discard block  | 
                                                    ||
| 8 | 8 | * @var WPInv_Subscription $object  | 
                                                        
| 9 | 9 | */  | 
                                                        
| 10 | 10 | |
| 11 | -defined( 'ABSPATH' ) || exit;  | 
                                                        |
| 11 | + defined( 'ABSPATH' ) || exit;  | 
                                                        |
| 12 | 12 | |
| 13 | -$invoice = $object->get_parent_payment();  | 
                                                        |
| 13 | + $invoice = $object->get_parent_payment();  | 
                                                        |
| 14 | 14 | |
| 15 | -// Print the email header.  | 
                                                        |
| 16 | -do_action( 'wpinv_email_header', $email_heading, $invoice, $email_type, $sent_to_admin );  | 
                                                        |
| 15 | + // Print the email header.  | 
                                                        |
| 16 | + do_action( 'wpinv_email_header', $email_heading, $invoice, $email_type, $sent_to_admin );  | 
                                                        |
| 17 | 17 | |
| 18 | -// Generate the custom message body.  | 
                                                        |
| 19 | -echo wp_kses_post( $message_body );  | 
                                                        |
| 18 | + // Generate the custom message body.  | 
                                                        |
| 19 | + echo wp_kses_post( $message_body );  | 
                                                        |
| 20 | 20 | |
| 21 | -// Print the email footer.  | 
                                                        |
| 22 | -do_action( 'wpinv_email_footer', $invoice, $email_type, $sent_to_admin );  | 
                                                        |
| 21 | + // Print the email footer.  | 
                                                        |
| 22 | + do_action( 'wpinv_email_footer', $invoice, $email_type, $sent_to_admin );  | 
                                                        |
@@ -8,15 +8,15 @@  | 
                                                    ||
| 8 | 8 | * @var WPInv_Subscription $object  | 
                                                        
| 9 | 9 | */  | 
                                                        
| 10 | 10 | |
| 11 | -defined( 'ABSPATH' ) || exit;  | 
                                                        |
| 11 | +defined('ABSPATH') || exit; | 
                                                        |
| 12 | 12 | |
| 13 | 13 | $invoice = $object->get_parent_payment();  | 
                                                        
| 14 | 14 | |
| 15 | 15 | // Print the email header.  | 
                                                        
| 16 | -do_action( 'wpinv_email_header', $email_heading, $invoice, $email_type, $sent_to_admin );  | 
                                                        |
| 16 | +do_action('wpinv_email_header', $email_heading, $invoice, $email_type, $sent_to_admin); | 
                                                        |
| 17 | 17 | |
| 18 | 18 | // Generate the custom message body.  | 
                                                        
| 19 | -echo wp_kses_post( $message_body );  | 
                                                        |
| 19 | +echo wp_kses_post($message_body);  | 
                                                        |
| 20 | 20 | |
| 21 | 21 | // Print the email footer.  | 
                                                        
| 22 | -do_action( 'wpinv_email_footer', $invoice, $email_type, $sent_to_admin );  | 
                                                        |
| 22 | +do_action('wpinv_email_footer', $invoice, $email_type, $sent_to_admin); | 
                                                        |