*
* @TODO find proper type-hints
*/
-function consume_feed($xml, $importer, &$contact, &$hub, $datedir = 0, $pass = 0) {
+function consume_feed($xml, $importer, $contact, &$hub, $datedir = 0, $pass = 0) {
if ($contact['network'] === NETWORK_OSTATUS) {
if ($pass < 2) {
// Test - remove before flight
logger("Consume feed of contact ".$contact['id']);
- // Use a copy of the contact to avoid problems.
- // The contact parameter is called by reference.
- $contact2 = $contact;
- consume_feed($xml, $importer, $contact2, $hub, 1, 1);
+ consume_feed($xml, $importer, $contact, $hub);
- // do it twice. Ensures that children of parents which may be later in the stream aren't tossed
-
- $contact2 = $contact;
- consume_feed($xml, $importer, $contact2, $hub, 1, 2);
+ // do it a second time for DFRN so that any children find their parents.
+ if ($contact['network'] === NETWORK_DFRN) {
+ consume_feed($xml, $importer, $contact, $hub);
+ }
$hubmode = 'subscribe';
if ($contact['network'] === NETWORK_DFRN || $contact['blocked'] || $contact['readonly']) {