aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2012-01-31 20:03:46 -0800
committerfriendica <info@friendica.com>2012-01-31 20:03:46 -0800
commit86c0eac27d4ed2a454f752615a1b446cf2acd2b2 (patch)
tree85f35f137d3848881d17cda3fc7a8580bb0ad7bb
parent4fc455d195fef9f1bfbc9f125788650fb3153237 (diff)
downloadvolse-hubzilla-86c0eac27d4ed2a454f752615a1b446cf2acd2b2.tar.gz
volse-hubzilla-86c0eac27d4ed2a454f752615a1b446cf2acd2b2.tar.bz2
volse-hubzilla-86c0eac27d4ed2a454f752615a1b446cf2acd2b2.zip
transport for email contacts phase II
-rwxr-xr-xboot.php2
-rwxr-xr-xinclude/delivery.php12
-rwxr-xr-xinclude/notifier.php6
-rwxr-xr-xinclude/poller.php4
4 files changed, 18 insertions, 6 deletions
diff --git a/boot.php b/boot.php
index 0a21e78f8..05df15b9c 100755
--- a/boot.php
+++ b/boot.php
@@ -101,10 +101,12 @@ define ( 'NETWORK_OSTATUS', 'stat'); // status.net, identi.ca, GNU-s
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
define ( 'NETWORK_MYSPACE', 'mysp'); // MySpace
+define ( 'NETWORK_GPLUS', 'goog'); // Google+
/**
* Maximum number of "people who like (or don't like) this" that we will list by name
diff --git a/include/delivery.php b/include/delivery.php
index c05358868..71ce30023 100755
--- a/include/delivery.php
+++ b/include/delivery.php
@@ -373,7 +373,8 @@ function delivery_run($argv, $argc){
break;
case NETWORK_MAIL :
-
+ case NETWORK_MAIL2:
+
if(get_config('system','dfrn_only'))
break;
// WARNING: does not currently convert to RFC2047 header encodings, etc.
@@ -413,7 +414,14 @@ function delivery_run($argv, $argc){
$reply_to = $r1[0]['reply_to'];
$subject = (($it['title']) ? $it['title'] : t("\x28no subject\x29")) ;
- $headers = 'From: ' . $local_user[0]['username'] . ' <' . $local_user[0]['email'] . '>' . "\n";
+
+ // only expose our real email address to true friends
+
+ if(($contact['rel'] == CONTACT_IS_FRIEND) && (! $contact['blocked']))
+ $headers = 'From: ' . $local_user[0]['username'] . ' <' . $local_user[0]['email'] . '>' . "\n";
+ else
+ $headers = 'From: ' . $local_user[0]['username'] . ' <' . t('noreply') . '@' . $a->get_hostname() . '>' . "\n";
+
if($reply_to)
$headers .= 'Reply-to: ' . $reply_to . "\n";
$headers .= 'Message-id: <' . $it['uri'] . '>' . "\n";
diff --git a/include/notifier.php b/include/notifier.php
index ead7aebad..53178ce53 100755
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -584,6 +584,7 @@ function notifier_run($argv, $argc){
break;
case NETWORK_MAIL:
+ case NETWORK_MAIL2:
if(get_config('system','dfrn_only'))
break;
@@ -629,7 +630,7 @@ function notifier_run($argv, $argc){
// only expose our real email address to true friends
- if($contact['rel'] == CONTACT_IS_FRIEND)
+ if(($contact['rel'] == CONTACT_IS_FRIEND) && (! $contact['blocked']))
$headers = 'From: ' . $local_user[0]['username'] . ' <' . $local_user[0]['email'] . '>' . "\n";
else
$headers = 'From: ' . $local_user[0]['username'] . ' <' . t('noreply') . '@' . $a->get_hostname() . '>' . "\n";
@@ -754,9 +755,10 @@ function notifier_run($argv, $argc){
);
$r2 = q("SELECT `id`, `name`,`network` FROM `contact`
- WHERE `network` = '%s' AND `uid` = %d AND `blocked` = 0 AND `pending` = 0
+ WHERE `network` in ( '%s', '%s') AND `uid` = %d AND `blocked` = 0 AND `pending` = 0
AND `rel` != %d order by rand() ",
dbesc(NETWORK_DFRN),
+ dbesc(NETWORK_MAIL2),
intval($owner['uid']),
intval(CONTACT_IS_SHARING)
);
diff --git a/include/poller.php b/include/poller.php
index 89e4488b9..7d42c63b5 100755
--- a/include/poller.php
+++ b/include/poller.php
@@ -369,7 +369,7 @@ function poller_run($argv, $argc){
$xml = fetch_url($contact['poll']);
}
- elseif($contact['network'] === NETWORK_MAIL) {
+ elseif($contact['network'] === NETWORK_MAIL || $contact['network'] === NETWORK_MAIL2) {
$mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1);
if($mail_disabled)
@@ -462,7 +462,7 @@ function poller_run($argv, $argc){
$datarray['contact-id'] = $contact['id'];
if($datarray['parent-uri'] === $datarray['uri'])
$datarray['private'] = 1;
- if(! get_pconfig($importer_uid,'system','allow_public_email_replies')) {
+ if(($contact['network'] === NETWORK_MAIL) && (! get_pconfig($importer_uid,'system','allow_public_email_replies'))) {
$datarray['private'] = 1;
$datarray['allow_cid'] = '<' . $contact['id'] . '>';
}