Azonosítsd a rajongóidat – Fan Gate

Közzétéve: 2011. június 28.

Miután a tegnapi bejegyzésben leírtuk, hogyan kell iframe alkalmazást létrehozni és azt a rajongói oldalinkhoz csatolni, nézzük meg, hogyan tudunk egy ilyen tabon más tartalmat megjeleníteni azoknak a felhasználóknak, akik már rajongói az oldalunknak és mást azoknak, akik még nem kedvelik. Azok se csüggedjenek, akik nagyon távolinak érzik maguktól a programozást, mert a bejegyzés végén lehetőség van példa fileok letöltésére, amiket szabadon alakíthattok és használhattok a saját oldalaitokon is.

Amikor egy az oldalunkhoz csatolt iFrame alkalmazás tabot betölt egy felhasználó a böngészőjében, a facebook különböző adatokat küld a Tab URL-ben beállított fileunk felé egy signed_request nevű változóban. Több hasznos információ mellett, ebben a változóban találjuk meg azt is, a látogató likeolta-e már az oldalunkat. Hogy ezt kiderítsük, fel kell dolgozni a signed_request tartalmát a következő kóddal:

<?php
$signed_request = $_REQUEST[„signed_request”];
list($encoded_sig, $payload) = explode(‘.’, $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, ‘-_’, ‘+/’)), true);
$has_liked = $data[„page”][„liked”];
?>

 

Túl sokat nem érdemes írni a fenti kódrészletről, a lényeges információ az utolsó sorban található: $has_liked = $data[„page”][„liked”];

A $has_liked változó tartalma fogja megmutatni, hogy rajongó látogatja-e az adott tabot, vagy sem. Ha a változó értéke 1, rajongóról beszélünk, ha 0 vagy nincs értéke, akkor pedig sima felhasználóról, vagy olyan látogatóról, akinél nem sikerült lekérni ezt az információt, pl nincs bejelentkezve.

Ennek tudatában egy egyszerű feltételes utasításban (if else) meghatározhatjuk, hogy mit lásson, aki rajongó és mit, aki nem:

<?php
if($has_liked){
?>
Üdvözöllek Rajongó! J
<?php
} else {
?>
Üdvözöllek Idegen! Lépj be rajongóink közé 😉
<?php
}
?>

 

Ennyi az egész.

Próbáljátok ki ti is a letölthető példa fileok átalakításával, vagy egy kész iframe tabon ideiglenesen cseréljétek le a Tab URL-t a következőre: http://be-soc.com/test/besocial/fangate/