File manager - Edit - /home/palg2351/public_html/klanaobsesiindonesia.com/wp-includes/Text/Diff/Engine/blocksy.zip
Back
PK �P�\�= �� � inc/schema-org.phpnu �[��� <?php if (! function_exists('blocksy_has_schema_org_markup')) { function blocksy_has_schema_org_markup() { return blocksy_get_theme_mod('enable_schema_org_markup', 'yes') === 'yes'; } } if (! function_exists('blocksy_schema_org_definitions')) { function blocksy_schema_org_definitions($place, $args = []) { $args = wp_parse_args( $args, [ 'array' => false, 'to_merge' => [], 'condition' => true ] ); $value = []; if (! blocksy_has_schema_org_markup() || ! $args['condition']) { if ($args['array']) { return $value; } return blocksy_attr_to_html($value); } if ($place === 'ratingValue') { $value = [ 'itemprop' => 'ratingValue' ]; } if ($place === 'reviewRating') { $value = [ 'itemscope' => 'itemscope', 'itemtype' => 'https://schema.org/Rating', 'itemprop' => 'reviewRating' ]; } if ($place === 'itemReviewed') { $value = [ 'itemprop' => 'itemReviewed', 'itemscope' => '', 'itemtype' => "https://schema.org/Thing" ]; } if ($place === 'reviewBody') { $value = [ 'itemprop' => 'reviewBody' ]; } if ($place === 'positiveNotes') { $value = [ 'itemprop' => 'positiveNotes' ]; } if ($place === 'negativeNotes') { $value = [ 'itemprop' => 'negativeNotes' ]; } if ($place === 'single') { if (is_page()) { $value = [ 'itemscope' => 'itemscope', 'itemtype' => 'https://schema.org/WebPage' ]; } else if (blocksy_manager()->screen->is_product()) { $value = [ 'itemscope' => 'itemscope', 'itemtype' => 'https://schema.org/WebPage' ]; } else if (is_single()) { $value = [ 'itemscope' => 'itemscope', 'itemtype' => 'https://schema.org/Blog' ]; } } if ($place === 'creative_work') { if (is_singular('blc-product-review')) { $value = [ 'itemscope' => 'itemscope', 'itemtype' => 'https://schema.org/Review' ]; } else if (is_single()) { $value = [ 'itemscope' => 'itemscope', 'itemtype' => 'https://schema.org/CreativeWork' ]; } else { if (is_home() || is_archive() || is_search()) { $value = [ 'itemscope' => 'itemscope', 'itemtype' => 'https://schema.org/CreativeWork' ]; } } } if ($place === 'creative_work:related_posts') { $value = [ 'itemscope' => 'itemscope', 'itemtype' => 'https://schema.org/CreativeWork' ]; } if ($place === 'header') { $value = [ 'itemscope' => '', 'itemtype' => 'https://schema.org/WPHeader' ]; } if ($place === 'logo') { $value = [ 'itemscope' => 'itemscope', 'itemtype' => 'https://schema.org/Organization' ]; } // Navigation if ($place === 'navigation') { $value = [ 'itemscope' => '', 'itemtype' => 'https://schema.org/SiteNavigationElement' ]; } // Main if ($place === 'blog') { // return ''; // return 'itemtype="https://schema.org/Blog" itemscope'; } if ($place === 'breadcrumb') { $value = [ 'itemscope' => '', 'itemtype' => 'https://schema.org/BreadcrumbList' ]; } if ( $place === 'breadcrumb_list') { $value = [ 'itemprop' => 'itemListElement', 'itemscope' => '', 'itemtype' => 'https://schema.org/ListItem' ]; } if ($place === 'breadcrumb_itemprop') { $value = [ 'itemprop' => 'breadcrumb', ]; } if ($place === 'sidebar') { $value = [ 'itemtype' => 'https://schema.org/WPSideBar', 'itemscope' => 'itemscope', ]; } if ($place === 'footer') { $value = [ 'itemscope' => '', 'itemtype' => 'https://schema.org/WPFooter' ]; } if ($place === 'headline') { $value = [ 'itemprop' => 'headline' ]; } if ( $place === 'entry_content') { $value = [ 'itemprop' => 'text' ]; } if ($place === 'publish_date') { $value = [ 'itemprop' => 'datePublished' ]; } if ($place === 'modified_date') { $value = [ 'itemprop' => 'dateModified' ]; } if ($place === 'author') { $value = [ 'itemprop' => 'author', 'itemscope' => '', 'itemtype' => 'https://schema.org/Person' ]; } if ($place === 'author_name') { $value = [ 'itemprop' => 'name' ]; } if ($place === 'author_link') { $value = [ 'itemprop' => 'author', ]; } if ($place === 'author_url') { $value = [ 'itemprop' => 'url', ]; } if ($place === 'publisher') { $value = [ 'itemprop' => 'publisher' ]; } if ($place === 'item') { $value = [ 'itemprop' => 'item' ]; } if ($place === 'url') { $value = [ 'itemprop' => 'url' ]; } if ($place === 'name') { $value = [ 'itemprop' => 'name' ]; } if ($place === 'description') { $value = [ 'itemprop' => 'description' ]; } if ($place === 'position') { $value = [ 'itemprop' => 'position' ]; } if ($place === 'image') { $value = [ 'itemprop' => 'image' ]; } if ($place === 'breadcrumb_list') { $value = [ 'itemscope' => '', 'itemtype' => "https://schema.org/BreadcrumbList" ]; } if ($place === 'breadcrumb_item') { $value = [ 'itemscope' => '', 'itemprop' => "itemListElement", 'itemtype' => "https://schema.org/ListItem" ]; } if ($place === 'comment') { $value = [ 'itemprop' => 'comment', 'itemscope' => '', 'itemtype' => "https://schema.org/Comment" ]; } $value = array_merge($value, $args['to_merge']); if ($args['array']) { return $value; } return blocksy_attr_to_html($value); } } PK �P�\�ݩ�� � inc/helpers.phpnu �[��� <?php /** * General purpose helpers * * @copyright 2019-present Creative Themes * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License * @package Blocksy */ // Usage: // // $raii = blocksy_raii(function() { /* destruct code */ }); // // When the $raii object goes out of scope, the callback will be called // automatically. function blocksy_raii($callback) { return new \Blocksy\RaiiPattern($callback); } function blocksy_assert_args($args, $fields = []) { foreach ($fields as $single_field) { if ( ! isset($args[$single_field]) || ! $args[$single_field] ) { throw new Error($single_field . ' missing in args!'); } } } function blocksy_sync_whole_page($args = []) { $args = wp_parse_args( $args, [ 'prefix_custom' => '' ] ); $selector = 'main#main'; return array_merge( [ 'selector' => $selector, 'container_inclusive' => true, 'render' => function () { echo blocksy_replace_current_template(); } ], $args ); } function blocksy_get_with_percentage($id, $value) { $val = blocksy_get_theme_mod($id, $value); if (strpos($value, '%') !== false && is_numeric($val)) { $val .= '%'; } return str_replace('%%', '%', $val); } /** * Link to menus editor for every empty menu. * * @param array $args Menu args. */ if (! function_exists('blocksy_link_to_menu_editor')) { function blocksy_link_to_menu_editor($args) { if (! current_user_can('manage_options')) { return; } // see wp-includes/nav-menu-template.php for available arguments // phpcs:ignore WordPress.PHP.DontExtract.extract_extract extract($args); $output = '<a class="ct-create-menu" href="' . admin_url('nav-menus.php') . '" target="_blank">' . $before . __('You don\'t have a menu yet, please create one here →', 'blocksy') . $after . '</a>'; if (! empty($container)) { $output = "<$container>$output</$container>"; } if ($echo) { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo wp_kses_post($output); } return $output; } } /** * Extract variable from a file. * * @param string $file_path path to file. * @param array $_extract_variables variables to return. * @param array $_set_variables variables to pass into the file. */ function blocksy_get_variables_from_file( $file_path, array $_extract_variables, array $_set_variables = array() ) { // phpcs:ignore WordPress.PHP.DontExtract.extract_extract extract($_set_variables, EXTR_REFS); unset($_set_variables); if (is_file($file_path)) { require $file_path; } foreach ($_extract_variables as $variable_name => $default_value) { if (isset($$variable_name) ) { $_extract_variables[$variable_name] = $$variable_name; } } return $_extract_variables; } /** * Safe render a view and return html * In view will be accessible only passed variables * Use this function to not include files directly and to not give access to current context variables (like $this) * * @param string $file_path File path. * @param array $view_variables Variables to pass into the view. * * @return string HTML. */ if (! function_exists('blocksy_render_view')) { function blocksy_render_view( $file_path, $view_variables = [], $default_value = '' ) { if (! is_file($file_path)) { return $default_value; } // phpcs:ignore WordPress.PHP.DontExtract.extract_extract extract($view_variables, EXTR_REFS); unset($view_variables); ob_start(); require $file_path; return ob_get_clean(); } } function blocksy_get_wp_theme() { return apply_filters('blocksy_get_wp_theme', wp_get_theme()); } if (! function_exists('blocksy_get_wp_parent_theme')) { function blocksy_get_wp_parent_theme() { return apply_filters('blocksy_get_wp_theme', wp_get_theme(get_template())); } } function blocksy_current_url() { static $url = null; if ($url === null) { if (is_multisite() && !(defined('SUBDOMAIN_INSTALL') && SUBDOMAIN_INSTALL)) { switch_to_blog(1); $url = home_url(); restore_current_blog(); } else { $url = home_url(); } //Remove the "//" before the domain name $url = ltrim(preg_replace('/^[^:]+:\/\//', '//', $url), '/'); //Remove the ulr subdirectory in case it has one $split = explode('/', $url); //Remove end slash $url = rtrim($split[0], '/'); $request_uri = blocksy_akg('REQUEST_URI', $_SERVER, ''); $request_uri = apply_filters( 'blocksy:current-url:request-uri', $request_uri ); $url .= '/' . ltrim($request_uri, '/'); $url = set_url_scheme('//' . $url); // https fix } return $url; } if (! function_exists('blocksy_get_all_image_sizes')) { function blocksy_get_all_image_sizes() { $titles = [ 'thumbnail' => __('Thumbnail', 'blocksy'), 'medium' => __('Medium', 'blocksy'), 'medium_large' => __('Medium Large', 'blocksy'), 'large' => __('Large', 'blocksy'), 'full' => __('Full Size', 'blocksy'), 'woocommerce_thumbnail' => __('WooCommerce Thumbnail', 'blocksy'), 'woocommerce_single' => __('WooCommerce Single', 'blocksy'), 'woocommerce_gallery_thumbnail' => __( 'WooCommerce Gallery Thumbnail', 'blocksy' ), 'woocommerce_archive_thumbnail' => __( 'WooCommerce Archive Thumbnail', 'blocksy' ) ]; $all_sizes = get_intermediate_image_sizes(); $result = [ 'full' => __('Full Size', 'blocksy') ]; foreach ($all_sizes as $single_size) { if (isset($titles[$single_size])) { $result[$single_size] = $titles[$single_size]; } else { $result[$single_size] = $single_size; } } return $result; } } if (! function_exists('blocksy_debug')) { function blocksy_debug_log($message, $object = null) { if ( ! defined('WP_DEBUG') || ! WP_DEBUG ) { return; } if (is_null($object)) { error_log($message); } else { error_log($message . ': ' . print_r($object, true)); } } } function blocksy_sanitize_user_html($html) { // Just drop scripts from the html content, if user doesnt have // unfiltered_html capability. // // Should happen BEFORE do_shortcode() as shortcodes can contain inline // scripts but we should leave those in place, since those come from trusted // places. if (! current_user_can('unfiltered_html')) { $html = preg_replace('#<script(.*?)>(.*?)</script>#is', '', $html); // Remove any on*="…" or on*='…' or on*=… (unquoted) attributes // Matches: space + on + letters + optional whitespace = optional quotes + anything except > + optional closing quote $html = preg_replace( '#\s+on[a-z]+\s*=\s*(?:"[^"]*"|\'[^\']*\'|[^\s>]+)#is', '', $html ); } return $html; } function blocksy_output_html_safely($html) { return do_shortcode($html); // Dont use wp_filter_post_kses() as it is very unstable as far as slashes go. // Just call wp_kses() directly. // // Context: // // https://github.com/WP-API/WP-API/issues/2848 // https://github.com/WP-API/WP-API/issues/2788 // https://core.trac.wordpress.org/ticket/38609 // return wp_kses($html, 'post'); } function blocksy_get_pricing_links() { return apply_filters('blocksy:modal:pricing-links', [ 'pricing' => 'https://creativethemes.com/blocksy/pricing/', 'premium' => 'https://creativethemes.com/blocksy/premium/', 'compare-plans' => 'https://creativethemes.com/blocksy/pricing/#comparison-free-vs-pro' ]); } PK �P�\���Q Q inc/init.phpnu �[��� <?php /** * Blocksy functions and definitions * * @link https://developer.wordpress.org/themes/basics/theme-functions/ * * @package Blocksy */ add_action('after_setup_theme', function () { // Add default posts and comments RSS feed links to head. add_theme_support('automatic-feed-links'); add_theme_support('responsive-embeds'); add_theme_support('html5', ['script', 'style']); remove_theme_support('block-templates'); /* * Let WordPress manage the document title. * By adding theme support, we declare that this theme does not use a * hard-coded <title> tag in the document head, and expect WordPress to * provide it for us. */ add_theme_support('title-tag'); add_theme_support('custom-logo'); add_theme_support('lifterlms-sidebars'); add_theme_support('boostify-header-footer'); add_theme_support('rank-math-breadcrumbs'); add_theme_support('fl-theme-builder-headers'); add_theme_support('fl-theme-builder-footers'); add_theme_support('fl-theme-builder-parts'); add_theme_support('editor-styles'); add_editor_style('static/bundle/editor-styles.min.css'); $gutenberg_colors = []; foreach (blocksy_manager()->colors->get_color_palette() as $key => $palette) { $gutenberg_colors[] = [ 'name' => $palette['title'], 'slug' => $palette['slug'], 'color' => 'var(--' . $palette['variable'] . ', ' . $palette['color'] . ')' ]; } add_theme_support( 'editor-color-palette', apply_filters('blocksy:editor-color-palette', $gutenberg_colors) ); add_theme_support( 'editor-gradient-presets', apply_filters('blocksy:editor-gradient-presets', [ [ 'name' => 'Vivid cyan blue to vivid purple', 'gradient' => 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)', 'slug' => 'vivid-cyan-blue-to-vivid-purple', ], [ 'name' => 'Light green cyan to vivid green cyan', 'gradient' => 'linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%)', 'slug' => 'light-green-cyan-to-vivid-green-cyan', ], [ 'name' => 'Luminous vivid amber to luminous vivid orange', 'gradient' => 'linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%)', 'slug' => 'luminous-vivid-amber-to-luminous-vivid-orange', ], [ 'name' => 'Luminous vivid orange to vivid red', 'gradient' => 'linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%)', 'slug' => 'luminous-vivid-orange-to-vivid-red', ], [ 'name' => 'Cool to warm spectrum', 'gradient' => 'linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%)', 'slug' => 'cool-to-warm-spectrum', ], [ 'name' => 'Blush light purple', 'gradient' => 'linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%)', 'slug' => 'blush-light-purple', ], [ 'name' => 'Blush bordeaux', 'gradient' => 'linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%)', 'slug' => 'blush-bordeaux', ], [ 'name' => 'Luminous dusk', 'gradient' => 'linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%)', 'slug' => 'luminous-dusk', ], [ 'name' => 'Pale ocean', 'gradient' => 'linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%)', 'slug' => 'pale-ocean', ], [ 'name' => 'Electric grass', 'gradient' => 'linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%)', 'slug' => 'electric-grass', ], [ 'name' => 'Midnight', 'gradient' => 'linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%)', 'slug' => 'midnight', ], [ 'name' => 'Juicy Peach', 'gradient' => 'linear-gradient(to right, #ffecd2 0%, #fcb69f 100%)', 'slug' => 'juicy-peach', ], [ 'name' => 'Young Passion', 'gradient' => 'linear-gradient(to right, #ff8177 0%, #ff867a 0%, #ff8c7f 21%, #f99185 52%, #cf556c 78%, #b12a5b 100%)', 'slug' => 'young-passion', ], [ 'name' => 'True Sunset', 'gradient' => 'linear-gradient(to right, #fa709a 0%, #fee140 100%)', 'slug' => 'true-sunset', ], [ 'name' => 'Morpheus Den', 'gradient' => 'linear-gradient(to top, #30cfd0 0%, #330867 100%)', 'slug' => 'morpheus-den', ], [ 'name' => 'Plum Plate', 'gradient' => 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)', 'slug' => 'plum-plate', ], [ 'name' => 'Aqua Splash', 'gradient' => 'linear-gradient(15deg, #13547a 0%, #80d0c7 100%)', 'slug' => 'aqua-splash', ], [ 'name' => 'Love Kiss', 'gradient' => 'linear-gradient(to top, #ff0844 0%, #ffb199 100%)', 'slug' => 'love-kiss', ], [ 'name' => 'New Retrowave', 'gradient' => 'linear-gradient(to top, #3b41c5 0%, #a981bb 49%, #ffc8a9 100%)', 'slug' => 'new-retrowave', ], [ 'name' => 'Plum Bath', 'gradient' => 'linear-gradient(to top, #cc208e 0%, #6713d2 100%)', 'slug' => 'plum-bath', ], [ 'name' => 'High Flight', 'gradient' => 'linear-gradient(to right, #0acffe 0%, #495aff 100%)', 'slug' => 'high-flight', ], [ 'name' => 'Teen Party', 'gradient' => 'linear-gradient(-225deg, #FF057C 0%, #8D0B93 50%, #321575 100%)', 'slug' => 'teen-party', ], [ 'name' => 'Fabled Sunset', 'gradient' => 'linear-gradient(-225deg, #231557 0%, #44107A 29%, #FF1361 67%, #FFF800 100%)', 'slug' => 'fabled-sunset', ], [ 'name' => 'Arielle Smile', 'gradient' => 'radial-gradient(circle 248px at center, #16d9e3 0%, #30c7ec 47%, #46aef7 100%)', 'slug' => 'arielle-smile', ], [ 'name' => 'Itmeo Branding', 'gradient' => 'linear-gradient(180deg, #2af598 0%, #009efd 100%)', 'slug' => 'itmeo-branding', ], [ 'name' => 'Deep Blue', 'gradient' => 'linear-gradient(to right, #6a11cb 0%, #2575fc 100%)', 'slug' => 'deep-blue', ], [ 'name' => 'Strong Bliss', 'gradient' => 'linear-gradient(to right, #f78ca0 0%, #f9748f 19%, #fd868c 60%, #fe9a8b 100%)', 'slug' => 'strong-bliss', ], [ 'name' => 'Sweet Period', 'gradient' => 'linear-gradient(to top, #3f51b1 0%, #5a55ae 13%, #7b5fac 25%, #8f6aae 38%, #a86aa4 50%, #cc6b8e 62%, #f18271 75%, #f3a469 87%, #f7c978 100%)', 'slug' => 'sweet-period', ], [ 'name' => 'Purple Division', 'gradient' => 'linear-gradient(to top, #7028e4 0%, #e5b2ca 100%)', 'slug' => 'purple-division', ], [ 'name' => 'Cold Evening', 'gradient' => 'linear-gradient(to top, #0c3483 0%, #a2b6df 100%, #6b8cce 100%, #a2b6df 100%)', 'slug' => 'cold-evening', ], [ 'name' => 'Mountain Rock', 'gradient' => 'linear-gradient(to right, #868f96 0%, #596164 100%)', 'slug' => 'mountain-rock', ], [ 'name' => 'Desert Hump', 'gradient' => 'linear-gradient(to top, #c79081 0%, #dfa579 100%)', 'slug' => 'desert-hump', ], [ 'name' => 'Eternal Constance', 'gradient' => 'linear-gradient(to top, #09203f 0%, #537895 100%)', 'slug' => 'ethernal-constance', ], [ 'name' => 'Happy Memories', 'gradient' => 'linear-gradient(-60deg, #ff5858 0%, #f09819 100%)', 'slug' => 'happy-memories', ], [ 'name' => 'Grown Early', 'gradient' => 'linear-gradient(to top, #0ba360 0%, #3cba92 100%)', 'slug' => 'grown-early', ], [ 'name' => 'Morning Salad', 'gradient' => 'linear-gradient(-225deg, #B7F8DB 0%, #50A7C2 100%)', 'slug' => 'morning-salad', ], [ 'name' => 'Night Call', 'gradient' => 'linear-gradient(-225deg, #AC32E4 0%, #7918F2 48%, #4801FF 100%)', 'slug' => 'night-call', ], [ 'name' => 'Mind Crawl', 'gradient' => 'linear-gradient(-225deg, #473B7B 0%, #3584A7 51%, #30D2BE 100%)', 'slug' => 'mind-crawl', ], [ 'name' => 'Angel Care', 'gradient' => 'linear-gradient(-225deg, #FFE29F 0%, #FFA99F 48%, #FF719A 100%)', 'slug' => 'angel-care', ], [ 'name' => 'Juicy Cake', 'gradient' => 'linear-gradient(to top, #e14fad 0%, #f9d423 100%)', 'slug' => 'juicy-cake', ], [ 'name' => 'Rich Metal', 'gradient' => 'linear-gradient(to right, #d7d2cc 0%, #304352 100%)', 'slug' => 'rich-metal', ], [ 'name' => 'Mole Hall', 'gradient' => 'linear-gradient(-20deg, #616161 0%, #9bc5c3 100%)', 'slug' => 'mole-hall', ], [ 'name' => 'Cloudy Knoxville', 'gradient' => 'linear-gradient(120deg, #fdfbfb 0%, #ebedee 100%)', 'slug' => 'cloudy-knoxville', ], [ 'name' => 'Very light gray to cyan bluish gray', 'gradient' => 'linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%)', 'slug' => 'very-light-gray-to-cyan-bluish-gray', ], [ 'name' => 'Soft Grass', 'gradient' => 'linear-gradient(to top, #c1dfc4 0%, #deecdd 100%)', 'slug' => 'soft-grass', ], [ 'name' => 'Saint Petersburg', 'gradient' => 'linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%)', 'slug' => 'saint-petersburg', ], [ 'name' => 'Everlasting Sky', 'gradient' => 'linear-gradient(135deg, #fdfcfb 0%, #e2d1c3 100%)', 'slug' => 'everlasting-sky', ], [ 'name' => 'Kind Steel', 'gradient' => 'linear-gradient(-20deg, #e9defa 0%, #fbfcdb 100%)', 'slug' => 'kind-steel', ], [ 'name' => 'Over Sun', 'gradient' => 'linear-gradient(60deg, #abecd6 0%, #fbed96 100%)', 'slug' => 'over-sun', ], [ 'name' => 'Premium White', 'gradient' => 'linear-gradient(to top, #d5d4d0 0%, #d5d4d0 1%, #eeeeec 31%, #efeeec 75%, #e9e9e7 100%)', 'slug' => 'premium-white', ], [ 'name' => 'Clean Mirror', 'gradient' => 'linear-gradient(45deg, #93a5cf 0%, #e4efe9 100%)', 'slug' => 'clean-mirror', ], [ 'name' => 'Wild Apple', 'gradient' => 'linear-gradient(to top, #d299c2 0%, #fef9d7 100%)', 'slug' => 'wild-apple', ], [ 'name' => 'Snow Again', 'gradient' => 'linear-gradient(to top, #e6e9f0 0%, #eef1f5 100%)', 'slug' => 'snow-again', ], [ 'name' => 'Confident Cloud', 'gradient' => 'linear-gradient(to top, #dad4ec 0%, #dad4ec 1%, #f3e7e9 100%)', 'slug' => 'confident-cloud', ], [ 'name' => 'Glass Water', 'gradient' => 'linear-gradient(to top, #dfe9f3 0%, white 100%)', 'slug' => 'glass-water', ], [ 'name' => 'Perfect White', 'gradient' => 'linear-gradient(-225deg, #E3FDF5 0%, #FFE6FA 100%)', 'slug' => 'perfect-white', ], ], blocksy_manager()->colors->get_color_palette()) ); // remove_theme_support('widgets-block-editor'); /* * Enable support for Post Thumbnails on posts and pages. * * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/ */ add_theme_support('post-thumbnails'); add_post_type_support('page', 'excerpt'); $all_menus = []; $all_menus['footer'] = esc_html__('Footer Menu', 'blocksy'); $all_menus['menu_1'] = esc_html__('Header Menu 1', 'blocksy'); $all_menus['menu_2'] = esc_html__('Header Menu 2', 'blocksy'); $all_menus['menu_mobile'] = esc_html__('Mobile Menu', 'blocksy'); $all_menus = apply_filters('blocksy:register_nav_menus:input', $all_menus); // This theme uses wp_nav_menu in one location. if (! empty($all_menus)) { register_nav_menus($all_menus); } /* * Switch default core markup for search form, comment form, and comments * to output valid HTML5. */ add_theme_support( 'html5', [ 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', ] ); // Registers support for Gutenberg wide images add_theme_support('align-wide'); // Add theme support for selective refresh for widgets. add_theme_support('customize-selective-refresh-widgets'); add_theme_support('header-footer-elementor'); }); /** * Set the content width in pixels, based on the theme's design and stylesheet. * * Priority 0 to make it available to lower priority callbacks. * * @global int $content_width */ add_action('after_setup_theme', function () { // This variable is intended to be overruled from themes. // Open WPCS issue: {@link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/1043}. // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound $GLOBALS['content_width'] = apply_filters( 'blocksy_content_width', blocksy_get_theme_mod('maxSiteWidth', 1290) ); }, 0); /** * Register widget area. * * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar */ add_action( 'widgets_init', function () { $sidebar_title_tag = blocksy_get_theme_mod('widgets_title_wrapper', 'h3'); register_sidebar( [ 'name' => esc_html__( 'Main Sidebar', 'blocksy' ), 'id' => 'sidebar-1', 'description' => esc_html__( 'Add widgets here.', 'blocksy' ), 'before_widget' => '<div class="ct-widget is-layout-flow %2$s" id="%1$s">', 'after_widget' => '</div>', 'before_title' => '<' . $sidebar_title_tag . ' class="widget-title">', 'after_title' => '</' . $sidebar_title_tag . '>', ] ); do_action('blocksy:widgets_init', $sidebar_title_tag); $number_of_sidebars = 6; for ($i = 1; $i <= $number_of_sidebars; $i++) { register_sidebar( [ 'id' => 'ct-footer-sidebar-' . $i, 'name' => esc_html__('Footer Widget Area ', 'blocksy') . $i, 'before_widget' => '<div class="ct-widget is-layout-flow %2$s" id="%1$s">', 'after_widget' => '</div>', 'before_title' => '<' . $sidebar_title_tag . ' class="widget-title">', 'after_title' => '</' . $sidebar_title_tag . '>', ] ); } } ); require get_template_directory() . '/inc/manager.php'; require get_template_directory() . '/inc/helpers.php'; require get_template_directory() . '/inc/helpers/options.php'; require get_template_directory() . '/inc/helpers/layout.php'; require get_template_directory() . '/inc/helpers/html.php'; require get_template_directory() . '/inc/helpers/db.php'; require get_template_directory() . '/inc/helpers/dynamic-css.php'; require get_template_directory() . '/inc/helpers/get-terms.php'; require get_template_directory() . '/inc/helpers/cpt.php'; require get_template_directory() . '/inc/helpers/search.php'; require get_template_directory() . '/inc/classes/print.php'; require get_template_directory() . '/inc/classes/archive-title-renderer.php'; require get_template_directory() . '/inc/classes/colors.php'; require get_template_directory() . '/inc/classes/blocksy-walker-page.php'; require get_template_directory() . '/inc/classes/translations-manager.php'; require get_template_directory() . '/inc/classes/screen-manager.php'; require get_template_directory() . '/inc/classes/blocksy-blocks-parser.php'; require get_template_directory() . '/inc/components/global-attrs.php'; require get_template_directory() . '/inc/components/vertical-spacing.php'; require get_template_directory() . '/inc/components/customizer-builder.php'; require get_template_directory() . '/inc/components/skip-to-content-link.php'; require get_template_directory() . '/inc/components/emoji-scripts.php'; require get_template_directory() . '/inc/schema-org.php'; require get_template_directory() . '/inc/classes/class-ct-attributes-parser.php'; require get_template_directory() . '/inc/css/fundamentals.php'; require get_template_directory() . '/inc/css/static-files.php'; require get_template_directory() . '/inc/css/colors.php'; require get_template_directory() . '/inc/css/selectors.php'; require get_template_directory() . '/inc/css/helpers.php'; require get_template_directory() . '/inc/css/spacing.php'; require get_template_directory() . '/inc/css/box-shadow-option.php'; require get_template_directory() . '/inc/css/typography.php'; require get_template_directory() . '/inc/css/backgrounds.php'; require get_template_directory() . '/inc/sidebar.php'; require get_template_directory() . '/inc/components/single/single-helpers.php'; require get_template_directory() . '/inc/components/single/content-helpers.php'; require get_template_directory() . '/inc/components/single/excerpt.php'; require get_template_directory() . '/inc/components/single/page-elements.php'; require get_template_directory() . '/inc/components/single/comments.php'; require get_template_directory() . '/inc/components/single/related-posts.php'; require get_template_directory() . '/inc/components/menus.php'; require get_template_directory() . '/inc/components/post-meta.php'; require get_template_directory() . '/inc/components/pagination.php'; require get_template_directory() . '/inc/components/back-to-top.php'; require get_template_directory() . '/inc/components/hero-section.php'; require get_template_directory() . '/inc/components/social-box.php'; require get_template_directory() . '/inc/components/contacts-box.php'; require get_template_directory() . '/inc/css/visibility.php'; require get_template_directory() . '/inc/meta-boxes.php'; require get_template_directory() . '/inc/components/posts-listing.php'; require get_template_directory() . '/inc/components/media/utils.php'; require get_template_directory() . '/inc/components/media/simple.php'; require get_template_directory() . '/inc/components/media/video.php'; require get_template_directory() . '/inc/components/media/full.php'; require get_template_directory() . '/inc/components/gallery.php'; require get_template_directory() . '/inc/integrations/dfi.php'; require get_template_directory() . '/inc/integrations/tribe-events.php'; require get_template_directory() . '/inc/integrations/yith.php'; require get_template_directory() . '/inc/integrations/avatars.php'; require get_template_directory() . '/inc/integrations/cdn.php'; require get_template_directory() . '/inc/integrations/stackable.php'; require get_template_directory() . '/inc/integrations/greenshift.php'; require get_template_directory() . '/inc/integrations/simply-static.php'; require get_template_directory() . '/inc/integrations/elementor.php'; require get_template_directory() . '/inc/integrations/zion.php'; require get_template_directory() . '/inc/integrations/generateblocks.php'; require get_template_directory() . '/inc/integrations/qubely.php'; require get_template_directory() . '/inc/integrations/tutorlms.php'; require get_template_directory() . '/inc/integrations/beaver-themer.php'; require get_template_directory() . '/inc/integrations/theme-builders.php'; require get_template_directory() . '/inc/integrations/cartflows.php'; require get_template_directory() . '/inc/integrations/bbpress.php'; require get_template_directory() . '/inc/integrations/fluent-forms.php'; require get_template_directory() . '/inc/integrations/coauthors.php'; require get_template_directory() . '/inc/integrations/disqus.php'; require get_template_directory() . '/inc/integrations/secupress.php'; require get_template_directory() . '/inc/integrations/wpc-variations-table.php'; if (function_exists('get_rocket_cdn_url')) { require get_template_directory() . '/inc/integrations/wprocket.php'; } require get_template_directory() . '/inc/components/archive/helpers.php'; require get_template_directory() . '/inc/components/archive/archive-card.php'; /** * Custom template tags for this theme. */ require get_template_directory() . '/inc/template-actions.php'; require get_template_directory() . '/inc/template-tags.php'; require get_template_directory() . '/inc/footer.php'; require get_template_directory() . '/admin/helpers/all.php'; /** * Customizer additions. */ do_action('blocksy:customizer:load:before'); global $wp_customize; if (isset($wp_customize)) { require get_template_directory() . '/inc/customizer/init.php'; } if (is_admin()) { require get_template_directory() . '/admin/init.php'; } if (!is_admin()) { add_filter('script_loader_tag', function ($tag, $handle) { $scripts = apply_filters('blocksy-async-scripts-handles', [ ]); if (in_array($handle, $scripts)) { return str_replace('<script ', '<script async ', $tag); } return $tag; // if the unique handle/name of the registered script has 'async' in it if (strpos($handle, 'async') !== false) { // return the tag with the async attribute return str_replace( '<script ', '<script async ', $tag ); } else if ( // if the unique handle/name of the registered script has 'defer' in it strpos($handle, 'defer') !== false ) { // return the tag with the defer attribute return str_replace( '<script ', '<script defer ', $tag ); } else { return $tag; } }, 10, 2); } Blocksy_Manager::instance(); // Just temporary stub class Blocksy_Fonts_Manager { public function get_googgle_fonts() { return []; } } PK �P�\���� �� inc/components/social-box.phpnu �[��� <?php if (! function_exists('blocksy_social_icons')) { function blocksy_social_icons($socials_descriptor = null, $args = []) { $args = wp_parse_args( $args, [ 'icons-color' => 'custom', 'type' => 'simple', 'size' => 'custom', 'fill' => false, 'label_attr' => [], 'label_visibility' => [ 'desktop' => false, 'tablet' => false, 'mobile' => false, ], 'links_target' => false, 'links_rel' => false, 'enable_shortcut' => false ] ); $attr = [ 'data-color' => $args['icons-color'] ]; if (! empty($args['size'])) { $attr['data-icon-size'] = $args['size']; } // if ($args['type'] !== 'simple') { $attr['data-icons-type'] = $args['type']; // } if ($args['fill']) { if ($args['type'] !== 'simple') { $attr['data-icons-type'] .= ':' . $args['fill']; } } return blocksy_get_social_box([ 'attr' => $attr, 'socials' => $socials_descriptor, 'label_attr' => $args['label_attr'], 'label_visibility' => $args['label_visibility'], 'links_target' => $args['links_target'], 'links_rel' => $args['links_rel'], 'enable_shortcut' => $args['enable_shortcut'] ]); } } /** * Get social share box. */ if (! function_exists('blocksy_get_social_share_box')) { function blocksy_get_social_share_box($args = []) { $args = wp_parse_args( $args, [ 'root_class' => '', 'html_atts' => [], 'links_wrapper_attr' => [], 'type' => 'type-1', 'custom_share_url' => '', 'strategy' => [ 'strategy' => 'customizer', 'prefix' => blocksy_manager()->screen->get_prefix() ], 'enable_shortcut' => false ] ); if (! isset($args['html_atts']['data-type'])) { $args['html_atts']['data-type'] = $args['type']; } $before_content = ''; $after_content = ''; $module_title = blocksy_akg_or_customizer( 'share_box_title', $args['strategy'], __('Share your love', 'blocksy') ); $module_title_tag = blocksy_akg_or_customizer( 'share_box_title_tag', $args['strategy'], 'span' ); if (!empty($module_title) || is_customize_preview()) { $before_content = blocksy_html_tag( $module_title_tag, [ 'class' => 'ct-module-title' ], $module_title ); } if ($args['type'] === 'type-1') { $args['links_wrapper_attr']['data-icons-type'] = 'simple'; } if ($args['type'] === 'type-2') { $args['links_wrapper_attr']['data-icons-type'] = 'custom:solid'; } return blocksy_get_social_box([ 'type' => 'share', 'root_class' => trim('ct-share-box' . ' ' . $args['root_class']), 'class' => blocksy_visibility_classes( blocksy_akg_or_customizer( 'share_box_visibility', $args['strategy'], [ 'desktop' => true, 'tablet' => true, 'mobile' => false, ] ) ), // 'has_count' => $args['type'] === 'type-2', 'attr' => $args['html_atts'], // 'links_wrapper' => $args['type'] === 'type-1' ? 'div' : null, 'links_wrapper' => 'div', 'links_wrapper_attr' => $args['links_wrapper_attr'], 'before_links_content' => $before_content, 'after_links_content' => $after_content, 'custom_share_url' => $args['custom_share_url'], 'links_rel' => blocksy_akg_or_customizer( 'share_links_nofollow', $args['strategy'], 'yes' ) === 'yes' ? 'noopener noreferrer nofollow' : 'noopener', 'strategy' => $args['strategy'], 'enable_shortcut' => $args['enable_shortcut'], 'has_tooltip' => blocksy_akg_or_customizer( 'share_item_tooltip', $args['strategy'], 'no' ) === 'yes' ]); } } if (! function_exists('blocksy_get_dynamic_social_networks')) { function blocksy_get_dynamic_social_networks() { $networks = apply_filters( 'blocksy:social-box:dynamic-social-networks', [] ); foreach ($networks as $network) { blocksy_assert_args($network, ['id', 'name', 'icon']); } return $networks; } } if (! function_exists('blocksy_get_social_metadata')) { function blocksy_get_social_metadata($args = []) { $args = wp_parse_args( $args, [ // url | share 'type' => 'url', 'custom_url' => '', 'social' => null, ] ); $metadata = [ 'facebook' => [ 'name' => 'Facebook', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M20,10.1c0-5.5-4.5-10-10-10S0,4.5,0,10.1c0,5,3.7,9.1,8.4,9.9v-7H5.9v-2.9h2.5V7.9C8.4,5.4,9.9,4,12.2,4c1.1,0,2.2,0.2,2.2,0.2v2.5h-1.3c-1.2,0-1.6,0.8-1.6,1.6v1.9h2.8L13.9,13h-2.3v7C16.3,19.2,20,15.1,20,10.1z"/> </svg> ' ], 'twitter' => [ 'name' => 'X (Twitter)', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M2.9 0C1.3 0 0 1.3 0 2.9v14.3C0 18.7 1.3 20 2.9 20h14.3c1.6 0 2.9-1.3 2.9-2.9V2.9C20 1.3 18.7 0 17.1 0H2.9zm13.2 3.8L11.5 9l5.5 7.2h-4.3l-3.3-4.4-3.8 4.4H3.4l5-5.7-5.3-6.7h4.4l3 4 3.5-4h2.1zM14.4 15 6.8 5H5.6l7.7 10h1.1z"/> </svg> ' ], 'bluesky' => [ 'name' => 'Bluesky', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M4.3 2.4C6.6 4.1 9.1 7.6 10 9.5v5c0-.1 0 0-.1.3-.5 1.4-2.3 6.8-6.5 2.5C1.2 15 2.2 12.7 6.3 12c-2.3.4-4.9-.3-5.6-2.8C.5 8.5.1 3.9.1 3.3 0 .1 2.7 1.1 4.3 2.4Zm11.4 0c-2.3 1.7-4.8 5.2-5.7 7.1v5c0-.1 0 0 .1.3.5 1.4 2.3 6.8 6.5 2.5 2.2-2.3 1.2-4.6-2.9-5.3 2.3.4 4.9-.3 5.6-2.8.2-.7.6-5.3.6-5.9 0-3.1-2.7-2.1-4.3-.9Z"/> </svg> ' ], 'instagram' => [ 'name' => 'Instagram', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <circle cx="10" cy="10" r="3.3"/> <path d="M14.2,0H5.8C2.6,0,0,2.6,0,5.8v8.3C0,17.4,2.6,20,5.8,20h8.3c3.2,0,5.8-2.6,5.8-5.8V5.8C20,2.6,17.4,0,14.2,0zM10,15c-2.8,0-5-2.2-5-5s2.2-5,5-5s5,2.2,5,5S12.8,15,10,15z M15.8,5C15.4,5,15,4.6,15,4.2s0.4-0.8,0.8-0.8s0.8,0.4,0.8,0.8S16.3,5,15.8,5z"/> </svg> ' ], 'threads' => [ 'name' => 'Threads', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M10.7 10.2c.5 0 1 .1 1.5.2-.1 1.1-.5 2.2-1.9 2.3-.6 0-1.1-.1-1.5-.5-.2-.2-.3-.4-.3-.9 0-.3.2-.6.5-.8.5-.2 1-.3 1.7-.3zM20 10c0 4.8 0 7.3-1.4 8.6C17.3 20 14.8 20 10 20s-7.3 0-8.6-1.4C0 17.3 0 14.8 0 10c0-4.9 0-7.3 1.4-8.6C2.7 0 5.1 0 10 0c4.9 0 7.3 0 8.6 1.4C20 2.7 20 5.2 20 10zM6.4 5.2c.9-.9 2.1-1.4 3.8-1.4 3.7 0 4.8 2.6 5 3.7l1.3-.3c-.3-1.1-1.6-4.7-6.3-4.7-2 0-3.5.6-4.7 1.8-1.3 1.4-2 3.5-1.9 6.2.1 4.4 2.6 7 6.5 7 3.3 0 5.7-1.9 5.7-4.5 0-1.7-.8-2.9-2.4-3.6-.2-2.4-1.6-3.3-3-3.4-2.2-.1-3 1.4-3.1 1.5l1.1.6s.5-.9 1.9-.8c.6 0 1.5.3 1.7 1.7-1.4-.3-2.8-.1-3.7.4-.6.4-1 1-1.1 1.7-.1.7.1 1.4.6 1.9.6.6 1.5 1 2.5.9 1.7-.1 2.7-1.3 3-3.1.8.5 1.1 1.1 1.1 2.2 0 1.8-1.9 3.2-4.4 3.2-4.6 0-5.2-4-5.2-5.7 0-1.7.2-3.9 1.6-5.3z"/> </svg> ' ], 'pinterest' => [ 'name' => 'Pinterest', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M10,0C4.5,0,0,4.5,0,10c0,4.1,2.5,7.6,6,9.2c0-0.7,0-1.5,0.2-2.3c0.2-0.8,1.3-5.4,1.3-5.4s-0.3-0.6-0.3-1.6c0-1.5,0.9-2.6,1.9-2.6c0.9,0,1.3,0.7,1.3,1.5c0,0.9-0.6,2.3-0.9,3.5c-0.3,1.1,0.5,1.9,1.6,1.9c1.9,0,3.2-2.4,3.2-5.3c0-2.2-1.5-3.8-4.2-3.8c-3,0-4.9,2.3-4.9,4.8c0,0.9,0.3,1.5,0.7,2C6,12,6.1,12.1,6,12.4c0,0.2-0.2,0.6-0.2,0.8c-0.1,0.3-0.3,0.3-0.5,0.3c-1.4-0.6-2-2.1-2-3.8c0-2.8,2.4-6.2,7.1-6.2c3.8,0,6.3,2.8,6.3,5.7c0,3.9-2.2,6.9-5.4,6.9c-1.1,0-2.1-0.6-2.4-1.2c0,0-0.6,2.3-0.7,2.7c-0.2,0.8-0.6,1.5-1,2.1C8.1,19.9,9,20,10,20c5.5,0,10-4.5,10-10C20,4.5,15.5,0,10,0z"/> </svg> ' ], 'dribbble' => [ 'name' => 'Dribbble', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M10,0C4.5,0,0,4.5,0,10c0,5.5,4.5,10,10,10c5.5,0,10-4.5,10-10C20,4.5,15.5,0,10,0 M16.1,5.2c1,1.2,1.6,2.8,1.7,4.4c-1.1-0.2-2.2-0.4-3.2-0.4v0h0c-0.8,0-1.6,0.1-2.3,0.2c-0.2-0.4-0.3-0.8-0.5-1.2C13.4,7.6,14.9,6.6,16.1,5.2 M10,2.2c1.8,0,3.5,0.6,4.9,1.7c-1,1.2-2.4,2.1-3.8,2.7c-1-2-2-3.4-2.7-4.3C8.9,2.3,9.4,2.2,10,2.2 M6.6,3c0.5,0.6,1.6,2,2.8,4.2C7,8,4.6,8.1,3.2,8.1c0,0-0.1,0-0.1,0h0c-0.2,0-0.4,0-0.6,0C3,5.9,4.5,4,6.6,3 M2.2,10c0,0,0-0.1,0-0.1c0.2,0,0.5,0,0.9,0h0c1.6,0,4.3-0.1,7.1-1c0.2,0.3,0.3,0.7,0.4,1c-1.9,0.6-3.3,1.6-4.4,2.6c-1,0.9-1.7,1.9-2.2,2.5C2.9,13.7,2.2,11.9,2.2,10 M10,17.8c-1.7,0-3.3-0.6-4.6-1.5c0.3-0.5,0.9-1.3,1.8-2.2c1-0.9,2.3-1.9,4.1-2.5c0.6,1.7,1.1,3.6,1.5,5.7C11.9,17.6,11,17.8,10,17.8M14.4,16.4c-0.4-1.9-0.9-3.7-1.4-5.2c0.5-0.1,1-0.1,1.6-0.1h0h0h0c0.9,0,2,0.1,3.1,0.4C17.3,13.5,16.1,15.3,14.4,16.4"/> </svg> ' ], 'deviantart' => [ 'name' => 'Deviantart', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M16.2,0h-4.1l-1.8,3.5H3.8v5h3.9L3.8,16v4h4l1.8-3.5h6.7v-5h-4l4-7.5V0z"/> </svg> ' ], 'behance' => [ 'name' => 'Behance', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M15.2,10.3h-2.7c0,0,0.2-1.3,1.5-1.3C15.2,9,15.2,10.3,15.2,10.3z M7.7,10.3H5.3v2.2h2.2c0,0,0.1,0,0.2,0c0.3,0,1-0.1,1-1.1C8.6,10.3,7.7,10.3,7.7,10.3zM20,10c0,5.5-4.5,10-10,10C4.5,20,0,15.5,0,10S4.5,0,10,0C15.5,0,20,4.5,20,10zM12.1,7.2h3.4v-1h-3.4V7.2z M8.8,9.5c0,0,1.3-0.1,1.3-1.6S9,5.7,7.7,5.7H5.3H5.2H3.4V14h1.8h0.1h2.4c0,0,2.6,0.1,2.6-2.5C10.4,11.5,10.5,9.5,8.8,9.5zM13.9,7.8c-3.2,0-3.2,3.2-3.2,3.2s-0.2,3.2,3.2,3.2c0,0,2.9,0.2,2.9-2.2h-1.5c0,0,0,0.9-1.3,0.9c0,0-1.5,0.1-1.5-1.5h4.3C16.8,11.4,17.3,7.8,13.9,7.8z M8.3,8c0-0.9-0.6-0.9-0.6-0.9H7.4H5.3V9h2.3C8,9,8.3,8.9,8.3,8z"/> </svg> ' ], 'unsplash' => [ 'name' => 'Unsplash', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M6.2 5.6V0h7.5v5.6H6.2zm7.6 3.2H20V20H0V8.8h6.2v5.6h7.5V8.8z"/> </svg> ' ], 'five-hundred-px' => [ 'name' => '500px', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M17.7 17.3c-.9.9-1.9 1.6-3 2-1.1.5-2.3.7-3.5.7-1.2 0-2.4-.2-3.5-.7-1.1-.5-2.1-1.1-2.9-2-.8-.8-1.5-1.8-2-2.9-.3-.8-.5-1.5-.6-2.1 0-.2.1-.3.5-.4.4-.1.6 0 .6.2.1.7.3 1.3.5 1.8.4.9.9 1.8 1.7 2.5.7.7 1.6 1.3 2.5 1.7 1 .4 2 .6 3.1.6s2.1-.2 3.1-.6c1-.4 1.8-1 2.5-1.7l.1-.1c.1-.1.2-.1.3-.1.1 0 .2.1.4.2.3.5.3.7.2.9zm-5.3-6.9l-.7.7.7.7c.2.2.1.3-.1.5-.1.1-.2.2-.4.2-.1 0-.1 0-.2-.1l-.7-.7-.7.7s-.1.1-.2.1-.2-.1-.3-.2c-.1-.1-.2-.2-.2-.3 0-.1 0-.1.1-.2l.7-.7-.7-.7c-.1-.1-.1-.3.2-.5.1-.1.2-.2.3-.2 0 0 .1 0 .1.1l.7.7.7-.7c.1-.1.3-.1.5.1.3.2.4.4.2.5zm5.3.6c0 .9-.2 1.7-.5 2.5s-.8 1.5-1.4 2.1c-.6.6-1.3 1.1-2.1 1.4-.8.3-1.6.5-2.5.5-.9 0-1.7-.2-2.5-.5s-1.5-.8-2.1-1.4c-.6-.6-1.1-1.3-1.4-2.1l-.2-.4c-.1-.2.1-.4.5-.5.4-.1.6-.1.7.1.3.7.6 1.4 1.1 1.9v-3.8c0-1 .4-1.9 1.1-2.6.8-.8 1.7-1.1 2.8-1.1 1.1 0 2 .4 2.8 1.1.8.8 1.2 1.7 1.2 2.8 0 1.1-.4 2-1.2 2.8-.8.8-1.7 1.2-2.8 1.2-.4 0-.8-.1-1.2-.2-.2-.1-.3-.3-.1-.7.1-.4.3-.5.5-.5h.2c.1 0 .2 0 .4.1s.3 0 .3 0c.8 0 1.4-.3 2-.8.5-.5.8-1.2.8-1.9 0-.8-.3-1.4-.8-1.9s-1.2-.8-2-.8-1.5.3-2 .9c-.7.6-.9 1.2-.9 1.8v4.6c.8.5 1.7.7 2.7.7.7 0 1.4-.1 2.1-.4.7-.3 1.2-.7 1.7-1.2s.9-1.1 1.2-1.7c.3-.7.4-1.3.4-2 0-1.5-.5-2.7-1.6-3.8-1-1-2.3-1.6-3.8-1.6s-2.8.5-3.8 1.6c-.4.4-.7.8-.8 1l-.2.2s-.1.1-.2.1h-.4c-.2 0-.3-.1-.4-.2S5 8.1 5 8V.4c0-.1 0-.2.1-.3s.2-.1.4-.1h9.8c.2 0 .3.2.3.6s-.1.6-.3.6H6.2v5.4c.3-.3.7-.6 1.2-.9.4-.3.8-.6 1.2-.7.8-.3 1.7-.5 2.6-.5.9 0 1.7.2 2.5.5s1.5.8 2.1 1.4c.6.6 1.1 1.3 1.4 2.1.3.8.5 1.7.5 2.5zm-.4-6.4c.1.1.1.1.1.2s0 .1-.1.2l-.2.2c-.2.2-.3.3-.4.3-.1 0-.1 0-.2-.1-.8-.7-1.6-1.2-2.3-1.5-1-.4-2-.6-3.1-.6-1 0-2 .2-2.9.5-.1.1-.3 0-.4-.4-.1-.2-.1-.3-.1-.4 0-.1.1-.2.2-.2 1-.4 2.1-.6 3.3-.6 1.2 0 2.4.2 3.5.7 1 .4 1.9 1 2.6 1.7z"/> </svg> ' ], 'linkedin' => [ 'name' => 'LinkedIn', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M18.6,0H1.4C0.6,0,0,0.6,0,1.4v17.1C0,19.4,0.6,20,1.4,20h17.1c0.8,0,1.4-0.6,1.4-1.4V1.4C20,0.6,19.4,0,18.6,0z M6,17.1h-3V7.6h3L6,17.1L6,17.1zM4.6,6.3c-1,0-1.7-0.8-1.7-1.7s0.8-1.7,1.7-1.7c0.9,0,1.7,0.8,1.7,1.7C6.3,5.5,5.5,6.3,4.6,6.3z M17.2,17.1h-3v-4.6c0-1.1,0-2.5-1.5-2.5c-1.5,0-1.8,1.2-1.8,2.5v4.7h-3V7.6h2.8v1.3h0c0.4-0.8,1.4-1.5,2.8-1.5c3,0,3.6,2,3.6,4.5V17.1z"/> </svg> ' ], 'wordpress' => [ 'name' => 'WordPress', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M1.9 4.1C3.7 1.6 6.7 0 10 0c2.4 0 4.6.9 6.3 2.3-.7.2-1.2 1-1.2 1.7 0 .9.5 1.6 1 2.4.5.7.9 1.6.9 2.9 0 .9-.3 2-.8 3.4l-1 3.5-3.8-11.3c.6 0 1.2-.1 1.2-.1.6 0 .5-.8 0-.8 0 0-1.7.1-2.8.1-1 0-2.7-.1-2.7-.1-.6 0-.7.8-.1.8 0 0 .5.1 1.1.1l1.6 4.4-2.3 6.8L3.7 4.9c.6 0 1.2-.1 1.2-.1.5 0 .4-.8-.1-.8 0 0-1.7.1-2.9.1.1 0 .1 0 0 0zM.8 6.2C.3 7.4 0 8.6 0 10c0 3.9 2.2 7.2 5.4 8.9L.8 6.2zm9.4 4.5l-3 8.9c.9.3 1.8.4 2.8.4 1.2 0 2.3-.2 3.4-.6l-3.2-8.7zm9-4.6c0 1-.2 2.2-.8 3.6l-3 8.8c2.8-1.8 4.6-4.9 4.6-8.4 0-1.5-.3-2.8-.8-4z"/> </svg> ' ], 'parler' => [ 'name' => 'Parler', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M11.7,16.7h-5V15c0-0.9,0.7-1.6,1.6-1.6h3.4c2.8,0,5-2.2,5-5s-2.2-5-5-5h0l-1.1,0H0C0,1.5,1.5,0,3.3,0h7.3l1.1,0C16.3,0,20,3.8,20,8.4S16.3,16.7,11.7,16.7z M3.3,20C1.5,20,0,18.5,0,16.7V9.9c0-1.8,1.4-3.2,3.2-3.2h8.4c0.9,0,1.7,0.7,1.7,1.7c0,0.9-0.7,1.7-1.7,1.7H5c-0.9,0-1.6,0.7-1.6,1.6V20z"/> </svg> ' ], 'mastodon' => [ 'name' => 'Mastodon', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M19.3 6.6c0-4.3-2.8-5.6-2.8-5.6C13.7-.3 6.3-.3 3.5 1 3.5 1 .7 2.3.7 6.6c0 5.2-.3 11.6 4.7 12.9 1.8.5 3.4.6 4.6.5 2.3-.1 3.5-.8 3.5-.8l-.1-1.6s-1.6.5-3.4.5c-1.8-.1-3.7-.2-4-2.4v-.6c3.8.9 7.1.4 8 .3 2.5-.3 4.7-1.8 5-3.3.4-2.3.3-5.5.3-5.5zM16 12.2h-2.1V7.1c0-2.2-2.9-2.3-2.9.3v2.8H9V7.4c0-2.6-2.9-2.5-2.9-.3v5.1H4c0-5.4-.2-6.6.8-7.8C6 3.1 8.4 3 9.5 4.6l.5.9.5-.9c1.1-1.6 3.5-1.5 4.7-.3 1 1.3.8 2.4.8 7.9z"/> </svg> ' ], 'medium' => [ 'name' => 'Medium', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M2.4,5.3c0-0.2-0.1-0.5-0.3-0.7L0.3,2.4V2.1H6l4.5,9.8l3.9-9.8H20v0.3l-1.6,1.5c-0.1,0.1-0.2,0.3-0.2,0.4v11.2c0,0.2,0,0.3,0.2,0.4l1.6,1.5v0.3h-7.8v-0.3l1.6-1.6c0.2-0.2,0.2-0.2,0.2-0.4V6.5L9.4,17.9H8.8L3.6,6.5v7.6c0,0.3,0.1,0.6,0.3,0.9L6,17.6v0.3H0v-0.3L2.1,15c0.2-0.2,0.3-0.6,0.3-0.9V5.3z"/> </svg> ' ], 'slack' => [ 'name' => 'Slack', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M7.4,0C6.2,0,5.2,1,5.2,2.2s1,2.2,2.2,2.2h2.2V2.2C9.6,1,8.6,0,7.4,0zM12.6,0c-1.2,0-2.2,1-2.2,2.2v5.2c0,1.2,1,2.2,2.2,2.2s2.2-1,2.2-2.2V2.2C14.8,1,13.8,0,12.6,0z M2.2,5.2C1,5.2,0,6.2,0,7.4s1,2.2,2.2,2.2h5.2c1.2,0,2.2-1,2.2-2.2s-1-2.2-2.2-2.2H2.2zM17.8,5.2c-1.2,0-2.2,1-2.2,2.2v2.2h2.2c1.2,0,2.2-1,2.2-2.2S19,5.2,17.8,5.2z M2.2,10.4c-1.2,0-2.2,1-2.2,2.2s1,2.2,2.2,2.2s2.2-1,2.2-2.2v-2.2H2.2zM7.4,10.4c-1.2,0-2.2,1-2.2,2.2v5.2c0,1.2,1,2.2,2.2,2.2s2.2-1,2.2-2.2v-5.2C9.6,11.4,8.6,10.4,7.4,10.4z M12.6,10.4c-1.2,0-2.2,1-2.2,2.2s1,2.2,2.2,2.2h5.2c1.2,0,2.2-1,2.2-2.2s-1-2.2-2.2-2.2H12.6zM10.4,15.7v2.2c0,1.2,1,2.2,2.2,2.2s2.2-1,2.2-2.2c0-1.2-1-2.2-2.2-2.2H10.4z"/> </svg> ' ], 'codepen' => [ 'name' => 'CodePen', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M10,0L0,6.4v7.3L10,20l10-6.4V6.4L10,0z M10,12l-2.8-2L10,8.1l2.8,1.9L10,12z M11,6.5V2.8l6.4,4.1l-2.9,2L11,6.5z M9,6.5L5.5,8.9l-2.9-2L9,2.8V6.5z M3.9,10l-1.9,1.3V8.7L3.9,10z M5.5,11.2L9,13.6v3.5l-6.4-4.1L5.5,11.2z M11,13.6l3.5-2.5l2.8,1.9L11,17.2V13.6z M16.1,10l1.9-1.4v2.7L16.1,10z"/> </svg> ' ], 'reddit' => [ 'name' => 'Reddit', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M11.7,0.9c-0.9,0-2,0.7-2.1,3.9c0.1,0,0.3,0,0.4,0c0.2,0,0.3,0,0.5,0c0.1-1.9,0.6-3.1,1.3-3.1c0.3,0,0.5,0.2,0.8,0.5c0.4,0.4,0.9,0.9,1.8,1.1c0-0.1,0-0.2,0-0.4c0-0.2,0-0.4,0.1-0.5c-0.6-0.2-0.9-0.5-1.2-0.8C12.8,1.3,12.4,0.9,11.7,0.9z M16.9,1.3c-1,0-1.7,0.8-1.7,1.7s0.8,1.7,1.7,1.7s1.7-0.8,1.7-1.7S17.9,1.3,16.9,1.3z M10,5.7c-5.3,0-9.5,2.7-9.5,6.5s4.3,6.9,9.5,6.9s9.5-3.1,9.5-6.9S15.3,5.7,10,5.7z M2.4,6.1c-0.6,0-1.2,0.3-1.7,0.7C0,7.5-0.2,8.6,0.2,9.5C0.9,8.2,2,7.1,3.5,6.3C3.1,6.2,2.8,6.1,2.4,6.1z M17.6,6.1c-0.4,0-0.7,0.1-1.1,0.3c1.5,0.8,2.6,1.9,3.2,3.2c0.4-0.9,0.3-2-0.5-2.7C18.8,6.3,18.2,6.1,17.6,6.1z M6.5,9.6c0.7,0,1.3,0.6,1.3,1.3s-0.6,1.3-1.3,1.3s-1.3-0.6-1.3-1.3S5.8,9.6,6.5,9.6z M13.5,9.6c0.7,0,1.3,0.6,1.3,1.3s-0.6,1.3-1.3,1.3s-1.3-0.6-1.3-1.3S12.8,9.6,13.5,9.6z M6.1,14.3c0.1,0,0.2,0.1,0.3,0.2c0,0.1,1.1,1.4,3.6,1.4c2.6,0,3.6-1.4,3.6-1.4c0.1-0.2,0.4-0.2,0.6-0.1c0.2,0.1,0.2,0.4,0.1,0.6c-0.1,0.1-1.3,1.8-4.3,1.8c-3,0-4.2-1.7-4.3-1.8c-0.1-0.2-0.1-0.5,0.1-0.6C5.9,14.4,6,14.3,6.1,14.3z"/> </svg> ' ], 'twitch' => [ 'name' => 'Twitch', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M1.5,0L0,4.1v12.8h4.6V20h2.1l3.8-3.1h4.1l5.4-5.8V0H1.5zM3.1,1.5h15.4v8.8l-3.3,3.5H9.5l-3.4,2.9v-2.9H3.1V1.5z M7.7,4.6v6.2h1.5V4.6H7.7z M12.3,4.6v6.2h1.5V4.6H12.3z"/> </svg> ' ], 'tiktok' => [ 'name' => 'TikTok', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M18.2 4.5c-2.3-.2-4.1-1.9-4.4-4.2V0h-3.4v13.8c0 1.4-1.2 2.6-2.8 2.6-1.4 0-2.6-1.1-2.6-2.6s1.1-2.6 2.6-2.6h.2l.5.1V7.5h-.7c-3.4 0-6.2 2.8-6.2 6.2S4.2 20 7.7 20s6.2-2.8 6.2-6.2v-7c1.1 1.1 2.4 1.6 3.9 1.6h.8V4.6l-.4-.1z"/> </svg> ' ], 'snapchat' => [ 'name' => 'Snapchat', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M10,0.5c-6,0-6,6-6,6v1c0,0,0,0-0.1,0C3.6,7.5,2,7.6,2,8.9c0,1.5,1.7,1.6,2,1.6c0,0,0,0,0,0c0,1-1.7,2.2-2.7,2.4C0.3,13.3,0,14,0,14.5c0,0.3,0.1,0.5,0.1,0.6c0.4,0.9,1.5,1.3,2.6,1.3c0,1.4,1.1,2,1.8,2c0.8,0,1.6-0.4,1.6-0.4c0,0,1.3,1.4,3.9,1.4s3.9-1.4,3.9-1.4c0,0,0.8,0.4,1.6,0.4c0.7,0,1.7-0.6,1.8-2c1.1,0,2.2-0.5,2.6-1.3c0-0.1,0.1-0.3,0.1-0.6c0-0.5-0.3-1.2-1.3-1.6c-1.1-0.3-2.7-1.4-2.7-2.4c0,0,0,0,0,0c0.3,0,2-0.1,2-1.6c0-1.3-1.6-1.4-1.9-1.4c0,0-0.1,0-0.1,0v-1C16,6.5,16,0.5,10,0.5L10,0.5z"/> </svg> ' ], 'spotify' => [ 'name' => 'Spotify', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M10,0C4.5,0,0,4.5,0,10s4.5,10,10,10s10-4.5,10-10S15.5,0,10,0z M14.2,14.5c-0.1,0.2-0.3,0.3-0.5,0.3c-0.1,0-0.2,0-0.4-0.1c-1.1-0.7-2.9-1.2-4.4-1.2c-1.6,0-2.8,0.4-2.8,0.4c-0.3,0.1-0.7-0.1-0.8-0.4c-0.1-0.3,0.1-0.7,0.4-0.8c0.1,0,1.4-0.5,3.2-0.5c1.5,0,3.6,0.4,5.1,1.4C14.4,13.8,14.4,14.2,14.2,14.5z M15.5,11.8c-0.1,0.2-0.4,0.4-0.6,0.4c-0.1,0-0.3,0-0.4-0.1c-1.9-1.2-4-1.5-5.7-1.5c-1.9,0-3.5,0.4-3.5,0.4c-0.4,0.1-0.8-0.1-0.9-0.5c-0.1-0.4,0.1-0.8,0.5-0.9c0.1,0,1.7-0.4,3.8-0.4c1.9,0,4.4,0.3,6.6,1.7C15.6,11,15.8,11.5,15.5,11.8z M16.8,8.7c-0.2,0.3-0.5,0.4-0.8,0.4c-0.1,0-0.3,0-0.4-0.1c-2.3-1.3-5-1.6-6.9-1.6c0,0,0,0,0,0c-2.3,0-4.1,0.4-4.1,0.4c-0.5,0.1-0.9-0.2-1-0.6c-0.1-0.5,0.2-0.9,0.6-1c0.1,0,2-0.5,4.5-0.5c0,0,0,0,0,0c2.1,0,5.2,0.3,7.8,1.9C16.9,7.8,17.1,8.3,16.8,8.7z"/> </svg> ' ], 'soundcloud' => [ 'name' => 'SoundCloud', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M20 12.7c0 1.5-1.2 2.7-2.7 2.7h-6c-.4 0-.7-.3-.7-.7V5.3c0-.4.3-.7.7-.7h.7c3.3 0 6 2.7 4.7 5.3h.7c1.4.1 2.6 1.3 2.6 2.8zM.7 9.9c-.4 0-.7.3-.7.7v4.1c0 .4.3.7.7.7.4 0 .7-.3.7-.7v-4.1c-.1-.4-.4-.7-.7-.7zM6 5.3c-.4 0-.7.3-.7.7v8.7c0 .4.3.7.7.7s.7-.3.7-.7V6c0-.4-.3-.7-.7-.7zm2.7 2c-.4 0-.7.3-.7.7v6.7c0 .4.3.7.7.7.4 0 .7-.3.7-.7V8c-.1-.4-.4-.7-.7-.7zM3.3 8c-.3 0-.6.3-.6.7v6c0 .4.3.7.7.7.3-.1.6-.4.6-.7v-6c0-.4-.3-.7-.7-.7z"/> </svg> ' ], 'bandcamp' => [ 'name' => 'Bandcamp', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M10,0C4.5,0,0,4.5,0,10s4.5,10,10,10s10-4.5,10-10S15.5,0,10,0z M11.9,13.1H4.6l3.4-6.3h7.3L11.9,13.1z"/> </svg> ' ], 'apple_podcast' => [ 'name' => __( 'Apple Podcasts', 'blocksy' ), 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M10 0C5.1 0 1.1 4 1.1 8.9c0 2.9 1.4 5.5 3.6 7.1.3.2.5.4.8.5.3.2.8.1 1-.2.2-.3.1-.8-.2-1-.2-.1-.5-.3-.7-.5-1.8-1.4-3-3.6-3-6 0-4.2 3.4-7.5 7.5-7.5s7.5 3.4 7.5 7.5c0 2.5-1.2 4.7-3 6-.2.2-.5.3-.7.5-.3.2-.5.6-.3 1 .2.3.6.5 1 .3.3-.2.6-.4.8-.6 2.2-1.6 3.6-4.2 3.6-7.2C18.9 4 14.9 0 10 0zm0 2.8c-3.4 0-6.1 2.7-6.1 6.1 0 1.7.7 3.2 1.8 4.3.3.3.7.3 1 0s.3-.7 0-1c-.9-.9-1.4-2-1.4-3.3 0-2.6 2.1-4.7 4.7-4.7s4.7 2.1 4.7 4.7c0 1.3-.5 2.5-1.4 3.3-.3.3-.3.7 0 1 .3.3.7.3 1 0 1.1-1.1 1.8-2.6 1.8-4.3 0-3.3-2.7-6.1-6.1-6.1zm0 3.8C8.7 6.6 7.6 7.7 7.6 9s1.1 2.4 2.4 2.4 2.4-1.1 2.4-2.4-1.1-2.4-2.4-2.4zm0 5.6c-1.3 0-2.4 1.1-2.4 2.4v.5l.9 3.7c.2.7.8 1.2 1.5 1.2s1.3-.5 1.4-1.1l.9-3.7v-.1-.4c.1-1.4-1-2.5-2.3-2.5z"/> </svg> ' ], 'patreon' => [ 'name' => 'Patreon', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M19.13 6.008c-.003-2.553-1.992-4.646-4.325-5.401-2.898-.938-6.72-.802-9.487.503C1.964 2.693.911 6.16.872 9.617.839 12.46 1.123 19.947 5.346 20c3.138.04 3.605-4.004 5.057-5.95 1.033-1.386 2.363-1.778 4-2.183 2.814-.696 4.732-2.917 4.728-5.859Z"/> </svg> ' ], 'alignable' => [ 'name' => 'Alignable', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M19.5 6.7C18.1 2.8 14.3 0 9.9 0c-.7 0-1.4.1-2.1.3L6.6.6c.1.1.1.3.2.4.2.8.5 1.6.7 2.4.2.4.4.9.5 1.4.5 1.5 1.1 2.8 1.7 3.8.2.4.5.8.8 1.1.4.4.8.7 1.3.7.7 0 1.3-.6 1.9-1.4.5 1 1.1 2.3 1.5 3.5-.9.8-2 1.3-3.3 1.3-1 0-1.8-.3-2.6-.8-.3-.2-.7-.5-1-.8-1-.9-1.7-2.2-2.4-3.6-.3-.5-.5-1-.7-1.6C4.5 5.5 4 3.9 3.6 2.3c-.4.2-.7.6-1 .9C1 5 0 7.4 0 10c0 2.3.7 4.4 2 6.1.2.4.6.8.9 1.1.3-1.1.7-2.1 1-3.1.4-1.3.8-2.6 1.3-3.9.7 1.3 1.5 2.5 2.5 3.3-.2.6-.4 1.2-.6 1.7-.5 1.3-.9 2.7-1.4 4 .4.1.8.3 1.2.4 1 .3 2 .4 3 .4 2.7 0 5.2-1.1 7-2.8.4-.4.7-.7 1-1.1-.1-.3-.2-.7-.3-1-.3-.7-.5-1.5-.8-2.3-.2-.5-.3-.9-.5-1.4-.5-1.5-1.1-2.8-1.7-3.8-.2-.4-.5-.8-.8-1.1l-.3-.3c-.3-.3-.7-.4-1-.4-.7 0-1.3.6-1.9 1.4-.6-1-1.2-2.3-1.6-3.5.1-.1.2-.2.4-.3.9-.6 1.9-1 3-1 1 0 1.8.3 2.6.8.3.2.7.5 1 .8.9.9 1.7 2.2 2.3 3.5.3.5.5 1.1.7 1.6.3.7.6 1.4.8 2.1.2-.4.2-.8.2-1.2 0-1.1-.2-2.2-.5-3.3z"/> </svg> ' ], 'skype' => [ 'name' => 'Skype', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M5.7 0C2.6 0 0 2.5 0 5.6c0 1 .2 1.9.7 2.7-.1.6-.2 1.2-.2 1.8 0 5.2 4.3 9.4 9.6 9.4.5 0 1.1 0 1.6-.1.8.4 1.7.6 2.6.6 3.1 0 5.7-2.5 5.7-5.6 0-.8-.2-1.6-.5-2.4.1-.6.2-1.2.2-1.9 0-5.2-4.3-9.4-9.6-9.4-.5 0-1 0-1.5.1C7.7.3 6.7 0 5.7 0zM10 3.8c.8 0 1.5.1 2.1.3.6.2 1.1.4 1.5.7.4.3.7.6.9 1 .2.3.3.7.3 1 0 .3-.1.6-.4.9s-.5.3-.8.3c-.3 0-.6-.1-.8-.2-.2-.2-.4-.4-.6-.7-.2-.4-.5-.8-.8-1-.3-.2-.8-.3-1.5-.3s-1.2.1-1.6.4c-.4.2-.6.5-.6.8 0 .2.1.4.2.5.1.2.3.3.5.4.3.1.5.2.8.3.3.1.7.2 1.3.3.7.2 1.4.3 2 .5.6.2 1.1.4 1.6.7.4.3.8.6 1 1.1s.4 1 .4 1.6c0 .7-.2 1.4-.6 2-.4.6-1.1 1.1-1.9 1.4-.8.3-1.8.5-2.9.5-1.3 0-2.4-.2-3.3-.7-.6-.3-1.1-.8-1.5-1.3-.4-.6-.6-1.1-.6-1.6 0-.3.1-.6.4-.9.3-.2.6-.3.9-.3.3 0 .6.1.8.3.2.2.4.4.5.8.2.4.3.7.5.9.2.2.4.4.8.6.3.2.8.2 1.3.2.8 0 1.4-.2 1.8-.5.5-.3.7-.7.7-1.1 0-.4-.1-.6-.4-.9-.2-.2-.6-.4-1-.5-.4-.1-1-.3-1.7-.4-.9-.2-1.8-.4-2.4-.7-.4-.3-1-.7-1.3-1.2-.4-.5-.7-1.1-.7-1.8s.2-1.3.6-1.8c.4-.5 1-.9 1.8-1.2.8-.3 1.7-.4 2.7-.4z"/> </svg> ' ], 'github' => [ 'name' => 'GitHub', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M8.9,0.4C4.3,0.9,0.6,4.6,0.1,9.1c-0.5,4.7,2.2,8.9,6.3,10.5C6.7,19.7,7,19.5,7,19.1v-1.6c0,0-0.4,0.1-0.9,0.1c-1.4,0-2-1.2-2.1-1.9c-0.1-0.4-0.3-0.7-0.6-1C3.1,14.6,3,14.6,3,14.5c0-0.2,0.3-0.2,0.4-0.2c0.6,0,1.1,0.7,1.3,1c0.5,0.8,1.1,1,1.4,1c0.4,0,0.7-0.1,0.9-0.2c0.1-0.7,0.4-1.4,1-1.8c-2.3-0.5-4-1.8-4-4c0-1.1,0.5-2.2,1.2-3C5.1,7.1,5,6.6,5,5.9c0-0.4,0-1,0.3-1.6c0,0,1.4,0,2.8,1.3C8.6,5.4,9.3,5.3,10,5.3s1.4,0.1,2,0.3c1.3-1.3,2.8-1.3,2.8-1.3C15,4.9,15,5.5,15,5.9c0,0.8-0.1,1.2-0.2,1.4c0.7,0.8,1.2,1.8,1.2,3c0,2.2-1.7,3.5-4,4c0.6,0.5,1,1.4,1,2.3v2.6c0,0.3,0.3,0.6,0.7,0.5c3.7-1.5,6.3-5.1,6.3-9.3C20,4.4,14.9-0.3,8.9,0.4z"/> </svg> ' ], 'gitlab' => [ 'name' => 'GitLab', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M15.7.9c-.2 0-.4.1-.4.3l-2.2 6.7H6.9L4.8 1.2C4.7 1 4.5.9 4.4.9c-.2 0-.4.1-.5.3l-2.6 7L0 11.6c0 .2 0 .4.2.5l9.6 7h.1l9.6-7c.5-.1.5-.3.5-.5l-1.3-3.5-2.6-7c-.1-.1-.3-.2-.4-.2zM2.6 8.7h3.7l2.5 7.8-6.2-7.8zm11.1 0h3.7l-6.2 7.8 2.5-7.8zm-11.8.4l5.8 7.3L1 11.6l.9-2.5zm16.2 0l.9 2.4-6.7 4.9 5.8-7.3z"/> </svg> ' ], 'youtube' => [ 'name' => 'YouTube', 'icon' => ' <svg width="20" height="20" viewbox="0 0 20 20" aria-hidden="true"> <path d="M15,0H5C2.2,0,0,2.2,0,5v10c0,2.8,2.2,5,5,5h10c2.8,0,5-2.2,5-5V5C20,2.2,17.8,0,15,0z M14.5,10.9l-6.8,3.8c-0.1,0.1-0.3,0.1-0.5,0.1c-0.5,0-1-0.4-1-1l0,0V6.2c0-0.5,0.4-1,1-1c0.2,0,0.3,0,0.5,0.1l6.8,3.8c0.5,0.3,0.7,0.8,0.4,1.3C14.8,10.6,14.6,10.8,14.5,10.9z"/> </svg> ' ], 'vimeo' => [ 'name' => 'Vimeo', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M20,5.3c-0.1,1.9-1.4,4.6-4.1,8c-2.7,3.5-5,5.3-6.9,5.3c-1.2,0-2.2-1.1-3-3.2C4.5,9.7,3.8,6.3,2.5,6.3c-0.2,0-0.7,0.3-1.6,0.9L0,6c2.3-2,4.5-4.3,5.9-4.4c1.6-0.2,2.5,0.9,2.9,3.2c1.3,8.1,1.8,9.3,4.2,5.7c0.8-1.3,1.3-2.3,1.3-3c0.2-2-1.6-1.9-2.8-1.4c1-3.2,2.9-4.8,5.6-4.7C19.1,1.4,20.1,2.7,20,5.3L20,5.3z"/> </svg> ' ], 'dtube' => [ 'name' => 'DTube', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M18.2,6c-0.4-1.2-1.1-2.3-1.9-3.2c-0.8-0.9-1.8-1.6-2.9-2C12.3,0.2,11,0,9.6,0H1.1v20h8.2c1.3,0,2.4-0.2,3.4-0.5c1-0.3,1.9-0.8,2.7-1.4c1.1-0.9,2-2,2.6-3.3c0.6-1.4,0.9-2.9,0.9-4.7C18.9,8.6,18.7,7.2,18.2,6z M6.1,14.5v-9l7.8,4.5L6.1,14.5z"/> </svg> ' ], 'vk' => [ 'name' => __( 'VK', 'blocksy' ), 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M19.2,4.8H16c-0.3,0-0.5,0.1-0.6,0.4c0,0-1.3,2.4-1.7,3.2c-1.1,2.2-1.8,1.5-1.8,0.5V5.4c0-0.6-0.5-1.1-1.1-1.1H8.2C7.6,4.3,6.9,4.6,6.5,5.1c0,0,1.2-0.2,1.2,1.5c0,0.4,0,1.6,0,2.6c0,0.4-0.3,0.7-0.7,0.7c-0.2,0-0.4-0.1-0.6-0.2c-1-1.4-1.8-2.9-2.5-4.5C4,5,3.7,4.8,3.5,4.8c-0.7,0-2.1,0-2.9,0C0.2,4.8,0,5,0,5.3c0,0.1,0,0.1,0,0.2C0.9,8,4.8,15.7,9.2,15.7H11c0.4,0,0.7-0.3,0.7-0.7v-1.1c0-0.4,0.3-0.7,0.7-0.7c0.2,0,0.4,0.1,0.5,0.2l2.2,2.1c0.2,0.2,0.5,0.3,0.7,0.3h2.9c1.4,0,1.4-1,0.6-1.7c-0.5-0.5-2.5-2.6-2.5-2.6c-0.3-0.4-0.4-0.9-0.1-1.3c0.6-0.8,1.7-2.2,2.1-2.8C19.6,6.5,20.7,4.8,19.2,4.8z"/> </svg> ' ], 'ok' => [ 'name' => __( 'Odnoklassniki', 'blocksy' ), 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M8.2,6.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8c0,1-0.8,1.8-1.8,1.8S8.2,7.5,8.2,6.5L8.2,6.5z M20,2.1v15.7c0,1.2-1,2.1-2.1,2.1H2.1C1,20,0,19,0,17.9V2.1C0,1,1,0,2.1,0h15.7C19,0,20,1,20,2.1z M6.4,6.5c0,2,1.6,3.6,3.6,3.6s3.6-1.6,3.6-3.6c0-2-1.6-3.6-3.6-3.6S6.4,4.5,6.4,6.5z M14.2,10.5c-0.2-0.4-0.8-0.8-1.5-0.2c0,0-1,0.8-2.6,0.8s-2.6-0.8-2.6-0.8C6.6,9.8,6,10.1,5.8,10.5c-0.4,0.7,0,1.1,1,1.7c0.8,0.5,1.8,0.7,2.5,0.8l-0.6,0.6c-0.8,0.8-1.6,1.6-2.1,2.1c-0.8,0.8,0.5,2,1.3,1.3l2.1-2.1c0.8,0.8,1.6,1.6,2.1,2.1c0.8,0.8,2.1-0.5,1.3-1.3l-2.1-2.1l-0.6-0.6c0.7-0.1,1.7-0.3,2.5-0.8C14.1,11.6,14.5,11.2,14.2,10.5z"/> </svg> ' ], 'rss' => [ 'name' => 'RSS', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M17.9,0H2.1C1,0,0,1,0,2.1v15.7C0,19,1,20,2.1,20h15.7c1.2,0,2.1-1,2.1-2.1V2.1C20,1,19,0,17.9,0z M5,17.1c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S6.2,17.1,5,17.1z M12,17.1h-1.5c-0.3,0-0.5-0.2-0.5-0.5c-0.2-3.6-3.1-6.4-6.7-6.7c-0.3,0-0.5-0.2-0.5-0.5V8c0-0.3,0.2-0.5,0.5-0.5c4.9,0.3,8.9,4.2,9.2,9.2C12.6,16.9,12.3,17.1,12,17.1L12,17.1z M16.6,17.1h-1.5c-0.3,0-0.5-0.2-0.5-0.5c-0.2-6.1-5.1-11-11.2-11.2c-0.3,0-0.5-0.2-0.5-0.5V3.4c0-0.3,0.2-0.5,0.5-0.5c7.5,0.3,13.5,6.3,13.8,13.8C17.2,16.9,16.9,17.1,16.6,17.1L16.6,17.1z"/> </svg> ' ], 'facebook_group' => [ 'name' => __( 'Facebook Group', 'blocksy' ), 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M3.3,18.4c-0.2-0.5,0.3-2.8,0.7-3.7c0.5-1.1,1.6-2,2.5-2.3c0.6-0.2,0.7-0.2,2.1,0.5l1.4,0.7l1.4-0.7c0.8-0.4,1.5-0.7,1.8-0.7c0.5,0,1.8,0.9,2.4,1.6c0.6,0.9,1.1,2.3,1.2,3.7l0,1.1l-6.7,0C4,18.7,3.4,18.6,3.3,18.4z M0.1,12.8c-0.4-0.9,0.6-3.4,1.6-4.1c0.8-0.5,1.5-0.5,2.5,0.1c0.6,0.4,0.9,0.5,1.1,0.3C5.6,9,5.7,9,5.9,9.3c0.2,0.2,0.6,0.6,0.9,1c0.6,0.6,0.6,0.7-0.4,1.1c-0.4,0.1-1.1,0.5-1.6,1l-0.9,0.7H2.1C0.5,13.1,0.2,13,0.1,12.8z M15.3,12.4c-0.4-0.4-1.1-0.8-1.5-1c-1.1-0.4-1.1-0.5-0.5-1.1c0.3-0.3,0.7-0.7,0.9-1C14.4,9,14.5,9,14.8,9.1c0.2,0.1,0.5,0,1.1-0.3c0.5-0.3,1.1-0.5,1.4-0.5c1.3,0,2.6,1.8,2.7,3.7l0,1l-2,0l-2,0L15.3,12.4z M8.4,10.6C7,9.9,6,8.4,6,6.9c0-2.1,2-4.1,4.1-4.1s4.1,2,4.1,4.1S12.1,11,10,11C9.6,11,8.9,10.8,8.4,10.6z M3.5,6.8c-1.7-1-1.9-3.5-0.4-4.7c1.1-0.9,2.5-1,3.6-0.2c1,0.7,1,0.9,0.2,1.6c-0.8,0.7-1.4,1.8-1.5,3C5.2,7.2,5.2,7.3,4.7,7.3C4.4,7.3,3.9,7.1,3.5,6.8z M14.8,6.5c-0.2-1.2-0.7-2.3-1.5-3c-0.8-0.7-0.8-0.9,0.2-1.6C15.4,0.6,18,2,18,4.3c0,1.5-1.4,3-2.7,3C14.9,7.3,14.9,7.2,14.8,6.5z"/> </svg> ' ], 'facebook_messenger' => [ 'name' => __( 'Facebook Messenger', 'blocksy' ), 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M10,0C4.5,0,0.1,4.1,0.1,9.2c0,2.7,1.2,5.2,3.4,7V20l3.7-1.9c0.9,0.3,1.8,0.3,2.7,0.3c5.5,0,9.9-4.1,9.9-9.2C19.9,4.1,15.5,0,10,0z M11,12.3L8.5,9.6l-4.6,2.6L9,6.8l2.5,2.5l4.5-2.5L11,12.3z"/> </svg> ' ], 'discord' => [ 'name' => 'Discord', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M17.2,4.2c-1.7-1.4-4.5-1.6-4.6-1.6c-0.2,0-0.4,0.1-0.4,0.3c0,0-0.1,0.1-0.1,0.4c1.1,0.2,2.6,0.6,3.8,1.4C16.1,4.7,16.2,5,16,5.2c-0.1,0.1-0.2,0.2-0.4,0.2c-0.1,0-0.2,0-0.2-0.1C13.3,4,10.5,3.9,10,3.9S6.7,4,4.6,5.3C4.4,5.5,4.1,5.4,4,5.2C3.8,5,3.9,4.7,4.1,4.6c1.3-0.8,2.7-1.2,3.8-1.4C7.9,3,7.8,2.9,7.8,2.9C7.7,2.7,7.5,2.6,7.4,2.6c-0.1,0-2.9,0.2-4.6,1.7C1.8,5.1,0,10.1,0,14.3c0,0.1,0,0.2,0.1,0.2c1.3,2.2,4.7,2.8,5.5,2.8c0,0,0,0,0,0c0.1,0,0.3-0.1,0.4-0.2l0.8-1.1c-2.1-0.6-3.2-1.5-3.3-1.6c-0.2-0.2-0.2-0.4,0-0.6c0.2-0.2,0.4-0.2,0.6,0c0,0,2,1.7,6,1.7c4,0,6-1.7,6-1.7c0.2-0.2,0.5-0.1,0.6,0c0.2,0.2,0.1,0.5,0,0.6c-0.1,0.1-1.2,1-3.3,1.6l0.8,1.1c0.1,0.1,0.2,0.2,0.4,0.2c0,0,0,0,0,0c0.8,0,4.2-0.6,5.5-2.8c0-0.1,0.1-0.1,0.1-0.2C20,10.1,18.2,5.1,17.2,4.2z M7.2,12.6c-0.8,0-1.5-0.8-1.5-1.7s0.7-1.7,1.5-1.7c0.8,0,1.5,0.8,1.5,1.7S8,12.6,7.2,12.6z M12.8,12.6c-0.8,0-1.5-0.8-1.5-1.7s0.7-1.7,1.5-1.7c0.8,0,1.5,0.8,1.5,1.7S13.7,12.6,12.8,12.6z"/> </svg> ' ], 'tripadvisor' => [ 'name' => 'TripAdvisor', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M5.9 10.7c0 .4-.4.8-.8.8s-.8-.4-.8-.8.4-.8.8-.8.8.3.8.8zm1.7 0c0 1.3-1.1 2.4-2.4 2.4S2.7 12 2.7 10.7c0-1.3 1.1-2.4 2.4-2.4s2.5 1 2.5 2.4zm-.9 0c0-.9-.7-1.6-1.6-1.6-.9 0-1.6.7-1.6 1.6 0 .9.7 1.6 1.6 1.6.9 0 1.6-.7 1.6-1.6zm8.2-.8c-.4 0-.8.4-.8.8s.4.8.8.8.8-.4.8-.8c0-.5-.4-.8-.8-.8zm2.4.8c0 1.3-1.1 2.4-2.4 2.4s-2.4-1.1-2.4-2.4c0-1.3 1.1-2.4 2.4-2.4s2.4 1 2.4 2.4zm-.8 0c0-.9-.7-1.6-1.6-1.6-.9 0-1.6.7-1.6 1.6 0 .9.7 1.6 1.6 1.6.9 0 1.6-.7 1.6-1.6zm1.6 4.1c-2.1 1.7-5.2 1.3-6.9-.8l-.9 1.5c0 .1-.1.1-.1.1-.2.1-.4.1-.6-.1L8.7 14c-1.7 2.1-4.7 2.5-6.9.8-2-1.7-2.4-4.8-.8-6.9-.1-.5-.4-1-.7-1.4 0-.1-.1-.2-.1-.3 0-.2.2-.4.4-.4h3.1c3.9-2.2 8.7-2.2 12.6 0h3.1c.1 0 .2 0 .3.1.2.1.2.4 0 .6-.3.4-.6.9-.8 1.4 1.7 2.1 1.3 5.2-.8 6.9zm-8.9-4.1c0-2.2-1.8-4.1-4.1-4.1h-1C2.3 7.1 1 8.8 1 10.7c0 2.2 1.9 4 4.1 4 2.3.1 4.1-1.8 4.1-4zm6.6-4h-.2c-.2 0-.5-.1-.7-.1-2.2 0-4 1.7-4.1 3.9 0 .7.2 1.4.5 2.1.1.1.1.2.2.3.8 1.1 2 1.8 3.4 1.8 1.9 0 3.5-1.3 3.9-3.1.5-2.1-.8-4.3-3-4.9z"/> </svg> ' ], 'foursquare' => [ 'name' => 'Foursquare', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M14.8 2.9l-.4 2.3c-.1.3-.4.5-.7.5H9.5c-.5 0-.8.4-.8.8V7c0 .5.3.8.8.8H13c.3 0 .7.4.6.7l-.4 2.3c0 .2-.3.5-.7.5H9.6c-.5 0-.7.1-1 .5-.3.4-3.5 4.2-3.5 4.2H5V2.8c0-.3.3-.6.6-.6h8.6c.4 0 .7.3.6.7zm.3 9.1c.1-.5 1.5-7.3 1.9-9.5M15.4 0H4.7C3.3 0 2.8 1.1 2.8 1.8v16.9c0 .8.4 1.1.7 1.2.2.1.9.2 1.3-.3 0 0 5-5.8 5.1-5.9.1-.1.1-.1.3-.1h3.3c1.4 0 1.6-1 1.7-1.5.1-.5 1.5-7.3 1.9-9.5C17.4.9 17 0 15.4 0z"/> </svg> ' ], 'yelp' => [ 'name' => 'Yelp', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M18.8 14.4c0 .4-.3.8-.3.9l-2.1 2.9-.1.1c-.1 0-.5.3-1 .3s-1-.6-1.1-.7l-2.7-4.2c-.3-.3-.3-1 .1-1.5.3-.3.5-.3.9-.3h.3l5 1.5c.3.1 1 .3 1 1zm-6.1-3.3l5-1.4c.2-.1.9-.3 1-.9.2-.5-.1-1-.2-1 0 0 0-.1-.1-.1L16 5.2c0-.1-.3-.5-1-.5s-1 .6-1 .7l-2.8 4.2c-.2.3-.3.8 0 1.2.3.2.6.3 1.1.3h.4zM9.9.2C9.3 0 8.9 0 8.6.1L4.4 1.4c-.1 0-.5.2-.9.6-.4.8.4 1.6.4 1.6l4.4 5.5c.1.1.4.4 1 .4h.3c.7-.2 1-.9 1-1.3V1.6c-.1-.2-.2-1.1-.7-1.4zM8 12.6c.3-.1.7-.3.7-1.1s-.8-1.1-.9-1.2L3.4 8.2c-.1 0-1-.3-1.3-.1-.2.1-.7.5-.7.9l-.3 3.3c0 .2 0 .7.2 1 .1.2.3.4.8.4.3 0 .6-.1.6-.1l5.1-1c.2.1.2 0 .2 0zm1.8.3c-.2-.1-.3-.1-.4-.1-.5 0-1 .3-1 .4l-3.5 3.6c-.1.2-.5.8-.3 1.3.2.4.3.7.8.9l3.5 1h.4c.2 0 .3 0 .4-.1.5-.2.7-.8.7-1.2l.1-4.9c0-.2-.2-.7-.7-.9z"/> </svg> ' ], 'hacker_news' => [ 'name' => 'Hacker News', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M0,0v20h20V0H0z M11.2,11.8v4.7H8.8v-4.7L4.7,4.1h1.9l3.4,6l3.4-6h1.9L11.2,11.8z"/> </svg> ' ], 'xing' => [ 'name' => 'Xing', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M16.8,0H3.2C1.4,0,0,1.4,0,3.2v13.6C0,18.6,1.4,20,3.2,20h13.6c1.8,0,3.2-1.4,3.2-3.2V3.2C20,1.4,18.6,0,16.8,0z M6.2,13.3H3.8c-0.2,0-0.3-0.3-0.3-0.4L6,8.4c0.1-0.1,0.1-0.2,0-0.3L4.5,5.4C4.4,5.3,4.5,5,4.7,5H7c0.1,0,0.2,0.1,0.3,0.2L9,8.2c0.1,0.1,0.1,0.2,0,0.3l-2.6,4.7C6.4,13.2,6.2,13.3,6.2,13.3z M16.3,2.9l-4.7,8.6c-0.1,0.1-0.1,0.2,0,0.3l3,5.3c0.1,0.2,0,0.4-0.3,0.4h-2.3c-0.1,0-0.2-0.1-0.3-0.2l-3.2-5.6c-0.1-0.1-0.1-0.2,0-0.3l4.8-8.9c0.1,0,0.3-0.1,0.3-0.1h2.3C16.3,2.5,16.4,2.8,16.3,2.9z"/> </svg> ' ], 'whatsapp' => [ 'name' => 'WhatsApp', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M10,0C4.5,0,0,4.5,0,10c0,1.9,0.5,3.6,1.4,5.1L0.1,20l5-1.3C6.5,19.5,8.2,20,10,20c5.5,0,10-4.5,10-10S15.5,0,10,0zM6.6,5.3c0.2,0,0.3,0,0.5,0c0.2,0,0.4,0,0.6,0.4c0.2,0.5,0.7,1.7,0.8,1.8c0.1,0.1,0.1,0.3,0,0.4C8.3,8.2,8.3,8.3,8.1,8.5C8,8.6,7.9,8.8,7.8,8.9C7.7,9,7.5,9.1,7.7,9.4c0.1,0.2,0.6,1.1,1.4,1.7c0.9,0.8,1.7,1.1,2,1.2c0.2,0.1,0.4,0.1,0.5-0.1c0.1-0.2,0.6-0.7,0.8-1c0.2-0.2,0.3-0.2,0.6-0.1c0.2,0.1,1.4,0.7,1.7,0.8s0.4,0.2,0.5,0.3c0.1,0.1,0.1,0.6-0.1,1.2c-0.2,0.6-1.2,1.1-1.7,1.2c-0.5,0-0.9,0.2-3-0.6c-2.5-1-4.1-3.6-4.2-3.7c-0.1-0.2-1-1.3-1-2.6c0-1.2,0.6-1.8,0.9-2.1C6.1,5.4,6.4,5.3,6.6,5.3z"/> </svg> ' ], 'flipboard' => [ 'name' => 'Flipboard', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M0 0v20h20V0H0zm16 8h-4v4H8v4H4V4h12v4z"/> </svg> ' ], 'viber' => [ 'name' => 'Viber', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M18.6,4.4c-0.3-1.2-1-2.2-2-2.9c-1.2-0.9-2.7-1.2-3.9-1.4C11,0,9.4-0.1,8,0.1C6.6,0.3,5.5,0.6,4.6,1c-1.9,0.9-3,2.2-3.3,4.1C1.1,6,1,6.9,0.9,7.6c-0.2,1.8,0,3.4,0.4,4.9c0.4,1.5,1.2,2.5,2.2,3.2c0.3,0.2,0.6,0.3,1,0.4c0.2,0.1,0.3,0.1,0.5,0.2v2.9C5,19.7,5.3,20,5.7,20l0,0c0.2,0,0.4-0.1,0.5-0.2l2.7-2.6C9,17,9,17,9.1,17c0.9,0,1.9-0.1,2.8-0.1c1.1-0.1,2.5-0.2,3.7-0.7c1.1-0.5,2-1.2,2.5-2.2c0.5-1.1,0.8-2.2,0.9-3.5C19.3,8.2,19.1,6.2,18.6,4.4z M13.9,13.1c-0.3,0.4-0.7,0.8-1.2,1c-0.4,0.1-0.7,0.1-1.1,0C8.8,12.8,6.5,10.9,5,8.1C4.7,7.5,4.5,6.9,4.2,6.3C4.2,6.2,4.2,6,4.2,5.9c0-1,0.8-1.5,1.5-1.7c0.3-0.1,0.5,0,0.8,0.2c0.6,0.6,1.1,1.2,1.4,2C8,6.7,8,7,7.7,7.2C7.6,7.3,7.6,7.3,7.5,7.4C6.9,7.8,6.8,8.2,7.2,8.9c0.5,1.2,1.5,1.9,2.6,2.4c0.3,0.1,0.6,0.1,0.8-0.2c0,0,0.1-0.1,0.1-0.1c0.5-0.8,1.1-0.7,1.8-0.3c0.4,0.3,0.8,0.6,1.2,0.9C14.3,12.1,14.3,12.5,13.9,13.1z M10.4,5.1c-0.2,0-0.3,0-0.5,0C9.7,5.2,9.5,5,9.4,4.8c0-0.3,0.1-0.5,0.4-0.5c0.2,0,0.4-0.1,0.6-0.1c2.1,0,3.7,1.7,3.7,3.7c0,0.2,0,0.4-0.1,0.6c0,0.2-0.2,0.4-0.5,0.4c0,0-0.1,0-0.1,0c-0.3,0-0.4-0.3-0.4-0.5c0-0.2,0-0.3,0-0.5C13.2,6.4,12,5.1,10.4,5.1z M12.5,8.2c0,0.3-0.2,0.5-0.5,0.5s-0.5-0.2-0.5-0.5c0-0.8-0.6-1.4-1.4-1.4c-0.3,0-0.5-0.2-0.5-0.5c0-0.3,0.2-0.5,0.5-0.5C11.4,5.8,12.5,6.9,12.5,8.2zM15.7,8.8c-0.1,0.2-0.2,0.4-0.5,0.4c0,0-0.1,0-0.1,0c-0.3-0.1-0.4-0.3-0.4-0.6c0.1-0.3,0.1-0.6,0.1-0.9c0-2.3-1.9-4.2-4.2-4.2c-0.3,0-0.6,0-0.9,0.1C9.5,3.6,9.2,3.5,9.2,3.2C9.1,2.9,9.3,2.7,9.5,2.6c0.4-0.1,0.8-0.1,1.1-0.1c2.8,0,5.2,2.3,5.2,5.2C15.8,8,15.8,8.4,15.7,8.8z"/> </svg> ' ], 'telegram' => [ 'name' => 'Telegram', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M19.9,3.1l-3,14.2c-0.2,1-0.8,1.3-1.7,0.8l-4.6-3.4l-2.2,2.1c-0.2,0.2-0.5,0.5-0.9,0.5l0.3-4.7L16.4,5c0.4-0.3-0.1-0.5-0.6-0.2L5.3,11.4L0.7,10c-1-0.3-1-1,0.2-1.5l17.7-6.8C19.5,1.4,20.2,1.9,19.9,3.1z"/> </svg> ' ], 'line' => [ 'name' => 'Line', 'icon' => ' <svg width="20px" height="20px" viewBox="0 0 20 20" aria-hidden="true"> <path d="M16.1 8.2c.3 0 .5.2.5.5s-.2.5-.5.5h-1.5v.9h1.5c.3 0 .5.2.5.5s-.2.5-.5.5h-2c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h2c.3 0 .5.2.5.5s-.2.5-.5.5h-1.5V8h1.5zm-3.2 2.5c0 .2-.1.4-.4.5h-.2c-.2 0-.3-.1-.4-.2l-2-2.8v2.5c0 .3-.2.5-.5.5s-.5-.2-.5-.5v-4c0-.2.1-.4.4-.5h.2c.2 0 .3.1.4.2L12 9.2V6.8c0-.3.2-.5.5-.5s.5.2.5.5v3.9zm-4.8 0c0 .3-.2.5-.5.5s-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5s.5.2.5.5v4zm-2 .6h-2c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5s.5.2.5.5v3.5h1.5c.3 0 .5.2.5.5 0 .2-.2.5-.5.5M20 8.6C20 4.1 15.5.5 10 .5S0 4.1 0 8.6c0 4 3.6 7.4 8.4 8 .3.1.8.2.9.5.1.3.1.6 0 .9l-.1.9c0 .3-.2 1 .9.5 1.1-.4 5.8-3.4 7.9-5.8 1.3-1.6 2-3.2 2-5"/> </svg> ' ], 'weibo' => [ 'name' => 'Weibo', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M15.9,7.6c0.3-0.9-0.5-1.8-1.5-1.6c-0.9,0.2-1.1-1.1-0.3-1.3c2-0.4,3.6,1.4,3,3.3C16.9,8.8,15.6,8.4,15.9,7.6z M8.4,18.1c-4.2,0-8.4-2-8.4-5.3C0,11,1.1,9,3,7.2c3.9-3.9,7.9-3.9,6.8-0.2c-0.2,0.5,0.5,0.2,0.5,0.2c3.1-1.3,5.5-0.7,4.5,2c-0.1,0.4,0,0.4,0.3,0.5C20.3,11.3,16.4,18.1,8.4,18.1L8.4,18.1zM14,12.4c-0.2-2.2-3.1-3.7-6.4-3.3C4.3,9.4,1.8,11.4,2,13.6s3.1,3.7,6.4,3.3C11.7,16.6,14.2,14.6,14,12.4zM13.6,2c-1,0.2-0.7,1.7,0.3,1.5c2.8-0.6,5.3,2.1,4.4,4.8c-0.3,0.9,1.1,1.4,1.5,0.5C21,4.9,17.6,1.2,13.6,2L13.6,2z M10.5,14.2c-0.7,1.5-2.6,2.3-4.3,1.8c-1.6-0.5-2.3-2.1-1.6-3.5c0.7-1.4,2.5-2.2,4-1.8C10.4,11.1,11.2,12.7,10.5,14.2zM7.2,13c-0.5-0.2-1.2,0-1.5,0.5C5.3,14,5.5,14.6,6,14.8c0.5,0.2,1.2,0,1.5-0.5C7.8,13.8,7.7,13.2,7.2,13zM8.4,12.5c-0.2-0.1-0.4,0-0.6,0.2c-0.1,0.2-0.1,0.4,0.1,0.5c0.2,0.1,0.5,0,0.6-0.2C8.7,12.8,8.6,12.6,8.4,12.5z"/> </svg> ' ], 'tumblr' => [ 'name' => 'Tumblr', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M18,0H2C0.9,0,0,0.9,0,2v16c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V2C20,0.9,19.1,0,18,0z M15,15.9c0,0,0,0.1-0.1,0.1c0,0-1.4,1-3.9,1c-3,0-3-3.6-3-4V9H6.2C6.1,9,6,8.9,6,8.8V7.2C6,7.1,6,7,6.1,7C6.1,7,9,5.7,9,3.2C9,3.1,9.1,3,9.2,3h1.7C10.9,3,11,3.1,11,3.2V7h2.8C13.9,7,14,7.1,14,7.2v1.7C14,8.9,13.9,9,13.8,9H11v4c0,0.1-0.1,1.3,1.2,1.3c1.1,0,2.5-0.3,2.5-0.3c0.1,0,0.1,0,0.2,0c0.1,0,0.1,0.1,0.1,0.2V15.9z"/> </svg> ' ], 'qq' => [ 'name' => 'QQ', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M18.2,16.4c-0.5,0.1-1.8-2.1-1.8-2.1c0,1.2-0.6,2.8-2,4c0.7,0.2,2.1,0.7,1.8,1.3C16,20.2,11.3,20,10,19.8c-1.3,0.2-5.9,0.3-6.2-0.2c-0.4-0.6,1.1-1.1,1.8-1.3c-1.4-1.2-2-2.8-2-4c0,0-1.3,2.1-1.8,2.1c-0.2,0-0.5-1.2,0.4-3.9c0.4-1.3,0.9-2.4,1.6-4.1C3.6,3.8,5.5,0,10,0c4.4,0,6.4,3.8,6.3,8.4c0.7,1.8,1.2,2.8,1.6,4.1C18.7,15.3,18.4,16.4,18.2,16.4L18.2,16.4z"/> </svg> ' ], 'wechat' => [ 'name' => 'WeChat', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M13.5,6.8c0.2,0,0.5,0,0.7,0c-0.6-2.9-3.7-5-7.1-5C3.2,1.9,0,4.5,0,7.9c0,1.9,1.1,3.5,2.8,4.8l-0.7,2.1l2.5-1.2c0.9,0.2,1.6,0.4,2.5,0.4c0.2,0,0.4,0,0.7,0c-0.1-0.5-0.2-1-0.2-1.5C7.5,9.3,10.2,6.8,13.5,6.8L13.5,6.8zM9.7,4.9c0.5,0,0.9,0.4,0.9,0.9c0,0.5-0.4,0.9-0.9,0.9c-0.5,0-1.1-0.4-1.1-0.9C8.7,5.2,9.2,4.9,9.7,4.9zM4.8,6.6c-0.5,0-1.1-0.4-1.1-0.9c0-0.5,0.5-0.9,1.1-0.9c0.5,0,0.9,0.4,0.9,0.9C5.7,6.3,5.3,6.6,4.8,6.6z M20,12.3c0-2.8-2.8-5.1-6-5.1c-3.4,0-6,2.3-6,5.1s2.6,5.1,6,5.1c0.7,0,1.4-0.2,2.1-0.4l1.9,1.1l-0.5-1.8C18.9,15.3,20,13.9,20,12.3zM12,11.4c-0.4,0-0.7-0.4-0.7-0.7c0-0.4,0.4-0.7,0.7-0.7c0.5,0,0.9,0.4,0.9,0.7C12.9,11.1,12.6,11.4,12,11.4zM15.9,11.4c-0.4,0-0.7-0.4-0.7-0.7c0-0.4,0.4-0.7,0.7-0.7c0.5,0,0.9,0.4,0.9,0.7C16.8,11.1,16.5,11.4,15.9,11.4z"/> </svg> ' ], 'strava' => [ 'name' => 'Strava', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M12.3,13.9l-1.4-2.7h2.8L12.3,13.9z M20,3v14c0,1.7-1.3,3-3,3H3c-1.7,0-3-1.3-3-3V3c0-1.7,1.3-3,3-3h14C18.7,0,20,1.3,20,3zM15.8,11.1h-2.1L9,2l-4.7,9.1H7L9,7.5l1.9,3.6H8.8l3.5,6.9L15.8,11.1z"/> </svg> ' ], 'flickr' => [ 'name' => 'Flickr', 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M4.7 14.7C2.1 14.8 0 12.6 0 10c0-2.5 2.1-4.7 4.8-4.7 2.6 0 4.7 2.1 4.7 4.8 0 2.6-2.2 4.7-4.8 4.6z"/> <path d="M15.3 5.3C18 5.3 20 7.5 20 10c0 2.6-2.1 4.7-4.7 4.7-2.5 0-4.7-2-4.7-4.7-.1-2.6 2-4.7 4.7-4.7z"/> </svg> ' ], 'phone' => [ 'name' => __( 'Phone', 'blocksy' ), 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M4.8,0C2.1,0,0,2.1,0,4.8v10.5C0,17.9,2.1,20,4.8,20h10.5c2.6,0,4.8-2.1,4.8-4.8V4.8C20,2.1,17.9,0,15.2,0H4.8z M6.7,3.8C7,3.8,7.2,4,7.4,4.3C7.6,4.6,7.9,5,8.3,5.6c0.3,0.5,0.4,1.2,0.1,1.8l-0.7,1C7.4,8.7,7.4,9,7.5,9.3c0.2,0.5,0.6,1.2,1.3,1.9c0.7,0.7,1.4,1.1,1.9,1.3c0.3,0.1,0.6,0.1,0.9-0.1l1-0.7c0.6-0.3,1.3-0.3,1.8,0.1c0.6,0.4,1.1,0.7,1.3,0.9c0.3,0.2,0.4,0.4,0.4,0.7c0.1,1.7-1.2,2.4-1.6,2.4c-0.3,0-3.4,0.4-7-3.2s-3.2-6.8-3.2-7C4.3,5.1,5,3.8,6.7,3.8z"/> </svg> ' ], 'email' => [ 'name' => __( 'Email', 'blocksy' ), 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M10,10.1L0,4.7C0.1,3.2,1.4,2,3,2h14c1.6,0,2.9,1.2,3,2.8L10,10.1z M10,11.8c-0.1,0-0.2,0-0.4-0.1L0,6.4V15c0,1.7,1.3,3,3,3h4.9h4.3H17c1.7,0,3-1.3,3-3V6.4l-9.6,5.2C10.2,11.7,10.1,11.7,10,11.8z"/> </svg> ' ], 'clipboard' => [ 'name' => __( 'Copy to Clipboard', 'blocksy' ), 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M20 3.89v6.667a3.89 3.89 0 0 1-3.89 3.89h-.55v-2.223h.55c.921 0 1.667-.746 1.667-1.667V3.889c0-.92-.746-1.666-1.666-1.666H9.443c-.92 0-1.667.746-1.667 1.666v6.668c0 .92.746 1.667 1.667 1.667h1.674v2.222H9.443a3.89 3.89 0 0 1-3.89-3.889V3.889A3.89 3.89 0 0 1 9.444 0h6.668A3.89 3.89 0 0 1 20 3.89Zm-9.443 1.664H8.891v2.222h1.666c.92 0 1.667.746 1.667 1.667v6.668c0 .92-.746 1.666-1.667 1.666H3.889c-.92 0-1.666-.746-1.666-1.666V9.443c0-.92.746-1.667 1.666-1.667h.55V5.554h-.55A3.89 3.89 0 0 0 0 9.443v6.668A3.89 3.89 0 0 0 3.89 20h6.667a3.89 3.89 0 0 0 3.89-3.89V9.444a3.89 3.89 0 0 0-3.89-3.89Z"/> </svg> ' ], 'bluesky' => [ 'name' => __( 'Bluesky', 'blocksy' ), 'icon' => ' <svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"> <path d="M4.3 2.4C6.6 4.1 9.1 7.6 10 9.5v5c0-.1 0 0-.1.3-.5 1.4-2.3 6.8-6.5 2.5C1.2 15 2.2 12.7 6.3 12c-2.3.4-4.9-.3-5.6-2.8C.5 8.5.1 3.9.1 3.3 0 .1 2.7 1.1 4.3 2.4Zm11.4 0c-2.3 1.7-4.8 5.2-5.7 7.1v5c0-.1 0 0 .1.3.5 1.4 2.3 6.8 6.5 2.5 2.2-2.3 1.2-4.6-2.9-5.3 2.3.4 4.9-.3 5.6-2.8.2-.7.6-5.3.6-5.9 0-3.1-2.7-2.1-4.3-.9Z"/> </svg> ' ] ]; foreach (blocksy_get_dynamic_social_networks() as $dynamic_network) { $metadata[$dynamic_network['id']] = [ 'name' => $dynamic_network['name'], 'icon' => $dynamic_network['icon'] ]; } if (! $args['social']) { return null; } if (! isset($metadata[$args['social']])) { return null; } $single_metadata = $metadata[$args['social']]; $single_metadata['url'] = ''; if ($args['type'] === 'url') { $single_metadata['url'] = blocksy_get_theme_mod($args['social'], '#'); if (empty(trim($single_metadata['url']))) { $single_metadata['url'] = '#'; } if ( $args['social'] === 'email' && strpos($single_metadata['url'], 'mailto:') === false && strpos($single_metadata['url'], '@') !== false ) { $single_metadata['url'] = 'mailto:' . $single_metadata['url']; } } if ($args['type'] === 'share') { $home_url = blocksy_encode_uri_component( get_the_permalink() ); if (! empty($args['custom_url'])) { $home_url = blocksy_encode_uri_component($args['custom_url']); } $social_urls = [ 'facebook' => 'https://www.facebook.com/sharer/sharer.php?u={url}', 'twitter' => 'https://twitter.com/intent/tweet?url={url}&text={text}', 'pinterest' => '#', 'linkedin' => 'https://www.linkedin.com/shareArticle?url={url}&title={text}', 'reddit' => 'https://reddit.com/submit?url={url}&title={text}', 'hacker_news' => 'https://news.ycombinator.com/submitlink?u={url}&t={text}', 'vk' => 'http://vk.com/share.php?url={url}&title={text}', 'ok' => 'https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl={url}', 'telegram' => 'https://t.me/share/url?url={url}&text={text}', 'viber' => 'viber://forward?text={url}', 'whatsapp' => 'whatsapp://send?text={url}', 'flipboard' => 'https://share.flipboard.com/bookmarklet/popout?v=2&title={text}&url={url}', 'email' => 'mailto:?subject={text}&body={url}', 'line' => 'https://social-plugins.line.me/lineit/share?url={url}&text={text}', 'threads' => 'https://threads.net/intent/post?text={url}', 'bluesky' => 'https://bsky.app/intent/compose?text={url}', 'clipboard' => '#' ]; if (! empty($args['custom_url'])) { $social_urls['clipboard'] = $args['custom_url']; } if (isset($social_urls[$args['social']])) { $single_metadata['url'] = str_replace( '{url}', $home_url, str_replace( '{text}', blocksy_encode_uri_component( strip_tags(get_the_title()) ), $social_urls[$args['social']] ) ); } else { $single_metadata['url'] = '#'; } } return $single_metadata; } } if (! function_exists('blocksy_get_social_box')) { function blocksy_get_social_box($args = []) { $args = wp_parse_args( $args, [ // url | share 'type' => 'url', 'socials' => null, 'attr' => [], 'class' => '', 'before_links_content' => '', 'links_wrapper' => null, 'links_wrapper_attr' => [], 'after_links_content' => '', 'has_count' => false, 'label_attr' => [], 'label_visibility' => [ 'desktop' => false, 'tablet' => false, 'mobile' => false, ], 'root_class' => 'ct-social-box', 'force_output' => false, 'custom_share_url' => '', 'links_target' => false, 'links_rel' => false, 'icon_source' => 'default', 'url_source' => 'default', 'icon' => '', 'custom_url' => '', 'strategy' => [ 'prefix' => blocksy_manager()->screen->get_prefix(), 'strategy' => 'customizer' ], 'enable_shortcut' => false, 'has_tooltip' => false, ] ); if ($args['type'] === 'share') { $args['socials'] = blocksy_akg_or_customizer( 'share_networks', $args['strategy'], [ [ 'id' => 'facebook', 'enabled' => true, ], [ 'id' => 'twitter', 'enabled' => true, ], [ 'id' => 'pinterest', 'enabled' => true, ], [ 'id' => 'linkedin', 'enabled' => true, ] ] ); } if ($args['socials'] === null) { $args['socials'] = []; foreach (blocksy_get_social_networks_list() as $network_id => $network) { $args['socials'][] = [ 'id' => $network_id, 'enabled' => true ]; } } $has_any_social = 0; foreach ($args['socials'] as $single_social) { if ( ! isset($single_social['enabled']) || ( isset($single_social['enabled']) && $single_social['enabled'] ) || $args['force_output'] ) { $has_any_social++; } } if (! $has_any_social) { return ''; } $old_attr = []; $old_attr['class'] = $args['root_class']; if (! empty($args['class'])) { $old_attr['class'] .= ' ' . $args['class']; } if ($args['type'] === 'share') { // $old_attr['data-behavior'] = 'share'; } if ($args['has_count']) { $old_attr['data-count'] = $has_any_social; } $old_attr = array_merge($old_attr, $args['attr']); $official_colors = [ 'facebook' => '#557dbc', 'facebook_group' => '#3d87fb', 'facebook_messenger' => '#1887FC', 'discord' => '#7187d4', 'tripadvisor' => '#40dfa3', 'foursquare' => '#f84a7a', 'yelp' => '#ca252a', 'twitter' => '#000000', 'bluesky' => '#1A7EFB', 'instagram' => '#ed1376', 'threads' => '#101010', 'pinterest' => '#ea575a', 'dribbble' => '#d77ea6', 'deviantart' => '#00e59b', 'behance' => '#1b64f6', 'unsplash' => '#000000', 'five-hundred-px' => '#000000', 'linkedin' => '#1c86c6', 'parler' => '#bc2131', 'mastodon' => '#368ad2', 'medium' => '#292929', 'slack' => '#4e1850', 'codepen' => '#000000', 'reddit' => '#fc471e', 'twitch' => '#9150fb', 'tiktok' => '#000000', 'snapchat' => '#f9d821', 'spotify' => '#2ab859', 'soundcloud' => '#fd561f', 'bandcamp' => '#4C9EBF', 'apple_podcast' => '#933ac3', 'patreon' => '#e65c4b', 'alignable' => '#4a396f', 'vk' => '#5382b6', 'youtube' => '#FF0000', 'dtube' => '#233253', 'vimeo' => '#8ecfde', 'rss' => '#f09124', 'whatsapp' => '#5bba67', 'viber' => '#7f509e', 'telegram' => '#229cce', 'line' => '#20be60', 'xing' => '#0a5c5d', 'weibo' => '#e41c34', 'tumblr' => '#314255', 'qq' => '#487fc8', 'wechat' => '#2dc121', 'strava' => '#fc5200', 'flickr' => '#0f64d1', 'phone' => '#244371', 'email' => '#392c44', 'github' => '#24292e', 'gitlab' => '#f8713f', 'skype' => '#1caae7', 'wordpress' => '#1074a8', 'hacker_news' => '#fd6721', 'ok' => '#eb7e2f', 'flipboard' => '#c40812', 'clipboard' => '#2c3e50', ]; $prefix = blocksy_manager()->screen->get_prefix(); $deep_link_args = [ 'prefix' => $prefix, 'suffix' => $prefix . '_has_share_box' ]; ob_start(); ?> <div <?php echo blocksy_attr_to_html($old_attr) ?> <?php echo $args['enable_shortcut'] ? blocksy_generic_get_deep_link($deep_link_args) : ''; ?>> <?php echo $args['before_links_content'] ?> <?php if ($args['links_wrapper']) { $result = $args['links_wrapper']; $result = trim($result . ' ' . blocksy_attr_to_html( $args['links_wrapper_attr'] )); echo '<' . $result . '>'; } ?> <?php foreach ($args['socials'] as $single_social) { ?> <?php if (! $single_social['enabled'] && !$args['force_output']) { continue; } $metadata = blocksy_get_social_metadata([ 'type' => $args['type'], 'social' => $single_social['id'], 'custom_url' => $args['custom_share_url'] ]); if (! $metadata) { continue; } $attr = [ 'href' => esc_url_raw( $metadata['url'], array_merge( wp_allowed_protocols(), [ 'viber', 'whatsapp', 'skype' ] ) ), // 'target' => '_blank', 'data-network' => $single_social['id'], 'aria-label' => $metadata['name'] ]; if (strpos($attr['href'], 'mailto:') !== false) { $attr['href'] = blocksy_safe_antispambot($attr['href']); } $url_source = blocksy_default_akg('url_source', $single_social, 'default'); if ($url_source === 'custom') { $url = blocksy_default_akg( 'custom_url', $single_social, '' ); $attr['href'] = esc_url($url); } if (empty($attr['href'])) { $attr['href'] = '#'; } if ( ( ( isset($args['links_wrapper_attr']['data-color']) && $args['links_wrapper_attr']['data-color'] === 'official' ) || ( isset($old_attr['data-color']) && $old_attr['data-color'] === 'official' ) ) && isset($official_colors[$single_social['id']]) ) { $attr['style'] = "--official-color: " . $official_colors[ $single_social['id'] ]; } if ($args['links_target']) { $attr['target'] = $args['links_target']; } if ($args['links_rel']) { $attr['rel'] = $args['links_rel']; } if (isset($attr['rel'])) { $attr['rel'] = trim($attr['rel']); } $class = 'ct-label'; if (isset($args['label_attr']['class'])) { if (! empty($args['label_attr']['class'])) { $class .= ' ' . $args['label_attr']['class']; } } $class .= ' ' . blocksy_visibility_classes( $args['label_visibility'] ); $label_attr = $args['label_attr']; $label_attr['class'] = $class; $label_attr['aria-hidden'] = 'true'; ?> <a <?php echo blocksy_attr_to_html($attr) ?>> <?php // if ($args['type'] === 'share') { // echo $metadata['icon']; // } if (true || $args['type'] === 'url') { $icon = blocksy_html_tag( 'span', [ 'class' => 'ct-icon-container' ], $metadata['icon'] ); if (function_exists('blc_get_icon')) { $icon_source = blocksy_default_akg('icon_source', $single_social, 'default'); if ( $icon_source === 'custom' ) { $icon = blc_get_icon([ 'icon_descriptor' => blocksy_akg( 'icon', $single_social, ['icon' => 'blc blc-email'] ), 'icon_html_atts' => [ 'aria-hidden' => 'true', ] ]); } } if ($args['has_tooltip']) { $share_text = blocksy_safe_sprintf( __('Share on %s', 'blocksy'), $metadata['name'] ); if ($single_social['id'] === 'clipboard') { $share_text = __('Copy to Clipboard', 'blocksy'); } echo blocksy_html_tag( 'span', [ 'class' => 'ct-tooltip' ], $share_text ); } echo $icon; if ($args['type'] === 'url') { if ( blocksy_some_device($args['label_visibility']) || is_customize_preview() ) { echo blocksy_html_tag( 'span', $label_attr, $metadata['name'] ); } } } ?> </a> <?php } ?> <?php if ($args['links_wrapper']) { echo '</' . $args['links_wrapper'] . '>'; } ?> <?php echo $args['after_links_content'] ?> </div> <?php return ob_get_clean(); } } /** * Encore a string to be safely included in the URL. * * @param string $str String to encode for URL. */ if (! function_exists('blocksy_encode_uri_component')) { function blocksy_encode_uri_component( $str ) { $revert = [ '%21' => '!', '%2A' => '*', '%27' => "'", '%28' => '(', '%29' => ')', ]; return strtr( rawurlencode( $str ), $revert ); } } if (! function_exists('blocksy_get_social_networks_list')) { function blocksy_get_social_networks_list() { $networks = [ 'alignable' => [ 'label' => 'Alignable', ], 'apple_podcast' => [ 'label' => __( 'Apple Podcasts', 'blocksy' ), ], 'behance' => [ 'label' => 'Behance', ], 'codepen' => [ 'label' => 'CodePen', ], 'dtube' => [ 'label' => 'DTube', ], 'discord' => [ 'label' => 'Discord', ], 'dribbble' => [ 'label' => 'Dribbble', ], 'deviantart' => [ 'label' => 'Deviantart', ], 'email' => [ 'label' => __( 'Email', 'blocksy' ), ], 'facebook' => [ 'label' => 'Facebook', ], 'facebook_group' => [ 'label' => __( 'Facebook Group', 'blocksy' ), ], 'facebook_messenger' => [ 'label' => __( 'Facebook Messenger', 'blocksy' ), ], 'flickr' => [ 'label' => 'Flickr', ], 'foursquare' => [ 'label' => 'Foursquare', ], 'github' => [ 'label' => 'GitHub', ], 'gitlab' => [ 'label' => 'GitLab', ], 'instagram' => [ 'label' => 'Instagram', ], 'threads' => [ 'label' => 'Threads', ], 'line' => [ 'label' => 'Line', ], 'linkedin' => [ 'label' => 'LinkedIn', ], 'mastodon' => [ 'label' => 'Mastodon', ], 'medium' => [ 'label' => 'Medium', ], 'ok' => [ 'label' => __( 'Odnoklassniki', 'blocksy' ), ], 'parler' => [ 'label' => 'Parler', ], 'patreon' => [ 'label' => 'Patreon', ], 'phone' => [ 'label' => __( 'Phone', 'blocksy' ), ], 'pinterest' => [ 'label' => 'Pinterest', ], 'qq' => [ 'label' => 'QQ', ], 'rss' => [ 'label' => 'RSS', ], 'reddit' => [ 'label' => 'Reddit', ], 'skype' => [ 'label' => 'Skype', ], 'slack' => [ 'label' => 'Slack', ], 'snapchat' => [ 'label' => 'Snapchat', ], 'soundcloud' => [ 'label' => 'SoundCloud', ], 'bandcamp' => [ 'label' => 'Bandcamp', ], 'spotify' => [ 'label' => 'Spotify', ], 'strava' => [ 'label' => 'Strava', ], 'telegram' => [ 'label' => 'Telegram', ], 'tiktok' => [ 'label' => 'TikTok', ], 'tripadvisor' => [ 'label' => 'TripAdvisor', ], 'tumblr' => [ 'label' => 'Tumblr', ], 'twitch' => [ 'label' => 'Twitch', ], 'twitter' => [ 'label' => 'X (Twitter)', ], 'bluesky' => [ 'label' => 'Bluesky', ], 'unsplash' => [ 'label' => 'Unsplash', ], 'vk' => [ 'label' => __( 'VK', 'blocksy' ), ], 'viber' => [ 'label' => 'Viber', ], 'vimeo' => [ 'label' => 'Vimeo', ], 'wechat' => [ 'label' => 'WeChat', ], 'weibo' => [ 'label' => 'Weibo', ], 'whatsapp' => [ 'label' => 'WhatsApp', ], 'wordpress' => [ 'label' => 'WordPress', ], 'xing' => [ 'label' => 'Xing', ], 'yelp' => [ 'label' => 'Yelp', ], 'youtube' => [ 'label' => 'YouTube', ], 'five-hundred-px' => [ 'label' => '500px', ], ]; $dynamic_networks = blocksy_get_dynamic_social_networks(); foreach ($dynamic_networks as $network) { $networks[$network['id']] = [ 'label' => $network['name'] ]; } return $networks; } } PK �P�\���� � inc/components/global-attrs.phpnu �[��� <?php function blocksy_main_attr() { $attrs = [ 'id' => 'main', 'class' => 'site-main' ]; if (blocksy_has_schema_org_markup()) { $attrs['class'] .= ' hfeed'; } return blocksy_attr_to_html(array_merge( apply_filters('blocksy:main:attr', $attrs), blocksy_schema_org_definitions('creative_work', [ 'array' => true ])) ); } add_filter('body_class', function ($classes) { // if (blocksy_get_theme_mod('has_passepartout', 'no') === 'yes') { // $classes[] = 'ct-passepartout'; // }; // $classes[] = 'ct-loading'; if (! $classes || ! is_array($classes)) { $classes = []; } if (function_exists('is_product_category')) { if (is_product_category() || is_product_tag()) { $classes[] = 'woocommerce-archive'; } } if (in_array('elementor-default', $classes)) { $current_template = blocksy_manager()->get_current_template(); if ( strpos($current_template, 'elementor') !== false && is_singular() && class_exists('\ElementorPro\Modules\ThemeBuilder\Module') ) { $location_documents = \ElementorPro\Modules\ThemeBuilder\Module::instance() ->get_conditions_manager() ->get_documents_for_location( 'single' ); $first_key = key($location_documents); if (! empty($location_documents)) { $theme_document = $location_documents[$first_key]; $document_page_template = $theme_document->get_settings('page_template'); if (empty($document_page_template)) { $classes[] = 'ct-elementor-default-template'; } } } else { if ( ! in_array('elementor-template-canvas', $classes) && ! in_array('elementor-template-full-width', $classes) ) { $classes[] = 'ct-elementor-default-template'; } } } return $classes; }, 999999); if (! function_exists('blocksy_html_attr')) { function blocksy_html_attr() { $attrs = []; $attrs = apply_filters('blocksy:general:html-attr', $attrs); if (empty($attrs)) { return ''; } return ' ' . blocksy_attr_to_html($attrs); } } if (! function_exists('blocksy_body_attr')) { function blocksy_body_attr() { $attrs = []; if (blocksy_get_theme_mod('has_passepartout', 'no') === 'yes') { $attrs['data-frame'] = 'default'; }; $attrs['data-prefix'] = esc_attr(blocksy_manager()->screen->get_prefix() . blocksy_manager()->screen->get_prefix_addition()); if (is_customize_preview()) { $prefix_custom = []; if (is_singular()) { $atts = blocksy_get_post_options(); $maybe_hero_strategy = blocksy_get_page_title_source(); if ( $maybe_hero_strategy && $maybe_hero_strategy['strategy'] !== 'customizer' ) { $prefix_custom[] = 'hero'; } $default_page_structure = blocksy_default_akg( 'page_structure_type', $atts, 'default' ); if ($default_page_structure !== 'default') { $prefix_custom[] = 'single-structure'; } $default_content_style = blocksy_default_akg( 'content_style_source', $atts, 'inherit' ); if ($default_content_style !== 'inherit') { $prefix_custom[] = 'content-style'; } $vertical_spacing_source = blocksy_default_akg( 'vertical_spacing_source', $atts, 'inherit' ); if ($vertical_spacing_source !== 'inherit') { $prefix_custom[] = 'vertical-spacing'; } } if (! empty($prefix_custom)) { $attrs['data-prefix-custom'] = implode(':', $prefix_custom); } } global $blocksy_has_default_header; if ($blocksy_has_default_header) { $attrs['data-header'] = apply_filters( 'blocksy:general:body-header-attr', substr(str_replace( 'ct-custom-', '', blocksy_manager()->header_builder->get_current_section_id() ), 0, 6) ); } if (blocksy_manager()->footer_builder->enabled_on_this_page()) { $attrs['data-footer'] = substr(str_replace( 'ct-custom-', '', blocksy_manager()->footer_builder->get_current_section_id() ), 0, 6); } $footer_render = new Blocksy_Footer_Builder_Render(); $footer_atts = $footer_render->get_current_section()['settings']; $reveal_result = []; if (blocksy_default_akg( 'has_reveal_effect/desktop', $footer_atts, false )) { $reveal_result[] = 'desktop'; } if (blocksy_default_akg( 'has_reveal_effect/tablet', $footer_atts, false )) { $reveal_result[] = 'tablet'; } if (blocksy_default_akg( 'has_reveal_effect/mobile', $footer_atts, false )) { $reveal_result[] = 'mobile'; } if (count($reveal_result) > 0 && isset($attrs['data-footer'])) { $attrs['data-footer'] .= ':reveal'; } $attrs = apply_filters('blocksy:general:body-attr', $attrs); return blocksy_attr_to_html(array_merge([ 'data-link' => blocksy_get_theme_mod('content_link_type', 'type-2'), ], $attrs, blocksy_schema_org_definitions('single', ['array' => true]))); } } PK �P�\�� � inc/components/pagination.phpnu �[��� <?php /** * Pagination helpers * * @copyright 2019-present Creative Themes * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License * @package Blocksy */ /** * Dispaly post pagination. * * @param array $args Pagination config. */ if (! function_exists('blocksy_display_posts_pagination')) { function blocksy_display_posts_pagination($args = []) { global $wp_query; $allowed_prefixes_args = [ 'allowed_prefixes' => [ 'blog', 'search', 'woo_categories' ], 'default_prefix' => 'blog' ]; $args = wp_parse_args( $args, [ 'query' => $wp_query, 'prefix' => blocksy_manager()->screen->get_prefix( $allowed_prefixes_args ), 'has_pagination' => '__DEFAULT__', 'pagination_type' => '__DEFAULT__', 'last_page_text' => __('No more posts to load', 'blocksy'), 'total_pages' => null, 'current_page' => null, 'format' => null, 'base' => null, 'query_var' => '' ] ); $args['prefix'] = blocksy_manager()->screen->process_allowed_prefixes( $args['prefix'], $allowed_prefixes_args ); if ($args['has_pagination'] === '__DEFAULT__') { $args['has_pagination'] = blocksy_get_theme_mod( $args['prefix'] . '_has_pagination', 'yes' ) === 'yes'; } if ($args['pagination_type'] === '__DEFAULT__') { $args['pagination_type'] = blocksy_get_theme_mod( $args['prefix'] . '_pagination_global_type', 'simple' ); } if ($args['prefix'] === 'woo_categories') { $args['last_page_text'] = __('No more products to load', 'blocksy'); } if (! $args['has_pagination']) { return ''; } if (! $args['total_pages'] || ! $args['current_page']) { $args['current_page'] = $args['query']->get('paged'); $args['total_pages'] = $args['query']->max_num_pages; $offset = $args['query']->get('offset'); if ($offset) { $totalPosts = $args['query']->found_posts; $currentPage = $args['query']->get('paged'); $postsPerPage = $args['query']->get('posts_per_page'); $offsetAdjustment = $offset - ($currentPage - 1) * $postsPerPage; $args['total_pages'] = ceil(($totalPosts - $offsetAdjustment) / $postsPerPage); } if (! $args['current_page']) { $args['current_page'] = 1; } } if ($args['total_pages'] <= 1 ) { return ''; } $button_output = ''; if ( $args['pagination_type'] === 'load_more' && intval($args['current_page']) !== intval($args['total_pages']) ) { $label_button = blocksy_get_theme_mod( $args['prefix'] . '_load_more_label', __('Load More', 'blocksy') ); $button_output = '<button class="wp-element-button ct-load-more">' . $label_button . '</button>'; } if ( $args['pagination_type'] !== 'simple' && $args['pagination_type'] !== 'next_prev' ) { if (intval($args['current_page']) === intval($args['total_pages'])) { return ''; } $button_output = '<div class="ct-load-more-helper">' . $button_output; $button_output .= '<span class="ct-ajax-loader"> <svg viewBox="0 0 24 24"> <circle cx="12" cy="12" r="10" opacity="0.2" fill="none" stroke="currentColor" stroke-miterlimit="10" stroke-width="2"/> <path d="m12,2c5.52,0,10,4.48,10,10" fill="none" stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"> <animateTransform attributeName="transform" attributeType="XML" type="rotate" dur="0.6s" from="0 12 12" to="360 12 12" repeatCount="indefinite" /> </path> </svg> </span>'; $button_output .= '<div class="ct-last-page-text">' . $args['last_page_text'] . '</div>'; $button_output .= '</div>'; } $pagination_class = 'ct-pagination'; $divider_output = ''; $divider = blocksy_get_theme_mod( $args['prefix'] . '_paginationDivider', [ 'width' => 1, 'style' => 'none', 'color' => [ 'color' => 'rgba(224, 229, 235, 0.5)', ] ] ); $numbers_visibility = blocksy_get_theme_mod( $args['prefix'] . '_numbers_visibility', [ 'desktop' => true, 'tablet' => true, 'mobile' => false ] ); $arrows_visibility = blocksy_get_theme_mod( $args['prefix'] . '_arrows_visibility', [ 'desktop' => true, 'tablet' => true, 'mobile' => true ] ); if ( $divider['style'] !== 'none' && $args['pagination_type'] !== 'infinite_scroll' ) { $divider_output = 'data-divider'; } $prefix = blocksy_manager()->screen->get_prefix(); $deep_link_args = []; if (! is_singular()) { $deep_link_args['suffix'] = $prefix . '_has_pagination'; } $template = ' <nav class="' . $pagination_class . '" data-pagination="' . $args['pagination_type'] . '" ' . $divider_output . ' ' . blocksy_generic_get_deep_link($deep_link_args) . '> %1$s %2$s </nav>'; $paginate_links_args = [ 'mid_size' => 3, 'end_size' => 0, 'type' => 'array', 'total' => $args['total_pages'], 'current' => $args['current_page'], 'prev_text' => '<svg width="9px" height="9px" viewBox="0 0 15 15" fill="currentColor"><path d="M10.9,15c-0.2,0-0.4-0.1-0.6-0.2L3.6,8c-0.3-0.3-0.3-0.8,0-1.1l6.6-6.6c0.3-0.3,0.8-0.3,1.1,0c0.3,0.3,0.3,0.8,0,1.1L5.2,7.4l6.2,6.2c0.3,0.3,0.3,0.8,0,1.1C11.3,14.9,11.1,15,10.9,15z"/></svg>' . __('Prev', 'blocksy'), 'next_text' => __('Next', 'blocksy') . ' <svg width="9px" height="9px" viewBox="0 0 15 15" fill="currentColor"><path d="M4.1,15c0.2,0,0.4-0.1,0.6-0.2L11.4,8c0.3-0.3,0.3-0.8,0-1.1L4.8,0.2C4.5-0.1,4-0.1,3.7,0.2C3.4,0.5,3.4,1,3.7,1.3l6.1,6.1l-6.2,6.2c-0.3,0.3-0.3,0.8,0,1.1C3.7,14.9,3.9,15,4.1,15z"/></svg>', ]; if ($args['format']) { $paginate_links_args['format'] = $args['format']; } if ($args['base']) { $paginate_links_args['base'] = $args['base']; } if ($args['query_var']) { $paginate_links_args['format'] = '?' . $args['query_var'] . '=%#%'; if (isset($_GET[$args['query_var']])) { $paginate_links_args['current'] = intval(sanitize_text_field( $_GET[$args['query_var']] )); } } $links = paginate_links($paginate_links_args); $arrow_links = ['', '']; $proper_links = []; foreach ($links as $link) { preg_match('/class="[^"]+"/', $link, $matches); if (count($matches) === 0) { continue; } if (strpos($matches[0], 'next') !== false) { $link = str_replace( 'page-numbers"', 'page-numbers" rel="next"', $link ); } if (strpos($matches[0], 'prev') !== false) { $link = str_replace( 'page-numbers"', 'page-numbers" rel="prev"', $link ); } if ( $args['pagination_type'] === 'next_prev' && strpos($matches[0], 'next') === false && strpos($matches[0], 'prev') === false ) { continue; } if ( $args['pagination_type'] === 'simple' && ( strpos($matches[0], 'next') !== false || strpos($matches[0], 'prev') !== false ) ) { $link = str_replace( 'page-numbers', trim('page-numbers ' . blocksy_visibility_classes( $arrows_visibility )), $link ); } if ( strpos($matches[0], 'next') !== false || strpos($matches[0], 'prev') !== false ) { $arrow_links[strpos($matches[0], 'next') !== false ? 1 : 0] = $link; } else { $proper_links[] = $link; } } $proper_links = join("\n", $proper_links); if ($args['pagination_type'] === 'simple') { $proper_links = '<div class="' . blocksy_visibility_classes( $numbers_visibility ) . '">' . $proper_links . '</div>'; } return blocksy_safe_sprintf( $template, $arrow_links[0] . $proper_links . $arrow_links[1], $button_output ); } } PK �P�\��[y y inc/components/emoji-scripts.phpnu �[��� <?php if (blocksy_get_theme_mod('emoji_scripts', 'yes') === 'yes') { call_user_func( 'remove_action', 'wp_head', 'print_emoji_detection_script', 7 ); call_user_func( 'remove_action', 'wp_print_styles', 'print_emoji_styles' ); call_user_func( 'remove_action', 'admin_print_scripts', 'print_emoji_detection_script' ); call_user_func( 'remove_action', 'admin_print_styles', 'print_emoji_styles' ); remove_filter('the_content_feed', 'wp_staticize_emoji'); remove_filter('comment_text_rss', 'wp_staticize_emoji'); remove_filter('wp_mail', 'wp_staticize_emoji_for_email'); add_filter('tiny_mce_plugins', function ($plugins) { if (is_array($plugins)) { return array_diff($plugins, array('wpemoji')); } else { return array(); } }); add_filter('wp_resource_hints', function ($urls, $relation_type) { if ('dns-prefetch' === $relation_type) { /** This filter is documented in wp-includes/formatting.php */ $emoji_svg_url = apply_filters('emoji_svg_url', 'https://s.w.org/images/core/emoji/2/svg/'); $urls = array_diff($urls, array($emoji_svg_url)); } return $urls; }, 10, 2); } PK �P�\��3�c c inc/components/gallery.phpnu �[��� <?php if (! function_exists('blocksy_flexy')) { function blocksy_flexy($args = []) { $args = wp_parse_args($args, [ 'prefix' => '', 'items' => '', 'images' => null, 'images_ratio' => '3/4', 'pills_images' => null, 'pills_count' => 0, 'items_container_class' => '', 'class' => '', 'size' => 'medium', 'lazyload' => true, 'href' => null, 'has_pills' => true, 'enable' => true, 'has_arrows' => true, 'arrows_class' => '', 'container_attr' => [], 'slide_inner_content' => '', 'autoplay' => false, 'slide_image_args' => null, 'active_index' => 1 ]); $prefix = $args['prefix']; if (! empty($args['prefix'])) { $prefix .= '_'; } $has_scale_rotate = false; if ($args['images']) { $args['pills_count'] = count($args['images']); $args['items'] = ''; foreach ($args['images'] as $index => $single_image) { $attachment_id = $single_image; if ( is_array($single_image) && isset($single_image['attachment_id']) ) { $attachment_id = $single_image['attachment_id']; } if ($has_scale_rotate) { $args['items'] .= '<div>'; } $single_item_href = $args['href']; $width = null; $height = null; if (! $single_item_href) { $single_item_href = wp_get_attachment_image_src( $attachment_id, 'full' ); if ($single_item_href) { $width = $single_item_href[1]; $height = $single_item_href[2]; $single_item_href = $single_item_href[0]; } } $class = 'flexy-item'; $slide_args = [ 'display_video' => true, 'no_image_type' => 'woo', 'attachment_id' => $attachment_id, 'ratio' => $args['images_ratio'], 'tag_name' => 'figure', 'size' => $args['size'], 'html_atts' => array_merge([ 'data-src' => $single_item_href // 'href' => $single_item_href ], $width ? [ 'data-width' => $width, 'data-height' => $height ] : []), 'inner_content' => $args['slide_inner_content'], 'lazyload' => $args['lazyload'], ]; if ($args['slide_image_args']) { $slide_args = call_user_func( $args['slide_image_args'], $index, $slide_args ); } if (! empty($class)) { $slide_wrapper_attr['class'] = $class; } $args['items'] .= blocksy_html_tag( 'div', $slide_wrapper_attr, blocksy_media( apply_filters( 'blocksy:woocommerce:image_additional_attributes', $slide_args ) ) ); if ($has_scale_rotate) { $args['items'] .= '</div>'; } } } if ($args['enable']) { $initial_value = 'no'; if ($has_scale_rotate) { $initial_value = 'no:scalerotate'; } $args['container_attr']['data-flexy'] = $initial_value; if ($args['active_index'] > 1) { $args['container_attr']['style'] = '--current-item: ' . (intval( $args['active_index'] ) - 1); } } else { $args['container_attr'] = []; } // Slider view // boxed | full $slider_view = 'boxed'; $container_attr = ''; if ($args['autoplay']) { $args['container_attr']['data-autoplay'] = $args['autoplay']; } foreach ($args['container_attr'] as $key => $value) { $container_attr .= ' ' . $key . '="' . $value . '"'; } $container_attr = trim($container_attr); $class = trim('flexy-container ' . $args['class']); $args['items_container_class'] = trim( 'flexy-items ' . $args['items_container_class'] ); ?> <div class="<?php echo $class ?>" <?php echo $container_attr ?>> <div class="flexy"> <div class="flexy-view" data-flexy-view="<?php echo $slider_view ?>"> <div class="<?php echo $args['items_container_class'] ?>"> <?php echo $args['items']; ?> </div> </div> <?php if ($args['has_arrows']) { $arrow_icons = apply_filters( 'blocksy:flexy:arrows', [ 'prev' => '<svg width="16" height="10" fill="currentColor" viewBox="0 0 16 10"><path d="M15.3 4.3h-13l2.8-3c.3-.3.3-.7 0-1-.3-.3-.6-.3-.9 0l-4 4.2-.2.2v.6c0 .1.1.2.2.2l4 4.2c.3.4.6.4.9 0 .3-.3.3-.7 0-1l-2.8-3h13c.2 0 .4-.1.5-.2s.2-.3.2-.5-.1-.4-.2-.5c-.1-.1-.3-.2-.5-.2z"></path></svg>', 'next' => '<svg width="16" height="10" fill="currentColor" viewBox="0 0 16 10"><path d="M.2 4.5c-.1.1-.2.3-.2.5s.1.4.2.5c.1.1.3.2.5.2h13l-2.8 3c-.3.3-.3.7 0 1 .3.3.6.3.9 0l4-4.2.2-.2V5v-.3c0-.1-.1-.2-.2-.2l-4-4.2c-.3-.4-.6-.4-.9 0-.3.3-.3.7 0 1l2.8 3H.7c-.2 0-.4.1-.5.2z"></path></svg>' ] ); ?> <span class="<?php echo trim('flexy-arrow-prev' . ' ' . $args['arrows_class']) ?>"> <?php echo $arrow_icons['prev']; ?> </span> <span class="<?php echo trim('flexy-arrow-next' . ' ' . $args['arrows_class']) ?>"> <?php echo $arrow_icons['next']; ?> </span> <?php } ?> </div> <?php if ($args['has_pills']) { blocksy_flexy_pills($args); } ?> </div> <?php } } if (! function_exists('blocksy_flexy_pills')) { function blocksy_flexy_pills($args = []) { $args = wp_parse_args($args, [ 'pills_count' => 0, 'pills_images' => null, 'pills_container_attr' => [], 'pills_have_arrows' => false, 'active_index' => 1, 'pills_arrows_class' => '', 'pills_class' => '' ]); if ($args['pills_count'] === 0) return; $type = $args['pills_images'] ? 'thumbs' : 'circle'; $container_attr = blocksy_attr_to_html($args['pills_container_attr']); if (! empty($container_attr)) { $container_attr = ' ' . $container_attr; } $class = 'flexy-pills'; if (! empty($args['pills_class'])) { $class .= ' ' . $args['pills_class']; } echo '<div class="' . $class . '" data-type="' . $type . '">'; echo '<ol' . $container_attr . '>'; foreach (range(1, ceil($args['pills_count'])) as $index) { if ($args['pills_images']) { $class = ''; if (intval($index) === $args['active_index']) { $class = ' class="active"'; } $image_output = '<li' . $class . '>' . blocksy_media([ 'attachment_id' => $args['pills_images'][$index - 1], 'ratio' => 'original', 'tag_name' => 'span', 'size' => "woocommerce_gallery_thumbnail", 'html_atts' => [ 'aria-label' => blocksy_safe_sprintf(__('Slide %s', 'blocksy'), $index) ], // TODO: need to discuss 'display_video' => 'pill', 'lazyload' => $args['lazyload'] ]) . '</li>'; echo $image_output; } else { echo blocksy_html_tag( 'li', array_merge([ 'aria-label' => blocksy_safe_sprintf(__('Slide %s', 'blocksy'), $index) ], intval($index) === $args['active_index'] ? [ 'class' => 'active' ] : []), '' ); } } echo '</ol>'; if ($args['pills_have_arrows']) { $arrow_icons = apply_filters( 'blocksy:flexy:arrows', [ 'prev' => '<svg width="16" height="10" fill="currentColor" viewBox="0 0 16 10"><path d="M15.3 4.3h-13l2.8-3c.3-.3.3-.7 0-1-.3-.3-.6-.3-.9 0l-4 4.2-.2.2v.6c0 .1.1.2.2.2l4 4.2c.3.4.6.4.9 0 .3-.3.3-.7 0-1l-2.8-3h13c.2 0 .4-.1.5-.2s.2-.3.2-.5-.1-.4-.2-.5c-.1-.1-.3-.2-.5-.2z"></path></svg>', 'next' => '<svg width="16" height="10" fill="currentColor" viewBox="0 0 16 10"><path d="M.2 4.5c-.1.1-.2.3-.2.5s.1.4.2.5c.1.1.3.2.5.2h13l-2.8 3c-.3.3-.3.7 0 1 .3.3.6.3.9 0l4-4.2.2-.2V5v-.3c0-.1-.1-.2-.2-.2l-4-4.2c-.3-.4-.6-.4-.9 0-.3.3-.3.7 0 1l2.8 3H.7c-.2 0-.4.1-.5.2z"></path></svg>' ] ); echo '<span class="' . trim('flexy-arrow-prev' . ' ' . $args['pills_arrows_class']) . '">' . $arrow_icons['prev'] . '</span> <span class="' . trim('flexy-arrow-next' . ' ' . $args['pills_arrows_class']) . '">' . $arrow_icons['next'] . '</span>'; } echo '</div>'; } } PK �P�\2�b b inc/components/posts-listing.phpnu �[��� <?php add_action('parse_tax_query', function ($query) { if (is_admin() || ! $query->is_main_query()) { return; } if (! ( is_home() || is_archive() || is_search() )) { return; } if (function_exists('is_woocommerce')) { if (is_woocommerce()) { return; } } if ($query->get('post_type') === 'product') { return; } $prefix = blocksy_manager()->screen->get_prefix(); if ( $prefix === 'bbpress_single' || ( $prefix === 'courses_archive' && function_exists('tutor') ) ) { return; } $prefix = blocksy_manager()->screen->get_prefix([ 'allowed_prefixes' => [ 'blog', 'categories', 'woo_categories', 'search', 'author' ], 'default_prefix' => 'blog' ]); $query->set( 'posts_per_page', intval(blocksy_get_theme_mod( $prefix . '_archive_per_page', get_option('posts_per_page', 10) )) ); }); if (! function_exists('blocksy_get_listing_card_type')) { function blocksy_get_listing_card_type($args = []) { $args = wp_parse_args( $args, [ 'prefix' => blocksy_manager()->screen->get_prefix() ] ); $blog_post_structure = blocksy_listing_page_structure([ 'prefix' => $args['prefix'] ]); if ($blog_post_structure === 'gutenberg') { return ''; } $card_type = blocksy_get_theme_mod($args['prefix'] . '_card_type', 'boxed'); if ($card_type === 'cover') { if ( $blog_post_structure === 'simple' || ( function_exists('blc_get_content_block_that_matches') && blc_get_content_block_that_matches([ 'template_type' => 'archive' ]) ) ) { $card_type = 'boxed'; } } return $card_type; } } if (! function_exists('blocksy_listing_page_structure')) { function blocksy_listing_page_structure($args = []) { $args = wp_parse_args( $args, [ 'prefix' => blocksy_manager()->screen->get_prefix() ] ); $blog_post_structure = blocksy_get_theme_mod( $args['prefix'] . '_structure', 'grid' ); if ( $blog_post_structure === 'gutenberg' || $blog_post_structure === 'simple' ) { $has_matching_template = ( function_exists('blc_get_content_block_that_matches') && blc_get_content_block_that_matches([ 'template_type' => 'archive', 'match_conditions_strategy' => rtrim($args['prefix'], '_') ]) ); if ($has_matching_template) { return 'grid'; } } return $blog_post_structure; } } if (! function_exists('blocksy_cards_get_deep_link')) { function blocksy_generic_get_deep_link($args = []) { $args = wp_parse_args( $args, [ 'suffix' => '', 'prefix' => null, 'shortcut' => 'border:outside', 'return' => 'string' ] ); if (! $args['prefix']) { $args['prefix'] = blocksy_manager()->screen->get_prefix(); } $attr = []; if (is_customize_preview()) { $attr['data-shortcut'] = $args['shortcut']; $attr['data-shortcut-location'] = blocksy_first_level_deep_link( $args['prefix'] ); if (! empty($args['suffix'])) { $attr['data-shortcut-location'] .= ':' . $args['suffix']; } } if ($args['return'] === 'array') { return $attr; } return blocksy_attr_to_html($attr); } } PK �P�\�b$�+ �+ ) inc/components/single/content-helpers.phpnu �[��� <?php if (! function_exists('blocksy_has_post_nav')) { function blocksy_has_post_nav() { $post_options = blocksy_get_post_options(); $prefix = blocksy_manager()->screen->get_prefix(); $has_post_nav = blocksy_get_theme_mod( $prefix . '_has_post_nav', 'no' ) === 'yes'; if (blocksy_is_page()) { $has_post_nav = false; } if ( blocksy_default_akg( 'disable_posts_navigation', $post_options, 'no' ) === 'yes' ) { $has_post_nav = false; } return $has_post_nav; } } if (! function_exists('blocksy_has_share_box')) { function blocksy_has_share_box() { $post_options = blocksy_get_post_options(); $prefix = blocksy_manager()->screen->get_prefix(); $has_share_box = blocksy_get_theme_mod( $prefix . '_has_share_box', 'no' ) === 'yes'; if ( blocksy_default_akg( 'disable_share_box', $post_options, 'no' ) === 'yes' ) { $has_share_box = false; } return apply_filters( 'blocksy:single:has-share-box', $has_share_box ); } } if (! function_exists('blocksy_has_author_box')) { function blocksy_has_author_box() { $post_options = blocksy_get_post_options(); $prefix = blocksy_manager()->screen->get_prefix(); $has_author_box = blocksy_get_theme_mod( $prefix . '_has_author_box', 'no' ) === 'yes'; if (blocksy_is_page()) { $has_author_box = false; } if ( blocksy_default_akg( 'disable_author_box', $post_options, 'no' ) === 'yes' ) { $has_author_box = false; } $has_author_box = apply_filters( 'blocksy:single:has-author-box', $has_author_box ); return $has_author_box; } } if (! function_exists('blocksy_single_content')) { function blocksy_single_content($content = null) { $post_options = blocksy_get_post_options(); $prefix = blocksy_manager()->screen->get_prefix(); $has_post_tags = blocksy_get_theme_mod( $prefix . '_has_post_tags', 'no' ) === 'yes'; if ( blocksy_default_akg( 'disable_post_tags', $post_options, 'no' ) === 'yes' ) { $has_post_tags = false; } $featured_image_location = 'none'; $page_title_source = blocksy_get_page_title_source(); $featured_image_source = blocksy_get_featured_image_source(); if ($page_title_source) { $actual_type = blocksy_akg_or_customizer( 'hero_section', blocksy_get_page_title_source(), 'type-1' ); if ($actual_type !== 'type-2') { $featured_image_location = blocksy_get_theme_mod( $prefix . '_featured_image_location', 'above' ); } else { $featured_image_location = 'below'; } } else { $featured_image_location = 'above'; } $share_box_type = blocksy_get_theme_mod($prefix . '_share_box_type', 'type-1'); $share_box1_location = blocksy_get_theme_mod($prefix . '_share_box1_location', [ 'top' => false, 'bottom' => true, ]); $share_box2_location = blocksy_get_theme_mod($prefix . '_share_box2_location', 'right'); $share_box2_colors = blocksy_get_theme_mod($prefix . '_share_box2_colors', 'custom'); $gutenberg_layout_class = "is-layout-constrained"; if (blocksy_sidebar_position() !== 'none') { $gutenberg_layout_class = "is-layout-flow"; } $content_class = 'entry-content ' . $gutenberg_layout_class; ob_start(); ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php do_action('blocksy:single:top'); if ($featured_image_location === 'above') { echo blocksy_get_featured_image_output(); } if ( ! is_singular([ 'product' ]) && apply_filters('blocksy:single:has-default-hero', true) ) { /** * Note to code reviewers: This line doesn't need to be escaped. * Function blocksy_output_hero_section() used here escapes the value properly. */ echo blocksy_output_hero_section([ 'type' => 'type-1' ]); } if ($featured_image_location === 'below') { echo blocksy_get_featured_image_output(); } ?> <?php if ( $share_box1_location['top'] && blocksy_has_share_box() ) { ?> <?php // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped /** * Note to code reviewers: This line doesn't need to be escaped. * Function blocksy_get_social_share_box() used here escapes the value properly. */ echo blocksy_get_social_share_box([ 'root_class' => 'is-width-constrained', 'html_atts' => [ 'data-location' => 'top'], 'links_wrapper_attr' => $share_box_type === 'type-2' ? [ 'data-color' => $share_box2_colors ] : [], 'type' => $share_box_type, 'enable_shortcut' => true ]); ?> <?php } ?> <?php do_action('blocksy:single:content:top'); ?> <div class="<?php echo $content_class ?>"> <?php if (! is_attachment()) { if ( function_exists('blc_get_content_block_that_matches') && blc_get_content_block_that_matches([ 'template_type' => 'single', 'template_subtype' => 'content' ]) ) { $content = blc_render_content_block( blc_get_content_block_that_matches([ 'template_type' => 'single', 'template_subtype' => 'content' ]) ); } if ($content) { echo $content; } else { the_content( blocksy_safe_sprintf( wp_kses( /* translators: 1: span open 2: Name of current post. Only visible to screen readers 3: span closing */ __( 'Continue reading%1$s "%2$s"%3$s', 'blocksy' ), array( 'span' => array( 'class' => array(), ), ) ), '<span class="screen-reader-text">', get_the_title(), '</span>' ) ); } } else { ?> <figure class="wp-block-image"> <?php echo blocksy_media([ 'attachment_id' => get_the_ID(), 'post_id' => get_the_ID(), 'size' => 'full', 'tag_name' => 'figure', 'ratio' => 'original', ]); ?> <figcaption class="wp-caption-text"> <?php echo wp_kses_post(wp_get_attachment_caption(get_post_thumbnail_id())); ?> </figcaption> </figure> <?php remove_filter('the_content', 'prepend_attachment'); the_content(); add_filter('the_content', 'prepend_attachment'); } ?> </div> <?php if (get_post_type() === 'post') { edit_post_link( blocksy_safe_sprintf( /* translators: 1: span opening 2: Post title 3: span closing. */ __( 'Edit%1$s "%2$s"%3$s', 'blocksy' ), '<span class="screen-reader-text">', get_the_title(), '</span>' ), '', '', null, 'post-edit-link is-width-constrained' ); } wp_link_pages( [ 'before' => '<div class="page-links is-width-constrained"><span class="post-pages-label">' . esc_html__( 'Pages', 'blocksy' ) . '</span>', 'after' => '</div>', ] ); do_action('blocksy:single:content:bottom'); ?> <?php if ($has_post_tags) { ?> <?php $class = 'entry-tags is-width-constrained'; $class .= ' ' . blocksy_visibility_classes(blocksy_get_theme_mod( $prefix . '_post_tags_visibility', [ 'desktop' => true, 'tablet' => true, 'mobile' => true, ] )); $tax_to_check = blocksy_maybe_get_matching_taxonomy( get_post_type(), false ); $taxonomies_choices = []; if ($tax_to_check) { $all_taxonomies = array_values(array_diff( get_object_taxonomies(get_post_type()), ['post_format'] )); foreach ($all_taxonomies as $single_taxonomy) { $taxonomy_object = get_taxonomy($single_taxonomy); if (! $taxonomy_object->hierarchical) { $taxonomies_choices[] = $single_taxonomy; } } if (count($taxonomies_choices) > 1) { $post_tags_taxonomy = blocksy_get_theme_mod( $prefix . '_post_tags_taxonomy', $taxonomies_choices[0] ); if (taxonomy_exists($post_tags_taxonomy)) { $tax_to_check = $post_tags_taxonomy; } } } $module_title_default = __('Tags', 'blocksy'); if (count($taxonomies_choices) > 0) { $taxonomy_object = get_taxonomy($taxonomies_choices[0]); if ($taxonomy_object) { $module_title_default = $taxonomy_object->label; } } $module_title_output = ''; $module_title = blocksy_get_theme_mod( $prefix . '_post_tags_title', $module_title_default ); $module_wrapper = blocksy_get_theme_mod($prefix . '_post_tags_title_wrapper', 'span'); if (!empty($module_title) || is_customize_preview()) { $module_title_output = blocksy_html_tag( $module_wrapper, [ 'class' => 'ct-module-title' ], $module_title ); } $deep_link_args = blocksy_generic_get_deep_link([ 'prefix' => $prefix, 'suffix' => $prefix . '_has_post_tags', 'shortcut' => 'border', 'return' => 'array' ]); /** * Note to code reviewers: This line doesn't need to be escaped. * Function blocksy_post_meta() used here escapes the value properly. */ if ( $tax_to_check && blocksy_get_categories_list([ 'taxonomy' => $tax_to_check ]) && ! is_wp_error(blocksy_get_categories_list([ 'taxonomy' => $tax_to_check ])) ) { echo blocksy_html_tag( 'div', array_merge( [ 'class' => $class, ], $deep_link_args ), $module_title_output . blocksy_html_tag( 'div', [ 'class' => 'entry-tags-items' ], blocksy_get_categories_list([ 'taxonomy' => $tax_to_check, 'before_each' => '<span>#</span> ', 'has_term_class' => false ]) ) ); } ?> <?php } ?> <?php if ( $share_box1_location['bottom'] && blocksy_has_share_box() ) { ?> <?php /** * Note to code reviewers: This line doesn't need to be escaped. * Function blocksy_get_social_share_box() used here escapes the value properly. */ echo blocksy_get_social_share_box([ 'root_class' => 'is-width-constrained', 'html_atts' => ['data-location' => 'bottom'], 'links_wrapper_attr' => $share_box_type === 'type-2' ? [ 'data-color' => $share_box2_colors ] : [], 'type' => $share_box_type, 'enable_shortcut' => true ]); ?> <?php } ?> <?php if (blocksy_has_author_box()) { blocksy_author_box(); } if (blocksy_has_post_nav()) { // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped /** * Note to code reviewers: This line doesn't need to be escaped. * Function blocksy_post_navigation() used here escapes the value properly. */ echo blocksy_post_navigation(); } if (function_exists('blc_ext_newsletter_subscribe_form')) { if (get_post_type() === 'post') { /** * Note to code reviewers: This line doesn't need to be escaped. * Function blc_ext_newsletter_subscribe_form() used here escapes the value properly. */ echo blc_ext_newsletter_subscribe_form(); } } blocksy_display_page_elements('contained'); do_action('blocksy:single:bottom'); ?> </article> <?php return ob_get_clean(); } } PK �P�\-z�$"