From 9065c899c14d1904685cf247d9afc37dced8eed7 Mon Sep 17 00:00:00 2001 From: Phyks Date: Mon, 19 Jan 2015 00:08:24 +0100 Subject: [PATCH] Media attachment working --- Main.php | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/Main.php b/Main.php index 7bfa5de..80fd4c1 100644 --- a/Main.php +++ b/Main.php @@ -81,28 +81,20 @@ \Idno\Core\site()->addEventHook('post/rsvp/diaspora', $article_function); \Idno\Core\site()->addEventHook('post/article/diaspora', $article_function); - // TODO // Push "media" to Diaspora \Idno\Core\site()->addEventHook('post/media/diaspora', function (\Idno\Core\Event $event) { $eventdata = $event->data(); $object = $eventdata['object']; - if ($this->hasFacebook()) { - if (!empty($eventdata['syndication_account'])) { - $facebookAPI = $this->connect($eventdata['syndication_account']); - } else { - $facebookAPI = $this->connect(); - } - if (!empty($facebookAPI)) { - $result = $facebookAPI->api('/'.$this->endpoint.'/feed', 'POST', - array( - 'link' => $object->getURL(), - 'message' => $object->getTitle(), - 'actions' => json_encode([['name' => 'See Original', 'link' => $object->getURL()]]), - )); - if (!empty($result['id'])) { - $result['id'] = str_replace('_', '/posts/', $result['id']); - $object->setPosseLink('facebook', 'https://facebook.com/' . $result['id']); - $object->save(); + if ($this->hasDiaspora()) { + $diasporaAPI = new DiasporaAPI(\Idno\Core\site()->session()->currentUser()->diaspora['diaspora_pod']); + $diasporaAPI->login(\Idno\Core\site()->session()->currentUser()->diaspora['diaspora_username'], \Idno\Core\site()->session()->currentUser()->diaspora['diaspora_password']); + if (!empty($diasporaAPI)) { + $message = strip_tags($object->getTitle()) . "\n\n" . strip_tags($object->getDescription()); + try { + $diasporaAPI->post($message, 'KnownDiaspora'); + } catch (\Exception $e) { + error_log('There was a problem posting to Diaspora: ' . $e->getMessage()); + \Idno\Core\site()->session()->addMessage('There was a problem posting to Diaspora: ' . $e->getMessage()); } } }