From: friendica <info@friendica.com>
Date: Mon, 12 Dec 2011 07:33:56 +0000 (-0800)
Subject: separate dfrn introductions from email when it comes to expiration of blocked requests
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=cbdc667ba2a602dd515ac33b2cb1554f9bffc20c;p=friendica.git

separate dfrn introductions from email when it comes to expiration of blocked requests
---

diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php
index 9755895ced..d7c918490f 100644
--- a/mod/dfrn_request.php
+++ b/mod/dfrn_request.php
@@ -252,12 +252,41 @@ function dfrn_request_post(&$a) {
 		 *
 		 * Cleanup old introductions that remain blocked. 
 		 * Also remove the contact record, but only if there is no existing relationship
+		 * Do not remove email contacts as these may be awaiting email verification
+		 */
+
+		$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 `contact`.`network` != '%s'
+			AND `intro`.`datetime` < UTC_TIMESTAMP() - INTERVAL 30 MINUTE ",
+			dbesc(NETWORK_MAIL)
+		);
+		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'])
+				);
+			}
+		}
+
+		/**
 		 *
+		 * Cleanup any old email intros - which will have a greater lifetime
 		 */
 
 		$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 ");
+			WHERE `intro`.`blocked` = 1 AND `contact`.`self` = 0 
+			AND `contact`.`network` = '%s'
+			AND `intro`.`datetime` < UTC_TIMESTAMP() - INTERVAL 3 DAY ",
+			dbesc(NETWORK_MAIL)
+		);
 		if(count($r)) {
 			foreach($r as $rr) {
 				if(! $rr['rel']) {
@@ -271,6 +300,7 @@ function dfrn_request_post(&$a) {
 			}
 		}
 
+
 		$url = trim($_POST['dfrn_url']);
 		if(! strlen($url)) {
 			notice( t("Invalid locator") . EOL );