PluginProbe ʕ •ᴥ•ʔ
GenerateBlocks / 1.3.2
GenerateBlocks v1.3.2
trunk 1.0 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.7.0 1.7.1 1.7.2 1.7.3 1.8.0 1.8.1 1.8.2 1.8.3 1.9.0 1.9.1 2.0.0 2.0.1 2.0.2 2.1.0 2.1.1 2.1.2 2.2.0 2.2.1 2.3.0
generateblocks / includes / class-settings.php
generateblocks / includes Last commit date
class-do-css.php 5 years ago class-enqueue-css.php 5 years ago class-plugin-update.php 5 years ago class-render-blocks.php 5 years ago class-rest.php 5 years ago class-settings.php 5 years ago dashboard.php 5 years ago defaults.php 5 years ago functions.php 5 years ago general.php 5 years ago generate-css.php 5 years ago
class-settings.php
116 lines
1 <?php
2 /**
3 * Our settings page.
4 *
5 * @package GenerateBlocks
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit; // Exit if accessed directly.
10 }
11
12 /**
13 * Build our settings page.
14 */
15 class GenerateBlocks_Settings {
16 /**
17 * Instance.
18 *
19 * @access private
20 * @var object Instance
21 */
22 private static $instance;
23
24 /**
25 * Initiator.
26 *
27 * @return object initialized object of class.
28 */
29 public static function get_instance() {
30 if ( ! isset( self::$instance ) ) {
31 self::$instance = new self();
32 }
33
34 return self::$instance;
35 }
36
37 /**
38 * Constructor.
39 */
40 public function __construct() {
41 add_action( 'admin_menu', array( $this, 'add_menu' ) );
42 add_action( 'generateblocks_settings_area', array( $this, 'add_settings_container' ) );
43 }
44
45 /**
46 * Add our Dashboard menu item.
47 */
48 public function add_menu() {
49 $settings = add_submenu_page(
50 'generateblocks',
51 __( 'Settings', 'generateblocks' ),
52 __( 'Settings', 'generateblocks' ),
53 'manage_options',
54 'generateblocks-settings',
55 array( $this, 'settings_page' ),
56 1
57 );
58
59 add_action( "admin_print_scripts-$settings", array( $this, 'enqueue_scripts' ) );
60 }
61
62 /**
63 * Enqueue our scripts.
64 */
65 public function enqueue_scripts() {
66 wp_enqueue_script(
67 'generateblocks-settings',
68 GENERATEBLOCKS_DIR_URL . 'dist/dashboard.js',
69 array( 'wp-api', 'wp-i18n', 'wp-components', 'wp-element', 'wp-api-fetch' ),
70 GENERATEBLOCKS_VERSION,
71 true
72 );
73
74 if ( function_exists( 'wp_set_script_translations' ) ) {
75 wp_set_script_translations( 'generateblocks-settings', 'generateblocks' );
76 }
77
78 wp_localize_script(
79 'generateblocks-settings',
80 'generateBlocksSettings',
81 array(
82 'settings' => wp_parse_args(
83 get_option( 'generateblocks', array() ),
84 generateblocks_get_option_defaults()
85 ),
86 )
87 );
88 }
89
90 /**
91 * Add settings container.
92 *
93 * @since 1.2.0
94 */
95 public function add_settings_container() {
96 echo '<div id="gblocks-block-default-settings"></div>';
97 }
98
99 /**
100 * Output our Dashboard HTML.
101 *
102 * @since 0.1
103 */
104 public function settings_page() {
105 ?>
106 <div class="wrap gblocks-dashboard-wrap">
107 <div class="generateblocks-settings-area">
108 <?php do_action( 'generateblocks_settings_area' ); ?>
109 </div>
110 </div>
111 <?php
112 }
113 }
114
115 GenerateBlocks_Settings::get_instance();
116