Frontend\Core\Engine\Footer::getFacebookHtml PHP Method

getFacebookHtml() protected method

Builds the HTML needed for Facebook to be initialized
protected getFacebookHtml ( string $facebookAppId ) : string
$facebookAppId string The application id used to interact with FB
return string HTML and JS needed to initialize FB JavaScript
    protected function getFacebookHtml($facebookAppId)
    {
        // build correct locale
        $locale = mb_strtolower(LANGUAGE) . '_' . mb_strtoupper(LANGUAGE);
        // reform some locale
        switch (LANGUAGE) {
            case 'en':
                $locale = 'en_US';
                break;
            case 'zh':
                $locale = 'zh_CN';
                break;
            case 'cs':
                $locale = 'cs_CZ';
                break;
            case 'el':
                $locale = 'el_GR';
                break;
            case 'ja':
                $locale = 'ja_JP';
                break;
            case 'sv':
                $locale = 'sv_SE';
                break;
            case 'uk':
                $locale = 'uk_UA';
                break;
        }
        // add the fb-root div
        $facebookHtml = "\n" . '<div id="fb-root"></div>' . "\n";
        // add facebook JavaScript
        $facebookHtml .= '<script>' . "\n";
        if ($facebookAppId !== null) {
            $facebookHtml .= '    window.fbAsyncInit = function() {' . "\n";
            $facebookHtml .= '        FB.init({' . "\n";
            $facebookHtml .= '            appId: "' . $facebookAppId . '",' . "\n";
            $facebookHtml .= '            status: true,' . "\n";
            $facebookHtml .= '            cookie: true,' . "\n";
            $facebookHtml .= '            xfbml: true,' . "\n";
            $facebookHtml .= '            oauth: true' . "\n";
            $facebookHtml .= '        });' . "\n";
            $facebookHtml .= '        jsFrontend.facebook.afterInit();' . "\n";
            $facebookHtml .= '    };' . "\n";
        }
        $facebookHtml .= '    (function(d, s, id){' . "\n";
        $facebookHtml .= '        var js, fjs = d.getElementsByTagName(s)[0];' . "\n";
        $facebookHtml .= '        if (d.getElementById(id)) {return;}' . "\n";
        $facebookHtml .= '        js = d.createElement(s); js.id = id;' . "\n";
        $facebookHtml .= '        js.src = "//connect.facebook.net/' . $locale . '/all.js";' . "\n";
        $facebookHtml .= '        fjs.parentNode.insertBefore(js, fjs);' . "\n";
        $facebookHtml .= '    }(document, \'script\', \'facebook-jssdk\'));' . "\n";
        $facebookHtml .= '</script>';
        return $facebookHtml;
    }