/** * Astra Sites Compatibility for 'Astra Pro' * * @see https://wordpress.org/plugins/astra-pro/ * * @package Astra Sites * @since 1.0.0 */ if ( ! class_exists( 'Astra_Sites_Compatibility_Astra_Pro' ) ) : /** * Astra_Sites_Compatibility_Astra_Pro * * @since 1.0.0 */ class Astra_Sites_Compatibility_Astra_Pro { /** * Instance * * @access private * @var object Class object. * @since 1.0.0 */ private static $instance; /** * Initiator * * @since 1.0.0 * @return object initialized object of class. */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor * * @since 1.0.0 */ public function __construct() { add_action( 'astra_sites_after_plugin_activation', array( $this, 'astra_pro' ), 10, 2 ); add_action( 'astra_sites_import_start', array( $this, 'import_enabled_extension' ), 10, 2 ); add_action( 'astra_sites_import_complete', array( $this, 'clear_cache' ) ); } /** * Import * * @since 1.1.6 * @return void */ public function import() { if ( defined( 'WP_CLI' ) ) { WP_CLI::line( 'Processing "Astra Pro" Batch Import' ); } Astra_Sites_Importer_Log::add( '---- Processing Mapping - for Astra Pro ----' ); self::start_post_mapping(); } /** * Update Site Origin Active Widgets * * @since 1.0.0 * * @param string $plugin_init Plugin init file. * @param array $data Data. * @return void */ public function astra_pro( $plugin_init = '', $data = array() ) { if ( 'astra-addon/astra-addon.php' === $plugin_init && ! empty( $data ) ) { if ( is_array( $data ) ) { $data = json_decode( wp_json_encode( $data ), true ); } if ( isset( $data['enabled_extensions'] ) ) { $extensions = $data['enabled_extensions']; if ( ! empty( $extensions ) ) { if ( is_callable( 'Astra_Admin_Helper::update_admin_settings_option' ) ) { Astra_Admin_Helper::update_admin_settings_option( '_astra_ext_enabled_extensions', $extensions ); } } } } } /** * Import custom 404 section. * * @since 1.0.0 * @param array $demo_data Site all data render from API call. * @param array $demo_api_uri Demo URL. */ public function import_custom_404( $demo_data = array(), $demo_api_uri = '' ) { if ( isset( $demo_data['astra-custom-404'] ) ) { if ( is_callable( 'Astra_Admin_Helper::update_admin_settings_option' ) ) { $options_404 = $demo_data['astra-custom-404']; Astra_Admin_Helper::update_admin_settings_option( '_astra_ext_custom_404', $options_404 ); } } } /** * Import settings enabled Astra extensions from the demo. * * @since 1.0.0 * @param array $demo_data Site all data render from API call. * @param array $demo_api_uri Demo URL. */ public function import_enabled_extension( $demo_data = array(), $demo_api_uri = '' ) { if ( isset( $demo_data['astra-enabled-extensions'] ) ) { if ( is_callable( 'Astra_Admin_Helper::update_admin_settings_option' ) ) { Astra_Admin_Helper::update_admin_settings_option( '_astra_ext_enabled_extensions', $demo_data['astra-enabled-extensions'] ); } } } /** * Start post meta mapping of Astra Addon * * @since 1.1.6 * * @return null If there is no import option data found. */ public static function start_post_mapping() { $demo_data = get_option( 'astra_sites_import_data', array() ); if ( ! isset( $demo_data['astra-post-data-mapping'] ) ) { return; } $post_type = 'astra-advanced-hook'; $posts = ( isset( $demo_data['astra-post-data-mapping'][ $post_type ] ) ) ? $demo_data['astra-post-data-mapping'][ $post_type ] : array(); if ( ! empty( $posts ) ) { foreach ( $posts as $key => $post ) { $page = get_page_by_title( $post['post_title'], OBJECT, $post_type ); if ( is_object( $page ) ) { if ( defined( 'WP_CLI' ) ) { WP_CLI::line( 'Setting Location Rules for ' . $post['post_title'] ); } self::update_location_rules( $page->ID, 'ast-advanced-hook-location', $post['mapping']['ast-advanced-hook-location'] ); } } } $post_type = 'astra_adv_header'; $posts = ( isset( $demo_data['astra-post-data-mapping'][ $post_type ] ) ) ? $demo_data['astra-post-data-mapping'][ $post_type ] : array(); if ( ! empty( $posts ) ) { foreach ( $posts as $key => $post ) { $page = get_page_by_title( $post['post_title'], OBJECT, $post_type ); if ( is_object( $page ) ) { if ( defined( 'WP_CLI' ) ) { WP_CLI::line( 'Setting Location Rules for ' . $post['post_title'] ); } self::update_location_rules( $page->ID, 'ast-advanced-headers-location', $post['mapping']['ast-advanced-headers-location'] ); self::update_location_rules( $page->ID, 'ast-advanced-headers-exclusion', $post['mapping']['ast-advanced-headers-exclusion'] ); self::update_header_mapping( $page->ID, 'ast-advanced-headers-design', $post['mapping']['ast-advanced-headers-design'] ); } } } } /** * Update Header Mapping Data * * @since 1.1.6 * * @param int $post_id Post ID. * @param string $meta_key Post meta key. * @param array $mapping Mapping array. * @return void */ public static function update_header_mapping( $post_id = '', $meta_key = '', $mapping = array() ) { Astra_Sites_Importer_Log::add( 'Mapping "' . $meta_key . '" for ' . $post_id ); $headers_old = get_post_meta( $post_id, $meta_key, true ); $headers_new = self::get_header_mapping( $headers_old, $mapping ); update_post_meta( $post_id, $meta_key, $headers_new ); } /** * Update Location Rules * * @since 1.1.6 * * @param int $post_id Post ID. * @param string $meta_key Post meta key. * @param array $mapping Mapping array. * @return void */ public static function update_location_rules( $post_id = '', $meta_key = '', $mapping = array() ) { Astra_Sites_Importer_Log::add( 'Mapping "' . $meta_key . '" for ' . $post_id ); $location_new = self::get_location_mappings( $mapping ); update_post_meta( $post_id, $meta_key, $location_new ); } /** * Get mapping locations. * * @since 1.1.6 * * @param array $location Location data. * @return array Location mapping data. */ public static function get_location_mappings( $location = array() ) { if ( empty( $location ) ) { return $location; } if ( ! isset( $location['specific'] ) || empty( $location['specific'] ) ) { return $location; } $mapping = array(); if ( isset( $location['specific']['post'] ) ) { foreach ( $location['specific']['post'] as $post_type => $old_post_data ) { if ( is_array( $old_post_data ) ) { foreach ( $old_post_data as $post_key => $post ) { $post_object = get_page_by_path( $post['slug'] ); if ( $post_object ) { $mapping[] = 'post-' . absint( $post_object->ID ); } } } } } if ( isset( $location['specific']['tax'] ) ) { foreach ( $location['specific']['tax'] as $taxonomy_type => $old_term_data ) { if ( is_array( $old_term_data ) ) { foreach ( $old_term_data as $term_key => $term_data ) { $term = get_term_by( 'slug', $term_data['slug'], $taxonomy_type ); if ( is_object( $term ) ) { $mapping[] = 'tax-' . absint( $term->term_id ); } } } } } $location['specific'] = $mapping; return $location; } /** * Get advanced header mapping data * * @since 1.1.6 * * @param array $headers_old Header mapping stored data. * @param array $headers_data Header mapping data. * @return array Filtered header mapping data. */ public static function get_header_mapping( $headers_old = array(), $headers_data = array() ) { // Set menu location by menu slug. if ( isset( $headers_data['menus'] ) && ! empty( $headers_data['menus'] ) ) { foreach ( $headers_data['menus'] as $header_option_name => $menu_data ) { $term = get_term_by( 'slug', $menu_data['slug'], 'nav_menu' ); if ( is_object( $term ) ) { $headers_old[ $header_option_name ] = $term->term_id; } } } // Set image ID & URL after importing these on website. if ( isset( $headers_data['images'] ) && ! empty( $headers_data['images'] ) ) { foreach ( $headers_data['images'] as $key => $image_data ) { if ( isset( $image_data['image'] ) && ! empty( $image_data['image'] ) ) { $downloaded_image = Astra_Sites_Image_Importer::get_instance()->import( $image_data['image'] ); $headers_old[ $image_data['key_map']['url'] ] = $downloaded_image['url']; $headers_old[ $image_data['key_map']['id'] ] = $downloaded_image['id']; } } } return $headers_old; } /** * Clear Cache * * @since 1.2.3 * @return void */ public function clear_cache() { if ( is_callable( 'Astra_Minify::refresh_assets' ) ) { Astra_Minify::refresh_assets(); } } } /** * Kicking this off by calling 'get_instance()' method */ Astra_Sites_Compatibility_Astra_Pro::get_instance(); endif;.select2-container { box-sizing: border-box; display: inline-block; margin: 0; position: relative; vertical-align: middle; } .select2-container .select2-selection--single { box-sizing: border-box; cursor: pointer; display: block; height: 28px; user-select: none; -webkit-user-select: none; } .select2-container .select2-selection--single .select2-selection__rendered { display: block; padding-left: 8px; padding-right: 20px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .select2-container .select2-selection--single .select2-selection__clear { position: relative; } .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { padding-right: 8px; padding-left: 20px; } .select2-container .select2-selection--multiple { box-sizing: border-box; cursor: pointer; display: block; min-height: 32px; user-select: none; -webkit-user-select: none; } .select2-container .select2-selection--multiple .select2-selection__rendered { display: inline-block; overflow: hidden; padding-left: 8px; text-overflow: ellipsis; white-space: nowrap; } .select2-container .select2-search--inline { float: left; } .select2-container .select2-search--inline .select2-search__field { box-sizing: border-box; border: none; font-size: 100%; margin-top: 5px; padding: 0; } .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { -webkit-appearance: none; } .select2-dropdown { background-color: white; border: 1px solid #aaa; border-radius: 4px; box-sizing: border-box; display: block; position: absolute; left: -100000px; width: 100%; z-index: 1051; } .select2-results { display: block; } .select2-results__options { list-style: none; margin: 0; padding: 0; } .select2-results__option { padding: 6px; user-select: none; -webkit-user-select: none; } .select2-results__option[data-selected] { cursor: pointer; } .select2-container--open .select2-dropdown { left: 0; } .select2-container--open .select2-dropdown--above { border-bottom: none; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .select2-container--open .select2-dropdown--below { border-top: none; border-top-left-radius: 0; border-top-right-radius: 0; } .select2-search--dropdown { display: block; padding: 4px; } .select2-search--dropdown .select2-search__field { padding: 4px; width: 100%; box-sizing: border-box; } .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { -webkit-appearance: none; } .select2-search--dropdown.select2-search--hide { display: none; } .select2-close-mask { border: 0; margin: 0; padding: 0; display: block; position: fixed; left: 0; top: 0; min-height: 100%; min-width: 100%; height: auto; width: auto; opacity: 0; z-index: 99; background-color: #fff; filter: alpha(opacity=0); } .select2-hidden-accessible { border: 0 !important; clip: rect(0 0 0 0) !important; height: 1px !important; margin: -1px !important; overflow: hidden !important; padding: 0 !important; position: absolute !important; width: 1px !important; } .select2-container--default .select2-selection--single { background-color: #fff; border: 1px solid #aaa; border-radius: 4px; } .select2-container--default .select2-selection--single .select2-selection__rendered { color: #444; line-height: 28px; } .select2-container--default .select2-selection--single .select2-selection__clear { cursor: pointer; float: right; font-weight: bold; } .select2-container--default .select2-selection--single .select2-selection__placeholder { color: #999; } .select2-container--default .select2-selection--single .select2-selection__arrow { height: 26px; position: absolute; top: 1px; right: 1px; width: 20px; } .select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: #888 transparent transparent transparent; border-style: solid; border-width: 5px 4px 0 4px; height: 0; left: 50%; margin-left: -4px; margin-top: -2px; position: absolute; top: 50%; width: 0; } .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { float: left; } .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { left: 1px; right: auto; } .select2-container--default.select2-container--disabled .select2-selection--single { background-color: #eee; cursor: default; } .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { display: none; } .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { border-color: transparent transparent #888 transparent; border-width: 0 4px 5px 4px; } .select2-container--default .select2-selection--multiple { background-color: white; border: 1px solid #aaa; border-radius: 4px; cursor: text; } .select2-container--default .select2-selection--multiple .select2-selection__rendered { box-sizing: border-box; list-style: none; margin: 0; padding: 0 5px; width: 100%; } .select2-container--default .select2-selection--multiple .select2-selection__rendered li { list-style: none; } .select2-container--default .select2-selection--multiple .select2-selection__placeholder { color: #999; margin-top: 5px; float: left; } .select2-container--default .select2-selection--multiple .select2-selection__clear { cursor: pointer; float: right; font-weight: bold; margin-top: 5px; margin-right: 10px; } .select2-container--default .select2-selection--multiple .select2-selection__choice { background-color: #e4e4e4; border: 1px solid #aaa; border-radius: 4px; cursor: default; float: left; margin-right: 5px; margin-top: 5px; padding: 0 5px; } .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { color: #999; cursor: pointer; display: inline-block; font-weight: bold; margin-right: 2px; } .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { color: #333; } .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { float: right; } .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { margin-left: 5px; margin-right: auto; } .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { margin-left: 2px; margin-right: auto; } .select2-container--default.select2-container--focus .select2-selection--multiple { border: solid black 1px; outline: 0; } .select2-container--default.select2-container--disabled .select2-selection--multiple { background-color: #eee; cursor: default; } .select2-container--default.select2-container--disabled .select2-selection__choice__remove { display: none; } .select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { border-top-left-radius: 0; border-top-right-radius: 0; } .select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .select2-container--default .select2-search--dropdown .select2-search__field { border: 1px solid #aaa; } .select2-container--default .select2-search--inline .select2-search__field { background: transparent; border: none; outline: 0; box-shadow: none; -webkit-appearance: textfield; } .select2-container--default .select2-results > .select2-results__options { max-height: 200px; overflow-y: auto; } .select2-container--default .select2-results__option[role=group] { padding: 0; } .select2-container--default .select2-results__option[aria-disabled=true] { color: #999; } .select2-container--default .select2-results__option[data-selected=true] { background-color: #ddd; } .select2-container--default .select2-results__option .select2-results__option { padding-left: 1em; } .select2-container--default .select2-results__option .select2-results__option .select2-results__group { padding-left: 0; } .select2-container--default .select2-results__option .select2-results__option .select2-results__option { margin-left: -1em; padding-left: 2em; } .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { margin-left: -2em; padding-left: 3em; } .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { margin-left: -3em; padding-left: 4em; } .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { margin-left: -4em; padding-left: 5em; } .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { margin-left: -5em; padding-left: 6em; } .select2-container--default .select2-results__option--highlighted[data-selected] { background-color: #5897fb; color: white; } .select2-container--default .select2-results__group { cursor: default; display: block; padding: 6px; } .select2-container--classic .select2-selection--single { background-color: #f7f7f7; border: 1px solid #aaa; border-radius: 4px; outline: 0; background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } .select2-container--classic .select2-selection--single:focus { border: 1px solid #5897fb; } .select2-container--classic .select2-selection--single .select2-selection__rendered { color: #444; line-height: 28px; } .select2-container--classic .select2-selection--single .select2-selection__clear { cursor: pointer; float: right; font-weight: bold; margin-right: 10px; } .select2-container--classic .select2-selection--single .select2-selection__placeholder { color: #999; } .select2-container--classic .select2-selection--single .select2-selection__arrow { background-color: #ddd; border: none; border-left: 1px solid #aaa; border-top-right-radius: 4px; border-bottom-right-radius: 4px; height: 26px; position: absolute; top: 1px; right: 1px; width: 20px; background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } .select2-container--classic .select2-selection--single .select2-selection__arrow b { border-color: #888 transparent transparent transparent; border-style: solid; border-width: 5px 4px 0 4px; height: 0; left: 50%; margin-left: -4px; margin-top: -2px; position: absolute; top: 50%; width: 0; } .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { float: left; } .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { border: none; border-right: 1px solid #aaa; border-radius: 0; border-top-left-radius: 4px; border-bottom-left-radius: 4px; left: 1px; right: auto; } .select2-container--classic.select2-container--open .select2-selection--single { border: 1px solid #5897fb; } .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { background: transparent; border: none; } .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { border-color: transparent transparent #888 transparent; border-width: 0 4px 5px 4px; } .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { border-top: none; border-top-left-radius: 0; border-top-right-radius: 0; background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } .select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { border-bottom: none; border-bottom-left-radius: 0; border-bottom-right-radius: 0; background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } .select2-container--classic .select2-selection--multiple { background-color: white; border: 1px solid #aaa; border-radius: 4px; cursor: text; outline: 0; } .select2-container--classic .select2-selection--multiple:focus { border: 1px solid #5897fb; } .select2-container--classic .select2-selection--multiple .select2-selection__rendered { list-style: none; margin: 0; padding: 0 5px; } .select2-container--classic .select2-selection--multiple .select2-selection__clear { display: none; } .select2-container--classic .select2-selection--multiple .select2-selection__choice { background-color: #e4e4e4; border: 1px solid #aaa; border-radius: 4px; cursor: default; float: left; margin-right: 5px; margin-top: 5px; padding: 0 5px; } .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { color: #888; cursor: pointer; display: inline-block; font-weight: bold; margin-right: 2px; } .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { color: #555; } .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { float: right; } .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { margin-left: 5px; margin-right: auto; } .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { margin-left: 2px; margin-right: auto; } .select2-container--classic.select2-container--open .select2-selection--multiple { border: 1px solid #5897fb; } .select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { border-top: none; border-top-left-radius: 0; border-top-right-radius: 0; } .select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { border-bottom: none; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .select2-container--classic .select2-search--dropdown .select2-search__field { border: 1px solid #aaa; outline: 0; } .select2-container--classic .select2-search--inline .select2-search__field { outline: 0; box-shadow: none; } .select2-container--classic .select2-dropdown { background-color: white; border: 1px solid transparent; } .select2-container--classic .select2-dropdown--above { border-bottom: none; } .select2-container--classic .select2-dropdown--below { border-top: none; } .select2-container--classic .select2-results > .select2-results__options { max-height: 200px; overflow-y: auto; } .select2-container--classic .select2-results__option[role=group] { padding: 0; } .select2-container--classic .select2-results__option[aria-disabled=true] { color: grey; } .select2-container--classic .select2-results__option--highlighted[data-selected] { background-color: #3875d7; color: white; } .select2-container--classic .select2-results__group { cursor: default; display: block; padding: 6px; } .select2-container--classic.select2-container--open .select2-dropdown { border-color: #5897fb; } /** * Intelligent Starter Templates * * @since 3.0.0 * @package Astra Sites */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } if ( ! defined( 'INTELLIGENT_TEMPLATES_FILE' ) ) { define( 'INTELLIGENT_TEMPLATES_FILE', __FILE__ ); } if ( ! defined( 'INTELLIGENT_TEMPLATES_BASE' ) ) { define( 'INTELLIGENT_TEMPLATES_BASE', plugin_basename( INTELLIGENT_TEMPLATES_FILE ) ); } if ( ! defined( 'INTELLIGENT_TEMPLATES_DIR' ) ) { define( 'INTELLIGENT_TEMPLATES_DIR', plugin_dir_path( INTELLIGENT_TEMPLATES_FILE ) ); } if ( ! defined( 'INTELLIGENT_TEMPLATES_URI' ) ) { define( 'INTELLIGENT_TEMPLATES_URI', plugins_url( '/', INTELLIGENT_TEMPLATES_FILE ) ); } require_once INTELLIGENT_TEMPLATES_DIR . 'class-onboarding-loader.php';{ "name": "symfony/deprecation-contracts", "type": "library", "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "license": "MIT", "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "require": { "php": ">=7.1" }, "autoload": { "files": [ "function.php" ] }, "minimum-stability": "dev", "extra": { "branch-alias": { "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", "url": "https://github.com/symfony/contracts" } } } /** * Theme Update * * @package Astra * @author Astra * @copyright Copyright (c) 2020, Astra * @link https://wpastra.com/ * @since Astra 1.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } if ( ! class_exists( 'Astra_Theme_Update' ) ) { /** * Astra_Theme_Update initial setup * * @since 1.0.0 */ class Astra_Theme_Update { /** * Class instance. * * @access private * @var $instance Class instance. */ private static $instance; /** * Process All * * @since 2.0.0 * @var object Class object. * @access public */ public static $process_all; /** * Initiator */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor */ public function __construct() { // Theme Updates. if ( is_admin() ) { add_action( 'admin_init', __CLASS__ . '::init', 5 ); } else { add_action( 'wp', __CLASS__ . '::init', 5 ); } add_action( 'init', __CLASS__ . '::astra_pro_compatibility' ); } /** * Implement theme update logic. * * @since 1.0.0 */ public static function init() { do_action( 'astra_update_before' ); // Get auto saved version number. $saved_version = astra_get_option( 'theme-auto-version', false ); // If there is no saved version in the database then return. if ( false === $saved_version ) { return; } // If equals then return. if ( version_compare( $saved_version, ASTRA_THEME_VERSION, '=' ) ) { return; } // Update to older version than 1.0.4 version. if ( version_compare( $saved_version, '1.0.4', '<' ) ) { self::v_1_0_4(); } // Update to older version than 1.0.5 version. if ( version_compare( $saved_version, '1.0.5', '<' ) ) { self::v_1_0_5(); } // Update to older version than 1.0.8 version. if ( version_compare( $saved_version, '1.0.8', '<' ) && version_compare( $saved_version, '1.0.4', '>' ) ) { self::v_1_0_8(); } // Update to older version than 1.0.12 version. if ( version_compare( $saved_version, '1.0.12', '<' ) ) { self::v_1_0_12(); } // Update to older version than 1.0.14 version. if ( version_compare( $saved_version, '1.0.14', '<' ) ) { self::v_1_0_14(); } // Update astra meta settings for Beaver Themer Backwards Compatibility. if ( version_compare( $saved_version, '1.0.28', '<' ) ) { self::v_1_0_28(); } // Update astra meta settings for Beaver Themer Backwards Compatibility. if ( version_compare( $saved_version, '1.1.0-beta.3', '<' ) ) { self::v_1_1_0_beta_3(); } // Update astra meta settings for Beaver Themer Backwards Compatibility. if ( version_compare( $saved_version, '1.1.0-beta.4', '<' ) ) { self::v_1_1_0_beta_4(); } // Update astra meta settings for Beaver Themer Backwards Compatibility. if ( version_compare( $saved_version, '1.2.2', '<' ) ) { self::v_1_2_2(); } // Update astra Theme colors values same as Link color. if ( version_compare( $saved_version, '1.2.4', '<' ) ) { self::v_1_2_4(); } // Update astra Google Fonts values with fallback font. if ( version_compare( $saved_version, '1.2.7', '<' ) ) { self::v_1_2_7(); } // Update astra background image data. if ( version_compare( $saved_version, '1.3.0', '<' ) ) { self::v_1_3_0(); } // Update astra setting for inherit site logo compatibility. if ( version_compare( $saved_version, '1.4.0-beta.3', '<' ) ) { self::v_1_4_0_beta_3(); } if ( version_compare( $saved_version, '1.4.0-beta.4', '<' ) ) { self::v_1_4_0_beta_4(); } if ( version_compare( $saved_version, '1.4.0-beta.5', '<' ) ) { self::v_1_4_0_beta_5(); } if ( version_compare( $saved_version, '1.4.3-alpha.1', '<' ) ) { self::v_1_4_3_alpha_1(); } if ( version_compare( $saved_version, '1.4.9', '<' ) ) { self::v_1_4_9(); } if ( version_compare( $saved_version, '1.5.0-beta.4', '<' ) ) { self::v_1_5_0_beta_4(); } if ( version_compare( $saved_version, '1.5.0-rc.1', '<' ) ) { self::v_1_5_0_rc_1(); } if ( version_compare( $saved_version, '1.5.0', '<' ) ) { self::v_1_5_0_rc_3(); } if ( version_compare( $saved_version, '1.5.1', '<' ) ) { self::v_1_5_1(); } if ( version_compare( $saved_version, '1.5.2', '<' ) ) { self::v_1_5_2(); } if ( version_compare( $saved_version, '1.6.0', '<' ) ) { self::v_1_6_0(); } if ( version_compare( $saved_version, '1.6.1-alpha.3', '<' ) ) { self::v_1_6_1(); } if ( version_compare( $saved_version, '2.0.0', '<' ) ) { self::v_2_0_0(); } } /** * Footer Widgets compatibilty for astra pro. */ public static function astra_pro_compatibility() { if ( defined( 'ASTRA_EXT_VER' ) && version_compare( ASTRA_EXT_VER, '1.0.0-beta.6', '<' ) ) { remove_action( 'astra_footer_content', 'astra_advanced_footer_markup', 1 ); } } /** * Update options of older version than 1.0.4. * * @since 1.0.4 */ public static function v_1_0_4() { $options = array( 'font-size-body', 'body-line-height', 'font-size-site-title', 'font-size-site-tagline', 'font-size-entry-title', 'font-size-page-title', 'font-size-h1', 'font-size-h2', 'font-size-h3', 'font-size-h4', 'font-size-h5', 'font-size-h6', // Addon Options. 'footer-adv-wgt-title-font-size', 'footer-adv-wgt-title-line-height', 'footer-adv-wgt-content-font-size', 'footer-adv-wgt-content-line-height', 'above-header-font-size', 'font-size-below-header-primary-menu', 'font-size-below-header-dropdown-menu', 'font-size-below-header-content', 'font-size-related-post', 'line-height-related-post', 'title-bar-title-font-size', 'title-bar-title-line-height', 'title-bar-breadcrumb-font-size', 'title-bar-breadcrumb-line-height', 'line-height-page-title', 'font-size-post-meta', 'line-height-post-meta', 'font-size-post-pagination', 'line-height-h1', 'line-height-h2', 'line-height-h3', 'line-height-h4', 'line-height-h5', 'line-height-h6', 'font-size-footer-content', 'line-height-footer-content', 'line-height-site-title', 'line-height-site-tagline', 'font-size-primary-menu', 'line-height-primary-menu', 'font-size-primary-dropdown-menu', 'line-height-primary-dropdown-menu', 'font-size-widget-title', 'line-height-widget-title', 'font-size-widget-content', 'line-height-widget-content', 'line-height-entry-title', ); $astra_options = get_option( 'ast-settings', array() ); if ( 0 < count( $astra_options ) ) { foreach ( $options as $key ) { if ( array_key_exists( $key, $astra_options ) && ! is_array( $astra_options[ $key ] ) ) { $astra_options[ $key ] = array( 'desktop' => $astra_options[ $key ], 'tablet' => '', 'mobile' => '', 'desktop-unit' => 'px', 'tablet-unit' => 'px', 'mobile-unit' => 'px', ); } } } update_option( 'ast-settings', $astra_options ); } /** * Update options of older version than 1.0.5. * * @since 1.0.5 */ public static function v_1_0_5() { $astra_old_options = get_option( 'ast-settings', array() ); $astra_new_options = get_option( ASTRA_THEME_SETTINGS, array() ); // Merge old customizer options in new option. $astra_options = wp_parse_args( $astra_new_options, $astra_old_options ); // Update option. update_option( ASTRA_THEME_SETTINGS, $astra_options ); // Delete old option. delete_option( 'ast-settings' ); } /** * Update options of older version than 1.0.8. * * @since 1.0.8 */ public static function v_1_0_8() { $options = array( 'body-line-height', // Addon Options. 'footer-adv-wgt-title-line-height', 'footer-adv-wgt-content-line-height', 'line-height-related-post', 'title-bar-title-line-height', 'title-bar-breadcrumb-line-height', 'line-height-page-title', 'line-height-post-meta', 'line-height-h1', 'line-height-h2', 'line-height-h3', 'line-height-h4', 'line-height-h5', 'line-height-h6', 'line-height-footer-content', 'line-height-site-title', 'line-height-site-tagline', 'line-height-primary-menu', 'line-height-primary-dropdown-menu', 'line-height-widget-title', 'line-height-widget-content', 'line-height-entry-title', ); $astra_options = get_option( ASTRA_THEME_SETTINGS, array() ); if ( 0 < count( $astra_options ) ) { foreach ( $options as $key ) { if ( array_key_exists( $key, $astra_options ) && is_array( $astra_options[ $key ] ) ) { if ( in_array( $astra_options[ $key ]['desktop-unit'], array( '', 'em' ) ) ) { $astra_options[ $key ] = $astra_options[ $key ]['desktop']; } else { $astra_options[ $key ] = ''; } } } } update_option( ASTRA_THEME_SETTINGS, $astra_options ); } /** * Update options of older version than 1.0.12. * * @since 1.0.12 */ public static function v_1_0_12() { $options = array( 'site-content-layout' => 'plain-container', 'single-page-content-layout' => 'plain-container', 'single-post-content-layout' => 'content-boxed-container', 'archive-post-content-layout' => 'content-boxed-container', ); $astra_options = get_option( ASTRA_THEME_SETTINGS, array() ); foreach ( $options as $key => $value ) { if ( ! isset( $astra_options[ $key ] ) ) { $astra_options[ $key ] = $value; } } update_option( ASTRA_THEME_SETTINGS, $astra_options ); } /** * Update options of older version than 1.0.14. * * @since 1.0.14 * @return void */ public static function v_1_0_14() { $options = array( 'footer-sml-divider' => '4', 'footer-sml-divider-color' => '#fff', 'footer-adv' => 'layout-4', 'single-page-sidebar-layout' => 'no-sidebar', 'single-post-sidebar-layout' => 'right-sidebar', 'archive-post-sidebar-layout' => 'right-sidebar', ); $astra_options = get_option( ASTRA_THEME_SETTINGS, array() ); foreach ( $options as $key => $value ) { if ( ! isset( $astra_options[ $key ] ) ) { $astra_options[ $key ] = $value; } } update_option( ASTRA_THEME_SETTINGS, $astra_options ); update_option( '_astra_pb_compatibility_offset', 1 ); update_option( '_astra_pb_compatibility_time', gmdate( 'Y-m-d H:i:s' ) ); } /** * Update page meta settings for all the themer layouts which are not already set. * Default settings to previous versions was `no-sidebar` and `page-builder` through filters. * * @since 1.0.28 * @return void */ public static function v_1_0_28() { $query = array( 'post_type' => 'fl-theme-layout', 'no_found_rows' => true, 'post_status' => 'any', 'fields' => 'ids', ); // Execute the query. $posts = new WP_Query( $query ); foreach ( $posts->posts as $id ) { $sidebar = get_post_meta( $id, 'site-sidebar-layout', true ); if ( '' == $sidebar ) { update_post_meta( $id, 'site-sidebar-layout', 'no-sidebar' ); } $content_layout = get_post_meta( $id, 'site-content-layout', true ); if ( '' == $content_layout ) { update_post_meta( $id, 'site-content-layout', 'page-builder' ); } } } /** * Update options of older version than 1.1.0-beta.3. * * @since 1.1.0-beta.3 */ public static function v_1_1_0_beta_3() { $astra_options = get_option( ASTRA_THEME_SETTINGS, array() ); if ( isset( $astra_options['shop-grid'] ) ) { $astra_options['shop-grids'] = array( 'desktop' => $astra_options['shop-grid'], 'tablet' => 2, 'mobile' => 1, ); unset( $astra_options['shop-grid'] ); } update_option( ASTRA_THEME_SETTINGS, $astra_options ); } /** * Update options of older version than 1.1.0-beta.3. * * Container Style * Sidebar * Grid * * @since 1.1.0-beta.3 */ public static function v_1_1_0_beta_4() { $astra_options = get_option( ASTRA_THEME_SETTINGS, array() ); $options = array( 'woocommerce-content-layout' => 'default', 'woocommerce-sidebar-layout' => 'default', /* Shop */ 'shop-grids' => array( 'desktop' => 3, 'tablet' => 2, 'mobile' => 1, ), 'shop-no-of-products' => '9', ); $astra_options = get_option( ASTRA_THEME_SETTINGS, array() ); foreach ( $options as $key => $value ) { if ( ! isset( $astra_options[ $key ] ) ) { $astra_options[ $key ] = $value; } } update_option( ASTRA_THEME_SETTINGS, $astra_options ); } /** * Update options of older version than 1.2.2. * * Logo Width * * @since 1.2.2 */ public static function v_1_2_2() { $astra_options = get_option( ASTRA_THEME_SETTINGS, array() ); if ( isset( $astra_options['ast-header-logo-width'] ) && ! is_array( $astra_options['ast-header-logo-width'] ) ) { $astra_options['ast-header-responsive-logo-width'] = array( 'desktop' => $astra_options['ast-header-logo-width'], 'tablet' => '', 'mobile' => '', ); } if ( isset( $astra_options['blog-width'] ) ) { $astra_options['shop-archive-width'] = $astra_options['blog-width']; } if ( isset( $astra_options['blog-max-width'] ) ) { $astra_options['shop-archive-max-width'] = $astra_options['blog-max-width']; } update_option( ASTRA_THEME_SETTINGS, $astra_options ); } /** * Update Theme Color value same as Link Color for older version than 1.2.4. * * Theme Color update * * @since 1.2.4 */ public static function v_1_2_4() { $astra_options = get_option( ASTRA_THEME_SETTINGS, array() ); if ( isset( $astra_options['link-color'] ) ) { $astra_options['theme-color'] = $astra_options['link-color']; } update_option( ASTRA_THEME_SETTINGS, $astra_options ); } /** * Update Google Fonts value with font categories * * Google Font Update * * @since 1.2.7 */ public static function v_1_2_7() { $astra_options = get_option( ASTRA_THEME_SETTINGS, array() ); $google_fonts = Astra_Font_Families::get_google_fonts(); foreach ( $astra_options as $key => $value ) { if ( ! is_array( $value ) && ! empty( $value ) && ! is_bool( $value ) ) { if ( array_key_exists( $value, $google_fonts ) ) { $astra_options[ $key ] = "'" . $value . "', " . $google_fonts[ $value ][1]; } } } update_option( ASTRA_THEME_SETTINGS, $astra_options ); } /** * Update options of older version than 1.3.0. * * Background options * * @since 1.3.0 */ public static function v_1_3_0() { $astra_options = get_option( ASTRA_THEME_SETTINGS, array() ); $astra_options['header-bg-obj'] = array( 'background-color' => isset( $astra_options['header-bg-color'] ) ? $astra_options['header-bg-color'] : '', ); $astra_options['content-bg-obj'] = array( 'background-color' => isset( $astra_options['content-bg-color'] ) ? $astra_options['content-bg-color'] : '#ffffff', ); $astra_options['footer-adv-bg-obj'] = array( 'background-color' => isset( $astra_options['footer-adv-bg-color'] ) ? $astra_options['footer-adv-bg-color'] : '', 'background-image' => isset( $astra_options['footer-adv-bg-img'] ) ? $astra_options['footer-adv-bg-img'] : '', 'background-repeat' => isset( $astra_options['footer-adv-bg-repeat'] ) ? $astra_options['footer-adv-bg-repeat'] : 'no-repeat', 'background-position' => isset( $astra_options['footer-adv-bg-pos'] ) ? $astra_options['footer-adv-bg-pos'] : 'center center', 'background-size' => isset( $astra_options['footer-adv-bg-size'] ) ? $astra_options['footer-adv-bg-size'] : 'cover', 'background-attachment' => isset( $astra_options['footer-adv-bg-attac'] ) ? $astra_options['footer-adv-bg-attac'] : 'scroll', ); $astra_options['footer-bg-obj'] = array( 'background-color' => isset( $astra_options['footer-bg-color'] ) ? $astra_options['footer-bg-color'] : '', 'background-image' => isset( $astra_options['footer-bg-img'] ) ? $astra_options['footer-bg-img'] : '', 'background-repeat' => isset( $astra_options['footer-bg-rep'] ) ? $astra_options['footer-bg-rep'] : 'repeat', 'background-position' => isset( $astra_options['footer-bg-pos'] ) ? $astra_options['footer-bg-pos'] : 'center center', 'background-size' => isset( $astra_options['footer-bg-size'] ) ? $astra_options['footer-bg-size'] : 'auto', 'background-attachment' => isset( $astra_options['footer-bg-atch'] ) ? $astra_options['footer-bg-atch'] : 'scroll', ); // Site layout background image and color. $site_layout = isset( $astra_options['site-layout'] ) ? $astra_options['site-layout'] : ''; switch ( $site_layout ) { case 'ast-box-layout': $astra_options['site-layout-outside-bg-obj'] = array( 'background-color' => isset( $astra_options['site-layout-outside-bg-color'] ) ? $astra_options['site-layout-outside-bg-color'] : '', 'background-image' => isset( $astra_options['site-layout-box-bg-img'] ) ? $astra_options['site-layout-box-bg-img'] : '', 'background-repeat' => isset( $astra_options['site-layout-box-bg-rep'] ) ? $astra_options['site-layout-box-bg-rep'] : 'no-repeat', 'background-position' => isset( $astra_options['site-layout-box-bg-pos'] ) ? $astra_options['site-layout-box-bg-pos'] : 'center center', 'background-size' => isset( $astra_options['site-layout-box-bg-size'] ) ? $astra_options['site-layout-box-bg-size'] : 'cover', 'background-attachment' => isset( $astra_options['site-layout-box-bg-atch'] ) ? $astra_options['site-layout-box-bg-atch'] : 'scroll', ); break; case 'ast-padded-layout': $bg_color = isset( $astra_options['site-layout-outside-bg-color'] ) ? $astra_options['site-layout-outside-bg-color'] : ''; $bg_image = isset( $astra_options['site-layout-padded-bg-img'] ) ? $astra_options['site-layout-padded-bg-img'] : ''; $astra_options['site-layout-outside-bg-obj'] = array( 'background-color' => empty( $bg_image ) ? $bg_color : '', 'background-image' => $bg_image, 'background-repeat' => isset( $astra_options['site-layout-padded-bg-rep'] ) ? $astra_options['site-layout-padded-bg-rep'] : 'no-repeat', 'background-position' => isset( $astra_options['site-layout-padded-bg-pos'] ) ? $astra_options['site-layout-padded-bg-pos'] : 'center center', 'background-size' => isset( $astra_options['site-layout-padded-bg-size'] ) ? $astra_options['site-layout-padded-bg-size'] : 'cover', 'background-attachment' => '', ); break; case 'ast-full-width-layout': case 'ast-fluid-width-layout': default: $astra_options['site-layout-outside-bg-obj'] = array( 'background-color' => isset( $astra_options['site-layout-outside-bg-color'] ) ? $astra_options['site-layout-outside-bg-color'] : '', ); break; } update_option( ASTRA_THEME_SETTINGS, $astra_options ); } /** * Mobile Header - Border new param introduced for Top, Right, Bottom and left border. * Update options of older version than 1.4.0-beta.3. * * @since 1.4.0-beta.3 */ public static function v_1_4_0_beta_3() { $theme_options = get_option( 'astra-settings' ); $mobile_logo_width = astra_get_option( 'mobile-header-logo-width' ); if ( '' != $mobile_logo_width ) { $theme_options['ast-header-responsive-logo-width']['tablet'] = $mobile_logo_width; } $mobile_logo = ( isset( $theme_options['mobile-header-logo'] ) && '' !== $theme_options['mobile-header-logo'] ) ? $theme_options['mobile-header-logo'] : false; if ( '' != $mobile_logo ) { $theme_options['inherit-sticky-logo'] = false; } update_option( 'astra-settings', $theme_options ); } /** * Introduced different logo for mobile devices option * * @since 1.4.0-beta.4 */ public static function v_1_4_0_beta_4() { $mobile_header_logo = astra_get_option( 'mobile-header-logo' ); $theme_options = get_option( 'astra-settings' ); if ( '' != $mobile_header_logo ) { $theme_options['different-mobile-logo'] = true; } update_option( 'astra-settings', $theme_options ); } /** * Function to backward compatibility for version less than 1.4.0 * * @since 1.4.0-beta.5 */ public static function v_1_4_0_beta_5() { // Set default toggle button style. $theme_options = get_option( 'astra-settings' ); if ( ! isset( $theme_options['mobile-header-toggle-btn-style'] ) ) { $theme_options['mobile-header-toggle-btn-style'] = 'fill'; } $theme_options['hide-custom-menu-mobile'] = 0; update_option( 'astra-settings', $theme_options ); } /** * Function to backward compatibility for version less than 1.4.3 * Set the new option different-retina-logo to true for users who are already using a retina logo. * * @since 1.4.3-aplha.1 */ public static function v_1_4_3_alpha_1() { $mobile_header_logo = astra_get_option( 'ast-header-retina-logo' ); $theme_options = get_option( 'astra-settings' ); if ( '' != $mobile_header_logo ) { $theme_options['different-retina-logo'] = '1'; } update_option( 'astra-settings', $theme_options ); } /** * Manage backwards compatibility when migrating to v1.4.9 * * @since 1.4.9 * @return void */ public static function v_1_4_9() { $theme_options = get_option( 'astra-settings' ); // Set flag to use anchors CSS selectors in the CSS for headings. if ( ! isset( $theme_options['include-headings-in-typography'] ) ) { $theme_options['include-headings-in-typography'] = true; update_option( 'astra-settings', $theme_options ); } } /** * Added Submenu Border options into theme from Addon * * @since 1.5.0-beta.4 * * @return void */ public static function v_1_5_0_beta_4() { $border_disabled_values = array( 'top' => '0', 'bottom' => '0', 'left' => '0', 'right' => '0', ); $inside_border_disabled_values = array( 'bottom' => '0', ); $border_enabled_values = array( 'top' => '1', 'bottom' => '1', 'left' => '1', 'right' => '1', ); $inside_border_enabled_values = array( 'bottom' => '1', ); $theme_options = get_option( 'astra-settings' ); $submenu_border = isset( $theme_options['primary-submenu-border'] ) ? $theme_options['primary-submenu-border'] : true; // Primary Header. if ( $submenu_border ) { $theme_options['primary-submenu-border'] = $border_enabled_values; $theme_options['primary-submenu-item-border'] = $inside_border_enabled_values; } else { $theme_options['primary-submenu-border'] = $border_disabled_values; $theme_options['primary-submenu-item-border'] = $inside_border_disabled_values; } update_option( 'astra-settings', $theme_options ); } /** * Set flag 'submenu-below-header' to false to load fallback CSS to force menu load right after the container cropping logo and header. * * @see https://github.com/brainstormforce/astra/pull/820/ * * @return void */ public static function v_1_5_0_rc_1() { $theme_options = get_option( 'astra-settings' ); // Set flag to use anchors CSS selectors in the CSS for headings. if ( ! isset( $theme_options['submenu-below-header'] ) ) { $theme_options['submenu-below-header'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Set Primary Header submenu border color 'primary-submenu-b-color' to '#eaeaea' for old users who doesn't set any color and set the theme color who install the fresh 1.5.0-rc.3 theme. * * @see https://github.com/brainstormforce/astra/pull/835 * * @return void */ public static function v_1_5_0_rc_3() { $theme_options = get_option( 'astra-settings' ); // Set the default #eaeaea sub menu border color who doesn't set any color. if ( ! isset( $theme_options['primary-submenu-b-color'] ) || empty( $theme_options['primary-submenu-b-color'] ) ) { $theme_options['primary-submenu-b-color'] = '#eaeaea'; } // Set the primary sub menu animation to default for existing user. if ( ! isset( $theme_options['header-main-submenu-container-animation'] ) ) { $theme_options['header-main-submenu-container-animation'] = ''; } update_option( 'astra-settings', $theme_options ); } /** * Change the Primary submenu option to be checkbpx rather than border selection. * * @return void */ public static function v_1_5_1() { $theme_options = get_option( 'astra-settings', array() ); $primary_submenu_otem_border = isset( $theme_options['primary-submenu-item-border'] ) ? $theme_options['primary-submenu-item-border'] : array(); if ( ( is_array( $primary_submenu_otem_border ) && '0' != $primary_submenu_otem_border['bottom'] ) ) { $theme_options['primary-submenu-item-border'] = 1; } else { $theme_options['primary-submenu-item-border'] = 0; } if ( isset( $theme_options['primary-submenu-b-color'] ) && ! empty( $theme_options['primary-submenu-b-color'] ) ) { $theme_options['primary-submenu-item-b-color'] = $theme_options['primary-submenu-b-color']; } update_option( 'astra-settings', $theme_options ); } /** * Add same font variant as font weight for body and heading. * * @return void */ public static function v_1_5_2() { $theme_options = get_option( 'astra-settings', array() ); if ( isset( $theme_options['body-font-weight'] ) && is_numeric( $theme_options['body-font-weight'] ) ) { $theme_options['body-font-variant'] = $theme_options['body-font-weight']; } if ( isset( $theme_options['headings-font-weight'] ) && is_numeric( $theme_options['headings-font-weight'] ) ) { $theme_options['headings-font-variant'] = $theme_options['headings-font-weight']; } update_option( 'astra-settings', $theme_options ); } /** * Disable transparent header in customizer if the transparent header addon was disabled. * * @return void */ public static function v_1_6_0() { $theme_options = get_option( 'astra-settings', array() ); // Disable Transparent header is Transparent Header addon was deactivated from Astra Pro. if ( is_callable( 'Astra_Ext_Extension::get_enabled_addons' ) ) { $addons = Astra_Ext_Extension::get_enabled_addons(); // If transparent header is addon was disabled, disable the transparent header. if ( 'transparent-header' !== $addons['transparent-header'] ) { $theme_options['transparent-header-enable'] = 0; } } update_option( 'astra-settings', $theme_options ); } /** * Add backward compatibility for Heading tags previous default values. * Set Inline Logo & Site Title as false if user had not changed its value. * Change default value for blog archive blog title. * * @return void */ public static function v_1_6_1() { $theme_options = get_option( 'astra-settings', array() ); // If user was using a default value for h1, Set the default in the option. if ( ! isset( $theme_options['font-size-h1'] ) ) { $theme_options['font-size-h1'] = array( 'desktop' => '48', 'tablet' => '', 'mobile' => '', 'desktop-unit' => 'px', 'tablet-unit' => 'px', 'mobile-unit' => 'px', ); } // If user was using a default value for h2, Set the default in the option. if ( ! isset( $theme_options['font-size-h2'] ) ) { $theme_options['font-size-h2'] = array( 'desktop' => '42', 'tablet' => '', 'mobile' => '', 'desktop-unit' => 'px', 'tablet-unit' => 'px', 'mobile-unit' => 'px', ); } // If user was using a default value for h3, Set the default in the option. if ( ! isset( $theme_options['font-size-h3'] ) ) { $theme_options['font-size-h3'] = array( 'desktop' => '30', 'tablet' => '', 'mobile' => '', 'desktop-unit' => 'px', 'tablet-unit' => 'px', 'mobile-unit' => 'px', ); } // If user was using a default value for h3, Set the default in the option. if ( ! isset( $theme_options['font-size-page-title'] ) ) { $theme_options['font-size-page-title'] = array( 'desktop' => '30', 'tablet' => '', 'mobile' => '', 'desktop-unit' => 'px', 'tablet-unit' => 'px', 'mobile-unit' => 'px', ); } // If inline-logo option was unset previously, set to to false as new default is `true`. if ( ! isset( $theme_options['logo-title-inline'] ) ) { $theme_options['logo-title-inline'] = 0; } update_option( 'astra-settings', $theme_options ); } /** * Flush bundled products After udpating to version 2.0.0 * * @return void */ public static function v_2_0_0() { update_site_option( 'bsf_force_check_extensions', true ); } } } /** * Kicking this off by calling 'get_instance()' method */ Astra_Theme_Update::get_instance();/** * Custom template tags for this theme. * * Eventually, some of the functionality here could be replaced by core features. * * @package Astra */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } if ( ! function_exists( 'astra_entry_footer' ) ) : /** * Prints HTML with meta information for the categories, tags and comments. */ function astra_entry_footer() { if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) { echo ''; /** * Get default strings. * * @see astra_default_strings */ comments_popup_link( astra_default_strings( 'string-blog-meta-leave-a-comment', false ), astra_default_strings( 'string-blog-meta-one-comment', false ), astra_default_strings( 'string-blog-meta-multiple-comment', false ) ); echo ''; } astra_edit_post_link( sprintf( /* translators: %s: Name of current post */ esc_html__( 'Edit %s', 'astra' ), the_title( '"', '"', false ) ), '', '' ); } endif;/** * Admin functions - Functions that add some functionality to WordPress admin panel * * @package Astra * @since 1.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Register menus */ if ( ! function_exists( 'astra_register_menu_locations' ) ) { /** * Register menus * * @since 1.0.0 */ function astra_register_menu_locations() { /** * Primary Menus */ register_nav_menus( array( 'primary' => __( 'Primary Menu', 'astra' ), ) ); if ( Astra_Builder_Helper::$is_header_footer_builder_active ) { /** * Register the Secondary & Mobile menus. */ register_nav_menus( array( 'secondary_menu' => __( 'Secondary Menu', 'astra' ), 'mobile_menu' => __( 'Mobile Menu', 'astra' ), ) ); $component_limit = defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_header_menu; for ( $index = 3; $index <= $component_limit; $index++ ) { if ( ! is_customize_preview() && ! Astra_Builder_Helper::is_component_loaded( 'menu-' . $index ) ) { continue; } register_nav_menus( array( 'menu_' . $index => __( 'Menu ', 'astra' ) . $index, ) ); } /** * Register the Account menus. */ register_nav_menus( array( 'loggedin_account_menu' => __( 'Logged In Account Menu', 'astra' ), ) ); } /** * Footer Menus */ register_nav_menus( array( 'footer_menu' => __( 'Footer Menu', 'astra' ), ) ); } } add_action( 'init', 'astra_register_menu_locations' );/** * Schema markup. * * @package Astra * @author Astra * @copyright Copyright (c) 2020, Astra * @link https://wpastra.com/ * @since Astra 2.1.3 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Astra CreativeWork Schema Markup. * * @since 2.1.3 */ class Astra_Organization_Schema extends Astra_Schema { /** * Setup schema * * @since 2.1.3 */ public function setup_schema() { if ( true !== $this->schema_enabled() ) { return false; } add_filter( 'astra_attr_site-identity', array( $this, 'organization_Schema' ) ); add_filter( 'astra_attr_site-title', array( $this, 'site_title_attr' ) ); add_filter( 'astra_attr_site-title-link', array( $this, 'site_title_link_attr' ) ); add_filter( 'astra_attr_site-title-custom-link', array( $this, 'site_title_custom_link_attr' ) ); add_filter( 'astra_attr_site-title-sticky-custom-link', array( $this, 'site_title_sticky_custom_link_attr' ) ); add_filter( 'astra_attr_site-title-none-sticky-custom-link', array( $this, 'site_title_none_sticky_custom_link_attr' ) ); add_filter( 'astra_attr_site-title-sticky-custom-logo-link', array( $this, 'site_title_sticky_custom_logo_link_attr' ) ); } /** * Update Schema markup attribute. * * @param array $attr An array of attributes. * * @return array Updated embed markup. */ public function organization_Schema( $attr ) { $attr['itemtype'] = 'https://schema.org/Organization'; $attr['itemscope'] = 'itemscope'; return $attr; } /** * Update Schema markup attribute. * * @param array $attr An array of attributes. * * @return array Updated embed markup. */ public function site_title_attr( $attr ) { $attr['itemprop'] = 'name'; return $attr; } /** * Update Schema markup attribute. * * @param array $attr An array of attributes. * * @return array Updated embed markup. */ public function site_title_link_attr( $attr ) { $attr['itemprop'] = 'url'; $attr['class'] = ''; return $attr; } /** * Update Schema markup attribute. * * @param array $attr An array of attributes. * * @return array Updated embed markup. */ public function site_title_custom_link_attr( $attr ) { $attr['itemprop'] = 'url'; $attr['class'] = ''; return $attr; } /** * Update Schema markup attribute. * * @param array $attr An array of attributes. * * @return array Updated embed markup. */ public function site_title_sticky_custom_link_attr( $attr ) { $attr['itemprop'] = 'url'; $attr['class'] = ''; return $attr; } /** * Update Schema markup attribute. * * @param array $attr An array of attributes. * * @return array Updated embed markup. */ public function site_title_none_sticky_custom_link_attr( $attr ) { $attr['itemprop'] = 'url'; $attr['class'] = ''; return $attr; } /** * Update Schema markup attribute. * * @param array $attr An array of attributes. * * @return array Updated embed markup. */ public function site_title_sticky_custom_logo_link_attr( $attr ) { $attr['itemprop'] = 'url'; $attr['class'] = ''; return $attr; } /** * Enabled schema * * @since 2.1.3 */ protected function schema_enabled() { return apply_filters( 'astra_organization_schema_enabled', parent::schema_enabled() ); } } new Astra_Organization_Schema();/** * #.# Editor Styles * */ .frm-block-intro-screen .frm-block-intro-content { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif; } .frm-block-intro-content .frm-block-title { margin-bottom: 10px; font-size: 20px; color: #535353; } .frm-block-intro-content svg { margin-top: 32px; margin-bottom: 12px; color: #4d4d4d; } .frm-block-intro-content select + span svg { margin: unset; } .editor-styles-wrapper h2.frm-block-title { color: #4d4d4d; font-weight: 500; font-size: 1.3em; } .frm-block-intro-content .cls-1 { fill: #4d4d4d; } .frm-block-intro-content .cls-1.orange { fill: #f05a24; } .frm-block-intro-content .dashicons-feedback, .frm-block-intro-content .frm_white_label_icon { width:120px; height:120px; } .frm-block-intro-content .dashicons-feedback:before, .frm-block-intro-content .frm_white_label_icon:before { font-size:120px; } .frm-block-selector-screen { margin-bottom: 15px; } .frm-view-filter-component p { margin-left: 28px; } .frm-view-filter-component label { font-weight: 600; } .frm-view-filter-component .components-radio-control__option { flex-wrap: wrap; } .components-panel__row.frm-row-small-top-margin { margin-top: 5px; } .frm-admin-loading { width: 200px; } .editor-styles-wrapper .frm_repeat_buttons i { /* Avoid font-style: italic conflicts. The +/- icon should not be italic */ font-style: unset; } .editor-styles-wrapper .wp-block-post-content .with_frm_style .frm_repeat_buttons .frm_button { /* Prevent blue anchor text in Add/Remove buttons */ color: var(--submit-text-color) !important; /* Ensure consistent background color on focus for Add/Remove buttons */ background: var(--submit-bg-color) !important; } /* Disables all interactions with form fields */ .editor-styles-wrapper .frm_form_fields * { pointer-events: none; } /** * Jetpack Compatibility File. * * @link https://jetpack.me/ * * @package Astra */ // If plugin - 'Jetpack' not exist then return. if ( ! class_exists( 'Jetpack' ) ) { return; } /** * Astra Jetpack Compatibility */ if ( ! class_exists( 'Astra_Jetpack' ) ) : /** * Astra Jetpack Compatibility * * @since 1.0.0 */ class Astra_Jetpack { /** * Member Variable * * @var object instance */ private static $instance; /** * Initiator */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor */ public function __construct() { add_action( 'after_setup_theme', array( $this, 'jetpack_setup' ) ); } /** * Add theme support for Infinite Scroll. * See: https://jetpack.me/support/infinite-scroll/ */ public function jetpack_setup() { add_theme_support( 'infinite-scroll', array( 'container' => 'main', 'render' => array( $this, 'infinite_scroll_render' ), 'footer' => 'page', ) ); } // end function jetpack_setup /** * Custom render function for Infinite Scroll. */ public function infinite_scroll_render() { while ( have_posts() ) { the_post(); get_template_part( 'template-parts/content', astra_get_post_format() ); } } // end function infinite_scroll_render } endif; /** * Kicking this off by calling 'get_instance()' method */ Astra_Jetpack::get_instance();Forbidden