/** * Custom icons for this theme. * * @package justvideo * @since JustVideo 1.0 */ if ( ! class_exists( 'JustVideo_SVG_Icons' ) ) { /** * SVG ICONS CLASS * Retrieve the SVG code for the specified icon. Based on a solution in Twenty Nineteen. */ class JustVideo_SVG_Icons { /** * GET SVG CODE * Get the SVG code for the specified icon * * @param string $icon Icon name. * @param string $group Icon group. * @param string $color Color. */ public static function get_svg( $icon, $group = 'ui', $color = '#1A1A1B' ) { if ( 'ui' === $group ) { $arr = self::$ui_icons; } elseif ( 'social' === $group ) { $arr = self::$social_icons; } else { $arr = array(); } /** * Filters Twenty Twenty's array of icons. * * The dynamic portion of the hook name, `$group`, refers to * the name of the group of icons, either "ui" or "social". * * @since JustVideo 1.0 * * @param array $arr Array of icons. */ $arr = apply_filters( "justvideo_svg_icons_{$group}", $arr ); /** * Filters an SVG icon's color. * * @since JustVideo 1.0 * * @param string $color The icon color. * @param string $icon The icon name. * @param string $group The icon group. */ $color = apply_filters( 'justvideo_svg_icon_color', $color, $icon, $group ); if ( array_key_exists( $icon, $arr ) ) { $repl = '\s*<', $svg ); // Remove whitespace between SVG tags. return $svg; } return null; } /** * GET SOCIAL LINK SVG * Detects the social network from a URL and returns the SVG code for its icon. * * @param string $uri The URL to retrieve SVG for. */ public static function get_social_link_svg( $uri ) { static $regex_map; // Only compute regex map once, for performance. if ( ! isset( $regex_map ) ) { $regex_map = array(); /** * Filters Twenty Twenty's array of domain mappings for social icons. * * By default, each Icon ID is matched against a .com TLD. To override this behavior, * specify all the domains it covers (including the .com TLD too, if applicable). * * @since JustVideo 1.0 * * @param array $social_icons_map Array of default social icons. */ $map = apply_filters( 'justvideo_social_icons_map', self::$social_icons_map ); /** * Filters Twenty Twenty's array of social icons. * * @since JustVideo 1.0 * * @param array $social_icons Array of default social icons. */ $social_icons = apply_filters( 'justvideo_svg_icons_social', self::$social_icons ); foreach ( array_keys( $social_icons ) as $icon ) { $domains = array_key_exists( $icon, $map ) ? $map[ $icon ] : array( sprintf( '%s.com', $icon ) ); $domains = array_map( 'trim', $domains ); // Remove leading/trailing spaces, to prevent regex from failing to match. $domains = array_map( 'preg_quote', $domains ); $regex_map[ $icon ] = sprintf( '/(%s)/i', implode( '|', $domains ) ); } } foreach ( $regex_map as $icon => $regex ) { if ( preg_match( $regex, $uri ) ) { return justvideo_get_theme_svg( $icon, 'social' ); } } return null; } /** * ICON STORAGE * Store the code for all SVGs in an array. * * @var array */ public static $ui_icons = array( 'arrow-down' => ' ', 'arrow-down-circled' => ' ', 'bookmark' => ' ', 'calendar' => ' ', 'chevron-down' => ' ', 'comment' => ' ', 'cross' => ' ', 'ellipsis' => ' ', 'edit' => ' ', 'folder' => ' ', 'link' => ' ', 'search' => ' ', 'tag' => ' ', 'user' => ' ', ); /** * Social Icons – domain mappings. * * By default, each Icon ID is matched against a .com TLD. To override this behavior, * specify all the domains it covers (including the .com TLD too, if applicable). * * @var array */ public static $social_icons_map = array( 'amazon' => array( 'amazon.com', 'amazon.cn', 'amazon.in', 'amazon.fr', 'amazon.de', 'amazon.it', 'amazon.nl', 'amazon.es', 'amazon.co', 'amazon.ca', ), 'behance' => array( 'behance.net', ), 'codepen' => array( 'codepen.io', ), 'facebook' => array( 'facebook.com', 'fb.me', ), 'feed' => array( 'feed', ), 'google' => array( 'g.page', ), 'lastfm' => array( 'last.fm', ), 'mail' => array( 'mailto:', ), 'pocket' => array( 'getpocket.com', ), 'tiktok' => array( 'tiktok.com', ), 'twitch' => array( 'twitch.tv', ), 'wordpress' => array( 'wordpress.com', 'wordpress.org', ), ); /** * Social Icons – svg sources. * * @var array */ public static $social_icons = array( '500px' => '', 'amazon' => '', 'bandcamp' => '', 'behance' => '', 'codepen' => '', 'deviantart' => '', 'dribbble' => '', 'dropbox' => '', 'etsy' => '', 'facebook' => '', 'feed' => '', 'flickr' => '', 'foursquare' => '', 'goodreads' => '', 'google' => '', 'github' => '', 'instagram' => '', 'lastfm' => '', 'linkedin' => '', 'mail' => '', 'mastodon' => '', 'medium' => '', 'meetup' => '', 'pinterest' => '', 'pocket' => '', 'reddit' => '', 'skype' => '', 'snapchat' => '', 'soundcloud' => '', 'spotify' => '', 'tumblr' => '', 'tiktok' => '', 'twitch' => '', 'twitter' => '', 'vimeo' => '', 'vk' => '', 'whatsapp' => ' ', // phpcs:disable WordPress.WP.CapitalPDangit.Misspelled 'wordpress' => '', 'yelp' => '', 'youtube' => '', ); } }get_header(); ?>

Лучшие онлайн казино с минимальным депозитом 2025 года

1Win Azerbaijan – dman Mrclri v Casino sayt.3483 (2)

1xbet – ставки на спорт и казино 1хбет 2025.158

obzor (7591)

Casinozer Casino Bonus De 100% avec 100 FS gratuits.3382

онлайн в казино.2437

Pin Up Casino – Azrbaycanda onlayn kazino Pin-Up.13504 (2)

Казино Официальный сайт Pin Up Casino играть онлайн – Вход, Зеркало (2025).5730

Plinko gra losowa w kasynach online w Polsce bezpieczestwo gry.937

An exhilarating adventure filled with exciting games, generous rewards, and rapid cashouts awaits at

казино и ставки в БК – зеркало сайта Mostbet.4707

Basswin online casino review.647

Engage in thrilling entertainment featuring premium slots and live gaming excitement, all while reap

Endless excitement awaits with instant payouts and thrilling live games at 1win casino, your gateway

Eşsiz eğlence dünyasında kazançlarınızı artırmak için Casibom uygulamasıyla anında kazanç elde etme

7Slots Casino – En Popler Slot Oyunlar.861 (3)

Μια απίθανη περιπέτεια σας περιμένει με 5 ανατρεπτικά επίπεδα στην επικίνδυνη διαδρομή του Chicken R

Dodging fiery pitfalls could lead to big wins on Chicken Road!

Elevate your gaming thrill with instant payouts and enticing offers, including the SpinoGambino bonu

Elevating your gaming experience, the Billionaire Spin app brings together exhilarating live action,

1xbet зеркало рабочее – 1xBet официальный сайт (2025).4488

Casino non AAMS in Italia impatti sulla protezione dei giocatori.1447

Ein spannendes Spiel, bei dem Glück und Strategie auf der aufregenden Reise durch Plinko-Gewinnmögli

1xbet зеркало рабочее – 1xBet официальный сайт (2025).5382

– Официальный сайт онлайн казино Pokerdom (2025).2710

особенности и преимущества популярного онлайн покер-рума и казино.2352

Prêt à relever le défi palpitant où la prudence est essentielle, avec Chicken Road comme toile de fo

Kalandra váró kihívások minden ugrásnál éld át a Chicken Road izgalmait, ahol minden kis tűzhely a n

Desafios imprevisíveis aguardam os mais corajosos, onde o Chicken Road app transforma cada salto em

Tipobet Casino Giri Tipobet Gncel Giri 2025 Tipobet.1486

1xbet зеркало рабочее – 1xBet официальный сайт (2025).1906

Could surviving the fiery perils of Chicken Road turn you into a legendary fowl

Ascending through excitement, experience the exhilarating challenge of timing your escape with the A

Desafios emocionantes aguardam aqueles que buscam vencer no vibrante Chicken Road jogo!

Elevate your excitement with big wins and rapid payouts, complemented by the Betpawa apk for an unfo

Get Ready for a Fierce Adventure with Charge Buffalo!

Aviator O Manual Completo para Vencer na Crash-Game Online.1097

Mostbet – официальный сайт букмекерской конторы Мостбет.2597

Fishy Frenzy: The Most Popular Bonuses and Promotions in Royal Fishing

Meilleur Casino en Ligne 2025 – Top 10 des Casinos Fiables.963

188Bet casino trực tuyến tại Việt Nam tổng quan.90