/** * Initializes the network admin settings page for multisite installs. * * @since 1.0 * @return void */ public static function init() { add_action('network_admin_menu', 'FLBuilderMultisiteSettings::menu'); if (isset($_REQUEST['page']) && $_REQUEST['page'] == 'fl-builder-multisite-settings') { add_action('admin_enqueue_scripts', 'FLBuilderAdminSettings::styles_scripts'); FLBuilderAdminSettings::save(); } }
/** * Saves the admin settings. * * @since 1.5.7 * @return void */ public static function save_admin_settings() { global $wpdb; // Templates override if (is_network_admin()) { $templates_override = sanitize_text_field($_POST['fl-templates-override']); if (empty($templates_override)) { $templates_override = false; } else { if (!is_numeric($templates_override)) { $templates_override = false; FLBuilderAdminSettings::add_error(__("Error! Please enter a number for the site ID.", 'fl-builder')); } else { if (!FLBuilderMultisite::blog_exists($templates_override)) { $templates_override = false; FLBuilderAdminSettings::add_error(__("Error! A site with that ID doesn't exist.", 'fl-builder')); } } } update_site_option('_fl_builder_templates_override', $templates_override); } else { if (!is_multisite()) { if (isset($_POST['fl-templates-override'])) { $templates_override = 1; } else { $templates_override = false; } update_site_option('_fl_builder_templates_override', $templates_override); } } // Row and module templates if (is_network_admin() || !is_multisite()) { update_site_option('_fl_builder_templates_override_rows', isset($_POST['fl-templates-override-rows'])); update_site_option('_fl_builder_templates_override_modules', isset($_POST['fl-templates-override-modules'])); } }
/** * Initializes the builder admin settings page. * * @since 1.0 * @return void */ public static function init_settings() { FLBuilderAdminSettings::init(); }
<div id="fl-editing-form" class="fl-settings-form"> <h3 class="fl-settings-form-header"><?php _e('Editing Settings', 'fl-builder'); ?> </h3> <form id="editing-form" action="<?php FLBuilderAdminSettings::render_form_action('editing'); ?> " method="post"> <?php if (FLBuilderAdminSettings::multisite_support() && !is_network_admin()) { ?> <label> <input class="fl-override-ms-cb" type="checkbox" name="fl-override-ms" value="1" <?php if (get_option('_fl_builder_editing_capability')) { echo 'checked="checked"'; } ?> /> <?php _e('Override network settings?', 'fl-builder'); ?> </label> <?php } ?> <div class="fl-settings-form-content">
/** * Updates an option from the admin settings page. * * @since 1.5.7 * @param string $key The option key. * @param mixed $value The value to update. * @param bool $network_override Whether to allow the network admin setting to be overridden on subsites. * @return mixed */ public static function update_admin_settings_option($key, $value, $network_override = true) { // Update the site-wide option since we're in the network admin. if (is_network_admin()) { update_site_option($key, $value); } else { if ($network_override && FLBuilderAdminSettings::multisite_support() && !isset($_POST['fl-override-ms'])) { delete_option($key); } else { update_option($key, $value); } } }
<div class="wrap <?php FLBuilderAdminSettings::render_page_class(); ?> "> <h2 class="fl-settings-heading"> <?php FLBuilderAdminSettings::render_page_heading(); ?> </h2> <?php FLBuilderAdminSettings::render_update_message(); ?> <div class="fl-settings-nav"> <ul> <?php FLBuilderAdminSettings::render_nav_items(); ?> </ul> </div> <div class="fl-settings-content"> <?php FLBuilderAdminSettings::render_forms(); ?> </div> </div>
</p> <?php if (is_multisite()) { ?> <p><strong style="color:#ff0000;"><?php _e('NOTE:', 'fl-builder'); ?> </strong> <?php _e('This applies to all sites on the network.', 'fl-builder'); ?> </p> <?php } ?> <form id="uninstall-form" action="<?php FLBuilderAdminSettings::render_form_action('uninstall'); ?> " method="post"> <p> <input type="submit" name="uninstall-submit" class="button button-primary" value="<?php _e('Uninstall', 'fl-builder'); ?> "> <?php wp_nonce_field('uninstall', 'fl-uninstall'); ?> </p> </form> </div>
<?php $settings = FLBuilderModel::get_help_button_settings(); ?> <div id="fl-help-button-form" class="fl-settings-form"> <h3 class="fl-settings-form-header"><?php _e('Help Button Settings', 'fl-builder'); ?> </h3> <form id="help-button-form" action="<?php FLBuilderAdminSettings::render_form_action('help-button'); ?> " method="post"> <div class="fl-settings-form-content"> <p> <label> <input type="checkbox" name="fl-help-button-enabled" value="1" <?php checked($settings['enabled'], 1); ?> /> <span><?php _e('Enable Help Button', 'fl-builder'); ?> </span> </label> </p>
<div id="fl-cache-form" class="fl-settings-form"> <h3 class="fl-settings-form-header"><?php _e('Cache', 'fl-builder'); ?> </h3> <form id="cache-form" action="<?php FLBuilderAdminSettings::render_form_action('cache'); ?> " method="post"> <div class="fl-settings-form-content"> <p><?php _e('A CSS and JavaScript file is dynamically generated and cached each time you create a new layout. Sometimes the cache needs to be refreshed when you migrate your site to another server or update to the latest version. If you are running into any issues, please try clearing the cache by clicking the button below.', 'fl-builder'); ?> </p> <?php if (is_network_admin()) { ?> <p><strong><?php _e('NOTE:', 'fl-builder'); ?> </strong> <?php _e('This applies to all sites on the network.', 'fl-builder'); ?> </p> <?php } elseif (!is_network_admin() && is_multisite()) {
<div id="fl-branding-form" class="fl-settings-form"> <form class="fl-settings-form-content" action="<?php FLBuilderAdminSettings::render_form_action('branding'); ?> " method="post"> <h3 class="fl-settings-form-header"><?php _e('Plugin Branding', 'fl-builder'); ?> </h3> <p><?php _e('White label the page builder plugin using the settings below.', 'fl-builder'); ?> </p> <h4><?php _e('Plugin Name', 'fl-builder'); ?> </h4> <input type="text" name="fl-branding" value="<?php echo esc_html(FLBuilderModel::get_branding()); ?> " class="regular-text" /> <h4><?php _e('Plugin Icon URL', 'fl-builder'); ?> </h4> <input type="text" name="fl-branding-icon" value="<?php echo esc_html(FLBuilderModel::get_branding_icon());