PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 2.6.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v2.6.1
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 3 years ago PermalinkSettingService.php 3 years ago PermalinksSettingsService.php 3 years ago RouteConditionsServiceProvider.php 3 years ago
PermalinkServiceProvider.php
91 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
62 /**
63 * Bootstrap any services if needed.
64 *
65 * @param \Pimple\Container $container Service container.
66 * @return void
67 */
68 public function bootstrap( $container ) {
69 $container['surecart.settings.permalinks.product']->bootstrap();
70 ( new PermalinkService() )
71 ->params( [ 'sc_product_page_id' ] )
72 ->url( untrailingslashit( \SureCart::settings()->permalinks()->getBase( 'product_page' ) ) . '/([a-z0-9-]+)[/]?$' )
73 ->query( 'index.php?sc_product_page_id=$matches[1]' )
74 ->create();
75
76 $container['surecart.settings.permalinks.buy']->bootstrap();
77 ( new PermalinkService() )
78 ->params( [ 'sc_checkout_product_id' ] )
79 ->url( untrailingslashit( \SureCart::settings()->permalinks()->getBase( 'buy_page' ) ) . '/([a-z0-9-]+)[/]?$' )
80 ->query( 'index.php?sc_checkout_product_id=$matches[1]' )
81 ->create();
82
83 // Redirect.
84 ( new PermalinkService() )
85 ->params( [ 'sc_redirect' ] )
86 ->url( 'surecart/redirect' )
87 ->query( 'index.php?sc_redirect=1' )
88 ->create();
89 }
90 }
91