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