From: Friendika <info@friendika.com>
Date: Fri, 7 Jan 2011 08:24:08 +0000 (-0800)
Subject: firend request homecoming - ensure login redirects back to confirmation page,
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=fb736b984d94ad95d85c15c260ade8c78a57a6ef;p=friendica.git

firend request homecoming - ensure login redirects back to confirmation page,
prune old introductions that remain blocked over 30 minutes.
---

diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php
index e25515a5bc..d5c5b83d5b 100644
--- a/mod/dfrn_request.php
+++ b/mod/dfrn_request.php
@@ -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();
 		}