PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 3.0.3
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v3.0.3
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 / app / src / Controllers / Admin / AffiliationReferrals / AffiliationReferralsController.php
surecart / app / src / Controllers / Admin / AffiliationReferrals Last commit date
AffiliationReferralsController.php 1 year ago AffiliationReferralsListTable.php 1 year ago AffiliationReferralsScriptsController.php 2 years ago
AffiliationReferralsController.php
155 lines
1 <?php
2
3 namespace SureCart\Controllers\Admin\AffiliationReferrals;
4
5 use SureCart\Controllers\Admin\AdminController;
6 use SureCart\Models\Referral;
7 use SureCartCore\Responses\RedirectResponse;
8
9 /**
10 * Handles affiliate referrals admin routes.
11 */
12 class AffiliationReferralsController extends AdminController {
13 /**
14 * Affiliate Referral index.
15 */
16 public function index() {
17 $table = new AffiliationReferralsListTable();
18 $table->prepare_items();
19
20 $this->withHeader(
21 array(
22 'breadcrumbs' => [
23 'affiliate_referrals' => [
24 'title' => __( 'Affiliate Referrals', 'surecart' ),
25 ],
26 ],
27 )
28 );
29
30 $this->withNotices(
31 array(
32 'approved' => esc_html__( 'Affiliate referral approved.', 'surecart' ),
33 'denied' => esc_html__( 'Affiliate referral denied.', 'surecart' ),
34 'deleted' => esc_html__( 'Affiliate referral deleted.', 'surecart' ),
35 'reviewing' => esc_html__( 'Affiliate referral is now in review.', 'surecart' ),
36 )
37 );
38
39 return \SureCart::view( 'admin/affiliation-referrals/index' )->with( [ 'table' => $table ] );
40 }
41
42 /**
43 * Edit an affiliate referral.
44 *
45 * @param \SureCartCore\Http\Request $request Request object.
46 *
47 * @return string
48 */
49 public function edit( $request ) {
50 // enqueue needed script.
51 add_action( 'admin_enqueue_scripts', \SureCart::closure()->method( AffiliationReferralsScriptsController::class, 'enqueue' ) );
52
53 $this->preloadPaths(
54 [
55 '/wp/v2/users/me',
56 '/wp/v2/types?context=view',
57 '/wp/v2/types?context=edit',
58 '/surecart/v1/affiliation_referrals/' . $request->query( 'id' ) . '?context=edit',
59 ]
60 );
61
62 // return view.
63 return '<div id ="app"></div>';
64 }
65
66 /**
67 * Delete an affiliate referral.
68 *
69 * @param \SureCartCore\Http\Request $request Request object.
70 *
71 * @return \SureCartCore\Responses\RedirectResponse
72 */
73 public function delete( $request ) {
74 $deleted = Referral::delete( $request->query( 'id' ) );
75
76 if ( is_wp_error( $deleted ) ) {
77 wp_die( implode( ' ', array_map( 'esc_html', $deleted->get_error_messages() ) ) );
78 }
79
80 return \SureCart::redirect()->to( add_query_arg( array( 'deleted' => true ), \SureCart::getUrl()->index( 'affiliate-referrals' ) ) );
81 }
82
83 /**
84 * Approve an affiliate referral.
85 *
86 * @param \SureCartCore\Http\Request $request Request object.
87 *
88 * @return \SureCartCore\Responses\RedirectResponse
89 */
90 public function approve( $request ) {
91 $approved = Referral::approve( $request->query( 'id' ) );
92
93 if ( is_wp_error( $approved ) ) {
94 wp_die( implode( ' ', array_map( 'esc_html', $approved->get_error_messages() ) ) );
95 }
96
97 $args = array_filter(
98 array(
99 'approved' => true,
100 'live_mode' => $request->query( 'live_mode' ),
101 )
102 );
103
104 return \SureCart::redirect()->to( add_query_arg( $args, \SureCart::getUrl()->index( 'affiliate-referrals' ) ) );
105 }
106
107 /**
108 * Deny an affiliate referral.
109 *
110 * @param \SureCartCore\Http\Request $request Request object.
111 *
112 * @return \SureCartCore\Responses\RedirectResponse
113 */
114 public function deny( $request ) {
115 $denied = Referral::deny( $request->query( 'id' ) );
116
117 if ( is_wp_error( $denied ) ) {
118 wp_die( implode( ' ', array_map( 'esc_html', $denied->get_error_messages() ) ) );
119 }
120
121 $args = array_filter(
122 array(
123 'denied' => true,
124 'live_mode' => $request->query( 'live_mode' ),
125 )
126 );
127
128 return \SureCart::redirect()->to( add_query_arg( $args, \SureCart::getUrl()->index( 'affiliate-referrals' ) ) );
129 }
130
131 /**
132 * Make an affiliate referral reviewing.
133 *
134 * @param \SureCartCore\Http\Request $request Request object.
135 *
136 * @return \SureCartCore\Responses\RedirectResponse
137 */
138 public function makeReviewing( $request ) {
139 $reviewing = Referral::make_reviewing( $request->query( 'id' ) );
140
141 if ( is_wp_error( $reviewing ) ) {
142 wp_die( implode( ' ', array_map( 'esc_html', $reviewing->get_error_messages() ) ) );
143 }
144
145 $args = array_filter(
146 array(
147 'reviewing' => true,
148 'live_mode' => $request->query( 'live_mode' ),
149 )
150 );
151
152 return \SureCart::redirect()->to( add_query_arg( $args, \SureCart::getUrl()->index( 'affiliate-referrals' ) ) );
153 }
154 }
155