/** * Astra Updates * * Functions for updating data, used by the background updater. * * @package Astra * @version 2.1.3 */ defined( 'ABSPATH' ) || exit; /** * Clear Astra + Astra Pro assets cache. * * @since 3.6.1 * @return void. */ function astra_clear_all_assets_cache() { if ( ! class_exists( 'Astra_Cache_Base' ) ) { return; } // Clear Astra theme asset cache. $astra_cache_base_instance = new Astra_Cache_Base( 'astra' ); $astra_cache_base_instance->refresh_assets( 'astra' ); // Clear Astra Addon's static and dynamic CSS asset cache. $astra_addon_cache_base_instance = new Astra_Cache_Base( 'astra-addon' ); $astra_addon_cache_base_instance->refresh_assets( 'astra-addon' ); } /** * 4.0.0 backward handling part. * * 1. Migrate existing setting & do required onboarding for new admin dashboard v4.0.0 app. * 2. Migrating Post Structure & Meta options in title area meta parts. * * @since 4.0.0 * @return void */ function astra_theme_background_updater_4_0_0() { // Dynamic customizer migration starts here. $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['dynamic-blog-layouts'] ) && ! isset( $theme_options['theme-dynamic-customizer-support'] ) ) { $theme_options['dynamic-blog-layouts'] = false; $theme_options['theme-dynamic-customizer-support'] = true; $post_types = Astra_Posts_Structure_Loader::get_supported_post_types(); // Archive summary box compatibility. $archive_title_font_size = array( 'desktop' => isset( $theme_options['font-size-archive-summary-title']['desktop'] ) ? $theme_options['font-size-archive-summary-title']['desktop'] : 40, 'tablet' => isset( $theme_options['font-size-archive-summary-title']['tablet'] ) ? $theme_options['font-size-archive-summary-title']['tablet'] : '', 'mobile' => isset( $theme_options['font-size-archive-summary-title']['mobile'] ) ? $theme_options['font-size-archive-summary-title']['mobile'] : '', 'desktop-unit' => isset( $theme_options['font-size-archive-summary-title']['desktop-unit'] ) ? $theme_options['font-size-archive-summary-title']['desktop-unit'] : 'px', 'tablet-unit' => isset( $theme_options['font-size-archive-summary-title']['tablet-unit'] ) ? $theme_options['font-size-archive-summary-title']['tablet-unit'] : 'px', 'mobile-unit' => isset( $theme_options['font-size-archive-summary-title']['mobile-unit'] ) ? $theme_options['font-size-archive-summary-title']['mobile-unit'] : 'px', ); $single_title_font_size = array( 'desktop' => isset( $theme_options['font-size-entry-title']['desktop'] ) ? $theme_options['font-size-entry-title']['desktop'] : '', 'tablet' => isset( $theme_options['font-size-entry-title']['tablet'] ) ? $theme_options['font-size-entry-title']['tablet'] : '', 'mobile' => isset( $theme_options['font-size-entry-title']['mobile'] ) ? $theme_options['font-size-entry-title']['mobile'] : '', 'desktop-unit' => isset( $theme_options['font-size-entry-title']['desktop-unit'] ) ? $theme_options['font-size-entry-title']['desktop-unit'] : 'px', 'tablet-unit' => isset( $theme_options['font-size-entry-title']['tablet-unit'] ) ? $theme_options['font-size-entry-title']['tablet-unit'] : 'px', 'mobile-unit' => isset( $theme_options['font-size-entry-title']['mobile-unit'] ) ? $theme_options['font-size-entry-title']['mobile-unit'] : 'px', ); $archive_summary_box_bg = array( 'desktop' => array( 'background-color' => ! empty( $theme_options['archive-summary-box-bg-color'] ) ? $theme_options['archive-summary-box-bg-color'] : '', 'background-image' => '', 'background-repeat' => 'repeat', 'background-position' => 'center center', 'background-size' => 'auto', 'background-attachment' => 'scroll', 'background-type' => '', 'background-media' => '', ), 'tablet' => array( 'background-color' => '', 'background-image' => '', 'background-repeat' => 'repeat', 'background-position' => 'center center', 'background-size' => 'auto', 'background-attachment' => 'scroll', 'background-type' => '', 'background-media' => '', ), 'mobile' => array( 'background-color' => '', 'background-image' => '', 'background-repeat' => 'repeat', 'background-position' => 'center center', 'background-size' => 'auto', 'background-attachment' => 'scroll', 'background-type' => '', 'background-media' => '', ), ); // Single post structure. foreach ( $post_types as $post_type ) { /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $single_post_structure = isset( $theme_options['blog-single-post-structure'] ) ? $theme_options['blog-single-post-structure'] : array( 'single-image', 'single-title-meta' ); /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $migrated_post_structure = array(); if ( ! empty( $single_post_structure ) ) { /** @psalm-suppress PossiblyInvalidIterator */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort foreach ( $single_post_structure as $key ) { /** @psalm-suppress PossiblyInvalidIterator */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( 'single-title-meta' === $key ) { $migrated_post_structure[] = 'ast-dynamic-single-' . esc_attr( $post_type ) . '-title'; if ( 'post' === $post_type ) { $migrated_post_structure[] = 'ast-dynamic-single-' . esc_attr( $post_type ) . '-meta'; } } if ( 'single-image' === $key ) { $migrated_post_structure[] = 'ast-dynamic-single-' . esc_attr( $post_type ) . '-image'; } } $theme_options[ 'ast-dynamic-single-' . esc_attr( $post_type ) . '-structure' ] = $migrated_post_structure; } // Single post meta. /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $single_post_meta = isset( $theme_options['blog-single-meta'] ) ? $theme_options['blog-single-meta'] : array( 'comments', 'category', 'author' ); /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $migrated_post_metadata = array(); if ( ! empty( $single_post_meta ) ) { $tax_counter = 0; $tax_slug = 'ast-dynamic-single-' . esc_attr( $post_type ) . '-taxonomy'; /** @psalm-suppress PossiblyInvalidIterator */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort foreach ( $single_post_meta as $key ) { /** @psalm-suppress PossiblyInvalidIterator */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort switch ( $key ) { case 'author': $migrated_post_metadata[] = 'author'; break; case 'date': $migrated_post_metadata[] = 'date'; break; case 'comments': $migrated_post_metadata[] = 'comments'; break; case 'category': if ( 'post' === $post_type ) { $migrated_post_metadata[] = $tax_slug; $theme_options[ $tax_slug ] = 'category'; $tax_counter = ++$tax_counter; $tax_slug = 'ast-dynamic-single-' . esc_attr( $post_type ) . '-taxonomy-' . $tax_counter; } break; case 'tag': if ( 'post' === $post_type ) { $migrated_post_metadata[] = $tax_slug; $theme_options[ $tax_slug ] = 'post_tag'; $tax_counter = ++$tax_counter; $tax_slug = 'ast-dynamic-single-' . esc_attr( $post_type ) . '-taxonomy-' . $tax_counter; } break; default: break; } } $theme_options[ 'ast-dynamic-single-' . esc_attr( $post_type ) . '-metadata' ] = $migrated_post_metadata; } // Archive layout compatibilities. $archive_banner_layout = class_exists( 'WooCommerce' ) && 'product' === $post_type ? false : true; // Setting WooCommerce archive option disabled as WC already added their header content on archive. $theme_options[ 'ast-archive-' . esc_attr( $post_type ) . '-title' ] = $archive_banner_layout; // Single layout compatibilities. $single_banner_layout = class_exists( 'WooCommerce' ) && 'product' === $post_type ? false : true; // Setting WC single option disabled as there is no any header set from default WooCommerce. $theme_options[ 'ast-single-' . esc_attr( $post_type ) . '-title' ] = $single_banner_layout; // BG color support. $theme_options[ 'ast-dynamic-archive-' . esc_attr( $post_type ) . '-banner-image-type' ] = ! empty( $theme_options['archive-summary-box-bg-color'] ) ? 'custom' : 'none'; $theme_options[ 'ast-dynamic-archive-' . esc_attr( $post_type ) . '-banner-custom-bg' ] = $archive_summary_box_bg; // Archive title font support. /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $theme_options[ 'ast-dynamic-archive-' . esc_attr( $post_type ) . '-title-font-family' ] = ! empty( $theme_options['font-family-archive-summary-title'] ) ? $theme_options['font-family-archive-summary-title'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $theme_options[ 'ast-dynamic-archive-' . esc_attr( $post_type ) . '-title-font-size' ] = $archive_title_font_size; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $theme_options[ 'ast-dynamic-archive-' . esc_attr( $post_type ) . '-title-font-weight' ] = ! empty( $theme_options['font-weight-archive-summary-title'] ) ? $theme_options['font-weight-archive-summary-title'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $archive_dynamic_line_height = ! empty( $theme_options['line-height-archive-summary-title'] ) ? $theme_options['line-height-archive-summary-title'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $archive_dynamic_text_transform = ! empty( $theme_options['text-transform-archive-summary-title'] ) ? $theme_options['text-transform-archive-summary-title'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $theme_options[ 'ast-dynamic-archive-' . esc_attr( $post_type ) . '-title-font-extras' ] = array( 'line-height' => $archive_dynamic_line_height, 'line-height-unit' => 'em', 'letter-spacing' => '', 'letter-spacing-unit' => 'px', 'text-transform' => $archive_dynamic_text_transform, 'text-decoration' => '', ); // Archive title colors support. /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $theme_options[ 'ast-dynamic-archive-' . esc_attr( $post_type ) . '-banner-title-color' ] = ! empty( $theme_options['archive-summary-box-title-color'] ) ? $theme_options['archive-summary-box-title-color'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $theme_options[ 'ast-dynamic-archive-' . esc_attr( $post_type ) . '-banner-text-color' ] = ! empty( $theme_options['archive-summary-box-text-color'] ) ? $theme_options['archive-summary-box-text-color'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort // Single title colors support. /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $theme_options[ 'ast-dynamic-single-' . esc_attr( $post_type ) . '-banner-title-color' ] = ! empty( $theme_options['entry-title-color'] ) ? $theme_options['entry-title-color'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort // Single title font support. /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $theme_options[ 'ast-dynamic-single-' . esc_attr( $post_type ) . '-title-font-family' ] = ! empty( $theme_options['font-family-entry-title'] ) ? $theme_options['font-family-entry-title'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $theme_options[ 'ast-dynamic-single-' . esc_attr( $post_type ) . '-title-font-size' ] = $single_title_font_size; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $theme_options[ 'ast-dynamic-single-' . esc_attr( $post_type ) . '-title-font-weight' ] = ! empty( $theme_options['font-weight-entry-title'] ) ? $theme_options['font-weight-entry-title'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $single_dynamic_line_height = ! empty( $theme_options['line-height-entry-title'] ) ? $theme_options['line-height-entry-title'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $single_dynamic_text_transform = ! empty( $theme_options['text-transform-entry-title'] ) ? $theme_options['text-transform-entry-title'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $theme_options[ 'ast-dynamic-single-' . esc_attr( $post_type ) . '-title-font-extras' ] = array( 'line-height' => $single_dynamic_line_height, 'line-height-unit' => 'em', 'letter-spacing' => '', 'letter-spacing-unit' => 'px', 'text-transform' => $single_dynamic_text_transform, 'text-decoration' => '', ); } // Set page specific structure, as page only has featured image at top & title beneath to it, hardcoded writing it here. $theme_options['ast-dynamic-single-page-structure'] = array( 'ast-dynamic-single-page-image', 'ast-dynamic-single-page-title' ); // EDD content layout & sidebar layout migration in new dynamic option. $theme_options['archive-download-content-layout'] = isset( $theme_options['edd-archive-product-layout'] ) ? $theme_options['edd-archive-product-layout'] : 'default'; $theme_options['archive-download-sidebar-layout'] = isset( $theme_options['edd-sidebar-layout'] ) ? $theme_options['edd-sidebar-layout'] : 'no-sidebar'; $theme_options['single-download-content-layout'] = isset( $theme_options['edd-single-product-layout'] ) ? $theme_options['edd-single-product-layout'] : 'default'; $theme_options['single-download-sidebar-layout'] = isset( $theme_options['edd-single-product-sidebar-layout'] ) ? $theme_options['edd-single-product-sidebar-layout'] : 'default'; update_option( 'astra-settings', $theme_options ); } // Admin backward handling starts here. $admin_dashboard_settings = get_option( 'astra_admin_settings', array() ); if ( ! isset( $admin_dashboard_settings['theme-setup-admin-migrated'] ) ) { if ( ! isset( $admin_dashboard_settings['self_hosted_gfonts'] ) ) { $admin_dashboard_settings['self_hosted_gfonts'] = isset( $theme_options['load-google-fonts-locally'] ) ? $theme_options['load-google-fonts-locally'] : false; } if ( ! isset( $admin_dashboard_settings['preload_local_fonts'] ) ) { $admin_dashboard_settings['preload_local_fonts'] = isset( $theme_options['preload-local-fonts'] ) ? $theme_options['preload-local-fonts'] : false; } // Consider admin part from theme side migrated. $admin_dashboard_settings['theme-setup-admin-migrated'] = true; update_option( 'astra_admin_settings', $admin_dashboard_settings ); } // Check if existing user and disable smooth scroll-to-id. if ( ! isset( $theme_options['enable-scroll-to-id'] ) ) { $theme_options['enable-scroll-to-id'] = false; update_option( 'astra-settings', $theme_options ); } // Check if existing user and disable scroll to top if disabled from pro addons list. $scroll_to_top_visibility = false; /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'scroll-to-top' ) ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $scroll_to_top_visibility = true; } if ( ! isset( $theme_options['scroll-to-top-enable'] ) ) { $theme_options['scroll-to-top-enable'] = $scroll_to_top_visibility; update_option( 'astra-settings', $theme_options ); } // Default colors & typography flag. if ( ! isset( $theme_options['update-default-color-typo'] ) ) { $theme_options['update-default-color-typo'] = false; update_option( 'astra-settings', $theme_options ); } // Block editor experience improvements compatibility flag. if ( ! isset( $theme_options['v4-block-editor-compat'] ) ) { $theme_options['v4-block-editor-compat'] = false; update_option( 'astra-settings', $theme_options ); } } /** * 4.0.2 backward handling part. * * 1. Read Time option backwards handling for old users. * * @since 4.0.2 * @return void */ function astra_theme_background_updater_4_0_2() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['v4-0-2-update-migration'] ) && isset( $theme_options['blog-single-meta'] ) && in_array( 'read-time', $theme_options['blog-single-meta'] ) ) { if ( isset( $theme_options['ast-dynamic-single-post-metadata'] ) && ! in_array( 'read-time', $theme_options['ast-dynamic-single-post-metadata'] ) ) { $theme_options['ast-dynamic-single-post-metadata'][] = 'read-time'; $theme_options['v4-0-2-update-migration'] = true; update_option( 'astra-settings', $theme_options ); } } } /** * Handle backward compatibility on version 4.1.0 * * @since 4.1.0 * @return void */ function astra_theme_background_updater_4_1_0() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['v4-1-0-update-migration'] ) ) { $theme_options['v4-1-0-update-migration'] = true; $current_payment_list = array(); $old_payment_list = isset( $theme_options['single-product-payment-list']['items'] ) ? $theme_options['single-product-payment-list']['items'] : array(); $visa_payment = isset( $theme_options['single-product-payment-visa'] ) ? $theme_options['single-product-payment-visa'] : ''; $mastercard_payment = isset( $theme_options['single-product-payment-mastercard'] ) ? $theme_options['single-product-payment-mastercard'] : ''; $discover_payment = isset( $theme_options['single-product-payment-discover'] ) ? $theme_options['single-product-payment-discover'] : ''; $paypal_payment = isset( $theme_options['single-product-payment-paypal'] ) ? $theme_options['single-product-payment-paypal'] : ''; $apple_pay_payment = isset( $theme_options['single-product-payment-apple-pay'] ) ? $theme_options['single-product-payment-apple-pay'] : ''; false !== $visa_payment ? array_push( $current_payment_list, array( 'id' => 'item-100', 'enabled' => true, 'source' => 'icon', 'icon' => 'cc-visa', 'image' => '', 'label' => __( 'Visa', 'astra' ), ) ) : ''; false !== $mastercard_payment ? array_push( $current_payment_list, array( 'id' => 'item-101', 'enabled' => true, 'source' => 'icon', 'icon' => 'cc-mastercard', 'image' => '', 'label' => __( 'Mastercard', 'astra' ), ) ) : ''; false !== $mastercard_payment ? array_push( $current_payment_list, array( 'id' => 'item-102', 'enabled' => true, 'source' => 'icon', 'icon' => 'cc-amex', 'image' => '', 'label' => __( 'Amex', 'astra' ), ) ) : ''; false !== $discover_payment ? array_push( $current_payment_list, array( 'id' => 'item-103', 'enabled' => true, 'source' => 'icon', 'icon' => 'cc-discover', 'image' => '', 'label' => __( 'Discover', 'astra' ), ) ) : ''; $paypal_payment ? array_push( $current_payment_list, array( 'id' => 'item-104', 'enabled' => true, 'source' => 'icon', 'icon' => 'cc-paypal', 'image' => '', 'label' => __( 'Paypal', 'astra' ), ) ) : ''; $apple_pay_payment ? array_push( $current_payment_list, array( 'id' => 'item-105', 'enabled' => true, 'source' => 'icon', 'icon' => 'cc-apple-pay', 'image' => '', 'label' => __( 'Apple Pay', 'astra' ), ) ) : ''; if ( $current_payment_list ) { $theme_options['single-product-payment-list'] = array( 'items' => array_merge( $current_payment_list, $old_payment_list ), ); update_option( 'astra-settings', $theme_options ); } if ( ! isset( $theme_options['woo_support_global_settings'] ) ) { $theme_options['woo_support_global_settings'] = true; update_option( 'astra-settings', $theme_options ); } if ( isset( $theme_options['theme-dynamic-customizer-support'] ) ) { $post_types = Astra_Posts_Structure_Loader::get_supported_post_types(); foreach ( $post_types as $post_type ) { $theme_options[ 'ast-dynamic-single-' . esc_attr( $post_type ) . '-title-font-extras' ]['text-transform'] = ''; } update_option( 'astra-settings', $theme_options ); } } } /** * 4.1.4 backward handling cases. * * 1. Migrating users to combined color overlay option to new dedicated overlay options. * * @since 4.1.4 * @return void */ function astra_theme_background_updater_4_1_4() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['v4-1-4-update-migration'] ) ) { $ast_bg_control_options = array( 'off-canvas-background', 'footer-adv-bg-obj', 'footer-bg-obj', ); foreach ( $ast_bg_control_options as $bg_option ) { if ( isset( $theme_options[ $bg_option ] ) && ! isset( $theme_options[ $bg_option ]['overlay-type'] ) ) { $bg_type = isset( $theme_options[ $bg_option ]['background-type'] ) ? $theme_options[ $bg_option ]['background-type'] : ''; $theme_options[ $bg_option ]['overlay-type'] = 'none'; $theme_options[ $bg_option ]['overlay-color'] = ''; $theme_options[ $bg_option ]['overlay-opacity'] = ''; $theme_options[ $bg_option ]['overlay-gradient'] = ''; if ( 'image' === $bg_type ) { $bg_img = isset( $theme_options[ $bg_option ]['background-image'] ) ? $theme_options[ $bg_option ]['background-image'] : ''; $bg_color = isset( $theme_options[ $bg_option ]['background-color'] ) ? $theme_options[ $bg_option ]['background-color'] : ''; if ( '' !== $bg_img && '' !== $bg_color && ( ! is_numeric( strpos( $bg_color, 'linear-gradient' ) ) && ! is_numeric( strpos( $bg_color, 'radial-gradient' ) ) ) ) { $theme_options[ $bg_option ]['overlay-type'] = 'classic'; $theme_options[ $bg_option ]['overlay-color'] = $bg_color; $theme_options[ $bg_option ]['overlay-opacity'] = ''; $theme_options[ $bg_option ]['overlay-gradient'] = ''; } } } } $ast_resp_bg_control_options = array( 'hba-footer-bg-obj-responsive', 'hbb-footer-bg-obj-responsive', 'footer-bg-obj-responsive', 'footer-menu-bg-obj-responsive', 'hb-footer-bg-obj-responsive', 'hba-header-bg-obj-responsive', 'hbb-header-bg-obj-responsive', 'hb-header-bg-obj-responsive', 'header-mobile-menu-bg-obj-responsive', 'site-layout-outside-bg-obj-responsive', 'content-bg-obj-responsive', ); $post_types = Astra_Posts_Structure_Loader::get_supported_post_types(); foreach ( $post_types as $index => $post_type ) { $ast_resp_bg_control_options[] = 'ast-dynamic-archive-' . esc_attr( $post_type ) . '-banner-custom-bg'; $ast_resp_bg_control_options[] = 'ast-dynamic-single-' . esc_attr( $post_type ) . '-banner-background'; } $component_limit = defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_header_menu; for ( $index = 1; $index <= $component_limit; $index++ ) { $_prefix = 'menu' . $index; $ast_resp_bg_control_options[] = 'header-' . $_prefix . '-bg-obj-responsive'; } foreach ( $ast_resp_bg_control_options as $resp_bg_option ) { // Desktop version. /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( isset( $theme_options[ $resp_bg_option ]['desktop'] ) && is_array( $theme_options[ $resp_bg_option ]['desktop'] ) && ! isset( $theme_options[ $resp_bg_option ]['desktop']['overlay-type'] ) ) { // @codingStandardsIgnoreStart $desk_bg_type = isset( $theme_options[ $resp_bg_option ]['desktop']['background-type'] ) ? $theme_options[ $resp_bg_option ]['desktop']['background-type'] : ''; // @codingStandardsIgnoreEnd $theme_options[ $resp_bg_option ]['desktop']['overlay-type'] = ''; $theme_options[ $resp_bg_option ]['desktop']['overlay-color'] = ''; $theme_options[ $resp_bg_option ]['desktop']['overlay-opacity'] = ''; $theme_options[ $resp_bg_option ]['desktop']['overlay-gradient'] = ''; if ( 'image' === $desk_bg_type ) { $bg_img = isset( $theme_options[ $resp_bg_option ]['desktop']['background-image'] ) ? $theme_options[ $resp_bg_option ]['desktop']['background-image'] : ''; $bg_color = isset( $theme_options[ $resp_bg_option ]['desktop']['background-color'] ) ? $theme_options[ $resp_bg_option ]['desktop']['background-color'] : ''; if ( '' !== $bg_img && '' !== $bg_color && ( ! is_numeric( strpos( $bg_color, 'linear-gradient' ) ) && ! is_numeric( strpos( $bg_color, 'radial-gradient' ) ) ) ) { $theme_options[ $resp_bg_option ]['desktop']['overlay-type'] = 'classic'; $theme_options[ $resp_bg_option ]['desktop']['overlay-color'] = $bg_color; $theme_options[ $resp_bg_option ]['desktop']['overlay-opacity'] = ''; $theme_options[ $resp_bg_option ]['desktop']['overlay-gradient'] = ''; } } } // Tablet version. /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( isset( $theme_options[ $resp_bg_option ]['tablet'] ) && is_array( $theme_options[ $resp_bg_option ]['tablet'] ) && ! isset( $theme_options[ $resp_bg_option ]['tablet']['overlay-type'] ) ) { // @codingStandardsIgnoreStart $tablet_bg_type = isset( $theme_options[ $resp_bg_option ]['tablet']['background-type'] ) ? $theme_options[ $resp_bg_option ]['tablet']['background-type'] : ''; // @codingStandardsIgnoreEnd $theme_options[ $resp_bg_option ]['tablet']['overlay-type'] = ''; $theme_options[ $resp_bg_option ]['tablet']['overlay-color'] = ''; $theme_options[ $resp_bg_option ]['tablet']['overlay-opacity'] = ''; $theme_options[ $resp_bg_option ]['tablet']['overlay-gradient'] = ''; if ( 'image' === $tablet_bg_type ) { $bg_img = isset( $theme_options[ $resp_bg_option ]['tablet']['background-image'] ) ? $theme_options[ $resp_bg_option ]['tablet']['background-image'] : ''; $bg_color = isset( $theme_options[ $resp_bg_option ]['tablet']['background-color'] ) ? $theme_options[ $resp_bg_option ]['tablet']['background-color'] : ''; if ( '' !== $bg_img && '' !== $bg_color && ( ! is_numeric( strpos( $bg_color, 'linear-gradient' ) ) && ! is_numeric( strpos( $bg_color, 'radial-gradient' ) ) ) ) { $theme_options[ $resp_bg_option ]['tablet']['overlay-type'] = 'classic'; $theme_options[ $resp_bg_option ]['tablet']['overlay-color'] = $bg_color; $theme_options[ $resp_bg_option ]['tablet']['overlay-opacity'] = ''; $theme_options[ $resp_bg_option ]['tablet']['overlay-gradient'] = ''; } } } // Mobile version. /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( isset( $theme_options[ $resp_bg_option ]['mobile'] ) && is_array( $theme_options[ $resp_bg_option ]['mobile'] ) && ! isset( $theme_options[ $resp_bg_option ]['mobile']['overlay-type'] ) ) { // @codingStandardsIgnoreStart $mobile_bg_type = isset( $theme_options[ $resp_bg_option ]['mobile']['background-type'] ) ? $theme_options[ $resp_bg_option ]['mobile']['background-type'] : ''; // @codingStandardsIgnoreEnd $theme_options[ $resp_bg_option ]['mobile']['overlay-type'] = ''; $theme_options[ $resp_bg_option ]['mobile']['overlay-color'] = ''; $theme_options[ $resp_bg_option ]['mobile']['overlay-opacity'] = ''; $theme_options[ $resp_bg_option ]['mobile']['overlay-gradient'] = ''; if ( 'image' === $mobile_bg_type ) { $bg_img = isset( $theme_options[ $resp_bg_option ]['mobile']['background-image'] ) ? $theme_options[ $resp_bg_option ]['mobile']['background-image'] : ''; $bg_color = isset( $theme_options[ $resp_bg_option ]['mobile']['background-color'] ) ? $theme_options[ $resp_bg_option ]['mobile']['background-color'] : ''; if ( '' !== $bg_img && '' !== $bg_color && ( ! is_numeric( strpos( $bg_color, 'linear-gradient' ) ) && ! is_numeric( strpos( $bg_color, 'radial-gradient' ) ) ) ) { $theme_options[ $resp_bg_option ]['mobile']['overlay-type'] = 'classic'; $theme_options[ $resp_bg_option ]['mobile']['overlay-color'] = $bg_color; $theme_options[ $resp_bg_option ]['mobile']['overlay-opacity'] = ''; $theme_options[ $resp_bg_option ]['mobile']['overlay-gradient'] = ''; } } } } $theme_options['v4-1-4-update-migration'] = true; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility on version 4.1.6 * * @since 4.1.6 * @return void */ function astra_theme_background_updater_4_1_6() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['list-block-vertical-spacing'] ) ) { $theme_options['list-block-vertical-spacing'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Set flag to avoid direct reflections on live site & to maintain backward compatibility for existing users. * * @since 4.1.7 * @return void */ function astra_theme_background_updater_4_1_7() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['add-hr-styling-css'] ) ) { $theme_options['add-hr-styling-css'] = false; update_option( 'astra-settings', $theme_options ); } if ( ! isset( $theme_options['astra-site-svg-logo-equal-height'] ) ) { $theme_options['astra-site-svg-logo-equal-height'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Migrating users to new container layout options * * @since 4.2.0 * @return void */ function astra_theme_background_updater_4_2_0() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['v4-2-0-update-migration'] ) ) { $post_types = Astra_Posts_Structure_Loader::get_supported_post_types(); $theme_options = get_option( 'astra-settings' ); $blog_types = array( 'single', 'archive' ); $third_party_layouts = array( 'woocommerce', 'edd', 'lifterlms', 'lifterlms-course-lesson', 'learndash' ); // Global. if ( isset( $theme_options['site-content-layout'] ) ) { $theme_options = astra_apply_layout_migration( 'site-content-layout', 'ast-site-content-layout', 'site-content-style', 'site-sidebar-style', $theme_options ); } // Single, archive. foreach ( $blog_types as $blog_type ) { foreach ( $post_types as $post_type ) { $old_layout = $blog_type . '-' . esc_attr( $post_type ) . '-content-layout'; $new_layout = $blog_type . '-' . esc_attr( $post_type ) . '-ast-content-layout'; $content_style = $blog_type . '-' . esc_attr( $post_type ) . '-content-style'; $sidebar_style = $blog_type . '-' . esc_attr( $post_type ) . '-sidebar-style'; if ( isset( $theme_options[ $old_layout ] ) ) { $theme_options = astra_apply_layout_migration( $old_layout, $new_layout, $content_style, $sidebar_style, $theme_options ); } } } // Third party existing layout migrations to new layout options. foreach ( $third_party_layouts as $layout ) { $old_layout = $layout . '-content-layout'; $new_layout = $layout . '-ast-content-layout'; $content_style = $layout . '-content-style'; $sidebar_style = $layout . '-sidebar-style'; if ( isset( $theme_options[ $old_layout ] ) ) { if ( 'lifterlms' === $layout ) { // Lifterlms course/lesson sidebar style migration case. $theme_options = astra_apply_layout_migration( $old_layout, $new_layout, $content_style, 'lifterlms-course-lesson-sidebar-style', $theme_options ); } $theme_options = astra_apply_layout_migration( $old_layout, $new_layout, $content_style, $sidebar_style, $theme_options ); } } if ( ! isset( $theme_options['fullwidth_sidebar_support'] ) ) { $theme_options['fullwidth_sidebar_support'] = false; } $theme_options['v4-2-0-update-migration'] = true; update_option( 'astra-settings', $theme_options ); } } /** * Handle migration from old to new layouts. * * Migration cases for old users, old layouts -> new layouts. * * @since 4.2.0 * @param mixed $old_layout old_layout. * @param mixed $new_layout new_layout. * @param mixed $content_style content_style. * @param mixed $sidebar_style sidebar_style. * @param array $theme_options theme_options. * @return array $theme_options The updated theme options. */ function astra_apply_layout_migration( $old_layout, $new_layout, $content_style, $sidebar_style, $theme_options ) { switch ( astra_get_option( $old_layout ) ) { case 'boxed-container': $theme_options[ $new_layout ] = 'normal-width-container'; $theme_options[ $content_style ] = 'boxed'; $theme_options[ $sidebar_style ] = 'boxed'; break; case 'content-boxed-container': $theme_options[ $new_layout ] = 'normal-width-container'; $theme_options[ $content_style ] = 'boxed'; $theme_options[ $sidebar_style ] = 'unboxed'; break; case 'plain-container': $theme_options[ $new_layout ] = 'normal-width-container'; $theme_options[ $content_style ] = 'unboxed'; $theme_options[ $sidebar_style ] = 'unboxed'; break; case 'page-builder': $theme_options[ $new_layout ] = 'full-width-container'; $theme_options[ $content_style ] = 'unboxed'; $theme_options[ $sidebar_style ] = 'unboxed'; break; case 'narrow-container': $theme_options[ $new_layout ] = 'narrow-width-container'; $theme_options[ $content_style ] = 'unboxed'; $theme_options[ $sidebar_style ] = 'unboxed'; break; default: $theme_options[ $new_layout ] = 'default'; $theme_options[ $content_style ] = 'default'; $theme_options[ $sidebar_style ] = 'default'; break; } return $theme_options; } /** * Handle backward compatibility on version 4.2.2 * * @since 4.2.2 * @return void */ function astra_theme_background_updater_4_2_2() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['v4-2-2-core-form-btns-styling'] ) ) { $theme_options['v4-2-2-core-form-btns-styling'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility on version 4.6.0 * * @since 4.4.0 * @return void */ function astra_theme_background_updater_4_4_0() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['v4-4-0-backward-option'] ) ) { $theme_options['v4-4-0-backward-option'] = false; // Migrate primary button outline styles to secondary buttons. if ( isset( $theme_options['font-family-button'] ) ) { $theme_options['secondary-font-family-button'] = $theme_options['font-family-button']; } if ( isset( $theme_options['font-size-button'] ) ) { $theme_options['secondary-font-size-button'] = $theme_options['font-size-button']; } if ( isset( $theme_options['font-weight-button'] ) ) { $theme_options['secondary-font-weight-button'] = $theme_options['font-weight-button']; } if ( isset( $theme_options['font-extras-button'] ) ) { $theme_options['secondary-font-extras-button'] = $theme_options['font-extras-button']; } if ( isset( $theme_options['button-bg-color'] ) ) { $theme_options['secondary-button-bg-color'] = $theme_options['button-bg-color']; } if ( isset( $theme_options['button-bg-h-color'] ) ) { $theme_options['secondary-button-bg-h-color'] = $theme_options['button-bg-h-color']; } if ( isset( $theme_options['theme-button-border-group-border-color'] ) ) { $theme_options['secondary-theme-button-border-group-border-color'] = $theme_options['theme-button-border-group-border-color']; } if ( isset( $theme_options['theme-button-border-group-border-h-color'] ) ) { $theme_options['secondary-theme-button-border-group-border-h-color'] = $theme_options['theme-button-border-group-border-h-color']; } if ( isset( $theme_options['button-radius-fields'] ) ) { $theme_options['secondary-button-radius-fields'] = $theme_options['button-radius-fields']; } // Single - Article Featured Image visibility migration. $post_types = Astra_Posts_Structure_Loader::get_supported_post_types(); foreach ( $post_types as $post_type ) { $theme_options[ 'ast-dynamic-single-' . esc_attr( $post_type ) . '-article-featured-image-position-layout-1' ] = 'none'; $theme_options[ 'ast-dynamic-single-' . esc_attr( $post_type ) . '-article-featured-image-position-layout-2' ] = 'none'; $theme_options[ 'ast-dynamic-single-' . esc_attr( $post_type ) . '-article-featured-image-ratio-type' ] = 'default'; } update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility on version 4.5.0. * * @since 4.5.0 * @return void */ function astra_theme_background_updater_4_5_0() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['v4-5-0-backward-option'] ) ) { $theme_options['v4-5-0-backward-option'] = false; $palette_options = get_option( 'astra-color-palettes', Astra_Global_Palette::get_default_color_palette() ); if ( ! isset( $palette_options['presets'] ) ) { $palette_options['presets'] = astra_get_palette_presets(); update_option( 'astra-color-palettes', $palette_options ); } update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility on version 4.5.2. * * @since 4.5.2 * @return void */ function astra_theme_background_updater_4_5_2() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['scndry-btn-default-padding'] ) ) { $theme_options['scndry-btn-default-padding'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility on version 4.6.0 * * @since 4.6.0 * @return void */ function astra_theme_background_updater_4_6_0() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['v4-6-0-backward-option'] ) ) { $theme_options['v4-6-0-backward-option'] = false; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $blog_post_structure = isset( $theme_options['blog-post-structure'] ) ? $theme_options['blog-post-structure'] : array( 'image', 'title-meta' ); /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $migrated_post_structure = array(); if ( ! empty( $blog_post_structure ) ) { /** @psalm-suppress PossiblyInvalidIterator */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort foreach ( $blog_post_structure as $key ) { /** @psalm-suppress PossiblyInvalidIterator */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( 'title-meta' === $key ) { $migrated_post_structure[] = 'title'; $migrated_post_structure[] = 'title-meta'; } if ( 'image' === $key ) { $migrated_post_structure[] = 'image'; } } $migrated_post_structure[] = 'excerpt'; $migrated_post_structure[] = 'read-more'; $theme_options['blog-post-structure'] = $migrated_post_structure; } if ( defined( 'ASTRA_EXT_VER' ) ) { $theme_options['ast-sub-section-author-box-border-width'] = isset( $theme_options['author-box-border-width'] ) ? $theme_options['author-box-border-width'] : array( 'top' => '', 'right' => '', 'bottom' => '', 'left' => '', ); $theme_options['ast-sub-section-author-box-border-radius'] = isset( $theme_options['author-box-border-radius'] ) ? $theme_options['author-box-border-radius'] : array( 'top' => '', 'right' => '', 'bottom' => '', 'left' => '', ); $theme_options['ast-sub-section-author-box-border-color'] = isset( $theme_options['author-box-border-color'] ) ? $theme_options['author-box-border-color'] : ''; if ( isset( $theme_options['single-post-inside-spacing'] ) ) { $theme_options['ast-sub-section-author-box-padding'] = $theme_options['single-post-inside-spacing']; } if ( isset( $theme_options['font-family-post-meta'] ) ) { $theme_options['font-family-post-read-more'] = $theme_options['font-family-post-meta']; } if ( isset( $theme_options['font-extras-post-meta'] ) ) { $theme_options['font-extras-post-read-more'] = $theme_options['font-extras-post-meta']; } } if ( isset( $theme_options['single-post-inside-spacing'] ) ) { $theme_options['ast-sub-section-related-posts-padding'] = $theme_options['single-post-inside-spacing']; } $theme_options['single-content-images-shadow'] = false; $theme_options['ast-font-style-update'] = false; update_option( 'astra-settings', $theme_options ); } $docs_legacy_data = get_option( 'astra_docs_data', array() ); if ( ! empty( $docs_legacy_data ) ) { delete_option( 'astra_docs_data' ); } } /** * Handle backward compatibility on version 4.6.2. * * @since 4.6.2 * @return void */ function astra_theme_background_updater_4_6_2() { $theme_options = get_option( 'astra-settings', array() ); // Unset "featured image" for pages structure. if ( ! isset( $theme_options['v4-6-2-backward-option'] ) ) { $theme_options['v4-6-2-backward-option'] = false; $page_banner_layout = isset( $theme_options['ast-dynamic-single-page-layout'] ) ? $theme_options['ast-dynamic-single-page-layout'] : 'layout-1'; $page_structure = isset( $theme_options['ast-dynamic-single-page-structure'] ) ? $theme_options['ast-dynamic-single-page-structure'] : array( 'ast-dynamic-single-page-image', 'ast-dynamic-single-page-title' ); $layout_1_image_position = isset( $theme_options['ast-dynamic-single-page-article-featured-image-position-layout-1'] ) ? $theme_options['ast-dynamic-single-page-article-featured-image-position-layout-1'] : 'behind'; $migrated_page_structure = array(); if ( 'layout-1' === $page_banner_layout && 'none' === $layout_1_image_position && ! empty( $page_structure ) ) { foreach ( $page_structure as $key ) { if ( 'ast-dynamic-single-page-image' !== $key ) { $migrated_page_structure[] = $key; } } $theme_options['ast-dynamic-single-page-structure'] = $migrated_page_structure; } update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility on version 4.6.4. * * @since 4.6.4 * @return void */ function astra_theme_background_updater_4_6_4() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['btn-stylings-upgrade'] ) ) { $theme_options['btn-stylings-upgrade'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility for Elementor Pro heading's margin. * * @since 4.6.5 * @return void */ function astra_theme_background_updater_4_6_5() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['elementor-headings-style'] ) ) { $theme_options['elementor-headings-style'] = defined( 'ELEMENTOR_PRO_VERSION' ) ? true : false; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility for Elementor Loop block post div container padding. * * @since 4.6.6 * @return void */ function astra_theme_background_updater_4_6_6() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['elementor-container-padding-style'] ) ) { $theme_options['elementor-container-padding-style'] = defined( 'ELEMENTOR_PRO_VERSION' ) ? true : false; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility for Starter template library preview line height cases. * * @since 4.6.11 * @return void */ function astra_theme_background_updater_4_6_11() { $theme_options = get_option( 'astra-settings', array() ); if ( isset( $theme_options['global-headings-line-height-update'] ) ) { return; } $headers_fonts = array( 'h1' => '1.4', 'h2' => '1.3', 'h3' => '1.3', 'h4' => '1.2', 'h5' => '1.2', 'h6' => '1.25', ); foreach ( $headers_fonts as $header_tag => $header_font_value ) { if ( empty( $theme_options[ 'font-extras-' . $header_tag ]['line-height'] ) ) { $theme_options[ 'font-extras-' . $header_tag ]['line-height'] = $header_font_value; if ( empty( $theme_options[ 'font-extras-' . $header_tag ]['line-height-unit'] ) ) { $theme_options[ 'font-extras-' . $header_tag ]['line-height-unit'] = 'em'; } } } $theme_options['global-headings-line-height-update'] = true; update_option( 'astra-settings', $theme_options ); } /** * Handle backward compatibility for heading `clear:both` css in single posts and pages. * * @since 4.6.12 * @return void */ function astra_theme_background_updater_4_6_12() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['single_posts_pages_heading_clear_none'] ) ) { $theme_options['single_posts_pages_heading_clear_none'] = false; update_option( 'astra-settings', $theme_options ); } if ( ! isset( $theme_options['elementor-btn-styling'] ) ) { $theme_options['elementor-btn-styling'] = defined( 'ELEMENTOR_VERSION' ) ? true : false; update_option( 'astra-settings', $theme_options ); } if ( ! isset( $theme_options['remove_single_posts_navigation_mobile_device_padding'] ) ) { $theme_options['remove_single_posts_navigation_mobile_device_padding'] = true; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility for following pointers. * * 1. unit less line-height support. * 2. H5 font size case. * * @since 4.6.14 * @return void */ function astra_theme_background_updater_4_6_14() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['enable-4-6-14-compatibility'] ) ) { $theme_options['enable-4-6-14-compatibility'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility for following cases. * * 1. Making edd default option enable by default. * 2. Handle backward compatibility for Heading font size fix. * * @since 4.7.0 * @return void */ function astra_theme_background_updater_4_7_0() { $theme_options = get_option( 'astra-settings', array() ); if ( class_exists( 'Easy_Digital_Downloads' ) && ! isset( $theme_options['can-update-edd-featured-image-default'] ) ) { $theme_options['can-update-edd-featured-image-default'] = false; update_option( 'astra-settings', $theme_options ); } if ( ! isset( $theme_options['heading-widget-font-size'] ) ) { $theme_options['heading-widget-font-size'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility for version 4.7.1 * * @since 4.7.1 * @return void */ function astra_theme_background_updater_4_7_1() { $theme_options = get_option( 'astra-settings', array() ); // Setting same background color for above and below transparent headers as on transparent primary header. if ( isset( $theme_options['transparent-header-bg-color-responsive'] ) ) { if ( ! isset( $theme_options['hba-transparent-header-bg-color-responsive'] ) ) { $theme_options['hba-transparent-header-bg-color-responsive'] = $theme_options['transparent-header-bg-color-responsive']; } if ( ! isset( $theme_options['hbb-transparent-header-bg-color-responsive'] ) ) { $theme_options['hbb-transparent-header-bg-color-responsive'] = $theme_options['transparent-header-bg-color-responsive']; } update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility Spectra Heading max-width with Astra when fullwidth layout is selected. * * @since 4.8.0 * @return void */ function astra_theme_background_updater_4_8_0() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['enable-4-8-0-compatibility'] ) ) { $theme_options['enable-4-8-0-compatibility'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility Single post outside spacing issue. * * @since 4.8.2 * @return void */ function astra_theme_background_updater_4_8_2() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['v4-8-2-backward-option'] ) ) { $theme_options['v4-8-2-backward-option'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility for Spectra container margin left and right. * Handle backward compatibility for Heading font size px to em conversion cases. * * @since 4.8.4 * @return void */ function astra_theme_background_updater_4_8_4() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['enable-4-8-4-compatibility'] ) ) { $theme_options['enable-4-8-4-compatibility'] = false; update_option( 'astra-settings', $theme_options ); } if ( ! isset( $theme_options['astra-heading-font-size-compatibility'] ) ) { $theme_options['astra-heading-font-size-compatibility'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Set key to show NPS survey popup immediately for old user. * * @since 4.8.7 * @return void */ function astra_theme_background_updater_4_8_7() { // Bail early if the starter template is being imported. if ( get_option( 'astra_sites_import_started' ) === 'yes' ) { return; } update_option( 'astra_nps_show', true ); } /** * Handle backward compatibility on version 4.8.9. * 1. Reorganizing color palettes. * * @since 4.8.9 * @return void */ function astra_theme_background_updater_4_8_9() { // Bail early if the starter template is being imported. if ( get_option( 'astra_sites_import_started' ) === 'yes' || astra_get_option( 'new-color-labels' ) ) { astra_update_option( 'new-color-labels', true ); } $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['enable-4-8-9-compatibility'] ) ) { $theme_options['enable-4-8-9-compatibility'] = false; update_option( 'astra-settings', $theme_options ); } // Enable off canvas move body option for existing users. if ( ! isset( $theme_options['off-canvas-move-body'] ) ) { $theme_options['off-canvas-move-body'] = true; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility on version 4.8.10. * * @since 4.8.10 * @return void */ function astra_theme_background_updater_4_8_10() { $theme_options = get_option( 'astra-settings', array() ); /** * Enable star rating compatibility for existing users, excluding template import scenarios. */ if ( get_option( 'astra_sites_import_started' ) !== 'yes' ) { $theme_options['star-rating-comp'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Handle backward compatibility for dark palette. * Dark palette backward compatibility for some cases default option . * * @since 4.9.0 * @return void */ function astra_theme_background_updater_4_9_0() { $theme_options = get_option( 'astra-settings', array() ); if ( ! isset( $theme_options['v4-9-0-backward-option'] ) ) { $theme_options['v4-9-0-backward-option'] = false; update_option( 'astra-settings', $theme_options ); } } /** * Background updater function for theme v4.10.0 * * @since 4.10.0 * @return void */ function astra_theme_background_updater_4_10_0() { // Retrieve the installed time and optin status of BSF Analytics and update it as per product specific key. $analytics_options = array( 'bsf_analytics_installed_time' => 'astra_analytics_installed_time', 'bsf_analytics_optin' => 'astra_analytics_optin', ); foreach ( $analytics_options as $source => $target ) { $status = get_site_option( $source ); if ( ! get_site_option( $target ) && $status ) { update_option( $target, $status ); } } } Bitcoin Creeping Up Move – Web3byts

Bitcoin Creeping Up Move

0. http://www.sbnation.com/users/freewpdown

1. http://www.reverbnation.com/freewpdown?profile_view_source=header_icon_nav

2. http://hubpages.com/@freewpdown

3. http://freewpdown.livejournal.com/profile

4. http://www.coursera.org/user/b5e4eb9e3082db6b3febacfbde222ae8

5. http://www.instructables.com/member/freewpdown/?publicPreview=true

6. http://www.goodreads.com/user/show/156099995-free-wpdown

7. http://disqus.com/by/freewpdown/about/

8. http://www.slideshare.net/freewpdown

9. http://en.gravatar.com/freewpdown

10. http://www.magcloud.com/user/freewpdown

11. http://www.adamenfroy.com/guest-blogging?unapproved=143603&moderation-hash=9ef0f8ee6a31c9d93e7a091b0466ccbf#comment-143603

12. http://guestpost.com/blog/2016/06/guide-sites-guest-posts/?unapproved=43616&moderation-hash=4ded631d453a1c336d2b3df058453335#comment-43616

13. http://www.reliablesoft.net/when-to-accept-guest-posts-on-your-blog/#comment-531762

14. http://wpforms.com/how-to-get-more-guest-post-submissions-on-your-wordpress-blog/#comment-1231398

15. http://blogheist.com/guest-blogging/#comment-88786

16. http://marcguberti.com/2017/01/5-pitfalls-avoid-accepting-guest-posts/?unapproved=356730&moderation-hash=ce3b1c2b8dbb7a8624081b71e14a23da#comment-356730

17. http://seohaste.com/write-for-us-seo-guest-post/#comment-5333

18. http://alternativemindset.org/submit-guest-post-write-for-us-home-improvement/?unapproved=11027&moderation-hash=9eb30312f45b03c24cc4462e0643f6a9#comment-11027

19. http://guestpost.com/blog/2017/04/how-find-opportunities-industry/#comment-43617

20. http://neilpatel.com/blog/10-tools-that-will-get-you-more-backlinks/#comment-4404092

21. http://klintmarketing.com/dofollow-backlinks/#comment-17347

22. http://themaverickspirit.com/high-domain-authority-dofollow-backlinks-website-lists-bloggers/?unapproved=17037&moderation-hash=bd3bd352cf48bdf996c0fe7608c85c5b#comment-17037

23. http://joleisa.com/can-guest-post-us-like/?unapproved=16759&moderation-hash=e51f02f7688980f8c5ac2fb91c9a8087#comment-16759

24. http://searchenginesam.com/guest-posting-sites-australia/#comment-5393

25. http://www.newtechytips.com/instant-approval-guest-posting-sites/?unapproved=11777&moderation-hash=8f2016c7d186c53c9cd549c48656539e#comment-11777

26. http://www.expert-seo-training-institute.in/blog/free-write-for-us-seo-digital-marketing/comment-page-65/?unapproved=418311&moderation-hash=de72eb6ebe7772254591f77bb0f9323b#comment-418311

27. http://tricktip4u.blogspot.com/p/ps3-jailbreak-4.html?sc=1663317730322#c2054966226852507325

28. http://nopassiveincome.com/sponsored-posts-can-ruin-your-blog/comment-page-1/#comment-638238

29. http://bloggingideas.com/off-page-seo/?unapproved=135607&moderation-hash=af6a2bfaf668fc2be94e9356259c3417#comment-135607

30. http://neilpatel.com/blog/how-to-increase-referral-traffic-to-your-site-by-77-in-90-days/#comment-4404153

31. http://mystylepinterest.blogspot.com/2015/02/fwd-seo-footprint.html?showComment=1663318128662#c3407444446305019267

32. http://rahasiatopsearch.blogspot.com/2013/08/stickers-wayang-unyu-chat-stickers-via.html?sc=1663318203192#c8931743112402136646

33. http://kiritp-seo.blogspot.com/2016/01/20-latest-off-page-seo-techniques-2016.html?sc=1663318239412#c4173490218578106894

34. http://shemeansblogging.com/rank-new-affiliate-site/?unapproved=108956&moderation-hash=966839d6752e194fc4bbcfa0787cacc8#comment-108956

35. http://www.cloudsdeal.com/2020/04/travel-guest-post.html?sc=1663318355226#c352296292601114167

36. http://www.thrillophilia.com/blog/submit-a-travel-guest-post/?unapproved=40389&moderation-hash=7c02784a70483a32dc86c54579374e85#comment-40389

37. http://submitguestposttravel.blogspot.com/2017/05/submit-guest-post-in-travel-niche.html?sc=1663318468107#c8892581335762094661

38. http://www.tripfore.com/travel-blogs-that-accept-guest-posts/?unapproved=14207&moderation-hash=d2529dad4fbffde0a1833103e5a6f01e#comment-14207

39. http://bloggerspassion.com/guest-posting-sites-list/comment-page-4/#comment-3950290

40. http://monirbhai.blogspot.com/2019/12/what-is-backlinking-backlinking-is.html?sc=1663318632659#c5739553210684024328

41. http://thegoldcard.blogspot.com/2017/12/5-link-building-strategies-to-focus-on.html?sc=1663318672349#c562947665859687255

42. http://mailwillnotbepublished.blogspot.com/2012/07/leave-comment-and-website-are-you.html?sc=1663318711326#c2818629832233384190

43. http://seo-success-guide.blogspot.com/2020/10/improve-website-ranking-in-google-best.html?sc=1663318741767#c562112393755811040

44. http://rytwoizy.blogspot.com/2012/08/recommended-products-connect-with_2.html?sc=1663318831622#c3138489866390209480

45. http://www.bloggersideas.com/top-dofollow-commentluv-enabled-blogs-list/#comment-698975

46. http://searchenginesam.com/list-of-commentluv-blogs/#comment-5395

47. http://www.staymeonline.com/list-of-commentluv-enabled-blogs/#comment-48976

48. http://www.alltechabout.com/top-verified-list-commentluv-blog-enabled-free-dofollow-backlinks/#comment-79163

49. http://www.newtechytips.com/commentluv-blogs/?unapproved=11778&moderation-hash=91b73ec4cac6d04558aa538810ca99a3#comment-11778

50. http://www.myquickidea.com/dofollow-commentluv-blogs-list/#comment-101279

51. http://thetechsys.blogspot.com/2018/08/250-do-follow-commentluv-enabled-blogs.html?sc=1663319123529#c8498460980161376118

52. http://blogpros.com/blog/2015/09/the-commentluv-blog-plugin-still-useful-for-seo#comment-193182

53. http://allbloggingtips.com/google-adsense-vs-affiliate-marketing/#comment-596628

54. http://blogheist.com/blog-commenting-sites-list/?comment=88790#comment-88790

55. http://www.getseoinfo.com/dofollow-blog-commenting-sites-list/#comment-76393

56. http://www.seomadtech.com/blog-commenting-sites/?unapproved=52220&moderation-hash=b546fdf3e88cacd75b9235a0b6379885#comment-52220

57. http://optinmonster.com/to-allow-blog-comments-or-not-heres-what-the-data-shows/#comment-710082

58. http://www.wpbeginner.com/beginners-guide/vital-tips-and-tools-to-combat-comment-spam-in-wordpress/#comment-2158385

59. http://www.techprevue.com/disable-comment-system-on-specific-post/#comment-138751

60. http://vipinrathiseo.blogspot.com/2012/09/how-do-you-search-blog-for-commenting.html?sc=1663319642210#c3100181360264436962

61. http://semupdates.com/top-100-sites-for-guest-posting-in-2021-quality-websites/?unapproved=10656&moderation-hash=545d0b88124fc8daa9a8e6808fd6c549#comment-10656

62. http://limitlessreferrals.info/free-guest-posting-site-list/comment-page-2/#comment-56880

63. http://optinmonster.com/blogging-statistics/#comment-710631

64. http://www.blogger.com/comment.g?blogID=2516759273858122813&postID=8525700101609760829&page=1&token=1663398642838

65. http://www.ryrob.com/guest-blogging/comment-page-4/#comment-314281

66. http://www.besttechmaster.com/100-latest-guest-posting-sites-list-with-high-da-pa/?unapproved=3921&moderation-hash=a84e7333c166f015472874cda13dd6ed#comment-3921

67. http://guestpost.com/blog/2019/03/search-footprints-find-blogs/?unapproved=43716&moderation-hash=18650b9c1494a57e483748d621507422#comment-43716

68. http://marketmegood.com/blog/guest-posting-opportunity-list/?unapproved=34054&moderation-hash=625aa0f59393a4f80131817b7d569cb9#comment-34054

69. http://makealivingwriting.com/writing-jobs-for-bloggers/comment-page-3/#comment-125922

70. http://legacytips.com/business-blogs-that-accept-guest-posts/?unapproved=125751&moderation-hash=9bbbe5d6ad7244386275bd65dcb7707f#comment-125751

71. http://blogheist.com/guest-blogging-sites-list/?unapproved=88837&moderation-hash=5e1e1babf7839bc6bf2cb08fb55db827&comment=88837#comment-88837

72. http://kinsta.com/blog/wordpress-comments/#comment-919330

73. http://www.wpbeginner.com/wordpress-performance-speed/#comment-2161952

74. http://cognitiveseo.com/blog/12169/44-black-hat-seo-techniques/?unapproved=653865&moderation-hash=76070090c57e36014b3417e2e5095ddb#comment-653865

75. http://hariforyou.com/blog-commenting-sites/?unapproved=10912&moderation-hash=83997a140cb3e1e15d09a05095aabb67#comment-10912

76. http://www.blogsgeek.com/copywriting-tips-to-create-seo-friendly-content/#comment-196796

77. http://makeawebsitehub.com/examples-of-blogs/?unapproved=726192&moderation-hash=32b10770d65db08ac4961086595b8ef6#comment-726192

78. http://neilpatel.com/blog/25-smart-ways-to-increase-blog-comments-on-your-blog/#comment-4406324

79. http://www.buzzlogic.com/blogging/how-to-write-blog-comments-that-actually-drive-traffic/?unapproved=11282&moderation-hash=5c230d60a689c960fcdee4c5ae08e59e#comment-11282

80. http://firstsiteguide.com/examples-of-blogs/comment-page-1/?unapproved=367773&moderation-hash=de4be58bd97360db5795b1850370a1b3#comment-367773

81. http://www.theblogstarter.com/#comment-199180

82. http://www.ryrob.com/how-name-blog/comment-page-4/#comment-314328

83. http://kinsta.com/blog/wordpress-site-examples/#comment-919349

84. http://seolinkworld.com/blog-commenting-sites-list-blogspot/?unapproved=41572&moderation-hash=05d9efd45c66d24873adec4eaa02b1f3#comment-41572

85. http://shayarikidayari.com/blogspot-blog-commenting-sites-list/#comment-4114

86. http://searchenginesam.com/instant-approval-blog-commenting-sites-list/#comment-5409

87. http://alamodenatine.blogspot.com/2018/11/blog-post.html?sc=1663400789528#c5617348462693083747

88. http://astronomobaldaci.blogspot.com/2017/09/um-buraco-no-sol-e-suas-tempestades.html?sc=1663400838237#c5904299775964058994

89. http://simplymee89.blogspot.com/2017/05/spring-with-zaful.html?sc=1663400895856#c6012038768842752373

90. http://fistfullofd6.blogspot.com/2017/03/the-hunt-for-cypher-round-2.html?sc=1663401007985#c1148446076673146396

91. http://emailspedia.blogspot.com/2021/03/Fix-Yahoo-Mail-Login-Problems.html?sc=1663401105496#c1814356067081946112

92. http://www.blogger.com/comment.g?blogID=31477626&postID=8570451273732342090&page=3&token=1663401135187

93. http://writerightindiahandwriting.blogspot.com/2015/04/handwriting-is-it-on-verge-of-extinction.html?sc=1663401174518#c4208128556794164765

94. http://printercartridgesinkuk.blogspot.com/2018/10/ecofill-canon-pixma-pg-545-cl-546-xl.html?sc=1663401215636#c2978635955533538046

95. http://aviationreport.blogspot.com/2019/10/where-does-money-from-your-ticket-go.html?sc=1663401254139#c6188491091917963366

96. http://www.blogger.com/comment.g?blogID=8058278300417098313&postID=5987838940488861827&page=4&token=1663401288359

97. http://www.ourexternalworld.com/2020/12/review-deyga-anti-acne-kit.html?sc=1663401332914#c2895914279575476716

98. http://www.blogger.com/comment.g?blogID=3957027657603850273&postID=1218838252440526474&page=1&token=1663401555138

99. http://printercartridgesinkuk.blogspot.com/2018/10/ecofill-canon-pixma-pg-545-cl-546-xl.html?sc=1663401625681#c868406849014824825

100. http://myassignmenthelpabt.blogspot.com/2018/11/blog-images.html?sc=1663401657190#c5997157219583759182

101. http://aviationreport.blogspot.com/2021/04/shell-invests-in-lanzajet-to-speed-up.html?sc=1663401685025#c7194484739902220757

102. http://www.blogger.com/comment.g?blogID=8058278300417098313&postID=5987838940488861827&page=4&token=1663401708247

103. http://www.ourexternalworld.com/2021/01/dinner-ideas-to-keep-you-warm-this-winter.html?sc=1663401794893#c7685706976158226164

104. http://www.blogger.com/comment.g?blogID=3957027657603850273&postID=2076331269128415614&page=1&token=1663401853303

105. http://printercartridgesinkuk.blogspot.com/2018/10/ecofill-canon-pixma-pg-545-cl-546-xl.html?sc=1663401880836#c647600948558005916

106. http://www.cinematicparadox.com/2014/12/predestination-definitely-isnt-film-you.html?sc=1663402008708#c8822246721234943427

107. http://www.joellenlove.com/2018/12/fryes-before-guys.html?sc=1663402115693#c8526706821360888641

108. http://www.theworldinmykitchen.com/2012/06/mexican-chocolate-pudding-tart-secret.html?sc=1663402140926#c3935826700709346614

109. http://www.blogger.com/comment.g?blogID=3638505461399232379&postID=7713187611413616922&page=7&token=1663402165793

110. http://uncertainoutcomes.blogspot.com/2013/03/raw-milk-whats-big-deal.html?sc=1663402195364#c2477901846057080669

111. http://anastasiadnail.blogspot.com/2017/12/dance-legend-gel-prism-archetype.html?sc=1663402224442#c7148359519425344040

112. http://ideabackpack.blogspot.com/2015/09/its-monday-what-are-you-reading.html?sc=1663402296010#c2906518650828322384

113. http://romance-around-the-corner.blogspot.com/2019/01/introducing-romance-backlist-and.html?sc=1663402332042#c5692489297674592371

114. http://www.blogger.com/comment.g?blogID=3841761&postID=2490187754307906907&page=2&token=1663402366203

115. http://www.blogger.com/comment.g?blogID=7843316&postID=156487621104478752&page=1&token=1663402392010

116. http://jeelanisofi.blogspot.com/2012/12/windows-8-at-ur-hand.html?sc=1663402421470#c7376861473178124714

117. http://romance-around-the-corner.blogspot.com/2017/07/review-some-kind-of-hero-by-suzanne.html?sc=1663402547222#c2300616103708008005

118. http://www.blogger.com/comment.g?blogID=3841761&postID=7546079011788634336&page=1&token=1663402574401

119. http://www.blogger.com/comment.g?blogID=7843316&postID=156487621104478752&page=1&token=1663402629301

120. http://jeelanisofi.blogspot.com/2012/12/acronyms-and-abbreviations.html?sc=1663402656396#c1738166722747958697

121. http://evgenijamir.blogspot.com/2021/10/blog-post.html?sc=1663402720952#c7278223873096330664

122. http://crazyblogger.in/2021/02/dofollow-blog-commenting-sites-instant-approval.html?unapproved=785&moderation-hash=ad7e1d9fc69fbdd2ebd13a64b0c02498#comment-785

123. http://www.vmoptions.com/health-related-blog-commenting-sites-list?unapproved=3051&moderation-hash=f1bf08b4646d400aff6659fa29b2f67f#comment-3051

124. http://www.cinematicparadox.com/2018/12/lets-talk-about-my-15-favourite-films.html?sc=1663402954791#c6652252887663476216

125. http://www.joellenlove.com/2018/12/fryes-before-guys.html?sc=1663403066642#c8459477975511008810

126. http://www.fashiontrendsmore.com/2018/06/8-style-suggestions-for-4th-of-july.html?sc=1663403103832#c4644984541455044289

127. http://owningyourshit.blogspot.com/2020/08/explain-like-im-5-carter-page-who-he-is.html?sc=1663403157071#c4301528706869867189

128. http://alamodenatine.blogspot.com/2020/12/blog-post_14.html?sc=1663403192736#c8589859719799950691

129. http://alamodenatine.blogspot.com/2020/12/blog-post_14.html?sc=1663403225017#c2822440094181919864

130. http://anastasiadnail.blogspot.com/2017/01/dance-legend-gel-polish-evening-time.html?sc=1663403270261#c4463603875787507670

131. http://ideabackpack.blogspot.com/2015/10/what-is-mrs-walker-reading-imwayr-101215.html?sc=1663403923792#c6803639331163230775

132. http://romance-around-the-corner.blogspot.com/2016/11/review-ready-to-roll-by-suzanne.html?sc=1663403952176#c8385389663357495336

133. http://uncertainoutcomes.blogspot.com/2013/04/whats-up-with-north-korea.html?sc=1663404012563#c4870003082338056683

134. http://blog.dyscalculia.org/2019/01/visitor-i-am-retired-special-education.html?sc=1663404037826#c7421127673436347867

135. http://owningyourshit.blogspot.com/2022/02/freedom-convoy-2022.html?sc=1663404078383#c6432301721160247643

136. http://alamodenatine.blogspot.com/2020/12/blog-post_14.html?sc=1663404106659#c3822789680791922018

137. http://anastasiadnail.blogspot.com/2017/12/dance-legend-mystery-fushigi.html?sc=1663404140699#c8718600311200363638

138. http://ideabackpack.blogspot.com/2015/10/october-essay-writing-menu-on-sale.html?sc=1663404221936#c9208901356182494407

139. http://romance-around-the-corner.blogspot.com/2019/01/introducing-romance-backlist-and.html?sc=1663404254262#c7982059608595332331

140. http://jeelanisofi.blogspot.com/2012/12/windows-8-at-ur-hand.html?sc=1663404307644#c6524229113134271995

141. http://tripleplaysportsradio.com/cowboys-start-season-with-win/#comment-2269

142. http://www.alliancephysicaltherapyva.com/Blog/?p=26#comment-63418

143. http://pradeepgurgaonrealestate.blogspot.com/2013/06/gurgaon-ongoing-projects-call.html?sc=1663404958536#c4510457462269093809

144. http://property-portal-india.blogspot.com/2013/08/high-living-new-way-for-kochites.html?sc=1663404649520#c2926371057801923952

145. http://gurgaonrealestates.blogspot.com/2013/12/homestead-new-project-sector-25-sohna.html?sc=1663404696599#c4173371171721643629

146. http://property-news-india.blogspot.com/2016/07/here-are-benefits-of-home-loan-that-you.html?sc=1663404705541#c1605171052505985967

147. http://buysellrentpatna.blogspot.com/2021/11/naubatpur-ace-investment-destination.html?sc=1663404733105#c7104583082776051233

148. http://bproperties.blogspot.com/2015/01/the-infrastructural-excellence-of.html?sc=1663404748720#c2444526897773971693

149. http://avjheightsingreaternoida.blogspot.com/2012/03/holi-wishes-avj-heights-in-greater.html?sc=1663404828818#c1545198396590878809

150. http://amoldeshpandesblog.blogspot.com/2014/02/challenges-posed-by-urbanization-in.html?sc=1663404836213#c4574973481026391558

151. http://investmentmantrahomes.blogspot.com/2013/04/the-express-park-view-noida-extension.html?sc=1663404846999#c397772639390278397

152. http://punelive.blogspot.com/2020/04/authentic-thalappakatti-style-mutton.html?sc=1663404857052#c1260753887458832550

153. http://propresidentialproperty.blogspot.com/2013/08/purva-skydale-bangalore.html?sc=1663404870414#c7656972476748922909

154. http://property-portal-india.blogspot.com/2013/09/property-in-kozhikode-dont-be-heedless.html?sc=1663404885817#c5887772219470712356

155. http://jaypee-greensprojects.blogspot.com/2013/02/yamuna-expressway-expressway-to-future.html?sc=1663404898376#c1710748436350844299

156. http://hot-residential-property.blogspot.com/2013/06/buying-residential-property-in-noida.html?sc=1663405243977#c3547584825370898206

157. http://launchnewproject.blogspot.com/2013/03/new-project-rewari-9560203809-ulm.html?sc=1663405254759#c3351725870613411130

158. http://goldengatepropertiespropertybubble.blogspot.com/2012/11/what-is-indian-property-bubble.html?sc=1663405264330#c2179332146512523115

159. http://avjacecitynoida.blogspot.com/2013/01/avj-group.html?sc=1663405272466#c3379436433431687566

160. http://noidaextensiongnw.blogspot.com/2013/03/ajnara-homes-noida-extension-march-2013.html?sc=1663405280320#c6438107866559324480

161. http://ajnaraambrosianoidasector118.blogspot.com/2012/05/ajnara-ambrosia-noida.html?sc=1663405300623

162. http://realestatenoidaproperty.blogspot.com/2012/11/diwali-dhamaka-avj-group-noida.html?sc=1663405310229#c2875104995053110157

163. http://mumbairesidentialproperty.blogspot.com/2013/06/palava-city-mumbai09999684166_26.html?sc=1663405317358#c6392315117203271572

164. http://investinestate.blogspot.com/2012/08/shubkamna-launches-monarch-at-noida.html?sc=1663405325451#c9056318749770665035

165. http://mahagunmezzarianoida78.blogspot.com/2012/07/mahagun-mezzaria.html?sc=1663405333502#c2407848661034079989

166. http://best-web-designing-company-in-india.blogspot.com/2017/10/bulk-sms-solutions-webkeyindia-is.html?sc=1663405370854#c3742700284465534110

167. http://island-kitchen-indian-kitchen.blogspot.com/2017/07/island-kitchen-manufacturer-in-dwarka_20.html?sc=1663405381931#c6913149996363968065

168. http://designer-kitchen-in-new-delhi-india.blogspot.com/2017/08/designer-kitchen-manufacturer-in-dwarka.html?sc=1663405390368#c8082145488768609245

169. http://bestpackersmoversinpatna.blogspot.com/2017/07/best-packers-movers-in-patna-maa-ambika_31.html?sc=1663405403156#c3409614983536966418

170. http://packers-and-movers-in-bihar.blogspot.com/2017/07/packers-and-movers-in-bihar-maa-ambika_31.html?sc=1663405412478#c4535042235201269

171. http://best-packers-and-movers-in-bihar.blogspot.com/2017/07/best-packers-and-movers-in-bihar-maa_31.html?sc=1663405425897#c1159259169741421148

172. http://packers-and-movers-patna.blogspot.com/2017/07/packers-and-movers-in-patna-maa-ambika_31.html?sc=1663405669781#c4568743336846632117

173. http://top-packers-and-movers-in-patna.blogspot.com/2017/07/top-packers-and-movers-in-patna-maa_31.html?sc=1663405680481#c1383880883502850410

174. http://top-packers-and-movers-in-gaya.blogspot.com/2017/07/top-packers-and-movers-in-gaya-maa_31.html?sc=1663405692719#c7667606342557424459

175. http://best-packers-and-movers-in-gaya.blogspot.com/2017/07/best-packers-and-movers-in-gaya-maa_31.html?sc=1663405703175#c8677459772685952525

176. http://packers-and-movers-in-muzaffarpur.blogspot.com/2017/07/packers-and-movers-in-muzaffarpur-maa_31.html?sc=1663405719758#c5793630224755942446

177. http://packers-and-movers-in-gaya.blogspot.com/2017/07/packers-and-movers-in-gaya-maa-ambika_31.html?sc=1663405729318#c7009748990806512326

178. http://packers-and-movers-in-gaya.blogspot.com/2017/07/packers-and-movers-in-gaya-maa-ambika_31.html?sc=1663405750319#c1567862048194420810

179. http://house-hold-shifting-in-bihar.blogspot.com/2017/07/house-hold-shifting-in-bihar-maa-ambika_31.html?sc=1663405762389#c6947967452803784426

180. http://house-hold-shifting-in-patna.blogspot.com/2017/07/house-hold-shifting-in-patna-maa-ambika_31.html?sc=1663405771827#c920073464901162543

181. http://home-relocation-service-in-patna.blogspot.com/2017/07/home-relocation-service-in-patna-maa_31.html?sc=1663405782354#c2642529953726776264

182. http://sartoriallyinclined.blogspot.com/2012/01/shopping-florence-or-firenze-if-youre.html?sc=1663405822847#c7914320388445128830

183. http://ravicblog.blogspot.com/2009/01/dell-mini-12-dissected.html?sc=1663405833620#c4030391767737072773

184. http://www.backlinksworld.in/2020/08/edu-blog-commenting-site.html?sc=1663405872624#c497571277456236527

185. http://techrt.com/on-page-seo-tips-for-blogspot-blogs/?unapproved=211891&moderation-hash=5ad305ccab4de5d6ea63683cb1f46c89#comment-211891

186. http://completeseo360.blogspot.com/2018/03/top-100-blog-commenting-list-instant-approval.html?sc=1663406114428#c3574070671955002296

187. http://pushyourseo.blogspot.com/2018/02/backlink-list-blog-comments.html?sc=1663406167472#c4706731870382118005

188. http://www.yogaworks.com/blog/2013/09/24/ashtanga-yoga-styles-of-yoga/?unapproved=65990&moderation-hash=51ba3e8ea85304d46918423ba0aecf9b#comment-65990

189. http://minterapp.com/sites-to-submit-a-guest-post-for-free-2020/?unapproved=13666&moderation-hash=bb743ca1e1ddf24e6952f60b008eb732#comment-13666

190. http://searchenginesam.com/high-da-blog-comment-sites-lists/?unapproved=5414&moderation-hash=8ab270ce569fe8c83cc71ef6a5ae2fd1#comment-5414

191. http://www.onlinedecoded.com/free-blog-commenting-sites-list/#comment-30067

192. http://seohaste.com/blog-commenting-sites-list/#comment-5358

193. http://makesuccessonline.com/blog-commenting-sites/comment-page-2/?unapproved=4855&moderation-hash=c0d142c5b9939450382250de198b7a3b#comment-4855

194. http://blogging.techquicks.com/high-da-dofollow-blog-commenting-sites-list-2020-21/?unapproved=2482&moderation-hash=2208bc4cd551241a1ccd13047ae6997c#comment-2482

195. http://nkseotech.blogspot.com/2019/11/instant-approval-blog-commenting-sites-list-2020.html?sc=1663580863132#c948202860295868358

196. http://www.blogger.com/comment.g?blogID=4721540019298511793&postID=1275744632778994653&page=1&token=1663580880926

197. http://techtrickseo.com/high-pr-dofollow-blog-commenting-sites-list/#comment-16897

198. http://www.blogger.com/comment.g?blogID=13516434337088762&postID=4388900850029069967&page=1&token=1663580952541

199. http://www.tech1xpert.com/blog-commenting-sites-list/?unapproved=31095&moderation-hash=3513a17256bb8280f45c4f11bd538686#comment-31095

200. http://www.salamexperts.com/blog-commenting-sites-free-blog-commenting-sites-list-2021/?unapproved=6226&moderation-hash=71065dced66453665eaf60b07b35716f#comment-6226

201. http://backlinksbuilder4seo.blogspot.com/2016/07/top-100-free-high-pr-dofollow-blog.html?sc=1663581006582#c6870469886315020635

202. http://hohoangtu.blogspot.com/2018/12/top-200-best-high-da-dofollow-blog.html?sc=1663581019506#c5500132942482528147

203. http://technical1o1.blogspot.com/2019/10/top-high-da-pa-dofollow-blog-commenting-sites-list-2019.html?sc=1663581031888#c155653808695515641

204. http://www.seotutorialpoint.com/blog-commenting-sites-list/#comment-58727

205. http://bounditsolution.blogspot.com/2019/12/top-200-free-blog-commenting-sites-list.html?sc=1663581062921#c8817739447643943941

206. http://bloggingtours.com/blog-commenting-sites-list/?unapproved=7763&moderation-hash=3f0c9087ed889ee0758678c09d9d80b5#comment-7763

207. http://www.seopitara.com/instant-approval-blog-comments-site/?unapproved=158&moderation-hash=be9fcb10928056caa55b85768cb275c8#comment-158

208. http://seoskit.com/instant-approval-guest-posting-sites/?unapproved=2582&moderation-hash=f3fc42cbaec9b6d1b0c2351d82cf5e13#comment-2582

209. http://www.shoutmeloud.com/accepting-guest-posts-blog.html/comment-page-1#comment-2431163

210. http://buddinggeek.com/things-to-consider-before-accepting-guest-posts/#comment-15989

211. http://collectivedge.com/blog/blogging-101-guide-guest-posts/#comment-426925

212. http://webdesignledger.com/write-for-us/#comment-1284609

213. http://www.paulolyslager.com/ten-usability-related-websites-guest-post/#comment-71522

214. http://www.techrecur.com/list-of-190-blogs-and-websites-that-accept-guest-posts/#comment-35941

215. http://infobrandz.com/how-to-perfectly-pitch-your-guest-blog-post/?unapproved=7725&moderation-hash=a2ac9ccf5a7ef6362cab5f1024f3f9f7#comment-7725

216. http://wpmayor.com/should-you-be-accepting-guest-posts-on-your-affiliate-website/?unapproved=263926&moderation-hash=831fbf310cc810f0f72b8bda0ddeb545#comment-263926

217. http://wbcomdesigns.com/guest-blogging-strategy-for-seo/#comment-185488

218. http://seohaste.com/write-for-us-seo-guest-post/#comment-5446

219. http://joycebragdonstudio.com/seo-blogs-accepting-guest-posts/comment-page-1/?unapproved=33370&moderation-hash=566f4c25340816c86d6cd55fb9a167db#comment-33370

220. http://freelancetopic.com/top-guest-posting-site-list/?unapproved=24543&moderation-hash=5f1b723b5651f435c99f0b7f6a0331e6#comment-24543

221. http://www.bigstarcopywriting.com/blog/content-marketing/should-i-accept-guest-blog-posts/#comment-18391

222. http://searchenginesam.com/list-of-commentluv-blogs/#comment-5464

223. http://bloggerspassion.com/list-of-high-quality-blog-commenting-sites/comment-page-5/#comment-3950935

224. http://bloggingidol.com/instant-approval-blog-commenting-sites/?unapproved=4703&moderation-hash=b7dead0022b694f3eca46a31e619da2a#comment-4703

225. http://www.blogger.com/comment.g?blogID=8853642492688746538&postID=8626532520529911222&page=3&token=1663656970450

226. http://digitaldimensions4u.com/492-dofollow-commentluv-enabled-blogs-for-blog-commenting/#comment-20792

227. http://www.sarkarinaukripaper.com/2015/03/dofollow-top-commentluv-enabled-blogs.html?sc=1663657100875#c5473972256746908995

228. http://www.usefulblogging.com/high-pr-dofollow-commentluv-enabled-blogs-list/#comment-57354

229. http://infozone24.com/top-1000-commentluv-dofollow-blogs/?unapproved=8852&moderation-hash=586074a5fb15568145a6d2aaae1fb078#comment-8852

230. http://www.nitinpahuja.com/list-of-commentluv-dofollow-blogs-start-commenting-and-get-backlinks-for-your-blog/?unapproved=128436&moderation-hash=e97f56ce2076f9b6896d19ac980119c8#comment-128436

231. http://netempowerment.blogspot.com/2016/11/100-best-list-of-pr-enabled-commentlov.html?sc=1663657621718#c821313940067819641

232. http://seolatesttutorial.blogspot.com/2017/04/40-new-dofollow-commentluv-enabled.html?sc=1663657657849#c6149646981104541799

233. http://freelinksubmissionsite.blogspot.com/2017/01/top-dofollow-commentluv-enabled-blogs.html?showComment=1663657705697#c8562399584057271923

234. http://studywarehouse.com/list-high-quality-blog-commenting-backlink-websites-seo/?unapproved=25250&moderation-hash=577bfd6042df7cff040009b0890a2e94#comment-25250

235. http://www.ryrob.com/free-blogging-sites/comment-page-8/#comment-315338

236. http://www.seoblog.com/blog-commenting-services-effective/#comment-12410

237. http://kinsta.com/blog/alternative-search-engines/#comment-923594

238. http://www.blunt-therapy.com/how-to-start-a-mental-health-blog/#comment-4993

239. http://webdesigndev.com/the-best-of-blog-comment-designs/#comment-2389612

240. http://blogs.loc.gov/national-book-festival/2021/08/dana-tanamachi-and-the-2021-national-book-festival-poster/#comment-17277

241. http://blog.genial.ly/en/education-marketing/#comment-70121

242. http://blog.tcea.org/new-features-google-sites/#comment-339713

243. http://www.urbanmommies.com/guest-post-submissions/#comment-306208

244. http://www.reliablesoft.net/is-guest-posting-a-valid-way-to-get-links/#comment-532249

245. http://guestpost.com/blog/2016/08/difference-guest-sponsored-post/?unapproved=44163&moderation-hash=265676f4dc4926f76876aec7c2510d1e#comment-44163

246. http://atespost.com/guest-posting-guidelines-for-submitting-a-guest-post/#comment-508

247. http://guestpost.com/blog/2017/06/examples-guest-blogging-strategies/?unapproved=44164&moderation-hash=a158d85f9ec87e7306a3eb0806ac70e3#comment-44164

248. http://www.pointvisible.com/blog/how-to-write-a-perfect-guest-post-pitch/#comment-170651

249. http://www.indiamehelp.com/seo-friendly-post-kaise-likhe/#comment-33343

250. http://antonyagnel.com/blog-commenting-for-backlinks/#comment-114919

251. http://goatcloud.com/2015/01/23/leaving-getting-comments-websites/#comment-13557

252. http://skitti.sh/comment-spam-still-recognised-seo-technique/#comment-3767

253. http://alltutorialsite.blogspot.com/2012/06/5000-dofollow-blog-comment-site-list.html?sc=1664689568688#c5821098751907786441

254. http://makeyour-living-online.blogspot.com/2010/08/huge-lists-of-dofollow-blog-you-must.html?sc=1664689534236#c3410036517287850630

255. http://neilpatel.com/blog/7-proven-strategies-to-increase-your-blogs-traffic-by-206/#comment-4442631

256. http://firstsiteguide.com/start-blog/comment-page-6/?unapproved=368288&moderation-hash=b71bc4cfec2fc3564f5327b3651f3772#comment-368288

257. http://kinsta.com/blog/how-to-monetize-a-blog/?unapproved=937740&moderation-hash=c71a6d09c935194f1171dba9237d944b#comment-937740

258. http://timetechsol.com/blog/blog-commenting/?unapproved=41836&moderation-hash=89c702a2fcf8974977e39ddded22e142#comment-41836

259. http://www.wpbeginner.com/beginners-guide/how-to-effectively-attract-and-manage-guest-bloggers-in-wordpress/#comment-2213461

260. http://www.trendingus.com/comments-for-writers/#comment-677893

261. http://blog.ktm.com/nordkapp-in-winter-part-1/#comment-1532763

262. http://blogs.loc.gov/loc/2022/03/black-cowboys-at-home-on-the-range/?unapproved=1832822&moderation-hash=7cda23fc4392e413246630e5efec12fa#comment-1832822

263. http://defradigital.blog.gov.uk/2022/03/18/how-quality-sleep-can-help-maintain-good-mental-health/#comment-12719

264. http://socialtriggers.com/how-to-get-more-blog-readers/#comment-378249

265. http://www.lemonde.fr/blog/vidberg/2016/09/01/une-rentree-sous-le-signe-du-second-degre/#comment-500202

266. http://nitinwebtips.blogspot.com/2020/01/instant-approval-blog-commenting-sites.html?sc=1664870496451#c3448618890401559132

267. http://techseoblog.com/blog-commenting-sites/#comment-7756

268. http://wikinowinfo.blogspot.com/p/instant-approval-blog-commenting-site.html?sc=1664870445925#c6288657276747426098

269. http://beast-blogging.blogspot.com/2020/09/top-10-instant-approval-blog-commenting-sites-2020.html?sc=1664870420885#c4038279518037678195

270. http://2019business-directory.blogspot.com/2019/04/200-instant-approval-blog-commenting.html?sc=1664870796971#c2572452729119647890

271. http://handheldtesttools.blogs.keysight.com/2016/03/circuit-board-troubleshooting-using.html?sc=1664870736111#c8622719623562868080

272. http://blog.jcow.net/2010/08/changelogs-of-310.html?sc=1664871314749#c3802817021592972737

273. http://hungrycaramella.blogspot.com/2020/09/femme-luxe-loungewear-review.html?sc=1664871294724#c4359463816916411193

274. http://bloggingnavigation.com/high-da-pa-blog-commenting-sites-list/#comment-1094

275. http://seoexpertadviser277180535.wordpress.com/wp-comments-post.php

276. http://htechnourdu.blogspot.com/2019/11/100-dofollow-instant-approval-blog.html?sc=1664871202352#c4412678765385749570

277. http://bloggingkkk.blogspot.com/2019/11/dofollow-instant-approval-blog.html?sc=1664871182713#c3389352505606889848

278. http://blog.tucktools.com/2020/06/high-da-instant-approval-blog.html?sc=1664871162895#c656328845580855851

279. http://seotipstutorial1.blogspot.com/2020/03/instant-approval-blog-commenting-list.html?sc=1664871096054#c5999549807918455627

280. http://freeseotips101.blogspot.com/2021/03/free-instant-approval-blog-commenting.html?sc=1664871012171#c7648852230418762178

281. http://inecommercialeout.blogspot.com/2022/02/ikoo-hair.html?sc=1664871706453#c7220197084724278909

282. http://learningenglishisgreat-rosa.blogspot.com/2019/10/prepositions-of-place.html?sc=1664871691349#c4257960768000364445

283. http://www.blogger.com/comment.g?blogID=11882878&postID=115214359813890439&page=1&token=1664871666723

284. http://chicwiththeleast.blogspot.com/2015/05/black.html?sc=1664871648642#c5366613005731616859

285. http://whatwillyoustamp.blogspot.com/2019/05/wwys-221-timeless-textures.html?sc=1664871623727#c5745051571768375393

286. http://andrew-charlton.blogspot.com/2015/11/andrew-charlton-co-author-of-right-to.html?sc=1664871609024#c6752030456224743079

287. http://www.blogger.com/comment.g?blogID=6601042893287478842&postID=8227938896444728412&page=1&token=1664871589336

288. http://www.blogger.com/comment.g?blogID=2171776489221716830&postID=3848734125402864333&page=1&token=1664871560935

289. http://www.blogger.com/comment.g?blogID=3495947856939102004&postID=3757358630789137474&page=1&token=1664871529353

290. http://fistfullofd6.blogspot.com/2018/06/neverness-took-this-photo-hey-folks.html?sc=1664872237429#c6786094018254114795

291. http://osensblog.blogspot.com/2016/07/china-glaze-come-rain-or-shine.html?sc=1664872215053#c9168025393026685625

292. http://akaciamedical.blogspot.com/2017/08/get-outdoors-durham-take-child-outdoors.html?sc=1664872195267#c5237633393302920195

293. http://hindigks.blogspot.com/2018/06/breaking-news-vidhyasahayak-bharati-for.html?sc=1664872181707#c5876465090695024409

294. http://sonya-polunichka.blogspot.com/2018/09/malva-03.html?sc=1664872015945#c3385571435553989480

295. http://evgenijamir.blogspot.com/2019/12/ninacloak.html?sc=1664871978187#c6917139746706930224

296. http://psuedobukowski.blogspot.com/2012/05/blank.html?sc=1664872540914#c2902286159025119098

297. http://emailspedia.blogspot.com/2021/03/Fix-Yahoo-Mail-Login-Problems.html?sc=1664872514302#c4710277489547340851

298. http://www.blogger.com/comment.g?blogID=31477626&postID=769882985629736092&page=2&token=1664872494903

299. http://writerightindiahandwriting.blogspot.com/2015/04/handwriting-sessions-at-write-right.html?sc=1664872473073#c5419823189779621410

300. http://drdavidmarcon.blogspot.com/2020/01/what-to-expect-on-your-1st-visit-part.html?sc=1664872457369#c8830396297253135445

301. http://bakunails.blogspot.com/2015/04/golden-rose-rich-color-101_22.html?sc=1664872436133#c5621086469294933930

302. http://simplymee89.blogspot.com/2017/05/best-hair-store-clip-in-extensions.html?sc=1664872419934#c7683588335356253256

303. http://aviationreport.blogspot.com/2019/10/where-does-money-from-your-ticket-go.html?sc=1664872736696#c1800395695954496365

304. http://www.blogger.com/comment.g?blogID=3957027657603850273&postID=8820711099118289336&page=5&token=1664872756029

305. http://www.cinematicparadox.com/2018/12/lets-talk-about-my-15-favourite-films.html?sc=1664872776640#c5477647197831719293

306. http://www.lenaroy.com/2018/06/my-birthday-wish-help-me-have-deeper.html?sc=1664872791439#c2457664377579536730

307. http://www.ourexternalworld.com/2021/09/DoMoreAlwaysReview.html?sc=1664872830271#c6615746921578866803

308. http://uncertainoutcomes.blogspot.com/2014/02/us-ignite-are-we-heading-to-world-of.html?sc=1664873227456#c930732682866716721

309. http://blog.dyscalculia.org/2019/01/visitor-i-am-retired-special-education.html?sc=1664873212083#c5448582544619196818

310. http://owningyourshit.blogspot.com/2022/02/freedom-convoy-2022.html?sc=1664873193394#c5286773538540071417

311. http://www.theworldinmykitchen.com/2012/12/holiday-swirl-cookies.html?sc=1664873147433#c4644229595389991843

312. http://www.fashiontrendsmore.com/2018/06/8-style-suggestions-for-4th-of-july.html?sc=1664873091643#c328299854182355326

313. http://www.joellenlove.com/2019/05/travel-diary-bali.html?sc=1664873071604#c653368355332924560

314. http://romance-around-the-corner.blogspot.com/2019/01/introducing-romance-backlist-and.html?sc=1664873384035#c8844914473192679798

315. http://ideabackpack.blogspot.com/2015/10/persuasive-writing-with-spider-and-fly.html?sc=1664873399128#c7855579362633682418

316. http://anastasiadnail.blogspot.com/2018/03/dance-legend-anna-gorelova.html?sc=1664873420124#c8474711954997150291

317. http://trafficcrow.com/dofollow-backlink-sites-list/#comment-182388

318. http://www.couponzania.com/blog/top-high-da-sites-for-comment-backlinks/#comment-268

319. http://thedigitalfury.com/top-100-dofollow-backlink-sites-list/#comment-2211

320. http://techshahjee.blogspot.com/2021/02/dofollow-backlinks-2021.html?sc=1664873746815#c1947647210969850179

321. http://www.justnaira.com/increase-blog-traffic/#comment-530207

322. http://blogpros.com/blog/2017/09/comments-blog-rankings-traffic?unapproved=194698&moderation-hash=e06b7720165d130a425c3ee2c2b27b4e#comment-194698

323. http://trafficcrow.com/blog-commenting-guide/#comment-182389

324. http://themirror2.blogspot.com/2016/11/list-new-high-pa-da-dofollow-blog.html?sc=1664874035472#c1532061033385107933

325. http://bestechtips.com/blog-commenting-sites/#comment-21940

326. http://blogcommentingsitelist.blogspot.com/2017/09/real-estate-blog-commentings-site-list.html?sc=1664875327554#c4656632100379935746

327. http://propmindrealty.blogspot.com/2013/10/amazing-residential-villa-launch-in.html?sc=1664875401829#c2826895143623641417

328. http://goldengatepropertiesrealestateboom.blogspot.com/2012/11/reasons-for-real-estate-boom-in-india.html?sc=1664875434197#c1874313077770513568

329. http://gurgaonrealestates.blogspot.com/2013/12/homestead-new-project-sector-25-sohna.html?sc=1664875462221#c3602649900371695369

330. http://property-portal-india.blogspot.com/2013/09/property-in-alappuzha-roost-to-compose.html?sc=1664875475931#c5238221927062460118

331. http://property-portal-india.blogspot.com/2013/09/property-in-alappuzha-roost-to-compose.html?sc=1664875495067#c5848193132499588048

332. http://buysellrentpatna.blogspot.com/2022/02/5-top-locations-to-invest-in-land-in.html?sc=1664875514382#c6718629450158000640

333. http://punelive.blogspot.com/2020/11/shree-dinosaur-talks-gallimimus-vs.html?sc=1664875783551#c1416020681697301018

334. http://anuragsinghrana.blogspot.com/2014/03/ild-new-project-sector-33-sohna-ild-new.html?sc=1664875768387#c9098957852082903927

335. http://indiaconstructionupdate.blogspot.com/2019/02/build-india-government-initiates-gst.html?sc=1664875751020#c5931194518155588177

336. http://real-estate-india-property.blogspot.com/2013/03/ulm-amangani-rewari-9560203809-ulm.html?sc=1664875737097#c2130059086457294485

337. http://realestatealerts1.blogspot.com/2015/08/you-ll-get-your-house-on-time-as-govt.html?sc=1664875724197

338. http://bangalorebricks.blogspot.com/2013/02/home-loan-eligibility-calculators-india.html?sc=1664875709850#c3453222043793728420

339. http://noidaextensiongnw.blogspot.com/2013/03/ajnara-homes-noida-extension-march-2013.html?sc=1664876057441#c8122451662297353828

340. http://avjacecitynoida.blogspot.com/2013/01/avj-group.html?sc=1664876042219#c2895021843039501459

341. http://ajnaraambrosianoidasector118.blogspot.com/2012/05/ajnara-ambrosia-noida.html?sc=1664876028705

342. http://hot-residential-property.blogspot.com/2014/09/provident-harmony-off-thanisandra-main.html?sc=1664876014456#c3305422512349126516

343. http://property-portal-india.blogspot.com/2013/09/hills-or-beaches-what-surrounds-you.html?sc=1664876000604#c8450374395060048706

344. http://propresidentialproperty.blogspot.com/2013/08/purva-skydale-bangalore.html?sc=1664875984417#c83580884821421447

345. http://amoldeshpandesblog.blogspot.com/2014/02/challenges-posed-by-urbanization-in.html?sc=1664875964934#c2674360894663549477

346. http://avjheightsingreaternoida.blogspot.com/2012/03/holi-wishes-avj-heights-in-greater.html?sc=1664875951093#c1010097010286122007

347. http://www.freetoreads.com/stylish-comment-box-for-blogger-blog/#comment-36

348. http://mahagunmezzarianoida78.blogspot.com/2012/07/mahagun-mezzaria.html?sc=1664876399898#c7307284155092382077

349. http://mumbairesidentialproperty.blogspot.com/2013/06/palava-city-mumbai09999684166_26.html?sc=1664876351184#c568993127632853874

350. http://realestatenoidaproperty.blogspot.com/2013/04/amaatra-group-new-project-09971495543.html?sc=1664876331751#c8373140389019247916

351. http://investinestate.blogspot.com/2013/04/gaur-sports-wood-noida-sec-79.html?sc=1664876256723#c3553974619373581672

352. http://www.megatechwaves.com/2020/08/how-to-change-your-blogger-comment-box.html?sc=1664876596007#c2520264067079844168

353. http://www.netsocialblog.com/add-stylish-wordpress-style-comment-box-for-blogger/comment-page-1#comment-36443

354. http://neilpatel.com/blog/control-blog-comment-spam/#comment-4446690

355. http://www.wpbeginner.com/wp-themes/how-to-style-wordpress-comment-form/#comment-2213682

356. http://kinsta.com/blog/wordpress-comment-plugins/#comment-940561

357. http://bloggingtipsandtrix.blogspot.com/2013/04/how-to-customize-comment-box-in-blogger.html?sc=1664876957926#c1545628962120565832

358. http://www.shoutmeloud.com/blogging-why-commenting-is-very-important-for-your-blog.html/comment-page-4#comment-2435216

359. http://www.abrightclearweb.com/how-to-tell-if-your-blog-comments-are-spam/?unapproved=249168&moderation-hash=227e6df70b9166f4e5aa9e76bc526a21#comment-249168

360. http://blogger-html-css-codes.blogspot.com/2015/05/stylish-comment-box-for-blogger.html?sc=1664877170194#c2554096095525520381

361. http://nsinformations.blogspot.com/2017/07/how-to-add-facebook-comment-box-to.html?sc=1664877495950#c4568217883896794228

362. http://betterstudio.com/blog/customize-wordpress-comment-form/?bs-comment-added=1#comment-134223

363. http://socialtriggers.com/why-bloggers-fail/#comment-378250

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top