PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.0.0
JetFormBuilder — Dynamic Blocks Form Builder v3.0.0
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 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.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / includes / admin / pages / stable-pages-manager.php
jetformbuilder / includes / admin / pages Last commit date
actions 3 years ago settings 3 years ago addons-page.php 3 years ago base-page.php 3 years ago pages-manager.php 3 years ago single-pages-manager.php 3 years ago stable-pages-manager.php 3 years ago
stable-pages-manager.php
102 lines
1 <?php
2
3
4 namespace Jet_Form_Builder\Admin\Pages;
5
6 use Jet_Form_Builder\Actions\Methods\Form_Record\Admin\Pages\Form_Records;
7 use Jet_Form_Builder\Admin\Pages\Settings\Settings_Page;
8 use Jet_Form_Builder\Classes\Http\Utm_Url;
9 use Jet_Form_Builder\Classes\Repository\Repository_Pattern_Trait;
10 use Jet_Form_Builder\Exceptions\Repository_Exception;
11 use Jet_Form_Builder\Gateways\Pages\Payments_Page;
12
13 class Stable_Pages_Manager {
14
15 use Repository_Pattern_Trait;
16
17 public function __construct() {
18 add_action( 'admin_menu', array( $this, 'add_pages' ) );
19 add_action( 'admin_menu', array( $this, 'add_static_pages' ) );
20 add_action( 'admin_head', array( $this, 'modify_item_styles') );
21 }
22
23 /**
24 * Register admin pages
25 */
26 public function rep_instances(): array {
27 return apply_filters(
28 'jet-form-builder/admin/pages',
29 array(
30 new Settings_Page(),
31 new Addons_Page(),
32 new Form_Records(),
33 )
34 );
35 }
36
37 /**
38 * @param Base_Page $item
39 *
40 * @throws Repository_Exception
41 */
42 public function rep_before_install_item( $item ) {
43 if ( ! $item->is_active() ) {
44 $this->_rep_abort_this();
45 }
46 }
47
48 protected function get_parent_slug(): string {
49 return 'edit.php?post_type=' . jet_form_builder()->post_type->slug();
50 }
51
52 /**
53 * Register appointments
54 */
55 public function add_pages() {
56 $parent = $this->get_parent_slug();
57
58 foreach ( $this->rep_get_items() as $page ) {
59 add_submenu_page(
60 $parent,
61 $page->title(),
62 $page->title(),
63 'manage_options',
64 $page->slug(),
65 array( $page, 'render' )
66 );
67 }
68 }
69
70 public function add_static_pages() {
71 $parent = $this->get_parent_slug();
72 $pages = array();
73
74 if ( ! jet_form_builder()->addons_manager->is_active() ) {
75 $utm = new Utm_Url( 'wp-dashboard/jetformbuilder-menu' );
76 $utm->set_campaign( 'go-pro-button' );
77
78 $pages[] = array(
79 'title' => __( 'Go PRO', 'jet-form-builder' ),
80 'capability' => 'manage_options',
81 'slug' => $utm->add_query( JET_FORM_BUILDER_SITE . '/pricing/' ),
82 );
83 }
84
85 foreach ( $pages as $page ) {
86 add_submenu_page(
87 $parent,
88 $page['title'],
89 $page['title'],
90 $page['capability'],
91 $page['slug']
92 );
93 }
94 }
95
96 public function modify_item_styles() {
97 echo '<style type="text/css">
98 #adminmenu #menu-posts-jet-form-builder a[href*="https://jetformbuilder.com"] { color: #F5C546; }
99 </style>';
100 }
101 }
102