PluginProbe ʕ •ᴥ•ʔ
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager / 4.1.41
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager v4.1.41
4.1.41 4.1.40 4.1.39 4.1.38 trunk 1.2 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.3.3 1.4 1.5 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 1.6.1 1.6.10 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.2 1.8.3 1.9.0 1.9.1 1.9.2 1.9.3 2.0.0 2.0.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.1.1 2.1.4 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.4.10 2.4.11 2.4.12 2.4.13 2.4.14 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.6.0 2.7.0 2.7.1 2.8.0 2.9.0 2.9.1 2.9.2 3.0.0 3.0.1 3.0.10 3.0.11 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.3.0 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.10 3.5.11 3.5.12 3.5.13 3.5.14 3.5.15 3.5.16 3.5.17 3.5.18 3.5.19 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 3.5.8 3.5.9 3.6.0 4.0.0 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.13 4.1.14 4.1.15 4.1.16 4.1.17 4.1.18 4.1.19 4.1.2 4.1.20 4.1.21 4.1.22 4.1.23 4.1.24 4.1.25 4.1.26 4.1.27 4.1.28 4.1.29 4.1.3 4.1.30 4.1.31 4.1.32 4.1.34 4.1.35 4.1.36 4.1.37 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9
flexible-checkout-fields / src / Marketing / SupportPage.php
flexible-checkout-fields / src / Marketing Last commit date
SupportPage.php 1 week ago
SupportPage.php
85 lines
1 <?php
2
3 namespace WPDesk\FCF\Free\Marketing;
4
5 use WPDesk\FCF\Free\Settings\Menu;
6 use WPDesk\FCF\Free\Settings\Page;
7 use WPDesk\FCF\Free\Service\TemplateLoader;
8 use FcfVendor\WPDesk\PluginBuilder\Plugin\Hookable;
9 use FcfVendor\WPDesk\Library\Marketing\Boxes\Assets;
10 use FcfVendor\WPDesk\Library\Marketing\Boxes\MarketingBoxes;
11
12 /**
13 * Add remote page with support and marketing content. This will be overwritten by the PRO version
14 * of the plugin.
15 */
16 class SupportPage implements Hookable {
17
18 /** @var TemplateLoader */
19 private $template;
20
21 public function __construct( TemplateLoader $template ) {
22 $this->template = $template;
23 }
24
25 public function hooks(): void {
26 add_action( 'flexible_checkout_fields/after_settings', [ $this, 'render_marketing_page' ] );
27 add_action( 'admin_enqueue_scripts', [ $this, 'load_assets_for_marketing_page' ] );
28 }
29
30 /**
31 * Check if the page should be rendered.
32 *
33 * @return bool
34 */
35 private function should_render_page(): bool {
36 if ( ! isset( $_GET['page'] ) || ( $_GET['page'] !== Page::SETTINGS_PAGE ) ) { // phpcs:ignore
37 return false;
38 }
39 $current_tab = $_GET['tab'] ?? Menu::MENU_TAB_SECTIONS; // phpcs:ignore
40
41 return Menu::MENU_TAB_MARKETING === $current_tab;
42 }
43
44 /**
45 * A function to render the marketing page.
46 */
47 public function render_marketing_page(): void {
48 if ( ! $this->should_render_page() ) {
49 return;
50 }
51
52 $local = \get_locale();
53 if ( $local === 'en_US' ) {
54 $local = 'en';
55 }
56 $plugin_slug = $this->is_pro_active() ? 'flexible-checkout-fields-pro' : 'flexible-checkout-fields';
57
58 echo $this->template->load_template( // phpcs:ignore
59 'marketing-page',
60 [
61 'boxes' => new MarketingBoxes( $plugin_slug, $local ), // phpcs:ignore
62 ]
63 );
64 }
65
66 /**
67 * Loads the assets for the marketing page.
68 *
69 * @return void
70 */
71 public function load_assets_for_marketing_page(): void {
72 Assets::enqueue_assets();
73 Assets::enqueue_owl_assets();
74 }
75
76 /**
77 * A function to check if the pro version is active.
78 *
79 * @return bool
80 */
81 private function is_pro_active(): bool {
82 return \is_plugin_active( 'flexible-checkout-fields-pro/flexible-checkout-fields-pro.php' );
83 }
84 }
85