PluginProbe
WP Discourse / trunk
WP Discourse vtrunk
2.6.4 2.6.3 1.2.1 1.2.2 1.2.5 1.2.6 1.2.7 1.2.8 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.85 1.4.0 1.4.15 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 All 150 releases
wp-discourse / admin / admin.php

admin.php in WP Discourse trunk, at admin/admin.php

88 lines 3.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WP-Discourse admin settings
4 *
5 * @link https://github.com/discourse/wp-discourse/blob/master/lib/admin.php
6 * @package WPDiscourse
7 * @todo Review phpcs exclusions
8 */
9
10 namespace WPDiscourse\Admin;
11
12 if ( is_admin() ) {
13 require_once __DIR__ . '/admin-menu.php';
14 require_once __DIR__ . '/comment-settings.php';
15 require_once __DIR__ . '/configurable-text-settings.php';
16 require_once __DIR__ . '/connection-settings.php';
17 require_once __DIR__ . '/form-helper.php';
18 require_once __DIR__ . '/network-options.php';
19 require_once __DIR__ . '/options-page.php';
20 require_once __DIR__ . '/publish-settings.php';
21 require_once __DIR__ . '/settings-validator.php';
22 require_once __DIR__ . '/sso-settings.php';
23 require_once __DIR__ . '/webhook-settings.php';
24 require_once __DIR__ . '/admin-notice.php';
25 require_once __DIR__ . '/meta-box.php';
26 require_once __DIR__ . '/user-profile.php';
27 require_once __DIR__ . '/log-viewer.php';
28
29 $form_helper = FormHelper::get_instance();
30 $options_page = OptionsPage::get_instance();
31 new AdminMenu( $options_page, $form_helper );
32 if ( is_multisite() ) {
33 new NetworkOptions();
34 }
35 new ConnectionSettings( $form_helper );
36 new PublishSettings( $form_helper );
37 new CommentSettings( $form_helper );
38 new ConfigurableTextSettings( $form_helper );
39 new SSOSettings( $form_helper );
40 new WebhookSettings( $form_helper );
41 new SettingsValidator();
42 new AdminNotice();
43 new MetaBox();
44 new UserProfile();
45 new LogViewer( $form_helper );
46
47 add_action( 'admin_enqueue_scripts', __NAMESPACE__ . '\\enqueue_admin_scripts' );
48 if ( is_multisite() ) {
49 add_action( 'admin_print_scripts', __NAMESPACE__ . '\\enqueue_network_styles' );
50 }
51 } // End if().
52
53
54 /**
55 * Enqueue admin styles and scripts.
56 */
57 function enqueue_admin_scripts() {
58 $style_path = '/css/admin-styles.css';
59 wp_register_style( 'admin_styles', plugins_url( $style_path, __FILE__ ), array(), filemtime( plugin_dir_path( __FILE__ ) . $style_path ) );
60 wp_enqueue_style( 'admin_styles' );
61
62 $script_path = '/js/admin.js';
63 wp_register_script( 'admin_js', plugins_url( $script_path, __FILE__ ), array( 'jquery', 'tags-box' ), filemtime( plugin_dir_path( __FILE__ ) . $script_path ), true );
64 wp_enqueue_script( 'admin_js' );
65 $publishing_options = get_option( 'discourse_publish' );
66 $max_tags = ! isset( $publishing_options['max-tags'] ) ? 5 : $publishing_options['max-tags'];
67 $data = array(
68 'maxTags' => $max_tags,
69 'ajax' => admin_url( 'admin-ajax.php' ),
70 'nonce' => wp_create_nonce( 'admin-ajax-nonce' ),
71 );
72 wp_localize_script( 'admin_js', 'wpdc', $data );
73 }
74
75 /**
76 * Enqueue styles for network page.
77 */
78 function enqueue_network_styles() {
79 global $current_screen;
80 if ( ! $current_screen || ! $current_screen->in_admin( 'network' ) ) {
81
82 return;
83 }
84
85 wp_register_style( 'wp_discourse_network_admin', WPDISCOURSE_URL . '/admin/css/network-admin-styles.css' ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion
86 wp_enqueue_style( 'wp_discourse_network_admin' );
87 }
88