$community_readonly = false;
$writable = true;
} else {
- $writable = ($items[0]['uid'] == 0) && in_array($items[0]['network'], array(NETWORK_OSTATUS, NETWORK_DIASPORA));
+ $writable = ($items[0]['uid'] == 0) && in_array($items[0]['network'], array(NETWORK_OSTATUS, NETWORK_DIASPORA, NETWORK_DFRN));
}
} else {
$writable = false;
);
$comments = dba::inArray($thread_items);
+
if (count($comments) == 0) {
$thread_items = dba::p(item_query()." AND `item`.`uid` = 0
AND `item`.`parent-uri` = ?
foreach ($items as $index => $item) {
if ($item['uid'] == 0) {
- $items[$index]['writable'] = in_array($item['network'], [NETWORK_DIASPORA, NETWORK_OSTATUS]);
+ $items[$index]['writable'] = in_array($item['network'], [NETWORK_OSTATUS, NETWORK_DIASPORA, NETWORK_DFRN]);
}
}
}
// Allow commenting if it is an answer to a public post
- $allow_comment = ($profile_uid == 0) && $parent && in_array($parent_item['network'], [NETWORK_OSTATUS, NETWORK_DIASPORA]);
+ $allow_comment = ($profile_uid == 0) && $parent && in_array($parent_item['network'], [NETWORK_OSTATUS, NETWORK_DIASPORA, NETWORK_DFRN]);
/*
* Now check that it is a page_type of PAGE_BLOG, and that valid personal details
}
$logid = random_string(4);
- $dest_url = (($public_batch) ? $contact["batch"] : $contact["notify"]);
+ $dest_url = ($public_batch ? $contact["batch"] : $contact["notify"]);
+
+ // Fetch the fcontact entry when there is missing data
+ // Will possibly happen when data is transmitted to a DFRN contact
+ if (empty($dest_url) && !empty($contact['addr'])) {
+ $fcontact = self::personByHandle($contact['addr']);
+ $dest_url = ($public_batch ? $fcontact["batch"] : $fcontact["notify"]);
+ }
+
if (!$dest_url) {
logger("no url for contact: ".$contact["id"]." batch mode =".$public_batch);
return 0;
}
$deliver_status = 0;
+ // Transmit via Diaspora if not possible via Friendica
+ if (($item['uid'] == 0) && ($contact['network'] == NETWORK_DFRN)) {
+ $contact['network'] = NETWORK_DIASPORA;
+ }
+
logger("main delivery by delivery: followup=$followup mail=$mail fsuggest=$fsuggest relocate=$relocate - network ".$contact['network']);
- switch($contact['network']) {
+ switch ($contact['network']) {
case NETWORK_DFRN:
logger('notifier: '.$target_item["guid"].' dfrndelivery: '.$contact['name']);