From 467c6c72f0a470173fd9b050137c37c4a59f6934 Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 1 Oct 2014 14:48:08 -0700 Subject: ability to pre-populate connections for new channels. e.g. "MySpace Tom" --- include/follow.php | 2 +- include/identity.php | 11 ++++++++++- include/zot.php | 2 -- 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/follow.php b/include/follow.php index a967386e9..c8bd3c500 100644 --- a/include/follow.php +++ b/include/follow.php @@ -84,7 +84,7 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false) // Premium channel, set confirm before callback to avoid recursion - if(array_key_exists('connect_url',$j) && (! $confirm)) + if(array_key_exists('connect_url',$j) && ($interactive) && (! $confirm)) goaway(zid($j['connect_url'])); diff --git a/include/identity.php b/include/identity.php index bfdd02682..2dbc251ce 100644 --- a/include/identity.php +++ b/include/identity.php @@ -166,7 +166,7 @@ function create_identity($arr) { $ret['message'] = t('No account identifier'); return $ret; } - $ret=identity_check_service_class($arr['account_id']); + $ret = identity_check_service_class($arr['account_id']); if (!$ret['success']) { return $ret; } @@ -389,6 +389,15 @@ function create_identity($arr) { } } + $accts = get_config('system','auto_follow'); + if($accts) { + if(! is_array($accts)) + $accts = array($accts); + foreach($accts as $acct) { + if(trim($acct)) + new_contact($newuid,trim($acct),$ret['channel'],false); + } + } call_hooks('register_account', $newuid); diff --git a/include/zot.php b/include/zot.php index 828194c3a..3d59f00f3 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1674,8 +1674,6 @@ function process_location_delivery($sender,$arr,$deliveries) { logger('process_location_delivery: results: ' . print_r($x,true), LOGGER_DATA); } -// We need to merge this code with that in the import_xchan function so as to make it -// easier to maintain changes. function sync_locations($sender,$arr,$absolute = false) { -- cgit v1.2.3 From baa0b0f3939c262a1d9722a2e103c35954a5e8b5 Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 1 Oct 2014 15:40:19 -0700 Subject: only auto-follow the site recommendations if creating the first channel for an account. --- include/identity.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/identity.php b/include/identity.php index 2dbc251ce..6b1286ff7 100644 --- a/include/identity.php +++ b/include/identity.php @@ -27,10 +27,13 @@ function identity_check_service_class($account_id) { intval(PAGE_REMOVED) ); if(! ($r && count($r))) { + $ret['total_identities'] = 0; $ret['message'] = t('Unable to obtain identity information from database'); return $ret; } + $ret['total_identities'] = intval($r[0]['total']); + if(! service_class_allows($account_id,'total_identities',$r[0]['total'])) { $result['message'] .= upgrade_message(); return $result; @@ -170,6 +173,8 @@ function create_identity($arr) { if (!$ret['success']) { return $ret; } + // save this for auto_friending + $total_identities = $ret['total_identities']; $nick = mb_strtolower(trim($arr['nickname'])); if(! $nick) { @@ -389,8 +394,13 @@ function create_identity($arr) { } } + // auto-follow any of the hub's pre-configured channel choices. + // Only do this if it's the first channel for this account; + // otherwise it could get annoying. Don't make this list too big + // or it will impact registration time. + $accts = get_config('system','auto_follow'); - if($accts) { + if(($accts) && (! $total_identities)) { if(! is_array($accts)) $accts = array($accts); foreach($accts as $acct) { -- cgit v1.2.3