PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 2.13.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v2.13.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 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / packages / blocks / Controllers / CustomerController.php
surecart / packages / blocks / Controllers Last commit date
BaseController.php 3 years ago ChargeController.php 3 years ago CustomerController.php 3 years ago DownloadController.php 3 years ago InvoiceController.php 3 years ago OrderController.php 2 years ago PaymentMethodController.php 2 years ago SubscriptionController.php 2 years ago UserController.php 3 years ago
CustomerController.php
136 lines
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 preview( $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 public function show() {
44 $back = add_query_arg( [ 'tab' => $this->getTab() ], remove_query_arg( array_keys( $_GET ) ) ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
45
46 ob_start(); ?>
47
48 <sc-spacing style="--spacing: var(--sc-spacing-large)">
49 <sc-breadcrumbs>
50 <sc-breadcrumb href="<?php echo esc_url( $back ); ?>">
51 <?php esc_html_e( 'Dashboard', 'surecart' ); ?>
52 </sc-breadcrumb>
53 <sc-breadcrumb>
54 <?php esc_html_e( 'Billing', 'surecart' ); ?>
55 </sc-breadcrumb>
56 </sc-breadcrumbs>
57
58
59 <?php echo ( new PaymentMethodController() )->index( [ 'title' => esc_html( 'Payment Methods', 'surecart' ) ], '' ); ?>
60
61 <?php echo $this->preview( [ 'title' => esc_html( 'Billing Details', 'surecart' ) ], '' ); ?>
62
63 </sc-spacing>
64
65 <?php
66 return ob_get_clean();
67 }
68
69 /**
70 * Show a view to add a payment method.
71 *
72 * @return function
73 */
74 public function edit() {
75 $back = add_query_arg( [ 'tab' => $this->getTab() ], remove_query_arg( array_keys( $_GET ) ) ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
76
77 $id = $this->getId();
78
79 if ( ! current_user_can( 'edit_sc_customer', $id, [] ) ) {
80 wp_die( 'You are not allowed to edit this customer', 'surecart' );
81 }
82
83 ob_start();
84 ?>
85
86 <sc-spacing style="--spacing: var(--sc-spacing-large)">
87 <sc-breadcrumbs>
88 <sc-breadcrumb href="<?php echo esc_url( $back ); ?>">
89 <?php esc_html_e( 'Dashboard', 'surecart' ); ?>
90 </sc-breadcrumb>
91 <sc-breadcrumb href="
92 <?php
93 echo esc_url(
94 add_query_arg(
95 [
96 'tab' => $this->getTab(),
97 'model' => 'customer',
98 'action' => 'show',
99 'id' => $this->getId(),
100 ],
101 remove_query_arg( array_keys( $_GET ) ) // phpcs:ignore WordPress.Security.NonceVerification.Recommended
102 )
103 );
104 ?>
105 ">
106 <?php esc_html_e( 'Billing', 'surecart' ); ?>
107 </sc-breadcrumb>
108 <sc-breadcrumb>
109 <?php esc_html_e( 'Billing Details', 'surecart' ); ?>
110 </sc-breadcrumb>
111 </sc-breadcrumbs>
112
113 <?php
114 $customer = Customer::with( [ 'shipping_address', 'billing_address', 'tax_identifier' ] )->find( $id );
115 if ( ! $customer ) {
116 return;
117 }
118 echo wp_kses_post(
119 Component::tag( 'sc-customer-edit' )
120 ->id( 'customer-customer-edit-live' )
121 ->with(
122 [
123 'header' => __( 'Update Billing Details', 'surecart' ),
124 'customer' => $customer,
125 'successUrl' => esc_url_raw( $back ),
126 ]
127 )->render()
128 );
129 ?>
130 </sc-spacing>
131
132 <?php
133 return ob_get_clean();
134 }
135 }
136