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 / app / src / Routing / PermalinkServiceProvider.php
surecart / app / src / Routing Last commit date
AdminRouteService.php 2 years ago AdminRouteServiceProvider.php 3 years ago AdminURLService.php 3 years ago PermalinkService.php 3 years ago PermalinkServiceProvider.php 2 years ago PermalinkSettingService.php 2 years ago PermalinksSettingsService.php 2 years ago RouteConditionsServiceProvider.php 3 years ago
PermalinkServiceProvider.php
121 lines
1 <?php
2
3 namespace SureCart\Routing;
4
5 use SureCartCore\ServiceProviders\ServiceProviderInterface;
6
7 /**
8 * Provide custom route conditions.
9 * This is an example class so feel free to modify or remove it.
10 */
11 class PermalinkServiceProvider implements ServiceProviderInterface {
12 /**
13 * Register all dependencies in the IoC container.
14 *
15 * @param \Pimple\Container $container Service container.
16 * @return void
17 */
18 public function register( $container ) {
19 $container['surecart.settings.permalinks.product'] = function() {
20 return new PermalinkSettingService(
21 [
22 'slug' => 'product',
23 'label' => __( 'SureCart Product Permalinks', 'surecart' ),
24 /* translators: %s: Home URL */
25 'description' => sprintf( __( 'If you like, you may enter custom structures for your product page URLs here. For example, using <code>products</code> would make your product buy links like <code>%sproducts/sample-product/</code>.', 'surecart' ), esc_url( home_url( '/' ) ) ),
26 'options' => [
27 [
28 'value' => 'products',
29 'label' => __( 'Default', 'surecart' ),
30 ],
31 [
32 'value' => 'shop',
33 'label' => __( 'Shop', 'surecart' ),
34 ],
35 ],
36 ]
37 );
38 };
39
40 $container['surecart.settings.permalinks.buy'] = function() {
41 return new PermalinkSettingService(
42 [
43 'slug' => 'buy',
44 'label' => __( 'SureCart Instant Checkout Permalinks', 'surecart' ),
45 /* translators: %s: Home URL */
46 'description' => sprintf( __( 'If you like, you may enter custom structures for your instant checkout URLs here. For example, using <code>buy</code> would make your product buy links like <code>%sbuy/sample-product/</code>.', 'surecart' ), esc_url( home_url( '/' ) ) ),
47 'options' => [
48 [
49 'value' => 'buy',
50 'label' => __( 'Default', 'surecart' ),
51 ],
52 [
53 'value' => 'purchase',
54 'label' => __( 'Purchase', 'surecart' ),
55 ],
56 ],
57 ]
58 );
59 };
60
61 $container['surecart.settings.permalinks.collection'] = function() {
62 return new PermalinkSettingService(
63 [
64 'slug' => 'collection',
65 'label' => __( 'SureCart Product Collection Permalinks', 'surecart' ),
66 /* translators: %s: Home URL */
67 'description' => sprintf( __( 'If you like, you may enter custom structures for your product page URLs here. For example, using <code>collections</code> would make your product collection links like <code>%scollections/sample-collection/</code>.', 'surecart' ), esc_url( home_url( '/' ) ) ),
68 'options' => [
69 [
70 'value' => 'collections',
71 'label' => __( 'Default', 'surecart' ),
72 ],
73 [
74 'value' => 'product-collections',
75 'label' => __( 'Product Collections', 'surecart' ),
76 ],
77 ],
78 'sample_preview_text' => 'sample-collection',
79 ]
80 );
81 };
82 }
83
84 /**
85 * Bootstrap any services if needed.
86 *
87 * @param \Pimple\Container $container Service container.
88 * @return void
89 */
90 public function bootstrap( $container ) {
91 $container['surecart.settings.permalinks.product']->bootstrap();
92 ( new PermalinkService() )
93 ->params( [ 'sc_product_page_id' ] )
94 ->url( untrailingslashit( \SureCart::settings()->permalinks()->getBase( 'product_page' ) ) . '/([a-z0-9-]+)[/]?$' )
95 ->query( 'index.php?sc_product_page_id=$matches[1]' )
96 ->create();
97
98 $container['surecart.settings.permalinks.buy']->bootstrap();
99 ( new PermalinkService() )
100 ->params( [ 'sc_checkout_product_id' ] )
101 ->url( untrailingslashit( \SureCart::settings()->permalinks()->getBase( 'buy_page' ) ) . '/([a-z0-9-]+)[/]?$' )
102 ->query( 'index.php?sc_checkout_product_id=$matches[1]' )
103 ->create();
104
105 // Collection.
106 $container['surecart.settings.permalinks.collection']->bootstrap();
107 ( new PermalinkService() )
108 ->params( [ 'sc_collection_page_id' ] )
109 ->url( untrailingslashit( \SureCart::settings()->permalinks()->getBase( 'collection_page' ) ) . '/([a-z0-9-]+)[/]?$' )
110 ->query( 'index.php?sc_collection_page_id=$matches[1]' )
111 ->create();
112
113 // Redirect.
114 ( new PermalinkService() )
115 ->params( [ 'sc_redirect' ] )
116 ->url( 'surecart/redirect' )
117 ->query( 'index.php?sc_redirect=1' )
118 ->create();
119 }
120 }
121