]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/OStatus/OStatusPlugin.php
Merge branch 'master' of gitorious.org:social/mainline into social-master
[quix0rs-gnu-social.git] / plugins / OStatus / OStatusPlugin.php
index 6652647771f97631c2593e84ba7e9b266bf05ae7..46e27be77912500878f91811789466e202483aa9 100644 (file)
@@ -51,7 +51,7 @@ class OStatusPlugin extends Plugin
      * @param URLMapper $m path-to-action mapper
      * @return boolean hook return
      */
-    function onRouterInitialized(URLMapper $m)
+    public function onRouterInitialized(URLMapper $m)
     {
         // Discovery actions
         $m->connect('main/ostatustag',
@@ -1320,6 +1320,8 @@ class OStatusPlugin extends Plugin
         if ($magicsig instanceof Magicsig) {
             $xrd->links[] = new XML_XRD_Element_Link(Magicsig::PUBLICKEYREL,
                                 'data:application/magic-public-key,'. $magicsig->toString());
+            $xrd->links[] = new XML_XRD_Element_Link(Magicsig::DIASPORA_PUBLICKEYREL,
+                                base64_encode($magicsig->exportPublicKey()));
         }
 
         // TODO - finalize where the redirect should go on the publisher
@@ -1340,11 +1342,10 @@ class OStatusPlugin extends Plugin
     static public function onCheckActivityAuthorship(Activity $activity, Profile &$profile)
     {
         try {
-            $oprofile = Ostatus_profile::getFromProfile($profile);
-            $oprofile = $oprofile->checkAuthorship($activity);
-            $profile = $oprofile->localProfile();
+            $oprofile = Ostatus_profile::ensureProfileURL($profile->getUrl());
+            $profile = $oprofile->checkAuthorship($activity);
         } catch (Exception $e) {
-            common_log(LOG_ERR, 'Could not get a profile or check authorship ('.get_class($e).': "'.$e->getMessage().'")');
+            common_log(LOG_ERR, 'Could not get a profile or check authorship ('.get_class($e).': "'.$e->getMessage().'") for activity ID: '.$activity->id);
             $profile = null;
             return false;
         }