settings_api = new OCUC_Admin_Settings_API(); add_action( 'admin_menu', array( $this, 'uc_add_page_fn' ) ); add_action( 'network_admin_menu', array( $this, 'uc_add_page_fn' ) ); add_action( 'admin_head', array( $this, 'uc_menu_icon_css_fn' ) ); add_filter('user_can_richedit', '__return_true'); // Make sure rich editor is allowed add_action('wp_ajax_ocmm_save_settings', array( $this,'ocmm_handle_save_settings')); } // Add sub page to the Settings Menu public function uc_add_page_fn() { // @later-todo - move out as public var if getting used at multiple places $menu_title = __( 'Maintenance Mode', 'onecom-uc' ); add_menu_page( $menu_title, $menu_title, 'manage_options', 'onecom-wp-under-construction', array( $this, 'uc_page_fx' ), 'dashicons-admin-generic' ); } // add uc settings menu icon public function uc_menu_icon_css_fn() { define( 'OCUC_MENU_ICON_GREY', ONECOM_UC_DIR_URL . 'assets/images/uc-menu-icon-grey.svg' ); define( 'OCUC_MENU_ICON_BLUE', ONECOM_UC_DIR_URL . 'assets/images/uc-menu-icon-blue.svg' ); echo ""; return true; } // Display the admin options page public function uc_page_fx() { if ( is_multisite() ) { include_once ONECOM_UC_PLUGIN_URL . 'inc/multisite-support-banner.php'; } else { $premium_class = $this->settings_api->oc_premium() ? 'oc-premium' : 'oc-non-premium'; ?>
'No settings provided.' ] ); } $settings = json_decode( stripslashes( $_POST['settings'] ) , true ); if ( ! is_array( $settings ) ) { wp_send_json_error( [ 'message' => 'Invalid settings format.' ] ); } $settings_api = new OCUC_Admin_Settings_API(); if ( !$settings_api->oc_premium() ) { $settings = $settings_api->sanitize_options( $settings ); error_log(print_r($settings,true)); } // Save to a single option (example: 'onecom_under_construction_info') update_option( 'onecom_under_construction_info' , $settings ); wp_send_json_success( [ 'message' => 'Settings saved.' ] ); } }