classes
9 years ago
compatibility
9 years ago
metaboxes
9 years ago
modules
9 years ago
admin-ajax.php
9 years ago
admin-hooks.php
9 years ago
admin-the-functions.php
9 years ago
index.php
9 years ago
admin-ajax.php
57 lines
| 1 | <?php |
| 2 | |
| 3 | function auxin_ajax_send_feedback(){ |
| 4 | |
| 5 | // skip if the form data is not receiced |
| 6 | if( empty( $_POST['form'] ) ){ |
| 7 | wp_send_json_error( __( 'Data cannot be delivered, please try again.', 'auxin-elements' ) ); |
| 8 | } |
| 9 | |
| 10 | $form_data = $_POST['form']; |
| 11 | |
| 12 | // extract the form data |
| 13 | $rate = ! empty( $form_data['theme_rate'] ) ? $form_data['theme_rate'] : ''; |
| 14 | $feedback = ! empty( $form_data['feedback'] ) ? $form_data['feedback'] : ''; |
| 15 | $email = ! empty( $form_data['email'] ) ? $form_data['email'] : ''; |
| 16 | $nonce = ! empty( $form_data['_wpnonce'] ) ? $form_data['_wpnonce'] : ''; |
| 17 | |
| 18 | if( ! wp_verify_nonce( $nonce, 'phlox_feedback' ) ){ |
| 19 | wp_send_json_error( __( 'Authorization failed!', 'auxin-elements' ) ); |
| 20 | } |
| 21 | |
| 22 | if( $rate ){ |
| 23 | |
| 24 | global $wp_version; |
| 25 | |
| 26 | $args = array( |
| 27 | 'user-agent' => 'WordPress/'.$wp_version.'; '. get_home_url(), |
| 28 | 'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 5), |
| 29 | 'body' => array( |
| 30 | 'cat' => 'rating', |
| 31 | 'action' => 'submit', |
| 32 | 'item-slug' => 'phlox', |
| 33 | 'rate' => $rate |
| 34 | ) |
| 35 | ); |
| 36 | // send the rating through the api |
| 37 | $request = wp_remote_post( 'http://api.averta.net/envato/items/', $args ); |
| 38 | |
| 39 | // if ( ! is_wp_error( $request ) || wp_remote_retrieve_response_code( $request ) === 200 ) {} |
| 40 | |
| 41 | // store the user rating on the website |
| 42 | auxin_update_option( 'user_rating', $rate ); |
| 43 | |
| 44 | // send the feedback via email |
| 45 | $message = 'Rate: '. $rate . "\r\n" . 'Email: <' . $email . ">\r\n\r\n" . $feedback; |
| 46 | wp_mail( 'feedbacks'.'@'.'averta.net', 'Feedback from phlox dashboard:', $message ); |
| 47 | |
| 48 | wp_send_json_success( __( 'Sent Successfully. Thanks for your feedback!', 'auxin-elements' ) ); |
| 49 | |
| 50 | } else{ |
| 51 | wp_send_json_error( __( 'An error occurred. Feedback could not be delivered, please try again.', 'auxin-elements' ) ); |
| 52 | } |
| 53 | |
| 54 | } |
| 55 | |
| 56 | add_action( 'wp_ajax_send_feedback', 'auxin_ajax_send_feedback' ); |
| 57 |