]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
pass profile id for subscriptions rather than user name
authorEvan Prodromou <evan@controlyourself.ca>
Mon, 8 Dec 2008 03:13:12 +0000 (22:13 -0500)
committerEvan Prodromou <evan@controlyourself.ca>
Mon, 8 Dec 2008 03:13:12 +0000 (22:13 -0500)
darcs-hash:20081208031312-5ed1f-b570b86b28e8eda763c51be1ae091034f76bd984.gz

actions/subscribe.php
lib/util.php

index c06057fb8ddca3e3630f060cd1f9046eaa7bc304..871b34f31f67e3a5f141217893ca739dbfeb3c0d 100644 (file)
@@ -20,7 +20,7 @@
 if (!defined('LACONICA')) { exit(1); }
 
 class SubscribeAction extends Action {
-       
+
        function handle($args) {
                parent::handle($args);
 
@@ -39,16 +39,23 @@ class SubscribeAction extends Action {
                # CSRF protection
 
                $token = $this->trimmed('token');
-               
+
                if (!$token || $token != common_session_token()) {
                        $this->client_error(_('There was a problem with your session token. Try again, please.'));
                        return;
                }
 
-               $other_nickname = $this->arg('subscribeto');
+               $other_id = $this->arg('subscribeto');
+
+        $other = User::staticGet('id', $other_id);
+
+        if (!$other) {
+                       $this->client_error(_('Not a local user.'));
+                       return;
+        }
+
+               $result = subs_subscribe_to($user, $other);
 
-               $result=subs_subscribe_user($user, $other_nickname);
-               
                if($result != true) {
                        common_user_error($result);
                        return;
index ab683d1a2a0f6d4a4709df3fd5213871d0d254f4..f6d5440f0d33eee495d5d968bdb6ca3bbd21f608 100644 (file)
@@ -2050,15 +2050,15 @@ function common_nudge_response() {
 }
 
 function common_subscribe_form($profile) {
-       common_element_start('form', array('id' => 'subscribe-' . $profile->nickname,
+       common_element_start('form', array('id' => 'subscribe-' . $profile->id,
                                                                           'method' => 'post',
                                                                           'class' => 'subscribe',
                                                                           'action' => common_local_url('subscribe')));
        common_hidden('token', common_session_token());
-       common_element('input', array('id' => 'subscribeto-' . $profile->nickname,
+       common_element('input', array('id' => 'subscribeto-' . $profile->id,
                                                                  'name' => 'subscribeto',
                                                                  'type' => 'hidden',
-                                                                 'value' => $profile->nickname));
+                                                                 'value' => $profile->id));
        common_element('input', array('type' => 'submit',
                                                                  'class' => 'submit',
                                                                  'value' => _('Subscribe')));