1 <?php
2 3 4 5 6 7 8 9 10
11
12
13 if ( ! defined( 'ABSPATH' ) ) exit;
14
15
16 17 18 19 20 21 22 23 24 25 26
27 function edd_print_errors() {
28 $errors = edd_get_errors();
29 if ( $errors ) {
30 $classes = apply_filters( 'edd_error_class', array(
31 'edd_errors'
32 ) );
33 echo '<div class="' . implode( ' ', $classes ) . '">';
34
35 foreach ( $errors as $error_id => $error ){
36 echo '<p class="edd_error" id="edd_error_' . $error_id . '"><strong>' . __('Error', 'edd') . '</strong>: ' . $error . '</p>';
37 }
38 echo '</div>';
39 edd_clear_errors();
40 }
41 }
42 add_action( 'edd_payment_mode_bottom', 'edd_print_errors' );
43 add_action( 'edd_before_purchase_form', 'edd_print_errors' );
44 add_action( 'edd_before_checkout_register_form', 'edd_print_errors' );
45 add_action( 'edd_ajax_checkout_errors', 'edd_print_errors' );
46
47 48 49 50 51 52 53 54 55 56
57 function edd_get_errors() {
58 return EDD()->session->get( 'edd_errors' );
59 }
60
61 62 63 64 65 66 67 68 69 70 71
72 function edd_set_error( $error_id, $error_message ) {
73 $errors = edd_get_errors();
74 if ( ! $errors ) {
75 $errors = array();
76 }
77 $errors[ $error_id ] = $error_message;
78 EDD()->session->set( 'edd_errors', $errors );
79 }
80
81 82 83 84 85 86 87
88 function edd_clear_errors() {
89 EDD()->session->set( 'edd_errors', null );
90 }
91
92 93 94 95 96 97 98 99
100 function edd_unset_error( $error_id ) {
101 $errors = edd_get_errors();
102 if ( $errors ) {
103 unset( $errors[ $error_id ] );
104 EDD()->session->set( 'edd_errors', $errors );
105 }
106 }