]> git.mxchange.org Git - friendica.git/commitdiff
redirection to wrong profile in multi-user mode
authorMike Macgirvin <mike@macgirvin.com>
Fri, 10 Sep 2010 00:09:38 +0000 (17:09 -0700)
committerMike Macgirvin <mike@macgirvin.com>
Fri, 10 Sep 2010 00:09:38 +0000 (17:09 -0700)
mod/dfrn_confirm.php
mod/dfrn_poll.php

index 86227d53779e90ef07040db7f0e588bf190f9235..44a6ad1473260e46af10ea170fa9e39c75379aab 100644 (file)
@@ -370,7 +370,8 @@ function dfrn_confirm_post(&$a) {
                        `uri-date` = '%s', 
                        `avatar-date` = '%s', 
                        `blocked` = 0, 
-                       `pending` = 0, 
+                       `pending` = 0,
+                       `duplex` = %d,
                        `network` = 'dfrn' WHERE `id` = %d LIMIT 1
                ",
                        dbesc($photo),
@@ -379,6 +380,7 @@ function dfrn_confirm_post(&$a) {
                        dbesc(datetime_convert()),
                        dbesc(datetime_convert()),
                        dbesc(datetime_convert()),
+                       intval($duplex),
                        intval($contact_id)
                );
                if($r === false)
index aa60abff8e9595dad73220626d1079559709301f..a20135f814840346624c8f9be3ed164acda47130 100644 (file)
@@ -27,29 +27,35 @@ function dfrn_poll_init(&$a) {
 
                $r = q("SELECT `contact`.*, `user`.`nickname` 
                        FROM `contact` LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid`
-                       WHERE ( `dfrn-id` = '%s' OR ( `issued-id` = '%s' AND `duplex` = 1 )) LIMIT 1",
+                       WHERE ( `dfrn-id` = '%s' OR ( `issued-id` = '%s' AND `duplex` = 1 )) ",
                        dbesc($dfrn_id),
                        dbesc($dfrn_id)
                );
-
+               
                if(count($r)) {
-                       $s = fetch_url($r[0]['poll'] . '?dfrn_id=' . $dfrn_id . '&type=profile-check');
-                       if(strlen($s)) {
-                               $xml = simplexml_load_string($s);
-                               if((int) $xml->status == 1) {
-                                       $_SESSION['authenticated'] = 1;
-                                       $_SESSION['visitor_id'] = $r[0]['id'];
-                                       notice( t('Hi ') . $r[0]['name'] . EOL);
-                                       // Visitors get 1 day session.
-                                       $session_id = session_id();
-                                       $expire = time() + 86400;
-                                       q("UPDATE `session` SET `expire` = '%s' WHERE `sid` = '%s' LIMIT 1",
-                                               dbesc($expire),
-                                               dbesc($session_id)); 
+                       foreach($r as $rr) {
+                               if(local_user() && ($rr['uid'] == get_uid())) 
+                                       continue;
+
+                               $s = fetch_url($rr['poll'] . '?dfrn_id=' . $dfrn_id . '&type=profile-check');
+                               if(strlen($s)) {
+                                       $xml = simplexml_load_string($s);
+                                       if((int) $xml->status == 1) {
+                                               $_SESSION['authenticated'] = 1;
+                                               $_SESSION['visitor_id'] = $rr['id'];
+                                               notice( t('Hi ') . $rr['name'] . EOL);
+                                               // Visitors get 1 day session.
+                                               $session_id = session_id();
+                                               $expire = time() + 86400;
+                                               q("UPDATE `session` SET `expire` = '%s' WHERE `sid` = '%s' LIMIT 1",
+                                                       dbesc($expire),
+                                                       dbesc($session_id)
+                                               ); 
+                                       }
                                }
+                               $profile = $rr['nickname'];
+                               goaway((strlen($destination_url)) ? $destination_url : $a->get_baseurl() . '/profile/' . $profile);
                        }
-                       $profile = $r[0]['nickname'];
-                       goaway((strlen($destination_url)) ? $destination_url : $a->get_baseurl() . '/profile/' . $profile);
                }
                goaway($a->get_baseurl());