- if(! service_class_allows($uid,'total_contacts',$total_contacts)) {
- $result['message'] .= upgrade_message();
- return $result;
- }
-
- $r = q("select count(network) as total from contact where uid = %d and network = '%s' and pending = 0 and self = 0",
- intval($uid),
- dbesc($network)
- );
- if (dbm::is_result($r))
- $total_network = $r[0]['total'];
-
- if(! service_class_allows($uid,'total_contacts_' . $network,$total_network)) {
- $result['message'] .= upgrade_message();
- return $result;
- }
-
- $new_relation = ((in_array($ret['network'], array(NETWORK_MAIL, NETWORK_DIASPORA))) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING);
+ $fields = array('rel' => $new_relation, 'subhub' => $subhub, 'readonly' => false);
+ dba::update('contact', $fields, array('id' => $r[0]['id']));
+ } else {
+ $new_relation = ((in_array($ret['network'], array(NETWORK_MAIL))) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING);