PluginProbe
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 1.2.5
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v1.2.5
4.7.2 4.7.1 4.7.0 4.6.6 4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 All 281 releases
surecart / app / src / Controllers / Rest / CustomerLinksController.php
CustomerLinksController.php
42 lines 982 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace SureCart\Controllers\Rest;
4
5 use SureCart\Models\CustomerLink;
6
7 /**
8 * Handle Price requests through the REST API
9 */
10 class CustomerLinksController extends RestController {
11 /**
12 * Class to make the requests.
13 *
14 * @var string
15 */
16 protected $class = CustomerLink::class;
17
18 /**
19 * Create model.
20 *
21 * @param \WP_REST_Request $request Rest Request.
22 *
23 * @return \WP_REST_Response|\WP_Error
24 */
25 public function create( \WP_REST_Request $request ) {
26 $model = $this->middleware( new $this->class(), $request );
27 if ( is_wp_error( $model ) ) {
28 return $model;
29 }
30
31 $user = get_user_by( 'email', $request->get_param( 'email' ) );
32 if ( ! $user ) {
33 return new \WP_Error( 'invalid_email', 'Invalid email address.', [ 'status' => 400 ] );
34 }
35
36 // override email.
37 $request['email'] = $user->user_email;
38
39 return $model->where( $request->get_query_params() )->create( array_diff_assoc( $request->get_params(), $request->get_query_params() ) );
40 }
41 }
42