Get the full commented source code of

HTML5 Suika Watermelon Game

Talking about Facebook and Php.

Welcome to the 5th step.

Let’s make a small recap:

Step 1: Creation of the application itself

Step 2: Publishing a text on the user’s status

Step 3: Publishing text, links and images on the user’s wall

Step 4: Inviting friends to use the application

Now it’s time to make the application post a notification to users you invite to join the app.

I mean this one:

invite

The script now is this one:

require_login();

$friends = $facebook->api_client->friends_get();

echo "

Hello , you have ".count($friends)." friends"; foreach($friends as $friend){ $infos.=$friend.","; } $infos = substr($infos,0,strlen($infos)-1); $gender=$facebook->api_client->users_getInfo($infos,'sex'); $gender_array = array(); foreach($gender as $gendervalue){ $gender_array[$gendervalue[sex]]++; } $male = round($gender_array[male]*100/($gender_array[male]+$gender_array[female]),2); $female = 100-$male; echo "

  • Males: $male%
  • Females: $female%
"; $message = "has ".count($friends)." friends. $male% of them are male. $female% are female"; $image = array(); $image[type]="image"; $image[src]="http://www.gamemummy.com/facebook/genderz_demo/genderz.png"; $image[href]="http://apps.facebook.com/genderz_demo/"; $attachment = array(); $attachment[name] = "Try the application!!"; $attachment[href] = "http://apps.facebook.com/genderz_demo/"; $attachment = "{*actor*} has ".count($friends)." friends"; $attachment[description] = "powered by genderz_demo"; $attachment[media] = array($image); $has_permission = $facebook->api_client->users_hasAppPermission("publish_stream"); if(!$has_permission){ echo "
Publish results on your wall!!"; } else{ $facebook->api_client->stream_publish($message,$attachment); } if(isset($_POST[ids])){ $message = "is inviting you to use genderz_demo!! Try it!"; $ids_list = implode(",",$_POST[ids]); $facebook->api_client->notifications_send($ids_list,$message,'user_to_user'); echo "

Thank you for inviting ".count($_POST[ids])." friends to genderz_demo"; } else { ?> " >

Lines 68-74 are the same we added at Step 4, but they are in an else condition because they will appear only if I don’t have a variable called ids passed with POST (line 58).

This means I show the invite friends selector only if I haven’t already invited some friends, because when I submit an invitation form, an ids variable is passed with an array containing all of the user IDs of the people I invited.

Now let’s see what happens at lines 59-62, executed only once I submitted the request form.

Line 59: writing my note. Notice as my note stats with “is inviting” and not with “Emanuele Feronato is inviting”, because when I specify user_to_user in the note mode at line 61, the API will add my name by itself.

Line 60: transforming an array into a comma separated value string of all of the user IDs of the people I invited.

Line 61: notifications_send takes as input the list created at line 60, the message created at line 59 and sends the note as user_to_user as explained before.

Finally, line 62 thanks the user for sending some spam :)

And the application is finished… during next step I’ll show you how to finetune it in order to make it seem a professional application, then we’ll see the hardest part: monetization.

Try the application

Never miss an update! Subscribe, and I will bother you by email only when a new game or full source code comes out.