65 lines
1.8 KiB
PHP
65 lines
1.8 KiB
PHP
<?php
|
|
|
|
class Wiaas_Support_Api {
|
|
|
|
/**
|
|
* Endpoint namespace.
|
|
*
|
|
* @var string
|
|
*/
|
|
private static $namespace = 'wiaas';
|
|
|
|
private static $rest_base = 'support';
|
|
|
|
|
|
public static function register_routes() {
|
|
|
|
register_rest_route(self::$namespace, self::$rest_base . '/sendSupportMail', array(
|
|
'methods' => 'POST',
|
|
'callback' => array(__CLASS__, 'send_support_email'),
|
|
'permission_callback' => 'is_user_logged_in',
|
|
//this.props.order, this.props.order.packages, this.props.supportText
|
|
'args' => array(
|
|
'id' => array(
|
|
'description' => __('Order ID.', 'wiaas'),
|
|
'type' => 'integer',
|
|
'required' => true,
|
|
'sanitize_callback' => 'absint',
|
|
),
|
|
'supportText' => array(
|
|
'description' => __('Email text.', 'wiaas'),
|
|
'type' => 'string',
|
|
'required' => true
|
|
)
|
|
)
|
|
));
|
|
}
|
|
|
|
/**
|
|
* Send support email and save massage to order notes
|
|
*
|
|
* @param WP_REST_Request $request Request data.
|
|
*
|
|
* @return WP_REST_Response
|
|
*/
|
|
public static function send_support_email($request) {
|
|
|
|
$order_id = $request['id'];
|
|
$message = $request['supportText'];
|
|
|
|
$mailer = WC()->mailer();
|
|
|
|
$recipient = WIAAS_SUPPORT_EMAIL;
|
|
$subject = __("Customer comment for order id: ".$order_id);
|
|
|
|
$headers = array();
|
|
$success = $mailer->send( $recipient, $subject, $message, $headers );
|
|
|
|
if ($success) {
|
|
wc_create_order_note($request['id'] , $message, true );
|
|
return wiaas_api_notice('EMAIL_SENT', 'success');
|
|
}
|
|
|
|
return wiaas_api_notice('EMAIL_NOT_SENT', 'failed');
|
|
}
|
|
} |