aboutsummaryrefslogtreecommitdiffstats
path: root/addon/facebook/facebook.php
diff options
context:
space:
mode:
Diffstat (limited to 'addon/facebook/facebook.php')
-rw-r--r--addon/facebook/facebook.php50
1 files changed, 50 insertions, 0 deletions
diff --git a/addon/facebook/facebook.php b/addon/facebook/facebook.php
new file mode 100644
index 000000000..df2f86d3a
--- /dev/null
+++ b/addon/facebook/facebook.php
@@ -0,0 +1,50 @@
+<?php
+
+
+function facebook_install() {
+ register_hook('post_local_end', 'addon/facebook/facebook.php', 'facebook_post_hook');
+}
+
+
+function facebook_uninstall() {
+ unregister_hook('post_local_end', 'addon/facebook/facebook.php', 'facebook_post_hook');
+}
+
+
+
+
+function facebook_post_hook(&$a,&$b) {
+
+ /**
+ * Post to Facebook stream
+ */
+
+ if((local_user()) && (local_user() == $b['uid']) && (! $b['private'])) {
+
+ $appid = get_config('system', 'facebook_appid' );
+ $secret = get_config('system', 'facebook_secret' );
+
+ if($appid && $secret) {
+
+ $fb_post = get_pconfig($local_user(),'facebook','post');
+
+ if($fb_post) {
+ require_once('library/facebook.php');
+ require_once('include/bbcode.php');
+
+ $facebook = new Facebook(array(
+ 'appId' => $appid,
+ 'secret' => $secret,
+ 'cookie' => true
+ ));
+ try {
+ $statusUpdate = $facebook->api('/me/feed', 'post', array('message'=> bbcode($datarray['body']), 'cb' => ''));
+ }
+ catch (FacebookApiException $e) {
+ notice( t('Facebook status update failed.') . EOL);
+ }
+ }
+ }
+ }
+
+} \ No newline at end of file