File "font_manager.class.php"

Full path: /home/kosmetik/public_html/wp-content/plugins/unlimited-elements-for-elementor/inc_php/framework/font_manager.class.php
File size: 35.64 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

defined('UNLIMITED_ELEMENTS_INC') or die('Restricted access');
class UniteFontManagerUC
{
    const LIBRARY_REGULAR = "regular";
    const LIBRARY_BRANDS = "brands";
    const LIBRARY_LIGHT = "light";
    const LIBRARY_DUOTONE = "duotone";
    const LIBRARY_SOLID = "solid";
    private static $brandIcons;
    private function fetchIconsFromCss_getArrIcons()
    {
        $filename = "fontawesome-all.css";
        $pathCssFile = GlobalsUC::$pathLibrary . "font-awesome5/css/{$filename}";
        UniteFunctionsUC::validateFilepath($pathCssFile, "css file");
        $content = file_get_contents($pathCssFile);
        $arrLines = explode("\n", $content);
        $arrIcons = array();
        foreach ($arrLines as $line) {
            if (strpos($line, ":before {") === false) {
                continue;
            }
            $line = str_replace(":before {", "", $line);
            $line = str_replace(".fa-", "", $line);
            $line = trim($line);
            $icon = $line;
            $arrIcons[] = $icon;
        }
        return $arrIcons;
    }
    private function fetchIconsFromCss_getArrIconsFromSvg($type)
    {
        switch ($type) {
            case "brand":
                $filename = "fa-brands-400.svg";
                break;
            case "regular":
                $filename = "fa-regular-400.svg";
                break;
            case "solid":
                $filename = "fa-solid-900.svg";
                break;
            default:
                UniteFunctionsUC::throwError("Wrong icons type: {$type}");
                break;
        }
        $pathCssFile = GlobalsUC::$pathLibrary . "font-awesome5/css/{$filename}";
        UniteFunctionsUC::validateFilepath($pathCssFile, "css file");
        $content = file_get_contents($pathCssFile);
        $arrLines = explode("\n", $content);
        $arrIcons = array();
        foreach ($arrLines as $line) {
            if (strpos($line, "<glyph glyph-name=") === false) {
                continue;
            }
            $line = str_replace("<glyph glyph-name=", "", $line);
            $line = trim($line);
            $arrLine = explode(" ", $line);
            $line = $arrLine[0];
            $line = str_replace('"', "", $line);
            $line = trim($line);
            $icon = $line;
            $arrIcons[$icon] = true;
        }
        return $arrIcons;
    }
    private function printBrandIcons($arrBrandIcons)
    {
        $arrBrandIcons = array_keys($arrBrandIcons);
        $this->printIcons($arrBrandIcons);
    }
    private function printIcons($arrIcons)
    {
        $strJson = json_encode($arrIcons);
        ?>
		<textarea style="width:800px;height:300px;"><?php 
        echo esc_html($strJson);
        ?></textarea>
			
		<?php 
    }
    private function fetchIconsFromCss()
    {
        $arrIcons = $this->fetchIconsFromCss_getArrIcons();
        $arrBrandIcons = $this->fetchIconsFromCss_getArrIconsFromSvg("brand");
        $arrRegularIcons = $this->fetchIconsFromCss_getArrIconsFromSvg("regular");
        $arrSolidIcons = $this->fetchIconsFromCss_getArrIconsFromSvg("solid");
        $arrAllIcons = array();
        foreach ($arrIcons as $key => $icon) {
            $isBrand = isset($arrBrandIcons[$icon]);
            if ($isBrand) {
                $fullIcon = "fab fa-" . $icon;
                $arrAllIcons[] = $fullIcon;
            } else {
                $arrAllIcons[] = $icon;
            }
            $isRegular = isset($arrRegularIcons[$icon]);
            if ($isRegular == true) {
                unset($arrRegularIcons[$icon]);
                $fullIcon = "far fa-" . $icon;
                $arrAllIcons[] = $fullIcon;
            }
            $isLight = isset($arrLightIcons[$icon]);
            if ($isLight == true) {
                unset($arrLightIcons[$icon]);
                $fullIcon = "fal fa-" . $icon;
                $arrAllIcons[] = $fullIcon;
            }
        }
        $this->printIcons($arrAllIcons);
    }
    private function fa_fetchArrIconsFromSite()
    {
        $results = array();
        $html = file_get_contents('http://fontawesome.io/icons/');
        if (strpos($html, 'section id="web-application"') !== false) {
            if (preg_match_all('/<section.+>(.+)<\\/section>/iUs', $html, $m)) {
                $sections = $m[1];
                foreach ($sections as $section_html) {
                    if (preg_match('/<h2 class="page-header">(.+)<\\/h2>/iU', $section_html, $m)) {
                        $section_title = trim($m[1]);
                        if ($section_title) {
                            if (preg_match_all('/<\\/span>([-a-z0-9]+).*<\\/a><\\/div>/i', $section_html, $m)) {
                                $results[$section_title] = $m[1];
                            }
                        }
                    }
                }
            }
        }
        $total = array();
        foreach ($results as $cat) {
            foreach ($cat as $icon) {
                $total[] = $icon;
            }
        }
        dmp("original:");
        dmp($results);
        dmp("total icons:");
        dmp($total);
        exit;
    }
    public static function fa_getJsonIcons()
    {
        $jsonIconsFA5 = '["fab fa-500px","fab fa-accessible-icon","fab fa-accusoft","fab fa-acquisitions-incorporated","ad","address-book","far fa-address-book","address-card","far fa-address-card","adjust","fab fa-adn","fab fa-adobe","fab fa-adversal","fab fa-affiliatetheme","air-freshener","fab fa-airbnb","fab fa-algolia","align-center","align-justify","align-left","align-right","fab fa-alipay","allergies","fab fa-amazon","fab fa-amazon-pay","ambulance","american-sign-language-interpreting","fab fa-amilia","anchor","fab fa-android","fab fa-angellist","angle-double-down","angle-double-left","angle-double-right","angle-double-up","angle-down","angle-left","angle-right","angle-up","angry","far fa-angry","fab fa-angrycreative","fab fa-angular","ankh","fab fa-app-store","fab fa-app-store-ios","fab fa-apper","fab fa-apple","apple-alt","fab fa-apple-pay","archive","archway","arrow-alt-circle-down","far fa-arrow-alt-circle-down","arrow-alt-circle-left","far fa-arrow-alt-circle-left","arrow-alt-circle-right","far fa-arrow-alt-circle-right","arrow-alt-circle-up","far fa-arrow-alt-circle-up","arrow-circle-down","arrow-circle-left","arrow-circle-right","arrow-circle-up","arrow-down","arrow-left","arrow-right","arrow-up","arrows-alt","arrows-alt-h","arrows-alt-v","fab fa-artstation","assistive-listening-systems","asterisk","fab fa-asymmetrik","at","atlas","fab fa-atlassian","atom","fab fa-audible","audio-description","fab fa-autoprefixer","fab fa-avianex","fab fa-aviato","award","fab fa-aws","baby","baby-carriage","backspace","backward","bacon","balance-scale","balance-scale-left","balance-scale-right","ban","band-aid","fab fa-bandcamp","barcode","bars","baseball-ball","basketball-ball","bath","battery-empty","battery-full","battery-half","battery-quarter","battery-three-quarters","fab fa-battle-net","bed","beer","fab fa-behance","fab fa-behance-square","bell","far fa-bell","bell-slash","far fa-bell-slash","bezier-curve","bible","bicycle","biking","fab fa-bimobject","binoculars","biohazard","birthday-cake","fab fa-bitbucket","fab fa-bitcoin","fab fa-bity","fab fa-black-tie","fab fa-blackberry","blender","blender-phone","blind","blog","fab fa-blogger","fab fa-blogger-b","fab fa-bluetooth","fab fa-bluetooth-b","bold","bolt","bomb","bone","bong","book","book-dead","book-medical","book-open","book-reader","bookmark","far fa-bookmark","fab fa-bootstrap","border-all","border-none","border-style","bowling-ball","box","box-open","boxes","braille","brain","bread-slice","briefcase","briefcase-medical","broadcast-tower","broom","brush","fab fa-btc","fab fa-buffer","bug","building","far fa-building","bullhorn","bullseye","burn","fab fa-buromobelexperte","bus","bus-alt","business-time","fab fa-buysellads","calculator","calendar","far fa-calendar","calendar-alt","far fa-calendar-alt","calendar-check","far fa-calendar-check","calendar-day","calendar-minus","far fa-calendar-minus","calendar-plus","far fa-calendar-plus","calendar-times","far fa-calendar-times","calendar-week","camera","camera-retro","campground","fab fa-canadian-maple-leaf","candy-cane","cannabis","capsules","car","car-alt","car-battery","car-crash","car-side","caret-down","caret-left","caret-right","caret-square-down","far fa-caret-square-down","caret-square-left","far fa-caret-square-left","caret-square-right","far fa-caret-square-right","caret-square-up","far fa-caret-square-up","caret-up","carrot","cart-arrow-down","cart-plus","cash-register","cat","fab fa-cc-amazon-pay","fab fa-cc-amex","fab fa-cc-apple-pay","fab fa-cc-diners-club","fab fa-cc-discover","fab fa-cc-jcb","fab fa-cc-mastercard","fab fa-cc-paypal","fab fa-cc-stripe","fab fa-cc-visa","fab fa-centercode","fab fa-centos","certificate","chair","chalkboard","chalkboard-teacher","charging-station","chart-area","chart-bar","far fa-chart-bar","chart-line","chart-pie","check","check-circle","far fa-check-circle","check-double","check-square","far fa-check-square","cheese","chess","chess-bishop","chess-board","chess-king","chess-knight","chess-pawn","chess-queen","chess-rook","chevron-circle-down","chevron-circle-left","chevron-circle-right","chevron-circle-up","chevron-down","chevron-left","chevron-right","chevron-up","child","fab fa-chrome","fab fa-chromecast","church","circle","far fa-circle","circle-notch","city","clinic-medical","clipboard","far fa-clipboard","clipboard-check","clipboard-list","clock","far fa-clock","clone","far fa-clone","closed-captioning","far fa-closed-captioning","cloud","cloud-download-alt","cloud-meatball","cloud-moon","cloud-moon-rain","cloud-rain","cloud-showers-heavy","cloud-sun","cloud-sun-rain","cloud-upload-alt","fab fa-cloudscale","fab fa-cloudsmith","fab fa-cloudversify","cocktail","code","code-branch","fab fa-codepen","fab fa-codiepie","coffee","cog","cogs","coins","columns","comment","far fa-comment","comment-alt","far fa-comment-alt","comment-dollar","comment-dots","far fa-comment-dots","comment-medical","comment-slash","comments","far fa-comments","comments-dollar","compact-disc","compass","far fa-compass","compress","compress-arrows-alt","concierge-bell","fab fa-confluence","fab fa-connectdevelop","fab fa-contao","cookie","cookie-bite","copy","far fa-copy","copyright","far fa-copyright","couch","fab fa-cpanel","fab fa-creative-commons","fab fa-creative-commons-by","fab fa-creative-commons-nc","fab fa-creative-commons-nc-eu","fab fa-creative-commons-nc-jp","fab fa-creative-commons-nd","fab fa-creative-commons-pd","fab fa-creative-commons-pd-alt","fab fa-creative-commons-remix","fab fa-creative-commons-sa","fab fa-creative-commons-sampling","fab fa-creative-commons-sampling-plus","fab fa-creative-commons-share","fab fa-creative-commons-zero","credit-card","far fa-credit-card","fab fa-critical-role","crop","crop-alt","cross","crosshairs","crow","crown","crutch","fab fa-css3","fab fa-css3-alt","cube","cubes","cut","fab fa-cuttlefish","fab fa-d-and-d","fab fa-d-and-d-beyond","fab fa-dashcube","database","deaf","fab fa-delicious","democrat","fab fa-deploydog","fab fa-deskpro","desktop","fab fa-dev","fab fa-deviantart","dharmachakra","fab fa-dhl","diagnoses","fab fa-diaspora","dice","dice-d20","dice-d6","dice-five","dice-four","dice-one","dice-six","dice-three","dice-two","fab fa-digg","fab fa-digital-ocean","digital-tachograph","directions","fab fa-discord","fab fa-discourse","divide","dizzy","far fa-dizzy","dna","fab fa-dochub","fab fa-docker","dog","dollar-sign","dolly","dolly-flatbed","donate","door-closed","door-open","dot-circle","far fa-dot-circle","dove","download","fab fa-draft2digital","drafting-compass","dragon","draw-polygon","fab fa-dribbble","fab fa-dribbble-square","fab fa-dropbox","drum","drum-steelpan","drumstick-bite","fab fa-drupal","dumbbell","dumpster","dumpster-fire","dungeon","fab fa-dyalog","fab fa-earlybirds","fab fa-ebay","fab fa-edge","edit","far fa-edit","egg","eject","fab fa-elementor","ellipsis-h","ellipsis-v","fab fa-ello","fab fa-ember","fab fa-empire","envelope","far fa-envelope","envelope-open","far fa-envelope-open","envelope-open-text","envelope-square","fab fa-envira","equals","eraser","fab fa-erlang","fab fa-ethereum","ethernet","fab fa-etsy","euro-sign","fab fa-evernote","exchange-alt","exclamation","exclamation-circle","exclamation-triangle","expand","expand-arrows-alt","fab fa-expeditedssl","external-link-alt","external-link-square-alt","eye","far fa-eye","eye-dropper","eye-slash","far fa-eye-slash","fab fa-facebook","fab fa-facebook-f","fab fa-facebook-messenger","fab fa-facebook-square","fan","fab fa-fantasy-flight-games","fast-backward","fast-forward","fax","feather","feather-alt","fab fa-fedex","fab fa-fedora","female","fighter-jet","fab fa-figma","file","far fa-file","file-alt","far fa-file-alt","file-archive","far fa-file-archive","file-audio","far fa-file-audio","file-code","far fa-file-code","file-contract","file-csv","file-download","file-excel","far fa-file-excel","file-export","file-image","far fa-file-image","file-import","file-invoice","file-invoice-dollar","file-medical","file-medical-alt","file-pdf","far fa-file-pdf","file-powerpoint","far fa-file-powerpoint","file-prescription","file-signature","file-upload","file-video","far fa-file-video","file-word","far fa-file-word","fill","fill-drip","film","filter","fingerprint","fire","fire-alt","fire-extinguisher","fab fa-firefox","first-aid","fab fa-first-order","fab fa-first-order-alt","fab fa-firstdraft","fish","fist-raised","flag","far fa-flag","flag-checkered","flag-usa","flask","fab fa-flickr","fab fa-flipboard","flushed","far fa-flushed","fab fa-fly","folder","far fa-folder","folder-minus","folder-open","far fa-folder-open","folder-plus","font","fab fa-font-awesome","fab fa-font-awesome-alt","fab fa-font-awesome-flag","font-awesome-logo-full","fab fa-fonticons","fab fa-fonticons-fi","football-ball","fab fa-fort-awesome","fab fa-fort-awesome-alt","fab fa-forumbee","forward","fab fa-foursquare","fab fa-free-code-camp","fab fa-freebsd","frog","frown","far fa-frown","frown-open","far fa-frown-open","fab fa-fulcrum","funnel-dollar","futbol","far fa-futbol","fab fa-galactic-republic","fab fa-galactic-senate","gamepad","gas-pump","gavel","gem","far fa-gem","genderless","fab fa-get-pocket","fab fa-gg","fab fa-gg-circle","ghost","gift","gifts","fab fa-git","fab fa-git-alt","fab fa-git-square","fab fa-github","fab fa-github-alt","fab fa-github-square","fab fa-gitkraken","fab fa-gitlab","fab fa-gitter","glass-cheers","glass-martini","glass-martini-alt","glass-whiskey","glasses","fab fa-glide","fab fa-glide-g","globe","globe-africa","globe-americas","globe-asia","globe-europe","fab fa-gofore","golf-ball","fab fa-goodreads","fab fa-goodreads-g","fab fa-google","fab fa-google-drive","fab fa-google-play","fab fa-google-plus","fab fa-google-plus-g","fab fa-google-plus-square","fab fa-google-wallet","gopuram","graduation-cap","fab fa-gratipay","fab fa-grav","greater-than","greater-than-equal","grimace","far fa-grimace","grin","far fa-grin","grin-alt","far fa-grin-alt","grin-beam","far fa-grin-beam","grin-beam-sweat","far fa-grin-beam-sweat","grin-hearts","far fa-grin-hearts","grin-squint","far fa-grin-squint","grin-squint-tears","far fa-grin-squint-tears","grin-stars","far fa-grin-stars","grin-tears","far fa-grin-tears","grin-tongue","far fa-grin-tongue","grin-tongue-squint","far fa-grin-tongue-squint","grin-tongue-wink","far fa-grin-tongue-wink","grin-wink","far fa-grin-wink","grip-horizontal","grip-lines","grip-lines-vertical","grip-vertical","fab fa-gripfire","fab fa-grunt","guitar","fab fa-gulp","h-square","fab fa-hacker-news","fab fa-hacker-news-square","fab fa-hackerrank","hamburger","hammer","hamsa","hand-holding","hand-holding-heart","hand-holding-usd","hand-lizard","far fa-hand-lizard","hand-middle-finger","hand-paper","far fa-hand-paper","hand-peace","far fa-hand-peace","hand-point-down","far fa-hand-point-down","hand-point-left","far fa-hand-point-left","hand-point-right","far fa-hand-point-right","hand-point-up","far fa-hand-point-up","hand-pointer","far fa-hand-pointer","hand-rock","far fa-hand-rock","hand-scissors","far fa-hand-scissors","hand-spock","far fa-hand-spock","hands","hands-helping","handshake","far fa-handshake","hanukiah","hard-hat","hashtag","hat-wizard","haykal","hdd","far fa-hdd","heading","headphones","headphones-alt","headset","heart","far fa-heart","heart-broken","heartbeat","helicopter","highlighter","hiking","hippo","fab fa-hips","fab fa-hire-a-helper","history","hockey-puck","holly-berry","home","fab fa-hooli","fab fa-hornbill","horse","horse-head","hospital","far fa-hospital","hospital-alt","hospital-symbol","hot-tub","hotdog","hotel","fab fa-hotjar","hourglass","far fa-hourglass","hourglass-end","hourglass-half","hourglass-start","house-damage","fab fa-houzz","hryvnia","fab fa-html5","fab fa-hubspot","i-cursor","ice-cream","icicles","icons","id-badge","far fa-id-badge","id-card","far fa-id-card","id-card-alt","igloo","image","far fa-image","images","far fa-images","fab fa-imdb","inbox","indent","industry","infinity","info","info-circle","fab fa-instagram","fab fa-intercom","fab fa-internet-explorer","fab fa-invision","fab fa-ioxhost","italic","fab fa-itch-io","fab fa-itunes","fab fa-itunes-note","fab fa-java","jedi","fab fa-jedi-order","fab fa-jenkins","fab fa-jira","fab fa-joget","joint","fab fa-joomla","journal-whills","fab fa-js","fab fa-js-square","fab fa-jsfiddle","kaaba","fab fa-kaggle","key","fab fa-keybase","keyboard","far fa-keyboard","fab fa-keycdn","khanda","fab fa-kickstarter","fab fa-kickstarter-k","kiss","far fa-kiss","kiss-beam","far fa-kiss-beam","kiss-wink-heart","far fa-kiss-wink-heart","kiwi-bird","fab fa-korvue","landmark","language","laptop","laptop-code","laptop-medical","fab fa-laravel","fab fa-lastfm","fab fa-lastfm-square","laugh","far fa-laugh","laugh-beam","far fa-laugh-beam","laugh-squint","far fa-laugh-squint","laugh-wink","far fa-laugh-wink","layer-group","leaf","fab fa-leanpub","lemon","far fa-lemon","fab fa-less","less-than","less-than-equal","level-down-alt","level-up-alt","life-ring","far fa-life-ring","lightbulb","far fa-lightbulb","fab fa-line","link","fab fa-linkedin","fab fa-linkedin-in","fab fa-linode","fab fa-linux","lira-sign","list","list-alt","far fa-list-alt","list-ol","list-ul","location-arrow","lock","lock-open","long-arrow-alt-down","long-arrow-alt-left","long-arrow-alt-right","long-arrow-alt-up","low-vision","luggage-cart","fab fa-lyft","fab fa-magento","magic","magnet","mail-bulk","fab fa-mailchimp","male","fab fa-mandalorian","map","far fa-map","map-marked","map-marked-alt","map-marker","map-marker-alt","map-pin","map-signs","fab fa-markdown","marker","mars","mars-double","mars-stroke","mars-stroke-h","mars-stroke-v","mask","fab fa-mastodon","fab fa-maxcdn","medal","fab fa-medapps","fab fa-medium","fab fa-medium-m","medkit","fab fa-medrt","fab fa-meetup","fab fa-megaport","meh","far fa-meh","meh-blank","far fa-meh-blank","meh-rolling-eyes","far fa-meh-rolling-eyes","memory","fab fa-mendeley","menorah","mercury","meteor","microchip","microphone","microphone-alt","microphone-alt-slash","microphone-slash","microscope","fab fa-microsoft","minus","minus-circle","minus-square","far fa-minus-square","mitten","fab fa-mix","fab fa-mixcloud","fab fa-mizuni","mobile","mobile-alt","fab fa-modx","fab fa-monero","money-bill","money-bill-alt","far fa-money-bill-alt","money-bill-wave","money-bill-wave-alt","money-check","money-check-alt","monument","moon","far fa-moon","mortar-pestle","mosque","motorcycle","mountain","mouse-pointer","mug-hot","music","fab fa-napster","fab fa-neos","network-wired","neuter","newspaper","far fa-newspaper","fab fa-nimblr","fab fa-node","fab fa-node-js","not-equal","notes-medical","fab fa-npm","fab fa-ns8","fab fa-nutritionix","object-group","far fa-object-group","object-ungroup","far fa-object-ungroup","fab fa-odnoklassniki","fab fa-odnoklassniki-square","oil-can","fab fa-old-republic","om","fab fa-opencart","fab fa-openid","fab fa-opera","fab fa-optin-monster","fab fa-osi","otter","outdent","fab fa-page4","fab fa-pagelines","pager","paint-brush","paint-roller","palette","fab fa-palfed","pallet","paper-plane","far fa-paper-plane","paperclip","parachute-box","paragraph","parking","passport","pastafarianism","paste","fab fa-patreon","pause","pause-circle","far fa-pause-circle","paw","fab fa-paypal","peace","pen","pen-alt","pen-fancy","pen-nib","pen-square","pencil-alt","pencil-ruler","fab fa-penny-arcade","people-carry","pepper-hot","percent","percentage","fab fa-periscope","person-booth","fab fa-phabricator","fab fa-phoenix-framework","fab fa-phoenix-squadron","phone","phone-alt","phone-slash","phone-square","phone-square-alt","phone-volume","photo-video","fab fa-php","fab fa-pied-piper","fab fa-pied-piper-alt","fab fa-pied-piper-hat","fab fa-pied-piper-pp","piggy-bank","pills","fab fa-pinterest","fab fa-pinterest-p","fab fa-pinterest-square","pizza-slice","place-of-worship","plane","plane-arrival","plane-departure","play","play-circle","far fa-play-circle","fab fa-playstation","plug","plus","plus-circle","plus-square","far fa-plus-square","podcast","poll","poll-h","poo","poo-storm","poop","portrait","pound-sign","power-off","pray","praying-hands","prescription","prescription-bottle","prescription-bottle-alt","print","procedures","fab fa-product-hunt","project-diagram","fab fa-pushed","puzzle-piece","fab fa-python","fab fa-qq","qrcode","question","question-circle","far fa-question-circle","quidditch","fab fa-quinscape","fab fa-quora","quote-left","quote-right","quran","fab fa-r-project","radiation","radiation-alt","rainbow","random","fab fa-raspberry-pi","fab fa-ravelry","fab fa-react","fab fa-reacteurope","fab fa-readme","fab fa-rebel","receipt","recycle","fab fa-red-river","fab fa-reddit","fab fa-reddit-alien","fab fa-reddit-square","fab fa-redhat","redo","redo-alt","registered","far fa-registered","remove-format","fab fa-renren","reply","reply-all","fab fa-replyd","republican","fab fa-researchgate","fab fa-resolving","restroom","retweet","fab fa-rev","ribbon","ring","road","robot","rocket","fab fa-rocketchat","fab fa-rockrms","route","rss","rss-square","ruble-sign","ruler","ruler-combined","ruler-horizontal","ruler-vertical","running","rupee-sign","sad-cry","far fa-sad-cry","sad-tear","far fa-sad-tear","fab fa-safari","fab fa-salesforce","fab fa-sass","satellite","satellite-dish","save","far fa-save","fab fa-schlix","school","screwdriver","fab fa-scribd","scroll","sd-card","search","search-dollar","search-location","search-minus","search-plus","fab fa-searchengin","seedling","fab fa-sellcast","fab fa-sellsy","server","fab fa-servicestack","shapes","share","share-alt","share-alt-square","share-square","far fa-share-square","shekel-sign","shield-alt","ship","shipping-fast","fab fa-shirtsinbulk","shoe-prints","shopping-bag","shopping-basket","shopping-cart","fab fa-shopware","shower","shuttle-van","sign","sign-in-alt","sign-language","sign-out-alt","signal","signature","sim-card","fab fa-simplybuilt","fab fa-sistrix","sitemap","fab fa-sith","skating","fab fa-sketch","skiing","skiing-nordic","skull","skull-crossbones","fab fa-skyatlas","fab fa-skype","fab fa-slack","fab fa-slack-hash","slash","sleigh","sliders-h","fab fa-slideshare","smile","far fa-smile","smile-beam","far fa-smile-beam","smile-wink","far fa-smile-wink","smog","smoking","smoking-ban","sms","fab fa-snapchat","fab fa-snapchat-ghost","fab fa-snapchat-square","snowboarding","snowflake","far fa-snowflake","snowman","snowplow","socks","solar-panel","sort","sort-alpha-down","sort-alpha-down-alt","sort-alpha-up","sort-alpha-up-alt","sort-amount-down","sort-amount-down-alt","sort-amount-up","sort-amount-up-alt","sort-down","sort-numeric-down","sort-numeric-down-alt","sort-numeric-up","sort-numeric-up-alt","sort-up","fab fa-soundcloud","fab fa-sourcetree","spa","space-shuttle","fab fa-speakap","fab fa-speaker-deck","spell-check","spider","spinner","splotch","fab fa-spotify","spray-can","square","far fa-square","square-full","square-root-alt","fab fa-squarespace","fab fa-stack-exchange","fab fa-stack-overflow","fab fa-stackpath","stamp","star","far fa-star","star-and-crescent","star-half","far fa-star-half","star-half-alt","star-of-david","star-of-life","fab fa-staylinked","fab fa-steam","fab fa-steam-square","fab fa-steam-symbol","step-backward","step-forward","stethoscope","fab fa-sticker-mule","sticky-note","far fa-sticky-note","stop","stop-circle","far fa-stop-circle","stopwatch","store","store-alt","fab fa-strava","stream","street-view","strikethrough","fab fa-stripe","fab fa-stripe-s","stroopwafel","fab fa-studiovinari","fab fa-stumbleupon","fab fa-stumbleupon-circle","subscript","subway","suitcase","suitcase-rolling","sun","far fa-sun","fab fa-superpowers","superscript","fab fa-supple","surprise","far fa-surprise","fab fa-suse","swatchbook","swimmer","swimming-pool","fab fa-symfony","synagogue","sync","sync-alt","syringe","table","table-tennis","tablet","tablet-alt","tablets","tachometer-alt","tag","tags","tape","tasks","taxi","fab fa-teamspeak","teeth","teeth-open","fab fa-telegram","fab fa-telegram-plane","temperature-high","temperature-low","fab fa-tencent-weibo","tenge","terminal","text-height","text-width","th","th-large","th-list","fab fa-the-red-yeti","theater-masks","fab fa-themeco","fab fa-themeisle","thermometer","thermometer-empty","thermometer-full","thermometer-half","thermometer-quarter","thermometer-three-quarters","fab fa-think-peaks","thumbs-down","far fa-thumbs-down","thumbs-up","far fa-thumbs-up","thumbtack","ticket-alt","times","times-circle","far fa-times-circle","tint","tint-slash","tired","far fa-tired","toggle-off","toggle-on","toilet","toilet-paper","toolbox","tools","tooth","torah","torii-gate","tractor","fab fa-trade-federation","trademark","traffic-light","train","tram","transgender","transgender-alt","trash","trash-alt","far fa-trash-alt","trash-restore","trash-restore-alt","tree","fab fa-trello","fab fa-tripadvisor","trophy","truck","truck-loading","truck-monster","truck-moving","truck-pickup","tshirt","tty","fab fa-tumblr","fab fa-tumblr-square","tv","fab fa-twitch","fab fa-twitter","fab fa-twitter-square","fab fa-typo3","fab fa-uber","fab fa-ubuntu","fab fa-uikit","umbrella","umbrella-beach","underline","undo","undo-alt","fab fa-uniregistry","universal-access","university","unlink","unlock","unlock-alt","fab fa-untappd","upload","fab fa-ups","fab fa-usb","user","far fa-user","user-alt","user-alt-slash","user-astronaut","user-check","user-circle","far fa-user-circle","user-clock","user-cog","user-edit","user-friends","user-graduate","user-injured","user-lock","user-md","user-minus","user-ninja","user-nurse","user-plus","user-secret","user-shield","user-slash","user-tag","user-tie","user-times","users","users-cog","fab fa-usps","fab fa-ussunnah","utensil-spoon","utensils","fab fa-vaadin","vector-square","venus","venus-double","venus-mars","fab fa-viacoin","fab fa-viadeo","fab fa-viadeo-square","vial","vials","fab fa-viber","video","video-slash","vihara","fab fa-vimeo","fab fa-vimeo-square","fab fa-vimeo-v","fab fa-vine","fab fa-vk","fab fa-vnv","voicemail","volleyball-ball","volume-down","volume-mute","volume-off","volume-up","vote-yea","vr-cardboard","fab fa-vuejs","walking","wallet","warehouse","water","wave-square","fab fa-waze","fab fa-weebly","fab fa-weibo","weight","weight-hanging","fab fa-weixin","fab fa-whatsapp","fab fa-whatsapp-square","wheelchair","fab fa-whmcs","wifi","fab fa-wikipedia-w","wind","window-close","far fa-window-close","window-maximize","far fa-window-maximize","window-minimize","far fa-window-minimize","window-restore","far fa-window-restore","fab fa-windows","wine-bottle","wine-glass","wine-glass-alt","fab fa-wix","fab fa-wizards-of-the-coast","fab fa-wolf-pack-battalion","won-sign","fab fa-wordpress","fab fa-wordpress-simple","fab fa-wpbeginner","fab fa-wpexplorer","fab fa-wpforms","fab fa-wpressr","wrench","x-ray","fab fa-xbox","fab fa-xing","fab fa-xing-square","fab fa-y-combinator","fab fa-yahoo","fab fa-yammer","fab fa-yandex","fab fa-yandex-international","fab fa-yarn","fab fa-yelp","yen-sign","yin-yang","fab fa-yoast","fab fa-youtube","fab fa-youtube-square","fab fa-zhihu"]';
        return $jsonIconsFA5;
    }
    private static function fa_getArrBrandIcons()
    {
        if (!empty(self::$brandIcons)) {
            return self::$brandIcons;
        }
        $jsonIcons = '["twitter-square","facebook-square","linkedin","github-square","twitter","facebook","github","pinterest","pinterest-square","google-plus-square","google-plus-g","linkedin-in","github-alt","maxcdn","html5","css3","btc","youtube","xing","xing-square","dropbox","stack-overflow","instagram","flickr","adn","bitbucket","tumblr","tumblr-square","apple","windows","android","linux","dribbble","skype","foursquare","trello","gratipay","vk","weibo","renren","pagelines","stack-exchange","vimeo-square","slack","wordpress","openid","yahoo","google","reddit","reddit-square","stumbleupon-circle","stumbleupon","delicious","digg","pied-piper-pp","pied-piper-alt","drupal","joomla","behance","behance-square","steam","steam-square","spotify","deviantart","soundcloud","vine","codepen","jsfiddle","rebel","empire","git-square","git","hacker-news","tencent-weibo","qq","weixin","slideshare","twitch","yelp","paypal","google-wallet","cc-visa","cc-mastercard","cc-discover","cc-amex","cc-paypal","cc-stripe","lastfm","lastfm-square","ioxhost","angellist","buysellads","connectdevelop","dashcube","forumbee","leanpub","sellsy","shirtsinbulk","simplybuilt","skyatlas","pinterest-p","whatsapp","viacoin","medium","y-combinator","optin-monster","opencart","expeditedssl","cc-jcb","cc-diners-club","creative-commons","gg","gg-circle","tripadvisor","odnoklassniki","odnoklassniki-square","get-pocket","wikipedia-w","safari","chrome","firefox","opera","internet-explorer","contao","500px","amazon","houzz","vimeo-v","black-tie","fonticons","reddit-alien","edge","codiepie","modx","fort-awesome","usb","product-hunt","mixcloud","scribd","bluetooth","bluetooth-b","gitlab","wpbeginner","wpforms","envira","glide","glide-g","viadeo","viadeo-square","snapchat","snapchat-ghost","snapchat-square","pied-piper","first-order","yoast","themeisle","google-plus","font-awesome","linode","quora","free-code-camp","telegram","bandcamp","grav","etsy","imdb","ravelry","sellcast","superpowers","wpexplorer","meetup","font-awesome-alt","accessible-icon","accusoft","adversal","affiliatetheme","algolia","amilia","angrycreative","app-store","app-store-ios","apper","asymmetrik","audible","avianex","aws","bimobject","bitcoin","bity","blackberry","blogger","blogger-b","buromobelexperte","centercode","cloudscale","cloudsmith","cloudversify","cpanel","css3-alt","cuttlefish","d-and-d","deploydog","deskpro","digital-ocean","discord","discourse","dochub","docker","draft2digital","dribbble-square","dyalog","earlybirds","erlang","facebook-f","facebook-messenger","firstdraft","fonticons-fi","fort-awesome-alt","freebsd","gitkraken","gofore","goodreads","goodreads-g","google-drive","google-play","gripfire","grunt","gulp","hacker-news-square","hire-a-helper","hotjar","hubspot","itunes","itunes-note","jenkins","joget","js","js-square","keycdn","kickstarter","kickstarter-k","laravel","line","lyft","magento","medapps","medium-m","medrt","microsoft","mix","mizuni","monero","napster","node-js","npm","ns8","nutritionix","page4","palfed","patreon","periscope","phabricator","phoenix-framework","playstation","pushed","python","red-river","wpressr","replyd","resolving","rocketchat","rockrms","schlix","searchengin","servicestack","sistrix","slack-hash","speakap","staylinked","steam-symbol","sticker-mule","studiovinari","supple","telegram-plane","uber","uikit","uniregistry","untappd","ussunnah","vaadin","viber","vimeo","vnv","whatsapp-square","whmcs","wordpress-simple","xbox","yandex","yandex-international","apple-pay","cc-apple-pay","fly","node","osi","react","autoprefixer","less","sass","vuejs","angular","aviato","ember","font-awesome-flag","gitter","hooli","strava","stripe","stripe-s","typo3","amazon-pay","cc-amazon-pay","ethereum","korvue","elementor","youtube-square","flipboard","hips","php","quinscape","readme","java","pied-piper-hat","creative-commons-by","creative-commons-nc","creative-commons-nc-eu","creative-commons-nc-jp","creative-commons-nd","creative-commons-pd","creative-commons-pd-alt","creative-commons-remix","creative-commons-sa","creative-commons-sampling","creative-commons-sampling-plus","creative-commons-share","creative-commons-zero","ebay","keybase","mastodon","r-project","researchgate","teamspeak","first-order-alt","fulcrum","galactic-republic","galactic-senate","jedi-order","mandalorian","old-republic","phoenix-squadron","sith","trade-federation","wolf-pack-battalion","hornbill","mailchimp","megaport","nimblr","rev","shopware","squarespace","themeco","weebly","wix","ello","hackerrank","kaggle","markdown","neos","zhihu","alipay","the-red-yeti","acquisitions-incorporated","critical-role","d-and-d-beyond","dev","fantasy-flight-games","penny-arcade","wizards-of-the-coast","think-peaks","reacteurope","adobe","artstation","atlassian","canadian-maple-leaf","centos","confluence","dhl","diaspora","fedex","fedora","figma","intercom","invision","jira","mendeley","raspberry-pi","redhat","sketch","sourcetree","suse","ubuntu","ups","usps","yarn","airbnb","battle-net","bootstrap","buffer","chromecast","evernote","itch-io","salesforce","speaker-deck","symfony","waze","yammer","git-alt","stackpath"]';
        $arrIcons = UniteFunctionsUC::jsonDecode($jsonIcons);
        self::$brandIcons = UniteFunctionsUC::arrayToAssoc($arrIcons);
        return self::$brandIcons;
    }
    public static function fa_getIconLibrary($icon)
    {
        if (empty($icon)) {
            return self::LIBRARY_SOLID;
        }
        if (strpos($icon, "far fa-") !== false) {
            return self::LIBRARY_REGULAR;
        }
        if (strpos($icon, "fas fa-") !== false) {
            return self::LIBRARY_SOLID;
        }
        if (strpos($icon, "fal fa-") !== false) {
            return self::LIBRARY_LIGHT;
        }
        if (strpos($icon, "fab fa-") !== false) {
            return self::LIBRARY_BRANDS;
        }
        return self::LIBRARY_SOLID;
    }
    public static function fa_convertIconTo5($icon)
    {
        if (is_array($icon)) {
            return $icon;
        }
        if (strpos($icon, "fa fa-") === false) {
            return $icon;
        }
        $iconName = str_replace("fa fa-", "", $icon);
        if (empty($iconName)) {
            return $icon;
        }
        if (strpos($iconName, "-o") !== false) {
            $iconName = str_replace("-o", "", $iconName);
            $icon = "far fa-" . $iconName;
            return $icon;
        }
        switch ($iconName) {
            case "picture":
                return "far fa-image";
                break;
            case "close":
                return "far fa-times";
                break;
        }
        $arrBrandIcons = self::fa_getArrBrandIcons();
        if (isset($arrBrandIcons[$iconName])) {
            $icon = "fab fa-" . $iconName;
            return $icon;
        }
        $icon = "fas fa-" . $iconName;
        return $icon;
    }
    public static function fa_convertIconTo4($icon)
    {
        if (empty($icon)) {
            return "";
        }
        if (strpos($icon, "fa fa-") !== false) {
            return $icon;
        }
        $icon = str_replace("fal fa-", "fa fa-", $icon);
        $icon = str_replace("far fa-", "fa fa-", $icon);
        $icon = str_replace("fa-close", "fa-times", $icon);
        $icon = str_replace("fa-image", "fa-picture-o", $icon);
        $icon = str_replace("fab fa-", "fa fa-", $icon);
        return $icon;
    }
    public static function fa_convertIcon($icon)
    {
        $icon = self::fa_convertIconTo5($icon);
        return $icon;
    }
    public static function getIcon($name, $arrIcons)
    {
        $icon = UniteFunctionsUC::getVal($arrIcons, $name);
        if (empty($icon)) {
            $strIcons = print_r($arrIcons, true);
            UniteFunctionsUC::throwError("Icon {$name} not found. there are the icons: {$strIcons}");
        }
        return $icon;
    }
    public function fetchIcons()
    {
        $this->fetchIconsFromCss();
    }
}