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;
}