diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/follow.php | 2 | ||||
-rw-r--r-- | include/identity.php | 21 | ||||
-rw-r--r-- | include/zot.php | 2 |
3 files changed, 21 insertions, 4 deletions
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..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; @@ -166,10 +169,12 @@ 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; } + // save this for auto_friending + $total_identities = $ret['total_identities']; $nick = mb_strtolower(trim($arr['nickname'])); if(! $nick) { @@ -389,6 +394,20 @@ 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) && (! $total_identities)) { + 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) { |