<?php
// Forza l'utilizzo di HTTPS
if($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'http') {
header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit();
}
?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#">
<head>
<meta property="fb:app_id" content="<?=getenv('FACEBOOK_APP_ID');?>" /><!-- ID Applicazione -->
</head>
<body>
<div id="like_buttons"></div><!-- Punto in cui includere tutti i bottoni -->
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function(){
// Elenco degli ID delle pagine da controllare
var page_list = [1234567890, 9876543210];
// Stampa i bottoni per le pagine
function printLikeButtons(pages){
var query = FB.Data.query('SELECT page_id,page_url FROM page WHERE page_id IN('+page_list.join(',')+')');
query.wait(function(rows){
var o = '';
var l = page_list.length;
for(var i=0;i<l;i++){
if(!checkPageList(page_list[i],pages)){
o += '<iframe src="//www.facebook.com/plugins/like.php?href='+encodeURIComponent(getPageUrl(page_list[i],rows))+'&send=false&layout=standard&width=70&show_faces=false&action=like&colorscheme=light&font&height=35&appId=<?=getenv('FACEBOOK_APP_ID');?>" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:70px; height:35px;" allowTransparency="true"></iframe>';
}
}
document.getElementById('like_buttons').innerHTML = o;
});
}
// Controlla se la pagina è presente nella lista
function checkPageList(page, pages){
var l = pages.length;
for(var i=0;i<l;i++){
if(pages[i]==page) return true;
}
return false;
}
// Restituisce l'URL della pagina
function getPageUrl(pid, pages){
var l = pages.length;
for(var i=0;i<l;i++){
if(pages[i].page_id==pid){
return pages[i].page_url;
}
}
return '';
}
// Inizializzo l'applicazione
FB.init({
appId: '<?=getenv('FACEBOOK_APP_ID');?>', // ID Applicazione
status: true, // Controlla il login
cookie: true, // Abilita i cookie
xfbml: true // Stampa il codice XFBML
});
// Controllo se l'utente ha fatto il login a Facebook e se è collegato all'applicazione
FB.getLoginStatus(function(response){
if (response.status === 'connected') {
//Se l'utente è collegato all'applicazione, stampo solo i bottoni delle pagine di cui non è fan
var uid = response.authResponse.userID;
var query = FB.Data.query('SELECT page_id FROM page_fan WHERE uid={0} AND page_id IN('+page_list.join(',')+')', response.authResponse.userID);
query.wait(function(rows){
var pages = [];
var l = rows.length;
for(var i=0;i<l;i++){
pages[pages.length] = rows[i].page_id;
}
printLikeButtons(pages);
});
} else {
//Se l'utente non è collegato, stampo i bottoni di tutte le pagine
printLikeButtons([]);
}
});
};
// Carico in modo asincrono l'SDK per JavaScript di Facebook
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
</body>
</html>