diff --git a/boot.php b/boot.php index 9cdaefb21..fd8110f75 100644 --- a/boot.php +++ b/boot.php @@ -259,7 +259,6 @@ define('NETWORK_OSTATUS', 'stat'); // status.net, identi.ca, GNU-soc define('NETWORK_FEED', 'feed'); // RSS/Atom feeds with no known "post/notify" protocol define('NETWORK_DIASPORA', 'dspr'); // Diaspora define('NETWORK_MAIL', 'mail'); // IMAP/POP -define('NETWORK_MAIL2', 'mai2'); // extended IMAP/POP define('NETWORK_FACEBOOK', 'face'); // Facebook API define('NETWORK_LINKEDIN', 'lnkd'); // LinkedIn define('NETWORK_XMPP', 'xmpp'); // XMPP @@ -290,7 +289,6 @@ $netgroup_ids = array( NETWORK_FEED => (-4), NETWORK_DIASPORA => (-5), NETWORK_MAIL => (-6), - NETWORK_MAIL2 => (-7), NETWORK_FACEBOOK => (-8), NETWORK_LINKEDIN => (-9), NETWORK_XMPP => (-10), diff --git a/include/contact_selectors.php b/include/contact_selectors.php index 1e754ac9f..67d05f307 100644 --- a/include/contact_selectors.php +++ b/include/contact_selectors.php @@ -85,7 +85,6 @@ function network_to_name($s, $profile = "") { NETWORK_LINKEDIN => t('LinkedIn'), NETWORK_XMPP => t('XMPP/IM'), NETWORK_MYSPACE => t('MySpace'), - NETWORK_MAIL2 => t('Email'), NETWORK_GPLUS => t('Google+'), NETWORK_PUMPIO => t('pump.io'), NETWORK_TWITTER => t('Twitter'), diff --git a/include/uimport.php b/include/uimport.php index 301ab4803..7effcd62d 100644 --- a/include/uimport.php +++ b/include/uimport.php @@ -198,9 +198,6 @@ function import_account(App $a, $file) { case NETWORK_DIASPORA: // send relocate message (below) break; - case NETWORK_MAIL2: - /// @TODO ? - break; case NETWORK_FEED: case NETWORK_MAIL: // Nothing to do diff --git a/mod/contacts.php b/mod/contacts.php index 69f188496..9feacaf5e 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -559,7 +559,7 @@ function contacts_content(App $a) { } $lblsuggest = (($contact['network'] === NETWORK_DFRN) ? t('Suggest friends') : ''); - $poll_enabled = in_array($contact['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_FEED, NETWORK_MAIL, NETWORK_MAIL2)); + $poll_enabled = in_array($contact['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_FEED, NETWORK_MAIL)); $nettype = sprintf( t('Network type: %s'),network_to_name($contact['network'], $contact["url"])); @@ -586,7 +586,7 @@ function contacts_content(App $a) { '3' => t('Fetch keywords'), '2' => t('Fetch information and keywords'))); } - if (in_array($contact['network'], array(NETWORK_FEED, NETWORK_MAIL, NETWORK_MAIL2))) + if (in_array($contact['network'], array(NETWORK_FEED, NETWORK_MAIL))) $poll_interval = contact_poll_interval($contact['priority'],(! $poll_enabled)); if ($contact['network'] == NETWORK_DFRN) @@ -994,7 +994,7 @@ function _contact_detail_for_template($rr){ */ function contact_actions($contact) { - $poll_enabled = in_array($contact['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_FEED, NETWORK_MAIL, NETWORK_MAIL2)); + $poll_enabled = in_array($contact['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_FEED, NETWORK_MAIL)); $contact_action = array(); // Provide friend suggestion only for Friendica contacts diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index 3c7584318..5962ae204 100644 --- a/mod/dfrn_request.php +++ b/mod/dfrn_request.php @@ -292,15 +292,12 @@ function dfrn_request_post(App $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_MAIL2) + AND `intro`.`datetime` < UTC_TIMESTAMP() - INTERVAL 30 MINUTE " ); if (DBM::is_result($r)) { foreach ($r as $rr) { @@ -315,32 +312,6 @@ function dfrn_request_post(App $a) { } } - /* - * - * 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 `contact`.`network` = '%s' - AND `intro`.`datetime` < UTC_TIMESTAMP() - INTERVAL 3 DAY ", - dbesc(NETWORK_MAIL2) - ); - if (DBM::is_result($r)) { - foreach ($r as $rr) { - if(! $rr['rel']) { - q("DELETE FROM `contact` WHERE `id` = %d AND NOT `self`", - intval($rr['cid']) - ); - } - q("DELETE FROM `intro` WHERE `id` = %d", - intval($rr['iid']) - ); - } - } - - $email_follow = (x($_POST,'email_follow') ? intval($_POST['email_follow']) : 0); $real_name = (x($_POST,'realname') ? notags(trim($_POST['realname'])) : ''); $url = trim($_POST['dfrn_url']); @@ -351,125 +322,25 @@ function dfrn_request_post(App $a) { $hcard = ''; - if($email_follow) { + // Detect the network + $data = Probe::uri($url); + $network = $data["network"]; - if(! validate_email($url)) { - notice( t('Invalid email address.') . EOL); - return; + // Canonicalise email-style profile locator + $url = Probe::webfingerDfrn($url,$hcard); + + if (substr($url,0,5) === 'stat:') { + + // Every time we detect the remote subscription we define this as OStatus. + // We do this even if it is not OStatus. + // we only need to pass this through another section of the code. + if ($network != NETWORK_DIASPORA) { + $network = NETWORK_OSTATUS; } - $addr = $url; - $name = ($realname) ? $realname : $addr; - $nick = substr($addr,0,strpos($addr,'@')); - $url = 'http://' . substr($addr,strpos($addr,'@') + 1); - $nurl = normalise_url($host); - $poll = 'email ' . random_string(); - $notify = 'smtp ' . random_string(); - $network = NETWORK_MAIL2; - $rel = CONTACT_IS_FOLLOWER; - - $mail_disabled = ((function_exists('imap_open') && (! Config::get('system','imap_disabled'))) ? 0 : 1); - if(Config::get('system','dfrn_only')) - $mail_disabled = 1; - - if(! $mail_disabled) { - $failed = false; - $r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1", - intval($uid) - ); - - if (! DBM::is_result($r)) { - notice( t('This account has not been configured for email. Request failed.') . EOL); - return; - } - } - - $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`, `network` FROM `contact` WHERE `poll` = '%s' AND `uid` = %d LIMIT 1", - dbesc($poll), - intval($uid) - ); - if (DBM::is_result($r)) { - $contact_id = $r[0]['id']; - - $def_gid = get_default_group($uid, $r[0]["network"]); - if (intval($def_gid)) - group_add_member($uid, '', $contact_id, $def_gid); - - $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 - ", - 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 create an introduction - - $hash = random_string(); - - $r = q("INSERT INTO `intro` ( `uid`, `contact-id`, knowyou, note, hash, datetime, blocked ) - VALUES( %d , %d, %d, '%s', '%s', '%s', %d ) ", - intval($uid), - intval($contact_id), - ((x($_POST,'knowyou') && ($_POST['knowyou'] == 1)) ? 1 : 0), - dbesc(notags(trim($_POST['dfrn-request-message']))), - dbesc($hash), - dbesc(datetime_convert()), - 1 - ); - - // Next send an email verify form to the requestor. - + $url = substr($url,5); } else { - // Detect the network - $data = Probe::uri($url); - $network = $data["network"]; - - // Canonicalise email-style profile locator - $url = Probe::webfingerDfrn($url,$hcard); - - if (substr($url,0,5) === 'stat:') { - - // Every time we detect the remote subscription we define this as OStatus. - // We do this even if it is not OStatus. - // we only need to pass this through another section of the code. - if ($network != NETWORK_DIASPORA) - $network = NETWORK_OSTATUS; - - $url = substr($url,5); - } else - $network = NETWORK_DFRN; + $network = NETWORK_DFRN; } logger('dfrn_request: url: ' . $url . ',network=' . $network, LOGGER_DEBUG); @@ -849,27 +720,6 @@ function dfrn_request_content(App $a) { $page_desc = t("Please enter your 'Identity Address' from one of the following supported communications networks:"); - // see if we are allowed to have NETWORK_MAIL2 contacts - - $mail_disabled = ((function_exists('imap_open') && (! Config::get('system','imap_disabled'))) ? 0 : 1); - - if (Config::get('system','dfrn_only')) { - $mail_disabled = 1; - } - - if (! $mail_disabled) { - $r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1", - intval($a->profile['uid']) - ); - if (! DBM::is_result($r)) { - $mail_disabled = 1; - } - } - - // "coming soon" is disabled for now - //$emailnet = (($mail_disabled) ? '' : t("Connect as an email follower \x28Coming soon\x29")); - $emailnet = ""; - $invite_desc = sprintf( t('If you are not yet a member of the free social web, follow this link to find a public Friendica site and join us today.'), get_server() @@ -891,7 +741,6 @@ function dfrn_request_content(App $a) { '$diasnote' => sprintf (t(' - please do not use this form. Instead, enter %s into your Diaspora search bar.'),$target_addr), '$your_address' => t('Your Identity Address:'), '$invite_desc' => $invite_desc, - '$emailnet' => $emailnet, '$submit' => t('Submit Request'), '$cancel' => t('Cancel'), '$nickname' => $a->argv[1], diff --git a/src/Worker/Cron.php b/src/Worker/Cron.php index 354cb3585..dd4ca4da2 100644 --- a/src/Worker/Cron.php +++ b/src/Worker/Cron.php @@ -156,7 +156,7 @@ Class Cron { $contacts = q("SELECT `contact`.`id` FROM `user` STRAIGHT_JOIN `contact` ON `contact`.`uid` = `user`.`uid` AND `contact`.`rel` IN (%d, %d) AND `contact`.`poll` != '' - AND `contact`.`network` IN ('%s', '%s', '%s', '%s', '%s') $sql_extra + AND `contact`.`network` IN ('%s', '%s', '%s', '%s') $sql_extra AND NOT `contact`.`self` AND NOT `contact`.`blocked` AND NOT `contact`.`readonly` AND NOT `contact`.`archive` WHERE NOT `user`.`account_expired` AND NOT `user`.`account_removed` $abandon_sql ORDER BY RAND()", @@ -165,8 +165,7 @@ Class Cron { dbesc(NETWORK_DFRN), dbesc(NETWORK_OSTATUS), dbesc(NETWORK_FEED), - dbesc(NETWORK_MAIL), - dbesc(NETWORK_MAIL2) + dbesc(NETWORK_MAIL) ); if (!DBM::is_result($contacts)) { diff --git a/src/Worker/Delivery.php b/src/Worker/Delivery.php index f17aa5507..bb30fc3bf 100644 --- a/src/Worker/Delivery.php +++ b/src/Worker/Delivery.php @@ -376,7 +376,6 @@ class Delivery { break; case NETWORK_MAIL: - case NETWORK_MAIL2: if (Config::get('system','dfrn_only')) { break; diff --git a/src/Worker/Notifier.php b/src/Worker/Notifier.php index 4404b879b..a3a03055e 100644 --- a/src/Worker/Notifier.php +++ b/src/Worker/Notifier.php @@ -447,7 +447,7 @@ class Notifier { // It only makes sense to distribute answers to OStatus messages to Friendica and OStatus - but not Diaspora $sql_extra = " AND `network` IN ('".NETWORK_OSTATUS."', '".NETWORK_DFRN."')"; } else { - $sql_extra = " AND `network` IN ('".NETWORK_OSTATUS."', '".NETWORK_DFRN."', '".NETWORK_DIASPORA."', '".NETWORK_MAIL."', '".NETWORK_MAIL2."')"; + $sql_extra = " AND `network` IN ('".NETWORK_OSTATUS."', '".NETWORK_DFRN."', '".NETWORK_DIASPORA."', '".NETWORK_MAIL."')"; } } else { $public_message = false; @@ -537,9 +537,8 @@ class Notifier { } $r2 = q("SELECT `id`, `name`,`network` FROM `contact` - WHERE `network` in ('%s', '%s') AND `uid` = %d AND NOT `blocked` AND NOT `pending` AND NOT `archive` AND `rel` != %d", + WHERE `network` in ('%s') AND `uid` = %d AND NOT `blocked` AND NOT `pending` AND NOT `archive` AND `rel` != %d", dbesc(NETWORK_DFRN), - dbesc(NETWORK_MAIL2), intval($owner['uid']), intval(CONTACT_IS_SHARING) ); diff --git a/src/Worker/OnePoll.php b/src/Worker/OnePoll.php index f7f7bcccf..439997be6 100644 --- a/src/Worker/OnePoll.php +++ b/src/Worker/OnePoll.php @@ -311,7 +311,7 @@ Class OnePoll $xml = $ret['body']; unlink($cookiejar); - } elseif ($contact['network'] === NETWORK_MAIL || $contact['network'] === NETWORK_MAIL2) { + } elseif ($contact['network'] === NETWORK_MAIL) { logger("Mail: Fetching for ".$contact['addr'], LOGGER_DEBUG); diff --git a/update.php b/update.php index 7fbdec707..326c08414 100644 --- a/update.php +++ b/update.php @@ -1484,9 +1484,6 @@ function update_1164() { $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)", NETWORK_MAIL, NETWORK_MAIL); - $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)", - NETWORK_MAIL2, NETWORK_MAIL2); - $r = q("UPDATE `item` SET `network`='%s' WHERE `contact-id` IN (SELECT `id` FROM`contact` WHERE `network` = '%s' AND `contact`.`uid` = `item`.`uid`)", NETWORK_FACEBOOK, NETWORK_FACEBOOK); diff --git a/view/templates/auto_request.tpl b/view/templates/auto_request.tpl index d6abde030..78736c7e8 100644 --- a/view/templates/auto_request.tpl +++ b/view/templates/auto_request.tpl @@ -7,7 +7,6 @@
  • {{$friendica}}
  • {{$diaspora}} {{$diasnote}}
  • {{$statusnet}}
  • -{{if $emailnet}}
  • {{$emailnet}}
  • {{/if}}

    diff --git a/view/templates/dfrn_request.tpl b/view/templates/dfrn_request.tpl index 5225bd60b..34e4074df 100644 --- a/view/templates/dfrn_request.tpl +++ b/view/templates/dfrn_request.tpl @@ -8,7 +8,6 @@

  • {{$friendica}}
  • {{$diaspora}} {{$diasnote}}
  • {{$statusnet}}
  • -{{if $emailnet}}
  • {{$emailnet}}
  • {{/if}} {{$invite_desc}}