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 / Restore / RestoreController.php
surecart / app / src / Controllers / Admin / Restore Last commit date
RestoreController.php 2 years ago
RestoreController.php
89 lines
1 <?php
2
3 namespace SureCart\Controllers\Admin\Restore;
4
5 use SureCart\Controllers\Admin\AdminController;
6
7 /**
8 * Handles restore page admin requests.
9 */
10 class RestoreController extends AdminController {
11 /**
12 * Index.
13 *
14 * @param \SureCartCore\Requests\RequestInterface $request Request.
15 */
16 public function index( \SureCartCore\Requests\RequestInterface $request ) {
17 $restore = sanitize_text_field( wp_unslash( $request->query( 'restore' ) ) );
18 if ( empty( $restore ) ) {
19 wp_die( esc_html__( 'Invalid page selected. Please choose the correct page to restore.', 'surecart' ) );
20 }
21
22 $this->withHeader(
23 array(
24 'breadcrumbs' => [
25 'restore' => [
26 'title' => __( 'Restore', 'surecart' ),
27 ],
28 ],
29 )
30 );
31
32 return \SureCart::view( 'admin/restore/index' )
33 ->with(
34 [
35 'restore' => $restore,
36 ]
37 );
38 }
39
40 /**
41 * Restore.
42 *
43 * @param \SureCartCore\Requests\RequestInterface $request Request.
44 *
45 * @return function
46 */
47 public function restore( \SureCartCore\Requests\RequestInterface $request ) {
48 $page = $request->body( 'restore' );
49
50 if ( empty( $page ) ) {
51 wp_die( esc_html__( 'Invalid page selected. Please choose the correct page to restore.', 'surecart' ) );
52 }
53
54 $page_id = \SureCart::pages()->getId( $page, 'page' );
55
56 $post_status = get_post_status( $page_id );
57
58 if ( ! empty( get_post_status_object( $post_status )->label ) && ! empty( $page_id ) ) {
59 $restored = wp_update_post(
60 [
61 'ID' => $page_id,
62 'post_status' => 'publish',
63 ]
64 );
65 if ( is_wp_error( $restored ) ) {
66 wp_die( esc_html__( 'Unable to restore page. Please try again.', 'surecart' ) );
67 }
68
69 return \SureCart::redirect()->to( esc_url_raw( admin_url( 'post.php?post=' . $page_id . '&action=edit' ) ) );
70 }
71
72 $restore_functions = [
73 'checkout' => 'createPages',
74 'cart' => 'createCartPost',
75 'shop' => 'createShopPage',
76 'dashboard' => 'createPages',
77 ];
78
79 try {
80 \SureCart::page_seeder()->{$restore_functions[ $page ]}();
81 } catch ( \Exception $e ) {
82 wp_die( esc_html__( 'Unable to restore page. Please try again.', 'surecart' ) );
83 }
84
85 $page_id = (int) \SureCart::pages()->getId( $page, 'page' );
86 return \SureCart::redirect()->to( esc_url_raw( admin_url( 'post.php?post=' . $page_id . '&action=edit' ) ) );
87 }
88 }
89