base ) {
return;
}
$processed = get_user_meta( get_current_user_id(), '_astra_sites_gettings_started', true );
$product_name = Astra_Sites_White_Label::get_instance()->page_title( 'Astra' );
if ( $processed ) {
return;
}
?>
ready starter sites here ยป', 'astra-sites' ), $product_name, admin_url( 'themes.php?page=astra-sites' ) ); ?>
get_settings();
// New settings.
$new_data = array(
'page_builder' => ( isset( $_REQUEST['page_builder'] ) ) ? sanitize_key( $_REQUEST['page_builder'] ) : '',
);
// Merge settings.
$data = wp_parse_args( $new_data, $stored_data );
// Update settings.
update_option( 'astra_sites_settings', $data );
wp_redirect( admin_url( '/themes.php?page=astra-sites' ) );
}
}
/**
* Get single setting value
*
* @param string $key Setting key.
* @param mixed $defaults Setting value.
* @return mixed Stored setting value.
*/
function get_setting( $key = '', $defaults = '' ) {
$settings = $this->get_settings();
if ( empty( $settings ) ) {
return $defaults;
}
if ( array_key_exists( $key, $settings ) ) {
return $settings[ $key ];
}
return $defaults;
}
/**
* Get Settings
*
* @return array Stored settings.
*/
function get_settings() {
$defaults = array(
'page_builder' => '',
);
$stored_data = get_option( 'astra_sites_settings', $defaults );
return wp_parse_args( $stored_data, $defaults );
}
/**
* Admin settings init
*/
public function init_admin_settings() {
add_action( 'admin_menu', array( $this, 'add_admin_menu' ), 100 );
add_action( 'admin_notices', array( $this, 'notices' ) );
add_action( 'astra_sites_menu_general_action', array( $this, 'general_page' ) );
}
/**
* Admin notice
*
* @since 1.2.8
*/
public function notices() {
if ( 'appearance_page_astra-sites' !== get_current_screen()->id ) {
return;
}
if ( ! class_exists( 'XMLReader' ) ) {
?>
render_tab_menu( $action );
}
}
/**
* Render tab menu
*
* @param mixed $action Action name.
* @since 1.0.6
*/
public function render_tab_menu( $action = '' ) {
?>
view_actions ) ) {
$this->view_actions = apply_filters(
'astra_sites_menu_item',
array()
);
}
return $this->view_actions;
}
/**
* Prints HTML content for tabs
*
* @param mixed $action Action name.
* @since 1.0.6
*/
public function render( $action ) {
// Settings update message.
if ( isset( $_REQUEST['message'] ) && ( 'saved' == $_REQUEST['message'] || 'saved_ext' == $_REQUEST['message'] ) ) {
?>
get_setting( 'page_builder' );
if ( empty( $default_page_builder ) || isset( $_GET['change-page-builder'] ) ) {
$plugins = get_option( 'active_plugins', array() );
$page_builders = array();
if ( $plugins ) {
foreach ( $plugins as $key => $plugin_init ) {
if ( false !== strpos( $plugin_init, 'elementor' ) ) {
$page_builders[] = 'elementor';
}
if ( false !== strpos( $plugin_init, 'beaver-builder' ) ) {
$page_builders[] = 'beaver-builder';
}
if ( false !== strpos( $plugin_init, 'brizy' ) ) {
$page_builders[] = 'brizy';
}
}
}
$page_builders = array_unique( $page_builders );
$page_builders[] = 'gutenberg';
$page_builders = implode( ',', $page_builders );
?>
get_view_actions();
foreach ( $view_actions as $slug => $data ) {
if ( ! $data['show'] ) {
continue;
}
$url = $this->get_page_url( $slug );
if ( 'general' == $slug ) {
update_option( 'astra_parent_page_url', $url );
}
$active = ( $slug == $action ) ? 'nav-tab-active' : '';
?>
get_setting( 'page_builder' );
if ( empty( $default_page_builder ) || isset( $_GET['change-page-builder'] ) ) {
return;
}
require_once ASTRA_SITES_DIR . 'inc/includes/admin-page.php';
}
}
Astra_Sites_Page::get_instance();
}// End if.