aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/follow.php2
-rw-r--r--include/identity.php21
-rw-r--r--include/zot.php2
-rw-r--r--version.inc2
4 files changed, 22 insertions, 5 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) {
diff --git a/version.inc b/version.inc
index 2681a486b..c48866f12 100644
--- a/version.inc
+++ b/version.inc
@@ -1 +1 @@
-2014-09-30.814
+2014-10-01.815