PluginProbe
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 1.2.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v1.2.0
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 / packages / blocks / Controllers / CustomerController.php
CustomerController.php
92 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace SureCartBlocks\Controllers;
3
4 use SureCart\Models\Component;
5 use SureCart\Models\Customer;
6 use SureCart\Models\User;
7
8 /**
9 * Payment method block controller class.
10 */
11 class CustomerController extends BaseController {
12 /**
13 * List all payment methods.
14 *
15 * @param array $attributes Block attributes.
16 * @param string $content Block content.
17 *
18 * @return function
19 */
20 public function show( $attributes, $content ) {
21 if ( ! is_user_logged_in() ) {
22 return;
23 }
24
25 $output = '';
26
27 // show test.
28 if ( ! empty( User::current()->customerId( 'test' ) ) ) {
29 $output .= '<sc-dashboard-customer-details heading="' . esc_attr( $attributes['title'] ?? '' ) . '" customer-id="' . User::current()->customerId( 'test' ) . '"></sc-dashboard-customer-details>';
30 }
31 // show live.
32 if ( ! empty( User::current()->customerId( 'live' ) ) ) {
33 $output .= '<sc-dashboard-customer-details heading="' . esc_attr( $attributes['title'] ?? '' ) . '" customer-id="' . User::current()->customerId( 'live' ) . '"></sc-dashboard-customer-details>';
34 }
35 // show for non-customers.
36 if ( empty( $output ) ) {
37 $output .= '<sc-dashboard-customer-details heading="' . esc_attr( $attributes['title'] ?? '' ) . '" customer-id=""></sc-dashboard-customer-details>';
38 }
39
40 return $output;
41 }
42
43 /**
44 * Show a view to add a payment method.
45 *
46 * @return function
47 */
48 public function edit() {
49 $back = add_query_arg( [ 'tab' => $this->getTab() ], remove_query_arg( array_keys( $_GET ) ) ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
50
51 $id = $this->getId();
52
53 if ( ! current_user_can( 'edit_sc_customer', $id, [] ) ) {
54 wp_die( 'You are not allowed to edit this customer', 'surecart' );
55 }
56
57 ob_start(); ?>
58
59 <sc-spacing style="--spacing: var(--sc-spacing-large)">
60 <sc-breadcrumbs>
61 <sc-breadcrumb href="<?php echo esc_url( $back ); ?>">
62 <?php esc_html_e( 'Dashboard', 'surecart' ); ?>
63 </sc-breadcrumb>
64 <sc-breadcrumb>
65 <?php esc_html_e( 'Billing Details', 'surecart' ); ?>
66 </sc-breadcrumb>
67 </sc-breadcrumbs>
68
69 <?php
70 $customer = Customer::with( [ 'shipping_address', 'billing_address', 'tax_identifier' ] )->find( $id );
71 if ( ! $customer ) {
72 return;
73 }
74 echo wp_kses_post(
75 Component::tag( 'sc-customer-edit' )
76 ->id( 'customer-customer-edit-live' )
77 ->with(
78 [
79 'header' => __( 'Update Billing Details', 'surecart' ),
80 'customer' => $customer,
81 'successUrl' => esc_url_raw( $back ),
82 ]
83 )->render()
84 );
85 ?>
86 </sc-spacing>
87
88 <?php
89 return ob_get_clean();
90 }
91 }
92