Passed
Push — master ( 393c0e...73f2f1 )
by Brian
10:40
created
includes/api/class-getpaid-rest-reports-controller.php 2 patches
Indentation   +170 added lines, -170 removed lines patch added patch discarded remove patch
@@ -18,178 +18,178 @@
 block discarded – undo
18 18
  */
19 19
 class GetPaid_REST_Reports_Controller extends GetPaid_REST_Controller {
20 20
 
21
-	/**
22
-	 * Route base.
23
-	 *
24
-	 * @var string
25
-	 */
26
-	protected $rest_base = 'reports';
27
-
28
-	/**
29
-	 * Registers the routes for the objects of the controller.
30
-	 *
31
-	 * @since 2.0.0
32
-	 *
33
-	 * @see register_rest_route()
34
-	 */
35
-	public function register_namespace_routes( $namespace ) {
36
-
37
-		// List all available reports.
38
-		register_rest_route(
39
-			$namespace,
40
-			$this->rest_base,
41
-			array(
42
-				array(
43
-					'methods'             => WP_REST_Server::READABLE,
44
-					'callback'            => array( $this, 'get_items' ),
45
-					'permission_callback' => array( $this, 'get_items_permissions_check' ),
46
-					'args'                => $this->get_collection_params(),
47
-				),
48
-				'schema' => array( $this, 'get_public_item_schema' ),
49
-			)
50
-		);
51
-
52
-	}
53
-
54
-	/**
55
-	 * Makes sure the current user has access to READ the report APIs.
56
-	 *
57
-	 * @since  2.0.0
58
-	 * @param WP_REST_Request $request Full data about the request.
59
-	 * @return WP_Error|boolean
60
-	 */
61
-	public function get_items_permissions_check( $request ) {
62
-
63
-		if ( ! wpinv_current_user_can_manage_invoicing() ) {
64
-			return new WP_Error( 'rest_cannot_view', __( 'Sorry, you cannot list resources.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
65
-		}
66
-
67
-		return true;
68
-	}
69
-
70
-	/**
71
-	 * Get reports list.
72
-	 *
73
-	 * @since 2.0.0
74
-	 * @return array
75
-	 */
76
-	protected function get_reports() {
77
-
78
-		$reports = array(
79
-			array(
80
-				'slug'        => 'sales',
81
-				'description' => __( 'List of sales reports.', 'invoicing' ),
82
-			),
83
-			array(
84
-				'slug'        => 'top_sellers',
85
-				'description' => __( 'List of top selling items.', 'invoicing' ),
86
-			),
87
-			array(
88
-				'slug'        => 'top_earners',
89
-				'description' => __( 'List of top earning items.', 'invoicing' ),
90
-			),
91
-			array(
92
-				'slug'        => 'invoices/counts',
93
-				'description' => __( 'Invoice counts.', 'invoicing' ),
94
-			),
95
-		);
96
-
97
-		return apply_filters( 'getpaid_available_api_reports', $reports );
98
-
99
-	}
100
-
101
-	/**
102
-	 * Get all reports.
103
-	 *
104
-	 * @since 2.0.0
105
-	 * @param WP_REST_Request $request
106
-	 * @return array|WP_Error
107
-	 */
108
-	public function get_items( $request ) {
109
-		$data    = array();
110
-		$reports = $this->get_reports();
111
-
112
-		foreach ( $reports as $report ) {
113
-			$item   = $this->prepare_item_for_response( (object) $report, $request );
114
-			$data[] = $this->prepare_response_for_collection( $item );
115
-		}
116
-
117
-		return rest_ensure_response( $data );
118
-	}
119
-
120
-	/**
121
-	 * Prepare a report object for serialization.
122
-	 *
123
-	 * @since 2.0.0
124
-	 * @param stdClass $report Report data.
125
-	 * @param WP_REST_Request $request Request object.
126
-	 * @return WP_REST_Response $response Response data.
127
-	 */
128
-	public function prepare_item_for_response( $report, $request ) {
129
-		$data = array(
130
-			'slug'        => $report->slug,
131
-			'description' => $report->description,
132
-		);
133
-
134
-		$context = ! empty( $request['context'] ) ? $request['context'] : 'view';
135
-		$data = $this->add_additional_fields_to_object( $data, $request );
136
-		$data = $this->filter_response_by_context( $data, $context );
137
-
138
-		// Wrap the data in a response object.
139
-		$response = rest_ensure_response( $data );
140
-		$response->add_links(
21
+    /**
22
+     * Route base.
23
+     *
24
+     * @var string
25
+     */
26
+    protected $rest_base = 'reports';
27
+
28
+    /**
29
+     * Registers the routes for the objects of the controller.
30
+     *
31
+     * @since 2.0.0
32
+     *
33
+     * @see register_rest_route()
34
+     */
35
+    public function register_namespace_routes( $namespace ) {
36
+
37
+        // List all available reports.
38
+        register_rest_route(
39
+            $namespace,
40
+            $this->rest_base,
141 41
             array(
142
-				'self'       => array(
143
-					'href' => rest_url( sprintf( '/%s/%s/%s', $this->namespace, $this->rest_base, $report->slug ) ),
144
-				),
145
-				'collection' => array(
146
-					'href' => rest_url( sprintf( '%s/%s', $this->namespace, $this->rest_base ) ),
147
-				),
42
+                array(
43
+                    'methods'             => WP_REST_Server::READABLE,
44
+                    'callback'            => array( $this, 'get_items' ),
45
+                    'permission_callback' => array( $this, 'get_items_permissions_check' ),
46
+                    'args'                => $this->get_collection_params(),
47
+                ),
48
+                'schema' => array( $this, 'get_public_item_schema' ),
148 49
             )
149 50
         );
150 51
 
151
-		return apply_filters( 'getpaid_rest_prepare_report', $response, $report, $request );
152
-	}
153
-
154
-	/**
155
-	 * Get the Report's schema, conforming to JSON Schema.
156
-	 *
157
-	 * @since 2.0.0
158
-	 * @return array
159
-	 */
160
-	public function get_item_schema() {
161
-		$schema = array(
162
-			'$schema'    => 'http://json-schema.org/draft-04/schema#',
163
-			'title'      => 'report',
164
-			'type'       => 'object',
165
-			'properties' => array(
166
-				'slug'        => array(
167
-					'description' => __( 'An alphanumeric identifier for the resource.', 'invoicing' ),
168
-					'type'        => 'string',
169
-					'context'     => array( 'view' ),
170
-					'readonly'    => true,
171
-				),
172
-				'description' => array(
173
-					'description' => __( 'A human-readable description of the resource.', 'invoicing' ),
174
-					'type'        => 'string',
175
-					'context'     => array( 'view' ),
176
-					'readonly'    => true,
177
-				),
178
-			),
179
-		);
180
-
181
-		return $this->add_additional_fields_schema( $schema );
182
-	}
183
-
184
-	/**
185
-	 * Get the query params for collections.
186
-	 *
187
-	 * @since 2.0.0
188
-	 * @return array
189
-	 */
190
-	public function get_collection_params() {
191
-		return array(
192
-			'context' => $this->get_context_param( array( 'default' => 'view' ) ),
193
-		);
194
-	}
52
+    }
53
+
54
+    /**
55
+     * Makes sure the current user has access to READ the report APIs.
56
+     *
57
+     * @since  2.0.0
58
+     * @param WP_REST_Request $request Full data about the request.
59
+     * @return WP_Error|boolean
60
+     */
61
+    public function get_items_permissions_check( $request ) {
62
+
63
+        if ( ! wpinv_current_user_can_manage_invoicing() ) {
64
+            return new WP_Error( 'rest_cannot_view', __( 'Sorry, you cannot list resources.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
65
+        }
66
+
67
+        return true;
68
+    }
69
+
70
+    /**
71
+     * Get reports list.
72
+     *
73
+     * @since 2.0.0
74
+     * @return array
75
+     */
76
+    protected function get_reports() {
77
+
78
+        $reports = array(
79
+            array(
80
+                'slug'        => 'sales',
81
+                'description' => __( 'List of sales reports.', 'invoicing' ),
82
+            ),
83
+            array(
84
+                'slug'        => 'top_sellers',
85
+                'description' => __( 'List of top selling items.', 'invoicing' ),
86
+            ),
87
+            array(
88
+                'slug'        => 'top_earners',
89
+                'description' => __( 'List of top earning items.', 'invoicing' ),
90
+            ),
91
+            array(
92
+                'slug'        => 'invoices/counts',
93
+                'description' => __( 'Invoice counts.', 'invoicing' ),
94
+            ),
95
+        );
96
+
97
+        return apply_filters( 'getpaid_available_api_reports', $reports );
98
+
99
+    }
100
+
101
+    /**
102
+     * Get all reports.
103
+     *
104
+     * @since 2.0.0
105
+     * @param WP_REST_Request $request
106
+     * @return array|WP_Error
107
+     */
108
+    public function get_items( $request ) {
109
+        $data    = array();
110
+        $reports = $this->get_reports();
111
+
112
+        foreach ( $reports as $report ) {
113
+            $item   = $this->prepare_item_for_response( (object) $report, $request );
114
+            $data[] = $this->prepare_response_for_collection( $item );
115
+        }
116
+
117
+        return rest_ensure_response( $data );
118
+    }
119
+
120
+    /**
121
+     * Prepare a report object for serialization.
122
+     *
123
+     * @since 2.0.0
124
+     * @param stdClass $report Report data.
125
+     * @param WP_REST_Request $request Request object.
126
+     * @return WP_REST_Response $response Response data.
127
+     */
128
+    public function prepare_item_for_response( $report, $request ) {
129
+        $data = array(
130
+            'slug'        => $report->slug,
131
+            'description' => $report->description,
132
+        );
133
+
134
+        $context = ! empty( $request['context'] ) ? $request['context'] : 'view';
135
+        $data = $this->add_additional_fields_to_object( $data, $request );
136
+        $data = $this->filter_response_by_context( $data, $context );
137
+
138
+        // Wrap the data in a response object.
139
+        $response = rest_ensure_response( $data );
140
+        $response->add_links(
141
+            array(
142
+                'self'       => array(
143
+                    'href' => rest_url( sprintf( '/%s/%s/%s', $this->namespace, $this->rest_base, $report->slug ) ),
144
+                ),
145
+                'collection' => array(
146
+                    'href' => rest_url( sprintf( '%s/%s', $this->namespace, $this->rest_base ) ),
147
+                ),
148
+            )
149
+        );
150
+
151
+        return apply_filters( 'getpaid_rest_prepare_report', $response, $report, $request );
152
+    }
153
+
154
+    /**
155
+     * Get the Report's schema, conforming to JSON Schema.
156
+     *
157
+     * @since 2.0.0
158
+     * @return array
159
+     */
160
+    public function get_item_schema() {
161
+        $schema = array(
162
+            '$schema'    => 'http://json-schema.org/draft-04/schema#',
163
+            'title'      => 'report',
164
+            'type'       => 'object',
165
+            'properties' => array(
166
+                'slug'        => array(
167
+                    'description' => __( 'An alphanumeric identifier for the resource.', 'invoicing' ),
168
+                    'type'        => 'string',
169
+                    'context'     => array( 'view' ),
170
+                    'readonly'    => true,
171
+                ),
172
+                'description' => array(
173
+                    'description' => __( 'A human-readable description of the resource.', 'invoicing' ),
174
+                    'type'        => 'string',
175
+                    'context'     => array( 'view' ),
176
+                    'readonly'    => true,
177
+                ),
178
+            ),
179
+        );
180
+
181
+        return $this->add_additional_fields_schema( $schema );
182
+    }
183
+
184
+    /**
185
+     * Get the query params for collections.
186
+     *
187
+     * @since 2.0.0
188
+     * @return array
189
+     */
190
+    public function get_collection_params() {
191
+        return array(
192
+            'context' => $this->get_context_param( array( 'default' => 'view' ) ),
193
+        );
194
+    }
195 195
 }
Please login to merge, or discard this patch.
Spacing   +32 added lines, -32 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@  discard block
 block discarded – undo
9 9
  * @since   2.0.0
10 10
  */
11 11
 
12
-defined( 'ABSPATH' ) || exit;
12
+defined('ABSPATH') || exit;
13 13
 
14 14
 /**
15 15
  * GetPaid REST reports controller class.
@@ -32,7 +32,7 @@  discard block
 block discarded – undo
32 32
 	 *
33 33
 	 * @see register_rest_route()
34 34
 	 */
35
-	public function register_namespace_routes( $namespace ) {
35
+	public function register_namespace_routes($namespace) {
36 36
 
37 37
 		// List all available reports.
38 38
 		register_rest_route(
@@ -41,11 +41,11 @@  discard block
 block discarded – undo
41 41
 			array(
42 42
 				array(
43 43
 					'methods'             => WP_REST_Server::READABLE,
44
-					'callback'            => array( $this, 'get_items' ),
45
-					'permission_callback' => array( $this, 'get_items_permissions_check' ),
44
+					'callback'            => array($this, 'get_items'),
45
+					'permission_callback' => array($this, 'get_items_permissions_check'),
46 46
 					'args'                => $this->get_collection_params(),
47 47
 				),
48
-				'schema' => array( $this, 'get_public_item_schema' ),
48
+				'schema' => array($this, 'get_public_item_schema'),
49 49
 			)
50 50
 		);
51 51
 
@@ -58,10 +58,10 @@  discard block
 block discarded – undo
58 58
 	 * @param WP_REST_Request $request Full data about the request.
59 59
 	 * @return WP_Error|boolean
60 60
 	 */
61
-	public function get_items_permissions_check( $request ) {
61
+	public function get_items_permissions_check($request) {
62 62
 
63
-		if ( ! wpinv_current_user_can_manage_invoicing() ) {
64
-			return new WP_Error( 'rest_cannot_view', __( 'Sorry, you cannot list resources.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
63
+		if (!wpinv_current_user_can_manage_invoicing()) {
64
+			return new WP_Error('rest_cannot_view', __('Sorry, you cannot list resources.', 'invoicing'), array('status' => rest_authorization_required_code()));
65 65
 		}
66 66
 
67 67
 		return true;
@@ -78,23 +78,23 @@  discard block
 block discarded – undo
78 78
 		$reports = array(
79 79
 			array(
80 80
 				'slug'        => 'sales',
81
-				'description' => __( 'List of sales reports.', 'invoicing' ),
81
+				'description' => __('List of sales reports.', 'invoicing'),
82 82
 			),
83 83
 			array(
84 84
 				'slug'        => 'top_sellers',
85
-				'description' => __( 'List of top selling items.', 'invoicing' ),
85
+				'description' => __('List of top selling items.', 'invoicing'),
86 86
 			),
87 87
 			array(
88 88
 				'slug'        => 'top_earners',
89
-				'description' => __( 'List of top earning items.', 'invoicing' ),
89
+				'description' => __('List of top earning items.', 'invoicing'),
90 90
 			),
91 91
 			array(
92 92
 				'slug'        => 'invoices/counts',
93
-				'description' => __( 'Invoice counts.', 'invoicing' ),
93
+				'description' => __('Invoice counts.', 'invoicing'),
94 94
 			),
95 95
 		);
96 96
 
97
-		return apply_filters( 'getpaid_available_api_reports', $reports );
97
+		return apply_filters('getpaid_available_api_reports', $reports);
98 98
 
99 99
 	}
100 100
 
@@ -105,16 +105,16 @@  discard block
 block discarded – undo
105 105
 	 * @param WP_REST_Request $request
106 106
 	 * @return array|WP_Error
107 107
 	 */
108
-	public function get_items( $request ) {
108
+	public function get_items($request) {
109 109
 		$data    = array();
110 110
 		$reports = $this->get_reports();
111 111
 
112
-		foreach ( $reports as $report ) {
113
-			$item   = $this->prepare_item_for_response( (object) $report, $request );
114
-			$data[] = $this->prepare_response_for_collection( $item );
112
+		foreach ($reports as $report) {
113
+			$item   = $this->prepare_item_for_response((object) $report, $request);
114
+			$data[] = $this->prepare_response_for_collection($item);
115 115
 		}
116 116
 
117
-		return rest_ensure_response( $data );
117
+		return rest_ensure_response($data);
118 118
 	}
119 119
 
120 120
 	/**
@@ -125,30 +125,30 @@  discard block
 block discarded – undo
125 125
 	 * @param WP_REST_Request $request Request object.
126 126
 	 * @return WP_REST_Response $response Response data.
127 127
 	 */
128
-	public function prepare_item_for_response( $report, $request ) {
128
+	public function prepare_item_for_response($report, $request) {
129 129
 		$data = array(
130 130
 			'slug'        => $report->slug,
131 131
 			'description' => $report->description,
132 132
 		);
133 133
 
134
-		$context = ! empty( $request['context'] ) ? $request['context'] : 'view';
135
-		$data = $this->add_additional_fields_to_object( $data, $request );
136
-		$data = $this->filter_response_by_context( $data, $context );
134
+		$context = !empty($request['context']) ? $request['context'] : 'view';
135
+		$data = $this->add_additional_fields_to_object($data, $request);
136
+		$data = $this->filter_response_by_context($data, $context);
137 137
 
138 138
 		// Wrap the data in a response object.
139
-		$response = rest_ensure_response( $data );
139
+		$response = rest_ensure_response($data);
140 140
 		$response->add_links(
141 141
             array(
142 142
 				'self'       => array(
143
-					'href' => rest_url( sprintf( '/%s/%s/%s', $this->namespace, $this->rest_base, $report->slug ) ),
143
+					'href' => rest_url(sprintf('/%s/%s/%s', $this->namespace, $this->rest_base, $report->slug)),
144 144
 				),
145 145
 				'collection' => array(
146
-					'href' => rest_url( sprintf( '%s/%s', $this->namespace, $this->rest_base ) ),
146
+					'href' => rest_url(sprintf('%s/%s', $this->namespace, $this->rest_base)),
147 147
 				),
148 148
             )
149 149
         );
150 150
 
151
-		return apply_filters( 'getpaid_rest_prepare_report', $response, $report, $request );
151
+		return apply_filters('getpaid_rest_prepare_report', $response, $report, $request);
152 152
 	}
153 153
 
154 154
 	/**
@@ -164,21 +164,21 @@  discard block
 block discarded – undo
164 164
 			'type'       => 'object',
165 165
 			'properties' => array(
166 166
 				'slug'        => array(
167
-					'description' => __( 'An alphanumeric identifier for the resource.', 'invoicing' ),
167
+					'description' => __('An alphanumeric identifier for the resource.', 'invoicing'),
168 168
 					'type'        => 'string',
169
-					'context'     => array( 'view' ),
169
+					'context'     => array('view'),
170 170
 					'readonly'    => true,
171 171
 				),
172 172
 				'description' => array(
173
-					'description' => __( 'A human-readable description of the resource.', 'invoicing' ),
173
+					'description' => __('A human-readable description of the resource.', 'invoicing'),
174 174
 					'type'        => 'string',
175
-					'context'     => array( 'view' ),
175
+					'context'     => array('view'),
176 176
 					'readonly'    => true,
177 177
 				),
178 178
 			),
179 179
 		);
180 180
 
181
-		return $this->add_additional_fields_schema( $schema );
181
+		return $this->add_additional_fields_schema($schema);
182 182
 	}
183 183
 
184 184
 	/**
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
 	 */
190 190
 	public function get_collection_params() {
191 191
 		return array(
192
-			'context' => $this->get_context_param( array( 'default' => 'view' ) ),
192
+			'context' => $this->get_context_param(array('default' => 'view')),
193 193
 		);
194 194
 	}
195 195
 }
Please login to merge, or discard this patch.
includes/api/class-getpaid-rest-posts-controller.php 2 patches
Indentation   +617 added lines, -617 removed lines patch added patch discarded remove patch
@@ -18,626 +18,626 @@
 block discarded – undo
18 18
 class GetPaid_REST_Posts_Controller extends GetPaid_REST_CRUD_Controller {
19 19
 
20 20
     /**
21
-	 * Post type.
22
-	 *
23
-	 * @var string
24
-	 */
25
-	protected $post_type;
26
-
27
-	/**
28
-	 * Controls visibility on frontend.
29
-	 *
30
-	 * @var string
31
-	 */
32
-	public $public = false;
33
-
34
-	/**
35
-	 * Registers the routes for the objects of the controller.
36
-	 *
37
-	 * @since 1.0.19
38
-	 *
39
-	 * @see register_rest_route()
40
-	 */
41
-	public function register_namespace_routes( $namespace ) {
42
-
43
-		parent::register_namespace_routes( $namespace );
44
-
45
-		register_rest_route(
46
-			$namespace,
47
-			'/' . $this->rest_base . '/batch',
48
-			array(
49
-				array(
50
-					'methods'             => WP_REST_Server::EDITABLE,
51
-					'callback'            => array( $this, 'batch_items' ),
52
-					'permission_callback' => array( $this, 'batch_items_permissions_check' ),
53
-					'args'                => $this->get_endpoint_args_for_item_schema( WP_REST_Server::EDITABLE ),
54
-				),
55
-				'schema' => array( $this, 'get_public_batch_schema' ),
56
-			)
57
-		);
58
-
59
-	}
60
-
61
-	/**
62
-	 * Check permissions of items on REST API.
63
-	 *
64
-	 * @since 1.0.19
65
-	 * @param string $context   Request context.
66
-	 * @param int    $object_id Post ID.
67
-	 * @return bool
68
-	 */
69
-	public function check_post_permissions( $context = 'read', $object_id = 0 ) {
70
-
71
-		$contexts = array(
72
-			'read'   => 'read_private_posts',
73
-			'create' => 'publish_posts',
74
-			'edit'   => 'edit_post',
75
-			'delete' => 'delete_post',
76
-			'batch'  => 'edit_others_posts',
77
-		);
78
-
79
-		$cap              = $contexts[ $context ];
80
-		$post_type_object = get_post_type_object( $this->post_type );
81
-		$permission       = current_user_can( $post_type_object->cap->$cap, $object_id );
82
-
83
-		return apply_filters( 'getpaid_rest_check_permissions', $permission, $context, $object_id, $this->post_type );
84
-	}
85
-
86
-	/**
87
-	 * Check if a given request has access to read items.
88
-	 *
89
-	 * @param  WP_REST_Request $request Full details about the request.
90
-	 * @return WP_Error|boolean
91
-	 */
92
-	public function get_items_permissions_check( $request ) {
93
-		return $this->check_post_permissions() ? true : new WP_Error( 'rest_cannot_view', __( 'Sorry, you cannot list resources.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
94
-	}
95
-
96
-	/**
97
-	 * Check if a given request has access to create an item.
98
-	 *
99
-	 * @param  WP_REST_Request $request Full details about the request.
100
-	 * @return WP_Error|boolean
101
-	 */
102
-	public function create_item_permissions_check( $request ) {
103
-		return $this->check_post_permissions( 'create' ) ? true : new WP_Error( 'rest_cannot_create', __( 'Sorry, you are not allowed to create resources.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
104
-	}
105
-
106
-	/**
107
-	 * Check if a given request has access to read an item.
108
-	 *
109
-	 * @param  WP_REST_Request $request Full details about the request.
110
-	 * @return WP_Error|boolean
111
-	 */
112
-	public function get_item_permissions_check( $request ) {
113
-		$post = get_post( (int) $request['id'] );
114
-
115
-		if ( $post && ! $this->check_post_permissions( 'read', $post->ID ) ) {
116
-			return new WP_Error( 'rest_cannot_view', __( 'Sorry, you cannot view this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
117
-		}
118
-
119
-		return true;
120
-	}
121
-
122
-	/**
123
-	 * Check if a given request has access to update an item.
124
-	 *
125
-	 * @param  WP_REST_Request $request Full details about the request.
126
-	 * @return WP_Error|boolean
127
-	 */
128
-	public function update_item_permissions_check( $request ) {
129
-		$post = get_post( (int) $request['id'] );
130
-
131
-		if ( $post && ! $this->check_post_permissions( 'edit', $post->ID ) ) {
132
-			return new WP_Error( 'rest_cannot_edit', __( 'Sorry, you are not allowed to edit this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
133
-		}
134
-
135
-		return true;
136
-	}
137
-
138
-	/**
139
-	 * Check if a given request has access to delete an item.
140
-	 *
141
-	 * @param  WP_REST_Request $request Full details about the request.
142
-	 * @return bool|WP_Error
143
-	 */
144
-	public function delete_item_permissions_check( $request ) {
145
-		$post = get_post( (int) $request['id'] );
146
-
147
-		if ( $post && ! $this->check_post_permissions( 'delete', $post->ID ) ) {
148
-			return new WP_Error( 'rest_cannot_delete', __( 'Sorry, you are not allowed to delete this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
149
-		}
150
-
151
-		return true;
152
-	}
153
-
154
-	/**
155
-	 * Check if a given request has access batch create, update and delete items.
156
-	 *
157
-	 * @param  WP_REST_Request $request Full details about the request.
158
-	 *
159
-	 * @return boolean|WP_Error
160
-	 */
161
-	public function batch_items_permissions_check( $request ) {
162
-		return $this->check_post_permissions( 'batch' ) ? true : new WP_Error( 'rest_cannot_batch', __( 'Sorry, you are not allowed to batch manipulate this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
163
-	}
164
-
165
-	/**
166
-	 * @deprecated
167
-	 */
168
-	public function get_post( $object_id ) {
169
-		return $this->get_object( $object_id );
21
+     * Post type.
22
+     *
23
+     * @var string
24
+     */
25
+    protected $post_type;
26
+
27
+    /**
28
+     * Controls visibility on frontend.
29
+     *
30
+     * @var string
31
+     */
32
+    public $public = false;
33
+
34
+    /**
35
+     * Registers the routes for the objects of the controller.
36
+     *
37
+     * @since 1.0.19
38
+     *
39
+     * @see register_rest_route()
40
+     */
41
+    public function register_namespace_routes( $namespace ) {
42
+
43
+        parent::register_namespace_routes( $namespace );
44
+
45
+        register_rest_route(
46
+            $namespace,
47
+            '/' . $this->rest_base . '/batch',
48
+            array(
49
+                array(
50
+                    'methods'             => WP_REST_Server::EDITABLE,
51
+                    'callback'            => array( $this, 'batch_items' ),
52
+                    'permission_callback' => array( $this, 'batch_items_permissions_check' ),
53
+                    'args'                => $this->get_endpoint_args_for_item_schema( WP_REST_Server::EDITABLE ),
54
+                ),
55
+                'schema' => array( $this, 'get_public_batch_schema' ),
56
+            )
57
+        );
58
+
59
+    }
60
+
61
+    /**
62
+     * Check permissions of items on REST API.
63
+     *
64
+     * @since 1.0.19
65
+     * @param string $context   Request context.
66
+     * @param int    $object_id Post ID.
67
+     * @return bool
68
+     */
69
+    public function check_post_permissions( $context = 'read', $object_id = 0 ) {
70
+
71
+        $contexts = array(
72
+            'read'   => 'read_private_posts',
73
+            'create' => 'publish_posts',
74
+            'edit'   => 'edit_post',
75
+            'delete' => 'delete_post',
76
+            'batch'  => 'edit_others_posts',
77
+        );
78
+
79
+        $cap              = $contexts[ $context ];
80
+        $post_type_object = get_post_type_object( $this->post_type );
81
+        $permission       = current_user_can( $post_type_object->cap->$cap, $object_id );
82
+
83
+        return apply_filters( 'getpaid_rest_check_permissions', $permission, $context, $object_id, $this->post_type );
84
+    }
85
+
86
+    /**
87
+     * Check if a given request has access to read items.
88
+     *
89
+     * @param  WP_REST_Request $request Full details about the request.
90
+     * @return WP_Error|boolean
91
+     */
92
+    public function get_items_permissions_check( $request ) {
93
+        return $this->check_post_permissions() ? true : new WP_Error( 'rest_cannot_view', __( 'Sorry, you cannot list resources.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
94
+    }
95
+
96
+    /**
97
+     * Check if a given request has access to create an item.
98
+     *
99
+     * @param  WP_REST_Request $request Full details about the request.
100
+     * @return WP_Error|boolean
101
+     */
102
+    public function create_item_permissions_check( $request ) {
103
+        return $this->check_post_permissions( 'create' ) ? true : new WP_Error( 'rest_cannot_create', __( 'Sorry, you are not allowed to create resources.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
104
+    }
105
+
106
+    /**
107
+     * Check if a given request has access to read an item.
108
+     *
109
+     * @param  WP_REST_Request $request Full details about the request.
110
+     * @return WP_Error|boolean
111
+     */
112
+    public function get_item_permissions_check( $request ) {
113
+        $post = get_post( (int) $request['id'] );
114
+
115
+        if ( $post && ! $this->check_post_permissions( 'read', $post->ID ) ) {
116
+            return new WP_Error( 'rest_cannot_view', __( 'Sorry, you cannot view this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
117
+        }
118
+
119
+        return true;
120
+    }
121
+
122
+    /**
123
+     * Check if a given request has access to update an item.
124
+     *
125
+     * @param  WP_REST_Request $request Full details about the request.
126
+     * @return WP_Error|boolean
127
+     */
128
+    public function update_item_permissions_check( $request ) {
129
+        $post = get_post( (int) $request['id'] );
130
+
131
+        if ( $post && ! $this->check_post_permissions( 'edit', $post->ID ) ) {
132
+            return new WP_Error( 'rest_cannot_edit', __( 'Sorry, you are not allowed to edit this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
133
+        }
134
+
135
+        return true;
136
+    }
137
+
138
+    /**
139
+     * Check if a given request has access to delete an item.
140
+     *
141
+     * @param  WP_REST_Request $request Full details about the request.
142
+     * @return bool|WP_Error
143
+     */
144
+    public function delete_item_permissions_check( $request ) {
145
+        $post = get_post( (int) $request['id'] );
146
+
147
+        if ( $post && ! $this->check_post_permissions( 'delete', $post->ID ) ) {
148
+            return new WP_Error( 'rest_cannot_delete', __( 'Sorry, you are not allowed to delete this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
149
+        }
150
+
151
+        return true;
152
+    }
153
+
154
+    /**
155
+     * Check if a given request has access batch create, update and delete items.
156
+     *
157
+     * @param  WP_REST_Request $request Full details about the request.
158
+     *
159
+     * @return boolean|WP_Error
160
+     */
161
+    public function batch_items_permissions_check( $request ) {
162
+        return $this->check_post_permissions( 'batch' ) ? true : new WP_Error( 'rest_cannot_batch', __( 'Sorry, you are not allowed to batch manipulate this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
163
+    }
164
+
165
+    /**
166
+     * @deprecated
167
+     */
168
+    public function get_post( $object_id ) {
169
+        return $this->get_object( $object_id );
170
+    }
171
+
172
+    /**
173
+     * Get a single object.
174
+     *
175
+     * @param WP_REST_Request $request Full details about the request.
176
+     * @return WP_Error|WP_REST_Response
177
+     */
178
+    public function get_item( $request ) {
179
+
180
+        // Fetch item.
181
+        $response = parent::get_item( $request );
182
+
183
+        // (Maybe) add a link to the html pagee.
184
+        if ( $this->public && ! is_wp_error( $response ) ) {
185
+            $response->link_header( 'alternate', get_permalink( $this->data_object->get_id() ), array( 'type' => 'text/html' ) );
186
+        }
187
+
188
+        return $response;
189
+    }
190
+
191
+    /**
192
+     * Create a single object.
193
+     *
194
+     * @param WP_REST_Request $request Full details about the request.
195
+     * @return WP_Error|WP_REST_Response
196
+     */
197
+    public function create_item( $request ) {
198
+
199
+        // Create item.
200
+        $response = parent::create_item( $request );
201
+
202
+        // Fire a hook after an item is created.
203
+        if ( ! is_wp_error( $response ) ) {
204
+
205
+            /**
206
+             * Fires after a single item is created or updated via the REST API.
207
+             *
208
+             * @param WP_Post         $post      Post object.
209
+             * @param WP_REST_Request $request   Request object.
210
+             * @param boolean         $creating  True when creating item, false when updating.
211
+             */
212
+            do_action( "getpaid_rest_insert_{$this->post_type}", $this->data_object, $request, true );
213
+
214
+        }
215
+
216
+        return $response;
217
+
170 218
     }
171 219
 
172
-	/**
173
-	 * Get a single object.
174
-	 *
175
-	 * @param WP_REST_Request $request Full details about the request.
176
-	 * @return WP_Error|WP_REST_Response
177
-	 */
178
-	public function get_item( $request ) {
179
-
180
-		// Fetch item.
181
-		$response = parent::get_item( $request );
182
-
183
-		// (Maybe) add a link to the html pagee.
184
-		if ( $this->public && ! is_wp_error( $response ) ) {
185
-			$response->link_header( 'alternate', get_permalink( $this->data_object->get_id() ), array( 'type' => 'text/html' ) );
186
-		}
187
-
188
-		return $response;
189
-	}
190
-
191
-	/**
192
-	 * Create a single object.
193
-	 *
194
-	 * @param WP_REST_Request $request Full details about the request.
195
-	 * @return WP_Error|WP_REST_Response
196
-	 */
197
-	public function create_item( $request ) {
198
-
199
-		// Create item.
200
-		$response = parent::create_item( $request );
201
-
202
-		// Fire a hook after an item is created.
203
-		if ( ! is_wp_error( $response ) ) {
204
-
205
-			/**
206
-			 * Fires after a single item is created or updated via the REST API.
207
-			 *
208
-			 * @param WP_Post         $post      Post object.
209
-			 * @param WP_REST_Request $request   Request object.
210
-			 * @param boolean         $creating  True when creating item, false when updating.
211
-			 */
212
-			do_action( "getpaid_rest_insert_{$this->post_type}", $this->data_object, $request, true );
213
-
214
-		}
215
-
216
-		return $response;
217
-
218
-	}
219
-
220
-	/**
221
-	 * Update a single object.
222
-	 *
223
-	 * @param WP_REST_Request $request Full details about the request.
224
-	 * @return WP_Error|WP_REST_Response
225
-	 */
226
-	public function update_item( $request ) {
227
-
228
-		// Create item.
229
-		$response = parent::update_item( $request );
230
-
231
-		// Fire a hook after an item is created.
232
-		if ( ! is_wp_error( $response ) ) {
233
-
234
-			/**
235
-			 * Fires after a single item is created or updated via the REST API.
236
-			 *
237
-			 * @param WP_Post         $post      Post object.
238
-			 * @param WP_REST_Request $request   Request object.
239
-			 * @param boolean         $creating  True when creating item, false when updating.
240
-			 */
241
-			do_action( "getpaid_rest_insert_{$this->post_type}", $this->data_object, $request, false );
242
-
243
-		}
244
-
245
-		return $response;
246
-
247
-	}
248
-
249
-	/**
250
-	 * Get a collection of objects.
251
-	 *
252
-	 * @param WP_REST_Request $request Full details about the request.
253
-	 * @return WP_Error|WP_REST_Response
254
-	 */
255
-	public function get_items( $request ) {
256
-
257
-		$args                         = array();
258
-		$args['offset']               = $request['offset'];
259
-		$args['order']                = $request['order'];
260
-		$args['orderby']              = $request['orderby'];
261
-		$args['paged']                = $request['page'];
262
-		$args['post__in']             = $request['include'];
263
-		$args['post__not_in']         = $request['exclude'];
264
-		$args['posts_per_page']       = $request['per_page'];
265
-		$args['name']                 = $request['slug'];
266
-		$args['post_parent__in']      = $request['parent'];
267
-		$args['post_parent__not_in']  = $request['parent_exclude'];
268
-		$args['s']                    = $request['search'];
269
-		$args['post_status']          = wpinv_parse_list( $request['status'] );
270
-
271
-		$args['date_query'] = array();
272
-
273
-		// Set before into date query. Date query must be specified as an array of an array.
274
-		if ( isset( $request['before'] ) ) {
275
-			$args['date_query'][0]['before'] = $request['before'];
276
-		}
277
-
278
-		// Set after into date query. Date query must be specified as an array of an array.
279
-		if ( isset( $request['after'] ) ) {
280
-			$args['date_query'][0]['after'] = $request['after'];
281
-		}
282
-
283
-		// Force the post_type & fields arguments, since they're not a user input variable.
284
-		$args['post_type'] = $this->post_type;
285
-		$args['fields']    = 'ids';
286
-
287
-		// Filter the query arguments for a request.
288
-		$args       = apply_filters( "getpaid_rest_{$this->post_type}_query", $args, $request );
289
-		$query_args = $this->prepare_items_query( $args, $request );
290
-
291
-		$posts_query = new WP_Query();
292
-		$query_result = $posts_query->query( $query_args );
293
-
294
-		$posts = array();
295
-		foreach ( $query_result as $post_id ) {
296
-			if ( ! $this->check_post_permissions( 'read', $post_id ) ) {
297
-				continue;
298
-			}
299
-
300
-			$data    = $this->prepare_item_for_response( $this->get_object( $post_id ), $request );
301
-			$posts[] = $this->prepare_response_for_collection( $data );
302
-		}
303
-
304
-		$page        = (int) $query_args['paged'];
305
-		$total_posts = $posts_query->found_posts;
306
-
307
-		if ( $total_posts < 1 ) {
308
-			// Out-of-bounds, run the query again without LIMIT for total count.
309
-			unset( $query_args['paged'] );
310
-			$count_query = new WP_Query();
311
-			$count_query->query( $query_args );
312
-			$total_posts = $count_query->found_posts;
313
-		}
314
-
315
-		$max_pages = ceil( $total_posts / (int) $query_args['posts_per_page'] );
316
-
317
-		$response = rest_ensure_response( $posts );
318
-		$response->header( 'X-WP-Total', (int) $total_posts );
319
-		$response->header( 'X-WP-TotalPages', (int) $max_pages );
320
-
321
-		$request_params = $request->get_query_params();
322
-		$base = add_query_arg( $request_params, rest_url( sprintf( '/%s/%s', $this->namespace, $this->rest_base ) ) );
323
-
324
-		if ( $page > 1 ) {
325
-			$prev_page = $page - 1;
326
-			if ( $prev_page > $max_pages ) {
327
-				$prev_page = $max_pages;
328
-			}
329
-			$prev_link = add_query_arg( 'page', $prev_page, $base );
330
-			$response->link_header( 'prev', $prev_link );
331
-		}
332
-		if ( $max_pages > $page ) {
333
-			$next_page = $page + 1;
334
-			$next_link = add_query_arg( 'page', $next_page, $base );
335
-			$response->link_header( 'next', $next_link );
336
-		}
337
-
338
-		return $response;
339
-	}
340
-
341
-	/**
342
-	 * Delete a single item.
343
-	 *
344
-	 * @param WP_REST_Request $request Full details about the request.
345
-	 * @return WP_REST_Response|WP_Error
346
-	 */
347
-	public function delete_item( $request ) {
348
-
349
-		// Fetch the item.
350
-		$item = $this->get_object( $request['id'] );
351
-		if ( is_wp_error( $item ) ) {
352
-			return $item;
353
-		}
354
-
355
-		$supports_trash = EMPTY_TRASH_DAYS > 0;
356
-		$force          = $supports_trash && (bool) $request['force'];
357
-
358
-		if ( ! $this->check_post_permissions( 'delete', $item->ID ) ) {
359
-			return new WP_Error( 'cannot_delete', __( 'Sorry, you are not allowed to delete this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
360
-		}
361
-
362
-		$request->set_param( 'context', 'edit' );
363
-		$response = $this->prepare_item_for_response( $item, $request );
364
-
365
-		if ( ! wp_delete_post( $item->ID, $force ) ) {
366
-			return new WP_Error( 'rest_cannot_delete', sprintf( __( 'The resource cannot be deleted.', 'invoicing' ), $this->post_type ), array( 'status' => 500 ) );
367
-		}
368
-
369
-		return $response;
370
-	}
371
-
372
-	/**
373
-	 * Prepare links for the request.
374
-	 *
375
-	 * @param GetPaid_Data    $object GetPaid_Data object.
376
-	 * @return array Links for the given object.
377
-	 */
378
-	protected function prepare_links( $object ) {
379
-
380
-		$links = parent::prepare_links( $object );
381
-
382
-		if ( is_callable( array( $object, 'get_user_id' ) ) ) {
383
-			$links['user'] = array(
384
-				'href'       => rest_url( 'wp/v2/users/' . call_user_func( array( $object, 'get_user_id' ) ) ),
385
-				'embeddable' => true,
386
-			);
387
-		}
388
-
389
-		if ( is_callable( array( $object, 'get_owner' ) ) ) {
390
-			$links['owner']  = array(
391
-				'href'       => rest_url( 'wp/v2/users/' . call_user_func( array( $object, 'get_owner' ) ) ),
392
-				'embeddable' => true,
393
-			);
394
-		}
395
-
396
-		if ( is_callable( array( $object, 'get_parent_id' ) ) && call_user_func( array( $object, 'get_parent_id' ) ) ) {
397
-			$links['parent']  = array(
398
-				'href'       => rest_url( "$this->namespace/$this->rest_base/" . call_user_func( array( $object, 'get_parent_id' ) ) ),
399
-				'embeddable' => true,
400
-			);
401
-		}
402
-
403
-		return $links;
404
-	}
405
-
406
-	/**
407
-	 * Determine the allowed query_vars for a get_items() response and
408
-	 * prepare for WP_Query.
409
-	 *
410
-	 * @param array           $prepared_args Prepared arguments.
411
-	 * @param WP_REST_Request $request Request object.
412
-	 * @return array          $query_args
413
-	 */
414
-	protected function prepare_items_query( $prepared_args = array(), $request = null ) {
415
-
416
-		$valid_vars = array_flip( $this->get_allowed_query_vars() );
417
-		$query_args = array();
418
-		foreach ( $valid_vars as $var => $index ) {
419
-			if ( isset( $prepared_args[ $var ] ) ) {
420
-				$query_args[ $var ] = apply_filters( "getpaid_rest_query_var-{$var}", $prepared_args[ $var ], $index );
421
-			}
422
-		}
423
-
424
-		$query_args['ignore_sticky_posts'] = true;
425
-
426
-		if ( 'include' === $query_args['orderby'] ) {
427
-			$query_args['orderby'] = 'post__in';
428
-		} elseif ( 'id' === $query_args['orderby'] ) {
429
-			$query_args['orderby'] = 'ID'; // ID must be capitalized.
430
-		} elseif ( 'slug' === $query_args['orderby'] ) {
431
-			$query_args['orderby'] = 'name';
432
-		}
433
-
434
-		return apply_filters( 'getpaid_rest_prepare_items_query', $query_args, $request, $this );
435
-
436
-	}
437
-
438
-	/**
439
-	 * Get all the WP Query vars that are allowed for the API request.
440
-	 *
441
-	 * @return array
442
-	 */
443
-	protected function get_allowed_query_vars() {
444
-		global $wp;
445
-
446
-		/**
447
-		 * Filter the publicly allowed query vars.
448
-		 *
449
-		 * Allows adjusting of the default query vars that are made public.
450
-		 *
451
-		 * @param array  Array of allowed WP_Query query vars.
452
-		 */
453
-		$valid_vars = apply_filters( 'query_vars', $wp->public_query_vars );
454
-
455
-		$post_type_obj = get_post_type_object( $this->post_type );
456
-		if ( current_user_can( $post_type_obj->cap->edit_posts ) ) {
457
-			$private = apply_filters( 'getpaid_rest_private_query_vars', $wp->private_query_vars );
458
-			$valid_vars = array_merge( $valid_vars, $private );
459
-		}
460
-
461
-		// Define our own in addition to WP's normal vars.
462
-		$rest_valid = array(
463
-			'post_status',
464
-			'date_query',
465
-			'ignore_sticky_posts',
466
-			'offset',
467
-			'post__in',
468
-			'post__not_in',
469
-			'post_parent',
470
-			'post_parent__in',
471
-			'post_parent__not_in',
472
-			'posts_per_page',
473
-			'meta_query',
474
-			'tax_query',
475
-			'meta_key',
476
-			'meta_value',
477
-			'meta_compare',
478
-			'meta_value_num',
479
-		);
480
-		$valid_vars = array_merge( $valid_vars, $rest_valid );
481
-
482
-		// Filter allowed query vars for the REST API.
483
-		$valid_vars = apply_filters( 'getpaid_rest_query_vars', $valid_vars, $this );
484
-
485
-		return $valid_vars;
486
-	}
487
-
488
-	/**
489
-	 * Get the query params for collections of attachments.
490
-	 *
491
-	 * @return array
492
-	 */
493
-	public function get_collection_params() {
494
-
495
-		return array_merge(
496
-			parent::get_collection_params(),
497
-			array(
498
-				'status'  => array(
499
-					'default'           => $this->get_post_statuses(),
500
-					'description'       => __( 'Limit result set to resources assigned one or more statuses.', 'invoicing' ),
501
-					'type'              => array( 'array', 'string' ),
502
-					'items'             => array(
503
-						'enum' => $this->get_post_statuses(),
504
-						'type' => 'string',
505
-					),
506
-					'validate_callback' => 'rest_validate_request_arg',
507
-					'sanitize_callback' => array( $this, 'sanitize_post_statuses' ),
508
-				),
509
-				'after'   => array(
510
-					'description'       => __( 'Limit response to resources created after a given ISO8601 compliant date.', 'invoicing' ),
511
-					'type'              => 'string',
512
-					'format'            => 'string',
513
-					'validate_callback' => 'rest_validate_request_arg',
514
-					'sanitize_callback' => 'sanitize_text_field',
515
-				),
516
-				'before'  => array(
517
-					'description'       => __( 'Limit response to resources created before a given ISO8601 compliant date.', 'invoicing' ),
518
-					'type'              => 'string',
519
-					'format'            => 'string',
520
-					'validate_callback' => 'rest_validate_request_arg',
521
-					'sanitize_callback' => 'sanitize_text_field',
522
-				),
523
-				'exclude' => array(
524
-					'description'       => __( 'Ensure result set excludes specific IDs.', 'invoicing' ),
525
-					'type'              => 'array',
526
-					'items'             => array(
527
-						'type' => 'integer',
528
-					),
529
-					'default'           => array(),
530
-					'sanitize_callback' => 'wp_parse_id_list',
531
-					'validate_callback' => 'rest_validate_request_arg',
532
-				),
533
-				'include' => array(
534
-					'description'       => __( 'Limit result set to specific ids.', 'invoicing' ),
535
-					'type'              => 'array',
536
-					'items'             => array(
537
-						'type' => 'integer',
538
-					),
539
-					'default'           => array(),
540
-					'sanitize_callback' => 'wp_parse_id_list',
541
-					'validate_callback' => 'rest_validate_request_arg',
542
-				),
543
-				'offset'  => array(
544
-					'description'       => __( 'Offset the result set by a specific number of items.', 'invoicing' ),
545
-					'type'              => 'integer',
546
-					'sanitize_callback' => 'absint',
547
-					'validate_callback' => 'rest_validate_request_arg',
548
-				),
549
-				'order'   => array(
550
-					'description'       => __( 'Order sort attribute ascending or descending.', 'invoicing' ),
551
-					'type'              => 'string',
552
-					'default'           => 'desc',
553
-					'enum'              => array( 'asc', 'desc' ),
554
-					'validate_callback' => 'rest_validate_request_arg',
555
-				),
556
-				'orderby' => array(
557
-					'description'       => __( 'Sort collection by object attribute.', 'invoicing' ),
558
-					'type'              => 'string',
559
-					'default'           => 'date',
560
-					'enum'              => array(
561
-						'date',
562
-						'id',
563
-						'include',
564
-						'title',
565
-						'slug',
566
-						'modified',
567
-					),
568
-					'validate_callback' => 'rest_validate_request_arg',
569
-				),
570
-			)
571
-		);
572
-	}
573
-
574
-	/**
575
-	 * Retrieves the items's schema, conforming to JSON Schema.
576
-	 *
577
-	 * @since 1.0.19
578
-	 *
579
-	 * @return array Item schema data.
580
-	 */
581
-	public function get_item_schema() {
582
-
583
-		// Maybe retrieve the schema from cache.
584
-		if ( ! empty( $this->schema ) ) {
585
-			return $this->add_additional_fields_schema( $this->schema );
586
-		}
587
-
588
-		$type   = str_replace( 'wpi_', '', $this->post_type );
589
-		$schema = array(
590
-			'$schema'    => 'http://json-schema.org/draft-04/schema#',
591
-			'title'      => $this->post_type,
592
-			'type'       => 'object',
593
-			'properties' => wpinv_get_data( "$type-schema" ),
594
-		);
595
-
596
-		// Filters the invoice schema for the REST API.
220
+    /**
221
+     * Update a single object.
222
+     *
223
+     * @param WP_REST_Request $request Full details about the request.
224
+     * @return WP_Error|WP_REST_Response
225
+     */
226
+    public function update_item( $request ) {
227
+
228
+        // Create item.
229
+        $response = parent::update_item( $request );
230
+
231
+        // Fire a hook after an item is created.
232
+        if ( ! is_wp_error( $response ) ) {
233
+
234
+            /**
235
+             * Fires after a single item is created or updated via the REST API.
236
+             *
237
+             * @param WP_Post         $post      Post object.
238
+             * @param WP_REST_Request $request   Request object.
239
+             * @param boolean         $creating  True when creating item, false when updating.
240
+             */
241
+            do_action( "getpaid_rest_insert_{$this->post_type}", $this->data_object, $request, false );
242
+
243
+        }
244
+
245
+        return $response;
246
+
247
+    }
248
+
249
+    /**
250
+     * Get a collection of objects.
251
+     *
252
+     * @param WP_REST_Request $request Full details about the request.
253
+     * @return WP_Error|WP_REST_Response
254
+     */
255
+    public function get_items( $request ) {
256
+
257
+        $args                         = array();
258
+        $args['offset']               = $request['offset'];
259
+        $args['order']                = $request['order'];
260
+        $args['orderby']              = $request['orderby'];
261
+        $args['paged']                = $request['page'];
262
+        $args['post__in']             = $request['include'];
263
+        $args['post__not_in']         = $request['exclude'];
264
+        $args['posts_per_page']       = $request['per_page'];
265
+        $args['name']                 = $request['slug'];
266
+        $args['post_parent__in']      = $request['parent'];
267
+        $args['post_parent__not_in']  = $request['parent_exclude'];
268
+        $args['s']                    = $request['search'];
269
+        $args['post_status']          = wpinv_parse_list( $request['status'] );
270
+
271
+        $args['date_query'] = array();
272
+
273
+        // Set before into date query. Date query must be specified as an array of an array.
274
+        if ( isset( $request['before'] ) ) {
275
+            $args['date_query'][0]['before'] = $request['before'];
276
+        }
277
+
278
+        // Set after into date query. Date query must be specified as an array of an array.
279
+        if ( isset( $request['after'] ) ) {
280
+            $args['date_query'][0]['after'] = $request['after'];
281
+        }
282
+
283
+        // Force the post_type & fields arguments, since they're not a user input variable.
284
+        $args['post_type'] = $this->post_type;
285
+        $args['fields']    = 'ids';
286
+
287
+        // Filter the query arguments for a request.
288
+        $args       = apply_filters( "getpaid_rest_{$this->post_type}_query", $args, $request );
289
+        $query_args = $this->prepare_items_query( $args, $request );
290
+
291
+        $posts_query = new WP_Query();
292
+        $query_result = $posts_query->query( $query_args );
293
+
294
+        $posts = array();
295
+        foreach ( $query_result as $post_id ) {
296
+            if ( ! $this->check_post_permissions( 'read', $post_id ) ) {
297
+                continue;
298
+            }
299
+
300
+            $data    = $this->prepare_item_for_response( $this->get_object( $post_id ), $request );
301
+            $posts[] = $this->prepare_response_for_collection( $data );
302
+        }
303
+
304
+        $page        = (int) $query_args['paged'];
305
+        $total_posts = $posts_query->found_posts;
306
+
307
+        if ( $total_posts < 1 ) {
308
+            // Out-of-bounds, run the query again without LIMIT for total count.
309
+            unset( $query_args['paged'] );
310
+            $count_query = new WP_Query();
311
+            $count_query->query( $query_args );
312
+            $total_posts = $count_query->found_posts;
313
+        }
314
+
315
+        $max_pages = ceil( $total_posts / (int) $query_args['posts_per_page'] );
316
+
317
+        $response = rest_ensure_response( $posts );
318
+        $response->header( 'X-WP-Total', (int) $total_posts );
319
+        $response->header( 'X-WP-TotalPages', (int) $max_pages );
320
+
321
+        $request_params = $request->get_query_params();
322
+        $base = add_query_arg( $request_params, rest_url( sprintf( '/%s/%s', $this->namespace, $this->rest_base ) ) );
323
+
324
+        if ( $page > 1 ) {
325
+            $prev_page = $page - 1;
326
+            if ( $prev_page > $max_pages ) {
327
+                $prev_page = $max_pages;
328
+            }
329
+            $prev_link = add_query_arg( 'page', $prev_page, $base );
330
+            $response->link_header( 'prev', $prev_link );
331
+        }
332
+        if ( $max_pages > $page ) {
333
+            $next_page = $page + 1;
334
+            $next_link = add_query_arg( 'page', $next_page, $base );
335
+            $response->link_header( 'next', $next_link );
336
+        }
337
+
338
+        return $response;
339
+    }
340
+
341
+    /**
342
+     * Delete a single item.
343
+     *
344
+     * @param WP_REST_Request $request Full details about the request.
345
+     * @return WP_REST_Response|WP_Error
346
+     */
347
+    public function delete_item( $request ) {
348
+
349
+        // Fetch the item.
350
+        $item = $this->get_object( $request['id'] );
351
+        if ( is_wp_error( $item ) ) {
352
+            return $item;
353
+        }
354
+
355
+        $supports_trash = EMPTY_TRASH_DAYS > 0;
356
+        $force          = $supports_trash && (bool) $request['force'];
357
+
358
+        if ( ! $this->check_post_permissions( 'delete', $item->ID ) ) {
359
+            return new WP_Error( 'cannot_delete', __( 'Sorry, you are not allowed to delete this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
360
+        }
361
+
362
+        $request->set_param( 'context', 'edit' );
363
+        $response = $this->prepare_item_for_response( $item, $request );
364
+
365
+        if ( ! wp_delete_post( $item->ID, $force ) ) {
366
+            return new WP_Error( 'rest_cannot_delete', sprintf( __( 'The resource cannot be deleted.', 'invoicing' ), $this->post_type ), array( 'status' => 500 ) );
367
+        }
368
+
369
+        return $response;
370
+    }
371
+
372
+    /**
373
+     * Prepare links for the request.
374
+     *
375
+     * @param GetPaid_Data    $object GetPaid_Data object.
376
+     * @return array Links for the given object.
377
+     */
378
+    protected function prepare_links( $object ) {
379
+
380
+        $links = parent::prepare_links( $object );
381
+
382
+        if ( is_callable( array( $object, 'get_user_id' ) ) ) {
383
+            $links['user'] = array(
384
+                'href'       => rest_url( 'wp/v2/users/' . call_user_func( array( $object, 'get_user_id' ) ) ),
385
+                'embeddable' => true,
386
+            );
387
+        }
388
+
389
+        if ( is_callable( array( $object, 'get_owner' ) ) ) {
390
+            $links['owner']  = array(
391
+                'href'       => rest_url( 'wp/v2/users/' . call_user_func( array( $object, 'get_owner' ) ) ),
392
+                'embeddable' => true,
393
+            );
394
+        }
395
+
396
+        if ( is_callable( array( $object, 'get_parent_id' ) ) && call_user_func( array( $object, 'get_parent_id' ) ) ) {
397
+            $links['parent']  = array(
398
+                'href'       => rest_url( "$this->namespace/$this->rest_base/" . call_user_func( array( $object, 'get_parent_id' ) ) ),
399
+                'embeddable' => true,
400
+            );
401
+        }
402
+
403
+        return $links;
404
+    }
405
+
406
+    /**
407
+     * Determine the allowed query_vars for a get_items() response and
408
+     * prepare for WP_Query.
409
+     *
410
+     * @param array           $prepared_args Prepared arguments.
411
+     * @param WP_REST_Request $request Request object.
412
+     * @return array          $query_args
413
+     */
414
+    protected function prepare_items_query( $prepared_args = array(), $request = null ) {
415
+
416
+        $valid_vars = array_flip( $this->get_allowed_query_vars() );
417
+        $query_args = array();
418
+        foreach ( $valid_vars as $var => $index ) {
419
+            if ( isset( $prepared_args[ $var ] ) ) {
420
+                $query_args[ $var ] = apply_filters( "getpaid_rest_query_var-{$var}", $prepared_args[ $var ], $index );
421
+            }
422
+        }
423
+
424
+        $query_args['ignore_sticky_posts'] = true;
425
+
426
+        if ( 'include' === $query_args['orderby'] ) {
427
+            $query_args['orderby'] = 'post__in';
428
+        } elseif ( 'id' === $query_args['orderby'] ) {
429
+            $query_args['orderby'] = 'ID'; // ID must be capitalized.
430
+        } elseif ( 'slug' === $query_args['orderby'] ) {
431
+            $query_args['orderby'] = 'name';
432
+        }
433
+
434
+        return apply_filters( 'getpaid_rest_prepare_items_query', $query_args, $request, $this );
435
+
436
+    }
437
+
438
+    /**
439
+     * Get all the WP Query vars that are allowed for the API request.
440
+     *
441
+     * @return array
442
+     */
443
+    protected function get_allowed_query_vars() {
444
+        global $wp;
445
+
446
+        /**
447
+         * Filter the publicly allowed query vars.
448
+         *
449
+         * Allows adjusting of the default query vars that are made public.
450
+         *
451
+         * @param array  Array of allowed WP_Query query vars.
452
+         */
453
+        $valid_vars = apply_filters( 'query_vars', $wp->public_query_vars );
454
+
455
+        $post_type_obj = get_post_type_object( $this->post_type );
456
+        if ( current_user_can( $post_type_obj->cap->edit_posts ) ) {
457
+            $private = apply_filters( 'getpaid_rest_private_query_vars', $wp->private_query_vars );
458
+            $valid_vars = array_merge( $valid_vars, $private );
459
+        }
460
+
461
+        // Define our own in addition to WP's normal vars.
462
+        $rest_valid = array(
463
+            'post_status',
464
+            'date_query',
465
+            'ignore_sticky_posts',
466
+            'offset',
467
+            'post__in',
468
+            'post__not_in',
469
+            'post_parent',
470
+            'post_parent__in',
471
+            'post_parent__not_in',
472
+            'posts_per_page',
473
+            'meta_query',
474
+            'tax_query',
475
+            'meta_key',
476
+            'meta_value',
477
+            'meta_compare',
478
+            'meta_value_num',
479
+        );
480
+        $valid_vars = array_merge( $valid_vars, $rest_valid );
481
+
482
+        // Filter allowed query vars for the REST API.
483
+        $valid_vars = apply_filters( 'getpaid_rest_query_vars', $valid_vars, $this );
484
+
485
+        return $valid_vars;
486
+    }
487
+
488
+    /**
489
+     * Get the query params for collections of attachments.
490
+     *
491
+     * @return array
492
+     */
493
+    public function get_collection_params() {
494
+
495
+        return array_merge(
496
+            parent::get_collection_params(),
497
+            array(
498
+                'status'  => array(
499
+                    'default'           => $this->get_post_statuses(),
500
+                    'description'       => __( 'Limit result set to resources assigned one or more statuses.', 'invoicing' ),
501
+                    'type'              => array( 'array', 'string' ),
502
+                    'items'             => array(
503
+                        'enum' => $this->get_post_statuses(),
504
+                        'type' => 'string',
505
+                    ),
506
+                    'validate_callback' => 'rest_validate_request_arg',
507
+                    'sanitize_callback' => array( $this, 'sanitize_post_statuses' ),
508
+                ),
509
+                'after'   => array(
510
+                    'description'       => __( 'Limit response to resources created after a given ISO8601 compliant date.', 'invoicing' ),
511
+                    'type'              => 'string',
512
+                    'format'            => 'string',
513
+                    'validate_callback' => 'rest_validate_request_arg',
514
+                    'sanitize_callback' => 'sanitize_text_field',
515
+                ),
516
+                'before'  => array(
517
+                    'description'       => __( 'Limit response to resources created before a given ISO8601 compliant date.', 'invoicing' ),
518
+                    'type'              => 'string',
519
+                    'format'            => 'string',
520
+                    'validate_callback' => 'rest_validate_request_arg',
521
+                    'sanitize_callback' => 'sanitize_text_field',
522
+                ),
523
+                'exclude' => array(
524
+                    'description'       => __( 'Ensure result set excludes specific IDs.', 'invoicing' ),
525
+                    'type'              => 'array',
526
+                    'items'             => array(
527
+                        'type' => 'integer',
528
+                    ),
529
+                    'default'           => array(),
530
+                    'sanitize_callback' => 'wp_parse_id_list',
531
+                    'validate_callback' => 'rest_validate_request_arg',
532
+                ),
533
+                'include' => array(
534
+                    'description'       => __( 'Limit result set to specific ids.', 'invoicing' ),
535
+                    'type'              => 'array',
536
+                    'items'             => array(
537
+                        'type' => 'integer',
538
+                    ),
539
+                    'default'           => array(),
540
+                    'sanitize_callback' => 'wp_parse_id_list',
541
+                    'validate_callback' => 'rest_validate_request_arg',
542
+                ),
543
+                'offset'  => array(
544
+                    'description'       => __( 'Offset the result set by a specific number of items.', 'invoicing' ),
545
+                    'type'              => 'integer',
546
+                    'sanitize_callback' => 'absint',
547
+                    'validate_callback' => 'rest_validate_request_arg',
548
+                ),
549
+                'order'   => array(
550
+                    'description'       => __( 'Order sort attribute ascending or descending.', 'invoicing' ),
551
+                    'type'              => 'string',
552
+                    'default'           => 'desc',
553
+                    'enum'              => array( 'asc', 'desc' ),
554
+                    'validate_callback' => 'rest_validate_request_arg',
555
+                ),
556
+                'orderby' => array(
557
+                    'description'       => __( 'Sort collection by object attribute.', 'invoicing' ),
558
+                    'type'              => 'string',
559
+                    'default'           => 'date',
560
+                    'enum'              => array(
561
+                        'date',
562
+                        'id',
563
+                        'include',
564
+                        'title',
565
+                        'slug',
566
+                        'modified',
567
+                    ),
568
+                    'validate_callback' => 'rest_validate_request_arg',
569
+                ),
570
+            )
571
+        );
572
+    }
573
+
574
+    /**
575
+     * Retrieves the items's schema, conforming to JSON Schema.
576
+     *
577
+     * @since 1.0.19
578
+     *
579
+     * @return array Item schema data.
580
+     */
581
+    public function get_item_schema() {
582
+
583
+        // Maybe retrieve the schema from cache.
584
+        if ( ! empty( $this->schema ) ) {
585
+            return $this->add_additional_fields_schema( $this->schema );
586
+        }
587
+
588
+        $type   = str_replace( 'wpi_', '', $this->post_type );
589
+        $schema = array(
590
+            '$schema'    => 'http://json-schema.org/draft-04/schema#',
591
+            'title'      => $this->post_type,
592
+            'type'       => 'object',
593
+            'properties' => wpinv_get_data( "$type-schema" ),
594
+        );
595
+
596
+        // Filters the invoice schema for the REST API.
597 597
         $schema = apply_filters( "wpinv_rest_{$type}_schema", $schema );
598 598
 
599
-		// Cache the invoice schema.
600
-		$this->schema = $schema;
601
-
602
-		return $this->add_additional_fields_schema( $this->schema );
603
-	}
604
-
605
-	/**
606
-	 * Sanitizes and validates the list of post statuses.
607
-	 *
608
-	 * @since 1.0.13
609
-	 *
610
-	 * @param string|array    $statuses  One or more post statuses.
611
-	 * @param WP_REST_Request $request   Full details about the request.
612
-	 * @param string          $parameter Additional parameter to pass to validation.
613
-	 * @return array|WP_Error A list of valid statuses, otherwise WP_Error object.
614
-	 */
615
-	public function sanitize_post_statuses( $statuses, $request, $parameter ) {
616
-		return array_intersect( wp_parse_slug_list( $statuses ), $this->get_post_statuses() );
617
-	}
618
-
619
-	/**
620
-	 * Retrieves a valid list of post statuses.
621
-	 *
622
-	 * @since 1.0.19
623
-	 *
624
-	 * @return array A list of registered item statuses.
625
-	 */
626
-	public function get_post_statuses() {
627
-		return get_post_stati();
628
-	}
629
-
630
-	/**
631
-	 * Checks if a key should be included in a response.
632
-	 *
633
-	 * @since  1.0.19
634
-	 * @param  GetPaid_Data $object  Data object.
635
-	 * @param  string       $field_key The key to check for.
636
-	 * @return bool
637
-	 */
638
-	public function object_supports_field( $object, $field_key ) {
639
-		$supports = parent::object_supports_field( $object, $field_key );
640
-		return apply_filters( "getpaid_rest_{$this->post_type}_object_supports_key", $supports, $object, $field_key );
641
-	}
599
+        // Cache the invoice schema.
600
+        $this->schema = $schema;
601
+
602
+        return $this->add_additional_fields_schema( $this->schema );
603
+    }
604
+
605
+    /**
606
+     * Sanitizes and validates the list of post statuses.
607
+     *
608
+     * @since 1.0.13
609
+     *
610
+     * @param string|array    $statuses  One or more post statuses.
611
+     * @param WP_REST_Request $request   Full details about the request.
612
+     * @param string          $parameter Additional parameter to pass to validation.
613
+     * @return array|WP_Error A list of valid statuses, otherwise WP_Error object.
614
+     */
615
+    public function sanitize_post_statuses( $statuses, $request, $parameter ) {
616
+        return array_intersect( wp_parse_slug_list( $statuses ), $this->get_post_statuses() );
617
+    }
618
+
619
+    /**
620
+     * Retrieves a valid list of post statuses.
621
+     *
622
+     * @since 1.0.19
623
+     *
624
+     * @return array A list of registered item statuses.
625
+     */
626
+    public function get_post_statuses() {
627
+        return get_post_stati();
628
+    }
629
+
630
+    /**
631
+     * Checks if a key should be included in a response.
632
+     *
633
+     * @since  1.0.19
634
+     * @param  GetPaid_Data $object  Data object.
635
+     * @param  string       $field_key The key to check for.
636
+     * @return bool
637
+     */
638
+    public function object_supports_field( $object, $field_key ) {
639
+        $supports = parent::object_supports_field( $object, $field_key );
640
+        return apply_filters( "getpaid_rest_{$this->post_type}_object_supports_key", $supports, $object, $field_key );
641
+    }
642 642
 
643 643
 }
Please login to merge, or discard this patch.
Spacing   +127 added lines, -127 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  * @version 1.0.19
9 9
  */
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13 13
 /**
14 14
  * GetPaid REST Posts controller class.
@@ -38,9 +38,9 @@  discard block
 block discarded – undo
38 38
 	 *
39 39
 	 * @see register_rest_route()
40 40
 	 */
41
-	public function register_namespace_routes( $namespace ) {
41
+	public function register_namespace_routes($namespace) {
42 42
 
43
-		parent::register_namespace_routes( $namespace );
43
+		parent::register_namespace_routes($namespace);
44 44
 
45 45
 		register_rest_route(
46 46
 			$namespace,
@@ -48,11 +48,11 @@  discard block
 block discarded – undo
48 48
 			array(
49 49
 				array(
50 50
 					'methods'             => WP_REST_Server::EDITABLE,
51
-					'callback'            => array( $this, 'batch_items' ),
52
-					'permission_callback' => array( $this, 'batch_items_permissions_check' ),
53
-					'args'                => $this->get_endpoint_args_for_item_schema( WP_REST_Server::EDITABLE ),
51
+					'callback'            => array($this, 'batch_items'),
52
+					'permission_callback' => array($this, 'batch_items_permissions_check'),
53
+					'args'                => $this->get_endpoint_args_for_item_schema(WP_REST_Server::EDITABLE),
54 54
 				),
55
-				'schema' => array( $this, 'get_public_batch_schema' ),
55
+				'schema' => array($this, 'get_public_batch_schema'),
56 56
 			)
57 57
 		);
58 58
 
@@ -66,7 +66,7 @@  discard block
 block discarded – undo
66 66
 	 * @param int    $object_id Post ID.
67 67
 	 * @return bool
68 68
 	 */
69
-	public function check_post_permissions( $context = 'read', $object_id = 0 ) {
69
+	public function check_post_permissions($context = 'read', $object_id = 0) {
70 70
 
71 71
 		$contexts = array(
72 72
 			'read'   => 'read_private_posts',
@@ -76,11 +76,11 @@  discard block
 block discarded – undo
76 76
 			'batch'  => 'edit_others_posts',
77 77
 		);
78 78
 
79
-		$cap              = $contexts[ $context ];
80
-		$post_type_object = get_post_type_object( $this->post_type );
81
-		$permission       = current_user_can( $post_type_object->cap->$cap, $object_id );
79
+		$cap              = $contexts[$context];
80
+		$post_type_object = get_post_type_object($this->post_type);
81
+		$permission       = current_user_can($post_type_object->cap->$cap, $object_id);
82 82
 
83
-		return apply_filters( 'getpaid_rest_check_permissions', $permission, $context, $object_id, $this->post_type );
83
+		return apply_filters('getpaid_rest_check_permissions', $permission, $context, $object_id, $this->post_type);
84 84
 	}
85 85
 
86 86
 	/**
@@ -89,8 +89,8 @@  discard block
 block discarded – undo
89 89
 	 * @param  WP_REST_Request $request Full details about the request.
90 90
 	 * @return WP_Error|boolean
91 91
 	 */
92
-	public function get_items_permissions_check( $request ) {
93
-		return $this->check_post_permissions() ? true : new WP_Error( 'rest_cannot_view', __( 'Sorry, you cannot list resources.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
92
+	public function get_items_permissions_check($request) {
93
+		return $this->check_post_permissions() ? true : new WP_Error('rest_cannot_view', __('Sorry, you cannot list resources.', 'invoicing'), array('status' => rest_authorization_required_code()));
94 94
 	}
95 95
 
96 96
 	/**
@@ -99,8 +99,8 @@  discard block
 block discarded – undo
99 99
 	 * @param  WP_REST_Request $request Full details about the request.
100 100
 	 * @return WP_Error|boolean
101 101
 	 */
102
-	public function create_item_permissions_check( $request ) {
103
-		return $this->check_post_permissions( 'create' ) ? true : new WP_Error( 'rest_cannot_create', __( 'Sorry, you are not allowed to create resources.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
102
+	public function create_item_permissions_check($request) {
103
+		return $this->check_post_permissions('create') ? true : new WP_Error('rest_cannot_create', __('Sorry, you are not allowed to create resources.', 'invoicing'), array('status' => rest_authorization_required_code()));
104 104
 	}
105 105
 
106 106
 	/**
@@ -109,11 +109,11 @@  discard block
 block discarded – undo
109 109
 	 * @param  WP_REST_Request $request Full details about the request.
110 110
 	 * @return WP_Error|boolean
111 111
 	 */
112
-	public function get_item_permissions_check( $request ) {
113
-		$post = get_post( (int) $request['id'] );
112
+	public function get_item_permissions_check($request) {
113
+		$post = get_post((int) $request['id']);
114 114
 
115
-		if ( $post && ! $this->check_post_permissions( 'read', $post->ID ) ) {
116
-			return new WP_Error( 'rest_cannot_view', __( 'Sorry, you cannot view this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
115
+		if ($post && !$this->check_post_permissions('read', $post->ID)) {
116
+			return new WP_Error('rest_cannot_view', __('Sorry, you cannot view this resource.', 'invoicing'), array('status' => rest_authorization_required_code()));
117 117
 		}
118 118
 
119 119
 		return true;
@@ -125,11 +125,11 @@  discard block
 block discarded – undo
125 125
 	 * @param  WP_REST_Request $request Full details about the request.
126 126
 	 * @return WP_Error|boolean
127 127
 	 */
128
-	public function update_item_permissions_check( $request ) {
129
-		$post = get_post( (int) $request['id'] );
128
+	public function update_item_permissions_check($request) {
129
+		$post = get_post((int) $request['id']);
130 130
 
131
-		if ( $post && ! $this->check_post_permissions( 'edit', $post->ID ) ) {
132
-			return new WP_Error( 'rest_cannot_edit', __( 'Sorry, you are not allowed to edit this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
131
+		if ($post && !$this->check_post_permissions('edit', $post->ID)) {
132
+			return new WP_Error('rest_cannot_edit', __('Sorry, you are not allowed to edit this resource.', 'invoicing'), array('status' => rest_authorization_required_code()));
133 133
 		}
134 134
 
135 135
 		return true;
@@ -141,11 +141,11 @@  discard block
 block discarded – undo
141 141
 	 * @param  WP_REST_Request $request Full details about the request.
142 142
 	 * @return bool|WP_Error
143 143
 	 */
144
-	public function delete_item_permissions_check( $request ) {
145
-		$post = get_post( (int) $request['id'] );
144
+	public function delete_item_permissions_check($request) {
145
+		$post = get_post((int) $request['id']);
146 146
 
147
-		if ( $post && ! $this->check_post_permissions( 'delete', $post->ID ) ) {
148
-			return new WP_Error( 'rest_cannot_delete', __( 'Sorry, you are not allowed to delete this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
147
+		if ($post && !$this->check_post_permissions('delete', $post->ID)) {
148
+			return new WP_Error('rest_cannot_delete', __('Sorry, you are not allowed to delete this resource.', 'invoicing'), array('status' => rest_authorization_required_code()));
149 149
 		}
150 150
 
151 151
 		return true;
@@ -158,15 +158,15 @@  discard block
 block discarded – undo
158 158
 	 *
159 159
 	 * @return boolean|WP_Error
160 160
 	 */
161
-	public function batch_items_permissions_check( $request ) {
162
-		return $this->check_post_permissions( 'batch' ) ? true : new WP_Error( 'rest_cannot_batch', __( 'Sorry, you are not allowed to batch manipulate this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
161
+	public function batch_items_permissions_check($request) {
162
+		return $this->check_post_permissions('batch') ? true : new WP_Error('rest_cannot_batch', __('Sorry, you are not allowed to batch manipulate this resource.', 'invoicing'), array('status' => rest_authorization_required_code()));
163 163
 	}
164 164
 
165 165
 	/**
166 166
 	 * @deprecated
167 167
 	 */
168
-	public function get_post( $object_id ) {
169
-		return $this->get_object( $object_id );
168
+	public function get_post($object_id) {
169
+		return $this->get_object($object_id);
170 170
     }
171 171
 
172 172
 	/**
@@ -175,14 +175,14 @@  discard block
 block discarded – undo
175 175
 	 * @param WP_REST_Request $request Full details about the request.
176 176
 	 * @return WP_Error|WP_REST_Response
177 177
 	 */
178
-	public function get_item( $request ) {
178
+	public function get_item($request) {
179 179
 
180 180
 		// Fetch item.
181
-		$response = parent::get_item( $request );
181
+		$response = parent::get_item($request);
182 182
 
183 183
 		// (Maybe) add a link to the html pagee.
184
-		if ( $this->public && ! is_wp_error( $response ) ) {
185
-			$response->link_header( 'alternate', get_permalink( $this->data_object->get_id() ), array( 'type' => 'text/html' ) );
184
+		if ($this->public && !is_wp_error($response)) {
185
+			$response->link_header('alternate', get_permalink($this->data_object->get_id()), array('type' => 'text/html'));
186 186
 		}
187 187
 
188 188
 		return $response;
@@ -194,13 +194,13 @@  discard block
 block discarded – undo
194 194
 	 * @param WP_REST_Request $request Full details about the request.
195 195
 	 * @return WP_Error|WP_REST_Response
196 196
 	 */
197
-	public function create_item( $request ) {
197
+	public function create_item($request) {
198 198
 
199 199
 		// Create item.
200
-		$response = parent::create_item( $request );
200
+		$response = parent::create_item($request);
201 201
 
202 202
 		// Fire a hook after an item is created.
203
-		if ( ! is_wp_error( $response ) ) {
203
+		if (!is_wp_error($response)) {
204 204
 
205 205
 			/**
206 206
 			 * Fires after a single item is created or updated via the REST API.
@@ -209,7 +209,7 @@  discard block
 block discarded – undo
209 209
 			 * @param WP_REST_Request $request   Request object.
210 210
 			 * @param boolean         $creating  True when creating item, false when updating.
211 211
 			 */
212
-			do_action( "getpaid_rest_insert_{$this->post_type}", $this->data_object, $request, true );
212
+			do_action("getpaid_rest_insert_{$this->post_type}", $this->data_object, $request, true);
213 213
 
214 214
 		}
215 215
 
@@ -223,13 +223,13 @@  discard block
 block discarded – undo
223 223
 	 * @param WP_REST_Request $request Full details about the request.
224 224
 	 * @return WP_Error|WP_REST_Response
225 225
 	 */
226
-	public function update_item( $request ) {
226
+	public function update_item($request) {
227 227
 
228 228
 		// Create item.
229
-		$response = parent::update_item( $request );
229
+		$response = parent::update_item($request);
230 230
 
231 231
 		// Fire a hook after an item is created.
232
-		if ( ! is_wp_error( $response ) ) {
232
+		if (!is_wp_error($response)) {
233 233
 
234 234
 			/**
235 235
 			 * Fires after a single item is created or updated via the REST API.
@@ -238,7 +238,7 @@  discard block
 block discarded – undo
238 238
 			 * @param WP_REST_Request $request   Request object.
239 239
 			 * @param boolean         $creating  True when creating item, false when updating.
240 240
 			 */
241
-			do_action( "getpaid_rest_insert_{$this->post_type}", $this->data_object, $request, false );
241
+			do_action("getpaid_rest_insert_{$this->post_type}", $this->data_object, $request, false);
242 242
 
243 243
 		}
244 244
 
@@ -252,7 +252,7 @@  discard block
 block discarded – undo
252 252
 	 * @param WP_REST_Request $request Full details about the request.
253 253
 	 * @return WP_Error|WP_REST_Response
254 254
 	 */
255
-	public function get_items( $request ) {
255
+	public function get_items($request) {
256 256
 
257 257
 		$args                         = array();
258 258
 		$args['offset']               = $request['offset'];
@@ -266,17 +266,17 @@  discard block
 block discarded – undo
266 266
 		$args['post_parent__in']      = $request['parent'];
267 267
 		$args['post_parent__not_in']  = $request['parent_exclude'];
268 268
 		$args['s']                    = $request['search'];
269
-		$args['post_status']          = wpinv_parse_list( $request['status'] );
269
+		$args['post_status']          = wpinv_parse_list($request['status']);
270 270
 
271 271
 		$args['date_query'] = array();
272 272
 
273 273
 		// Set before into date query. Date query must be specified as an array of an array.
274
-		if ( isset( $request['before'] ) ) {
274
+		if (isset($request['before'])) {
275 275
 			$args['date_query'][0]['before'] = $request['before'];
276 276
 		}
277 277
 
278 278
 		// Set after into date query. Date query must be specified as an array of an array.
279
-		if ( isset( $request['after'] ) ) {
279
+		if (isset($request['after'])) {
280 280
 			$args['date_query'][0]['after'] = $request['after'];
281 281
 		}
282 282
 
@@ -285,54 +285,54 @@  discard block
 block discarded – undo
285 285
 		$args['fields']    = 'ids';
286 286
 
287 287
 		// Filter the query arguments for a request.
288
-		$args       = apply_filters( "getpaid_rest_{$this->post_type}_query", $args, $request );
289
-		$query_args = $this->prepare_items_query( $args, $request );
288
+		$args       = apply_filters("getpaid_rest_{$this->post_type}_query", $args, $request);
289
+		$query_args = $this->prepare_items_query($args, $request);
290 290
 
291 291
 		$posts_query = new WP_Query();
292
-		$query_result = $posts_query->query( $query_args );
292
+		$query_result = $posts_query->query($query_args);
293 293
 
294 294
 		$posts = array();
295
-		foreach ( $query_result as $post_id ) {
296
-			if ( ! $this->check_post_permissions( 'read', $post_id ) ) {
295
+		foreach ($query_result as $post_id) {
296
+			if (!$this->check_post_permissions('read', $post_id)) {
297 297
 				continue;
298 298
 			}
299 299
 
300
-			$data    = $this->prepare_item_for_response( $this->get_object( $post_id ), $request );
301
-			$posts[] = $this->prepare_response_for_collection( $data );
300
+			$data    = $this->prepare_item_for_response($this->get_object($post_id), $request);
301
+			$posts[] = $this->prepare_response_for_collection($data);
302 302
 		}
303 303
 
304 304
 		$page        = (int) $query_args['paged'];
305 305
 		$total_posts = $posts_query->found_posts;
306 306
 
307
-		if ( $total_posts < 1 ) {
307
+		if ($total_posts < 1) {
308 308
 			// Out-of-bounds, run the query again without LIMIT for total count.
309
-			unset( $query_args['paged'] );
309
+			unset($query_args['paged']);
310 310
 			$count_query = new WP_Query();
311
-			$count_query->query( $query_args );
311
+			$count_query->query($query_args);
312 312
 			$total_posts = $count_query->found_posts;
313 313
 		}
314 314
 
315
-		$max_pages = ceil( $total_posts / (int) $query_args['posts_per_page'] );
315
+		$max_pages = ceil($total_posts / (int) $query_args['posts_per_page']);
316 316
 
317
-		$response = rest_ensure_response( $posts );
318
-		$response->header( 'X-WP-Total', (int) $total_posts );
319
-		$response->header( 'X-WP-TotalPages', (int) $max_pages );
317
+		$response = rest_ensure_response($posts);
318
+		$response->header('X-WP-Total', (int) $total_posts);
319
+		$response->header('X-WP-TotalPages', (int) $max_pages);
320 320
 
321 321
 		$request_params = $request->get_query_params();
322
-		$base = add_query_arg( $request_params, rest_url( sprintf( '/%s/%s', $this->namespace, $this->rest_base ) ) );
322
+		$base = add_query_arg($request_params, rest_url(sprintf('/%s/%s', $this->namespace, $this->rest_base)));
323 323
 
324
-		if ( $page > 1 ) {
324
+		if ($page > 1) {
325 325
 			$prev_page = $page - 1;
326
-			if ( $prev_page > $max_pages ) {
326
+			if ($prev_page > $max_pages) {
327 327
 				$prev_page = $max_pages;
328 328
 			}
329
-			$prev_link = add_query_arg( 'page', $prev_page, $base );
330
-			$response->link_header( 'prev', $prev_link );
329
+			$prev_link = add_query_arg('page', $prev_page, $base);
330
+			$response->link_header('prev', $prev_link);
331 331
 		}
332
-		if ( $max_pages > $page ) {
332
+		if ($max_pages > $page) {
333 333
 			$next_page = $page + 1;
334
-			$next_link = add_query_arg( 'page', $next_page, $base );
335
-			$response->link_header( 'next', $next_link );
334
+			$next_link = add_query_arg('page', $next_page, $base);
335
+			$response->link_header('next', $next_link);
336 336
 		}
337 337
 
338 338
 		return $response;
@@ -344,26 +344,26 @@  discard block
 block discarded – undo
344 344
 	 * @param WP_REST_Request $request Full details about the request.
345 345
 	 * @return WP_REST_Response|WP_Error
346 346
 	 */
347
-	public function delete_item( $request ) {
347
+	public function delete_item($request) {
348 348
 
349 349
 		// Fetch the item.
350
-		$item = $this->get_object( $request['id'] );
351
-		if ( is_wp_error( $item ) ) {
350
+		$item = $this->get_object($request['id']);
351
+		if (is_wp_error($item)) {
352 352
 			return $item;
353 353
 		}
354 354
 
355 355
 		$supports_trash = EMPTY_TRASH_DAYS > 0;
356 356
 		$force          = $supports_trash && (bool) $request['force'];
357 357
 
358
-		if ( ! $this->check_post_permissions( 'delete', $item->ID ) ) {
359
-			return new WP_Error( 'cannot_delete', __( 'Sorry, you are not allowed to delete this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
358
+		if (!$this->check_post_permissions('delete', $item->ID)) {
359
+			return new WP_Error('cannot_delete', __('Sorry, you are not allowed to delete this resource.', 'invoicing'), array('status' => rest_authorization_required_code()));
360 360
 		}
361 361
 
362
-		$request->set_param( 'context', 'edit' );
363
-		$response = $this->prepare_item_for_response( $item, $request );
362
+		$request->set_param('context', 'edit');
363
+		$response = $this->prepare_item_for_response($item, $request);
364 364
 
365
-		if ( ! wp_delete_post( $item->ID, $force ) ) {
366
-			return new WP_Error( 'rest_cannot_delete', sprintf( __( 'The resource cannot be deleted.', 'invoicing' ), $this->post_type ), array( 'status' => 500 ) );
365
+		if (!wp_delete_post($item->ID, $force)) {
366
+			return new WP_Error('rest_cannot_delete', sprintf(__('The resource cannot be deleted.', 'invoicing'), $this->post_type), array('status' => 500));
367 367
 		}
368 368
 
369 369
 		return $response;
@@ -375,27 +375,27 @@  discard block
 block discarded – undo
375 375
 	 * @param GetPaid_Data    $object GetPaid_Data object.
376 376
 	 * @return array Links for the given object.
377 377
 	 */
378
-	protected function prepare_links( $object ) {
378
+	protected function prepare_links($object) {
379 379
 
380
-		$links = parent::prepare_links( $object );
380
+		$links = parent::prepare_links($object);
381 381
 
382
-		if ( is_callable( array( $object, 'get_user_id' ) ) ) {
382
+		if (is_callable(array($object, 'get_user_id'))) {
383 383
 			$links['user'] = array(
384
-				'href'       => rest_url( 'wp/v2/users/' . call_user_func( array( $object, 'get_user_id' ) ) ),
384
+				'href'       => rest_url('wp/v2/users/' . call_user_func(array($object, 'get_user_id'))),
385 385
 				'embeddable' => true,
386 386
 			);
387 387
 		}
388 388
 
389
-		if ( is_callable( array( $object, 'get_owner' ) ) ) {
390
-			$links['owner']  = array(
391
-				'href'       => rest_url( 'wp/v2/users/' . call_user_func( array( $object, 'get_owner' ) ) ),
389
+		if (is_callable(array($object, 'get_owner'))) {
390
+			$links['owner'] = array(
391
+				'href'       => rest_url('wp/v2/users/' . call_user_func(array($object, 'get_owner'))),
392 392
 				'embeddable' => true,
393 393
 			);
394 394
 		}
395 395
 
396
-		if ( is_callable( array( $object, 'get_parent_id' ) ) && call_user_func( array( $object, 'get_parent_id' ) ) ) {
397
-			$links['parent']  = array(
398
-				'href'       => rest_url( "$this->namespace/$this->rest_base/" . call_user_func( array( $object, 'get_parent_id' ) ) ),
396
+		if (is_callable(array($object, 'get_parent_id')) && call_user_func(array($object, 'get_parent_id'))) {
397
+			$links['parent'] = array(
398
+				'href'       => rest_url("$this->namespace/$this->rest_base/" . call_user_func(array($object, 'get_parent_id'))),
399 399
 				'embeddable' => true,
400 400
 			);
401 401
 		}
@@ -411,27 +411,27 @@  discard block
 block discarded – undo
411 411
 	 * @param WP_REST_Request $request Request object.
412 412
 	 * @return array          $query_args
413 413
 	 */
414
-	protected function prepare_items_query( $prepared_args = array(), $request = null ) {
414
+	protected function prepare_items_query($prepared_args = array(), $request = null) {
415 415
 
416
-		$valid_vars = array_flip( $this->get_allowed_query_vars() );
416
+		$valid_vars = array_flip($this->get_allowed_query_vars());
417 417
 		$query_args = array();
418
-		foreach ( $valid_vars as $var => $index ) {
419
-			if ( isset( $prepared_args[ $var ] ) ) {
420
-				$query_args[ $var ] = apply_filters( "getpaid_rest_query_var-{$var}", $prepared_args[ $var ], $index );
418
+		foreach ($valid_vars as $var => $index) {
419
+			if (isset($prepared_args[$var])) {
420
+				$query_args[$var] = apply_filters("getpaid_rest_query_var-{$var}", $prepared_args[$var], $index);
421 421
 			}
422 422
 		}
423 423
 
424 424
 		$query_args['ignore_sticky_posts'] = true;
425 425
 
426
-		if ( 'include' === $query_args['orderby'] ) {
426
+		if ('include' === $query_args['orderby']) {
427 427
 			$query_args['orderby'] = 'post__in';
428
-		} elseif ( 'id' === $query_args['orderby'] ) {
428
+		} elseif ('id' === $query_args['orderby']) {
429 429
 			$query_args['orderby'] = 'ID'; // ID must be capitalized.
430
-		} elseif ( 'slug' === $query_args['orderby'] ) {
430
+		} elseif ('slug' === $query_args['orderby']) {
431 431
 			$query_args['orderby'] = 'name';
432 432
 		}
433 433
 
434
-		return apply_filters( 'getpaid_rest_prepare_items_query', $query_args, $request, $this );
434
+		return apply_filters('getpaid_rest_prepare_items_query', $query_args, $request, $this);
435 435
 
436 436
 	}
437 437
 
@@ -450,12 +450,12 @@  discard block
 block discarded – undo
450 450
 		 *
451 451
 		 * @param array  Array of allowed WP_Query query vars.
452 452
 		 */
453
-		$valid_vars = apply_filters( 'query_vars', $wp->public_query_vars );
453
+		$valid_vars = apply_filters('query_vars', $wp->public_query_vars);
454 454
 
455
-		$post_type_obj = get_post_type_object( $this->post_type );
456
-		if ( current_user_can( $post_type_obj->cap->edit_posts ) ) {
457
-			$private = apply_filters( 'getpaid_rest_private_query_vars', $wp->private_query_vars );
458
-			$valid_vars = array_merge( $valid_vars, $private );
455
+		$post_type_obj = get_post_type_object($this->post_type);
456
+		if (current_user_can($post_type_obj->cap->edit_posts)) {
457
+			$private = apply_filters('getpaid_rest_private_query_vars', $wp->private_query_vars);
458
+			$valid_vars = array_merge($valid_vars, $private);
459 459
 		}
460 460
 
461 461
 		// Define our own in addition to WP's normal vars.
@@ -477,10 +477,10 @@  discard block
 block discarded – undo
477 477
 			'meta_compare',
478 478
 			'meta_value_num',
479 479
 		);
480
-		$valid_vars = array_merge( $valid_vars, $rest_valid );
480
+		$valid_vars = array_merge($valid_vars, $rest_valid);
481 481
 
482 482
 		// Filter allowed query vars for the REST API.
483
-		$valid_vars = apply_filters( 'getpaid_rest_query_vars', $valid_vars, $this );
483
+		$valid_vars = apply_filters('getpaid_rest_query_vars', $valid_vars, $this);
484 484
 
485 485
 		return $valid_vars;
486 486
 	}
@@ -497,31 +497,31 @@  discard block
 block discarded – undo
497 497
 			array(
498 498
 				'status'  => array(
499 499
 					'default'           => $this->get_post_statuses(),
500
-					'description'       => __( 'Limit result set to resources assigned one or more statuses.', 'invoicing' ),
501
-					'type'              => array( 'array', 'string' ),
500
+					'description'       => __('Limit result set to resources assigned one or more statuses.', 'invoicing'),
501
+					'type'              => array('array', 'string'),
502 502
 					'items'             => array(
503 503
 						'enum' => $this->get_post_statuses(),
504 504
 						'type' => 'string',
505 505
 					),
506 506
 					'validate_callback' => 'rest_validate_request_arg',
507
-					'sanitize_callback' => array( $this, 'sanitize_post_statuses' ),
507
+					'sanitize_callback' => array($this, 'sanitize_post_statuses'),
508 508
 				),
509 509
 				'after'   => array(
510
-					'description'       => __( 'Limit response to resources created after a given ISO8601 compliant date.', 'invoicing' ),
510
+					'description'       => __('Limit response to resources created after a given ISO8601 compliant date.', 'invoicing'),
511 511
 					'type'              => 'string',
512 512
 					'format'            => 'string',
513 513
 					'validate_callback' => 'rest_validate_request_arg',
514 514
 					'sanitize_callback' => 'sanitize_text_field',
515 515
 				),
516 516
 				'before'  => array(
517
-					'description'       => __( 'Limit response to resources created before a given ISO8601 compliant date.', 'invoicing' ),
517
+					'description'       => __('Limit response to resources created before a given ISO8601 compliant date.', 'invoicing'),
518 518
 					'type'              => 'string',
519 519
 					'format'            => 'string',
520 520
 					'validate_callback' => 'rest_validate_request_arg',
521 521
 					'sanitize_callback' => 'sanitize_text_field',
522 522
 				),
523 523
 				'exclude' => array(
524
-					'description'       => __( 'Ensure result set excludes specific IDs.', 'invoicing' ),
524
+					'description'       => __('Ensure result set excludes specific IDs.', 'invoicing'),
525 525
 					'type'              => 'array',
526 526
 					'items'             => array(
527 527
 						'type' => 'integer',
@@ -531,7 +531,7 @@  discard block
 block discarded – undo
531 531
 					'validate_callback' => 'rest_validate_request_arg',
532 532
 				),
533 533
 				'include' => array(
534
-					'description'       => __( 'Limit result set to specific ids.', 'invoicing' ),
534
+					'description'       => __('Limit result set to specific ids.', 'invoicing'),
535 535
 					'type'              => 'array',
536 536
 					'items'             => array(
537 537
 						'type' => 'integer',
@@ -541,20 +541,20 @@  discard block
 block discarded – undo
541 541
 					'validate_callback' => 'rest_validate_request_arg',
542 542
 				),
543 543
 				'offset'  => array(
544
-					'description'       => __( 'Offset the result set by a specific number of items.', 'invoicing' ),
544
+					'description'       => __('Offset the result set by a specific number of items.', 'invoicing'),
545 545
 					'type'              => 'integer',
546 546
 					'sanitize_callback' => 'absint',
547 547
 					'validate_callback' => 'rest_validate_request_arg',
548 548
 				),
549 549
 				'order'   => array(
550
-					'description'       => __( 'Order sort attribute ascending or descending.', 'invoicing' ),
550
+					'description'       => __('Order sort attribute ascending or descending.', 'invoicing'),
551 551
 					'type'              => 'string',
552 552
 					'default'           => 'desc',
553
-					'enum'              => array( 'asc', 'desc' ),
553
+					'enum'              => array('asc', 'desc'),
554 554
 					'validate_callback' => 'rest_validate_request_arg',
555 555
 				),
556 556
 				'orderby' => array(
557
-					'description'       => __( 'Sort collection by object attribute.', 'invoicing' ),
557
+					'description'       => __('Sort collection by object attribute.', 'invoicing'),
558 558
 					'type'              => 'string',
559 559
 					'default'           => 'date',
560 560
 					'enum'              => array(
@@ -581,25 +581,25 @@  discard block
 block discarded – undo
581 581
 	public function get_item_schema() {
582 582
 
583 583
 		// Maybe retrieve the schema from cache.
584
-		if ( ! empty( $this->schema ) ) {
585
-			return $this->add_additional_fields_schema( $this->schema );
584
+		if (!empty($this->schema)) {
585
+			return $this->add_additional_fields_schema($this->schema);
586 586
 		}
587 587
 
588
-		$type   = str_replace( 'wpi_', '', $this->post_type );
588
+		$type   = str_replace('wpi_', '', $this->post_type);
589 589
 		$schema = array(
590 590
 			'$schema'    => 'http://json-schema.org/draft-04/schema#',
591 591
 			'title'      => $this->post_type,
592 592
 			'type'       => 'object',
593
-			'properties' => wpinv_get_data( "$type-schema" ),
593
+			'properties' => wpinv_get_data("$type-schema"),
594 594
 		);
595 595
 
596 596
 		// Filters the invoice schema for the REST API.
597
-        $schema = apply_filters( "wpinv_rest_{$type}_schema", $schema );
597
+        $schema = apply_filters("wpinv_rest_{$type}_schema", $schema);
598 598
 
599 599
 		// Cache the invoice schema.
600 600
 		$this->schema = $schema;
601 601
 
602
-		return $this->add_additional_fields_schema( $this->schema );
602
+		return $this->add_additional_fields_schema($this->schema);
603 603
 	}
604 604
 
605 605
 	/**
@@ -612,8 +612,8 @@  discard block
 block discarded – undo
612 612
 	 * @param string          $parameter Additional parameter to pass to validation.
613 613
 	 * @return array|WP_Error A list of valid statuses, otherwise WP_Error object.
614 614
 	 */
615
-	public function sanitize_post_statuses( $statuses, $request, $parameter ) {
616
-		return array_intersect( wp_parse_slug_list( $statuses ), $this->get_post_statuses() );
615
+	public function sanitize_post_statuses($statuses, $request, $parameter) {
616
+		return array_intersect(wp_parse_slug_list($statuses), $this->get_post_statuses());
617 617
 	}
618 618
 
619 619
 	/**
@@ -635,9 +635,9 @@  discard block
 block discarded – undo
635 635
 	 * @param  string       $field_key The key to check for.
636 636
 	 * @return bool
637 637
 	 */
638
-	public function object_supports_field( $object, $field_key ) {
639
-		$supports = parent::object_supports_field( $object, $field_key );
640
-		return apply_filters( "getpaid_rest_{$this->post_type}_object_supports_key", $supports, $object, $field_key );
638
+	public function object_supports_field($object, $field_key) {
639
+		$supports = parent::object_supports_field($object, $field_key);
640
+		return apply_filters("getpaid_rest_{$this->post_type}_object_supports_key", $supports, $object, $field_key);
641 641
 	}
642 642
 
643 643
 }
Please login to merge, or discard this patch.
includes/class-wpinv-cli.php 1 patch
Spacing   +16 added lines, -16 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  */
8 8
 
9 9
 // MUST have WordPress.
10
-if ( ! defined( 'WPINC' ) ) {
10
+if (!defined('WPINC')) {
11 11
     exit;
12 12
 }
13 13
 
@@ -24,40 +24,40 @@  discard block
 block discarded – undo
24 24
      *  @param Array $assoc_args Key value arguments stored in associated array format.
25 25
      *  @since 1.0.13
26 26
      */
27
-    public function insert_invoice( $args, $assoc_args ) {
27
+    public function insert_invoice($args, $assoc_args) {
28 28
 
29 29
         // Fetch invoice data from the args
30
-        $invoice_data = wp_unslash( $assoc_args );
30
+        $invoice_data = wp_unslash($assoc_args);
31 31
 
32 32
         // Abort if no invoice data is provided
33
-        if ( empty( $invoice_data ) ) {
34
-            return WP_CLI::error( __( 'Invoice data not provided', 'invoicing' ) );
33
+        if (empty($invoice_data)) {
34
+            return WP_CLI::error(__('Invoice data not provided', 'invoicing'));
35 35
         }
36 36
 
37 37
         //Cart details
38
-        if ( ! empty( $invoice_data['cart_details'] ) ) {
39
-            $invoice_data['cart_details'] = json_decode( $invoice_data['cart_details'], true );
38
+        if (!empty($invoice_data['cart_details'])) {
39
+            $invoice_data['cart_details'] = json_decode($invoice_data['cart_details'], true);
40 40
         }
41 41
 
42 42
         //User details
43
-        if ( ! empty( $invoice_data['user_info'] ) ) {
44
-            $invoice_data['user_info'] = json_decode( $invoice_data['user_info'], true );
43
+        if (!empty($invoice_data['user_info'])) {
44
+            $invoice_data['user_info'] = json_decode($invoice_data['user_info'], true);
45 45
         }
46 46
 
47 47
         //Payment info
48
-        if ( ! empty( $invoice_data['payment_details'] ) ) {
49
-            $invoice_data['payment_details'] = json_decode( $invoice_data['payment_details'], true );
48
+        if (!empty($invoice_data['payment_details'])) {
49
+            $invoice_data['payment_details'] = json_decode($invoice_data['payment_details'], true);
50 50
         }
51 51
 
52 52
         // Try creating the invoice
53
-        $invoice = wpinv_insert_invoice( $invoice_data, true );
53
+        $invoice = wpinv_insert_invoice($invoice_data, true);
54 54
 
55
-        if ( is_wp_error( $invoice ) ) {
56
-            return WP_CLI::error( $invoice->get_error_message() );
55
+        if (is_wp_error($invoice)) {
56
+            return WP_CLI::error($invoice->get_error_message());
57 57
         }
58 58
 
59
-        $message = sprintf( __( 'Invoice %s created', 'invoicing' ), $invoice->get_id() );
60
-        WP_CLI::success( $message );
59
+        $message = sprintf(__('Invoice %s created', 'invoicing'), $invoice->get_id());
60
+        WP_CLI::success($message);
61 61
     }
62 62
 
63 63
 
Please login to merge, or discard this patch.
includes/class-getpaid-template.php 2 patches
Indentation   +152 added lines, -152 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
3
+    exit;
4 4
 }
5 5
 
6 6
 /**
@@ -20,29 +20,29 @@  discard block
 block discarded – undo
20 20
     public $templates_url;
21 21
 
22 22
     /**
23
-	 * Class constructor.
24
-	 *
25
-	 * @since 1.0.19
26
-	 */
27
-	public function __construct() {
23
+     * Class constructor.
24
+     *
25
+     * @since 1.0.19
26
+     */
27
+    public function __construct() {
28 28
 
29 29
         $this->templates_dir = apply_filters( 'getpaid_default_templates_dir', WPINV_PLUGIN_DIR . 'templates' );
30 30
         $this->templates_url = apply_filters( 'getpaid_default_templates_url', WPINV_PLUGIN_URL . 'templates' );
31 31
 
32 32
         // Oxygen plugin
33
-		if ( defined( 'CT_VERSION' ) ) {
34
-			add_filter( 'wpinv_locate_template', array( $this, 'oxygen_override_template' ), 11, 4 );
35
-		}
33
+        if ( defined( 'CT_VERSION' ) ) {
34
+            add_filter( 'wpinv_locate_template', array( $this, 'oxygen_override_template' ), 11, 4 );
35
+        }
36 36
 
37 37
     }
38 38
 
39 39
     /**
40
-	 * Checks if this is a preview page
41
-	 *
42
-	 * @since 1.0.19
43
-	 * @return bool
44
-	 */
45
-	public function is_preview() {
40
+     * Checks if this is a preview page
41
+     *
42
+     * @since 1.0.19
43
+     * @return bool
44
+     */
45
+    public function is_preview() {
46 46
         return $this->is_divi_preview() ||
47 47
             $this->is_elementor_preview() ||
48 48
             $this->is_beaver_preview() ||
@@ -53,73 +53,73 @@  discard block
 block discarded – undo
53 53
     }
54 54
 
55 55
     /**
56
-	 * Checks if this is an elementor preview page
57
-	 *
58
-	 * @since 1.0.19
59
-	 * @return bool
60
-	 */
61
-	public function is_elementor_preview() {
62
-		return isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' );
63
-	}
64
-
65
-	/**
66
-	 * Checks if this is a DIVI preview page
67
-	 *
68
-	 * @since 1.0.19
69
-	 * @return bool
70
-	 */
71
-	public function is_divi_preview() {
72
-		return isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'et_pb' );
73
-	}
74
-
75
-	/**
76
-	 * Checks if this is a beaver builder preview page
77
-	 *
78
-	 * @since 1.0.19
79
-	 * @return bool
80
-	 */
81
-	public function is_beaver_preview() {
82
-		return isset( $_REQUEST['fl_builder'] );
83
-	}
84
-
85
-	/**
86
-	 * Checks if this is a siteorigin builder preview page
87
-	 *
88
-	 * @since 1.0.19
89
-	 * @return bool
90
-	 */
91
-	public function is_siteorigin_preview() {
92
-		return ! empty( $_REQUEST['siteorigin_panels_live_editor'] );
93
-	}
94
-
95
-	/**
96
-	 * Checks if this is a cornerstone builder preview page
97
-	 *
98
-	 * @since 1.0.19
99
-	 * @return bool
100
-	 */
101
-	public function is_cornerstone_preview() {
102
-		return ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint';
103
-	}
104
-
105
-	/**
106
-	 * Checks if this is a fusion builder preview page
107
-	 *
108
-	 * @since 1.0.19
109
-	 * @return bool
110
-	 */
111
-	public function is_fusion_preview() {
112
-		return ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] );
113
-	}
114
-
115
-	/**
116
-	 * Checks if this is an oxygen builder preview page
117
-	 *
118
-	 * @since 1.0.19
119
-	 * @return bool
120
-	 */
121
-	public function is_oxygen_preview() {
122
-		return ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === 'oxy_render_' || substr( $_REQUEST['action'], 0, 10 ) === 'ct_render_' ) );
56
+     * Checks if this is an elementor preview page
57
+     *
58
+     * @since 1.0.19
59
+     * @return bool
60
+     */
61
+    public function is_elementor_preview() {
62
+        return isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' );
63
+    }
64
+
65
+    /**
66
+     * Checks if this is a DIVI preview page
67
+     *
68
+     * @since 1.0.19
69
+     * @return bool
70
+     */
71
+    public function is_divi_preview() {
72
+        return isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'et_pb' );
73
+    }
74
+
75
+    /**
76
+     * Checks if this is a beaver builder preview page
77
+     *
78
+     * @since 1.0.19
79
+     * @return bool
80
+     */
81
+    public function is_beaver_preview() {
82
+        return isset( $_REQUEST['fl_builder'] );
83
+    }
84
+
85
+    /**
86
+     * Checks if this is a siteorigin builder preview page
87
+     *
88
+     * @since 1.0.19
89
+     * @return bool
90
+     */
91
+    public function is_siteorigin_preview() {
92
+        return ! empty( $_REQUEST['siteorigin_panels_live_editor'] );
93
+    }
94
+
95
+    /**
96
+     * Checks if this is a cornerstone builder preview page
97
+     *
98
+     * @since 1.0.19
99
+     * @return bool
100
+     */
101
+    public function is_cornerstone_preview() {
102
+        return ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint';
103
+    }
104
+
105
+    /**
106
+     * Checks if this is a fusion builder preview page
107
+     *
108
+     * @since 1.0.19
109
+     * @return bool
110
+     */
111
+    public function is_fusion_preview() {
112
+        return ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] );
113
+    }
114
+
115
+    /**
116
+     * Checks if this is an oxygen builder preview page
117
+     *
118
+     * @since 1.0.19
119
+     * @return bool
120
+     */
121
+    public function is_oxygen_preview() {
122
+        return ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === 'oxy_render_' || substr( $_REQUEST['action'], 0, 10 ) === 'ct_render_' ) );
123 123
     }
124 124
 
125 125
     /**
@@ -129,7 +129,7 @@  discard block
 block discarded – undo
129 129
      * @param string $template_path The template path relative to the theme's root dir. Defaults to 'invoicing'.
130 130
      * @param string $default_path The root path to the default template. Defaults to invoicing/templates
131 131
      */
132
-	public function locate_template( $template_name, $template_path = '', $default_path = '' ) {
132
+    public function locate_template( $template_name, $template_path = '', $default_path = '' ) {
133 133
 
134 134
         // Load the defaults for the template path and default path.
135 135
         $template_path = empty( $template_path ) ? 'invoicing' : $template_path;
@@ -150,22 +150,22 @@  discard block
 block discarded – undo
150 150
     }
151 151
 
152 152
     /**
153
-	 * Loads a template
154
-	 *
155
-	 * @since 1.0.19
156
-	 * @return bool
157
-	 */
158
-	protected function load_template( $template_name, $template_path, $args ) {
153
+     * Loads a template
154
+     *
155
+     * @since 1.0.19
156
+     * @return bool
157
+     */
158
+    protected function load_template( $template_name, $template_path, $args ) {
159 159
 
160 160
         if ( is_array( $args ) ) {
161 161
             extract( $args );
162 162
         }
163 163
 
164 164
         // Fires before loading a template.
165
-	    do_action( 'wpinv_before_template_part', $template_name, $template_path, $args );
165
+        do_action( 'wpinv_before_template_part', $template_name, $template_path, $args );
166 166
 
167 167
         // Load the template.
168
-	    include $template_path;
168
+        include $template_path;
169 169
 
170 170
         // Fires after loading a template.
171 171
         do_action( 'wpinv_after_template_part', $template_name, $template_path, $args );
@@ -182,7 +182,7 @@  discard block
 block discarded – undo
182 182
      * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'.
183 183
      * @param string $default_path The root path to the default template. Defaults to invoicing/templates
184 184
      */
185
-	public function display_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
185
+    public function display_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
186 186
 
187 187
         // Locate the template.
188 188
         $located = $this->locate_template( $template_name, $template_path, $default_path );
@@ -207,74 +207,74 @@  discard block
 block discarded – undo
207 207
      * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'.
208 208
      * @param string $default_path The root path to the default template. Defaults to invoicing/templates
209 209
      */
210
-	public function get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
210
+    public function get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
211 211
         ob_start();
212 212
         $this->display_template( $template_name, $args, $template_path, $default_path );
213 213
         return ob_get_clean();
214 214
     }
215 215
 
216 216
     /**
217
-	 * Get the geodirectory templates theme path.
218
-	 *
219
-	 *
220
-	 * @return string Template path.
221
-	 */
222
-	public static function get_theme_template_path() {
223
-		$template   = get_template();
224
-		$theme_root = get_theme_root( $template );
225
-
226
-		return $theme_root . '/' . $template . '/' . untrailingslashit( wpinv_get_theme_template_dir_name() );
227
-
228
-	}
229
-
230
-	/**
231
-	 * Oxygen locate theme template.
232
-	 *
233
-	 * @param string $template The template.
234
-	 * @return string The theme template.
235
-	 */
236
-	public static function oxygen_locate_template( $template ) {
237
-
238
-		if ( empty( $template ) ) {
239
-			return '';
240
-		}
241
-
242
-		$has_filter = has_filter( 'template', 'ct_oxygen_template_name' );
243
-
244
-		// Remove template filter
245
-		if ( $has_filter ) {
246
-			remove_filter( 'template', 'ct_oxygen_template_name' );
247
-		}
248
-
249
-		$template = self::get_theme_template_path() . '/' . $template;
250
-
251
-		if ( ! file_exists( $template ) ) {
252
-			$template = '';
253
-		}
254
-
255
-		// Add template filter
256
-		if ( $has_filter ) {
257
-			add_filter( 'template', 'ct_oxygen_template_name' );
258
-		}
259
-
260
-		return $template;
261
-	}
262
-
263
-	/**
264
-	 * Oxygen override theme template.
265
-	 *
266
-	 * @param string $located Located template.
267
-	 * @param string $template_name Template name.
268
-	 * @return string Located template.
269
-	 */
270
-	public function oxygen_override_template( $located, $template_name ) {
217
+     * Get the geodirectory templates theme path.
218
+     *
219
+     *
220
+     * @return string Template path.
221
+     */
222
+    public static function get_theme_template_path() {
223
+        $template   = get_template();
224
+        $theme_root = get_theme_root( $template );
225
+
226
+        return $theme_root . '/' . $template . '/' . untrailingslashit( wpinv_get_theme_template_dir_name() );
227
+
228
+    }
229
+
230
+    /**
231
+     * Oxygen locate theme template.
232
+     *
233
+     * @param string $template The template.
234
+     * @return string The theme template.
235
+     */
236
+    public static function oxygen_locate_template( $template ) {
237
+
238
+        if ( empty( $template ) ) {
239
+            return '';
240
+        }
241
+
242
+        $has_filter = has_filter( 'template', 'ct_oxygen_template_name' );
243
+
244
+        // Remove template filter
245
+        if ( $has_filter ) {
246
+            remove_filter( 'template', 'ct_oxygen_template_name' );
247
+        }
248
+
249
+        $template = self::get_theme_template_path() . '/' . $template;
250
+
251
+        if ( ! file_exists( $template ) ) {
252
+            $template = '';
253
+        }
254
+
255
+        // Add template filter
256
+        if ( $has_filter ) {
257
+            add_filter( 'template', 'ct_oxygen_template_name' );
258
+        }
259
+
260
+        return $template;
261
+    }
262
+
263
+    /**
264
+     * Oxygen override theme template.
265
+     *
266
+     * @param string $located Located template.
267
+     * @param string $template_name Template name.
268
+     * @return string Located template.
269
+     */
270
+    public function oxygen_override_template( $located, $template_name ) {
271 271
 
272 272
         $oxygen_overide = self::oxygen_locate_template( $template_name );
273
-		if ( ! empty( $oxygen_overide ) ) {
274
-			return $oxygen_overide;
275
-		}
273
+        if ( ! empty( $oxygen_overide ) ) {
274
+            return $oxygen_overide;
275
+        }
276 276
 
277
-		return $located;
278
-	}
277
+        return $located;
278
+    }
279 279
 
280 280
 }
Please login to merge, or discard this patch.
Spacing   +45 added lines, -45 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if (!defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
@@ -26,12 +26,12 @@  discard block
 block discarded – undo
26 26
 	 */
27 27
 	public function __construct() {
28 28
 
29
-        $this->templates_dir = apply_filters( 'getpaid_default_templates_dir', WPINV_PLUGIN_DIR . 'templates' );
30
-        $this->templates_url = apply_filters( 'getpaid_default_templates_url', WPINV_PLUGIN_URL . 'templates' );
29
+        $this->templates_dir = apply_filters('getpaid_default_templates_dir', WPINV_PLUGIN_DIR . 'templates');
30
+        $this->templates_url = apply_filters('getpaid_default_templates_url', WPINV_PLUGIN_URL . 'templates');
31 31
 
32 32
         // Oxygen plugin
33
-		if ( defined( 'CT_VERSION' ) ) {
34
-			add_filter( 'wpinv_locate_template', array( $this, 'oxygen_override_template' ), 11, 4 );
33
+		if (defined('CT_VERSION')) {
34
+			add_filter('wpinv_locate_template', array($this, 'oxygen_override_template'), 11, 4);
35 35
 		}
36 36
 
37 37
     }
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
 	 * @return bool
60 60
 	 */
61 61
 	public function is_elementor_preview() {
62
-		return isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' );
62
+		return isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax');
63 63
 	}
64 64
 
65 65
 	/**
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
 	 * @return bool
70 70
 	 */
71 71
 	public function is_divi_preview() {
72
-		return isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'et_pb' );
72
+		return isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'et_pb');
73 73
 	}
74 74
 
75 75
 	/**
@@ -79,7 +79,7 @@  discard block
 block discarded – undo
79 79
 	 * @return bool
80 80
 	 */
81 81
 	public function is_beaver_preview() {
82
-		return isset( $_REQUEST['fl_builder'] );
82
+		return isset($_REQUEST['fl_builder']);
83 83
 	}
84 84
 
85 85
 	/**
@@ -89,7 +89,7 @@  discard block
 block discarded – undo
89 89
 	 * @return bool
90 90
 	 */
91 91
 	public function is_siteorigin_preview() {
92
-		return ! empty( $_REQUEST['siteorigin_panels_live_editor'] );
92
+		return !empty($_REQUEST['siteorigin_panels_live_editor']);
93 93
 	}
94 94
 
95 95
 	/**
@@ -99,7 +99,7 @@  discard block
 block discarded – undo
99 99
 	 * @return bool
100 100
 	 */
101 101
 	public function is_cornerstone_preview() {
102
-		return ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint';
102
+		return !empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint';
103 103
 	}
104 104
 
105 105
 	/**
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
 	 * @return bool
110 110
 	 */
111 111
 	public function is_fusion_preview() {
112
-		return ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] );
112
+		return !empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce']);
113 113
 	}
114 114
 
115 115
 	/**
@@ -119,7 +119,7 @@  discard block
 block discarded – undo
119 119
 	 * @return bool
120 120
 	 */
121 121
 	public function is_oxygen_preview() {
122
-		return ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === 'oxy_render_' || substr( $_REQUEST['action'], 0, 10 ) === 'ct_render_' ) );
122
+		return !empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === 'oxy_render_' || substr($_REQUEST['action'], 0, 10) === 'ct_render_'));
123 123
     }
124 124
 
125 125
     /**
@@ -129,24 +129,24 @@  discard block
 block discarded – undo
129 129
      * @param string $template_path The template path relative to the theme's root dir. Defaults to 'invoicing'.
130 130
      * @param string $default_path The root path to the default template. Defaults to invoicing/templates
131 131
      */
132
-	public function locate_template( $template_name, $template_path = '', $default_path = '' ) {
132
+	public function locate_template($template_name, $template_path = '', $default_path = '') {
133 133
 
134 134
         // Load the defaults for the template path and default path.
135
-        $template_path = empty( $template_path ) ? 'invoicing' : $template_path;
136
-        $default_path  = empty( $default_path ) ? $this->templates_dir : $default_path;
137
-        $default_path  = apply_filters( 'getpaid_template_default_template_path', $default_path, $template_name );
135
+        $template_path = empty($template_path) ? 'invoicing' : $template_path;
136
+        $default_path  = empty($default_path) ? $this->templates_dir : $default_path;
137
+        $default_path  = apply_filters('getpaid_template_default_template_path', $default_path, $template_name);
138 138
 
139 139
         // Is it overidden?
140 140
         $template = locate_template(
141
-            array( trailingslashit( $template_path ) . $template_name, 'wpinv-' . $template_name )
141
+            array(trailingslashit($template_path) . $template_name, 'wpinv-' . $template_name)
142 142
         );
143 143
 
144 144
         // If not, load the default template.
145
-        if ( empty( $template ) ) {
146
-            $template = trailingslashit( $default_path ) . $template_name;
145
+        if (empty($template)) {
146
+            $template = trailingslashit($default_path) . $template_name;
147 147
         }
148 148
 
149
-        return apply_filters( 'wpinv_locate_template', $template, $template_name, $template_path, $default_path );
149
+        return apply_filters('wpinv_locate_template', $template, $template_name, $template_path, $default_path);
150 150
     }
151 151
 
152 152
     /**
@@ -155,20 +155,20 @@  discard block
 block discarded – undo
155 155
 	 * @since 1.0.19
156 156
 	 * @return bool
157 157
 	 */
158
-	protected function load_template( $template_name, $template_path, $args ) {
158
+	protected function load_template($template_name, $template_path, $args) {
159 159
 
160
-        if ( is_array( $args ) ) {
161
-            extract( $args );
160
+        if (is_array($args)) {
161
+            extract($args);
162 162
         }
163 163
 
164 164
         // Fires before loading a template.
165
-	    do_action( 'wpinv_before_template_part', $template_name, $template_path, $args );
165
+	    do_action('wpinv_before_template_part', $template_name, $template_path, $args);
166 166
 
167 167
         // Load the template.
168 168
 	    include $template_path;
169 169
 
170 170
         // Fires after loading a template.
171
-        do_action( 'wpinv_after_template_part', $template_name, $template_path, $args );
171
+        do_action('wpinv_after_template_part', $template_name, $template_path, $args);
172 172
 
173 173
     }
174 174
 
@@ -182,18 +182,18 @@  discard block
 block discarded – undo
182 182
      * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'.
183 183
      * @param string $default_path The root path to the default template. Defaults to invoicing/templates
184 184
      */
185
-	public function display_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
185
+	public function display_template($template_name, $args = array(), $template_path = '', $default_path = '') {
186 186
 
187 187
         // Locate the template.
188
-        $located = $this->locate_template( $template_name, $template_path, $default_path );
188
+        $located = $this->locate_template($template_name, $template_path, $default_path);
189 189
 
190 190
         // Abort if the file does not exist.
191
-        if ( ! file_exists( $located ) ) {
192
-            getpaid_doing_it_wrong( __METHOD__, sprintf( '<code>%s</code> does not exist.', $located ), '2.0.0' );
191
+        if (!file_exists($located)) {
192
+            getpaid_doing_it_wrong(__METHOD__, sprintf('<code>%s</code> does not exist.', $located), '2.0.0');
193 193
             return;
194 194
         }
195 195
 
196
-        $this->load_template( $template_name, $located, $args );
196
+        $this->load_template($template_name, $located, $args);
197 197
 
198 198
     }
199 199
 
@@ -207,9 +207,9 @@  discard block
 block discarded – undo
207 207
      * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'.
208 208
      * @param string $default_path The root path to the default template. Defaults to invoicing/templates
209 209
      */
210
-	public function get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
210
+	public function get_template($template_name, $args = array(), $template_path = '', $default_path = '') {
211 211
         ob_start();
212
-        $this->display_template( $template_name, $args, $template_path, $default_path );
212
+        $this->display_template($template_name, $args, $template_path, $default_path);
213 213
         return ob_get_clean();
214 214
     }
215 215
 
@@ -221,9 +221,9 @@  discard block
 block discarded – undo
221 221
 	 */
222 222
 	public static function get_theme_template_path() {
223 223
 		$template   = get_template();
224
-		$theme_root = get_theme_root( $template );
224
+		$theme_root = get_theme_root($template);
225 225
 
226
-		return $theme_root . '/' . $template . '/' . untrailingslashit( wpinv_get_theme_template_dir_name() );
226
+		return $theme_root . '/' . $template . '/' . untrailingslashit(wpinv_get_theme_template_dir_name());
227 227
 
228 228
 	}
229 229
 
@@ -233,28 +233,28 @@  discard block
 block discarded – undo
233 233
 	 * @param string $template The template.
234 234
 	 * @return string The theme template.
235 235
 	 */
236
-	public static function oxygen_locate_template( $template ) {
236
+	public static function oxygen_locate_template($template) {
237 237
 
238
-		if ( empty( $template ) ) {
238
+		if (empty($template)) {
239 239
 			return '';
240 240
 		}
241 241
 
242
-		$has_filter = has_filter( 'template', 'ct_oxygen_template_name' );
242
+		$has_filter = has_filter('template', 'ct_oxygen_template_name');
243 243
 
244 244
 		// Remove template filter
245
-		if ( $has_filter ) {
246
-			remove_filter( 'template', 'ct_oxygen_template_name' );
245
+		if ($has_filter) {
246
+			remove_filter('template', 'ct_oxygen_template_name');
247 247
 		}
248 248
 
249 249
 		$template = self::get_theme_template_path() . '/' . $template;
250 250
 
251
-		if ( ! file_exists( $template ) ) {
251
+		if (!file_exists($template)) {
252 252
 			$template = '';
253 253
 		}
254 254
 
255 255
 		// Add template filter
256
-		if ( $has_filter ) {
257
-			add_filter( 'template', 'ct_oxygen_template_name' );
256
+		if ($has_filter) {
257
+			add_filter('template', 'ct_oxygen_template_name');
258 258
 		}
259 259
 
260 260
 		return $template;
@@ -267,10 +267,10 @@  discard block
 block discarded – undo
267 267
 	 * @param string $template_name Template name.
268 268
 	 * @return string Located template.
269 269
 	 */
270
-	public function oxygen_override_template( $located, $template_name ) {
270
+	public function oxygen_override_template($located, $template_name) {
271 271
 
272
-        $oxygen_overide = self::oxygen_locate_template( $template_name );
273
-		if ( ! empty( $oxygen_overide ) ) {
272
+        $oxygen_overide = self::oxygen_locate_template($template_name);
273
+		if (!empty($oxygen_overide)) {
274 274
 			return $oxygen_overide;
275 275
 		}
276 276
 
Please login to merge, or discard this patch.
includes/class-wpinv-db.php 2 patches
Indentation   +232 added lines, -232 removed lines patch added patch discarded remove patch
@@ -7,237 +7,237 @@
 block discarded – undo
7 7
 
8 8
 abstract class Wpinv_DB {
9 9
 
10
-	/**
11
-	 * The name of our database table
12
-	 *
13
-	 * @access  public
14
-	 * @since   1.0.0
15
-	 */
16
-	public $table_name;
17
-
18
-	/**
19
-	 * The version of our database table
20
-	 *
21
-	 * @access  public
22
-	 * @since   1.0.0
23
-	 */
24
-	public $version;
25
-
26
-	/**
27
-	 * The name of the primary column
28
-	 *
29
-	 * @access  public
30
-	 * @since   1.0.0
31
-	 */
32
-	public $primary_key;
33
-
34
-	/**
35
-	 * Get things started
36
-	 *
37
-	 * @access  public
38
-	 * @since   1.0.0
39
-	 */
40
-	public function __construct() {}
41
-
42
-	/**
43
-	 * Whitelist of columns
44
-	 *
45
-	 * @access  public
46
-	 * @since   1.0.0
47
-	 * @return  array
48
-	 */
49
-	public function get_columns() {
50
-		return array();
51
-	}
52
-
53
-	/**
54
-	 * Default column values
55
-	 *
56
-	 * @access  public
57
-	 * @since   1.0.0
58
-	 * @return  array
59
-	 */
60
-	public function get_column_defaults() {
61
-		return array();
62
-	}
63
-
64
-	/**
65
-	 * Retrieve a row by the primary key
66
-	 *
67
-	 * @access  public
68
-	 * @since   1.0.0
69
-	 * @return  object
70
-	 */
71
-	public function get( $row_id ) {
72
-		global $wpdb;
73
-		return $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $this->table_name WHERE $this->primary_key = %s LIMIT 1;", $row_id ) );
74
-	}
75
-
76
-	/**
77
-	 * Retrieve a row by a specific column / value
78
-	 *
79
-	 * @access  public
80
-	 * @since   1.0.0
81
-	 * @return  object
82
-	 */
83
-	public function get_by( $column, $row_id ) {
84
-		global $wpdb;
85
-		$column = esc_sql( $column );
86
-		return $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $this->table_name WHERE $column = %s LIMIT 1;", $row_id ) );
87
-	}
88
-
89
-	/**
90
-	 * Retrieve a specific column's value by the primary key
91
-	 *
92
-	 * @access  public
93
-	 * @since   1.0.0
94
-	 * @return  string
95
-	 */
96
-	public function get_column( $column, $row_id ) {
97
-		global $wpdb;
98
-		$column = esc_sql( $column );
99
-		return $wpdb->get_var( $wpdb->prepare( "SELECT $column FROM $this->table_name WHERE $this->primary_key = %s LIMIT 1;", $row_id ) );
100
-	}
101
-
102
-	/**
103
-	 * Retrieve a specific column's value by the the specified column / value
104
-	 *
105
-	 * @access  public
106
-	 * @since   1.0.0
107
-	 * @return  string
108
-	 */
109
-	public function get_column_by( $column, $column_where, $column_value ) {
110
-		global $wpdb;
111
-		$column_where = esc_sql( $column_where );
112
-		$column       = esc_sql( $column );
113
-		return $wpdb->get_var( $wpdb->prepare( "SELECT $column FROM $this->table_name WHERE $column_where = %s LIMIT 1;", $column_value ) );
114
-	}
115
-
116
-	/**
117
-	 * Insert a new row
118
-	 *
119
-	 * @access  public
120
-	 * @since   1.0.0
121
-	 * @return  int
122
-	 */
123
-	public function insert( $data, $type = '' ) {
124
-		global $wpdb;
125
-
126
-		// Set default values
127
-		$data = wp_parse_args( $data, $this->get_column_defaults() );
128
-
129
-		do_action( 'wpinv_pre_insert_' . $type, $data );
130
-
131
-		// Initialise column format array
132
-		$column_formats = $this->get_columns();
133
-
134
-		// Force fields to lower case
135
-		$data = array_change_key_case( $data );
136
-
137
-		// White list columns
138
-		$data = array_intersect_key( $data, $column_formats );
139
-
140
-		// Reorder $column_formats to match the order of columns given in $data
141
-		$data_keys = array_keys( $data );
142
-		$column_formats = array_merge( array_flip( $data_keys ), $column_formats );
143
-
144
-		$wpdb->insert( $this->table_name, $data, $column_formats );
145
-		$wpdb_insert_id = $wpdb->insert_id;
146
-
147
-		do_action( 'wpinv_post_insert_' . $type, $wpdb_insert_id, $data );
148
-
149
-		return $wpdb_insert_id;
150
-	}
151
-
152
-	/**
153
-	 * Update a row
154
-	 *
155
-	 * @access  public
156
-	 * @since   1.0.0
157
-	 * @return  bool
158
-	 */
159
-	public function update( $row_id, $data = array(), $where = '' ) {
160
-
161
-		global $wpdb;
162
-
163
-		// Row ID must be positive integer
164
-		$row_id = absint( $row_id );
165
-
166
-		if ( empty( $row_id ) ) {
167
-			return false;
168
-		}
169
-
170
-		if ( empty( $where ) ) {
171
-			$where = $this->primary_key;
172
-		}
173
-
174
-		// Initialise column format array
175
-		$column_formats = $this->get_columns();
176
-
177
-		// Force fields to lower case
178
-		$data = array_change_key_case( $data );
179
-
180
-		// White list columns
181
-		$data = array_intersect_key( $data, $column_formats );
182
-
183
-		// Reorder $column_formats to match the order of columns given in $data
184
-		$data_keys = array_keys( $data );
185
-		$column_formats = array_merge( array_flip( $data_keys ), $column_formats );
186
-
187
-		if ( false === $wpdb->update( $this->table_name, $data, array( $where => $row_id ), $column_formats ) ) {
188
-			return false;
189
-		}
190
-
191
-		return true;
192
-	}
193
-
194
-	/**
195
-	 * Delete a row identified by the primary key
196
-	 *
197
-	 * @access  public
198
-	 * @since   1.0.0
199
-	 * @return  bool
200
-	 */
201
-	public function delete( $row_id = 0 ) {
202
-
203
-		global $wpdb;
204
-
205
-		// Row ID must be positive integer
206
-		$row_id = absint( $row_id );
207
-
208
-		if ( empty( $row_id ) ) {
209
-			return false;
210
-		}
211
-
212
-		if ( false === $wpdb->query( $wpdb->prepare( "DELETE FROM $this->table_name WHERE $this->primary_key = %d", $row_id ) ) ) {
213
-			return false;
214
-		}
215
-
216
-		return true;
217
-	}
218
-
219
-	/**
220
-	 * Check if the given table exists
221
-	 *
222
-	 * @since  2.4
223
-	 * @param  string $table The table name
224
-	 * @return bool          If the table name exists
225
-	 */
226
-	public function table_exists( $table ) {
227
-		global $wpdb;
228
-		$table = sanitize_text_field( $table );
229
-
230
-		return $wpdb->get_var( $wpdb->prepare( "SHOW TABLES LIKE '%s'", $table ) ) === $table;
231
-	}
232
-
233
-	/**
234
-	 * Check if the table was ever installed
235
-	 *
236
-	 * @since  2.4
237
-	 * @return bool Returns if the customers table was installed and upgrade routine run
238
-	 */
239
-	public function installed() {
240
-		return $this->table_exists( $this->table_name );
241
-	}
10
+    /**
11
+     * The name of our database table
12
+     *
13
+     * @access  public
14
+     * @since   1.0.0
15
+     */
16
+    public $table_name;
17
+
18
+    /**
19
+     * The version of our database table
20
+     *
21
+     * @access  public
22
+     * @since   1.0.0
23
+     */
24
+    public $version;
25
+
26
+    /**
27
+     * The name of the primary column
28
+     *
29
+     * @access  public
30
+     * @since   1.0.0
31
+     */
32
+    public $primary_key;
33
+
34
+    /**
35
+     * Get things started
36
+     *
37
+     * @access  public
38
+     * @since   1.0.0
39
+     */
40
+    public function __construct() {}
41
+
42
+    /**
43
+     * Whitelist of columns
44
+     *
45
+     * @access  public
46
+     * @since   1.0.0
47
+     * @return  array
48
+     */
49
+    public function get_columns() {
50
+        return array();
51
+    }
52
+
53
+    /**
54
+     * Default column values
55
+     *
56
+     * @access  public
57
+     * @since   1.0.0
58
+     * @return  array
59
+     */
60
+    public function get_column_defaults() {
61
+        return array();
62
+    }
63
+
64
+    /**
65
+     * Retrieve a row by the primary key
66
+     *
67
+     * @access  public
68
+     * @since   1.0.0
69
+     * @return  object
70
+     */
71
+    public function get( $row_id ) {
72
+        global $wpdb;
73
+        return $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $this->table_name WHERE $this->primary_key = %s LIMIT 1;", $row_id ) );
74
+    }
75
+
76
+    /**
77
+     * Retrieve a row by a specific column / value
78
+     *
79
+     * @access  public
80
+     * @since   1.0.0
81
+     * @return  object
82
+     */
83
+    public function get_by( $column, $row_id ) {
84
+        global $wpdb;
85
+        $column = esc_sql( $column );
86
+        return $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $this->table_name WHERE $column = %s LIMIT 1;", $row_id ) );
87
+    }
88
+
89
+    /**
90
+     * Retrieve a specific column's value by the primary key
91
+     *
92
+     * @access  public
93
+     * @since   1.0.0
94
+     * @return  string
95
+     */
96
+    public function get_column( $column, $row_id ) {
97
+        global $wpdb;
98
+        $column = esc_sql( $column );
99
+        return $wpdb->get_var( $wpdb->prepare( "SELECT $column FROM $this->table_name WHERE $this->primary_key = %s LIMIT 1;", $row_id ) );
100
+    }
101
+
102
+    /**
103
+     * Retrieve a specific column's value by the the specified column / value
104
+     *
105
+     * @access  public
106
+     * @since   1.0.0
107
+     * @return  string
108
+     */
109
+    public function get_column_by( $column, $column_where, $column_value ) {
110
+        global $wpdb;
111
+        $column_where = esc_sql( $column_where );
112
+        $column       = esc_sql( $column );
113
+        return $wpdb->get_var( $wpdb->prepare( "SELECT $column FROM $this->table_name WHERE $column_where = %s LIMIT 1;", $column_value ) );
114
+    }
115
+
116
+    /**
117
+     * Insert a new row
118
+     *
119
+     * @access  public
120
+     * @since   1.0.0
121
+     * @return  int
122
+     */
123
+    public function insert( $data, $type = '' ) {
124
+        global $wpdb;
125
+
126
+        // Set default values
127
+        $data = wp_parse_args( $data, $this->get_column_defaults() );
128
+
129
+        do_action( 'wpinv_pre_insert_' . $type, $data );
130
+
131
+        // Initialise column format array
132
+        $column_formats = $this->get_columns();
133
+
134
+        // Force fields to lower case
135
+        $data = array_change_key_case( $data );
136
+
137
+        // White list columns
138
+        $data = array_intersect_key( $data, $column_formats );
139
+
140
+        // Reorder $column_formats to match the order of columns given in $data
141
+        $data_keys = array_keys( $data );
142
+        $column_formats = array_merge( array_flip( $data_keys ), $column_formats );
143
+
144
+        $wpdb->insert( $this->table_name, $data, $column_formats );
145
+        $wpdb_insert_id = $wpdb->insert_id;
146
+
147
+        do_action( 'wpinv_post_insert_' . $type, $wpdb_insert_id, $data );
148
+
149
+        return $wpdb_insert_id;
150
+    }
151
+
152
+    /**
153
+     * Update a row
154
+     *
155
+     * @access  public
156
+     * @since   1.0.0
157
+     * @return  bool
158
+     */
159
+    public function update( $row_id, $data = array(), $where = '' ) {
160
+
161
+        global $wpdb;
162
+
163
+        // Row ID must be positive integer
164
+        $row_id = absint( $row_id );
165
+
166
+        if ( empty( $row_id ) ) {
167
+            return false;
168
+        }
169
+
170
+        if ( empty( $where ) ) {
171
+            $where = $this->primary_key;
172
+        }
173
+
174
+        // Initialise column format array
175
+        $column_formats = $this->get_columns();
176
+
177
+        // Force fields to lower case
178
+        $data = array_change_key_case( $data );
179
+
180
+        // White list columns
181
+        $data = array_intersect_key( $data, $column_formats );
182
+
183
+        // Reorder $column_formats to match the order of columns given in $data
184
+        $data_keys = array_keys( $data );
185
+        $column_formats = array_merge( array_flip( $data_keys ), $column_formats );
186
+
187
+        if ( false === $wpdb->update( $this->table_name, $data, array( $where => $row_id ), $column_formats ) ) {
188
+            return false;
189
+        }
190
+
191
+        return true;
192
+    }
193
+
194
+    /**
195
+     * Delete a row identified by the primary key
196
+     *
197
+     * @access  public
198
+     * @since   1.0.0
199
+     * @return  bool
200
+     */
201
+    public function delete( $row_id = 0 ) {
202
+
203
+        global $wpdb;
204
+
205
+        // Row ID must be positive integer
206
+        $row_id = absint( $row_id );
207
+
208
+        if ( empty( $row_id ) ) {
209
+            return false;
210
+        }
211
+
212
+        if ( false === $wpdb->query( $wpdb->prepare( "DELETE FROM $this->table_name WHERE $this->primary_key = %d", $row_id ) ) ) {
213
+            return false;
214
+        }
215
+
216
+        return true;
217
+    }
218
+
219
+    /**
220
+     * Check if the given table exists
221
+     *
222
+     * @since  2.4
223
+     * @param  string $table The table name
224
+     * @return bool          If the table name exists
225
+     */
226
+    public function table_exists( $table ) {
227
+        global $wpdb;
228
+        $table = sanitize_text_field( $table );
229
+
230
+        return $wpdb->get_var( $wpdb->prepare( "SHOW TABLES LIKE '%s'", $table ) ) === $table;
231
+    }
232
+
233
+    /**
234
+     * Check if the table was ever installed
235
+     *
236
+     * @since  2.4
237
+     * @return bool Returns if the customers table was installed and upgrade routine run
238
+     */
239
+    public function installed() {
240
+        return $this->table_exists( $this->table_name );
241
+    }
242 242
 
243 243
 }
Please login to merge, or discard this patch.
Spacing   +39 added lines, -39 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 // Exit if accessed directly
4
-if ( ! defined( 'ABSPATH' ) ) {
4
+if (!defined('ABSPATH')) {
5 5
 exit;
6 6
 }
7 7
 
@@ -68,9 +68,9 @@  discard block
 block discarded – undo
68 68
 	 * @since   1.0.0
69 69
 	 * @return  object
70 70
 	 */
71
-	public function get( $row_id ) {
71
+	public function get($row_id) {
72 72
 		global $wpdb;
73
-		return $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $this->table_name WHERE $this->primary_key = %s LIMIT 1;", $row_id ) );
73
+		return $wpdb->get_row($wpdb->prepare("SELECT * FROM $this->table_name WHERE $this->primary_key = %s LIMIT 1;", $row_id));
74 74
 	}
75 75
 
76 76
 	/**
@@ -80,10 +80,10 @@  discard block
 block discarded – undo
80 80
 	 * @since   1.0.0
81 81
 	 * @return  object
82 82
 	 */
83
-	public function get_by( $column, $row_id ) {
83
+	public function get_by($column, $row_id) {
84 84
 		global $wpdb;
85
-		$column = esc_sql( $column );
86
-		return $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $this->table_name WHERE $column = %s LIMIT 1;", $row_id ) );
85
+		$column = esc_sql($column);
86
+		return $wpdb->get_row($wpdb->prepare("SELECT * FROM $this->table_name WHERE $column = %s LIMIT 1;", $row_id));
87 87
 	}
88 88
 
89 89
 	/**
@@ -93,10 +93,10 @@  discard block
 block discarded – undo
93 93
 	 * @since   1.0.0
94 94
 	 * @return  string
95 95
 	 */
96
-	public function get_column( $column, $row_id ) {
96
+	public function get_column($column, $row_id) {
97 97
 		global $wpdb;
98
-		$column = esc_sql( $column );
99
-		return $wpdb->get_var( $wpdb->prepare( "SELECT $column FROM $this->table_name WHERE $this->primary_key = %s LIMIT 1;", $row_id ) );
98
+		$column = esc_sql($column);
99
+		return $wpdb->get_var($wpdb->prepare("SELECT $column FROM $this->table_name WHERE $this->primary_key = %s LIMIT 1;", $row_id));
100 100
 	}
101 101
 
102 102
 	/**
@@ -106,11 +106,11 @@  discard block
 block discarded – undo
106 106
 	 * @since   1.0.0
107 107
 	 * @return  string
108 108
 	 */
109
-	public function get_column_by( $column, $column_where, $column_value ) {
109
+	public function get_column_by($column, $column_where, $column_value) {
110 110
 		global $wpdb;
111
-		$column_where = esc_sql( $column_where );
112
-		$column       = esc_sql( $column );
113
-		return $wpdb->get_var( $wpdb->prepare( "SELECT $column FROM $this->table_name WHERE $column_where = %s LIMIT 1;", $column_value ) );
111
+		$column_where = esc_sql($column_where);
112
+		$column       = esc_sql($column);
113
+		return $wpdb->get_var($wpdb->prepare("SELECT $column FROM $this->table_name WHERE $column_where = %s LIMIT 1;", $column_value));
114 114
 	}
115 115
 
116 116
 	/**
@@ -120,31 +120,31 @@  discard block
 block discarded – undo
120 120
 	 * @since   1.0.0
121 121
 	 * @return  int
122 122
 	 */
123
-	public function insert( $data, $type = '' ) {
123
+	public function insert($data, $type = '') {
124 124
 		global $wpdb;
125 125
 
126 126
 		// Set default values
127
-		$data = wp_parse_args( $data, $this->get_column_defaults() );
127
+		$data = wp_parse_args($data, $this->get_column_defaults());
128 128
 
129
-		do_action( 'wpinv_pre_insert_' . $type, $data );
129
+		do_action('wpinv_pre_insert_' . $type, $data);
130 130
 
131 131
 		// Initialise column format array
132 132
 		$column_formats = $this->get_columns();
133 133
 
134 134
 		// Force fields to lower case
135
-		$data = array_change_key_case( $data );
135
+		$data = array_change_key_case($data);
136 136
 
137 137
 		// White list columns
138
-		$data = array_intersect_key( $data, $column_formats );
138
+		$data = array_intersect_key($data, $column_formats);
139 139
 
140 140
 		// Reorder $column_formats to match the order of columns given in $data
141
-		$data_keys = array_keys( $data );
142
-		$column_formats = array_merge( array_flip( $data_keys ), $column_formats );
141
+		$data_keys = array_keys($data);
142
+		$column_formats = array_merge(array_flip($data_keys), $column_formats);
143 143
 
144
-		$wpdb->insert( $this->table_name, $data, $column_formats );
144
+		$wpdb->insert($this->table_name, $data, $column_formats);
145 145
 		$wpdb_insert_id = $wpdb->insert_id;
146 146
 
147
-		do_action( 'wpinv_post_insert_' . $type, $wpdb_insert_id, $data );
147
+		do_action('wpinv_post_insert_' . $type, $wpdb_insert_id, $data);
148 148
 
149 149
 		return $wpdb_insert_id;
150 150
 	}
@@ -156,18 +156,18 @@  discard block
 block discarded – undo
156 156
 	 * @since   1.0.0
157 157
 	 * @return  bool
158 158
 	 */
159
-	public function update( $row_id, $data = array(), $where = '' ) {
159
+	public function update($row_id, $data = array(), $where = '') {
160 160
 
161 161
 		global $wpdb;
162 162
 
163 163
 		// Row ID must be positive integer
164
-		$row_id = absint( $row_id );
164
+		$row_id = absint($row_id);
165 165
 
166
-		if ( empty( $row_id ) ) {
166
+		if (empty($row_id)) {
167 167
 			return false;
168 168
 		}
169 169
 
170
-		if ( empty( $where ) ) {
170
+		if (empty($where)) {
171 171
 			$where = $this->primary_key;
172 172
 		}
173 173
 
@@ -175,16 +175,16 @@  discard block
 block discarded – undo
175 175
 		$column_formats = $this->get_columns();
176 176
 
177 177
 		// Force fields to lower case
178
-		$data = array_change_key_case( $data );
178
+		$data = array_change_key_case($data);
179 179
 
180 180
 		// White list columns
181
-		$data = array_intersect_key( $data, $column_formats );
181
+		$data = array_intersect_key($data, $column_formats);
182 182
 
183 183
 		// Reorder $column_formats to match the order of columns given in $data
184
-		$data_keys = array_keys( $data );
185
-		$column_formats = array_merge( array_flip( $data_keys ), $column_formats );
184
+		$data_keys = array_keys($data);
185
+		$column_formats = array_merge(array_flip($data_keys), $column_formats);
186 186
 
187
-		if ( false === $wpdb->update( $this->table_name, $data, array( $where => $row_id ), $column_formats ) ) {
187
+		if (false === $wpdb->update($this->table_name, $data, array($where => $row_id), $column_formats)) {
188 188
 			return false;
189 189
 		}
190 190
 
@@ -198,18 +198,18 @@  discard block
 block discarded – undo
198 198
 	 * @since   1.0.0
199 199
 	 * @return  bool
200 200
 	 */
201
-	public function delete( $row_id = 0 ) {
201
+	public function delete($row_id = 0) {
202 202
 
203 203
 		global $wpdb;
204 204
 
205 205
 		// Row ID must be positive integer
206
-		$row_id = absint( $row_id );
206
+		$row_id = absint($row_id);
207 207
 
208
-		if ( empty( $row_id ) ) {
208
+		if (empty($row_id)) {
209 209
 			return false;
210 210
 		}
211 211
 
212
-		if ( false === $wpdb->query( $wpdb->prepare( "DELETE FROM $this->table_name WHERE $this->primary_key = %d", $row_id ) ) ) {
212
+		if (false === $wpdb->query($wpdb->prepare("DELETE FROM $this->table_name WHERE $this->primary_key = %d", $row_id))) {
213 213
 			return false;
214 214
 		}
215 215
 
@@ -223,11 +223,11 @@  discard block
 block discarded – undo
223 223
 	 * @param  string $table The table name
224 224
 	 * @return bool          If the table name exists
225 225
 	 */
226
-	public function table_exists( $table ) {
226
+	public function table_exists($table) {
227 227
 		global $wpdb;
228
-		$table = sanitize_text_field( $table );
228
+		$table = sanitize_text_field($table);
229 229
 
230
-		return $wpdb->get_var( $wpdb->prepare( "SHOW TABLES LIKE '%s'", $table ) ) === $table;
230
+		return $wpdb->get_var($wpdb->prepare("SHOW TABLES LIKE '%s'", $table)) === $table;
231 231
 	}
232 232
 
233 233
 	/**
@@ -237,7 +237,7 @@  discard block
 block discarded – undo
237 237
 	 * @return bool Returns if the customers table was installed and upgrade routine run
238 238
 	 */
239 239
 	public function installed() {
240
-		return $this->table_exists( $this->table_name );
240
+		return $this->table_exists($this->table_name);
241 241
 	}
242 242
 
243 243
 }
Please login to merge, or discard this patch.
includes/class-getpaid-daily-maintenance.php 2 patches
Indentation   +137 added lines, -137 removed lines patch added patch discarded remove patch
@@ -12,144 +12,144 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Daily_Maintenance {
14 14
 
15
-	/**
16
-	 * Class constructor.
17
-	 */
18
-	public function __construct() {
19
-
20
-		// Clear deprecated events.
21
-		add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
22
-
23
-		// (Maybe) schedule a cron that runs daily.
24
-		add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
25
-
26
-		// Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
-		add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
-		add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
-		add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
32
-
33
-	}
34
-
35
-	/**
36
-	 * Schedules a cron to run every day at 7 a.m
37
-	 *
38
-	 */
39
-	public function maybe_create_scheduled_event() {
40
-
41
-		if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
-			$timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
-			wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
44
-		}
45
-
46
-	}
47
-
48
-	/**
49
-	 * Clears deprecated events.
50
-	 *
51
-	 */
52
-	public function maybe_clear_deprecated_events() {
53
-
54
-		if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
-			update_option( 'wpinv_cleared_old_events', 1 );
58
-		}
59
-
60
-	}
61
-
62
-	/**
63
-	 * Fires the old hook for backwards compatibility.
64
-	 *
65
-	 */
66
-	public function backwards_compat() {
67
-		do_action( 'wpinv_register_schedule_event_daily' );
68
-	}
69
-
70
-	/**
71
-	 * Checks for subscriptions that are scheduled to renew.
72
-	 *
73
-	 */
74
-	public function check_renewing_subscriptions() {
75
-
76
-		// Fetch subscriptions that expire today.
77
-		$args  = array(
78
-			'number'             => -1,
79
-			'count_total'        => false,
80
-			'status'             => 'trialling active',
81
-			'date_expires_query' => array(
82
-				array(
83
-					'year'    => date( 'Y', current_time( 'timestamp' ) ),
84
-					'month'   => date( 'n', current_time( 'timestamp' ) ),
85
-					'day'     => date( 'j', current_time( 'timestamp' ) ),
86
-					'compare' => '=',
87
-				),
88
-			),
89
-		);
90
-
91
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
92
-
93
-		foreach ( $subscriptions->get_results() as $subscription ) {
94
-
95
-			/** @var WPInv_Subscription $subscription */
96
-			if ( $subscription->is_last_renewal() ) {
97
-				$subscription->complete();
98
-			} else {
99
-				do_action( 'getpaid_should_renew_subscription', $subscription );
100
-			}
15
+    /**
16
+     * Class constructor.
17
+     */
18
+    public function __construct() {
19
+
20
+        // Clear deprecated events.
21
+        add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
22
+
23
+        // (Maybe) schedule a cron that runs daily.
24
+        add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
25
+
26
+        // Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
+        add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
+        add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
+        add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
+        add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
+        add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
32
+
33
+    }
34
+
35
+    /**
36
+     * Schedules a cron to run every day at 7 a.m
37
+     *
38
+     */
39
+    public function maybe_create_scheduled_event() {
40
+
41
+        if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
+            $timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
+            wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
44
+        }
45
+
46
+    }
47
+
48
+    /**
49
+     * Clears deprecated events.
50
+     *
51
+     */
52
+    public function maybe_clear_deprecated_events() {
53
+
54
+        if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
+            wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
+            wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
+            update_option( 'wpinv_cleared_old_events', 1 );
58
+        }
59
+
60
+    }
61
+
62
+    /**
63
+     * Fires the old hook for backwards compatibility.
64
+     *
65
+     */
66
+    public function backwards_compat() {
67
+        do_action( 'wpinv_register_schedule_event_daily' );
68
+    }
69
+
70
+    /**
71
+     * Checks for subscriptions that are scheduled to renew.
72
+     *
73
+     */
74
+    public function check_renewing_subscriptions() {
75
+
76
+        // Fetch subscriptions that expire today.
77
+        $args  = array(
78
+            'number'             => -1,
79
+            'count_total'        => false,
80
+            'status'             => 'trialling active',
81
+            'date_expires_query' => array(
82
+                array(
83
+                    'year'    => date( 'Y', current_time( 'timestamp' ) ),
84
+                    'month'   => date( 'n', current_time( 'timestamp' ) ),
85
+                    'day'     => date( 'j', current_time( 'timestamp' ) ),
86
+                    'compare' => '=',
87
+                ),
88
+            ),
89
+        );
90
+
91
+        $subscriptions = new GetPaid_Subscriptions_Query( $args );
92
+
93
+        foreach ( $subscriptions->get_results() as $subscription ) {
94
+
95
+            /** @var WPInv_Subscription $subscription */
96
+            if ( $subscription->is_last_renewal() ) {
97
+                $subscription->complete();
98
+            } else {
99
+                do_action( 'getpaid_should_renew_subscription', $subscription );
100
+            }
101 101
 }
102 102
 
103
-	}
104
-
105
-	/**
106
-	 * Expires expired subscriptions.
107
-	 *
108
-	 */
109
-	public function maybe_expire_subscriptions() {
110
-
111
-		// Fetch expired subscriptions (skips those that expire today).
112
-		$args  = array(
113
-			'number'             => -1,
114
-			'count_total'        => false,
115
-			'status'             => 'trialling active failing cancelled',
116
-			'date_expires_query' => array(
117
-				'before'    => 'yesterday',
118
-				'inclusive' => false,
119
-			),
120
-		);
121
-
122
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
123
-
124
-		foreach ( $subscriptions->get_results() as $subscription ) {
125
-			if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
126
-				$subscription->set_status( 'expired' );
127
-				$subscription->save();
128
-			}
129
-		}
130
-
131
-	}
132
-
133
-	/**
134
-	 * Logs cron runs.
135
-	 *
136
-	 */
137
-	public function log_cron_run() {
138
-		wpinv_error_log( 'GetPaid Daily Cron', false );
139
-	}
140
-
141
-	/**
142
-	 * Updates GeoIP databases.
143
-	 *
144
-	 */
145
-	public function maybe_update_geoip_databases() {
146
-		$updated = get_transient( 'getpaid_updated_geoip_databases' );
147
-
148
-		if ( false === $updated ) {
149
-			set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
150
-			do_action( 'getpaid_update_geoip_databases' );
151
-		}
152
-
153
-	}
103
+    }
104
+
105
+    /**
106
+     * Expires expired subscriptions.
107
+     *
108
+     */
109
+    public function maybe_expire_subscriptions() {
110
+
111
+        // Fetch expired subscriptions (skips those that expire today).
112
+        $args  = array(
113
+            'number'             => -1,
114
+            'count_total'        => false,
115
+            'status'             => 'trialling active failing cancelled',
116
+            'date_expires_query' => array(
117
+                'before'    => 'yesterday',
118
+                'inclusive' => false,
119
+            ),
120
+        );
121
+
122
+        $subscriptions = new GetPaid_Subscriptions_Query( $args );
123
+
124
+        foreach ( $subscriptions->get_results() as $subscription ) {
125
+            if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
126
+                $subscription->set_status( 'expired' );
127
+                $subscription->save();
128
+            }
129
+        }
130
+
131
+    }
132
+
133
+    /**
134
+     * Logs cron runs.
135
+     *
136
+     */
137
+    public function log_cron_run() {
138
+        wpinv_error_log( 'GetPaid Daily Cron', false );
139
+    }
140
+
141
+    /**
142
+     * Updates GeoIP databases.
143
+     *
144
+     */
145
+    public function maybe_update_geoip_databases() {
146
+        $updated = get_transient( 'getpaid_updated_geoip_databases' );
147
+
148
+        if ( false === $updated ) {
149
+            set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
150
+            do_action( 'getpaid_update_geoip_databases' );
151
+        }
152
+
153
+    }
154 154
 
155 155
 }
Please login to merge, or discard this patch.
Spacing   +34 added lines, -34 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * Daily maintenance class.
@@ -18,17 +18,17 @@  discard block
 block discarded – undo
18 18
 	public function __construct() {
19 19
 
20 20
 		// Clear deprecated events.
21
-		add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
21
+		add_action('wp', array($this, 'maybe_clear_deprecated_events'));
22 22
 
23 23
 		// (Maybe) schedule a cron that runs daily.
24
-		add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
24
+		add_action('wp', array($this, 'maybe_create_scheduled_event'));
25 25
 
26 26
 		// Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
-		add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
-		add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
-		add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
27
+		add_action('getpaid_daily_maintenance', array($this, 'log_cron_run'));
28
+		add_action('getpaid_daily_maintenance', array($this, 'backwards_compat'));
29
+		add_action('getpaid_daily_maintenance', array($this, 'maybe_expire_subscriptions'));
30
+		add_action('getpaid_daily_maintenance', array($this, 'check_renewing_subscriptions'));
31
+		add_action('getpaid_daily_maintenance', array($this, 'maybe_update_geoip_databases'));
32 32
 
33 33
 	}
34 34
 
@@ -38,9 +38,9 @@  discard block
 block discarded – undo
38 38
 	 */
39 39
 	public function maybe_create_scheduled_event() {
40 40
 
41
-		if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
-			$timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
-			wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
41
+		if (!wp_next_scheduled('getpaid_daily_maintenance')) {
42
+			$timestamp = strtotime('tomorrow 07:00:00', current_time('timestamp'));
43
+			wp_schedule_event($timestamp, 'daily', 'getpaid_daily_maintenance');
44 44
 		}
45 45
 
46 46
 	}
@@ -51,10 +51,10 @@  discard block
 block discarded – undo
51 51
 	 */
52 52
 	public function maybe_clear_deprecated_events() {
53 53
 
54
-		if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
-			update_option( 'wpinv_cleared_old_events', 1 );
54
+		if (!get_option('wpinv_cleared_old_events')) {
55
+			wp_clear_scheduled_hook('wpinv_register_schedule_event_twicedaily');
56
+			wp_clear_scheduled_hook('wpinv_register_schedule_event_daily');
57
+			update_option('wpinv_cleared_old_events', 1);
58 58
 		}
59 59
 
60 60
 	}
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 	 *
65 65
 	 */
66 66
 	public function backwards_compat() {
67
-		do_action( 'wpinv_register_schedule_event_daily' );
67
+		do_action('wpinv_register_schedule_event_daily');
68 68
 	}
69 69
 
70 70
 	/**
@@ -74,29 +74,29 @@  discard block
 block discarded – undo
74 74
 	public function check_renewing_subscriptions() {
75 75
 
76 76
 		// Fetch subscriptions that expire today.
77
-		$args  = array(
77
+		$args = array(
78 78
 			'number'             => -1,
79 79
 			'count_total'        => false,
80 80
 			'status'             => 'trialling active',
81 81
 			'date_expires_query' => array(
82 82
 				array(
83
-					'year'    => date( 'Y', current_time( 'timestamp' ) ),
84
-					'month'   => date( 'n', current_time( 'timestamp' ) ),
85
-					'day'     => date( 'j', current_time( 'timestamp' ) ),
83
+					'year'    => date('Y', current_time('timestamp')),
84
+					'month'   => date('n', current_time('timestamp')),
85
+					'day'     => date('j', current_time('timestamp')),
86 86
 					'compare' => '=',
87 87
 				),
88 88
 			),
89 89
 		);
90 90
 
91
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
91
+		$subscriptions = new GetPaid_Subscriptions_Query($args);
92 92
 
93
-		foreach ( $subscriptions->get_results() as $subscription ) {
93
+		foreach ($subscriptions->get_results() as $subscription) {
94 94
 
95 95
 			/** @var WPInv_Subscription $subscription */
96
-			if ( $subscription->is_last_renewal() ) {
96
+			if ($subscription->is_last_renewal()) {
97 97
 				$subscription->complete();
98 98
 			} else {
99
-				do_action( 'getpaid_should_renew_subscription', $subscription );
99
+				do_action('getpaid_should_renew_subscription', $subscription);
100 100
 			}
101 101
 }
102 102
 
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
 	public function maybe_expire_subscriptions() {
110 110
 
111 111
 		// Fetch expired subscriptions (skips those that expire today).
112
-		$args  = array(
112
+		$args = array(
113 113
 			'number'             => -1,
114 114
 			'count_total'        => false,
115 115
 			'status'             => 'trialling active failing cancelled',
@@ -119,11 +119,11 @@  discard block
 block discarded – undo
119 119
 			),
120 120
 		);
121 121
 
122
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
122
+		$subscriptions = new GetPaid_Subscriptions_Query($args);
123 123
 
124
-		foreach ( $subscriptions->get_results() as $subscription ) {
125
-			if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
126
-				$subscription->set_status( 'expired' );
124
+		foreach ($subscriptions->get_results() as $subscription) {
125
+			if (apply_filters('getpaid_daily_maintenance_should_expire_subscription', false, $subscription)) {
126
+				$subscription->set_status('expired');
127 127
 				$subscription->save();
128 128
 			}
129 129
 		}
@@ -135,7 +135,7 @@  discard block
 block discarded – undo
135 135
 	 *
136 136
 	 */
137 137
 	public function log_cron_run() {
138
-		wpinv_error_log( 'GetPaid Daily Cron', false );
138
+		wpinv_error_log('GetPaid Daily Cron', false);
139 139
 	}
140 140
 
141 141
 	/**
@@ -143,11 +143,11 @@  discard block
 block discarded – undo
143 143
 	 *
144 144
 	 */
145 145
 	public function maybe_update_geoip_databases() {
146
-		$updated = get_transient( 'getpaid_updated_geoip_databases' );
146
+		$updated = get_transient('getpaid_updated_geoip_databases');
147 147
 
148
-		if ( false === $updated ) {
149
-			set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
150
-			do_action( 'getpaid_update_geoip_databases' );
148
+		if (false === $updated) {
149
+			set_transient('getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS);
150
+			do_action('getpaid_update_geoip_databases');
151 151
 		}
152 152
 
153 153
 	}
Please login to merge, or discard this patch.
includes/invoice-functions.php 2 patches
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -67,7 +67,7 @@  discard block
 block discarded – undo
67 67
  * Checks if the current user cna view an invoice receipt.
68 68
  */
69 69
 function wpinv_can_view_receipt( $invoice ) {
70
-	return (bool) apply_filters( 'wpinv_can_view_receipt', wpinv_user_can_view_invoice( $invoice ), $invoice );
70
+    return (bool) apply_filters( 'wpinv_can_view_receipt', wpinv_user_can_view_invoice( $invoice ), $invoice );
71 71
 }
72 72
 
73 73
 /**
@@ -556,37 +556,37 @@  discard block
 block discarded – undo
556 556
     $label   = empty( $label ) ? __( 'Invoice', 'invoicing' ) : sanitize_text_field( $label );
557 557
     $columns = array(
558 558
 
559
-		'invoice-number'  => array(
560
-			'title' => $label,
561
-			'class' => 'text-left',
562
-		),
559
+        'invoice-number'  => array(
560
+            'title' => $label,
561
+            'class' => 'text-left',
562
+        ),
563 563
 
564
-		'created-date'    => array(
565
-			'title' => __( 'Created Date', 'invoicing' ),
566
-			'class' => 'text-left',
567
-		),
564
+        'created-date'    => array(
565
+            'title' => __( 'Created Date', 'invoicing' ),
566
+            'class' => 'text-left',
567
+        ),
568 568
 
569
-		'payment-date'    => array(
570
-			'title' => __( 'Payment Date', 'invoicing' ),
571
-			'class' => 'text-left',
572
-		),
569
+        'payment-date'    => array(
570
+            'title' => __( 'Payment Date', 'invoicing' ),
571
+            'class' => 'text-left',
572
+        ),
573 573
 
574
-		'invoice-status'  => array(
575
-			'title' => __( 'Status', 'invoicing' ),
576
-			'class' => 'text-center',
577
-		),
574
+        'invoice-status'  => array(
575
+            'title' => __( 'Status', 'invoicing' ),
576
+            'class' => 'text-center',
577
+        ),
578 578
 
579
-		'invoice-total'   => array(
580
-			'title' => __( 'Total', 'invoicing' ),
581
-			'class' => 'text-right',
582
-		),
579
+        'invoice-total'   => array(
580
+            'title' => __( 'Total', 'invoicing' ),
581
+            'class' => 'text-right',
582
+        ),
583 583
 
584
-		'invoice-actions' => array(
585
-			'title' => '&nbsp;',
586
-			'class' => 'text-center',
587
-		),
584
+        'invoice-actions' => array(
585
+            'title' => '&nbsp;',
586
+            'class' => 'text-center',
587
+        ),
588 588
 
589
-	);
589
+    );
590 590
 
591 591
     return apply_filters( 'wpinv_user_invoices_columns', $columns, $post_type );
592 592
 }
@@ -1274,22 +1274,22 @@  discard block
 block discarded – undo
1274 1274
  */
1275 1275
 function getpaid_get_invoice_status_classes() {
1276 1276
 
1277
-	return apply_filters(
1278
-		'getpaid_get_invoice_status_classes',
1279
-		array(
1277
+    return apply_filters(
1278
+        'getpaid_get_invoice_status_classes',
1279
+        array(
1280 1280
             'wpi-quote-declined' => 'badge-danger',
1281 1281
             'wpi-failed'         => 'badge-danger',
1282
-			'wpi-processing'     => 'badge-info',
1283
-			'wpi-onhold'         => 'badge-warning',
1284
-			'wpi-quote-accepted' => 'badge-success',
1285
-			'publish'            => 'badge-success',
1286
-			'wpi-renewal'        => 'badge-primary',
1282
+            'wpi-processing'     => 'badge-info',
1283
+            'wpi-onhold'         => 'badge-warning',
1284
+            'wpi-quote-accepted' => 'badge-success',
1285
+            'publish'            => 'badge-success',
1286
+            'wpi-renewal'        => 'badge-primary',
1287 1287
             'wpi-cancelled'      => 'badge-secondary',
1288 1288
             'wpi-pending'        => 'badge-dark',
1289 1289
             'wpi-quote-pending'  => 'badge-dark',
1290 1290
             'wpi-refunded'       => 'badge-secondary',
1291
-		)
1292
-	);
1291
+        )
1292
+    );
1293 1293
 
1294 1294
 }
1295 1295
 
@@ -1303,7 +1303,7 @@  discard block
 block discarded – undo
1303 1303
 function getpaid_get_invoice_tax_rate( $invoice, $item ) {
1304 1304
 
1305 1305
     $rates   = getpaid_get_item_tax_rates( $item, $invoice->get_country(), $invoice->get_state() );
1306
-	$rates   = getpaid_filter_item_tax_rates( $item, $rates );
1306
+    $rates   = getpaid_filter_item_tax_rates( $item, $rates );
1307 1307
     $rates   = wp_list_pluck( $rates, 'rate' );
1308 1308
 
1309 1309
     return array_sum( $rates );
Please login to merge, or discard this patch.
Spacing   +365 added lines, -365 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Retrieves the current invoice.
@@ -14,15 +14,15 @@  discard block
 block discarded – undo
14 14
 function getpaid_get_current_invoice_id() {
15 15
 
16 16
     // Ensure that we have an invoice key.
17
-    if ( empty( $_GET['invoice_key'] ) ) {
17
+    if (empty($_GET['invoice_key'])) {
18 18
         return 0;
19 19
     }
20 20
 
21 21
     // Retrieve an invoice using the key.
22
-    $invoice = new WPInv_Invoice( sanitize_text_field( $_GET['invoice_key'] ) );
22
+    $invoice = new WPInv_Invoice(sanitize_text_field($_GET['invoice_key']));
23 23
 
24 24
     // Compare the invoice key and the parsed key.
25
-    if ( $invoice->get_id() != 0 && $invoice->get_key() == sanitize_text_field( $_GET['invoice_key'] ) ) {
25
+    if ($invoice->get_id() != 0 && $invoice->get_key() == sanitize_text_field($_GET['invoice_key'])) {
26 26
         return $invoice->get_id();
27 27
     }
28 28
 
@@ -32,42 +32,42 @@  discard block
 block discarded – undo
32 32
 /**
33 33
  * Checks if the current user cna view an invoice.
34 34
  */
35
-function wpinv_user_can_view_invoice( $invoice ) {
36
-    $invoice = new WPInv_Invoice( $invoice );
35
+function wpinv_user_can_view_invoice($invoice) {
36
+    $invoice = new WPInv_Invoice($invoice);
37 37
 
38 38
     // Abort if the invoice does not exist.
39
-    if ( 0 == $invoice->get_id() ) {
39
+    if (0 == $invoice->get_id()) {
40 40
         return false;
41 41
     }
42 42
 
43 43
     // Don't allow trash, draft status
44
-    if ( $invoice->is_draft() ) {
44
+    if ($invoice->is_draft()) {
45 45
         return false;
46 46
     }
47 47
 
48 48
     // If users are not required to login to check out, compare the invoice keys.
49
-    if ( ! wpinv_require_login_to_checkout() && isset( $_GET['invoice_key'] ) && sanitize_text_field( $_GET['invoice_key'] ) == $invoice->get_key() ) {
49
+    if (!wpinv_require_login_to_checkout() && isset($_GET['invoice_key']) && sanitize_text_field($_GET['invoice_key']) == $invoice->get_key()) {
50 50
         return true;
51 51
     }
52 52
 
53 53
     // Always enable for admins..
54
-    if ( wpinv_current_user_can_manage_invoicing() || current_user_can( 'view_invoices', $invoice->get_id() ) ) { // Admin user
54
+    if (wpinv_current_user_can_manage_invoicing() || current_user_can('view_invoices', $invoice->get_id())) { // Admin user
55 55
         return true;
56 56
     }
57 57
 
58 58
     // Else, ensure that this is their invoice.
59
-    if ( is_user_logged_in() && $invoice->get_user_id() == get_current_user_id() ) {
59
+    if (is_user_logged_in() && $invoice->get_user_id() == get_current_user_id()) {
60 60
         return true;
61 61
     }
62 62
 
63
-    return apply_filters( 'wpinv_current_user_can_view_invoice', false, $invoice );
63
+    return apply_filters('wpinv_current_user_can_view_invoice', false, $invoice);
64 64
 }
65 65
 
66 66
 /**
67 67
  * Checks if the current user cna view an invoice receipt.
68 68
  */
69
-function wpinv_can_view_receipt( $invoice ) {
70
-	return (bool) apply_filters( 'wpinv_can_view_receipt', wpinv_user_can_view_invoice( $invoice ), $invoice );
69
+function wpinv_can_view_receipt($invoice) {
70
+	return (bool) apply_filters('wpinv_can_view_receipt', wpinv_user_can_view_invoice($invoice), $invoice);
71 71
 }
72 72
 
73 73
 /**
@@ -77,16 +77,16 @@  discard block
 block discarded – undo
77 77
  */
78 78
 function getpaid_get_invoice_post_types() {
79 79
     $post_types = array(
80
-        'wpi_quote'   => __( 'Quote', 'invoicing' ),
81
-        'wpi_invoice' => __( 'Invoice', 'invoicing' ),
80
+        'wpi_quote'   => __('Quote', 'invoicing'),
81
+        'wpi_invoice' => __('Invoice', 'invoicing'),
82 82
     );
83 83
 
84 84
     // Ensure the quotes addon is installed.
85
-    if ( ! defined( 'WPINV_QUOTES_VERSION' ) ) {
86
-        unset( $post_types['wpi_quote'] );
85
+    if (!defined('WPINV_QUOTES_VERSION')) {
86
+        unset($post_types['wpi_quote']);
87 87
     }
88 88
 
89
-    return apply_filters( 'getpaid_invoice_post_types', $post_types );
89
+    return apply_filters('getpaid_invoice_post_types', $post_types);
90 90
 }
91 91
 
92 92
 /**
@@ -95,8 +95,8 @@  discard block
 block discarded – undo
95 95
  *
96 96
  * @param string $post_type The post type to check for.
97 97
  */
98
-function getpaid_is_invoice_post_type( $post_type ) {
99
-    return is_scalar( $post_type ) && ! empty( $post_type ) && array_key_exists( $post_type, getpaid_get_invoice_post_types() );
98
+function getpaid_is_invoice_post_type($post_type) {
99
+    return is_scalar($post_type) && !empty($post_type) && array_key_exists($post_type, getpaid_get_invoice_post_types());
100 100
 }
101 101
 
102 102
 /**
@@ -106,9 +106,9 @@  discard block
 block discarded – undo
106 106
  * @param  bool  $wp_error       Whether to return false or WP_Error on failure.
107 107
  * @return int|WP_Error|WPInv_Invoice The value 0 or WP_Error on failure. The WPInv_Invoice object on success.
108 108
  */
109
-function wpinv_create_invoice( $data = array(), $deprecated = null, $wp_error = false ) {
109
+function wpinv_create_invoice($data = array(), $deprecated = null, $wp_error = false) {
110 110
     $data['invoice_id'] = 0;
111
-    return wpinv_insert_invoice( $data, $wp_error );
111
+    return wpinv_insert_invoice($data, $wp_error);
112 112
 }
113 113
 
114 114
 /**
@@ -118,35 +118,35 @@  discard block
 block discarded – undo
118 118
  * @param  bool  $wp_error       Whether to return false or WP_Error on failure.
119 119
  * @return int|WP_Error|WPInv_Invoice The value 0 or WP_Error on failure. The WPInv_Invoice object on success.
120 120
  */
121
-function wpinv_update_invoice( $data = array(), $wp_error = false ) {
121
+function wpinv_update_invoice($data = array(), $wp_error = false) {
122 122
 
123 123
     // Backwards compatibility.
124
-    if ( ! empty( $data['ID'] ) ) {
124
+    if (!empty($data['ID'])) {
125 125
         $data['invoice_id'] = $data['ID'];
126 126
     }
127 127
 
128 128
     // Do we have an invoice id?
129
-    if ( empty( $data['invoice_id'] ) ) {
130
-        return $wp_error ? new WP_Error( 'invalid_invoice_id', __( 'Invalid invoice ID.', 'invoicing' ) ) : 0;
129
+    if (empty($data['invoice_id'])) {
130
+        return $wp_error ? new WP_Error('invalid_invoice_id', __('Invalid invoice ID.', 'invoicing')) : 0;
131 131
     }
132 132
 
133 133
     // Retrieve the invoice.
134
-    $invoice = wpinv_get_invoice( $data['invoice_id'] );
134
+    $invoice = wpinv_get_invoice($data['invoice_id']);
135 135
 
136 136
     // And abort if it does not exist.
137
-    if ( empty( $invoice ) ) {
138
-        return $wp_error ? new WP_Error( 'missing_invoice', __( 'Invoice not found.', 'invoicing' ) ) : 0;
137
+    if (empty($invoice)) {
138
+        return $wp_error ? new WP_Error('missing_invoice', __('Invoice not found.', 'invoicing')) : 0;
139 139
     }
140 140
 
141 141
     // Do not update totals for paid / refunded invoices.
142
-    if ( $invoice->is_paid() || $invoice->is_refunded() ) {
142
+    if ($invoice->is_paid() || $invoice->is_refunded()) {
143 143
 
144
-        if ( ! empty( $data['items'] ) || ! empty( $data['cart_details'] ) ) {
145
-            return $wp_error ? new WP_Error( 'paid_invoice', __( 'You can not update cart items for invoices that have already been paid for.', 'invoicing' ) ) : 0;
144
+        if (!empty($data['items']) || !empty($data['cart_details'])) {
145
+            return $wp_error ? new WP_Error('paid_invoice', __('You can not update cart items for invoices that have already been paid for.', 'invoicing')) : 0;
146 146
         }
147 147
 }
148 148
 
149
-    return wpinv_insert_invoice( $data, $wp_error );
149
+    return wpinv_insert_invoice($data, $wp_error);
150 150
 
151 151
 }
152 152
 
@@ -157,62 +157,62 @@  discard block
 block discarded – undo
157 157
  * @param  bool  $wp_error       Whether to return false or WP_Error on failure.
158 158
  * @return int|WP_Error|WPInv_Invoice The value 0 or WP_Error on failure. The WPInv_Invoice object on success.
159 159
  */
160
-function wpinv_insert_invoice( $data = array(), $wp_error = false ) {
160
+function wpinv_insert_invoice($data = array(), $wp_error = false) {
161 161
 
162 162
     // Ensure that we have invoice data.
163
-    if ( empty( $data ) ) {
163
+    if (empty($data)) {
164 164
         return false;
165 165
     }
166 166
 
167 167
     // The invoice id will be provided when updating an invoice.
168
-    $data['invoice_id'] = ! empty( $data['invoice_id'] ) ? (int) $data['invoice_id'] : false;
168
+    $data['invoice_id'] = !empty($data['invoice_id']) ? (int) $data['invoice_id'] : false;
169 169
 
170 170
     // Retrieve the invoice.
171
-    $invoice = new WPInv_Invoice( $data['invoice_id'] );
171
+    $invoice = new WPInv_Invoice($data['invoice_id']);
172 172
 
173 173
     // Do we have an error?
174
-    if ( ! empty( $invoice->last_error ) ) {
175
-        return $wp_error ? new WP_Error( 'invalid_invoice_id', $invoice->last_error ) : 0;
174
+    if (!empty($invoice->last_error)) {
175
+        return $wp_error ? new WP_Error('invalid_invoice_id', $invoice->last_error) : 0;
176 176
     }
177 177
 
178 178
     // Backwards compatibility (billing address).
179
-    if ( ! empty( $data['user_info'] ) ) {
179
+    if (!empty($data['user_info'])) {
180 180
 
181
-        foreach ( $data['user_info'] as $key => $value ) {
181
+        foreach ($data['user_info'] as $key => $value) {
182 182
 
183
-            if ( $key == 'discounts' ) {
183
+            if ($key == 'discounts') {
184 184
                 $value = (array) $value;
185
-                $data['discount_code'] = empty( $value ) ? null : $value[0];
185
+                $data['discount_code'] = empty($value) ? null : $value[0];
186 186
             } else {
187
-                $data[ $key ] = $value;
187
+                $data[$key] = $value;
188 188
             }
189 189
 }
190 190
 }
191 191
 
192 192
     // Backwards compatibility.
193
-    if ( ! empty( $data['payment_details'] ) ) {
193
+    if (!empty($data['payment_details'])) {
194 194
 
195
-        foreach ( $data['payment_details'] as $key => $value ) {
196
-            $data[ $key ] = $value;
195
+        foreach ($data['payment_details'] as $key => $value) {
196
+            $data[$key] = $value;
197 197
         }
198 198
 }
199 199
 
200 200
     // Set up the owner of the invoice.
201
-    $user_id = ! empty( $data['user_id'] ) ? wpinv_clean( $data['user_id'] ) : get_current_user_id();
201
+    $user_id = !empty($data['user_id']) ? wpinv_clean($data['user_id']) : get_current_user_id();
202 202
 
203 203
     // Make sure the user exists.
204
-    if ( ! get_userdata( $user_id ) ) {
205
-        return $wp_error ? new WP_Error( 'wpinv_invalid_user', __( 'There is no user with that ID.', 'invoicing' ) ) : 0;
204
+    if (!get_userdata($user_id)) {
205
+        return $wp_error ? new WP_Error('wpinv_invalid_user', __('There is no user with that ID.', 'invoicing')) : 0;
206 206
     }
207 207
 
208
-    $address = wpinv_get_user_address( $user_id );
208
+    $address = wpinv_get_user_address($user_id);
209 209
 
210
-    foreach ( $address as $key => $value ) {
210
+    foreach ($address as $key => $value) {
211 211
 
212
-        if ( $value == '' ) {
213
-            $address[ $key ] = null;
212
+        if ($value == '') {
213
+            $address[$key] = null;
214 214
         } else {
215
-            $address[ $key ] = wpinv_clean( $value );
215
+            $address[$key] = wpinv_clean($value);
216 216
         }
217 217
 }
218 218
 
@@ -221,101 +221,101 @@  discard block
 block discarded – undo
221 221
         array(
222 222
 
223 223
             // Basic info.
224
-            'template'          => isset( $data['template'] ) ? wpinv_clean( $data['template'] ) : null,
225
-            'email_cc'          => isset( $data['email_cc'] ) ? wpinv_clean( $data['email_cc'] ) : null,
226
-            'date_created'      => isset( $data['created_date'] ) ? wpinv_clean( $data['created_date'] ) : null,
227
-            'due_date'          => isset( $data['due_date'] ) ? wpinv_clean( $data['due_date'] ) : null,
228
-            'date_completed'    => isset( $data['date_completed'] ) ? wpinv_clean( $data['date_completed'] ) : null,
229
-            'number'            => isset( $data['number'] ) ? wpinv_clean( $data['number'] ) : null,
230
-            'key'               => isset( $data['key'] ) ? wpinv_clean( $data['key'] ) : null,
231
-            'status'            => isset( $data['status'] ) ? wpinv_clean( $data['status'] ) : null,
232
-            'post_type'         => isset( $data['post_type'] ) ? wpinv_clean( $data['post_type'] ) : null,
233
-            'user_ip'           => isset( $data['ip'] ) ? wpinv_clean( $data['ip'] ) : wpinv_get_ip(),
234
-            'parent_id'         => isset( $data['parent'] ) ? intval( $data['parent'] ) : null,
235
-            'mode'              => isset( $data['mode'] ) ? wpinv_clean( $data['mode'] ) : null,
236
-            'description'       => isset( $data['description'] ) ? wp_kses_post( $data['description'] ) : null,
224
+            'template'          => isset($data['template']) ? wpinv_clean($data['template']) : null,
225
+            'email_cc'          => isset($data['email_cc']) ? wpinv_clean($data['email_cc']) : null,
226
+            'date_created'      => isset($data['created_date']) ? wpinv_clean($data['created_date']) : null,
227
+            'due_date'          => isset($data['due_date']) ? wpinv_clean($data['due_date']) : null,
228
+            'date_completed'    => isset($data['date_completed']) ? wpinv_clean($data['date_completed']) : null,
229
+            'number'            => isset($data['number']) ? wpinv_clean($data['number']) : null,
230
+            'key'               => isset($data['key']) ? wpinv_clean($data['key']) : null,
231
+            'status'            => isset($data['status']) ? wpinv_clean($data['status']) : null,
232
+            'post_type'         => isset($data['post_type']) ? wpinv_clean($data['post_type']) : null,
233
+            'user_ip'           => isset($data['ip']) ? wpinv_clean($data['ip']) : wpinv_get_ip(),
234
+            'parent_id'         => isset($data['parent']) ? intval($data['parent']) : null,
235
+            'mode'              => isset($data['mode']) ? wpinv_clean($data['mode']) : null,
236
+            'description'       => isset($data['description']) ? wp_kses_post($data['description']) : null,
237 237
 
238 238
             // Payment info.
239
-            'disable_taxes'     => ! empty( $data['disable_taxes'] ),
240
-            'currency'          => isset( $data['currency'] ) ? wpinv_clean( $data['currency'] ) : wpinv_get_currency(),
241
-            'gateway'           => isset( $data['gateway'] ) ? wpinv_clean( $data['gateway'] ) : null,
242
-            'transaction_id'    => isset( $data['transaction_id'] ) ? wpinv_clean( $data['transaction_id'] ) : null,
243
-            'discount_code'     => isset( $data['discount_code'] ) ? wpinv_clean( $data['discount_code'] ) : null,
244
-            'payment_form'      => isset( $data['payment_form'] ) ? intval( $data['payment_form'] ) : null,
245
-            'submission_id'     => isset( $data['submission_id'] ) ? wpinv_clean( $data['submission_id'] ) : null,
246
-            'subscription_id'   => isset( $data['subscription_id'] ) ? wpinv_clean( $data['subscription_id'] ) : null,
247
-            'is_viewed'         => isset( $data['is_viewed'] ) ? wpinv_clean( $data['is_viewed'] ) : null,
248
-            'fees'              => isset( $data['fees'] ) ? wpinv_clean( $data['fees'] ) : null,
249
-            'discounts'         => isset( $data['discounts'] ) ? wpinv_clean( $data['discounts'] ) : null,
250
-            'taxes'             => isset( $data['taxes'] ) ? wpinv_clean( $data['taxes'] ) : null,
239
+            'disable_taxes'     => !empty($data['disable_taxes']),
240
+            'currency'          => isset($data['currency']) ? wpinv_clean($data['currency']) : wpinv_get_currency(),
241
+            'gateway'           => isset($data['gateway']) ? wpinv_clean($data['gateway']) : null,
242
+            'transaction_id'    => isset($data['transaction_id']) ? wpinv_clean($data['transaction_id']) : null,
243
+            'discount_code'     => isset($data['discount_code']) ? wpinv_clean($data['discount_code']) : null,
244
+            'payment_form'      => isset($data['payment_form']) ? intval($data['payment_form']) : null,
245
+            'submission_id'     => isset($data['submission_id']) ? wpinv_clean($data['submission_id']) : null,
246
+            'subscription_id'   => isset($data['subscription_id']) ? wpinv_clean($data['subscription_id']) : null,
247
+            'is_viewed'         => isset($data['is_viewed']) ? wpinv_clean($data['is_viewed']) : null,
248
+            'fees'              => isset($data['fees']) ? wpinv_clean($data['fees']) : null,
249
+            'discounts'         => isset($data['discounts']) ? wpinv_clean($data['discounts']) : null,
250
+            'taxes'             => isset($data['taxes']) ? wpinv_clean($data['taxes']) : null,
251 251
 
252 252
             // Billing details.
253 253
             'user_id'           => $data['user_id'],
254
-            'first_name'        => isset( $data['first_name'] ) ? wpinv_clean( $data['first_name'] ) : $address['first_name'],
255
-            'last_name'         => isset( $data['last_name'] ) ? wpinv_clean( $data['last_name'] ) : $address['last_name'],
256
-            'address'           => isset( $data['address'] ) ? wpinv_clean( $data['address'] ) : $address['address'],
257
-            'vat_number'        => isset( $data['vat_number'] ) ? wpinv_clean( $data['vat_number'] ) : $address['vat_number'],
258
-            'company'           => isset( $data['company'] ) ? wpinv_clean( $data['company'] ) : $address['company'],
259
-            'zip'               => isset( $data['zip'] ) ? wpinv_clean( $data['zip'] ) : $address['zip'],
260
-            'state'             => isset( $data['state'] ) ? wpinv_clean( $data['state'] ) : $address['state'],
261
-            'city'              => isset( $data['city'] ) ? wpinv_clean( $data['city'] ) : $address['city'],
262
-            'country'           => isset( $data['country'] ) ? wpinv_clean( $data['country'] ) : $address['country'],
263
-            'phone'             => isset( $data['phone'] ) ? wpinv_clean( $data['phone'] ) : $address['phone'],
264
-            'address_confirmed' => ! empty( $data['address_confirmed'] ),
254
+            'first_name'        => isset($data['first_name']) ? wpinv_clean($data['first_name']) : $address['first_name'],
255
+            'last_name'         => isset($data['last_name']) ? wpinv_clean($data['last_name']) : $address['last_name'],
256
+            'address'           => isset($data['address']) ? wpinv_clean($data['address']) : $address['address'],
257
+            'vat_number'        => isset($data['vat_number']) ? wpinv_clean($data['vat_number']) : $address['vat_number'],
258
+            'company'           => isset($data['company']) ? wpinv_clean($data['company']) : $address['company'],
259
+            'zip'               => isset($data['zip']) ? wpinv_clean($data['zip']) : $address['zip'],
260
+            'state'             => isset($data['state']) ? wpinv_clean($data['state']) : $address['state'],
261
+            'city'              => isset($data['city']) ? wpinv_clean($data['city']) : $address['city'],
262
+            'country'           => isset($data['country']) ? wpinv_clean($data['country']) : $address['country'],
263
+            'phone'             => isset($data['phone']) ? wpinv_clean($data['phone']) : $address['phone'],
264
+            'address_confirmed' => !empty($data['address_confirmed']),
265 265
 
266 266
         )
267 267
     );
268 268
 
269 269
     // Backwards compatibililty.
270
-    if ( ! empty( $data['cart_details'] ) && is_array( $data['cart_details'] ) ) {
270
+    if (!empty($data['cart_details']) && is_array($data['cart_details'])) {
271 271
         $data['items'] = array();
272 272
 
273
-        foreach ( $data['cart_details'] as $_item ) {
273
+        foreach ($data['cart_details'] as $_item) {
274 274
 
275 275
             // Ensure that we have an item id.
276
-            if ( empty( $_item['id'] ) ) {
276
+            if (empty($_item['id'])) {
277 277
                 continue;
278 278
             }
279 279
 
280 280
             // Retrieve the item.
281
-            $item = new GetPaid_Form_Item( $_item['id'] );
281
+            $item = new GetPaid_Form_Item($_item['id']);
282 282
 
283 283
             // Ensure that it is purchasable.
284
-            if ( ! $item->can_purchase() ) {
284
+            if (!$item->can_purchase()) {
285 285
                 continue;
286 286
             }
287 287
 
288 288
             // Set quantity.
289
-            if ( ! empty( $_item['quantity'] ) && is_numeric( $_item['quantity'] ) ) {
290
-                $item->set_quantity( $_item['quantity'] );
289
+            if (!empty($_item['quantity']) && is_numeric($_item['quantity'])) {
290
+                $item->set_quantity($_item['quantity']);
291 291
             }
292 292
 
293 293
             // Set price.
294
-            if ( isset( $_item['item_price'] ) ) {
295
-                $item->set_price( $_item['item_price'] );
294
+            if (isset($_item['item_price'])) {
295
+                $item->set_price($_item['item_price']);
296 296
             }
297 297
 
298
-            if ( isset( $_item['custom_price'] ) ) {
299
-                $item->set_price( $_item['custom_price'] );
298
+            if (isset($_item['custom_price'])) {
299
+                $item->set_price($_item['custom_price']);
300 300
             }
301 301
 
302 302
             // Set name.
303
-            if ( ! empty( $_item['name'] ) ) {
304
-                $item->set_name( $_item['name'] );
303
+            if (!empty($_item['name'])) {
304
+                $item->set_name($_item['name']);
305 305
             }
306 306
 
307 307
             // Set description.
308
-            if ( isset( $_item['description'] ) ) {
309
-                $item->set_custom_description( $_item['description'] );
308
+            if (isset($_item['description'])) {
309
+                $item->set_custom_description($_item['description']);
310 310
             }
311 311
 
312 312
             // Set meta.
313
-            if ( isset( $_item['meta'] ) && is_array( $_item['meta'] ) ) {
313
+            if (isset($_item['meta']) && is_array($_item['meta'])) {
314 314
 
315
-                $item->set_item_meta( $_item['meta'] );
315
+                $item->set_item_meta($_item['meta']);
316 316
 
317
-                if ( isset( $_item['meta']['description'] ) ) {
318
-                    $item->set_custom_description( $_item['meta']['description'] );
317
+                if (isset($_item['meta']['description'])) {
318
+                    $item->set_custom_description($_item['meta']['description']);
319 319
                 }
320 320
             }
321 321
 
@@ -325,14 +325,14 @@  discard block
 block discarded – undo
325 325
     }
326 326
 
327 327
     // Add invoice items.
328
-    if ( ! empty( $data['items'] ) && is_array( $data['items'] ) ) {
328
+    if (!empty($data['items']) && is_array($data['items'])) {
329 329
 
330
-        $invoice->set_items( array() );
330
+        $invoice->set_items(array());
331 331
 
332
-        foreach ( $data['items'] as $item ) {
332
+        foreach ($data['items'] as $item) {
333 333
 
334
-            if ( is_object( $item ) && is_a( $item, 'GetPaid_Form_Item' ) && $item->can_purchase() ) {
335
-                $invoice->add_item( $item );
334
+            if (is_object($item) && is_a($item, 'GetPaid_Form_Item') && $item->can_purchase()) {
335
+                $invoice->add_item($item);
336 336
             }
337 337
 }
338 338
 }
@@ -341,30 +341,30 @@  discard block
 block discarded – undo
341 341
     $invoice->recalculate_total();
342 342
     $invoice->save();
343 343
 
344
-    if ( ! $invoice->get_id() ) {
345
-        return $wp_error ? new WP_Error( 'wpinv_insert_invoice_error', __( 'An error occured when saving your invoice.', 'invoicing' ) ) : 0;
344
+    if (!$invoice->get_id()) {
345
+        return $wp_error ? new WP_Error('wpinv_insert_invoice_error', __('An error occured when saving your invoice.', 'invoicing')) : 0;
346 346
     }
347 347
 
348 348
     // Add private note.
349
-    if ( ! empty( $data['private_note'] ) ) {
350
-        $invoice->add_note( $data['private_note'] );
349
+    if (!empty($data['private_note'])) {
350
+        $invoice->add_note($data['private_note']);
351 351
     }
352 352
 
353 353
     // User notes.
354
-    if ( ! empty( $data['user_note'] ) ) {
355
-        $invoice->add_note( $data['user_note'], true );
354
+    if (!empty($data['user_note'])) {
355
+        $invoice->add_note($data['user_note'], true);
356 356
     }
357 357
 
358 358
     // Created via.
359
-    if ( isset( $data['created_via'] ) ) {
360
-        update_post_meta( $invoice->get_id(), 'wpinv_created_via', $data['created_via'] );
359
+    if (isset($data['created_via'])) {
360
+        update_post_meta($invoice->get_id(), 'wpinv_created_via', $data['created_via']);
361 361
     }
362 362
 
363 363
     // Backwards compatiblity.
364
-    if ( $invoice->is_quote() ) {
364
+    if ($invoice->is_quote()) {
365 365
 
366
-        if ( isset( $data['valid_until'] ) ) {
367
-            update_post_meta( $invoice->get_id(), 'wpinv_quote_valid_until', $data['valid_until'] );
366
+        if (isset($data['valid_until'])) {
367
+            update_post_meta($invoice->get_id(), 'wpinv_quote_valid_until', $data['valid_until']);
368 368
         }
369 369
 }
370 370
 
@@ -378,20 +378,20 @@  discard block
 block discarded – undo
378 378
  * @param $bool $deprecated
379 379
  * @return WPInv_Invoice|null
380 380
  */
381
-function wpinv_get_invoice( $invoice = 0, $deprecated = false ) {
381
+function wpinv_get_invoice($invoice = 0, $deprecated = false) {
382 382
 
383 383
     // If we are retrieving the invoice from the cart...
384
-    if ( $deprecated && empty( $invoice ) ) {
384
+    if ($deprecated && empty($invoice)) {
385 385
         $invoice = (int) getpaid_get_current_invoice_id();
386 386
     }
387 387
 
388 388
     // Retrieve the invoice.
389
-    if ( ! is_a( $invoice, 'WPInv_Invoice' ) ) {
390
-        $invoice = new WPInv_Invoice( $invoice );
389
+    if (!is_a($invoice, 'WPInv_Invoice')) {
390
+        $invoice = new WPInv_Invoice($invoice);
391 391
     }
392 392
 
393 393
     // Check if it exists.
394
-    if ( $invoice->exists() ) {
394
+    if ($invoice->exists()) {
395 395
         return $invoice;
396 396
     }
397 397
 
@@ -404,15 +404,15 @@  discard block
 block discarded – undo
404 404
  * @param array $args Args to search for.
405 405
  * @return WPInv_Invoice[]|int[]|object
406 406
  */
407
-function wpinv_get_invoices( $args ) {
407
+function wpinv_get_invoices($args) {
408 408
 
409 409
     // Prepare args.
410 410
     $args = wp_parse_args(
411 411
         $args,
412 412
         array(
413
-            'status' => array_keys( wpinv_get_invoice_statuses() ),
413
+            'status' => array_keys(wpinv_get_invoice_statuses()),
414 414
             'type'   => 'wpi_invoice',
415
-            'limit'  => get_option( 'posts_per_page' ),
415
+            'limit'  => get_option('posts_per_page'),
416 416
             'return' => 'objects',
417 417
         )
418 418
     );
@@ -430,24 +430,24 @@  discard block
 block discarded – undo
430 430
         'post__in'       => 'include',
431 431
     );
432 432
 
433
-    foreach ( $map_legacy as $to => $from ) {
434
-        if ( isset( $args[ $from ] ) ) {
435
-            $args[ $to ] = $args[ $from ];
436
-            unset( $args[ $from ] );
433
+    foreach ($map_legacy as $to => $from) {
434
+        if (isset($args[$from])) {
435
+            $args[$to] = $args[$from];
436
+            unset($args[$from]);
437 437
         }
438 438
     }
439 439
 
440 440
     // Backwards compatibility.
441
-    if ( ! empty( $args['email'] ) && empty( $args['user'] ) ) {
441
+    if (!empty($args['email']) && empty($args['user'])) {
442 442
         $args['user'] = $args['email'];
443
-        unset( $args['email'] );
443
+        unset($args['email']);
444 444
     }
445 445
 
446 446
     // Handle cases where the user is set as an email.
447
-    if ( ! empty( $args['author'] ) && is_email( $args['author'] ) ) {
448
-        $user = get_user_by( 'email', $args['user'] );
447
+    if (!empty($args['author']) && is_email($args['author'])) {
448
+        $user = get_user_by('email', $args['user']);
449 449
 
450
-        if ( $user ) {
450
+        if ($user) {
451 451
             $args['author'] = $user->user_email;
452 452
         }
453 453
 }
@@ -457,31 +457,31 @@  discard block
 block discarded – undo
457 457
 
458 458
     // Show all posts.
459 459
     $paginate = true;
460
-    if ( isset( $args['paginate'] ) ) {
460
+    if (isset($args['paginate'])) {
461 461
 
462 462
         $paginate = $args['paginate'];
463
-        $args['no_found_rows'] = empty( $args['paginate'] );
464
-        unset( $args['paginate'] );
463
+        $args['no_found_rows'] = empty($args['paginate']);
464
+        unset($args['paginate']);
465 465
 
466 466
     }
467 467
 
468 468
     // Whether to return objects or fields.
469 469
     $return = $args['return'];
470
-    unset( $args['return'] );
470
+    unset($args['return']);
471 471
 
472 472
     // Get invoices.
473
-    $invoices = new WP_Query( apply_filters( 'wpinv_get_invoices_args', $args ) );
473
+    $invoices = new WP_Query(apply_filters('wpinv_get_invoices_args', $args));
474 474
 
475 475
     // Prepare the results.
476
-    if ( 'objects' === $return ) {
477
-        $results = array_map( 'wpinv_get_invoice', $invoices->posts );
478
-    } elseif ( 'self' === $return ) {
476
+    if ('objects' === $return) {
477
+        $results = array_map('wpinv_get_invoice', $invoices->posts);
478
+    } elseif ('self' === $return) {
479 479
         return $invoices;
480 480
     } else {
481 481
         $results = $invoices->posts;
482 482
     }
483 483
 
484
-    if ( $paginate ) {
484
+    if ($paginate) {
485 485
         return (object) array(
486 486
             'invoices'      => $results,
487 487
             'total'         => $invoices->found_posts,
@@ -499,8 +499,8 @@  discard block
 block discarded – undo
499 499
  * @param string $transaction_id The transaction id to check.
500 500
  * @return int Invoice id on success or 0 on failure
501 501
  */
502
-function wpinv_get_id_by_transaction_id( $transaction_id ) {
503
-    return WPInv_Invoice::get_invoice_id_by_field( $transaction_id, 'transaction_id' );
502
+function wpinv_get_id_by_transaction_id($transaction_id) {
503
+    return WPInv_Invoice::get_invoice_id_by_field($transaction_id, 'transaction_id');
504 504
 }
505 505
 
506 506
 /**
@@ -509,8 +509,8 @@  discard block
 block discarded – undo
509 509
  * @param string $invoice_number The invoice number to check.
510 510
  * @return int Invoice id on success or 0 on failure
511 511
  */
512
-function wpinv_get_id_by_invoice_number( $invoice_number ) {
513
-    return WPInv_Invoice::get_invoice_id_by_field( $invoice_number, 'number' );
512
+function wpinv_get_id_by_invoice_number($invoice_number) {
513
+    return WPInv_Invoice::get_invoice_id_by_field($invoice_number, 'number');
514 514
 }
515 515
 
516 516
 /**
@@ -519,8 +519,8 @@  discard block
 block discarded – undo
519 519
  * @param string $invoice_key The invoice key to check.
520 520
  * @return int Invoice id on success or 0 on failure
521 521
  */
522
-function wpinv_get_invoice_id_by_key( $invoice_key ) {
523
-    return WPInv_Invoice::get_invoice_id_by_field( $invoice_key, 'key' );
522
+function wpinv_get_invoice_id_by_key($invoice_key) {
523
+    return WPInv_Invoice::get_invoice_id_by_field($invoice_key, 'key');
524 524
 }
525 525
 
526 526
 /**
@@ -530,19 +530,19 @@  discard block
 block discarded – undo
530 530
  * @param string $type Optionally filter by type i.e customer|system
531 531
  * @return array|null
532 532
  */
533
-function wpinv_get_invoice_notes( $invoice = 0, $type = '' ) {
533
+function wpinv_get_invoice_notes($invoice = 0, $type = '') {
534 534
 
535 535
     // Prepare the invoice.
536
-    $invoice = wpinv_get_invoice( $invoice );
537
-    if ( empty( $invoice ) ) {
536
+    $invoice = wpinv_get_invoice($invoice);
537
+    if (empty($invoice)) {
538 538
         return null;
539 539
     }
540 540
 
541 541
     // Fetch notes.
542
-    $notes = getpaid_notes()->get_invoice_notes( $invoice->get_id(), $type );
542
+    $notes = getpaid_notes()->get_invoice_notes($invoice->get_id(), $type);
543 543
 
544 544
     // Filter the notes.
545
-    return apply_filters( 'wpinv_invoice_notes', $notes, $invoice->get_id(), $type );
545
+    return apply_filters('wpinv_invoice_notes', $notes, $invoice->get_id(), $type);
546 546
 }
547 547
 
548 548
 /**
@@ -550,10 +550,10 @@  discard block
 block discarded – undo
550 550
  *
551 551
  * @param string $post_type
552 552
  */
553
-function wpinv_get_user_invoices_columns( $post_type = 'wpi_invoice' ) {
553
+function wpinv_get_user_invoices_columns($post_type = 'wpi_invoice') {
554 554
 
555
-    $label   = getpaid_get_post_type_label( $post_type, false );
556
-    $label   = empty( $label ) ? __( 'Invoice', 'invoicing' ) : sanitize_text_field( $label );
555
+    $label   = getpaid_get_post_type_label($post_type, false);
556
+    $label   = empty($label) ? __('Invoice', 'invoicing') : sanitize_text_field($label);
557 557
     $columns = array(
558 558
 
559 559
 		'invoice-number'  => array(
@@ -562,22 +562,22 @@  discard block
 block discarded – undo
562 562
 		),
563 563
 
564 564
 		'created-date'    => array(
565
-			'title' => __( 'Created Date', 'invoicing' ),
565
+			'title' => __('Created Date', 'invoicing'),
566 566
 			'class' => 'text-left',
567 567
 		),
568 568
 
569 569
 		'payment-date'    => array(
570
-			'title' => __( 'Payment Date', 'invoicing' ),
570
+			'title' => __('Payment Date', 'invoicing'),
571 571
 			'class' => 'text-left',
572 572
 		),
573 573
 
574 574
 		'invoice-status'  => array(
575
-			'title' => __( 'Status', 'invoicing' ),
575
+			'title' => __('Status', 'invoicing'),
576 576
 			'class' => 'text-center',
577 577
 		),
578 578
 
579 579
 		'invoice-total'   => array(
580
-			'title' => __( 'Total', 'invoicing' ),
580
+			'title' => __('Total', 'invoicing'),
581 581
 			'class' => 'text-right',
582 582
 		),
583 583
 
@@ -588,7 +588,7 @@  discard block
 block discarded – undo
588 588
 
589 589
 	);
590 590
 
591
-    return apply_filters( 'wpinv_user_invoices_columns', $columns, $post_type );
591
+    return apply_filters('wpinv_user_invoices_columns', $columns, $post_type);
592 592
 }
593 593
 
594 594
 /**
@@ -598,59 +598,59 @@  discard block
 block discarded – undo
598 598
 
599 599
     // Find the invoice.
600 600
     $invoice_id = getpaid_get_current_invoice_id();
601
-    $invoice = new WPInv_Invoice( $invoice_id );
601
+    $invoice = new WPInv_Invoice($invoice_id);
602 602
 
603 603
     // Abort if non was found.
604
-    if ( empty( $invoice_id ) || $invoice->is_draft() ) {
604
+    if (empty($invoice_id) || $invoice->is_draft()) {
605 605
 
606 606
         return aui()->alert(
607 607
             array(
608 608
                 'type'    => 'warning',
609
-                'content' => __( 'We could not find your invoice', 'invoicing' ),
609
+                'content' => __('We could not find your invoice', 'invoicing'),
610 610
             )
611 611
         );
612 612
 
613 613
     }
614 614
 
615 615
     // Can the user view this invoice?
616
-    if ( ! wpinv_can_view_receipt( $invoice_id ) ) {
616
+    if (!wpinv_can_view_receipt($invoice_id)) {
617 617
 
618 618
         return aui()->alert(
619 619
             array(
620 620
                 'type'    => 'warning',
621
-                'content' => __( 'You are not allowed to view this receipt', 'invoicing' ),
621
+                'content' => __('You are not allowed to view this receipt', 'invoicing'),
622 622
             )
623 623
         );
624 624
 
625 625
     }
626 626
 
627 627
     // Load the template.
628
-    return wpinv_get_template_html( 'invoice-receipt.php', compact( 'invoice' ) );
628
+    return wpinv_get_template_html('invoice-receipt.php', compact('invoice'));
629 629
 
630 630
 }
631 631
 
632 632
 /**
633 633
  * Displays the invoice history.
634 634
  */
635
-function getpaid_invoice_history( $user_id = 0, $post_type = 'wpi_invoice' ) {
635
+function getpaid_invoice_history($user_id = 0, $post_type = 'wpi_invoice') {
636 636
 
637 637
     // Ensure that we have a user id.
638
-    if ( empty( $user_id ) || ! is_numeric( $user_id ) ) {
638
+    if (empty($user_id) || !is_numeric($user_id)) {
639 639
         $user_id = get_current_user_id();
640 640
     }
641 641
 
642
-    $label = getpaid_get_post_type_label( $post_type );
643
-    $label = empty( $label ) ? __( 'Invoices', 'invoicing' ) : sanitize_text_field( $label );
642
+    $label = getpaid_get_post_type_label($post_type);
643
+    $label = empty($label) ? __('Invoices', 'invoicing') : sanitize_text_field($label);
644 644
 
645 645
     // View user id.
646
-    if ( empty( $user_id ) ) {
646
+    if (empty($user_id)) {
647 647
 
648 648
         return aui()->alert(
649 649
             array(
650 650
                 'type'    => 'warning',
651 651
                 'content' => sprintf(
652
-                    __( 'You must be logged in to view your %s.', 'invoicing' ),
653
-                    strtolower( $label )
652
+                    __('You must be logged in to view your %s.', 'invoicing'),
653
+                    strtolower($label)
654 654
                 ),
655 655
             )
656 656
         );
@@ -660,22 +660,22 @@  discard block
 block discarded – undo
660 660
     // Fetch invoices.
661 661
     $invoices = wpinv_get_invoices(
662 662
         array(
663
-            'page'     => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1,
663
+            'page'     => (get_query_var('paged')) ? absint(get_query_var('paged')) : 1,
664 664
             'user'     => $user_id,
665 665
             'paginate' => true,
666 666
             'type'     => $post_type,
667
-            'status'   => array_keys( wpinv_get_invoice_statuses( false, false, $post_type ) ),
667
+            'status'   => array_keys(wpinv_get_invoice_statuses(false, false, $post_type)),
668 668
         )
669 669
     );
670 670
 
671
-    if ( empty( $invoices->total ) ) {
671
+    if (empty($invoices->total)) {
672 672
 
673 673
         return aui()->alert(
674 674
             array(
675 675
                 'type'    => 'info',
676 676
                 'content' => sprintf(
677
-                    __( 'No %s found.', 'invoicing' ),
678
-                    strtolower( $label )
677
+                    __('No %s found.', 'invoicing'),
678
+                    strtolower($label)
679 679
                 ),
680 680
             )
681 681
         );
@@ -683,38 +683,38 @@  discard block
 block discarded – undo
683 683
     }
684 684
 
685 685
     // Load the template.
686
-    return wpinv_get_template_html( 'invoice-history.php', compact( 'invoices', 'post_type' ) );
686
+    return wpinv_get_template_html('invoice-history.php', compact('invoices', 'post_type'));
687 687
 
688 688
 }
689 689
 
690 690
 /**
691 691
  * Formats an invoice number given an invoice type.
692 692
  */
693
-function wpinv_format_invoice_number( $number, $type = '' ) {
693
+function wpinv_format_invoice_number($number, $type = '') {
694 694
 
695 695
     // Allow other plugins to overide this.
696
-    $check = apply_filters( 'wpinv_pre_format_invoice_number', null, $number, $type );
697
-    if ( null !== $check ) {
696
+    $check = apply_filters('wpinv_pre_format_invoice_number', null, $number, $type);
697
+    if (null !== $check) {
698 698
         return $check;
699 699
     }
700 700
 
701 701
     // Ensure that we have a numeric number.
702
-    if ( ! is_numeric( $number ) ) {
702
+    if (!is_numeric($number)) {
703 703
         return $number;
704 704
     }
705 705
 
706 706
     // Format the number.
707
-    $padd             = absint( (int) wpinv_get_option( 'invoice_number_padd', 5 ) );
708
-    $prefix           = sanitize_text_field( (string) wpinv_get_option( 'invoice_number_prefix', 'INV-' ) );
709
-    $prefix           = sanitize_text_field( apply_filters( 'getpaid_invoice_type_prefix', $prefix, $type ) );
710
-    $postfix          = sanitize_text_field( (string) wpinv_get_option( 'invoice_number_postfix' ) );
711
-    $postfix          = sanitize_text_field( apply_filters( 'getpaid_invoice_type_postfix', $postfix, $type ) );
712
-    $formatted_number = zeroise( absint( $number ), $padd );
707
+    $padd             = absint((int) wpinv_get_option('invoice_number_padd', 5));
708
+    $prefix           = sanitize_text_field((string) wpinv_get_option('invoice_number_prefix', 'INV-'));
709
+    $prefix           = sanitize_text_field(apply_filters('getpaid_invoice_type_prefix', $prefix, $type));
710
+    $postfix          = sanitize_text_field((string) wpinv_get_option('invoice_number_postfix'));
711
+    $postfix          = sanitize_text_field(apply_filters('getpaid_invoice_type_postfix', $postfix, $type));
712
+    $formatted_number = zeroise(absint($number), $padd);
713 713
 
714 714
     // Add the prefix and post fix.
715 715
     $formatted_number = $prefix . $formatted_number . $postfix;
716 716
 
717
-    return apply_filters( 'wpinv_format_invoice_number', $formatted_number, $number, $prefix, $postfix, $padd );
717
+    return apply_filters('wpinv_format_invoice_number', $formatted_number, $number, $prefix, $postfix, $padd);
718 718
 }
719 719
 
720 720
 /**
@@ -723,58 +723,58 @@  discard block
 block discarded – undo
723 723
  * @param string $type.
724 724
  * @return int|null|bool
725 725
  */
726
-function wpinv_get_next_invoice_number( $type = '' ) {
726
+function wpinv_get_next_invoice_number($type = '') {
727 727
 
728 728
     // Allow plugins to overide this.
729
-    $check = apply_filters( 'wpinv_get_pre_next_invoice_number', null, $type );
730
-    if ( null !== $check ) {
729
+    $check = apply_filters('wpinv_get_pre_next_invoice_number', null, $type);
730
+    if (null !== $check) {
731 731
         return $check;
732 732
     }
733 733
 
734 734
     // Ensure sequential invoice numbers is active.
735
-    if ( ! wpinv_sequential_number_active() ) {
735
+    if (!wpinv_sequential_number_active()) {
736 736
         return false;
737 737
     }
738 738
 
739 739
     // Retrieve the current number and the start number.
740
-    $number = (int) get_option( 'wpinv_last_invoice_number', 0 );
741
-    $start  = absint( (int) wpinv_get_option( 'invoice_sequence_start', 1 ) );
740
+    $number = (int) get_option('wpinv_last_invoice_number', 0);
741
+    $start  = absint((int) wpinv_get_option('invoice_sequence_start', 1));
742 742
 
743 743
     // Ensure that we are starting at a positive integer.
744
-    $start  = max( $start, 1 );
744
+    $start  = max($start, 1);
745 745
 
746 746
     // If this is the first invoice, use the start number.
747
-    $number = max( $start, $number );
747
+    $number = max($start, $number);
748 748
 
749 749
     // Format the invoice number.
750
-    $formatted_number = wpinv_format_invoice_number( $number, $type );
750
+    $formatted_number = wpinv_format_invoice_number($number, $type);
751 751
 
752 752
     // Ensure that this number is unique.
753
-    $invoice_id = WPInv_Invoice::get_invoice_id_by_field( $formatted_number, 'number' );
753
+    $invoice_id = WPInv_Invoice::get_invoice_id_by_field($formatted_number, 'number');
754 754
 
755 755
     // We found a match. Nice.
756
-    if ( empty( $invoice_id ) ) {
757
-        update_option( 'wpinv_last_invoice_number', $number );
758
-        return apply_filters( 'wpinv_get_next_invoice_number', $number );
756
+    if (empty($invoice_id)) {
757
+        update_option('wpinv_last_invoice_number', $number);
758
+        return apply_filters('wpinv_get_next_invoice_number', $number);
759 759
     }
760 760
 
761
-    update_option( 'wpinv_last_invoice_number', $number + 1 );
762
-    return wpinv_get_next_invoice_number( $type );
761
+    update_option('wpinv_last_invoice_number', $number + 1);
762
+    return wpinv_get_next_invoice_number($type);
763 763
 
764 764
 }
765 765
 
766 766
 /**
767 767
  * The prefix used for invoice paths.
768 768
  */
769
-function wpinv_post_name_prefix( $post_type = 'wpi_invoice' ) {
770
-    return apply_filters( 'wpinv_post_name_prefix', 'inv-', $post_type );
769
+function wpinv_post_name_prefix($post_type = 'wpi_invoice') {
770
+    return apply_filters('wpinv_post_name_prefix', 'inv-', $post_type);
771 771
 }
772 772
 
773
-function wpinv_generate_post_name( $post_ID ) {
774
-    $prefix = wpinv_post_name_prefix( get_post_type( $post_ID ) );
775
-    $post_name = sanitize_title( $prefix . $post_ID );
773
+function wpinv_generate_post_name($post_ID) {
774
+    $prefix = wpinv_post_name_prefix(get_post_type($post_ID));
775
+    $post_name = sanitize_title($prefix . $post_ID);
776 776
 
777
-    return apply_filters( 'wpinv_generate_post_name', $post_name, $post_ID, $prefix );
777
+    return apply_filters('wpinv_generate_post_name', $post_name, $post_ID, $prefix);
778 778
 }
779 779
 
780 780
 /**
@@ -782,8 +782,8 @@  discard block
 block discarded – undo
782 782
  *
783 783
  * @param int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object.
784 784
  */
785
-function wpinv_is_invoice_viewed( $invoice ) {
786
-    $invoice = new WPInv_Invoice( $invoice );
785
+function wpinv_is_invoice_viewed($invoice) {
786
+    $invoice = new WPInv_Invoice($invoice);
787 787
     return (bool) $invoice->get_is_viewed();
788 788
 }
789 789
 
@@ -792,17 +792,17 @@  discard block
 block discarded – undo
792 792
  *
793 793
  * @param int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object.
794 794
  */
795
-function getpaid_maybe_mark_invoice_as_viewed( $invoice ) {
796
-    $invoice = new WPInv_Invoice( $invoice );
795
+function getpaid_maybe_mark_invoice_as_viewed($invoice) {
796
+    $invoice = new WPInv_Invoice($invoice);
797 797
 
798
-    if ( get_current_user_id() == $invoice->get_user_id() && ! $invoice->get_is_viewed() ) {
799
-        $invoice->set_is_viewed( true );
798
+    if (get_current_user_id() == $invoice->get_user_id() && !$invoice->get_is_viewed()) {
799
+        $invoice->set_is_viewed(true);
800 800
         $invoice->save();
801 801
     }
802 802
 
803 803
 }
804
-add_action( 'wpinv_invoice_print_before_display', 'getpaid_maybe_mark_invoice_as_viewed' );
805
-add_action( 'wpinv_before_receipt', 'getpaid_maybe_mark_invoice_as_viewed' );
804
+add_action('wpinv_invoice_print_before_display', 'getpaid_maybe_mark_invoice_as_viewed');
805
+add_action('wpinv_before_receipt', 'getpaid_maybe_mark_invoice_as_viewed');
806 806
 
807 807
 /**
808 808
  * Processes an invoice refund.
@@ -811,26 +811,26 @@  discard block
 block discarded – undo
811 811
  * @param array $status_transition
812 812
  * @todo: descrease customer/store earnings
813 813
  */
814
-function getpaid_maybe_process_refund( $invoice, $status_transition ) {
814
+function getpaid_maybe_process_refund($invoice, $status_transition) {
815 815
 
816
-    if ( empty( $status_transition['from'] ) || ! in_array( $status_transition['from'], array( 'publish', 'wpi-processing', 'wpi-renewal' ) ) ) {
816
+    if (empty($status_transition['from']) || !in_array($status_transition['from'], array('publish', 'wpi-processing', 'wpi-renewal'))) {
817 817
         return;
818 818
     }
819 819
 
820 820
     $discount_code = $invoice->get_discount_code();
821
-    if ( ! empty( $discount_code ) ) {
822
-        $discount = wpinv_get_discount_obj( $discount_code );
821
+    if (!empty($discount_code)) {
822
+        $discount = wpinv_get_discount_obj($discount_code);
823 823
 
824
-        if ( $discount->exists() ) {
824
+        if ($discount->exists()) {
825 825
             $discount->increase_usage( -1 );
826 826
         }
827 827
 }
828 828
 
829
-    do_action( 'wpinv_pre_refund_invoice', $invoice, $invoice->get_id() );
830
-    do_action( 'wpinv_refund_invoice', $invoice, $invoice->get_id() );
831
-    do_action( 'wpinv_post_refund_invoice', $invoice, $invoice->get_id() );
829
+    do_action('wpinv_pre_refund_invoice', $invoice, $invoice->get_id());
830
+    do_action('wpinv_refund_invoice', $invoice, $invoice->get_id());
831
+    do_action('wpinv_post_refund_invoice', $invoice, $invoice->get_id());
832 832
 }
833
-add_action( 'getpaid_invoice_status_wpi-refunded', 'getpaid_maybe_process_refund', 10, 2 );
833
+add_action('getpaid_invoice_status_wpi-refunded', 'getpaid_maybe_process_refund', 10, 2);
834 834
 
835 835
 
836 836
 /**
@@ -838,47 +838,47 @@  discard block
 block discarded – undo
838 838
  *
839 839
  * @param int $invoice_id
840 840
  */
841
-function getpaid_process_invoice_payment( $invoice_id ) {
841
+function getpaid_process_invoice_payment($invoice_id) {
842 842
 
843 843
     // Fetch the invoice.
844
-    $invoice = new WPInv_Invoice( $invoice_id );
844
+    $invoice = new WPInv_Invoice($invoice_id);
845 845
 
846 846
     // We only want to do this once.
847
-    if ( 1 == get_post_meta( $invoice->get_id(), 'wpinv_processed_payment', true ) ) {
847
+    if (1 == get_post_meta($invoice->get_id(), 'wpinv_processed_payment', true)) {
848 848
         return;
849 849
     }
850 850
 
851
-    update_post_meta( $invoice->get_id(), 'wpinv_processed_payment', 1 );
851
+    update_post_meta($invoice->get_id(), 'wpinv_processed_payment', 1);
852 852
 
853 853
     // Fires when processing a payment.
854
-    do_action( 'getpaid_process_payment', $invoice );
854
+    do_action('getpaid_process_payment', $invoice);
855 855
 
856 856
     // Fire an action for each invoice item.
857
-    foreach ( $invoice->get_items() as $item ) {
858
-        do_action( 'getpaid_process_item_payment', $item, $invoice );
857
+    foreach ($invoice->get_items() as $item) {
858
+        do_action('getpaid_process_item_payment', $item, $invoice);
859 859
     }
860 860
 
861 861
     // Increase discount usage.
862 862
     $discount_code = $invoice->get_discount_code();
863
-    if ( ! empty( $discount_code ) && ! $invoice->is_renewal() ) {
864
-        $discount = wpinv_get_discount_obj( $discount_code );
863
+    if (!empty($discount_code) && !$invoice->is_renewal()) {
864
+        $discount = wpinv_get_discount_obj($discount_code);
865 865
 
866
-        if ( $discount->exists() ) {
866
+        if ($discount->exists()) {
867 867
             $discount->increase_usage();
868 868
         }
869 869
 }
870 870
 
871 871
     // Record reverse vat.
872
-    if ( 'invoice' === $invoice->get_type() && wpinv_use_taxes() && ! $invoice->get_disable_taxes() ) {
872
+    if ('invoice' === $invoice->get_type() && wpinv_use_taxes() && !$invoice->get_disable_taxes()) {
873 873
 
874 874
         $taxes = $invoice->get_total_tax();
875
-        if ( empty( $taxes ) && GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction( $invoice->get_country() ) ) {
876
-            $invoice->add_note( __( 'VAT was reverse charged', 'invoicing' ), false, false, true );
875
+        if (empty($taxes) && GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction($invoice->get_country())) {
876
+            $invoice->add_note(__('VAT was reverse charged', 'invoicing'), false, false, true);
877 877
         }
878 878
 }
879 879
 
880 880
 }
881
-add_action( 'getpaid_invoice_payment_status_changed', 'getpaid_process_invoice_payment' );
881
+add_action('getpaid_invoice_payment_status_changed', 'getpaid_process_invoice_payment');
882 882
 
883 883
 /**
884 884
  * Returns an array of invoice item columns
@@ -886,13 +886,13 @@  discard block
 block discarded – undo
886 886
  * @param int|WPInv_Invoice $invoice
887 887
  * @return array
888 888
  */
889
-function getpaid_invoice_item_columns( $invoice ) {
889
+function getpaid_invoice_item_columns($invoice) {
890 890
 
891 891
     // Prepare the invoice.
892
-    $invoice = new WPInv_Invoice( $invoice );
892
+    $invoice = new WPInv_Invoice($invoice);
893 893
 
894 894
     // Abort if there is no invoice.
895
-    if ( 0 == $invoice->get_id() ) {
895
+    if (0 == $invoice->get_id()) {
896 896
         return array();
897 897
     }
898 898
 
@@ -900,52 +900,52 @@  discard block
 block discarded – undo
900 900
     $columns = apply_filters(
901 901
         'getpaid_invoice_item_columns',
902 902
         array(
903
-            'name'     => __( 'Item', 'invoicing' ),
904
-            'price'    => __( 'Price', 'invoicing' ),
905
-            'tax_rate' => __( 'Tax Rate', 'invoicing' ),
906
-            'quantity' => __( 'Quantity', 'invoicing' ),
907
-            'subtotal' => __( 'Item Subtotal', 'invoicing' ),
903
+            'name'     => __('Item', 'invoicing'),
904
+            'price'    => __('Price', 'invoicing'),
905
+            'tax_rate' => __('Tax Rate', 'invoicing'),
906
+            'quantity' => __('Quantity', 'invoicing'),
907
+            'subtotal' => __('Item Subtotal', 'invoicing'),
908 908
         ),
909 909
         $invoice
910 910
     );
911 911
 
912 912
     // Quantities.
913
-    if ( isset( $columns['quantity'] ) ) {
913
+    if (isset($columns['quantity'])) {
914 914
 
915
-        if ( 'hours' == $invoice->get_template() ) {
916
-            $columns['quantity'] = __( 'Hours', 'invoicing' );
915
+        if ('hours' == $invoice->get_template()) {
916
+            $columns['quantity'] = __('Hours', 'invoicing');
917 917
         }
918 918
 
919
-        if ( ! wpinv_item_quantities_enabled() || 'amount' == $invoice->get_template() ) {
920
-            unset( $columns['quantity'] );
919
+        if (!wpinv_item_quantities_enabled() || 'amount' == $invoice->get_template()) {
920
+            unset($columns['quantity']);
921 921
         }
922 922
 }
923 923
 
924 924
     // Price.
925
-    if ( isset( $columns['price'] ) ) {
925
+    if (isset($columns['price'])) {
926 926
 
927
-        if ( 'amount' == $invoice->get_template() ) {
928
-            $columns['price'] = __( 'Amount', 'invoicing' );
927
+        if ('amount' == $invoice->get_template()) {
928
+            $columns['price'] = __('Amount', 'invoicing');
929 929
         }
930 930
 
931
-        if ( 'hours' == $invoice->get_template() ) {
932
-            $columns['price'] = __( 'Rate', 'invoicing' );
931
+        if ('hours' == $invoice->get_template()) {
932
+            $columns['price'] = __('Rate', 'invoicing');
933 933
         }
934 934
 }
935 935
 
936 936
     // Sub total.
937
-    if ( isset( $columns['subtotal'] ) ) {
937
+    if (isset($columns['subtotal'])) {
938 938
 
939
-        if ( 'amount' == $invoice->get_template() ) {
940
-            unset( $columns['subtotal'] );
939
+        if ('amount' == $invoice->get_template()) {
940
+            unset($columns['subtotal']);
941 941
         }
942 942
 }
943 943
 
944 944
     // Tax rates.
945
-    if ( isset( $columns['tax_rate'] ) ) {
945
+    if (isset($columns['tax_rate'])) {
946 946
 
947
-        if ( 0 == $invoice->get_tax() ) {
948
-            unset( $columns['tax_rate'] );
947
+        if (0 == $invoice->get_tax()) {
948
+            unset($columns['tax_rate']);
949 949
         }
950 950
 }
951 951
 
@@ -958,43 +958,43 @@  discard block
 block discarded – undo
958 958
  * @param int|WPInv_Invoice $invoice
959 959
  * @return array
960 960
  */
961
-function getpaid_invoice_totals_rows( $invoice ) {
961
+function getpaid_invoice_totals_rows($invoice) {
962 962
 
963 963
     // Prepare the invoice.
964
-    $invoice = new WPInv_Invoice( $invoice );
964
+    $invoice = new WPInv_Invoice($invoice);
965 965
 
966 966
     // Abort if there is no invoice.
967
-    if ( 0 == $invoice->get_id() ) {
967
+    if (0 == $invoice->get_id()) {
968 968
         return array();
969 969
     }
970 970
 
971 971
     $totals = apply_filters(
972 972
         'getpaid_invoice_totals_rows',
973 973
         array(
974
-            'subtotal' => __( 'Subtotal', 'invoicing' ),
975
-            'shipping' => __( 'Shipping', 'invoicing' ),
976
-            'tax'      => __( 'Tax', 'invoicing' ),
977
-            'fee'      => __( 'Fee', 'invoicing' ),
978
-            'discount' => __( 'Discount', 'invoicing' ),
979
-            'total'    => __( 'Total', 'invoicing' ),
974
+            'subtotal' => __('Subtotal', 'invoicing'),
975
+            'shipping' => __('Shipping', 'invoicing'),
976
+            'tax'      => __('Tax', 'invoicing'),
977
+            'fee'      => __('Fee', 'invoicing'),
978
+            'discount' => __('Discount', 'invoicing'),
979
+            'total'    => __('Total', 'invoicing'),
980 980
         ),
981 981
         $invoice
982 982
     );
983 983
 
984
-    if ( ! $invoice->has_shipping() ) {
985
-        unset( $totals['shipping'] );
984
+    if (!$invoice->has_shipping()) {
985
+        unset($totals['shipping']);
986 986
     }
987 987
 
988
-    if ( ( $invoice->get_disable_taxes() || ! wpinv_use_taxes() ) && isset( $totals['tax'] ) ) {
989
-        unset( $totals['tax'] );
988
+    if (($invoice->get_disable_taxes() || !wpinv_use_taxes()) && isset($totals['tax'])) {
989
+        unset($totals['tax']);
990 990
     }
991 991
 
992
-    if ( 0 == $invoice->get_total_fees() && isset( $totals['fee'] ) ) {
993
-        unset( $totals['fee'] );
992
+    if (0 == $invoice->get_total_fees() && isset($totals['fee'])) {
993
+        unset($totals['fee']);
994 994
     }
995 995
 
996
-    if ( 0 == $invoice->get_total_discount() && isset( $totals['discount'] ) ) {
997
-        unset( $totals['discount'] );
996
+    if (0 == $invoice->get_total_discount() && isset($totals['discount'])) {
997
+        unset($totals['discount']);
998 998
     }
999 999
 
1000 1000
     return $totals;
@@ -1005,47 +1005,47 @@  discard block
 block discarded – undo
1005 1005
  *
1006 1006
  * @param WPInv_Invoice $invoice
1007 1007
  */
1008
-function getpaid_new_invoice( $invoice ) {
1008
+function getpaid_new_invoice($invoice) {
1009 1009
 
1010
-    if ( ! $invoice->get_status() ) {
1010
+    if (!$invoice->get_status()) {
1011 1011
         return;
1012 1012
     }
1013 1013
 
1014 1014
     // Add an invoice created note.
1015 1015
     $invoice->add_note(
1016 1016
         sprintf(
1017
-            __( '%1$s created with the status "%2$s".', 'invoicing' ),
1018
-            ucfirst( $invoice->get_invoice_quote_type() ),
1019
-            wpinv_status_nicename( $invoice->get_status(), $invoice )
1017
+            __('%1$s created with the status "%2$s".', 'invoicing'),
1018
+            ucfirst($invoice->get_invoice_quote_type()),
1019
+            wpinv_status_nicename($invoice->get_status(), $invoice)
1020 1020
         )
1021 1021
     );
1022 1022
 
1023 1023
 }
1024
-add_action( 'getpaid_new_invoice', 'getpaid_new_invoice' );
1024
+add_action('getpaid_new_invoice', 'getpaid_new_invoice');
1025 1025
 
1026 1026
 /**
1027 1027
  * This function updates invoice caches.
1028 1028
  *
1029 1029
  * @param WPInv_Invoice $invoice
1030 1030
  */
1031
-function getpaid_update_invoice_caches( $invoice ) {
1031
+function getpaid_update_invoice_caches($invoice) {
1032 1032
 
1033 1033
     // Cache invoice number.
1034
-    wp_cache_set( $invoice->get_number(), $invoice->get_id(), 'getpaid_invoice_numbers_to_invoice_ids' );
1034
+    wp_cache_set($invoice->get_number(), $invoice->get_id(), 'getpaid_invoice_numbers_to_invoice_ids');
1035 1035
 
1036 1036
     // Cache invoice key.
1037
-    wp_cache_set( $invoice->get_key(), $invoice->get_id(), 'getpaid_invoice_keys_to_invoice_ids' );
1037
+    wp_cache_set($invoice->get_key(), $invoice->get_id(), 'getpaid_invoice_keys_to_invoice_ids');
1038 1038
 
1039 1039
     // (Maybe) cache transaction id.
1040 1040
     $transaction_id = $invoice->get_transaction_id();
1041 1041
 
1042
-    if ( ! empty( $transaction_id ) ) {
1043
-        wp_cache_set( $transaction_id, $invoice->get_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids' );
1042
+    if (!empty($transaction_id)) {
1043
+        wp_cache_set($transaction_id, $invoice->get_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids');
1044 1044
     }
1045 1045
 
1046 1046
 }
1047
-add_action( 'getpaid_new_invoice', 'getpaid_update_invoice_caches', 5 );
1048
-add_action( 'getpaid_update_invoice', 'getpaid_update_invoice_caches', 5 );
1047
+add_action('getpaid_new_invoice', 'getpaid_update_invoice_caches', 5);
1048
+add_action('getpaid_update_invoice', 'getpaid_update_invoice_caches', 5);
1049 1049
 
1050 1050
 /**
1051 1051
  * Duplicates an invoice.
@@ -1055,7 +1055,7 @@  discard block
 block discarded – undo
1055 1055
  * @param  WPInv_Invoice $old_invoice The invoice to duplicate
1056 1056
  * @return WPInv_Invoice The new invoice.
1057 1057
  */
1058
-function getpaid_duplicate_invoice( $old_invoice ) {
1058
+function getpaid_duplicate_invoice($old_invoice) {
1059 1059
 
1060 1060
     // Create the new invoice.
1061 1061
     $invoice = new WPInv_Invoice();
@@ -1115,136 +1115,136 @@  discard block
 block discarded – undo
1115 1115
  * @param WPInv_Invoice $invoice
1116 1116
  * @return array
1117 1117
  */
1118
-function getpaid_get_invoice_meta( $invoice ) {
1118
+function getpaid_get_invoice_meta($invoice) {
1119 1119
 
1120 1120
     // Load the invoice meta.
1121 1121
     $meta = array(
1122 1122
 
1123 1123
         'number'         => array(
1124 1124
             'label' => sprintf(
1125
-                __( '%s Number', 'invoicing' ),
1126
-                ucfirst( $invoice->get_invoice_quote_type() )
1125
+                __('%s Number', 'invoicing'),
1126
+                ucfirst($invoice->get_invoice_quote_type())
1127 1127
             ),
1128
-            'value' => sanitize_text_field( $invoice->get_number() ),
1128
+            'value' => sanitize_text_field($invoice->get_number()),
1129 1129
         ),
1130 1130
 
1131 1131
         'status'         => array(
1132 1132
             'label' => sprintf(
1133
-                __( '%s Status', 'invoicing' ),
1134
-                ucfirst( $invoice->get_invoice_quote_type() )
1133
+                __('%s Status', 'invoicing'),
1134
+                ucfirst($invoice->get_invoice_quote_type())
1135 1135
             ),
1136 1136
             'value' => $invoice->get_status_label_html(),
1137 1137
         ),
1138 1138
 
1139 1139
         'date'           => array(
1140 1140
             'label' => sprintf(
1141
-                __( '%s Date', 'invoicing' ),
1142
-                ucfirst( $invoice->get_invoice_quote_type() )
1141
+                __('%s Date', 'invoicing'),
1142
+                ucfirst($invoice->get_invoice_quote_type())
1143 1143
             ),
1144
-            'value' => getpaid_format_date( $invoice->get_created_date() ),
1144
+            'value' => getpaid_format_date($invoice->get_created_date()),
1145 1145
         ),
1146 1146
 
1147 1147
         'date_paid'      => array(
1148
-            'label' => __( 'Paid On', 'invoicing' ),
1149
-            'value' => getpaid_format_date( $invoice->get_completed_date() ),
1148
+            'label' => __('Paid On', 'invoicing'),
1149
+            'value' => getpaid_format_date($invoice->get_completed_date()),
1150 1150
         ),
1151 1151
 
1152 1152
         'gateway'        => array(
1153
-            'label' => __( 'Payment Method', 'invoicing' ),
1154
-            'value' => sanitize_text_field( $invoice->get_gateway_title() ),
1153
+            'label' => __('Payment Method', 'invoicing'),
1154
+            'value' => sanitize_text_field($invoice->get_gateway_title()),
1155 1155
         ),
1156 1156
 
1157 1157
         'transaction_id' => array(
1158
-            'label' => __( 'Transaction ID', 'invoicing' ),
1159
-            'value' => sanitize_text_field( $invoice->get_transaction_id() ),
1158
+            'label' => __('Transaction ID', 'invoicing'),
1159
+            'value' => sanitize_text_field($invoice->get_transaction_id()),
1160 1160
         ),
1161 1161
 
1162 1162
         'due_date'       => array(
1163
-            'label' => __( 'Due Date', 'invoicing' ),
1164
-            'value' => getpaid_format_date( $invoice->get_due_date() ),
1163
+            'label' => __('Due Date', 'invoicing'),
1164
+            'value' => getpaid_format_date($invoice->get_due_date()),
1165 1165
         ),
1166 1166
 
1167 1167
         'vat_number'     => array(
1168
-            'label' => __( 'VAT Number', 'invoicing' ),
1169
-            'value' => sanitize_text_field( $invoice->get_vat_number() ),
1168
+            'label' => __('VAT Number', 'invoicing'),
1169
+            'value' => sanitize_text_field($invoice->get_vat_number()),
1170 1170
         ),
1171 1171
 
1172 1172
     );
1173 1173
 
1174
-    $additional_meta = get_post_meta( $invoice->get_id(), 'additional_meta_data', true );
1174
+    $additional_meta = get_post_meta($invoice->get_id(), 'additional_meta_data', true);
1175 1175
 
1176
-    if ( ! empty( $additional_meta ) ) {
1176
+    if (!empty($additional_meta)) {
1177 1177
 
1178
-        foreach ( $additional_meta as $label => $value ) {
1179
-            $meta[ sanitize_key( $label ) ] = array(
1180
-                'label' => esc_html( $label ),
1181
-                'value' => esc_html( $value ),
1178
+        foreach ($additional_meta as $label => $value) {
1179
+            $meta[sanitize_key($label)] = array(
1180
+                'label' => esc_html($label),
1181
+                'value' => esc_html($value),
1182 1182
             );
1183 1183
         }
1184 1184
 }
1185 1185
     // If it is not paid, remove the date of payment.
1186
-    if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) {
1187
-        unset( $meta['date_paid'] );
1188
-        unset( $meta['transaction_id'] );
1186
+    if (!$invoice->is_paid() && !$invoice->is_refunded()) {
1187
+        unset($meta['date_paid']);
1188
+        unset($meta['transaction_id']);
1189 1189
     }
1190 1190
 
1191
-    if ( ! $invoice->is_paid() || 'none' == $invoice->get_gateway() ) {
1192
-        unset( $meta['gateway'] );
1191
+    if (!$invoice->is_paid() || 'none' == $invoice->get_gateway()) {
1192
+        unset($meta['gateway']);
1193 1193
     }
1194 1194
 
1195 1195
     // Only display the due date if due dates are enabled.
1196
-    if ( ! $invoice->needs_payment() || ! wpinv_get_option( 'overdue_active' ) ) {
1197
-        unset( $meta['due_date'] );
1196
+    if (!$invoice->needs_payment() || !wpinv_get_option('overdue_active')) {
1197
+        unset($meta['due_date']);
1198 1198
     }
1199 1199
 
1200 1200
     // Only display the vat number if taxes are enabled.
1201
-    if ( ! wpinv_use_taxes() ) {
1202
-        unset( $meta['vat_number'] );
1201
+    if (!wpinv_use_taxes()) {
1202
+        unset($meta['vat_number']);
1203 1203
     }
1204 1204
 
1205 1205
     // Link to the parent invoice.
1206
-    if ( $invoice->get_parent_id() > 0 ) {
1206
+    if ($invoice->get_parent_id() > 0) {
1207 1207
 
1208 1208
         $meta['parent'] = array(
1209 1209
 
1210 1210
             'label' => sprintf(
1211
-                __( 'Parent %s', 'invoicing' ),
1212
-                ucfirst( $invoice->get_invoice_quote_type() )
1211
+                __('Parent %s', 'invoicing'),
1212
+                ucfirst($invoice->get_invoice_quote_type())
1213 1213
             ),
1214 1214
 
1215
-            'value' => wpinv_invoice_link( $invoice->get_parent_id() ),
1215
+            'value' => wpinv_invoice_link($invoice->get_parent_id()),
1216 1216
 
1217 1217
         );
1218 1218
 
1219 1219
     }
1220 1220
 
1221
-    if ( $invoice->is_recurring() ) {
1221
+    if ($invoice->is_recurring()) {
1222 1222
 
1223
-        $subscription = getpaid_get_invoice_subscriptions( $invoice );
1224
-        if ( ! empty( $subscription ) && ! is_array( $subscription ) && $subscription->exists() ) {
1223
+        $subscription = getpaid_get_invoice_subscriptions($invoice);
1224
+        if (!empty($subscription) && !is_array($subscription) && $subscription->exists()) {
1225 1225
 
1226 1226
             // Display the renewal date.
1227
-            if ( $subscription->is_active() && 'cancelled' != $subscription->get_status() ) {
1227
+            if ($subscription->is_active() && 'cancelled' != $subscription->get_status()) {
1228 1228
 
1229 1229
                 $meta['renewal_date'] = array(
1230
-                    'label' => __( 'Renews On', 'invoicing' ),
1231
-                    'value' => getpaid_format_date( $subscription->get_expiration() ) .
1230
+                    'label' => __('Renews On', 'invoicing'),
1231
+                    'value' => getpaid_format_date($subscription->get_expiration()) .
1232 1232
                     sprintf(
1233 1233
                         ' <a class="small" href="%s">%s<a>',
1234 1234
                         $subscription->get_view_url(),
1235
-                        __( '(View Subscription)', 'invoicing' )
1235
+                        __('(View Subscription)', 'invoicing')
1236 1236
                     ),
1237 1237
                 );
1238 1238
 
1239 1239
             }
1240 1240
 
1241
-            if ( $invoice->is_parent() ) {
1241
+            if ($invoice->is_parent()) {
1242 1242
 
1243 1243
                 // Display the recurring amount.
1244 1244
                 $meta['recurring_total'] = array(
1245 1245
 
1246
-                    'label' => __( 'Recurring Amount', 'invoicing' ),
1247
-                    'value' => wpinv_price( $subscription->get_recurring_amount(), $invoice->get_currency() ),
1246
+                    'label' => __('Recurring Amount', 'invoicing'),
1247
+                    'value' => wpinv_price($subscription->get_recurring_amount(), $invoice->get_currency()),
1248 1248
 
1249 1249
                 );
1250 1250
 
@@ -1255,13 +1255,13 @@  discard block
 block discarded – undo
1255 1255
     // Add the invoice total to the meta.
1256 1256
     $meta['invoice_total'] = array(
1257 1257
 
1258
-        'label' => __( 'Total Amount', 'invoicing' ),
1259
-        'value' => wpinv_price( $invoice->get_total(), $invoice->get_currency() ),
1258
+        'label' => __('Total Amount', 'invoicing'),
1259
+        'value' => wpinv_price($invoice->get_total(), $invoice->get_currency()),
1260 1260
 
1261 1261
     );
1262 1262
 
1263 1263
     // Provide a way for third party plugins to filter the meta.
1264
-    $meta = apply_filters( 'getpaid_invoice_meta_data', $meta, $invoice );
1264
+    $meta = apply_filters('getpaid_invoice_meta_data', $meta, $invoice);
1265 1265
 
1266 1266
     return $meta;
1267 1267
 
@@ -1300,12 +1300,12 @@  discard block
 block discarded – undo
1300 1300
  * @param GetPaid_Form_Item $item
1301 1301
  * @return float
1302 1302
  */
1303
-function getpaid_get_invoice_tax_rate( $invoice, $item ) {
1303
+function getpaid_get_invoice_tax_rate($invoice, $item) {
1304 1304
 
1305
-    $rates   = getpaid_get_item_tax_rates( $item, $invoice->get_country(), $invoice->get_state() );
1306
-	$rates   = getpaid_filter_item_tax_rates( $item, $rates );
1307
-    $rates   = wp_list_pluck( $rates, 'rate' );
1305
+    $rates   = getpaid_get_item_tax_rates($item, $invoice->get_country(), $invoice->get_state());
1306
+	$rates = getpaid_filter_item_tax_rates($item, $rates);
1307
+    $rates   = wp_list_pluck($rates, 'rate');
1308 1308
 
1309
-    return array_sum( $rates );
1309
+    return array_sum($rates);
1310 1310
 
1311 1311
 }
Please login to merge, or discard this patch.
includes/wpinv-general-functions.php 2 patches
Indentation   +73 added lines, -73 removed lines patch added patch discarded remove patch
@@ -31,16 +31,16 @@  discard block
 block discarded – undo
31 31
 }
32 32
 
33 33
 function wpinv_can_checkout() {
34
-	$can_checkout = true; // Always true for now
34
+    $can_checkout = true; // Always true for now
35 35
 
36
-	return (bool) apply_filters( 'wpinv_can_checkout', $can_checkout );
36
+    return (bool) apply_filters( 'wpinv_can_checkout', $can_checkout );
37 37
 }
38 38
 
39 39
 function wpinv_get_success_page_uri() {
40
-	$page_id = wpinv_get_option( 'success_page', 0 );
41
-	$page_id = absint( $page_id );
40
+    $page_id = wpinv_get_option( 'success_page', 0 );
41
+    $page_id = absint( $page_id );
42 42
 
43
-	return apply_filters( 'wpinv_get_success_page_uri', get_permalink( $page_id ) );
43
+    return apply_filters( 'wpinv_get_success_page_uri', get_permalink( $page_id ) );
44 44
 }
45 45
 
46 46
 /**
@@ -51,22 +51,22 @@  discard block
 block discarded – undo
51 51
  */
52 52
 function wpinv_get_history_page_uri( $post_type = 'wpi_invoice' ) {
53 53
     $post_type = sanitize_key( str_replace( 'wpi_', '', $post_type ) );
54
-	$page_id   = wpinv_get_option( "{$post_type}_history_page", 0 );
55
-	$page_id   = absint( $page_id );
56
-	return apply_filters( 'wpinv_get_history_page_uri', get_permalink( $page_id ), $post_type );
54
+    $page_id   = wpinv_get_option( "{$post_type}_history_page", 0 );
55
+    $page_id   = absint( $page_id );
56
+    return apply_filters( 'wpinv_get_history_page_uri', get_permalink( $page_id ), $post_type );
57 57
 }
58 58
 
59 59
 function wpinv_is_success_page() {
60
-	$is_success_page = wpinv_get_option( 'success_page', false );
61
-	$is_success_page = ! empty( $is_success_page ) ? is_page( $is_success_page ) : false;
60
+    $is_success_page = wpinv_get_option( 'success_page', false );
61
+    $is_success_page = ! empty( $is_success_page ) ? is_page( $is_success_page ) : false;
62 62
 
63
-	return apply_filters( 'wpinv_is_success_page', $is_success_page );
63
+    return apply_filters( 'wpinv_is_success_page', $is_success_page );
64 64
 }
65 65
 
66 66
 function wpinv_is_invoice_history_page() {
67
-	$ret = wpinv_get_option( 'invoice_history_page', false );
68
-	$ret = $ret ? is_page( $ret ) : false;
69
-	return apply_filters( 'wpinv_is_invoice_history_page', $ret );
67
+    $ret = wpinv_get_option( 'invoice_history_page', false );
68
+    $ret = $ret ? is_page( $ret ) : false;
69
+    return apply_filters( 'wpinv_is_invoice_history_page', $ret );
70 70
 }
71 71
 
72 72
 function wpinv_is_subscriptions_history_page() {
@@ -92,7 +92,7 @@  discard block
 block discarded – undo
92 92
 }
93 93
 
94 94
 function wpinv_send_to_failed_page( $args = null ) {
95
-	$redirect = wpinv_get_failed_transaction_uri();
95
+    $redirect = wpinv_get_failed_transaction_uri();
96 96
 
97 97
     if ( ! empty( $args ) ) {
98 98
         // Check for backward compatibility
@@ -113,58 +113,58 @@  discard block
 block discarded – undo
113 113
 }
114 114
 
115 115
 function wpinv_get_checkout_uri( $args = array() ) {
116
-	$uri = wpinv_get_option( 'checkout_page', false );
117
-	$uri = isset( $uri ) ? get_permalink( $uri ) : null;
116
+    $uri = wpinv_get_option( 'checkout_page', false );
117
+    $uri = isset( $uri ) ? get_permalink( $uri ) : null;
118 118
 
119
-	if ( ! empty( $args ) ) {
120
-		// Check for backward compatibility
121
-		if ( is_string( $args ) ) {
122
-			$args = str_replace( '?', '', $args );
119
+    if ( ! empty( $args ) ) {
120
+        // Check for backward compatibility
121
+        if ( is_string( $args ) ) {
122
+            $args = str_replace( '?', '', $args );
123 123
         }
124 124
 
125
-		$args = wp_parse_args( $args );
125
+        $args = wp_parse_args( $args );
126 126
 
127
-		$uri = add_query_arg( $args, $uri );
128
-	}
127
+        $uri = add_query_arg( $args, $uri );
128
+    }
129 129
 
130
-	$scheme = defined( 'FORCE_SSL_ADMIN' ) && FORCE_SSL_ADMIN ? 'https' : 'admin';
130
+    $scheme = defined( 'FORCE_SSL_ADMIN' ) && FORCE_SSL_ADMIN ? 'https' : 'admin';
131 131
 
132
-	$ajax_url = admin_url( 'admin-ajax.php', $scheme );
132
+    $ajax_url = admin_url( 'admin-ajax.php', $scheme );
133 133
 
134
-	if ( ( ! preg_match( '/^https/', $uri ) && preg_match( '/^https/', $ajax_url ) ) || wpinv_is_ssl_enforced() ) {
135
-		$uri = preg_replace( '/^http:/', 'https:', $uri );
136
-	}
134
+    if ( ( ! preg_match( '/^https/', $uri ) && preg_match( '/^https/', $ajax_url ) ) || wpinv_is_ssl_enforced() ) {
135
+        $uri = preg_replace( '/^http:/', 'https:', $uri );
136
+    }
137 137
 
138
-	return apply_filters( 'wpinv_get_checkout_uri', $uri );
138
+    return apply_filters( 'wpinv_get_checkout_uri', $uri );
139 139
 }
140 140
 
141 141
 function wpinv_get_success_page_url( $query_string = null ) {
142
-	$success_page = wpinv_get_option( 'success_page', 0 );
143
-	$success_page = get_permalink( $success_page );
142
+    $success_page = wpinv_get_option( 'success_page', 0 );
143
+    $success_page = get_permalink( $success_page );
144 144
 
145
-	if ( $query_string ) {
146
-		$success_page .= $query_string;
145
+    if ( $query_string ) {
146
+        $success_page .= $query_string;
147 147
     }
148 148
 
149
-	return apply_filters( 'wpinv_success_page_url', $success_page );
149
+    return apply_filters( 'wpinv_success_page_url', $success_page );
150 150
 }
151 151
 
152 152
 function wpinv_get_failed_transaction_uri( $extras = false ) {
153
-	$uri = wpinv_get_option( 'failure_page', '' );
154
-	$uri = ! empty( $uri ) ? trailingslashit( get_permalink( $uri ) ) : home_url();
153
+    $uri = wpinv_get_option( 'failure_page', '' );
154
+    $uri = ! empty( $uri ) ? trailingslashit( get_permalink( $uri ) ) : home_url();
155 155
 
156
-	if ( $extras ) {
157
-		$uri .= $extras;
156
+    if ( $extras ) {
157
+        $uri .= $extras;
158 158
     }
159 159
 
160
-	return apply_filters( 'wpinv_get_failed_transaction_uri', $uri );
160
+    return apply_filters( 'wpinv_get_failed_transaction_uri', $uri );
161 161
 }
162 162
 
163 163
 function wpinv_is_failed_transaction_page() {
164
-	$ret = wpinv_get_option( 'failure_page', false );
165
-	$ret = isset( $ret ) ? is_page( $ret ) : false;
164
+    $ret = wpinv_get_option( 'failure_page', false );
165
+    $ret = isset( $ret ) ? is_page( $ret ) : false;
166 166
 
167
-	return apply_filters( 'wpinv_is_failure_page', $ret );
167
+    return apply_filters( 'wpinv_is_failure_page', $ret );
168 168
 }
169 169
 
170 170
 function wpinv_transaction_query( $type = 'start' ) {
@@ -244,36 +244,36 @@  discard block
 block discarded – undo
244 244
     $require_billing_details = apply_filters( 'wpinv_checkout_required_billing_details', wpinv_use_taxes() );
245 245
 
246 246
     if ( $require_billing_details ) {
247
-		if ( (bool)wpinv_get_option( 'fname_mandatory' ) ) {
248
-			$required_fields['first_name'] = array(
249
-				'error_id'      => 'invalid_first_name',
250
-				'error_message' => __( 'Please enter your first name', 'invoicing' ),
251
-			);
252
-		}
253
-		if ( (bool)wpinv_get_option( 'address_mandatory' ) ) {
254
-			$required_fields['address'] = array(
255
-				'error_id'      => 'invalid_address',
256
-				'error_message' => __( 'Please enter your address', 'invoicing' ),
257
-			);
258
-		}
259
-		if ( (bool)wpinv_get_option( 'city_mandatory' ) ) {
260
-			$required_fields['city'] = array(
261
-				'error_id'      => 'invalid_city',
262
-				'error_message' => __( 'Please enter your billing city', 'invoicing' ),
263
-			);
264
-		}
265
-		if ( (bool)wpinv_get_option( 'state_mandatory' ) ) {
266
-			$required_fields['state'] = array(
267
-				'error_id'      => 'invalid_state',
268
-				'error_message' => __( 'Please enter billing state / province', 'invoicing' ),
269
-			);
270
-		}
271
-		if ( (bool)wpinv_get_option( 'country_mandatory' ) ) {
272
-			$required_fields['country'] = array(
273
-				'error_id'      => 'invalid_country',
274
-				'error_message' => __( 'Please select your billing country', 'invoicing' ),
275
-			);
276
-		}
247
+        if ( (bool)wpinv_get_option( 'fname_mandatory' ) ) {
248
+            $required_fields['first_name'] = array(
249
+                'error_id'      => 'invalid_first_name',
250
+                'error_message' => __( 'Please enter your first name', 'invoicing' ),
251
+            );
252
+        }
253
+        if ( (bool)wpinv_get_option( 'address_mandatory' ) ) {
254
+            $required_fields['address'] = array(
255
+                'error_id'      => 'invalid_address',
256
+                'error_message' => __( 'Please enter your address', 'invoicing' ),
257
+            );
258
+        }
259
+        if ( (bool)wpinv_get_option( 'city_mandatory' ) ) {
260
+            $required_fields['city'] = array(
261
+                'error_id'      => 'invalid_city',
262
+                'error_message' => __( 'Please enter your billing city', 'invoicing' ),
263
+            );
264
+        }
265
+        if ( (bool)wpinv_get_option( 'state_mandatory' ) ) {
266
+            $required_fields['state'] = array(
267
+                'error_id'      => 'invalid_state',
268
+                'error_message' => __( 'Please enter billing state / province', 'invoicing' ),
269
+            );
270
+        }
271
+        if ( (bool)wpinv_get_option( 'country_mandatory' ) ) {
272
+            $required_fields['country'] = array(
273
+                'error_id'      => 'invalid_country',
274
+                'error_message' => __( 'Please select your billing country', 'invoicing' ),
275
+            );
276
+        }
277 277
     }
278 278
 
279 279
     return apply_filters( 'wpinv_checkout_required_fields', $required_fields );
Please login to merge, or discard this patch.
Spacing   +164 added lines, -164 removed lines patch added patch discarded remove patch
@@ -7,40 +7,40 @@  discard block
 block discarded – undo
7 7
  */
8 8
 
9 9
 // MUST have WordPress.
10
-if ( ! defined( 'WPINC' ) ) {
10
+if (!defined('WPINC')) {
11 11
     exit;
12 12
 }
13 13
 
14 14
 function wpinv_is_checkout() {
15 15
     global $wp_query;
16 16
 
17
-    $is_object_set    = isset( $wp_query->queried_object );
18
-    $is_object_id_set = isset( $wp_query->queried_object_id );
19
-    $checkout_page    = wpinv_get_option( 'checkout_page' );
20
-    $is_checkout      = ! empty( $checkout_page ) && is_page( $checkout_page );
17
+    $is_object_set    = isset($wp_query->queried_object);
18
+    $is_object_id_set = isset($wp_query->queried_object_id);
19
+    $checkout_page    = wpinv_get_option('checkout_page');
20
+    $is_checkout      = !empty($checkout_page) && is_page($checkout_page);
21 21
 
22
-    if ( ! $is_object_set ) {
23
-        unset( $wp_query->queried_object );
22
+    if (!$is_object_set) {
23
+        unset($wp_query->queried_object);
24 24
     }
25 25
 
26
-    if ( ! $is_object_id_set ) {
27
-        unset( $wp_query->queried_object_id );
26
+    if (!$is_object_id_set) {
27
+        unset($wp_query->queried_object_id);
28 28
     }
29 29
 
30
-    return apply_filters( 'wpinv_is_checkout', $is_checkout );
30
+    return apply_filters('wpinv_is_checkout', $is_checkout);
31 31
 }
32 32
 
33 33
 function wpinv_can_checkout() {
34 34
 	$can_checkout = true; // Always true for now
35 35
 
36
-	return (bool) apply_filters( 'wpinv_can_checkout', $can_checkout );
36
+	return (bool) apply_filters('wpinv_can_checkout', $can_checkout);
37 37
 }
38 38
 
39 39
 function wpinv_get_success_page_uri() {
40
-	$page_id = wpinv_get_option( 'success_page', 0 );
41
-	$page_id = absint( $page_id );
40
+	$page_id = wpinv_get_option('success_page', 0);
41
+	$page_id = absint($page_id);
42 42
 
43
-	return apply_filters( 'wpinv_get_success_page_uri', get_permalink( $page_id ) );
43
+	return apply_filters('wpinv_get_success_page_uri', get_permalink($page_id));
44 44
 }
45 45
 
46 46
 /**
@@ -49,156 +49,156 @@  discard block
 block discarded – undo
49 49
  * @param string $post_type The post type or invoice type.
50 50
  * @return string The history page URL.
51 51
  */
52
-function wpinv_get_history_page_uri( $post_type = 'wpi_invoice' ) {
53
-    $post_type = sanitize_key( str_replace( 'wpi_', '', $post_type ) );
54
-	$page_id   = wpinv_get_option( "{$post_type}_history_page", 0 );
55
-	$page_id   = absint( $page_id );
56
-	return apply_filters( 'wpinv_get_history_page_uri', get_permalink( $page_id ), $post_type );
52
+function wpinv_get_history_page_uri($post_type = 'wpi_invoice') {
53
+    $post_type = sanitize_key(str_replace('wpi_', '', $post_type));
54
+	$page_id   = wpinv_get_option("{$post_type}_history_page", 0);
55
+	$page_id   = absint($page_id);
56
+	return apply_filters('wpinv_get_history_page_uri', get_permalink($page_id), $post_type);
57 57
 }
58 58
 
59 59
 function wpinv_is_success_page() {
60
-	$is_success_page = wpinv_get_option( 'success_page', false );
61
-	$is_success_page = ! empty( $is_success_page ) ? is_page( $is_success_page ) : false;
60
+	$is_success_page = wpinv_get_option('success_page', false);
61
+	$is_success_page = !empty($is_success_page) ? is_page($is_success_page) : false;
62 62
 
63
-	return apply_filters( 'wpinv_is_success_page', $is_success_page );
63
+	return apply_filters('wpinv_is_success_page', $is_success_page);
64 64
 }
65 65
 
66 66
 function wpinv_is_invoice_history_page() {
67
-	$ret = wpinv_get_option( 'invoice_history_page', false );
68
-	$ret = $ret ? is_page( $ret ) : false;
69
-	return apply_filters( 'wpinv_is_invoice_history_page', $ret );
67
+	$ret = wpinv_get_option('invoice_history_page', false);
68
+	$ret = $ret ? is_page($ret) : false;
69
+	return apply_filters('wpinv_is_invoice_history_page', $ret);
70 70
 }
71 71
 
72 72
 function wpinv_is_subscriptions_history_page() {
73
-    $ret = wpinv_get_option( 'invoice_subscription_page', false );
74
-    $ret = $ret ? is_page( $ret ) : false;
75
-    return apply_filters( 'wpinv_is_subscriptions_history_page', $ret );
73
+    $ret = wpinv_get_option('invoice_subscription_page', false);
74
+    $ret = $ret ? is_page($ret) : false;
75
+    return apply_filters('wpinv_is_subscriptions_history_page', $ret);
76 76
 }
77 77
 
78 78
 /**
79 79
  * Redirects a user the success page.
80 80
  */
81
-function wpinv_send_to_success_page( $args = array() ) {
81
+function wpinv_send_to_success_page($args = array()) {
82 82
 
83
-    $args = wp_parse_args( $args );
83
+    $args = wp_parse_args($args);
84 84
 
85
-    if ( ! empty( $args['invoice_key'] ) ) {
86
-        $invoice = wpinv_get_invoice( $args['invoice_key'] );
85
+    if (!empty($args['invoice_key'])) {
86
+        $invoice = wpinv_get_invoice($args['invoice_key']);
87 87
 
88
-        if ( $invoice && $invoice->exists() ) {
88
+        if ($invoice && $invoice->exists()) {
89 89
             $success_page = $invoice->get_receipt_url();
90 90
         }
91 91
     }
92 92
 
93
-    if ( empty( $success_page ) ) {
93
+    if (empty($success_page)) {
94 94
         $success_page = wpinv_get_success_page_uri();
95 95
     }
96 96
 
97
-    $args['wpinv-notice'] = current( array_keys( wpinv_get_errors() ) );
97
+    $args['wpinv-notice'] = current(array_keys(wpinv_get_errors()));
98 98
 
99
-    $redirect = add_query_arg( $args, $success_page );
99
+    $redirect = add_query_arg($args, $success_page);
100 100
 
101
-    $redirect = apply_filters( 'wpinv_send_to_success_page_url', $redirect, $args, $success_page );
101
+    $redirect = apply_filters('wpinv_send_to_success_page_url', $redirect, $args, $success_page);
102 102
 
103
-    wp_redirect( $redirect );
103
+    wp_redirect($redirect);
104 104
     exit;
105 105
 }
106 106
 
107
-function wpinv_send_to_failed_page( $args = null ) {
107
+function wpinv_send_to_failed_page($args = null) {
108 108
 	$redirect = wpinv_get_failed_transaction_uri();
109 109
 
110
-    if ( ! empty( $args ) ) {
110
+    if (!empty($args)) {
111 111
         // Check for backward compatibility
112
-        if ( is_string( $args ) ) {
113
-            $args = str_replace( '?', '', $args );
112
+        if (is_string($args)) {
113
+            $args = str_replace('?', '', $args);
114 114
         }
115 115
 
116
-        $args = wp_parse_args( $args );
116
+        $args = wp_parse_args($args);
117 117
 
118
-        $redirect = add_query_arg( $args, $redirect );
118
+        $redirect = add_query_arg($args, $redirect);
119 119
     }
120 120
 
121
-    $gateway = isset( $_REQUEST['wpi-gateway'] ) ? $_REQUEST['wpi-gateway'] : '';
121
+    $gateway = isset($_REQUEST['wpi-gateway']) ? $_REQUEST['wpi-gateway'] : '';
122 122
 
123
-    $redirect = apply_filters( 'wpinv_failed_page_redirect', $redirect, $gateway, $args );
124
-    wp_redirect( $redirect );
123
+    $redirect = apply_filters('wpinv_failed_page_redirect', $redirect, $gateway, $args);
124
+    wp_redirect($redirect);
125 125
     exit;
126 126
 }
127 127
 
128
-function wpinv_get_checkout_uri( $args = array() ) {
129
-	$uri = wpinv_get_option( 'checkout_page', false );
130
-	$uri = isset( $uri ) ? get_permalink( $uri ) : null;
128
+function wpinv_get_checkout_uri($args = array()) {
129
+	$uri = wpinv_get_option('checkout_page', false);
130
+	$uri = isset($uri) ? get_permalink($uri) : null;
131 131
 
132
-	if ( ! empty( $args ) ) {
132
+	if (!empty($args)) {
133 133
 		// Check for backward compatibility
134
-		if ( is_string( $args ) ) {
135
-			$args = str_replace( '?', '', $args );
134
+		if (is_string($args)) {
135
+			$args = str_replace('?', '', $args);
136 136
         }
137 137
 
138
-		$args = wp_parse_args( $args );
138
+		$args = wp_parse_args($args);
139 139
 
140
-		$uri = add_query_arg( $args, $uri );
140
+		$uri = add_query_arg($args, $uri);
141 141
 	}
142 142
 
143
-	$scheme = defined( 'FORCE_SSL_ADMIN' ) && FORCE_SSL_ADMIN ? 'https' : 'admin';
143
+	$scheme = defined('FORCE_SSL_ADMIN') && FORCE_SSL_ADMIN ? 'https' : 'admin';
144 144
 
145
-	$ajax_url = admin_url( 'admin-ajax.php', $scheme );
145
+	$ajax_url = admin_url('admin-ajax.php', $scheme);
146 146
 
147
-	if ( ( ! preg_match( '/^https/', $uri ) && preg_match( '/^https/', $ajax_url ) ) || wpinv_is_ssl_enforced() ) {
148
-		$uri = preg_replace( '/^http:/', 'https:', $uri );
147
+	if ((!preg_match('/^https/', $uri) && preg_match('/^https/', $ajax_url)) || wpinv_is_ssl_enforced()) {
148
+		$uri = preg_replace('/^http:/', 'https:', $uri);
149 149
 	}
150 150
 
151
-	return apply_filters( 'wpinv_get_checkout_uri', $uri );
151
+	return apply_filters('wpinv_get_checkout_uri', $uri);
152 152
 }
153 153
 
154
-function wpinv_get_success_page_url( $query_string = null ) {
155
-	$success_page = wpinv_get_option( 'success_page', 0 );
156
-	$success_page = get_permalink( $success_page );
154
+function wpinv_get_success_page_url($query_string = null) {
155
+	$success_page = wpinv_get_option('success_page', 0);
156
+	$success_page = get_permalink($success_page);
157 157
 
158
-	if ( $query_string ) {
158
+	if ($query_string) {
159 159
 		$success_page .= $query_string;
160 160
     }
161 161
 
162
-	return apply_filters( 'wpinv_success_page_url', $success_page );
162
+	return apply_filters('wpinv_success_page_url', $success_page);
163 163
 }
164 164
 
165
-function wpinv_get_failed_transaction_uri( $extras = false ) {
166
-	$uri = wpinv_get_option( 'failure_page', '' );
167
-	$uri = ! empty( $uri ) ? trailingslashit( get_permalink( $uri ) ) : home_url();
165
+function wpinv_get_failed_transaction_uri($extras = false) {
166
+	$uri = wpinv_get_option('failure_page', '');
167
+	$uri = !empty($uri) ? trailingslashit(get_permalink($uri)) : home_url();
168 168
 
169
-	if ( $extras ) {
169
+	if ($extras) {
170 170
 		$uri .= $extras;
171 171
     }
172 172
 
173
-	return apply_filters( 'wpinv_get_failed_transaction_uri', $uri );
173
+	return apply_filters('wpinv_get_failed_transaction_uri', $uri);
174 174
 }
175 175
 
176 176
 function wpinv_is_failed_transaction_page() {
177
-	$ret = wpinv_get_option( 'failure_page', false );
178
-	$ret = isset( $ret ) ? is_page( $ret ) : false;
177
+	$ret = wpinv_get_option('failure_page', false);
178
+	$ret = isset($ret) ? is_page($ret) : false;
179 179
 
180
-	return apply_filters( 'wpinv_is_failure_page', $ret );
180
+	return apply_filters('wpinv_is_failure_page', $ret);
181 181
 }
182 182
 
183
-function wpinv_transaction_query( $type = 'start' ) {
183
+function wpinv_transaction_query($type = 'start') {
184 184
     global $wpdb;
185 185
 
186 186
     $wpdb->hide_errors();
187 187
 
188
-    if ( ! defined( 'WPINV_USE_TRANSACTIONS' ) ) {
189
-        define( 'WPINV_USE_TRANSACTIONS', true );
188
+    if (!defined('WPINV_USE_TRANSACTIONS')) {
189
+        define('WPINV_USE_TRANSACTIONS', true);
190 190
     }
191 191
 
192
-    if ( WPINV_USE_TRANSACTIONS ) {
193
-        switch ( $type ) {
192
+    if (WPINV_USE_TRANSACTIONS) {
193
+        switch ($type) {
194 194
             case 'commit':
195
-                $wpdb->query( 'COMMIT' );
195
+                $wpdb->query('COMMIT');
196 196
                 break;
197 197
             case 'rollback':
198
-                $wpdb->query( 'ROLLBACK' );
198
+                $wpdb->query('ROLLBACK');
199 199
                 break;
200 200
             default:
201
-                $wpdb->query( 'START TRANSACTION' );
201
+                $wpdb->query('START TRANSACTION');
202 202
                 break;
203 203
         }
204 204
     }
@@ -207,146 +207,146 @@  discard block
 block discarded – undo
207 207
 function wpinv_get_prefix() {
208 208
     $invoice_prefix = 'INV-';
209 209
 
210
-    return apply_filters( 'wpinv_get_prefix', $invoice_prefix );
210
+    return apply_filters('wpinv_get_prefix', $invoice_prefix);
211 211
 }
212 212
 
213 213
 function wpinv_get_business_logo() {
214
-    $business_logo = wpinv_get_option( 'logo' );
215
-    return apply_filters( 'wpinv_get_business_logo', $business_logo );
214
+    $business_logo = wpinv_get_option('logo');
215
+    return apply_filters('wpinv_get_business_logo', $business_logo);
216 216
 }
217 217
 
218 218
 function wpinv_get_business_name() {
219
-    $name = wpinv_get_option( 'store_name', wpinv_get_blogname() );
219
+    $name = wpinv_get_option('store_name', wpinv_get_blogname());
220 220
 
221
-    if ( empty( $name ) ) {
221
+    if (empty($name)) {
222 222
         $name = wpinv_get_blogname();
223 223
     }
224 224
 
225
-    return apply_filters( 'wpinv_get_business_name', $name );
225
+    return apply_filters('wpinv_get_business_name', $name);
226 226
 }
227 227
 
228 228
 function wpinv_get_blogname() {
229
-    return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
229
+    return wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
230 230
 }
231 231
 
232 232
 function wpinv_get_admin_email() {
233
-    $admin_email = wpinv_get_option( 'admin_email', get_option( 'admin_email' ) );
234
-    return apply_filters( 'wpinv_admin_email', $admin_email );
233
+    $admin_email = wpinv_get_option('admin_email', get_option('admin_email'));
234
+    return apply_filters('wpinv_admin_email', $admin_email);
235 235
 }
236 236
 
237 237
 function wpinv_get_business_website() {
238
-    $business_website = home_url( '/' );
239
-    return apply_filters( 'wpinv_get_business_website', $business_website );
238
+    $business_website = home_url('/');
239
+    return apply_filters('wpinv_get_business_website', $business_website);
240 240
 }
241 241
 
242
-function wpinv_get_terms_text( $invoice_id = 0 ) {
242
+function wpinv_get_terms_text($invoice_id = 0) {
243 243
     $terms_text = '';
244
-    return apply_filters( 'wpinv_get_terms_text', $terms_text, $invoice_id );
244
+    return apply_filters('wpinv_get_terms_text', $terms_text, $invoice_id);
245 245
 }
246 246
 
247 247
 function wpinv_get_business_footer() {
248
-    $site_link = '<a target="_blank" href="' . esc_url( wpinv_get_business_website() ) . '">' . esc_html( wpinv_get_business_name() ) . '</a>';
249
-    $business_footer = wp_sprintf( __( 'Thanks for using %s', 'invoicing' ), $site_link );
250
-    return apply_filters( 'wpinv_get_business_footer', $business_footer );
248
+    $site_link = '<a target="_blank" href="' . esc_url(wpinv_get_business_website()) . '">' . esc_html(wpinv_get_business_name()) . '</a>';
249
+    $business_footer = wp_sprintf(__('Thanks for using %s', 'invoicing'), $site_link);
250
+    return apply_filters('wpinv_get_business_footer', $business_footer);
251 251
 }
252 252
 
253 253
 function wpinv_checkout_required_fields() {
254 254
     $required_fields = array();
255 255
 
256 256
     // Let payment gateways and other extensions determine if address fields should be required
257
-    $require_billing_details = apply_filters( 'wpinv_checkout_required_billing_details', wpinv_use_taxes() );
257
+    $require_billing_details = apply_filters('wpinv_checkout_required_billing_details', wpinv_use_taxes());
258 258
 
259
-    if ( $require_billing_details ) {
260
-		if ( (bool)wpinv_get_option( 'fname_mandatory' ) ) {
259
+    if ($require_billing_details) {
260
+		if ((bool) wpinv_get_option('fname_mandatory')) {
261 261
 			$required_fields['first_name'] = array(
262 262
 				'error_id'      => 'invalid_first_name',
263
-				'error_message' => __( 'Please enter your first name', 'invoicing' ),
263
+				'error_message' => __('Please enter your first name', 'invoicing'),
264 264
 			);
265 265
 		}
266
-		if ( (bool)wpinv_get_option( 'address_mandatory' ) ) {
266
+		if ((bool) wpinv_get_option('address_mandatory')) {
267 267
 			$required_fields['address'] = array(
268 268
 				'error_id'      => 'invalid_address',
269
-				'error_message' => __( 'Please enter your address', 'invoicing' ),
269
+				'error_message' => __('Please enter your address', 'invoicing'),
270 270
 			);
271 271
 		}
272
-		if ( (bool)wpinv_get_option( 'city_mandatory' ) ) {
272
+		if ((bool) wpinv_get_option('city_mandatory')) {
273 273
 			$required_fields['city'] = array(
274 274
 				'error_id'      => 'invalid_city',
275
-				'error_message' => __( 'Please enter your billing city', 'invoicing' ),
275
+				'error_message' => __('Please enter your billing city', 'invoicing'),
276 276
 			);
277 277
 		}
278
-		if ( (bool)wpinv_get_option( 'state_mandatory' ) ) {
278
+		if ((bool) wpinv_get_option('state_mandatory')) {
279 279
 			$required_fields['state'] = array(
280 280
 				'error_id'      => 'invalid_state',
281
-				'error_message' => __( 'Please enter billing state / province', 'invoicing' ),
281
+				'error_message' => __('Please enter billing state / province', 'invoicing'),
282 282
 			);
283 283
 		}
284
-		if ( (bool)wpinv_get_option( 'country_mandatory' ) ) {
284
+		if ((bool) wpinv_get_option('country_mandatory')) {
285 285
 			$required_fields['country'] = array(
286 286
 				'error_id'      => 'invalid_country',
287
-				'error_message' => __( 'Please select your billing country', 'invoicing' ),
287
+				'error_message' => __('Please select your billing country', 'invoicing'),
288 288
 			);
289 289
 		}
290 290
     }
291 291
 
292
-    return apply_filters( 'wpinv_checkout_required_fields', $required_fields );
292
+    return apply_filters('wpinv_checkout_required_fields', $required_fields);
293 293
 }
294 294
 
295 295
 function wpinv_is_ssl_enforced() {
296
-    $ssl_enforced = wpinv_get_option( 'enforce_ssl', false );
297
-    return (bool) apply_filters( 'wpinv_is_ssl_enforced', $ssl_enforced );
296
+    $ssl_enforced = wpinv_get_option('enforce_ssl', false);
297
+    return (bool) apply_filters('wpinv_is_ssl_enforced', $ssl_enforced);
298 298
 }
299 299
 
300 300
 function wpinv_schedule_event_twicedaily() {
301 301
     wpinv_email_payment_reminders();
302 302
 }
303
-add_action( 'wpinv_register_schedule_event_daily', 'wpinv_schedule_event_twicedaily' );
303
+add_action('wpinv_register_schedule_event_daily', 'wpinv_schedule_event_twicedaily');
304 304
 
305 305
 function wpinv_require_login_to_checkout() {
306
-    $return = wpinv_get_option( 'login_to_checkout', false );
307
-    return (bool) apply_filters( 'wpinv_require_login_to_checkout', $return );
306
+    $return = wpinv_get_option('login_to_checkout', false);
307
+    return (bool) apply_filters('wpinv_require_login_to_checkout', $return);
308 308
 }
309 309
 
310
-function wpinv_sequential_number_active( $type = '' ) {
311
-    $check = apply_filters( 'wpinv_pre_check_sequential_number_active', null, $type );
312
-    if ( null !== $check ) {
310
+function wpinv_sequential_number_active($type = '') {
311
+    $check = apply_filters('wpinv_pre_check_sequential_number_active', null, $type);
312
+    if (null !== $check) {
313 313
         return $check;
314 314
     }
315 315
 
316
-    return wpinv_get_option( 'sequential_invoice_number' );
316
+    return wpinv_get_option('sequential_invoice_number');
317 317
 }
318 318
 
319
-function wpinv_switch_to_locale( $locale = null ) {
319
+function wpinv_switch_to_locale($locale = null) {
320 320
     global $invoicing, $wpi_switch_locale;
321 321
 
322
-    if ( ! empty( $invoicing ) && function_exists( 'switch_to_locale' ) ) {
323
-        $locale = empty( $locale ) ? get_locale() : $locale;
322
+    if (!empty($invoicing) && function_exists('switch_to_locale')) {
323
+        $locale = empty($locale) ? get_locale() : $locale;
324 324
 
325
-        switch_to_locale( $locale );
325
+        switch_to_locale($locale);
326 326
 
327 327
         $wpi_switch_locale = $locale;
328 328
 
329
-        add_filter( 'plugin_locale', 'get_locale' );
329
+        add_filter('plugin_locale', 'get_locale');
330 330
 
331 331
         $invoicing->load_textdomain();
332 332
 
333
-        do_action( 'wpinv_switch_to_locale', $locale );
333
+        do_action('wpinv_switch_to_locale', $locale);
334 334
     }
335 335
 }
336 336
 
337 337
 function wpinv_restore_locale() {
338 338
     global $invoicing, $wpi_switch_locale;
339 339
 
340
-    if ( ! empty( $invoicing ) && function_exists( 'restore_previous_locale' ) && $wpi_switch_locale ) {
340
+    if (!empty($invoicing) && function_exists('restore_previous_locale') && $wpi_switch_locale) {
341 341
         restore_previous_locale();
342 342
 
343 343
         $wpi_switch_locale = null;
344 344
 
345
-        remove_filter( 'plugin_locale', 'get_locale' );
345
+        remove_filter('plugin_locale', 'get_locale');
346 346
 
347 347
         $invoicing->load_textdomain();
348 348
 
349
-        do_action( 'wpinv_restore_locale' );
349
+        do_action('wpinv_restore_locale');
350 350
     }
351 351
 }
352 352
 
@@ -354,26 +354,26 @@  discard block
 block discarded – undo
354 354
  * Returns the default form's id.
355 355
  */
356 356
 function wpinv_get_default_payment_form() {
357
-    $form = get_option( 'wpinv_default_payment_form' );
357
+    $form = get_option('wpinv_default_payment_form');
358 358
 
359
-    if ( empty( $form ) || 'publish' != get_post_status( $form ) ) {
359
+    if (empty($form) || 'publish' != get_post_status($form)) {
360 360
         $form = wp_insert_post(
361 361
             array(
362 362
                 'post_type'   => 'wpi_payment_form',
363
-                'post_title'  => __( 'Checkout (default)', 'invoicing' ),
363
+                'post_title'  => __('Checkout (default)', 'invoicing'),
364 364
                 'post_status' => 'publish',
365 365
                 'meta_input'  => array(
366
-                    'wpinv_form_elements' => wpinv_get_data( 'default-payment-form' ),
366
+                    'wpinv_form_elements' => wpinv_get_data('default-payment-form'),
367 367
                     'wpinv_form_items'    => array(),
368 368
                 ),
369 369
             )
370 370
         );
371 371
 
372
-        update_option( 'wpinv_default_payment_form', $form );
372
+        update_option('wpinv_default_payment_form', $form);
373 373
     }
374 374
 
375 375
     // WPML support.
376
-    $form = apply_filters( 'wpml_object_id', $form, 'wpi_payment_form', true );
376
+    $form = apply_filters('wpml_object_id', $form, 'wpi_payment_form', true);
377 377
     return (int) $form;
378 378
 }
379 379
 
@@ -382,19 +382,19 @@  discard block
 block discarded – undo
382 382
  *
383 383
  * @param int $payment_form
384 384
  */
385
-function getpaid_get_payment_form_elements( $payment_form ) {
385
+function getpaid_get_payment_form_elements($payment_form) {
386 386
 
387
-    if ( empty( $payment_form ) ) {
388
-        return wpinv_get_data( 'sample-payment-form' );
387
+    if (empty($payment_form)) {
388
+        return wpinv_get_data('sample-payment-form');
389 389
     }
390 390
 
391
-    $form_elements = get_post_meta( $payment_form, 'wpinv_form_elements', true );
391
+    $form_elements = get_post_meta($payment_form, 'wpinv_form_elements', true);
392 392
 
393
-    if ( is_array( $form_elements ) ) {
393
+    if (is_array($form_elements)) {
394 394
         return $form_elements;
395 395
     }
396 396
 
397
-    return wpinv_get_data( 'sample-payment-form' );
397
+    return wpinv_get_data('sample-payment-form');
398 398
 
399 399
 }
400 400
 
@@ -403,65 +403,65 @@  discard block
 block discarded – undo
403 403
  *
404 404
  * @param int $payment_form
405 405
  */
406
-function gepaid_get_form_items( $id ) {
407
-    $form = new GetPaid_Payment_Form( $id );
406
+function gepaid_get_form_items($id) {
407
+    $form = new GetPaid_Payment_Form($id);
408 408
 
409 409
     // Is this a default form?
410
-    if ( $form->is_default() ) {
410
+    if ($form->is_default()) {
411 411
         return array();
412 412
     }
413 413
 
414
-    return $form->get_items( 'view', 'arrays' );
414
+    return $form->get_items('view', 'arrays');
415 415
 }
416 416
 
417 417
 /**
418 418
  * Trims each line in a paragraph.
419 419
  *
420 420
  */
421
-function gepaid_trim_lines( $content ) {
422
-    return implode( "\n", array_map( 'trim', explode( "\n", $content ) ) );
421
+function gepaid_trim_lines($content) {
422
+    return implode("\n", array_map('trim', explode("\n", $content)));
423 423
 }
424 424
 
425 425
 
426
-function wpinv_add_elementor_widget_categories( $elements_manager ) {
426
+function wpinv_add_elementor_widget_categories($elements_manager) {
427 427
     $elements_manager->add_category(
428 428
         'getpaid',
429 429
         array(
430
-            'title' => esc_html__( 'GetPaid', 'invoicing' ),
430
+            'title' => esc_html__('GetPaid', 'invoicing'),
431 431
             'icon'  => 'fa fa-plug',
432 432
         )
433 433
     );
434 434
 }
435
-add_filter( 'elementor/elements/categories_registered', 'wpinv_add_elementor_widget_categories' );
435
+add_filter('elementor/elements/categories_registered', 'wpinv_add_elementor_widget_categories');
436 436
 
437
-function wpinv_alter_elementor_widget_config( $config ) {
437
+function wpinv_alter_elementor_widget_config($config) {
438 438
 
439
-    if ( ! empty( $config['initial_document']['widgets'] ) ) {
440
-        foreach ( $config['initial_document']['widgets'] as $key => $widget ) {
441
-            if ( substr( $key, 0, 16 ) === 'wp-widget-wpinv_' || $key === 'wp-widget-getpaid' ) {
442
-                $config['initial_document']['widgets'][ $key ]['categories'][] = 'getpaid';
443
-                $config['initial_document']['widgets'][ $key ]['hide_on_search'] = false;
444
-                $config['initial_document']['widgets'][ $key ]['icon'] = 'eicon-globe'; //@todo if no icons use on page then font-awesome is not loaded, wif we can fifure out how to force load we can use icons. <i class="fas fa-globe-americas"></i><i class="fa-solid fa-earth-americas"></i>
439
+    if (!empty($config['initial_document']['widgets'])) {
440
+        foreach ($config['initial_document']['widgets'] as $key => $widget) {
441
+            if (substr($key, 0, 16) === 'wp-widget-wpinv_' || $key === 'wp-widget-getpaid') {
442
+                $config['initial_document']['widgets'][$key]['categories'][] = 'getpaid';
443
+                $config['initial_document']['widgets'][$key]['hide_on_search'] = false;
444
+                $config['initial_document']['widgets'][$key]['icon'] = 'eicon-globe'; //@todo if no icons use on page then font-awesome is not loaded, wif we can fifure out how to force load we can use icons. <i class="fas fa-globe-americas"></i><i class="fa-solid fa-earth-americas"></i>
445 445
             }
446 446
         }
447 447
     }
448 448
 
449 449
     return $config;
450 450
 }
451
-add_filter( 'elementor/editor/localize_settings', 'wpinv_alter_elementor_widget_config' );
451
+add_filter('elementor/editor/localize_settings', 'wpinv_alter_elementor_widget_config');
452 452
 
453 453
 function wpinv_get_report_graphs() {
454 454
 
455 455
     return apply_filters(
456 456
         'getpaid_report_graphs',
457 457
         array(
458
-            'sales'    => __( 'Earnings', 'invoicing' ),
459
-            'refunds'  => __( 'Refunds', 'invoicing' ),
460
-            'tax'      => __( 'Taxes', 'invoicing' ),
461
-            'fees'     => __( 'Fees', 'invoicing' ),
462
-            'discount' => __( 'Discounts', 'invoicing' ),
463
-            'invoices' => __( 'Invoices', 'invoicing' ),
464
-            'items'    => __( 'Purchased Items', 'invoicing' ),
458
+            'sales'    => __('Earnings', 'invoicing'),
459
+            'refunds'  => __('Refunds', 'invoicing'),
460
+            'tax'      => __('Taxes', 'invoicing'),
461
+            'fees'     => __('Fees', 'invoicing'),
462
+            'discount' => __('Discounts', 'invoicing'),
463
+            'invoices' => __('Invoices', 'invoicing'),
464
+            'items'    => __('Purchased Items', 'invoicing'),
465 465
         )
466 466
     );
467 467
 
Please login to merge, or discard this patch.
includes/class-wpinv-privacy-exporters.php 1 patch
Spacing   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Personal data exporters.
4 4
  */
5 5
 
6
-defined( 'ABSPATH' ) || exit;
6
+defined('ABSPATH') || exit;
7 7
 
8 8
 /**
9 9
  * WPInv_Privacy_Exporters Class.
@@ -17,39 +17,39 @@  discard block
 block discarded – undo
17 17
      * @param int    $page  Page.
18 18
      * @return array An array of invoice data in name value pairs
19 19
      */
20
-    public static function customer_invoice_data_exporter( $email_address, $page ) {
20
+    public static function customer_invoice_data_exporter($email_address, $page) {
21 21
         $done           = false;
22 22
         $page           = (int) $page;
23 23
         $data_to_export = array();
24 24
 
25
-        $user           = get_user_by( 'email', $email_address );
26
-        if ( ! $user instanceof WP_User ) {
25
+        $user           = get_user_by('email', $email_address);
26
+        if (!$user instanceof WP_User) {
27 27
             return array(
28 28
                 'data' => $data_to_export,
29 29
                 'done' => true,
30 30
             );
31 31
         }
32 32
 
33
-        $args    = array(
34
-            'limit'    => get_option( 'posts_per_page' ),
33
+        $args = array(
34
+            'limit'    => get_option('posts_per_page'),
35 35
             'page'     => $page,
36 36
             'user'     => $user->ID,
37 37
             'paginate' => false,
38 38
         );
39 39
 
40
-        $invoices = wpinv_get_invoices( $args );
40
+        $invoices = wpinv_get_invoices($args);
41 41
 
42
-        if ( 0 < count( $invoices ) ) {
43
-            foreach ( $invoices as $invoice ) {
42
+        if (0 < count($invoices)) {
43
+            foreach ($invoices as $invoice) {
44 44
                 $data_to_export[] = array(
45 45
                     'group_id'          => 'customer_invoices',
46
-                    'group_label'       => __( 'GetPaid: Invoices', 'invoicing' ),
47
-                    'group_description' => __( 'Customer invoices.', 'invoicing' ),
46
+                    'group_label'       => __('GetPaid: Invoices', 'invoicing'),
47
+                    'group_description' => __('Customer invoices.', 'invoicing'),
48 48
                     'item_id'           => "wpinv-{$invoice->get_id()}",
49
-                    'data'              => self::get_customer_invoice_data( $invoice ),
49
+                    'data'              => self::get_customer_invoice_data($invoice),
50 50
                 );
51 51
             }
52
-            $done = get_option( 'posts_per_page' ) > count( $invoices );
52
+            $done = get_option('posts_per_page') > count($invoices);
53 53
         } else {
54 54
             $done = true;
55 55
         }
@@ -67,116 +67,116 @@  discard block
 block discarded – undo
67 67
      * @param WPInv_Invoice $invoice invoice object.
68 68
      * @return array
69 69
      */
70
-    public static function get_customer_invoice_data( $invoice ) {
70
+    public static function get_customer_invoice_data($invoice) {
71 71
 
72 72
         // Prepare basic properties.
73 73
         $props_to_export = array(
74 74
             'number'       => array(
75
-                'name'  => __( 'Invoice Number', 'invoicing' ),
75
+                'name'  => __('Invoice Number', 'invoicing'),
76 76
                 'value' => $invoice->get_number(),
77 77
             ),
78 78
             'created_date' => array(
79
-                'name'  => __( 'Created Date', 'invoicing' ),
79
+                'name'  => __('Created Date', 'invoicing'),
80 80
                 'value' => $invoice->get_date_created(),
81 81
             ),
82 82
             'due_date'     => array(
83
-                'name'  => __( 'Due Date', 'invoicing' ),
83
+                'name'  => __('Due Date', 'invoicing'),
84 84
                 'value' => $invoice->get_due_date(),
85 85
             ),
86 86
             'items'        => array(
87
-                'name'  => __( 'Invoice Items', 'invoicing' ),
88
-                'value' => self::process_invoice_items( $invoice ),
87
+                'name'  => __('Invoice Items', 'invoicing'),
88
+                'value' => self::process_invoice_items($invoice),
89 89
             ),
90 90
             'discount'     => array(
91
-                'name'  => __( 'Invoice Discount', 'invoicing' ),
92
-                'value' => wpinv_price( $invoice->get_total_discount(), $invoice->get_currency() ),
91
+                'name'  => __('Invoice Discount', 'invoicing'),
92
+                'value' => wpinv_price($invoice->get_total_discount(), $invoice->get_currency()),
93 93
             ),
94 94
             'total'        => array(
95
-                'name'  => __( 'Invoice Total', 'invoicing' ),
96
-                'value' => wpinv_price( $invoice->get_total(), $invoice->get_currency() ),
95
+                'name'  => __('Invoice Total', 'invoicing'),
96
+                'value' => wpinv_price($invoice->get_total(), $invoice->get_currency()),
97 97
             ),
98 98
             'status'       => array(
99
-                'name'  => __( 'Invoice Status', 'invoicing' ),
99
+                'name'  => __('Invoice Status', 'invoicing'),
100 100
                 'value' => $invoice->get_status_nicename(),
101 101
             ),
102 102
             'first_name'   => array(
103
-                'name'  => __( 'First Name', 'invoicing' ),
103
+                'name'  => __('First Name', 'invoicing'),
104 104
                 'value' => $invoice->get_first_name(),
105 105
             ),
106 106
             'last_name'    => array(
107
-                'name'  => __( 'Last Name', 'invoicing' ),
107
+                'name'  => __('Last Name', 'invoicing'),
108 108
                 'value' => $invoice->get_last_name(),
109 109
             ),
110 110
             'email'        => array(
111
-                'name'  => __( 'Email Address', 'invoicing' ),
111
+                'name'  => __('Email Address', 'invoicing'),
112 112
                 'value' => $invoice->get_email(),
113 113
             ),
114 114
             'company'      => array(
115
-                'name'  => __( 'Company', 'invoicing' ),
115
+                'name'  => __('Company', 'invoicing'),
116 116
                 'value' => $invoice->get_company(),
117 117
             ),
118 118
             'phone'        => array(
119
-                'name'  => __( 'Phone Number', 'invoicing' ),
119
+                'name'  => __('Phone Number', 'invoicing'),
120 120
                 'value' => $invoice->get_phone(),
121 121
             ),
122 122
             'address'      => array(
123
-                'name'  => __( 'Address', 'invoicing' ),
123
+                'name'  => __('Address', 'invoicing'),
124 124
                 'value' => $invoice->get_address(),
125 125
             ),
126 126
             'city'         => array(
127
-                'name'  => __( 'City', 'invoicing' ),
127
+                'name'  => __('City', 'invoicing'),
128 128
                 'value' => $invoice->get_city(),
129 129
             ),
130 130
             'state'        => array(
131
-                'name'  => __( 'State', 'invoicing' ),
131
+                'name'  => __('State', 'invoicing'),
132 132
                 'value' => $invoice->get_state(),
133 133
             ),
134 134
             'zip'          => array(
135
-                'name'  => __( 'Zip', 'invoicing' ),
135
+                'name'  => __('Zip', 'invoicing'),
136 136
                 'value' => $invoice->get_zip(),
137 137
             ),
138 138
             'vat_number'   => array(
139
-                'name'  => __( 'VAT Number', 'invoicing' ),
139
+                'name'  => __('VAT Number', 'invoicing'),
140 140
                 'value' => $invoice->get_vat_number(),
141 141
             ),
142 142
             'description'  => array(
143
-                'name'  => __( 'Description', 'invoicing' ),
143
+                'name'  => __('Description', 'invoicing'),
144 144
                 'value' => $invoice->get_description(),
145 145
             ),
146 146
         );
147 147
 
148 148
         // In case the invoice is paid, add the payment date and gateway.
149
-        if ( $invoice->is_paid() ) {
149
+        if ($invoice->is_paid()) {
150 150
 
151 151
             $props_to_export['completed_date'] = array(
152
-                'name'  => __( 'Completed Date', 'invoicing' ),
152
+                'name'  => __('Completed Date', 'invoicing'),
153 153
                 'value' => $invoice->get_completed_date(),
154 154
             );
155 155
 
156 156
             $props_to_export['gateway'] = array(
157
-                'name'  => __( 'Paid Via', 'invoicing' ),
157
+                'name'  => __('Paid Via', 'invoicing'),
158 158
                 'value' => $invoice->get_gateway(),
159 159
             );
160 160
 
161 161
         }
162 162
 
163 163
         // Maybe add subscription details.
164
-        $props_to_export = self::process_subscription( $invoice, $props_to_export );
164
+        $props_to_export = self::process_subscription($invoice, $props_to_export);
165 165
 
166 166
         // Add the ip address.
167 167
         $props_to_export['ip'] = array(
168
-            'name'  => __( 'IP Address', 'invoicing' ),
168
+            'name'  => __('IP Address', 'invoicing'),
169 169
             'value' => $invoice->get_ip(),
170 170
         );
171 171
 
172 172
         // Add the invoice url.
173 173
         $props_to_export['view_url'] = array(
174
-            'name'  => __( 'Invoice URL', 'invoicing' ),
174
+            'name'  => __('Invoice URL', 'invoicing'),
175 175
             'value' => $invoice->get_view_url(),
176 176
         );
177 177
 
178 178
         // Return the values.
179
-        return apply_filters( 'getpaid_privacy_export_invoice_personal_data', array_values( $props_to_export ), $invoice );
179
+        return apply_filters('getpaid_privacy_export_invoice_personal_data', array_values($props_to_export), $invoice);
180 180
 
181 181
     }
182 182
 
@@ -188,40 +188,40 @@  discard block
 block discarded – undo
188 188
      * @param array $props invoice props.
189 189
      * @return array
190 190
      */
191
-    public static function process_subscription( $invoice, $props ) {
191
+    public static function process_subscription($invoice, $props) {
192 192
 
193
-        $subscription = wpinv_get_subscription( $invoice );
194
-        if ( ! empty( $subscription ) ) {
193
+        $subscription = wpinv_get_subscription($invoice);
194
+        if (!empty($subscription)) {
195 195
 
196
-            $frequency    = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency() );
197
-            $period       = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() ) . ' / ' . $frequency;
198
-            $initial_amt  = wpinv_price( $subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency() );
199
-            $bill_times   = $subscription->get_times_billed() . ' / ' . ( ( $subscription->get_bill_times() == 0 ) ? __( 'Until Cancelled', 'invoicing' ) : $subscription->get_bill_times() );
200
-            $renewal_date = getpaid_format_date_value( $subscription->get_expiration() );
196
+            $frequency    = getpaid_get_subscription_period_label($subscription->get_period(), $subscription->get_frequency());
197
+            $period       = wpinv_price($subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency()) . ' / ' . $frequency;
198
+            $initial_amt  = wpinv_price($subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency());
199
+            $bill_times   = $subscription->get_times_billed() . ' / ' . (($subscription->get_bill_times() == 0) ? __('Until Cancelled', 'invoicing') : $subscription->get_bill_times());
200
+            $renewal_date = getpaid_format_date_value($subscription->get_expiration());
201 201
 
202 202
             // Billing cycle.
203 203
             $props['period'] = array(
204
-                'name'  => __( 'Billing Cycle', 'invoicing' ),
204
+                'name'  => __('Billing Cycle', 'invoicing'),
205 205
                 'value' => $period,
206 206
             );
207 207
 
208 208
             // Initial amount.
209 209
             $props['initial_amount'] = array(
210
-                'name'  => __( 'Initial Amount', 'invoicing' ),
210
+                'name'  => __('Initial Amount', 'invoicing'),
211 211
                 'value' => $initial_amt,
212 212
             );
213 213
 
214 214
             // Bill times.
215 215
             $props['bill_times'] = array(
216
-                'name'  => __( 'Times Billed', 'invoicing' ),
216
+                'name'  => __('Times Billed', 'invoicing'),
217 217
                 'value' => $bill_times,
218 218
             );
219 219
 
220 220
             // Add expiry date.
221
-            if ( $subscription->is_active() ) {
221
+            if ($subscription->is_active()) {
222 222
 
223 223
                 $props['renewal_date'] = array(
224
-                    'name'  => __( 'Expires', 'invoicing' ),
224
+                    'name'  => __('Expires', 'invoicing'),
225 225
                     'value' => $renewal_date,
226 226
                 );
227 227
 
@@ -239,19 +239,19 @@  discard block
 block discarded – undo
239 239
      * @param WPInv_Invoice $invoice invoice object.
240 240
      * @return array
241 241
      */
242
-    public static function process_invoice_items( $invoice ) {
242
+    public static function process_invoice_items($invoice) {
243 243
 
244 244
         $item_names = array();
245
-        foreach ( $invoice->get_items() as $cart_item ) {
245
+        foreach ($invoice->get_items() as $cart_item) {
246 246
             $item_names[] = sprintf(
247 247
                 '%s x %s - %s',
248 248
                 $cart_item->get_name(),
249 249
                 $cart_item->get_quantity(),
250
-                wpinv_price( $invoice->is_renewal() ? $cart_item->get_recurring_sub_total() : $cart_item->get_sub_total(), $invoice->get_currency() )
250
+                wpinv_price($invoice->is_renewal() ? $cart_item->get_recurring_sub_total() : $cart_item->get_sub_total(), $invoice->get_currency())
251 251
             );
252 252
         }
253 253
 
254
-        return implode( ', ', $item_names );
254
+        return implode(', ', $item_names);
255 255
 
256 256
     }
257 257
 
Please login to merge, or discard this patch.