From 3569493ba7e77a1a9f19bdbbf3f2d5f262ea8484 Mon Sep 17 00:00:00 2001
From: Sarven Capadisli <csarven@status.net>
Date: Mon, 22 Feb 2010 17:07:48 +0100
Subject: [PATCH] Added link to Subscriptions page to XHR get the ostatus sub
 form

---
 plugins/OStatus/OStatusPlugin.php          | 17 ++++++++++++
 plugins/OStatus/actions/ostatussub.php     | 19 +++++++++++---
 plugins/OStatus/theme/base/css/ostatus.css | 30 +++++++++++++++++-----
 3 files changed, 57 insertions(+), 9 deletions(-)

diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php
index 3ac2bb87d7..0b0317316c 100644
--- a/plugins/OStatus/OStatusPlugin.php
+++ b/plugins/OStatus/OStatusPlugin.php
@@ -497,4 +497,21 @@ class OStatusPlugin extends Plugin
         }
         return true;
     }
+
+    function onStartShowSubscriptionsContent($action)
+    {
+        $user = common_current_user();
+        if ($user && ($user->id == $action->profile->id)) {
+            $action->elementStart('div', 'entity_actions');
+            $action->elementStart('p', array('id' => 'entity_remote_subscribe',
+                                             'class' => 'entity_subscribe'));
+            $action->element('a', array('href' => common_local_url('ostatussub'),
+                                        'class' => 'entity_remote_subscribe')
+                                , _m('Subscribe to remote user'));
+            $action->elementEnd('p');
+            $action->elementEnd('div');
+        }
+
+        return true;
+    }
 }
diff --git a/plugins/OStatus/actions/ostatussub.php b/plugins/OStatus/actions/ostatussub.php
index 8cb8e2ae7c..95dec19afc 100644
--- a/plugins/OStatus/actions/ostatussub.php
+++ b/plugins/OStatus/actions/ostatussub.php
@@ -55,7 +55,20 @@ class OStatusSubAction extends Action
     function showForm($error=null)
     {
         $this->error = $error;
-        $this->showPage();
+        if ($this->boolean('ajax')) {
+            header('Content-Type: text/xml;charset=utf-8');
+            $this->xw->startDocument('1.0', 'UTF-8');
+            $this->elementStart('html');
+            $this->elementStart('head');
+            $this->element('title', null, _m('Subscribe to user'));
+            $this->elementEnd('head');
+            $this->elementStart('body');
+            $this->showContent();
+            $this->elementEnd('body');
+            $this->elementEnd('html');
+        } else {
+            $this->showPage();
+        }
     }
 
     function showPageNotice()
@@ -81,7 +94,7 @@ class OStatusSubAction extends Action
         $profile = $user->getProfile();
 
         $this->elementStart('form', array('method' => 'post',
-                                          'id' => 'ostatus_sub',
+                                          'id' => 'form_ostatus_sub',
                                           'class' => 'form_settings',
                                           'action' =>
                                           common_local_url('ostatussub')));
@@ -141,7 +154,7 @@ class OStatusSubAction extends Action
             if ($this->profile_uri) {
                 $this->validateAndPreview();
             } else {
-                $this->showPage();
+                $this->showForm();
             }
         }
     }
diff --git a/plugins/OStatus/theme/base/css/ostatus.css b/plugins/OStatus/theme/base/css/ostatus.css
index 9bc90a7315..feeeb47d38 100644
--- a/plugins/OStatus/theme/base/css/ostatus.css
+++ b/plugins/OStatus/theme/base/css/ostatus.css
@@ -7,24 +7,42 @@
  * @link      http://status.net/
  */
 
-#form_ostatus_connect.dialogbox {
+#form_ostatus_connect.dialogbox,
+#form_ostatus_sub.dialogbox {
 width:70%;
 background-image:none;
 }
-#form_ostatus_connect.dialogbox .form_data label {
+#form_ostatus_sub.dialogbox {
+width:65%;
+}
+#form_ostatus_connect.dialogbox .form_data label,
+#form_ostatus_sub.dialogbox .form_data label {
 width:34%;
 }
-#form_ostatus_connect.dialogbox .form_data input {
+#form_ostatus_connect.dialogbox .form_data input,
+#form_ostatus_sub.dialogbox .form_data input {
 width:57%;
 }
-#form_ostatus_connect.dialogbox .form_data .form_guide {
+#form_ostatus_connect.dialogbox .form_data .form_guide,
+#form_ostatus_sub.dialogbox .form_data .form_guide {
 margin-left:36%;
 }
 
-#form_ostatus_connect.dialogbox #ostatus_nickname {
+#form_ostatus_connect.dialogbox #ostatus_nickname,
+#form_ostatus_sub.dialogbox #ostatus_nickname {
 display:none;
 }
 
-#form_ostatus_connect.dialogbox .submit_dialogbox  {
+#form_ostatus_connect.dialogbox .submit_dialogbox,
+#form_ostatus_sub.dialogbox .submit_dialogbox {
 min-width:96px;
 }
+
+#subscriptions #entity_remote_subscribe {
+padding:0;
+float:right;
+}
+
+#subscriptions .entity_remote_subscribe {
+float:right;
+}
-- 
2.39.5