/** * Download Docs locally. * * @package Astra * @since 4.6.0 */ /** * Process Docs from locally. */ class Astra_Docs_Loader { /** * The remote URL. * * @since 4.6.0 * @var string */ protected $remote_url; /** * Base path. * * @since 4.6.0 * @var string */ protected $base_path; /** * Base URL. * * @since 4.6.0 * @var string */ protected $base_url; /** * Subfolder name. * * @since 4.6.0 * @var string */ protected $subfolder_name; /** * The docs folder. * * @since 4.6.0 * @var string */ protected $docs_folder; /** * The local stylesheet's path. * * @since 4.6.0 * @var string */ protected $local_stylesheet_path; /** * The local stylesheet's URL. * * @since 4.6.0 * @var string */ protected $local_docs_json_url; /** * The remote CSS. * * @since 4.6.0 * @var string */ protected $remote_styles; /** * The final docs data. * * @since 4.6.0 * @var string */ protected $docs_data; /** * Cleanup routine frequency. */ const CLEANUP_FREQUENCY = 'weekly'; /** * Constructor. * * Get a new instance of the object for a new URL. * * @since 4.6.0 * @param string $url The remote URL. * @param string $subfolder_name The subfolder name. */ public function __construct( $url = '', $subfolder_name = 'bsf-docs' ) { $this->remote_url = $url; $this->subfolder_name = $subfolder_name; // Add a cleanup routine. $this->schedule_cleanup(); add_action( 'astra_delete_docs_folder', array( $this, 'astra_delete_docs_folder' ) ); } /** * Get the local URL which contains the styles. * * Fallback to the remote URL if we were unable to write the file locally. * * @since 4.6.0 * @return string */ public function get_url() { // Check if the local stylesheet exists. if ( $this->local_file_exists() ) { // Attempt to update the stylesheet. Return the local URL on success. if ( $this->write_json() ) { return $this->get_local_docs_json_url(); } } $astra_docs_url = file_exists( $this->get_local_docs_file_path() ) ? $this->get_local_docs_json_url() : $this->remote_url; return $astra_docs_url; } /** * Get the local stylesheet URL. * * @since 4.6.0 * @return string */ public function get_local_docs_json_url() { if ( ! $this->local_docs_json_url ) { $this->local_docs_json_url = str_replace( $this->get_base_path(), $this->get_base_url(), $this->get_local_docs_file_path() ); } return $this->local_docs_json_url; } /** * Get remote data locally. * * @since 4.6.0 * @return string */ public function get_remote_data() { // If we already have the local file, return its contents. $local_docs_contents = $this->get_local_docs_contents(); if ( $local_docs_contents ) { return $local_docs_contents; } // Get the remote URL contents. $this->remote_styles = $this->get_remote_url_contents(); $this->docs_data = $this->remote_styles; $this->write_json(); return $this->docs_data; } /** * Get local stylesheet contents. * * @since 4.6.0 * @return string|false Returns the remote URL contents. */ public function get_local_docs_contents() { $local_path = $this->get_local_docs_file_path(); // Check if the local file exists. if ( $this->local_file_exists() ) { // Attempt to update the file. Return false on fail. if ( ! $this->write_json() ) { return false; } } ob_start(); include $local_path; return ob_get_clean(); } /** * Get remote file contents. * * @since 4.6.0 * @return string Returns the remote URL contents. */ public function get_remote_url_contents() { /** * The user-agent we want to use. * * The default user-agent is the only one compatible with woff (not woff2) * which also supports unicode ranges. */ $user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8'; // Get the response. $response = wp_remote_get( $this->remote_url, array( 'user-agent' => $user_agent ) ); // Early exit if there was an error. if ( is_wp_error( $response ) ) { return ''; } // Get the CSS from our response. $contents = wp_remote_retrieve_body( $response ); return $contents; } /** * Write the CSS to the filesystem. * * @since 4.6.0 * @return string|false Returns the absolute path of the file on success, or false on fail. */ protected function write_json() { $file_path = $this->get_local_docs_file_path(); $filesystem = $this->get_filesystem(); if ( ! defined( 'FS_CHMOD_DIR' ) ) { define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) ); } // If the folder doesn't exist, create it. if ( ! file_exists( $this->get_docs_folder() ) ) { $this->get_filesystem()->mkdir( $this->get_docs_folder(), FS_CHMOD_DIR ); } // If the file doesn't exist, create it. Return false if it can not be created. if ( ! $filesystem->exists( $file_path ) && ! $filesystem->touch( $file_path ) ) { return false; } // If we got this far, we need to write the file. // Get the CSS. if ( ! $this->docs_data ) { $this->get_remote_data(); } // Put the contents in the file. Return false if that fails. if ( ! $filesystem->put_contents( $file_path, $this->docs_data ) ) { return false; } return $file_path; } /** * Get the stylesheet path. * * @since 4.6.0 * @return string */ public function get_local_docs_file_path() { if ( ! $this->local_stylesheet_path ) { $this->local_stylesheet_path = $this->get_docs_folder() . '/' . $this->get_local_docs_filename() . '.json'; } return $this->local_stylesheet_path; } /** * Get the local stylesheet filename. * * This is a hash, generated from the site-URL, the wp-content path and the URL. * This way we can avoid issues with sites changing their URL, or the wp-content path etc. * * @since 4.6.0 * @return string */ public function get_local_docs_filename() { return apply_filters( 'astra_local_docs_file_name', 'docs' ); } /** * Check if the local stylesheet exists. * * @since 4.6.0 * @return bool */ public function local_file_exists() { return ( ! file_exists( $this->get_local_docs_file_path() ) ); } /** * Get the base path. * * @since 4.6.0 * @return string */ public function get_base_path() { if ( ! $this->base_path ) { $this->base_path = apply_filters( 'astra_local_docs_base_path', $this->get_filesystem()->wp_content_dir() . 'uploads' ); } return $this->base_path; } /** * Get the base URL. * * @since 4.6.0 * @return string */ public function get_base_url() { if ( ! $this->base_url ) { $this->base_url = apply_filters( 'astra_local_docs_base_url', content_url() . '/uploads' ); } return $this->base_url; } /** * Get the folder for docs. * * @return string */ public function get_docs_folder() { if ( ! $this->docs_folder ) { $this->docs_folder = $this->get_base_path(); $this->docs_folder .= '/' . $this->subfolder_name; } return $this->docs_folder; } /** * Schedule a cleanup. * * Deletes the docs file on a regular basis. * This way docs file will get updated regularly, * and we avoid edge cases where unused files remain in the server. * * @since 4.6.0 * @return void */ public function schedule_cleanup() { if ( ! wp_next_scheduled( 'astra_delete_docs_folder' ) && ! wp_installing() ) { wp_schedule_event( time(), self::CLEANUP_FREQUENCY, 'astra_delete_docs_folder' ); // phpcs:ignore WPThemeReview.PluginTerritory.ForbiddenFunctions.cron_functionality_wp_schedule_event } } /** * Delete the documentation folder. * * This runs as part of a cleanup routine. * * @since 4.6.0 * @return bool */ public function astra_delete_docs_folder() { // Delete previously created supportive options. return $this->get_filesystem()->delete( $this->get_docs_folder(), true ); } /** * Get the filesystem. * * @since 4.6.0 * @return \WP_Filesystem_Base */ protected function get_filesystem() { // We are using WP_Filesystem for managing local doc files which is necessary for the proper functionality of the theme -- This is an extension version of TRT webfont library. global $wp_filesystem; // If the filesystem has not been instantiated yet, do it here. if ( ! $wp_filesystem ) { if ( ! function_exists( 'WP_Filesystem' ) ) { require_once wp_normalize_path( ABSPATH . '/wp-admin/includes/file.php' ); // PHPCS:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } WP_Filesystem(); } return $wp_filesystem; } } /** * Create instance of Astra_Docs_Loader class. * * @param string $docs_rest_url Knowledge Base URL to set data. * @param string $subfolder_name Subfolder name. * * @return object * @since 4.6.0 */ function astra_docs_loader_instance( $docs_rest_url = '', $subfolder_name = 'bsf-docs' ) { return new Astra_Docs_Loader( $docs_rest_url, $subfolder_name ); } function generate_spacing_live_update( name, id, selector, property, negative, divide, media, unit ) { settings = typeof settings !== 'undefined' ? settings : 'generate_spacing_settings'; wp.customize( settings + '[' + id + ']', function( value ) { value.bind( function( newval ) { negative = typeof negative !== 'undefined' ? negative : false; media = typeof media !== 'undefined' ? media : ''; divide = typeof divide !== 'undefined' ? divide : false; unit = typeof unit !== 'undefined' ? unit : 'px'; // Get new value newval = ( divide ) ? newval / 2 : newval; // Check if negative integer negative = ( negative ) ? '-' : ''; var isTablet = ( 'tablet' == id.substring( 0, 6 ) ) ? true : false, isMobile = ( 'mobile' == id.substring( 0, 6 ) ) ? true : false; if ( isTablet ) { if ( '' == wp.customize(settings + '[' + id + ']').get() ) { var desktopID = id.replace( 'tablet_', '' ); newval = wp.customize(settings + '[' + desktopID + ']').get(); } } if ( isMobile ) { if ( '' == wp.customize(settings + '[' + id + ']').get() ) { var desktopID = id.replace( 'mobile_', '' ); newval = wp.customize(settings + '[' + desktopID + ']').get(); } } // We're using a desktop value if ( ! isTablet && ! isMobile ) { var tabletValue = ( typeof wp.customize(settings + '[tablet_' + id + ']') !== 'undefined' ) ? wp.customize(settings + '[tablet_' + id + ']').get() : '', mobileValue = ( typeof wp.customize(settings + '[mobile_' + id + ']') !== 'undefined' ) ? wp.customize(settings + '[mobile_' + id + ']').get() : ''; // The tablet setting exists, mobile doesn't if ( '' !== tabletValue && '' == mobileValue ) { media = gp_spacing.desktop + ', ' + gp_spacing.mobile; } // The tablet setting doesn't exist, mobile does if ( '' == tabletValue && '' !== mobileValue ) { media = gp_spacing.desktop + ', ' + gp_spacing.tablet; } // The tablet setting doesn't exist, neither does mobile if ( '' == tabletValue && '' == mobileValue ) { media = gp_spacing.desktop + ', ' + gp_spacing.tablet + ', ' + gp_spacing.mobile; } } // Check if media query media_query = ( '' !== media ) ? 'media="' + media + '"' : ''; jQuery( 'head' ).append( '' ); setTimeout(function() { jQuery( 'style#' + name ).not( ':last' ).remove(); }, 50 ); jQuery('body').trigger('generate_spacing_updated'); } ); } ); } /** * Top bar padding */ generate_spacing_live_update( 'top_bar_top', 'top_bar_top', '.inside-top-bar', 'padding-top' ); generate_spacing_live_update( 'top_bar_right', 'top_bar_right', '.inside-top-bar', 'padding-right' ); generate_spacing_live_update( 'top_bar_bottom', 'top_bar_bottom', '.inside-top-bar', 'padding-bottom' ); generate_spacing_live_update( 'top_bar_left', 'top_bar_left', '.inside-top-bar', 'padding-left' ); /** * Header padding */ generate_spacing_live_update( 'header_top', 'header_top', '.inside-header', 'padding-top', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'header_right', 'header_right', '.inside-header', 'padding-right', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'header_bottom', 'header_bottom', '.inside-header', 'padding-bottom', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'header_left', 'header_left', '.inside-header', 'padding-left', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'mobile_header_top', 'mobile_header_top', '.inside-header', 'padding-top', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_header_right', 'mobile_header_right', '.inside-header', 'padding-right', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_header_bottom', 'mobile_header_bottom', '.inside-header', 'padding-bottom', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_header_left', 'mobile_header_left', '.inside-header', 'padding-left', false, false, gp_spacing.mobile ); jQuery( window ).on( 'load', function() { var containerAlignment = wp.customize( 'generate_settings[container_alignment]' ); if ( gp_spacing.isFlex && containerAlignment && 'text' === containerAlignment.get() ) { generate_spacing_live_update( 'header_left_sticky_nav', 'header_left', '.main-navigation.navigation-stick:not(.has-branding) .inside-navigation.grid-container', 'padding-left', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'header_right_sticky_nav', 'header_right', '.main-navigation.navigation-stick:not(.has-branding) .inside-navigation.grid-container', 'padding-right', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'mobile_header_left_sticky_nav', 'mobile_header_left', '.main-navigation.navigation-stick:not(.has-branding) .inside-navigation.grid-container', 'padding-left', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_header_right_sticky_nav', 'mobile_header_right', '.main-navigation.navigation-stick:not(.has-branding) .inside-navigation.grid-container', 'padding-right', false, false, gp_spacing.mobile ); } } ); /** * Content padding */ var content_areas = '.separate-containers .inside-article, \ .separate-containers .comments-area, \ .separate-containers .page-header, \ .separate-containers .paging-navigation, \ .one-container .site-content, \ .inside-page-header, \ .wp-block-group__inner-container'; generate_spacing_live_update( 'content_top', 'content_top', content_areas, 'padding-top', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'content_right', 'content_right', content_areas, 'padding-right', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'content_bottom', 'content_bottom', content_areas, 'padding-bottom', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'content_left', 'content_left', content_areas, 'padding-left', false, false, gp_spacing.desktop ); jQuery( window ).on( 'load', function() { var containerAlignment = wp.customize( 'generate_settings[container_alignment]' ); if ( gp_spacing.isFlex && containerAlignment && 'text' === containerAlignment.get() ) { generate_spacing_live_update( 'content_left_nav_as_header', 'content_left', '.main-navigation.has-branding .inside-navigation.grid-container, .main-navigation.has-branding .inside-navigation.grid-container', 'padding-left', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'content_right_nav_as_header', 'content_right', '.main-navigation.has-branding .inside-navigation.grid-container, .main-navigation.has-branding .inside-navigation.grid-container', 'padding-right', false, false, gp_spacing.desktop ); } } ); generate_spacing_live_update( 'one_container_post_content_bottom', 'content_bottom', '.one-container.archive .post:not(:last-child):not(.is-loop-template-item),.one-container.blog .post:not(:last-child):not(.is-loop-template-item)', 'padding-bottom' ); /* Mobile content padding */ generate_spacing_live_update( 'mobile_content_top', 'mobile_content_top', content_areas, 'padding-top', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_content_right', 'mobile_content_right', content_areas, 'padding-right', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_content_bottom', 'mobile_content_bottom', content_areas, 'padding-bottom', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_content_left', 'mobile_content_left', content_areas, 'padding-left', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'content-margin-right', 'content_right', '.one-container.right-sidebar .site-main,.one-container.both-right .site-main', 'margin-right' ); generate_spacing_live_update( 'content-margin-left', 'content_left', '.one-container.left-sidebar .site-main,.one-container.both-left .site-main', 'margin-left' ); generate_spacing_live_update( 'content-margin-right-both', 'content_right', '.one-container.both-sidebars .site-main', 'margin-right' ); generate_spacing_live_update( 'content-margin-left-both', 'content_left', '.one-container.both-sidebars .site-main', 'margin-left' ); /* Content element separator */ generate_spacing_live_update( 'content_element_separator_top', 'content_element_separator', '.post-image:not(:first-child), .page-content:not(:first-child), .entry-content:not(:first-child), .entry-summary:not(:first-child), footer.entry-meta', 'margin-top', false, false, false, 'em' ); generate_spacing_live_update( 'content_element_separator_bottom', 'content_element_separator', '.post-image-above-header .inside-article div.featured-image, .post-image-above-header .inside-article div.post-image', 'margin-bottom', false, false, false, 'em' ); /** * Featured image padding */ var featured_image_no_padding_x = '.post-image-below-header.post-image-aligned-center .no-featured-image-padding .post-image, \ .post-image-below-header.post-image-aligned-center .no-featured-image-padding .featured-image'; generate_spacing_live_update( 'featured_image_padding_right', 'content_right', featured_image_no_padding_x, 'margin-right', true, false, gp_spacing.desktop ); generate_spacing_live_update( 'featured_image_padding_left', 'content_left', featured_image_no_padding_x, 'margin-left', true, false, gp_spacing.desktop ); generate_spacing_live_update( 'mobile_featured_image_padding_right', 'mobile_content_right', featured_image_no_padding_x, 'margin-right', true, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_featured_image_padding_left', 'mobile_content_left', featured_image_no_padding_x, 'margin-left', true, false, gp_spacing.mobile ); var featured_image_no_padding_y = '.post-image-above-header.post-image-aligned-center .no-featured-image-padding .post-image, \ .post-image-above-header.post-image-aligned-center .no-featured-image-padding .featured-image'; generate_spacing_live_update( 'featured_image_padding_top', 'content_top', featured_image_no_padding_y, 'margin-top', true, false, gp_spacing.desktop ); generate_spacing_live_update( 'featured_image_padding_right', 'content_right', featured_image_no_padding_y, 'margin-right', true, false, gp_spacing.desktop ); generate_spacing_live_update( 'featured_image_padding_left', 'content_left', featured_image_no_padding_y, 'margin-left', true, false, gp_spacing.desktop ); generate_spacing_live_update( 'mobile_featured_image_padding_top', 'mobile_content_top', featured_image_no_padding_y, 'margin-top', true, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_featured_image_padding_right', 'mobile_content_right', featured_image_no_padding_y, 'margin-right', true, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_featured_image_padding_left', 'mobile_content_left', featured_image_no_padding_y, 'margin-left', true, false, gp_spacing.mobile ); /** * Main navigation spacing */ var menu_items = '.main-navigation .main-nav ul li a,\ .main-navigation .menu-toggle,\ .main-navigation .mobile-bar-items a,\ .main-navigation .menu-bar-item > a'; // Menu item width generate_spacing_live_update( 'menu_item_padding_left', 'menu_item', menu_items + ', .slideout-navigation button.slideout-exit', 'padding-left', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'menu_item_padding_right', 'menu_item', menu_items + ', .slideout-navigation button.slideout-exit', 'padding-right', false, false, gp_spacing.desktop ); // Tablet menu item width //generate_spacing_live_update( 'tablet_menu_item_padding_left', 'tablet_menu_item', menu_items, 'padding-left', false, false, gp_spacing.tablet ); //generate_spacing_live_update( 'tablet_menu_item_padding_right', 'tablet_menu_item', menu_items, 'padding-right', false, false, gp_spacing.tablet ); // Mobile menu item width generate_spacing_live_update( 'mobile_menu_item_padding_left', 'mobile_menu_item', '.main-navigation .menu-toggle,.main-navigation .mobile-bar-items a, .main-navigation .menu-bar-item > a', 'padding-left', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_menu_item_padding_right', 'mobile_menu_item', '.main-navigation .menu-toggle,.main-navigation .mobile-bar-items a, .main-navigation .menu-bar-item > a', 'padding-right', false, false, gp_spacing.mobile ); // Menu item height generate_spacing_live_update( 'menu_item_height', 'menu_item_height', menu_items, 'line-height', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'navigation_logo_height', 'menu_item_height', '.main-navigation .navigation-logo img, .main-navigation .site-logo img', 'height', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'nav_title_height', 'menu_item_height', '.navigation-branding .main-title', 'line-height', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'mobile_header_logo_height', 'menu_item_height', '.mobile-header-navigation .mobile-header-logo img', 'height', false, false, gp_spacing.desktop ); //generate_spacing_live_update( 'tablet_menu_item_height', 'tablet_menu_item_height', menu_items, 'line-height', false, false, gp_spacing.tablet ); //generate_spacing_live_update( 'tablet_navigation_logo_height', 'tablet_menu_item_height', '.main-navigation .navigation-logo img', 'height', false, false, gp_spacing.tablet ); //generate_spacing_live_update( 'tablet_mobile_header_logo_height', 'tablet_menu_item_height', '.mobile-header-navigation .mobile-header-logo img', 'height', false, false, gp_spacing.tablet ); generate_spacing_live_update( 'mobile_menu_item_height', 'mobile_menu_item_height', menu_items, 'line-height', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_navigation_logo_height', 'mobile_menu_item_height', '.main-navigation .site-logo.navigation-logo img, .main-navigation .site-logo img, .main-navigation .navigation-branding img', 'height', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_nav_title_height', 'menu_item_height', '.navigation-branding .main-title', 'line-height', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_mobile_header_logo_height', 'mobile_menu_item_height', '.mobile-header-navigation .site-logo.mobile-header-logo img', 'height', false, false, gp_spacing.mobile ); // Off canvas menu item height wp.customize( 'generate_spacing_settings[off_canvas_menu_item_height]', function( value ) { value.bind( function( newval ) { if ( '' == newval ) { newval = wp.customize('generate_spacing_settings[menu_item_height]').get(); } jQuery( 'head' ).append( '' ); setTimeout(function() { jQuery( 'style#off_canvas_menu_item_height' ).not( ':last' ).remove(); }, 200 ); } ); } ); /** * Main sub-navigation spacing */ generate_spacing_live_update( 'sub_menu_item_height_top', 'sub_menu_item_height', '.main-navigation .main-nav ul ul li a', 'padding-top' ); generate_spacing_live_update( 'sub_menu_item_height_right', 'menu_item', '.main-navigation .main-nav ul ul li a', 'padding-right', false, false, gp_spacing.desktop ); //generate_spacing_live_update( 'tablet_sub_menu_item_height_right', 'tablet_menu_item', '.main-navigation .main-nav ul ul li a', 'padding-right', false, false, gp_spacing.tablet ); generate_spacing_live_update( 'sub_menu_item_height_bottom', 'sub_menu_item_height', '.main-navigation .main-nav ul ul li a', 'padding-bottom' ); generate_spacing_live_update( 'sub_menu_item_height_left', 'menu_item', '.main-navigation .main-nav ul ul li a', 'padding-left', false, false, gp_spacing.desktop ); //generate_spacing_live_update( 'tablet_sub_menu_item_height_left', 'tablet_menu_item', '.main-navigation .main-nav ul ul li a', 'padding-left', false, false, gp_spacing.tablet ); generate_spacing_live_update( 'sub_menu_item_offset', 'menu_item_height', '.main-navigation ul ul', 'top' ); /** * Main navigation RTL arrow spacing */ generate_spacing_live_update( 'dropdown_menu_arrow', 'menu_item', '.menu-item-has-children .dropdown-menu-toggle', 'padding-right', false, false, gp_spacing.desktop ); //generate_spacing_live_update( 'tablet_dropdown_menu_arrow', 'tablet_menu_item', '.menu-item-has-children .dropdown-menu-toggle', 'padding-right', false, false, gp_spacing.tablet ); /** * Main sub-navigation arrow spacing */ generate_spacing_live_update( 'dropdown_submenu_arrow_top', 'sub_menu_item_height', '.menu-item-has-children ul .dropdown-menu-toggle', 'padding-top' ); generate_spacing_live_update( 'dropdown_submenu_arrow_bottom', 'sub_menu_item_height', '.menu-item-has-children ul .dropdown-menu-toggle', 'padding-bottom' ); generate_spacing_live_update( 'dropdown_submenu_arrow_margin', 'sub_menu_item_height', '.menu-item-has-children ul .dropdown-menu-toggle', 'margin-top', true ); /** * Sub-Menu Width */ generate_spacing_live_update( 'sub_menu_width', 'sub_menu_width', '.main-navigation ul ul', 'width' ); /** - * Sticky menu item height - */ wp.customize( 'generate_spacing_settings[sticky_menu_item_height]', function( value ) { value.bind( function( newval ) { if ( '' == newval ) { newval = wp.customize('generate_spacing_settings[menu_item_height]').get(); } jQuery( 'head' ).append( '' ); jQuery( 'head' ).append( '' ); jQuery( 'head' ).append( '' ); setTimeout(function() { jQuery( 'style#sticky_menu_item_height' ).not( ':last' ).remove(); jQuery( 'style#sticky_menu_item_logo_height' ).not( ':last' ).remove(); jQuery( 'style#sticky_menu_item_height_transition' ).remove(); }, 200 ); } ); } ); // Disable the transition while we resize wp.customize( 'generate_spacing_settings[menu_item_height]', function( value ) { value.bind( function( newval ) { jQuery( 'head' ).append( '' ); setTimeout(function() { jQuery( 'style#menu_item_height_transition' ).remove(); }, 200 ); } ); } ); wp.customize( 'generate_spacing_settings[off_canvas_menu_item_height]', function( value ) { value.bind( function( newval ) { jQuery( 'head' ).append( '' ); setTimeout(function() { jQuery( 'style#off_canvas_menu_item_height_transition' ).remove(); }, 200 ); } ); } ); /** * Widget padding */ generate_spacing_live_update( 'widget_top', 'widget_top', '.widget-area .widget, .one-container .widget-area .widget', 'padding-top', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'widget_right', 'widget_right', '.widget-area .widget, .one-container .widget-area .widget', 'padding-right', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'widget_bottom', 'widget_bottom', '.widget-area .widget, .one-container .widget-area .widget', 'padding-bottom', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'widget_left', 'widget_left', '.widget-area .widget, .one-container .widget-area .widget', 'padding-left', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'mobile_widget_top', 'mobile_widget_top', '.widget-area .widget', 'padding-top', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_widget_right', 'mobile_widget_right', '.widget-area .widget', 'padding-right', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_widget_bottom', 'mobile_widget_bottom', '.widget-area .widget', 'padding-bottom', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_widget_left', 'mobile_widget_left', '.widget-area .widget', 'padding-left', false, false, gp_spacing.mobile ); if ( gp_spacing.isFlex ) { /** * Footer widget area */ generate_spacing_live_update( 'footer_widget_container_top', 'footer_widget_container_top', '.footer-widgets-container', 'padding-top', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'footer_widget_container_right', 'footer_widget_container_right', '.footer-widgets-container', 'padding-right', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'footer_widget_container_bottom', 'footer_widget_container_bottom', '.footer-widgets-container', 'padding-bottom', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'footer_widget_container_left', 'footer_widget_container_left', '.footer-widgets-container', 'padding-left', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'mobile_footer_widget_container_top', 'mobile_footer_widget_container_top', '.footer-widgets-container', 'padding-top', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_footer_widget_container_right', 'mobile_footer_widget_container_right', '.footer-widgets-container', 'padding-right', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_footer_widget_container_bottom', 'mobile_footer_widget_container_bottom', '.footer-widgets-container', 'padding-bottom', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_footer_widget_container_left', 'mobile_footer_widget_container_left', '.footer-widgets-container', 'padding-left', false, false, gp_spacing.mobile ); /** * Footer */ generate_spacing_live_update( 'footer_top', 'footer_top', '.inside-site-info', 'padding-top' ); generate_spacing_live_update( 'footer_right', 'footer_right', '.inside-site-info', 'padding-right' ); generate_spacing_live_update( 'footer_bottom', 'footer_bottom', '.inside-site-info', 'padding-bottom' ); generate_spacing_live_update( 'footer_left', 'footer_left', '.inside-site-info', 'padding-left' ); } else { /** * Footer widget area */ generate_spacing_live_update( 'footer_widget_container_top', 'footer_widget_container_top', '.footer-widgets', 'padding-top', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'footer_widget_container_right', 'footer_widget_container_right', '.footer-widgets', 'padding-right', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'footer_widget_container_bottom', 'footer_widget_container_bottom', '.footer-widgets', 'padding-bottom', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'footer_widget_container_left', 'footer_widget_container_left', '.footer-widgets', 'padding-left', false, false, gp_spacing.desktop ); generate_spacing_live_update( 'mobile_footer_widget_container_top', 'mobile_footer_widget_container_top', '.footer-widgets', 'padding-top', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_footer_widget_container_right', 'mobile_footer_widget_container_right', '.footer-widgets', 'padding-right', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_footer_widget_container_bottom', 'mobile_footer_widget_container_bottom', '.footer-widgets', 'padding-bottom', false, false, gp_spacing.mobile ); generate_spacing_live_update( 'mobile_footer_widget_container_left', 'mobile_footer_widget_container_left', '.footer-widgets', 'padding-left', false, false, gp_spacing.mobile ); /** * Footer */ generate_spacing_live_update( 'footer_top', 'footer_top', '.site-info', 'padding-top' ); generate_spacing_live_update( 'footer_right', 'footer_right', '.site-info', 'padding-right' ); generate_spacing_live_update( 'footer_bottom', 'footer_bottom', '.site-info', 'padding-bottom' ); generate_spacing_live_update( 'footer_left', 'footer_left', '.site-info', 'padding-left' ); } /** * Separator */ /* Masonry */ if ( jQuery( 'body' ).hasClass( 'masonry-enabled' ) ) { generate_spacing_live_update( 'masonry_separator', 'separator', '.masonry-post .inside-article', 'margin-left' ); generate_spacing_live_update( 'masonry_separator_bottom', 'separator', '.masonry-container > article', 'margin-bottom' ); generate_spacing_live_update( 'masonry_separator_container', 'separator', '.masonry-container', 'margin-left', 'negative' ); generate_spacing_live_update( 'masonry_separator_page_header_left', 'separator', '.masonry-enabled .page-header', 'margin-left' ); generate_spacing_live_update( 'masonry_separator_page_header_bottom', 'separator', '.masonry-enabled .page-header', 'margin-bottom' ); generate_spacing_live_update( 'masonry_separator_load_more', 'separator', '.separate-containers .site-main > .masonry-load-more', 'margin-bottom' ); } /* Columns */ if ( jQuery( 'body' ).hasClass( 'generate-columns-activated' ) ) { generate_spacing_live_update( 'columns_bottom', 'separator', '.generate-columns', 'margin-bottom' ); generate_spacing_live_update( 'columns_left', 'separator', '.generate-columns', 'padding-left' ); generate_spacing_live_update( 'columns_container', 'separator', '.generate-columns-container', 'margin-left', 'negative' ); generate_spacing_live_update( 'columns_page_header_bottom', 'separator', '.generate-columns-container .page-header', 'margin-bottom' ); generate_spacing_live_update( 'columns_page_header_left', 'separator', '.generate-columns-container .page-header', 'margin-left' ); generate_spacing_live_update( 'columns_pagination', 'separator', '.separate-containers .generate-columns-container > .paging-navigation', 'margin-left' ); } /* Right sidebar */ if ( jQuery( 'body' ).hasClass( 'right-sidebar' ) ) { generate_spacing_live_update( 'right_sidebar_sepatator_top', 'separator', '.right-sidebar.separate-containers .site-main', 'margin-top' ); generate_spacing_live_update( 'right_sidebar_sepatator_right', 'separator', '.right-sidebar.separate-containers .site-main', 'margin-right' ); generate_spacing_live_update( 'right_sidebar_sepatator_bottom', 'separator', '.right-sidebar.separate-containers .site-main', 'margin-bottom' ); } /* Left sidebar */ if ( jQuery( 'body' ).hasClass( 'left-sidebar' ) ) { generate_spacing_live_update( 'left_sidebar_sepatator_top', 'separator', '.left-sidebar.separate-containers .site-main', 'margin-top' ); generate_spacing_live_update( 'left_sidebar_sepatator_left', 'separator', '.left-sidebar.separate-containers .site-main', 'margin-left' ); generate_spacing_live_update( 'left_sidebar_sepatator_bottom', 'separator', '.left-sidebar.separate-containers .site-main', 'margin-bottom' ); } /* Both sidebars */ if ( jQuery( 'body' ).hasClass( 'both-sidebars' ) ) { generate_spacing_live_update( 'both_sidebars_sepatator', 'separator', '.both-sidebars.separate-containers .site-main', 'margin' ); } /* Both sidebars right */ if ( jQuery( 'body' ).hasClass( 'both-right' ) ) { generate_spacing_live_update( 'both_right_sidebar_sepatator_top', 'separator', '.both-right.separate-containers .site-main', 'margin-top' ); generate_spacing_live_update( 'both_right_sidebar_sepatator_right', 'separator', '.both-right.separate-containers .site-main', 'margin-right' ); generate_spacing_live_update( 'both_right_sidebar_sepatator_bottom', 'separator', '.both-right.separate-containers .site-main', 'margin-bottom' ); if ( gp_spacing.isFlex ) { generate_spacing_live_update( 'both_right_left_sidebar', 'separator', '.both-right .inside-left-sidebar', 'margin-right', false, true ); generate_spacing_live_update( 'both_right_right_sidebar', 'separator', '.both-right .inside-right-sidebar', 'margin-left', false, true ); } else { generate_spacing_live_update( 'both_right_left_sidebar', 'separator', '.both-right.separate-containers .inside-left-sidebar', 'margin-right', false, true ); generate_spacing_live_update( 'both_right_right_sidebar', 'separator', '.both-right.separate-containers .inside-right-sidebar', 'margin-left', false, true ); } } /* Both sidebars left */ if ( jQuery( 'body' ).hasClass( 'both-left' ) ) { generate_spacing_live_update( 'both_left_sidebar_sepatator_top', 'separator', '.both-left.separate-containers .site-main', 'margin-top' ); generate_spacing_live_update( 'both_left_sidebar_sepatator_right', 'separator', '.both-left.separate-containers .site-main', 'margin-bottom' ); generate_spacing_live_update( 'both_left_sidebar_sepatator_bottom', 'separator', '.both-left.separate-containers .site-main', 'margin-left' ); if ( gp_spacing.isFlex ) { generate_spacing_live_update( 'both_left_left_sidebar', 'separator', '.both-left .inside-left-sidebar', 'margin-right', false, true ); generate_spacing_live_update( 'both_left_right_sidebar', 'separator', '.both-left .inside-right-sidebar', 'margin-left', false, true ); } else { generate_spacing_live_update( 'both_left_left_sidebar', 'separator', '.both-left.separate-containers .inside-left-sidebar', 'margin-right', false, true ); generate_spacing_live_update( 'both_left_right_sidebar', 'separator', '.both-left.separate-containers .inside-right-sidebar', 'margin-left', false, true ); } } /* Main element margin */ generate_spacing_live_update( 'site_main_separator_top', 'separator', '.separate-containers .site-main', 'margin-top' ); generate_spacing_live_update( 'site_main_separator_bottom', 'separator', '.separate-containers .site-main', 'margin-bottom' ); /* Page header element */ if ( gp_spacing.isFlex ) { generate_spacing_live_update( 'page_header_separator_top', 'separator', '.separate-containers .featured-image', 'margin-top' ); } else { generate_spacing_live_update( 'page_header_separator_top', 'separator', '.separate-containers .page-header-image, \ .separate-containers .page-header-contained, \ .separate-containers .page-header-image-single, \ .separate-containers .page-header-content-single', 'margin-top' ); } /* Top and bottom sidebar margin */ generate_spacing_live_update( 'right_sidebar_separator_top', 'separator', '.separate-containers .inside-right-sidebar, .separate-containers .inside-left-sidebar', 'margin-top' ); generate_spacing_live_update( 'right_sidebar_separator_bottom', 'separator', '.separate-containers .inside-right-sidebar, .separate-containers .inside-left-sidebar', 'margin-bottom' ); /* Element separators */ if ( gp_spacing.isFlex ) { generate_spacing_live_update( 'content_separator', 'separator', '.sidebar .widget, \ .site-main > *, \ .page-header, \ .widget-area .main-navigation', 'margin-bottom' ); } else { generate_spacing_live_update( 'content_separator', 'separator', '.separate-containers .widget, \ .separate-containers .site-main > *, \ .separate-containers .page-header, \ .widget-area .main-navigation', 'margin-bottom' ); } /** * Right sidebar width */ wp.customize( 'generate_spacing_settings[right_sidebar_width]', function( value ) { value.bind( function( newval ) { var body = jQuery( 'body' ); if ( jQuery( '#right-sidebar' ).length ) { if ( gp_spacing.isFlex ) { var contentWidth = 100, leftSidebar = jQuery( '#left-sidebar' ).length ? wp.customize.value('generate_spacing_settings[left_sidebar_width]')() : 0; if ( body.hasClass( 'right-sidebar' ) ) { contentWidth = ( Number( contentWidth ) - Number( newval ) ); } else if ( ! body.hasClass( 'left-sidebar' ) && ! body.hasClass( 'no-sidebar' ) ) { var totalSidebarWidth = ( Number( leftSidebar ) + Number( newval ) ); contentWidth = ( Number( contentWidth ) - Number( totalSidebarWidth ) ); } jQuery( 'head' ).append( '' ); setTimeout(function() { jQuery( 'style#right_sidebar_width' ).not( ':last' ).remove(); }, 200 ); } else { // Left sidebar width var left_sidebar = ( jQuery( '#left-sidebar' ).length ) ? wp.customize.value('generate_spacing_settings[left_sidebar_width]')() : 0; // Right sidebar class jQuery( "#right-sidebar" ).removeClass(function (index, css) { return (css.match (/(^|\s)grid-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-grid-\S+/g) || []).join(' '); }).addClass( 'grid-' + newval ).addClass( 'tablet-grid-' + newval ).addClass( 'grid-parent' ); // Content area class jQuery( ".content-area" ).removeClass(function (index, css) { return (css.match (/(^|\s)grid-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-grid-\S+/g) || []).join(' '); }).addClass( 'grid-' + ( 100 - newval - left_sidebar ) ).addClass( 'tablet-grid-' + ( 100 - newval - left_sidebar ) ).addClass( 'grid-parent' ); if ( body.hasClass( 'both-sidebars' ) ) { var content_width = ( 100 - newval - left_sidebar ); jQuery( '#left-sidebar' ).removeClass(function (index, css) { return (css.match (/(^|\s)pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)push-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-push-\S+/g) || []).join(' '); }).addClass( 'pull-' + ( content_width ) ).addClass( 'tablet-pull-' + ( content_width ) ); } if ( body.hasClass( 'both-left' ) ) { var total_sidebar_width = ( parseInt( left_sidebar ) + parseInt( newval ) ); jQuery( '#right-sidebar' ).removeClass(function (index, css) { return (css.match (/(^|\s)pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-pull-\S+/g) || []).join(' '); }).addClass( 'pull-' + ( 100 - total_sidebar_width ) ).addClass( 'tablet-pull-' + ( 100 - total_sidebar_width ) ); jQuery( '#left-sidebar' ).removeClass(function (index, css) { return (css.match (/(^|\s)pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-pull-\S+/g) || []).join(' '); }).addClass( 'pull-' + ( 100 - total_sidebar_width ) ).addClass( 'tablet-pull-' + ( 100 - total_sidebar_width ) ); jQuery( '.content-area' ).removeClass(function (index, css) { return (css.match (/(^|\s)pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)push-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-push-\S+/g) || []).join(' '); }).addClass( 'push-' + ( total_sidebar_width ) ).addClass( 'tablet-push-' + ( total_sidebar_width ) ); } } jQuery('body').trigger('generate_spacing_updated'); } } ); } ); /** * Left sidebar width */ wp.customize( 'generate_spacing_settings[left_sidebar_width]', function( value ) { value.bind( function( newval ) { var body = jQuery( 'body' ); if ( jQuery( '#left-sidebar' ).length ) { if ( gp_spacing.isFlex ) { var contentWidth = 100, rightSidebar = jQuery( '#right-sidebar' ).length ? wp.customize.value('generate_spacing_settings[right_sidebar_width]')() : 0; if ( body.hasClass( 'left-sidebar' ) ) { contentWidth = ( Number( contentWidth ) - Number( newval ) ); } else if ( ! body.hasClass( 'right-sidebar' ) && ! body.hasClass( 'no-sidebar' ) ) { var totalSidebarWidth = ( Number( rightSidebar ) + Number( newval ) ); contentWidth = ( Number( contentWidth ) - Number( totalSidebarWidth ) ); } jQuery( 'head' ).append( '' ); setTimeout(function() { jQuery( 'style#left_sidebar_width' ).not( ':last' ).remove(); }, 200 ); } else { // Right sidebar width var right_sidebar = ( jQuery( '#right-sidebar' ).length ) ? wp.customize.value('generate_spacing_settings[right_sidebar_width]')() : 0; // Right sidebar class jQuery( "#left-sidebar" ).removeClass(function (index, css) { return (css.match (/(^|\s)grid-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-grid-\S+/g) || []).join(' '); }).addClass( 'grid-' + newval ).addClass( 'tablet-grid-' + newval ).addClass( 'grid-parent' ); // Content area class jQuery( ".content-area" ).removeClass(function (index, css) { return (css.match (/(^|\s)grid-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-grid-\S+/g) || []).join(' '); }).addClass( 'grid-' + ( 100 - newval - right_sidebar ) ).addClass( 'tablet-grid-' + ( 100 - newval - right_sidebar ) ).addClass( 'grid-parent' ); if ( body.hasClass( 'left-sidebar' ) ) { jQuery( '#left-sidebar' ).removeClass(function (index, css) { return (css.match (/(^|\s)pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)push-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-push-\S+/g) || []).join(' '); }).addClass( 'pull-' + ( 100 - newval ) ).addClass( 'tablet-pull-' + ( 100 - newval ) ); jQuery( '.content-area' ).removeClass(function (index, css) { return (css.match (/(^|\s)pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)push-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-push-\S+/g) || []).join(' '); }).addClass( 'push-' + newval ).addClass( 'tablet-push-' + newval ).addClass( 'grid-' + ( 100 - newval ) ).addClass( 'tablet-grid-' + ( 100 - newval ) ); } if ( body.hasClass( 'both-sidebars' ) ) { var content_width = ( 100 - newval - right_sidebar ); jQuery( '#left-sidebar' ).removeClass(function (index, css) { return (css.match (/(^|\s)pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)push-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-push-\S+/g) || []).join(' '); }).addClass( 'pull-' + ( content_width ) ).addClass( 'tablet-pull-' + ( content_width ) ); jQuery( '.content-area' ).removeClass(function (index, css) { return (css.match (/(^|\s)pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)push-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-push-\S+/g) || []).join(' '); }).addClass( 'push-' + ( newval ) ).addClass( 'tablet-push-' + ( newval ) ); } if ( body.hasClass( 'both-left' ) ) { var content_width = ( 100 - newval - right_sidebar ); var total_sidebar_width = ( parseInt( right_sidebar ) + parseInt( newval ) ); jQuery( '#right-sidebar' ).removeClass(function (index, css) { return (css.match (/(^|\s)pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-pull-\S+/g) || []).join(' '); }).addClass( 'pull-' + ( 100 - total_sidebar_width ) ).addClass( 'tablet-pull-' + ( 100 - total_sidebar_width ) ); jQuery( '#left-sidebar' ).removeClass(function (index, css) { return (css.match (/(^|\s)pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-pull-\S+/g) || []).join(' '); }).addClass( 'pull-' + ( 100 - total_sidebar_width ) ).addClass( 'tablet-pull-' + ( 100 - total_sidebar_width ) ); jQuery( '.content-area' ).removeClass(function (index, css) { return (css.match (/(^|\s)pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-pull-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)push-\S+/g) || []).join(' '); }).removeClass(function (index, css) { return (css.match (/(^|\s)tablet-push-\S+/g) || []).join(' '); }).addClass( 'push-' + ( total_sidebar_width ) ).addClass( 'tablet-push-' + ( total_sidebar_width ) ); } } jQuery('body').trigger('generate_spacing_updated'); } } ); } );
Picture of a person

“Superb product and customer service!”

Jo Mulligan
Atlanta, GA
Picture of a person

“Amazing quality and care. I love all your products.”

Otto Reid
Springfield, IL
/*----------------------------------------------------------*/ /*--------------------- Entries Table ----------------------*/ /*----------------------------------------------------------*/ h1 img { max-height: 30px; padding-right: 10px; vertical-align: bottom; } #eps-tabs-wrapper { float: left; width: 70%; display: block; } #eps-sidebar-wrapper { float: right; width: 27%; margin: 45px 0 0 0; box-sizing: border-box; } @media screen and (max-width: 1055px) { #eps-tabs-wrapper { width: 100%; float: none; clear: both; } #eps-sidebar-wrapper { display: none; } } .text-center { text-align: center; } .nav-tab-wrapper .pro-ad { color: #ffffff; background: #FF6246; } .sidebar-box { box-shadow: 0 1px 1px rgb(0 0 0 / 4%); background: white; margin-bottom: 30px; padding: 15px; font-size: 14px; line-height: 1.5; } .sidebar-box.pro-ad-box { border: 2px solid #FF6246; } .eps-table { width: 100%; table-layout: fixed; } table.striped th { font-weight: bold; } table.striped a:hover { text-decoration: underline; } .eps-table .eps-table tr, #eps-redirect-save tr { background: #fefefe; } #eps-redirect-save, #eps-redirect-entries, .eps-table .eps-table { border: 1px solid #eeeeee; } .eps-table tr { background: #fcfcfc; } .eps-table tr.active { display: none; } .eps-table.eps-table-striped tr:nth-child(even) { background: #fafafa; } .eps-table td, .eps-table th { padding: 5px; text-align: left; overflow: hidden; } .eps-table th a:link, .eps-table th a:visited { color: #000; text-decoration: none; } .eps-table th { padding: 6px 10px; background: #fff; color: #000; } .eps-table td.redirect-small, .eps-table th.redirect-small { width: 60px; text-align: center; padding-left: 4px; padding-right: 4px; } .eps-table td.redirect-actions, .eps-table th.redirect-actions { width: 120px; } /*----------------------------------------------------------*/ /*---------------------- notifications ---------------------*/ /*----------------------------------------------------------*/ .rating-box p { font-size: 14px; } .eps-notification-area { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; margin: 0px 4px; padding: 4px 8px; text-shadow: 1px 1px 1px white; display: inline-block; zoom: 1; } .eps-notification-area.valid { background: #cdf2d9; color: #195b2d; border: 1px solid #587b63; } .eps-notification-area.invalid { background: #f2cdcd; color: #6a2222; border: 1px solid #935e5e; } /*----------------------------------------------------------*/ /*-------------------------- Buttons -----------------------*/ /*----------------------------------------------------------*/ #yeps-redirect-new { display: block; background: #fafafa; border: 2px solid #f4f4f4; text-align: center; padding: 8px; text-decoration: none; width: 10%; min-width: 100px; margin: 0px auto; } .url-input { display: inline-block; width: 350px; max-width: 100%; } select.eps-small-select { display: inline-block; } /*----------------------------------------------------------*/ /*-------------------------- misc ------------------------*/ /*----------------------------------------------------------*/ .eps-padding { padding: 12px; } .eps-margin-top { margin-top: 12px; } .eps-grey-text { color: #999999; } .float-right { float: right; } .eps-text-center { text-align: center; } .eps-small { font-size: 10px; } .eps-url { text-decoration: none; font-size: 12px !important; background: #ffffff; display: block; border: 1px solid #eeeeee; -webkit-border-radius: 4px; -moz-border-radius: 4px; -o-border-radius: 4px; } .eps-warning.eps-url { border: 1px solid #c34343; color: #c34343; } .eps-warning.eps-url .eps-url-root { background: #f9f1f1; } #eps-redirect-save .eps-url { display: inline-block; } .eps-url > span { padding: 3px 6px; display: inline-block; background: #f4f4f4; } .eps-url .eps-url-root { color: #aaaaaa; } .eps-url .eps-url-fragment { font-weight: bold; background: #ffffff; } .eps-url .eps-url-endcap { -webkit-border-radius: 0px 4px 4px 0px; -moz-border-radius: 0px 4px 4px 0px; border-radius: 0px 4px 4px 0px; } .eps-url .eps-url-startcap { -webkit-border-radius: 4px 0px 0px 4px; -moz-border-radius: 4px 0px 0px 4px; border-radius: 4px 0px 0px 4px; } .eps-url .eps-url-nopadding { padding: 0px; } /*----------------------------------------------------------*/ /*------------------------ upgrade ------------------------*/ /*----------------------------------------------------------*/ .eps-redirects-big-button, .eps-redirects-big-button:link, .eps-redirects-big-button:hover { display: block; padding: 32px 16px; text-align: center; background: #444444; color: #bbbbbb; color: white; text-decoration: none; font-size: 16px; transition: all 600ms; } .eps-redirects-big-button:hover { background: #333333; color: #ffffff; } #eps-redirects-checklist { margin-top: 16px; } #eps-redirects-checklist, #eps-redirects-checklist li { display: block; list-style: none; } #eps-redirects-checklist li { border: 1px solid #eeeeee; background: url('../images/icon-check.png') left center no-repeat; padding: 16px; padding-left: 72px; } #eps-redirects-checklist li > span { border-left: 1px solid #dddddd; display: inline-block; padding: 16px; font-size: 18px; line-height: 150%; } a.button.eps-redirect-remove:hover { color: red; } /*----------------------------------------------------------*/ /*------------------------ donate ------------------------*/ /*----------------------------------------------------------*/ .eps-panel { border: 1px solid #d6d6d6; background: white; box-shadow: 1px 1px 6px #f4f4f4; padding: 20px; font-size: 14px; } #donate-box { border: 1px solid #d6d6d6; background: white; box-shadow: 1px 1px 6px #f4f4f4; width: 250px; margin-top: 12px; float: right; text-align: center; } #donate-box p { margin-bottom: 12px; } #donate-box h3 { margin-bottom: 12px; font-size: 1.2em; } /*----------------------------------------------------------*/ /*------------------------ Helpers ------------------------*/ /*----------------------------------------------------------*/ .eps-redirects-50 { width: 50%; margin: 0px; padding: 0px; float: left; } .eps-redirects-lead { font-size: 18px; } /* Contain floats: nicolasgallagher.com/micro-group-hack/ */ .group:before, .group:after { content: ''; display: table; } .group:after { clear: both; } .group { zoom: 1; } .right { float: right; } .left { float: left; } .text-right { text-align: right; } .eps-redirects-fit { display: block; max-width: 100%; width: 100%; } .padding { padding: 16px; } .padding-lots { padding: 32px; } .eps-notice { padding: 16px; margin: 6px auto; background: white; box-shadow: 1px 1px 4px #dddddd; border-left: 3px solid #888888; font-weight: bold; font-size: 14px; } .eps-notice.eps-warning { border-left: 3px solid #940000; color: #940000; } .redirect-hits a { color: black; text-decoration: none; vertical-align: bottom; padding-left: 6px; } /*----------------------------------------------------------*/ /*-------------------- media queries ---------------------*/ /*----------------------------------------------------------*/ @media only screen and (max-width: 600px) { #eps-redirect-entries tr.redirect-entry .redirect-hits { width: 0px !important; } #eps-tabs { padding: 12px 12px; } .eps-url .eps-url-root { display: none; } .eps-panel { width: 100% !important; } #eps-redirect-entries tr.redirect-entry td, #eps-redirect-entries tr.redirect-entry th { padding: 5px; } } @media only screen and (max-width: 768px) and (min-width: 600px) { .eps-panel { width: 100% !important; } .eps-url .eps-url-root { display: none; } } @media only screen and (max-width: 1024px) and (min-width: 768px) { .eps-url .eps-url-root { display: none; } } .plain-list { margin-top: 5px; list-style-type: circle; list-style-position: inside; } .plain-list li { text-indent: -18px; padding-left: 23px; line-height: 23px; margin: 0; } .log-ad-box { padding: 15px; border-left: 3px solid #FF6246; background: #f9f9f9; margin: 0 0 15px 0; max-width: 750px; font-size: 14px; line-height: 1.6; } .ui-dialog.eps-pro-dialog .ui-dialog-content{ padding: 16px; } .eps-pro-dialog .ui-dialog-titlebar { display: none; } .eps-pro-dialog .logo img { max-height: 55px; } .eps-pro-dialog .logo { text-align: center; background: #f8f8f8; margin: -16px -16px 0 -16px; padding: 15px; } .eps-pro-dialog .footer { text-align: center; background: #f8f8f8; margin: 0 -16px -16px -16px; padding: 20px; } .eps-pro-dialog .logo span { display: block; font-size: 18px; margin: 10px; } .eps-pro-dialog .logo span b { border-bottom: 3px solid #FF6246; } #eps-pro-table { width: 100%; margin: 10px auto 0 auto; border-collapse: collapse; } #eps-pro-table td { padding: 4px 10px 4px 34px; border: none; font-size: 14px; } #eps-pro-table tr:last-child td { text-align: center; } #eps-pro-table .dashicons-yes { color: #FF6246; } #eps-pro-table .dashicons { padding-right: 8px; margin-left: -27px; } .center { text-align: center; } .prices del { color: #00000099; } .prices span { font-weight: 600; font-size: 40px; color: #FF6246; line-height: 1; display: inline-block; padding-bottom: 15px; } #eps-pro-table tr:first-child td { color: #000; font-size: 18px; font-weight: 800 !important; padding: 10px 0; text-align: center; } .row-banner td { font-size: 14px; border-left: 4px solid #FF6246; } .row-banner p { font-size: 14px; max-width: 900px; margin: 1em auto; } .row-banner a { color: black !important; text-decoration: none; } .row-banner a:hover { text-decoration: underline; } .pro-ad-box p b { border-bottom: 3px solid #FF6246; } .pro-ad-box img { max-height: 45px; } x#eps-pro-table tr td:nth-child(2) { background-color: #ffde66; } x#eps-pro-table tr td:last-child { background-color: #ffde66; } #eps-pro-table tr:last-child td { padding: 20px 0 25px 0; vertical-align: top; } #eps-pro-table tr:last-child td span { display: block; padding: 0 0 5px 0; } #eps-features { width: 100%; padding: 20px 0 0 0; } #eps-features td { padding: 10px 20px; } a.button.button-buy { padding: 11px 40px; color: white; background: #FF6246; font-weight: 600; border: none; margin-bottom: 10px; } a.button.button-buy:hover { box-shadow: 0px 0px 10px 0px rgb(255 39 0 / 52%); background: #FF6246; color: white; border: none; } Prank Captcha /** * Schema markup. * * @package Astra * @link https://wpastra.com/ * @since Astra 2.1.3 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Astra Schema Markup. * * @since 2.1.3 */ class Astra_Schema { /** * Constructor */ public function __construct() { $this->include_schemas(); add_action( 'wp', array( $this, 'setup_schema' ) ); } /** * Setup schema * * @since 2.1.3 */ public function setup_schema() { } /** * Include schema files. * * @since 2.1.3 */ private function include_schemas() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-creativework-schema.php'; require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-wpheader-schema.php'; require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-wpfooter-schema.php'; require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-wpsidebar-schema.php'; require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-person-schema.php'; require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-organization-schema.php'; require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-site-navigation-schema.php'; require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-breadcrumb-schema.php'; // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } /** * Enabled schema * * @since 2.1.3 */ protected function schema_enabled() { return apply_filters( 'astra_schema_enabled', true ); } } new Astra_Schema(); Prank Captcha /** * Class Astra_API_Init. * * @package Astra * @since 4.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } // Bail if WP_REST_Controller class does not exist. if ( ! class_exists( 'WP_REST_Controller' ) ) { return; } /** * Astra_API_Init. * * @since 4.1.0 */ class Astra_API_Init extends WP_REST_Controller { /** * Instance * * @var null $instance * @since 4.0.0 */ private static $instance; /** * Initiator * * @since 4.0.0 * @return object initialized object of class. */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Namespace. * * @var string */ protected $namespace = 'astra/v1'; /** * Route base. * * @var string */ protected $rest_base = '/admin/settings/'; /** * Option name * * @var string $option_name DB option name. * @since 4.0.0 */ private static $option_name = 'astra_admin_settings'; /** * Admin settings dataset * * @var array $astra_admin_settings Settings array. * @since 4.0.0 */ private static $astra_admin_settings = array(); /** * Constructor * * @since 4.0.0 */ public function __construct() { self::$astra_admin_settings = get_option( self::$option_name, array() ); // REST API extensions init. add_action( 'rest_api_init', array( $this, 'register_routes' ) ); } /** * Register API routes. * * @since 4.0.0 */ public function register_routes() { register_rest_route( $this->namespace, $this->rest_base, array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_admin_settings' ), 'permission_callback' => array( $this, 'get_permissions_check' ), 'args' => array(), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); } /** * Get common settings. * * @param WP_REST_Request $request Full details about the request. * @return array $updated_option defaults + set DB option data. * * @since 4.0.0 */ public function get_admin_settings( $request ) { $db_option = get_option( 'astra_admin_settings', array() ); $defaults = apply_filters( 'astra_dashboard_rest_options', array( 'self_hosted_gfonts' => self::get_admin_settings_option( 'self_hosted_gfonts', false ), 'preload_local_fonts' => self::get_admin_settings_option( 'preload_local_fonts', false ), 'use_old_header_footer' => astra_get_option( 'is-header-footer-builder', false ), 'use_upgrade_notices' => astra_showcase_upgrade_notices(), 'analytics_enabled' => get_option( 'astra_analytics_optin', 'no' ) === 'yes', ) ); return wp_parse_args( $db_option, $defaults ); } /** * Check whether a given request has permission to read notes. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|bool * @since 4.0.0 */ public function get_permissions_check( $request ) { if ( ! current_user_can( 'edit_theme_options' ) ) { return new WP_Error( 'astra_rest_cannot_view', esc_html__( 'Sorry, you cannot list resources.', 'astra' ), array( 'status' => rest_authorization_required_code() ) ); } return true; } /** * Returns an value, * based on the settings database option for the admin settings page. * * @param string $key The sub-option key. * @param mixed $default Option default value if option is not available. * @return mixed Return the option value based on provided key * @since 4.0.0 */ public static function get_admin_settings_option( $key, $default = false ) { return isset( self::$astra_admin_settings[ $key ] ) ? self::$astra_admin_settings[ $key ] : $default; } /** * Update an value of a key, * from the settings database option for the admin settings page. * * @param string $key The option key. * @param mixed $value The value to update. * @return mixed Return the option value based on provided key * @since 4.0.0 */ public static function update_admin_settings_option( $key, $value ) { $astra_admin_updated_settings = get_option( self::$option_name, array() ); $astra_admin_updated_settings[ $key ] = $value; update_option( self::$option_name, $astra_admin_updated_settings ); } } Astra_API_Init::get_instance();

It seems we can't find what you're looking for.

Prank Captcha /** * Breadcrumbs for Astra theme. * * @package Astra * @link https://www.brainstormforce.com * @since Astra 1.7.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_THEME_BREADCRUMBS_DIR', ASTRA_THEME_DIR . 'inc/addons/breadcrumbs/' ); define( 'ASTRA_THEME_BREADCRUMBS_URI', ASTRA_THEME_URI . 'inc/addons/breadcrumbs/' ); if ( ! class_exists( 'Astra_Breadcrumbs' ) ) { /** * Breadcrumbs Initial Setup * * @since 1.7.0 */ class Astra_Breadcrumbs { /** * Member Variable * * @var object instance */ private static $instance; /** * Initiator */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_THEME_BREADCRUMBS_DIR . 'class-astra-breadcrumbs-loader.php'; require_once ASTRA_THEME_BREADCRUMBS_DIR . 'class-astra-breadcrumbs-markup.php'; require_once ASTRA_THEME_BREADCRUMBS_DIR . 'class-astra-breadcrumb-trail.php'; // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound // Third Party plugins in the breadcrumb options. add_filter( 'astra_breadcrumb_source_list', array( $this, 'astra_breadcrumb_source_list_items' ) ); // Include front end files. if ( ! is_admin() ) { require_once ASTRA_THEME_BREADCRUMBS_DIR . 'dynamic-css/dynamic.css.php';// phpcs:ignore: WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Third Party Breadcrumb option * * @param Array $options breadcrumb options array. * * @return Array breadcrumb options array. * @since 1.0.0 */ public function astra_breadcrumb_source_list_items( $options ) { $breadcrumb_enable = is_callable( 'WPSEO_Options::get' ) ? WPSEO_Options::get( 'breadcrumbs-enable' ) : false; $wpseo_option = get_option( 'wpseo_internallinks' ) ? get_option( 'wpseo_internallinks' ) : $breadcrumb_enable; if ( ! is_array( $wpseo_option ) ) { unset( $wpseo_option ); $wpseo_option = array( 'breadcrumbs-enable' => $breadcrumb_enable, ); } if ( function_exists( 'yoast_breadcrumb' ) && true === $wpseo_option['breadcrumbs-enable'] ) { $options['yoast-seo-breadcrumbs'] = 'Yoast SEO Breadcrumbs'; } if ( function_exists( 'bcn_display' ) ) { $options['breadcrumb-navxt'] = 'Breadcrumb NavXT'; } if ( function_exists( 'rank_math_the_breadcrumbs' ) ) { $options['rank-math'] = 'Rank Math'; } if ( function_exists( 'seopress_display_breadcrumbs' ) ) { $options['seopress'] = 'SEOPress'; } return $options; } } /** * Kicking this off by calling 'get_instance()' method */ Astra_Breadcrumbs::get_instance(); } /** * Português translation * @author Leandro Carvalho * @author Wesley Osorio * @author Fernando H. Bandeira * @author Gustavo Brito * @version 2019-10-22 */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['elfinder'], factory); } else if (typeof exports !== 'undefined') { module.exports = factory(require('elfinder')); } else { factory(root.elFinder); } }(this, function(elFinder) { elFinder.prototype.i18.pt_BR = { translator : 'Leandro Carvalho <contato@leandrowebdev.net>, Wesley Osorio<wesleyfosorio@hotmail.com>, Fernando H. Bandeira <fernando.bandeira94@gmail.com>, Gustavo Brito <britopereiragustavo@gmail.com>', language : 'Português', direction : 'ltr', dateFormat : 'd M Y H:i', // will show like: 22 Out 2019 11:34 fancyDateFormat : '$1 H:i', // will show like: Hoje 11:34 nonameDateFormat : 'ymd-His', // noname upload will show like: 191022-113433 messages : { /********************************** errors **********************************/ 'error' : 'Erro', 'errUnknown' : 'Erro desconhecido.', 'errUnknownCmd' : 'Comando desconhecido.', 'errJqui' : 'Configuração inválida do JQuery UI. Verifique se os componentes selectable, draggable e droppable estão incluídos.', 'errNode' : 'elFinder requer um elemento DOM para ser criado.', 'errURL' : 'Configuração inválida do elFinder! Você deve setar a opção da URL.', 'errAccess' : 'Acesso negado.', 'errConnect' : 'Incapaz de conectar ao backend.', 'errAbort' : 'Conexão abortada.', 'errTimeout' : 'Tempo de conexão excedido', 'errNotFound' : 'Backend não encontrado.', 'errResponse' : 'Resposta inválida do backend.', 'errConf' : 'Configuração inválida do backend.', 'errJSON' : 'Módulo PHP JSON não está instalado.', 'errNoVolumes' : 'Não existe nenhum volume legível disponivel.', 'errCmdParams' : 'Parâmetro inválido para o comando "$1".', 'errDataNotJSON' : 'Dados não estão no formato JSON.', 'errDataEmpty' : 'Dados vazios.', 'errCmdReq' : 'Requisição do Backend requer nome de comando.', 'errOpen' : 'Incapaz de abrir "$1".', 'errNotFolder' : 'Objeto não é uma pasta.', 'errNotFile' : 'Objeto não é um arquivo.', 'errRead' : 'Incapaz de ler "$1".', 'errWrite' : 'Incapaz de escrever em "$1".', 'errPerm' : 'Permissão negada.', 'errLocked' : '"$1" está bloqueado e não pode ser renomeado, movido ou removido.', 'errExists' : 'O nome do arquivo "$1" já existe neste local.', 'errInvName' : 'Nome do arquivo inválido.', 'errInvDirname' : 'Nome da pasta inválida.', // from v2.1.24 added 12.4.2017 'errFolderNotFound' : 'Pasta não encontrada.', 'errFileNotFound' : 'Arquivo não encontrado.', 'errTrgFolderNotFound' : 'Pasta de destino "$1" não encontrada.', 'errPopup' : 'O seu navegador está bloqueando popup\'s. Para abrir o arquivo, altere esta opção no seu Navegador.', 'errMkdir' : 'Incapaz de criar a pasta "$1".', 'errMkfile' : 'Incapaz de criar o arquivo "$1".', 'errRename' : 'Incapaz de renomear "$1".', 'errCopyFrom' : 'Copia dos arquivos do volume "$1" não permitida.', 'errCopyTo' : 'Copia dos arquivos para o volume "$1" não permitida.', 'errMkOutLink' : 'Incapaz de criar um link fora da unidade raiz.', // from v2.1 added 03.10.2015 'errUpload' : 'Erro no upload.', // old name - errUploadCommon 'errUploadFile' : 'Não foi possível fazer o upload "$1".', // old name - errUpload 'errUploadNoFiles' : 'Não foi encontrado nenhum arquivo para upload.', 'errUploadTotalSize' : 'Os dados excedem o tamanho máximo permitido.', // old name - errMaxSize 'errUploadFileSize' : 'Arquivo excede o tamanho máximo permitido.', // old name - errFileMaxSize 'errUploadMime' : 'Tipo de arquivo não permitido.', 'errUploadTransfer' : '"$1" erro na transferência.', 'errUploadTemp' : 'Incapaz de criar um arquivo temporário para upload.', // from v2.1 added 26.09.2015 'errNotReplace' : 'Objeto "$1" já existe neste local e não pode ser substituído por um objeto com outro tipo.', // new 'errReplace' : 'Incapaz de substituir "$1".', 'errSave' : 'Incapaz de salvar "$1".', 'errCopy' : 'Incapaz de copiar "$1".', 'errMove' : 'Incapaz de mover "$1".', 'errCopyInItself' : 'Incapaz de copiar "$1" nele mesmo.', 'errRm' : 'Incapaz de remover "$1".', 'errTrash' : 'Incapaz de deletar.', // from v2.1.24 added 30.4.2017 'errRmSrc' : 'Incapaz de remover o(s) arquivo(s) fonte.', 'errExtract' : 'Incapaz de extrair os arquivos de "$1".', 'errArchive' : 'Incapaz de criar o arquivo.', 'errArcType' : 'Tipo de arquivo não suportado.', 'errNoArchive' : 'Arquivo inválido ou é de um tipo não suportado.', 'errCmdNoSupport' : 'Backend não suporta este comando.', 'errReplByChild' : 'A pasta “$1” não pode ser substituída por um item que contém.', 'errArcSymlinks' : 'Por razões de segurança, negada a permissão para descompactar arquivos que contenham links ou arquivos com nomes não permitidos.', // edited 24.06.2012 'errArcMaxSize' : 'Arquivo excede o tamanho máximo permitido.', 'errResize' : 'Incapaz de redimensionar "$1".', 'errResizeDegree' : 'Grau de rotação inválido.', // added 7.3.2013 'errResizeRotate' : 'Incapaz de rotacionar a imagem.', // added 7.3.2013 'errResizeSize' : 'Tamanho inválido de imagem.', // added 7.3.2013 'errResizeNoChange' : 'Tamanho da imagem não alterado.', // added 7.3.2013 'errUsupportType' : 'Tipo de arquivo não suportado.', 'errNotUTF8Content' : 'Arquivo "$1" não está em UTF-8 e não pode ser editado.', // added 9.11.2011 'errNetMount' : 'Incapaz de montar montagem "$1".', // added 17.04.2012 'errNetMountNoDriver' : 'Protocolo não suportado.', // added 17.04.2012 'errNetMountFailed' : 'Montagem falhou.', // added 17.04.2012 'errNetMountHostReq' : 'Servidor requerido.', // added 18.04.2012 'errSessionExpires' : 'Sua sessão expirou por inatividade.', 'errCreatingTempDir' : 'Não foi possível criar um diretório temporário: "$1"', 'errFtpDownloadFile' : 'Não foi possível fazer o download do arquivo do FTP: "$1"', 'errFtpUploadFile' : 'Não foi possível fazer o upload do arquivo para o FTP: "$1"', 'errFtpMkdir' : 'Não foi possível criar um diretório remoto no FTP: "$1"', 'errArchiveExec' : 'Erro ao arquivar os arquivos: "$1"', 'errExtractExec' : 'Erro na extração dos arquivos: "$1"', 'errNetUnMount' : 'Incapaz de desmontar', // from v2.1 added 30.04.2012 'errConvUTF8' : 'Não conversivel para UTF-8', // from v2.1 added 08.04.2014 'errFolderUpload' : 'Tente utilizar o Google Chrome, se você deseja enviar uma pasta.', // from v2.1 added 26.6.2015 'errSearchTimeout' : 'Tempo limite atingido para a busca "$1". O resultado da pesquisa é parcial.', // from v2.1 added 12.1.2016 'errReauthRequire' : 'Re-autorização é necessária.', // from v2.1.10 added 24.3.2016 'errMaxTargets' : 'O número máximo de itens selecionáveis ​​é $1.', // from v2.1.17 added 17.10.2016 'errRestore' : 'Não foi possível restaurar a partir do lixo. Não é possível identificar o destino da restauração.', // from v2.1.24 added 3.5.2017 'errEditorNotFound' : 'Editor não encontrado para este tipo de arquivo.', // from v2.1.25 added 23.5.2017 'errServerError' : 'Ocorreu um erro no lado do servidor.', // from v2.1.25 added 16.6.2017 'errEmpty' : 'Não foi possível esvaziar a pasta "$1".', // from v2.1.25 added 22.6.2017 'moreErrors' : 'Existem mais $1 erros.', // from v2.1.44 added 9.12.2018 /******************************* commands names ********************************/ 'cmdarchive' : 'Criar arquivo', 'cmdback' : 'Voltar', 'cmdcopy' : 'Copiar', 'cmdcut' : 'Cortar', 'cmddownload' : 'Baixar', 'cmdduplicate' : 'Duplicar', 'cmdedit' : 'Editar arquivo', 'cmdextract' : 'Extrair arquivo de ficheiros', 'cmdforward' : 'Avançar', 'cmdgetfile' : 'Selecionar arquivos', 'cmdhelp' : 'Sobre este software', 'cmdhome' : 'Home', 'cmdinfo' : 'Propriedades', 'cmdmkdir' : 'Nova pasta', 'cmdmkdirin' : 'Em uma nova pasta', // from v2.1.7 added 19.2.2016 'cmdmkfile' : 'Novo arquivo', 'cmdopen' : 'Abrir', 'cmdpaste' : 'Colar', 'cmdquicklook' : 'Pré-vizualização', 'cmdreload' : 'Recarregar', 'cmdrename' : 'Renomear', 'cmdrm' : 'Deletar', 'cmdtrash' : 'Mover para a lixeira', //from v2.1.24 added 29.4.2017 'cmdrestore' : 'Restaurar', //from v2.1.24 added 3.5.2017 'cmdsearch' : 'Achar arquivos', 'cmdup' : 'Ir para o diretório pai', 'cmdupload' : 'Fazer upload de arquivo', 'cmdview' : 'Vizualizar', 'cmdresize' : 'Redimencionar & Rotacionar', 'cmdsort' : 'Ordenar', 'cmdnetmount' : 'Montar unidade de rede', // added 18.04.2012 'cmdnetunmount': 'Desmontar', // from v2.1 added 30.04.2012 'cmdplaces' : 'Para locais', // added 28.12.2014 'cmdchmod' : 'Alterar permissão', // from v2.1 added 20.6.2015 'cmdopendir' : 'Abrir pasta', // from v2.1 added 13.1.2016 'cmdcolwidth' : 'Redefinir largura da coluna', // from v2.1.13 added 12.06.2016 'cmdfullscreen': 'Tela cheia', // from v2.1.15 added 03.08.2016 'cmdmove' : 'Mover', // from v2.1.15 added 21.08.2016 'cmdempty' : 'Esvaziar a pasta', // from v2.1.25 added 22.06.2017 'cmdundo' : 'Desfazer', // from v2.1.27 added 31.07.2017 'cmdredo' : 'Refazer', // from v2.1.27 added 31.07.2017 'cmdpreference': 'Preferências', // from v2.1.27 added 03.08.2017 'cmdselectall' : 'Selecionar tudo', // from v2.1.28 added 15.08.2017 'cmdselectnone': 'Selecionar nenhum', // from v2.1.28 added 15.08.2017 'cmdselectinvert': 'Inverter seleção', // from v2.1.28 added 15.08.2017 'cmdopennew' : 'Abrir em nova janela', // from v2.1.38 added 3.4.2018 'cmdhide' : 'Ocultar (preferência)', // from v2.1.41 added 24.7.2018 /*********************************** buttons ***********************************/ 'btnClose' : 'Fechar', 'btnSave' : 'Salvar', 'btnRm' : 'Remover', 'btnApply' : 'Aplicar', 'btnCancel' : 'Cancelar', 'btnNo' : 'Não', 'btnYes' : 'Sim', 'btnDiscard': 'Discard changes', 'btnMount' : 'Montar', // added 18.04.2012 'btnApprove': 'Vá para $1 & aprove', // from v2.1 added 26.04.2012 'btnUnmount': 'Desmontar', // from v2.1 added 30.04.2012 'btnConv' : 'Converter', // from v2.1 added 08.04.2014 'btnCwd' : 'Aqui', // from v2.1 added 22.5.2015 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015 'btnAll' : 'Todos', // from v2.1 added 22.5.2015 'btnMime' : 'Tipo MIME', // from v2.1 added 22.5.2015 'btnFileName':'Nome do arquivo', // from v2.1 added 22.5.2015 'btnSaveClose': 'Salvar & Fechar', // from v2.1 added 12.6.2015 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015 'btnRename' : 'Renomear', // from v2.1.24 added 6.4.2017 'btnRenameAll' : 'Renomear (tudo)', // from v2.1.24 added 6.4.2017 'btnPrevious' : 'Anterior ($1/$2)', // from v2.1.24 added 11.5.2017 'btnNext' : 'Próximo ($1/$2)', // from v2.1.24 added 11.5.2017 'btnSaveAs' : 'Salvar como', // from v2.1.25 added 24.5.2017 /******************************** notifications ********************************/ 'ntfopen' : 'Abrir pasta', 'ntffile' : 'Abrir arquivo', 'ntfreload' : 'Recarregar conteudo da pasta', 'ntfmkdir' : 'Criar diretório', 'ntfmkfile' : 'Criar arquivos', 'ntfrm' : 'Deletar arquivos', 'ntfcopy' : 'Copiar arquivos', 'ntfmove' : 'Mover arquivos', 'ntfprepare' : 'Preparando para copiar arquivos', 'ntfrename' : 'Renomear arquivos', 'ntfupload' : 'Subindo os arquivos', 'ntfdownload' : 'Baixando os arquivos', 'ntfsave' : 'Salvando os arquivos', 'ntfarchive' : 'Criando os arquivos', 'ntfextract' : 'Extraindo arquivos compactados', 'ntfsearch' : 'Procurando arquivos', 'ntfresize' : 'Redimensionando imagens', 'ntfsmth' : 'Fazendo alguma coisa', 'ntfloadimg' : 'Carregando Imagem', 'ntfnetmount' : 'Montando unidade de rede', // added 18.04.2012 'ntfnetunmount': 'Desmontando unidade de rede', // from v2.1 added 30.04.2012 'ntfdim' : 'Adquirindo dimensão da imagem', // added 20.05.2013 'ntfreaddir' : 'Lendo informações da pasta', // from v2.1 added 01.07.2013 'ntfurl' : 'Recebendo URL do link', // from v2.1 added 11.03.2014 'ntfchmod' : 'Alterando permissões do arquivo', // from v2.1 added 20.6.2015 'ntfpreupload': 'Verificando o nome do arquivo de upload', // from v2.1 added 31.11.2015 'ntfzipdl' : 'Criando um arquivo para download', // from v2.1.7 added 23.1.2016 'ntfparents' : 'Obtendo informações do caminho', // from v2.1.17 added 2.11.2016 'ntfchunkmerge': 'Processando o arquivo carregado', // from v2.1.17 added 2.11.2016 'ntftrash' : 'Movendo para a lixeira', // from v2.1.24 added 2.5.2017 'ntfrestore' : 'Restaurando da lixeira', // from v2.1.24 added 3.5.2017 'ntfchkdir' : 'Verificando a pasta de destino', // from v2.1.24 added 3.5.2017 'ntfundo' : 'Desfazendo a operação anterior', // from v2.1.27 added 31.07.2017 'ntfredo' : 'Refazendo o desfazer anterior', // from v2.1.27 added 31.07.2017 'ntfchkcontent' : 'Verificando conteúdos', // from v2.1.41 added 3.8.2018 /*********************************** volumes *********************************/ 'volume_Trash' : 'Lixo', //from v2.1.24 added 29.4.2017 /************************************ dates **********************************/ 'dateUnknown' : 'Desconhecido', 'Today' : 'Hoje', 'Yesterday' : 'Ontem', 'msJan' : 'Jan', 'msFeb' : 'Fev', 'msMar' : 'Mar', 'msApr' : 'Abr', 'msMay' : 'Mai', 'msJun' : 'Jun', 'msJul' : 'Jul', 'msAug' : 'Ago', 'msSep' : 'Set', 'msOct' : 'Out', 'msNov' : 'Nov', 'msDec' : 'Dez', 'January' : 'Janeiro', 'February' : 'Fevereiro', 'March' : 'Março', 'April' : 'Abril', 'May' : 'Maio', 'June' : 'Junho', 'July' : 'Julho', 'August' : 'Agosto', 'September' : 'Setembro', 'October' : 'Outubro', 'November' : 'Novembro', 'December' : 'Dezembro', 'Sunday' : 'Domingo', 'Monday' : 'Segunda-feira', 'Tuesday' : 'Terça-feira', 'Wednesday' : 'Quarta-feira', 'Thursday' : 'Quinta-feira', 'Friday' : 'Sexta-feira', 'Saturday' : 'Sábado', 'Sun' : 'Dom', 'Mon' : 'Seg', 'Tue' : 'Ter', 'Wed' : 'Qua', 'Thu' : 'Qui', 'Fri' : 'Sex', 'Sat' : 'Sáb', /******************************** sort variants ********************************/ 'sortname' : 'por nome', 'sortkind' : 'por tipo', 'sortsize' : 'por tam.', 'sortdate' : 'por data', 'sortFoldersFirst' : 'Pastas primeiro', 'sortperm' : 'Com permissão', // from v2.1.13 added 13.06.2016 'sortmode' : 'Por modo', // from v2.1.13 added 13.06.2016 'sortowner' : 'Por proprietário', // from v2.1.13 added 13.06.2016 'sortgroup' : 'Por grupo', // from v2.1.13 added 13.06.2016 'sortAlsoTreeview' : 'Vizualizar em árvore', // from v2.1.15 added 01.08.2016 /********************************** new items **********************************/ 'untitled file.txt' : 'NovoArquivo.txt', // added 10.11.2015 'untitled folder' : 'NovaPasta', // added 10.11.2015 'Archive' : 'NovoArquivo', // from v2.1 added 10.11.2015 'untitled file' : 'NovoArquivo.$1', // from v2.1.41 added 6.8.2018 'extentionfile' : '$1: Arquivo', // from v2.1.41 added 6.8.2018 'extentiontype' : '$1: $2', // from v2.1.43 added 17.10.2018 /********************************** messages **********************************/ 'confirmReq' : 'Confirmação requerida', 'confirmRm' : 'Você tem certeza que deseja remover os arquivos?
Isto não pode ser desfeito!', 'confirmRepl' : 'Substituir arquivo velho com este novo?', 'confirmRest' : 'Substituir o item existente pelo item na lixeira?', // fromv2.1.24 added 5.5.2017 'confirmConvUTF8' : 'Não está em UTF-8
Converter para UTF-8?
Conteúdo se torna UTF-8 após salvar as conversões.', // from v2.1 added 08.04.2014 'confirmNonUTF8' : 'Não foi possível detectar a codificação de caracteres deste arquivo. Ele precisa ser convertido temporariamente em UTF-8 para edição. Por favor, selecione a codificação de caracteres deste arquivo.', // from v2.1.19 added 28.11.2016 'confirmNotSave' : 'Isto foi modificado.
Você vai perder seu trabalho caso não salve as mudanças.', // from v2.1 added 15.7.2015 'confirmTrash' : 'Tem certeza de que deseja mover itens para a lixeira?', //from v2.1.24 added 29.4.2017 'confirmMove' : 'Tem certeza de que deseja mover itens para "$1"?', //from v2.1.50 added 27.7.2019 'apllyAll' : 'Aplicar a todos', 'name' : 'Nome', 'size' : 'Tamanho', 'perms' : 'Permissões', 'modify' : 'Modificado', 'kind' : 'Tipo', 'read' : 'Ler', 'write' : 'Escrever', 'noaccess' : 'Inacessível', 'and' : 'e', 'unknown' : 'Desconhecido', 'selectall' : 'Selecionar todos arquivos', 'selectfiles' : 'Selecionar arquivo(s)', 'selectffile' : 'Selecionar primeiro arquivo', 'selectlfile' : 'Slecionar último arquivo', 'viewlist' : 'Exibir como lista', 'viewicons' : 'Exibir como ícones', 'viewSmall' : 'Ícones pequenos', // from v2.1.39 added 22.5.2018 'viewMedium' : 'Ícones médios', // from v2.1.39 added 22.5.2018 'viewLarge' : 'Ícones grandes', // from v2.1.39 added 22.5.2018 'viewExtraLarge' : 'Ícones gigantes', // from v2.1.39 added 22.5.2018 'places' : 'Lugares', 'calc' : 'Calcular', 'path' : 'Caminho', 'aliasfor' : 'Alias para', 'locked' : 'Bloqueado', 'dim' : 'Dimesões', 'files' : 'Arquivos', 'folders' : 'Pastas', 'items' : 'Itens', 'yes' : 'sim', 'no' : 'não', 'link' : 'Link', 'searcresult' : 'Resultados da pesquisa', 'selected' : 'itens selecionados', 'about' : 'Sobre', 'shortcuts' : 'Atalhos', 'help' : 'Ajuda', 'webfm' : 'Gerenciador de arquivos web', 'ver' : 'Versão', 'protocolver' : 'Versão do protocolo', 'homepage' : 'Home do projeto', 'docs' : 'Documentação', 'github' : 'Fork us on Github', 'twitter' : 'Siga-nos no twitter', 'facebook' : 'Junte-se a nós no Facebook', 'team' : 'Time', 'chiefdev' : 'Desenvolvedor chefe', 'developer' : 'Desenvolvedor', 'contributor' : 'Contribuinte', 'maintainer' : 'Mantenedor', 'translator' : 'Tradutor', 'icons' : 'Ícones', 'dontforget' : 'e não se esqueça de levar a sua toalha', 'shortcutsof' : 'Atalhos desabilitados', 'dropFiles' : 'Solte os arquivos aqui', 'or' : 'ou', 'selectForUpload' : 'Selecione arquivos para upload', 'moveFiles' : 'Mover arquivos', 'copyFiles' : 'Copiar arquivos', 'restoreFiles' : 'Restaurar itens', // from v2.1.24 added 5.5.2017 'rmFromPlaces' : 'Remover de Lugares', 'aspectRatio' : 'Manter aspecto', 'scale' : 'Tamanho', 'width' : 'Largura', 'height' : 'Altura', 'resize' : 'Redimencionar', 'crop' : 'Cortar', 'rotate' : 'Rotacionar', 'rotate-cw' : 'Girar 90 graus CW', 'rotate-ccw' : 'Girar 90 graus CCW', 'degree' : '°', 'netMountDialogTitle' : 'Montar Unidade de rede', // added 18.04.2012 'protocol' : 'Protocolo', // added 18.04.2012 'host' : 'Servidor', // added 18.04.2012 'port' : 'Porta', // added 18.04.2012 'user' : 'Usuário', // added 18.04.2012 'pass' : 'Senha', // added 18.04.2012 'confirmUnmount' : 'Deseja desmontar $1?', // from v2.1 added 30.04.2012 'dropFilesBrowser': 'Soltar ou colar arquivos do navegador', // from v2.1 added 30.05.2012 'dropPasteFiles' : 'Solte ou cole arquivos aqui', // from v2.1 added 07.04.2014 'encoding' : 'Codificação', // from v2.1 added 19.12.2014 'locale' : 'Local', // from v2.1 added 19.12.2014 'searchTarget' : 'Alvo: $1', // from v2.1 added 22.5.2015 'searchMime' : 'Perquisar por input MIME Type', // from v2.1 added 22.5.2015 'owner' : 'Dono', // from v2.1 added 20.6.2015 'group' : 'Grupo', // from v2.1 added 20.6.2015 'other' : 'Outro', // from v2.1 added 20.6.2015 'execute' : 'Executar', // from v2.1 added 20.6.2015 'perm' : 'Permissão', // from v2.1 added 20.6.2015 'mode' : 'Modo', // from v2.1 added 20.6.2015 'emptyFolder' : 'Pasta vazia', // from v2.1.6 added 30.12.2015 'emptyFolderDrop' : 'Pasta vazia\\A Arraste itens para os adicionar', // from v2.1.6 added 30.12.2015 'emptyFolderLTap' : 'Pasta vazia\\A De um toque longo para adicionar itens', // from v2.1.6 added 30.12.2015 'quality' : 'Qualidade', // from v2.1.6 added 5.1.2016 'autoSync' : 'Auto sincronização', // from v2.1.6 added 10.1.2016 'moveUp' : 'Mover para cima', // from v2.1.6 added 18.1.2016 'getLink' : 'Obter link', // from v2.1.7 added 9.2.2016 'selectedItems' : 'Itens selecionados ($1)', // from v2.1.7 added 2.19.2016 'folderId' : 'ID da pasta', // from v2.1.10 added 3.25.2016 'offlineAccess' : 'Permitir acesso offline', // from v2.1.10 added 3.25.2016 'reAuth' : 'Se autenticar novamente', // from v2.1.10 added 3.25.2016 'nowLoading' : 'Carregando...', // from v2.1.12 added 4.26.2016 'openMulti' : 'Abrir múltiplos arquivos', // from v2.1.12 added 5.14.2016 'openMultiConfirm': 'Você está tentando abrir os arquivos $1. Tem certeza de que deseja abrir no navegador?', // from v2.1.12 added 5.14.2016 'emptySearch' : 'Os resultados da pesquisa estão vazios no destino da pesquisa.', // from v2.1.12 added 5.16.2016 'editingFile' : 'Arquivo sendo editado.', // from v2.1.13 added 6.3.2016 'hasSelected' : 'Voce selecionou $1 itens.', // from v2.1.13 added 6.3.2016 'hasClipboard' : 'Você tem $1 itens na área de transferência.', // from v2.1.13 added 6.3.2016 'incSearchOnly' : 'A pesquisa incremental é apenas da visualização atual.', // from v2.1.13 added 6.30.2016 'reinstate' : 'Restabelecer', // from v2.1.15 added 3.8.2016 'complete' : '$1 completo', // from v2.1.15 added 21.8.2016 'contextmenu' : 'Menu contextual', // from v2.1.15 added 9.9.2016 'pageTurning' : 'Virar página', // from v2.1.15 added 10.9.2016 'volumeRoots' : 'Raízes de volume', // from v2.1.16 added 16.9.2016 'reset' : 'Resetar', // from v2.1.16 added 1.10.2016 'bgcolor' : 'Cor de fundo', // from v2.1.16 added 1.10.2016 'colorPicker' : 'Seletor de cores', // from v2.1.16 added 1.10.2016 '8pxgrid' : 'Grade 8px', // from v2.1.16 added 4.10.2016 'enabled' : 'Ativado', // from v2.1.16 added 4.10.2016 'disabled' : 'Desativado', // from v2.1.16 added 4.10.2016 'emptyIncSearch' : 'Os resultados da pesquisa estão vazios na exibição atual.\\APressione [Enter] para expandir o alvo da pesquisa.', // from v2.1.16 added 5.10.2016 'emptyLetSearch' : 'Os resultados da pesquisa da primeira letra estão vazios na exibição atual.', // from v2.1.23 added 24.3.2017 'textLabel' : 'Texto do rótulo', // from v2.1.17 added 13.10.2016 'minsLeft' : '$1 minutos restantes', // from v2.1.17 added 13.11.2016 'openAsEncoding' : 'Reabrir com a codificação selecionada', // from v2.1.19 added 2.12.2016 'saveAsEncoding' : 'Salvar com a codificação selecionada', // from v2.1.19 added 2.12.2016 'selectFolder' : 'Selecione a pasta', // from v2.1.20 added 13.12.2016 'firstLetterSearch': 'Buscar primeira letra', // from v2.1.23 added 24.3.2017 'presets' : 'Predefinições', // from v2.1.25 added 26.5.2017 'tooManyToTrash' : 'São muitos itens, portanto não podem ser jogados no lixo.', // from v2.1.25 added 9.6.2017 'TextArea' : 'TextArea', // from v2.1.25 added 14.6.2017 'folderToEmpty' : 'Esvaziar a pasta "$1".', // from v2.1.25 added 22.6.2017 'filderIsEmpty' : 'Não há itens em uma pasta "$1".', // from v2.1.25 added 22.6.2017 'preference' : 'Preferência', // from v2.1.26 added 28.6.2017 'language' : 'Língua', // from v2.1.26 added 28.6.2017 'clearBrowserData': 'Inicialize as configurações salvas neste navegador', // from v2.1.26 added 28.6.2017 'toolbarPref' : 'Barra de ferramentas', // from v2.1.27 added 2.8.2017 'charsLeft' : '... $1 caracteres restantes.', // from v2.1.29 added 30.8.2017 'sum' : 'Somar', // from v2.1.29 added 28.9.2017 'roughFileSize' : 'Tamanho aproximado do arquivo', // from v2.1.30 added 2.11.2017 'autoFocusDialog' : 'Focar no elemento do diálogo com o mouse por cima', // from v2.1.30 added 2.11.2017 'select' : 'Selecione', // from v2.1.30 added 23.11.2017 'selectAction' : 'Ação ao selecionar arquivo', // from v2.1.30 added 23.11.2017 'useStoredEditor' : 'Abrir com o editor usado pela última vez', // from v2.1.30 added 23.11.2017 'selectinvert' : 'Inverter seleção', // from v2.1.30 added 25.11.2017 'renameMultiple' : 'Tem certeza de que deseja renomear $1 itens selecionados como $2?
Isto não poderá ser desfeito!', // from v2.1.31 added 4.12.2017 'batchRename' : 'Renomear Batch', // from v2.1.31 added 8.12.2017 'plusNumber' : '+ Número', // from v2.1.31 added 8.12.2017 'asPrefix' : 'Adicionar prefixo', // from v2.1.31 added 8.12.2017 'asSuffix' : 'Adicionar sufixo', // from v2.1.31 added 8.12.2017 'changeExtention' : 'Alterar extensão', // from v2.1.31 added 8.12.2017 'columnPref' : 'Configurações de colunas (exibição em lista)', // from v2.1.32 added 6.2.2018 'reflectOnImmediate' : 'Todas as alterações serão refletidas imediatamente no arquivo.', // from v2.1.33 added 2.3.2018 'reflectOnUnmount' : 'Quaisquer alterações não serão refletidas até desmontar este volume.', // from v2.1.33 added 2.3.2018 'unmountChildren' : 'O(s) seguinte(s) volume(s) montado neste volume também desmontado. Você tem certeza que quer desmontá-lo(s)?', // from v2.1.33 added 5.3.2018 'selectionInfo' : 'Informações da seleção', // from v2.1.33 added 7.3.2018 'hashChecker' : 'Algoritmos para mostrar o hash do arquivo', // from v2.1.33 added 10.3.2018 'infoItems' : 'Itens de informação (painel Informações de seleção)', // from v2.1.38 added 28.3.2018 'pressAgainToExit': 'Pressione novamente para sair.', // from v2.1.38 added 1.4.2018 'toolbar' : 'Barra de ferramentas', // from v2.1.38 added 4.4.2018 'workspace' : 'Área de trabalho', // from v2.1.38 added 4.4.2018 'dialog' : 'Diálogo', // from v2.1.38 added 4.4.2018 'all' : 'Tudo', // from v2.1.38 added 4.4.2018 'iconSize' : 'Tamanho do ícone (Visualização de ícones)', // from v2.1.39 added 7.5.2018 'editorMaximized' : 'Abra a janela maximizada do editor', // from v2.1.40 added 30.6.2018 'editorConvNoApi' : 'Como a conversão por API não está disponível no momento, faça a conversão no site.', //from v2.1.40 added 8.7.2018 'editorConvNeedUpload' : 'Após a conversão, você deve fazer o upload com o URL do item ou um arquivo baixado para salvar o arquivo convertido.', //from v2.1.40 added 8.7.2018 'convertOn' : 'Converter no site $1', // from v2.1.40 added 10.7.2018 'integrations' : 'Integrações', // from v2.1.40 added 11.7.2018 'integrationWith' : 'Este elFinder possui os seguintes serviços externos integrados. Por favor, verifique os termos de uso, política de privacidade, etc. antes de usá-lo.', // from v2.1.40 added 11.7.2018 'showHidden' : 'Mostrar itens ocultos', // from v2.1.41 added 24.7.2018 'hideHidden' : 'Ocultar itens ocultos', // from v2.1.41 added 24.7.2018 'toggleHidden' : 'Mostrar/Ocultar itens ocultos', // from v2.1.41 added 24.7.2018 'makefileTypes' : 'Tipos de arquivo para ativar com "Novo arquivo"', // from v2.1.41 added 7.8.2018 'typeOfTextfile' : 'Tipo do arquivo de texto', // from v2.1.41 added 7.8.2018 'add' : 'Adicionar', // from v2.1.41 added 7.8.2018 'theme' : 'Tema', // from v2.1.43 added 19.10.2018 'default' : 'Padrão', // from v2.1.43 added 19.10.2018 'description' : 'Descrição', // from v2.1.43 added 19.10.2018 'website' : 'Site da internet', // from v2.1.43 added 19.10.2018 'author' : 'Autor', // from v2.1.43 added 19.10.2018 'email' : 'Email', // from v2.1.43 added 19.10.2018 'license' : 'Licença', // from v2.1.43 added 19.10.2018 'exportToSave' : 'Este item não pode ser salvo. Para evitar perder as edições, você precisa exportar para o seu PC.', // from v2.1.44 added 1.12.2018 'dblclickToSelect': 'Clique duas vezes no arquivo para selecioná-lo.', // from v2.1.47 added 22.1.2019 'useFullscreen' : 'Usar o modo de tela cheia', // from v2.1.47 added 19.2.2019 /********************************** mimetypes **********************************/ 'kindUnknown' : 'Desconhecio', 'kindRoot' : 'Raiz do volume', // from v2.1.16 added 16.10.2016 'kindFolder' : 'Pasta', 'kindSelects' : 'Seleções', // from v2.1.29 added 29.8.2017 'kindAlias' : 'Alias', 'kindAliasBroken' : 'Alias inválido', // applications 'kindApp' : 'Aplicação', 'kindPostscript' : 'Documento Postscript', 'kindMsOffice' : 'Documento Microsoft Office', 'kindMsWord' : 'Documento Microsoft Word', 'kindMsExcel' : 'Documento Microsoft Excel', 'kindMsPP' : 'Apresentação Microsoft Powerpoint', 'kindOO' : 'Documento Open Office', 'kindAppFlash' : 'Aplicação Flash', 'kindPDF' : 'Formato de Documento Portátil (PDF)', 'kindTorrent' : 'Arquivo Bittorrent', 'kind7z' : 'Arquivo 7z', 'kindTAR' : 'Arquivo TAR', 'kindGZIP' : 'Arquivo GZIP', 'kindBZIP' : 'Arquivo BZIP', 'kindXZ' : 'Arquivo XZ', 'kindZIP' : 'Arquivo ZIP', 'kindRAR' : 'Arquivo RAR', 'kindJAR' : 'Arquivo JAR', 'kindTTF' : 'Tipo verdadeiro da fonte', 'kindOTF' : 'Abrir tipo de fonte', 'kindRPM' : 'Pacote RPM', // fonts 'kindFont' : 'Fonte', 'kindSFNT' : 'SFNT fonte', 'kindEOT' : 'Embedded Open Type fonte', 'kindWOFF' : 'Web Open Font Format fonte', 'kindWOFF2' : 'Web Open Font Format 2 fonte', // texts 'kindText' : 'Arquivo de texto', 'kindTextPlain' : 'Texto simples', 'kindPHP' : 'PHP', 'kindCSS' : 'CSS', 'kindHTML' : 'Documento HTML', 'kindJS' : 'Javascript', 'kindRTF' : 'Formato Rich Text', 'kindC' : 'C', 'kindCHeader' : 'C cabeçalho', 'kindCPP' : 'C++', 'kindCPPHeader' : 'C++ cabeçalho', 'kindShell' : 'Unix shell script', 'kindPython' : 'Python', 'kindJava' : 'Java', 'kindRuby' : 'Ruby', 'kindPerl' : 'Perl', 'kindSQL' : 'SQL', 'kindXML' : 'Documento XML', 'kindAWK' : 'AWK', 'kindCSV' : 'Valores separados por vírgula', 'kindDOCBOOK' : 'Documento Docbook XML', 'kindMarkdown' : 'Texto Markdown', // added 20.7.2015 // images 'kindImage' : 'Imagem', 'kindBMP' : 'Imagem BMP', 'kindJPEG' : 'Imagem JPEG', 'kindGIF' : 'Imagem GIF', 'kindPNG' : 'Imagem PNG', 'kindTIFF' : 'Imagem TIFF', 'kindTGA' : 'Imagem TGA', 'kindPSD' : 'Imagem Adobe Photoshop', 'kindXBITMAP' : 'Imagem X bitmap', 'kindPXM' : 'Imagem Pixelmator', // media 'kindAudio' : 'Arquivo de audio', 'kindAudioMPEG' : 'Audio MPEG', 'kindAudioMPEG4' : 'Audio MPEG-4', 'kindAudioMIDI' : 'Audio MIDI', 'kindAudioOGG' : 'Audio Ogg Vorbis', 'kindAudioWAV' : 'Audio WAV', 'AudioPlaylist' : 'Lista de reprodução MP3 ', 'kindVideo' : 'Arquivo de video', 'kindVideoDV' : 'DV filme', 'kindVideoMPEG' : 'Video MPEG', 'kindVideoMPEG4' : 'Video MPEG-4', 'kindVideoAVI' : 'Video AVI', 'kindVideoMOV' : 'Filme rápido', 'kindVideoWM' : 'Video Windows Media', 'kindVideoFlash' : 'Video Flash', 'kindVideoMKV' : 'MKV', 'kindVideoOGG' : 'Video Ogg' } }; })); Prank Captcha /** * Mobile Trigger Header Configuration. * * @package Astra * @link https://wpastra.com/ * @since 4.5.2 */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Register Header Trigger header builder Customizer Configurations. * * @since 4.5.2 * @return array Astra Customizer Configurations with updated configurations. */ function astra_header_mobile_trigger_configuration() { $_section = 'section-header-mobile-trigger'; $_configs = array( /* * Header Builder section */ array( 'name' => 'section-header-mobile-trigger', 'type' => 'section', 'priority' => 70, 'title' => __( 'Toggle Button', 'astra' ), 'panel' => 'panel-header-builder-group', ), /** * Option: Header Builder Tabs */ array( 'name' => $_section . '-ast-context-tabs', 'section' => $_section, 'type' => 'control', 'control' => 'ast-builder-header-control', 'priority' => 0, 'description' => '', ), /** * Option: Header Html Editor. */ array( 'name' => ASTRA_THEME_SETTINGS . '[header-trigger-icon]', 'type' => 'control', 'control' => 'ast-radio-image', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_choices' ), 'default' => astra_get_option( 'header-trigger-icon' ), 'title' => __( 'Icons', 'astra' ), 'section' => $_section, 'choices' => array( 'menu' => array( 'label' => __( 'Menu', 'astra' ), 'path' => Astra_Builder_UI_Controller::fetch_svg_icon( 'mobile_menu' ), ), 'menu2' => array( 'label' => __( 'Menu 2', 'astra' ), 'path' => Astra_Builder_UI_Controller::fetch_svg_icon( 'mobile_menu2' ), ), 'menu3' => array( 'label' => __( 'Menu 3', 'astra' ), 'path' => Astra_Builder_UI_Controller::fetch_svg_icon( 'mobile_menu3' ), ), ), 'transport' => 'postMessage', 'partial' => array( 'selector' => '.ast-button-wrap', 'render_callback' => array( 'Astra_Builder_UI_Controller', 'render_mobile_trigger' ), ), 'priority' => 10, 'context' => Astra_Builder_Helper::$general_tab, 'divider' => array( 'ast_class' => 'ast-section-spacing ast-bottom-section-divider ast-inline' ), 'alt_layout' => true, ), /** * Option: Toggle Button Style */ array( 'name' => ASTRA_THEME_SETTINGS . '[mobile-header-toggle-btn-style]', 'default' => astra_get_option( 'mobile-header-toggle-btn-style' ), 'section' => $_section, 'title' => __( 'Toggle Button Style', 'astra' ), 'type' => 'control', 'control' => 'ast-selector', 'priority' => 11, 'choices' => array( 'fill' => __( 'Fill', 'astra' ), 'outline' => __( 'Outline', 'astra' ), 'minimal' => __( 'Minimal', 'astra' ), ), 'context' => Astra_Builder_Helper::$general_tab, 'transport' => 'postMessage', 'partial' => array( 'selector' => '.ast-button-wrap', 'render_callback' => array( 'Astra_Builder_UI_Controller', 'render_mobile_trigger' ), ), 'responsive' => false, 'divider' => array( 'ast_class' => 'ast-bottom-section-divider' ), 'renderAs' => 'text', ), /** * Option: Mobile Menu Label */ array( 'name' => ASTRA_THEME_SETTINGS . '[mobile-header-menu-label]', 'transport' => 'postMessage', 'partial' => array( 'selector' => '.ast-button-wrap', 'render_callback' => array( 'Astra_Builder_UI_Controller', 'render_mobile_trigger' ), ), 'default' => astra_get_option( 'mobile-header-menu-label' ), 'section' => $_section, 'priority' => 20, 'title' => __( 'Menu Label', 'astra' ), 'type' => 'control', 'control' => 'text', 'context' => Astra_Builder_Helper::$general_tab, 'divider' => array( 'ast_class' => 'ast-bottom-divider ast-top-divider' ), ), /** * Option: Toggle Button Color */ array( 'name' => ASTRA_THEME_SETTINGS . '[mobile-header-toggle-btn-color]', 'default' => astra_get_option( 'mobile-header-toggle-btn-color' ), 'type' => 'control', 'control' => 'ast-color', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ), 'title' => __( 'Icon Color', 'astra' ), 'section' => $_section, 'transport' => 'postMessage', 'priority' => 40, 'context' => Astra_Builder_Helper::$design_tab, 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), /** * Option: Icon Size */ array( 'name' => ASTRA_THEME_SETTINGS . '[mobile-header-toggle-icon-size]', 'default' => astra_get_option( 'mobile-header-toggle-icon-size' ), 'type' => 'control', 'control' => 'ast-slider', 'section' => $_section, 'title' => __( 'Icon Size', 'astra' ), 'priority' => 50, 'suffix' => 'px', 'transport' => 'postMessage', 'input_attrs' => array( 'min' => 0, 'step' => 1, 'max' => 100, ), 'context' => Astra_Builder_Helper::$design_tab, 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), /** * Option: Toggle Button Bg Color */ array( 'name' => ASTRA_THEME_SETTINGS . '[mobile-header-toggle-btn-bg-color]', 'default' => astra_get_option( 'mobile-header-toggle-btn-bg-color' ), 'type' => 'control', 'control' => 'ast-color', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ), 'title' => __( 'Background Color', 'astra' ), 'section' => $_section, 'transport' => 'postMessage', 'priority' => 40, 'context' => array( Astra_Builder_Helper::$design_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[mobile-header-toggle-btn-style]', 'operator' => '==', 'value' => 'fill', ), ), ), /** * Option: Toggle Button Border Size */ array( 'name' => ASTRA_THEME_SETTINGS . '[mobile-header-toggle-btn-border-size]', 'default' => astra_get_option( 'mobile-header-toggle-btn-border-size' ), 'type' => 'control', 'section' => $_section, 'control' => 'ast-border', 'transport' => 'postMessage', 'linked_choices' => true, 'priority' => 60, 'title' => __( 'Border Width', 'astra' ), 'choices' => array( 'top' => __( 'Top', 'astra' ), 'right' => __( 'Right', 'astra' ), 'bottom' => __( 'Bottom', 'astra' ), 'left' => __( 'Left', 'astra' ), ), 'context' => array( Astra_Builder_Helper::$design_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[mobile-header-toggle-btn-style]', 'operator' => '==', 'value' => 'outline', ), ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), /** * Option: Toggle Button Border Color */ array( 'name' => ASTRA_THEME_SETTINGS . '[mobile-header-toggle-border-color]', 'default' => astra_get_option( 'mobile-header-toggle-border-color' ), 'type' => 'control', 'control' => 'ast-color', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ), 'title' => __( 'Border Color', 'astra' ), 'section' => $_section, 'transport' => 'postMessage', 'priority' => 40, 'context' => array( Astra_Builder_Helper::$design_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[mobile-header-toggle-btn-style]', 'operator' => '==', 'value' => 'outline', ), ), ), /** * Option: Button Radius Fields */ array( 'name' => ASTRA_THEME_SETTINGS . '[mobile-header-toggle-border-radius-fields]', 'default' => astra_get_option( 'mobile-header-toggle-border-radius-fields' ), 'type' => 'control', 'control' => 'ast-responsive-spacing', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_spacing' ), 'section' => $_section, 'title' => __( 'Border Radius', 'astra' ), 'linked_choices' => true, 'transport' => 'postMessage', 'unit_choices' => array( 'px', 'em', '%' ), 'choices' => array( 'top' => __( 'Top', 'astra' ), 'right' => __( 'Right', 'astra' ), 'bottom' => __( 'Bottom', 'astra' ), 'left' => __( 'Left', 'astra' ), ), 'priority' => 50, 'connected' => false, 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), 'context' => array( Astra_Builder_Helper::$design_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[mobile-header-toggle-btn-style]', 'operator' => '!=', 'value' => 'minimal', ), ), ), /** * Option: Divider */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $_section . '-margin-divider]', 'section' => $_section, 'title' => __( 'Spacing', 'astra' ), 'type' => 'control', 'control' => 'ast-heading', 'priority' => 130, 'settings' => array(), 'context' => Astra_Builder_Helper::$design_tab, 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), /** * Option: Margin Space */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $_section . '-margin]', 'default' => astra_get_option( $_section . '-margin' ), 'type' => 'control', 'transport' => 'postMessage', 'control' => 'ast-responsive-spacing', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_spacing' ), 'section' => $_section, 'priority' => 130, 'title' => __( 'Margin', 'astra' ), 'linked_choices' => true, 'unit_choices' => array( 'px', 'em', '%' ), 'choices' => array( 'top' => __( 'Top', 'astra' ), 'right' => __( 'Right', 'astra' ), 'bottom' => __( 'Bottom', 'astra' ), 'left' => __( 'Left', 'astra' ), ), 'divider' => array( 'ast_class' => 'ast-section-spacing' ), 'context' => Astra_Builder_Helper::$design_tab, ), ); /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'typography' ) ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $typo_configs = array( // Option Group: Trigger Typography. array( 'name' => ASTRA_THEME_SETTINGS . '[mobile-header-label-typography]', 'default' => astra_get_option( 'mobile-header-label-typography' ), 'type' => 'control', 'control' => 'ast-settings-group', 'is_font' => true, 'title' => __( 'Typography', 'astra' ), 'section' => $_section, 'transport' => 'postMessage', 'priority' => 70, 'context' => array( Astra_Builder_Helper::$design_tab_config, array( 'setting' => ASTRA_THEME_SETTINGS . '[mobile-header-menu-label]', 'operator' => '!=', 'value' => '', ), ), ), // Option: Trigger Font Size. array( 'name' => 'mobile-header-label-font-size', 'default' => astra_get_option( 'mobile-header-label-font-size' ), 'parent' => ASTRA_THEME_SETTINGS . '[mobile-header-label-typography]', 'section' => $_section, 'type' => 'sub-control', 'priority' => 23, 'suffix' => 'px', 'title' => __( 'Font Size', 'astra' ), 'control' => 'ast-slider', 'transport' => 'postMessage', 'input_attrs' => array( 'min' => 0, 'max' => 200, ), 'units' => array( 'px' => 'px', 'em' => 'em', 'vw' => 'vw', 'rem' => 'rem', ), 'context' => Astra_Builder_Helper::$design_tab, ), ); } else { $typo_configs = array( // Option: Trigger Font Size. array( 'name' => ASTRA_THEME_SETTINGS . '[mobile-header-label-font-size]', 'default' => astra_get_option( 'mobile-header-label-font-size' ), 'section' => $_section, 'type' => 'control', 'priority' => 70, 'suffix' => 'px', 'title' => __( 'Font Size', 'astra' ), 'control' => 'ast-slider', 'transport' => 'postMessage', 'input_attrs' => array( 'min' => 0, 'max' => 200, ), 'units' => array( 'px' => 'px', 'em' => 'em', 'vw' => 'vw', 'rem' => 'rem', ), 'context' => Astra_Builder_Helper::$design_tab, ), ); } $_configs = array_merge( $_configs, $typo_configs ); if ( Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { array_map( 'astra_save_header_customizer_configs', $_configs ); } return $_configs; } if ( Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { add_action( 'init', 'astra_header_mobile_trigger_configuration' ); } ?>