]> git.mxchange.org Git - friendica.git/commitdiff
firend request homecoming - ensure login redirects back to confirmation page,
authorFriendika <info@friendika.com>
Fri, 7 Jan 2011 08:24:08 +0000 (00:24 -0800)
committerFriendika <info@friendika.com>
Fri, 7 Jan 2011 08:24:08 +0000 (00:24 -0800)
prune old introductions that remain blocked over 30 minutes.

mod/dfrn_request.php

index e25515a5bc8846ac9192afdc0b65276a4c6c3127..d5c5b83d5b861efc9086c2ed7008f92f37647552 100644 (file)
@@ -245,6 +245,29 @@ function dfrn_request_post(&$a) {
                        } 
                }
 
+               /**
+                *
+                * Cleanup old introductions that remain blocked. 
+                * Also remove the contact record, but only if there is no existing relationship
+                *
+                */
+
+               $r = q("SELECT `intro`.*, `intro`.`id` AS `iid`, `contact`.`id` AS `cid`, `contact`.`rel` 
+                       FROM `intro` LEFT JOIN `contact` on `intro`.`contact-id` = `contact`.`id`
+                       WHERE `intro`.`blocked` = 1 AND `contact`.`self` = 0 AND `intro`.`datetime` < UTC_TIMESTAMP() - INTERVAL 30 MINUTE ");
+               if(count($r)) {
+                       foreach($r as ($rr) {
+                               if(! $rr['rel']) {
+                                       q("DELETE FROM `contact` WHERE `id` = %d LIMIT 1",
+                                               intval($rr['cid'])
+                                       );
+                               }
+                               q("DELETE FROM `intro` WHERE `id` = %d LIMIT 1",
+                                       intval($rr['iid'])
+                               );
+                       }
+               }
+
                $url = trim($_POST['dfrn_url']);
                if(! strlen($url)) {
                        notice( t("Invalid locator") . EOL );
@@ -456,7 +479,7 @@ function dfrn_request_content(&$a) {
                        /* setup the return URL to come back to this page if they use openid */
 
                        $stripped = str_replace('q=','',$a->query_string);
-                   $_SESSION['return_url'] = trim($stripped,'/');
+                       $_SESSION['return_url'] = trim($stripped,'/');
 
                        return login();
                }