File: /var/www/html/insiders/wp-load/wp-content/plugins/gutenmate/settings/settings-page.php
<?php
function gtm_add_settings_menu() {
/* To create Data uri for icon
Open the file logo-icon.svg and set fill="#fff" before converting to data uri
*/
$icon = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiB2aWV3Qm94PSIwIDAgMjU2IDI1NiI+DQoJPHBhdGggZD0iTTE2MCwxODUuNjNWMjI0SDExOWMtMjIuNjksMC00MS43Ny0xNi42Ni00Mi40My0zNy44Ni0uNy0yMi40OCwxOC45My00MC44NCw0My00MC4xOUMxNDIuMTksMTQ2LjU3LDE2MCwxNjQuNDIsMTYwLDE4NS42M1pNMTgzLjgzLDY4Yy0yOC44MiwwLTUyLjE4LDIxLjg0LTUyLjE4LDQ4Ljc5YTQ1LjY2LDQ1LjY2LDAsMCwwLC45NSw5LjI2YzIxLjYzLDQuNjIsMzksMTkuNyw0NS42NiwzOS4yNSwxLjgzLjE4LDMuNjguMjgsNS41Ny4yOCwyOC44MSwwLDUyLjE3LTIxLjg0LDUyLjE3LTQ4Ljc5VjY4Wm0tNzYuNjUsNTguNjJhNjkuNTUsNjkuNTUsMCwwLDEtLjU4LTguOTRjMC0zMC43MSwyMC4yMy01Nyw0OC45LTY3Ljg2YTg0LjYxLDg0LjYxLDAsMCwwLTUzLTE4LjI5QzU3LjUsMzEuNTMsMjEsNjUuNjYsMjEsMTA3Ljc3VjE4NEg1N0M1NywxNTUuNjYsNzguNTcsMTMyLDEwNy4xOCwxMjYuNjJaIiBmaWxsPSIjZmZmZmZmIiAvPg0KPC9zdmc+DQo=';
$page_hook = add_menu_page( __( 'Gutenmate', 'gutenmate' ),
esc_html__( 'Gutenmate', 'gutenmate' ),
'manage_options',
'gutenmate_settings',
'gtm_settings_page_template_main',
$icon
);
}
add_action( 'admin_menu', 'gtm_add_settings_menu' );
/**
* Supress all notices for beautiful page
*/
add_action( 'current_screen', 'gtm_disable_notice_in_settings_page' );
function gtm_disable_notice_in_settings_page() {
$currentScreen = get_current_screen();
if ( $currentScreen->id === "toplevel_page_gutenmate_settings" ) {
gtm_suppress_admin_notices();
}
}
function gtm_suppress_admin_notices() {
add_action( 'admin_notices', function () {ob_start();}, 1 );
add_action( 'admin_notices', function () {ob_get_clean();}, 100 );
}
/**
* Main settings page
*/
function gtm_settings_page_template_main() {
?>
<div class="gtm-settings-page-header">
<div class="gtm-settings-page-header-inner">
<img width="344" height="74" src="<?php echo esc_url( GTM_URL . 'assets/img/logo.png' ) ?>" alt="<?php esc_attr_e( 'Gutenmate settings', 'gutenmate' )?>">
</div>
</div>
<div id="gtm-settings-page-notice"></div>
<div id="gtm-settings-page-body"></div>
<?php
}
add_action( 'admin_enqueue_scripts', 'gtm_settings_page_asset_main', 10, 1 );
function gtm_settings_page_asset_main( $hook_suffix ) {
if ( 'toplevel_page_gutenmate_settings' == $hook_suffix ) {
$asset_name = 'settings-main';
wp_enqueue_script( "gtm-$asset_name", GTM_URL . "build/$asset_name.js", ['wp-notices', 'wp-core-data', 'wp-api-fetch', 'wp-i18n', 'wp-components', 'wp-element', 'gtm-block-shared'], GTM_VERSION, true );
wp_enqueue_style( "gtm-$asset_name", GTM_URL . "build/$asset_name.css", array_merge( ['wp-components', 'gtm-block-shared-editor-style', 'gtm-block-editor-style'], gtm_get_icon_set_enqueue_handles() ) );
wp_localize_script( "gtm-$asset_name", 'gtm_available_icon_sets', GTM_Icon_Set::all() );
wp_localize_script( "gtm-$asset_name", 'gtm_asd_preview_url', esc_url( gtm_add_ads_demo_mode_link( get_site_url() ) ) );
}
}