aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
Diffstat (limited to 'mod')
-rw-r--r--mod/dfrn_request.php50
1 files changed, 49 insertions, 1 deletions
diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php
index 77a3124f7..74d25adbf 100644
--- a/mod/dfrn_request.php
+++ b/mod/dfrn_request.php
@@ -314,7 +314,7 @@ function dfrn_request_post(&$a) {
if($email_follow) {
- if(! strpos($url,'@')) {
+ if(! validate_email($url)) {
notice( t('Invalid email address.') . EOL);
return;
}
@@ -346,11 +346,59 @@ function dfrn_request_post(&$a) {
}
}
+ $r = q("insert into contact ( uid, created, addr, name, nick, url, nurl, poll, notify, blocked, pending, network, rel )
+ values( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d ) ",
+ intval($uid),
+ dbesc(datetime_convert()),
+ dbesc($addr),
+ dbesc($name),
+ dbesc($nick),
+ dbesc($url),
+ dbesc($nurl),
+ dbesc($poll),
+ dbesc($notify),
+ intval($blocked),
+ intval($pending),
+ dbesc($network),
+ intval($rel)
+ );
+
+ $r = q("select id from contact where poll = '%s' and uid = %d limit 1",
+ dbesc($poll),
+ intval($uid)
+ );
+ if(count($r)) {
+ $contact_id = $r[0]['id'];
+
+ $photo = avatar_img($addr);
+
+ $r = q("UPDATE `contact` SET
+ `photo` = '%s',
+ `thumb` = '%s',
+ `micro` = '%s',
+ `name-date` = '%s',
+ `uri-date` = '%s',
+ `avatar-date` = '%s',
+ `hidden` = 0,
+ WHERE `id` = %d LIMIT 1
+ ",
+ dbesc($photos[0]),
+ dbesc($photos[1]),
+ dbesc($photos[2]),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ intval($contact_id)
+ );
+ }
+ // contact is created. Now send an email verify form to the requestor.
+ //
}
+
else {
// Canonicalise email-style profile locator