| @@ -34,8 +34,12 @@ | ||
| 34 | 34 | use LP_Email_New_Order_Instructor; |
| 35 | 35 | use LP_Email_New_Order_User; |
| 36 | 36 | use LP_Email_Processing_Order_Guest; |
| 37 | 37 | use LP_Email_Processing_Order_User; |
| 38 | +use LP_Email_Refund_Request_Order_Admin; | |
| 39 | +use LP_Email_Refunded_Order_Admin; | |
| 40 | +use LP_Email_Refunded_Order_Instructor; | |
| 41 | +use LP_Email_Refunded_Order_User; | |
| 38 | 42 | use LP_Helper; |
| 39 | 43 | use LP_REST_Response; |
| 40 | 44 | use Throwable; |
| 41 | 45 | |
| @@ -170,8 +174,78 @@ | ||
| 170 | 174 | LP_Email_Cancelled_Order_User::class, |
| 171 | 175 | LP_Email_Cancelled_Order_Admin::class, |
| 172 | 176 | LP_Email_Cancelled_Order_Guest::class, |
| 173 | 177 | LP_Email_Cancelled_Order_Instructor::class, |
| 178 | + ] | |
| 179 | + ); | |
| 180 | + | |
| 181 | + foreach ( $email_classes as $email_class ) { | |
| 182 | + if ( class_exists( $email_class ) ) { | |
| 183 | + $email = new $email_class(); | |
| 184 | + /** @var LP_Email $email */ | |
| 185 | + $email->handle( $data_send ); | |
| 186 | + } | |
| 187 | + } | |
| 188 | + } catch ( Throwable $e ) { | |
| 189 | + $response->status = 'error'; | |
| 190 | + $response->message = $e->getMessage(); | |
| 191 | + } | |
| 192 | + | |
| 193 | + wp_send_json( $response ); | |
| 194 | + } | |
| 195 | + | |
| 196 | + /** | |
| 197 | + * Send mail when order status update to refunded. | |
| 198 | + * | |
| 199 | + * @since 4.3.4 | |
| 200 | + * @version 1.0.0 | |
| 201 | + */ | |
| 202 | + public function send_mail_order_status_update_to_refunded() { | |
| 203 | + $response = new LP_REST_Response(); | |
| 204 | + | |
| 205 | + try { | |
| 206 | + $data_send = LP_Helper::sanitize_params_submitted( $_POST['params'] ?? [] ); | |
| 207 | + | |
| 208 | + $email_classes = apply_filters( | |
| 209 | + 'learn-press/order-status-update-to-refunded/send-mail', | |
| 210 | + [ | |
| 211 | + LP_Email_Refunded_Order_User::class, | |
| 212 | + LP_Email_Refunded_Order_Admin::class, | |
| 213 | + LP_Email_Refunded_Order_Instructor::class, | |
| 214 | + ] | |
| 215 | + ); | |
| 216 | + | |
| 217 | + foreach ( $email_classes as $email_class ) { | |
| 218 | + if ( class_exists( $email_class ) ) { | |
| 219 | + $email = new $email_class(); | |
| 220 | + /** @var LP_Email $email */ | |
| 221 | + $email->handle( $data_send ); | |
| 222 | + } | |
| 223 | + } | |
| 224 | + } catch ( Throwable $e ) { | |
| 225 | + $response->status = 'error'; | |
| 226 | + $response->message = $e->getMessage(); | |
| 227 | + } | |
| 228 | + | |
| 229 | + wp_send_json( $response ); | |
| 230 | + } | |
| 231 | + | |
| 232 | + /** | |
| 233 | + * Send mail when order has a refund request from user. | |
| 234 | + * | |
| 235 | + * @since 4.3.4 | |
| 236 | + * @version 1.0.0 | |
| 237 | + */ | |
| 238 | + public function send_mail_order_refund_requested() { | |
| 239 | + $response = new LP_REST_Response(); | |
| 240 | + | |
| 241 | + try { | |
| 242 | + $data_send = LP_Helper::sanitize_params_submitted( $_POST['params'] ?? [] ); | |
| 243 | + | |
| 244 | + $email_classes = apply_filters( | |
| 245 | + 'learn-press/order-refund-requested/send-mail', | |
| 246 | + [ | |
| 247 | + LP_Email_Refund_Request_Order_Admin::class, | |
| 174 | 248 | ] |
| 175 | 249 | ); |
| 176 | 250 | |
| 177 | 251 | foreach ( $email_classes as $email_class ) { |