aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xinclude/diaspora.php47
-rwxr-xr-xinclude/items.php1
-rw-r--r--include/notifier.php2
-rw-r--r--view/tpl/diaspora_comment.tpl16
-rw-r--r--view/tpl/diaspora_comment_relay.tpl17
-rw-r--r--view/tpl/diaspora_conversation.tpl34
-rw-r--r--view/tpl/diaspora_like.tpl17
-rw-r--r--view/tpl/diaspora_like_relay.tpl18
-rw-r--r--view/tpl/diaspora_message.tpl18
-rw-r--r--view/tpl/diaspora_photo.tpl18
-rw-r--r--view/tpl/diaspora_post.tpl12
-rw-r--r--view/tpl/diaspora_profile.tpl21
-rw-r--r--view/tpl/diaspora_relay_retraction.tpl15
-rw-r--r--view/tpl/diaspora_relayable_retraction.tpl16
-rw-r--r--view/tpl/diaspora_reshare.tpl18
-rw-r--r--view/tpl/diaspora_retract.tpl14
-rw-r--r--view/tpl/diaspora_share.tpl13
-rw-r--r--view/tpl/diaspora_signed_retract.tpl15
18 files changed, 300 insertions, 12 deletions
diff --git a/include/diaspora.php b/include/diaspora.php
index ebd1906f3..1e101b4a7 100755
--- a/include/diaspora.php
+++ b/include/diaspora.php
@@ -153,9 +153,9 @@ function diaspora_process_outbound($arr) {
if($arr['walltowall'])
return;
- if($arr['recipients']) {
+ if($arr['env_recips']) {
$r = q("select * from xchan left join hubloc on xchan_hash = hubloc_hash where hubloc_url = '%s'
- and xchan_hash in (" . implode(',',$arr['recipients']) . ")
+ and xchan_hash in (" . implode(',',$arr['env_recips']) . ")
and xchan_network in ('diaspora', 'friendica-over-diaspora') ",
dbesc($arr['hub']['hubloc_url'])
);
@@ -228,13 +228,13 @@ function diaspora_process_outbound($arr) {
diaspora_send_retraction($arr['target_item'],$arr['channel'],$contact,true);
return;
}
- elseif($arr['target_item']['mid'] !== $mid['target_item']['parent_mid']) {
+ elseif($arr['target_item']['mid'] !== $arr['target_item']['parent_mid']) {
// we are the relay - send comments, likes and relayable_retractions to our conversants
logger('delivery: diaspora relay: ' . $loc);
diaspora_send_relay($arr['target_item'],$arr['channel'],$contact,true);
return;
}
- elseif(($arr['top_level_post']) && (! $arr['walltowall'])) {
+ elseif($arr['top_level_post']) {
// currently no workable solution for sending walltowall
logger('delivery: diaspora status: ' . $loc);
diaspora_send_status($arr['target_item'],$arr['channel'],$contact,true);
@@ -2241,12 +2241,38 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
}
*/
- //if(strlen($title))
- // $body = "[b]".html_entity_decode($title)."[/b]\n\n".$body;
+
+ $body = str_ireplace("[quote", "\n\n[quote", $body);
+ $body = str_ireplace("[/quote]", "[/quote]\n\n", $body);
+
+ // strip bookmark indicators
+
+ $body = preg_replace('/\#\^\[([zu])rl/i', '[$1rl', $body);
+ $body = preg_replace('/\#\^http/i', 'http', $body);
+
+ // protect tags and mentions from hijacking
+
+ if(! intval(get_pconfig($owner['channel_id'],'system','allow_tag_hijacking'))) {
+ $new_tag = html_entity_decode('⋕',ENT_COMPAT,'UTF-8');
+ $new_mention = html_entity_decode('@',ENT_COMPAT,'UTF-8');
+
+ // #-tags
+ $body = preg_replace('/\#\[url/i', $new_tag . '[url', $body);
+ $body = preg_replace('/\#\[zrl/i', $new_tag . '[zrl', $body);
+ // @-mentions
+ $body = preg_replace('/\@\[url/i', $new_mention . '[url', $body);
+ $body = preg_replace('/\@\[zrl/i', $new_mention . '[zrl', $body);
+ }
+
+ // remove multiple newlines
+ do {
+ $oldbody = $body;
+ $body = str_replace("\n\n\n", "\n\n", $body);
+ } while ($oldbody != $body);
+
// convert to markdown
$body = xmlify(html_entity_decode(bb2diaspora($body)));
- //$body = bb2diaspora($body);
// Adding the title
if(strlen($title))
@@ -2262,7 +2288,6 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
}
}
-
$public = (($item['item_private']) ? 'false' : 'true');
require_once('include/datetime.php');
@@ -2279,7 +2304,7 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
'$handle' => xmlify($myaddr),
'$public' => $public,
'$created' => $created,
- '$provider' => $item['app']
+ '$provider' => (($item['app']) ? $item['app'] : 'redmatrix')
));
} else {
$tpl = get_markup_template('diaspora_post.tpl');
@@ -2289,11 +2314,11 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
'$handle' => xmlify($myaddr),
'$public' => $public,
'$created' => $created,
- '$provider' => $item['app']
+ '$provider' => (($item['app']) ? $item['app'] : 'redmatrix')
));
}
- logger('diaspora_send_status: '.$owner['channel_name'].' -> '.$contact['xchan_name'].' base message: '.$msg, LOGGER_DATA);
+ logger('diaspora_send_status: '.$owner['channel_name'].' -> '.$contact['xchan_name'].' base message: ' . $msg, LOGGER_DATA);
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['channel_prvkey'],$contact['xchan_pubkey'],$public_batch)));
diff --git a/include/items.php b/include/items.php
index f10a5c570..e9f11ee4a 100755
--- a/include/items.php
+++ b/include/items.php
@@ -95,6 +95,7 @@ function collect_recipients($item,&$private_envelope) {
$recipients[] = $item['author_xchan'];
if($item['owner_xchan'] != $item['author_xchan'])
$recipients[] = $item['owner_xchan'];
+
return $recipients;
}
diff --git a/include/notifier.php b/include/notifier.php
index 7c4f64ae0..7f4d7a9f8 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -493,7 +493,7 @@ function notifier_run($argv, $argc){
}
- if($hub['network'] === 'diaspora' || $hub['network'] === 'friendica-over-diaspora') {
+ if($hub['hubloc_network'] === 'diaspora' || $hub['hubloc_network'] === 'friendica-over-diaspora') {
if(! get_config('system','diaspora_enabled'))
continue;
diff --git a/view/tpl/diaspora_comment.tpl b/view/tpl/diaspora_comment.tpl
new file mode 100644
index 000000000..8df3842d0
--- /dev/null
+++ b/view/tpl/diaspora_comment.tpl
@@ -0,0 +1,16 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post>
+ <comment>
+ <guid>{{$guid}}</guid>
+ <parent_guid>{{$parent_guid}}</parent_guid>
+ <author_signature>{{$authorsig}}</author_signature>
+ <text>{{$body}}</text>
+ <diaspora_handle>{{$handle}}</diaspora_handle>
+ </comment>
+ </post>
+</XML> \ No newline at end of file
diff --git a/view/tpl/diaspora_comment_relay.tpl b/view/tpl/diaspora_comment_relay.tpl
new file mode 100644
index 000000000..c01441e3c
--- /dev/null
+++ b/view/tpl/diaspora_comment_relay.tpl
@@ -0,0 +1,17 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post>
+ <comment>
+ <guid>{{$guid}}</guid>
+ <parent_guid>{{$parent_guid}}</parent_guid>
+ <parent_author_signature>{{$parentsig}}</parent_author_signature>
+ <author_signature>{{$authorsig}}</author_signature>
+ <text>{{$body}}</text>
+ <diaspora_handle>{{$handle}}</diaspora_handle>
+ </comment>
+ </post>
+</XML> \ No newline at end of file
diff --git a/view/tpl/diaspora_conversation.tpl b/view/tpl/diaspora_conversation.tpl
new file mode 100644
index 000000000..fd11b826a
--- /dev/null
+++ b/view/tpl/diaspora_conversation.tpl
@@ -0,0 +1,34 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post>
+ <conversation>
+ <guid>{{$conv.guid}}</guid>
+ <subject>{{$conv.subject}}</subject>
+ <created_at>{{$conv.created_at}}</created_at>
+
+ {{foreach $conv.messages as $msg}}
+
+ <message>
+ <guid>{{$msg.guid}}</guid>
+ <parent_guid>{{$msg.parent_guid}}</parent_guid>
+ {{if $msg.parent_author_signature}}
+ <parent_author_signature>{{$msg.parent_author_signature}}</parent_author_signature>
+ {{/if}}
+ <author_signature>{{$msg.author_signature}}</author_signature>
+ <text>{{$msg.text}}</text>
+ <created_at>{{$msg.created_at}}</created_at>
+ <diaspora_handle>{{$msg.diaspora_handle}}</diaspora_handle>
+ <conversation_guid>{{$msg.conversation_guid}}</conversation_guid>
+ </message>
+
+ {{/foreach}}
+
+ <diaspora_handle>{{$conv.diaspora_handle}}</diaspora_handle>
+ <participant_handles>{{$conv.participant_handles}}</participant_handles>
+ </conversation>
+ </post>
+</XML>
diff --git a/view/tpl/diaspora_like.tpl b/view/tpl/diaspora_like.tpl
new file mode 100644
index 000000000..b35ec46ad
--- /dev/null
+++ b/view/tpl/diaspora_like.tpl
@@ -0,0 +1,17 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post>
+ <like>
+ <positive>{{$positive}}</positive>
+ <guid>{{$guid}}</guid>
+ <target_type>{{$target_type}}</target_type>
+ <parent_guid>{{$parent_guid}}</parent_guid>
+ <author_signature>{{$authorsig}}</author_signature>
+ <diaspora_handle>{{$handle}}</diaspora_handle>
+ </like>
+ </post>
+</XML>
diff --git a/view/tpl/diaspora_like_relay.tpl b/view/tpl/diaspora_like_relay.tpl
new file mode 100644
index 000000000..379bf0f45
--- /dev/null
+++ b/view/tpl/diaspora_like_relay.tpl
@@ -0,0 +1,18 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post>
+ <like>
+ <positive>{{$positive}}</positive>
+ <guid>{{$guid}}</guid>
+ <target_type>{{$target_type}}</target_type>
+ <parent_guid>{{$parent_guid}}</parent_guid>
+ <parent_author_signature>{{$parentsig}}</parent_author_signature>
+ <author_signature>{{$authorsig}}</author_signature>
+ <diaspora_handle>{{$handle}}</diaspora_handle>
+ </like>
+ </post>
+</XML>
diff --git a/view/tpl/diaspora_message.tpl b/view/tpl/diaspora_message.tpl
new file mode 100644
index 000000000..e1690734f
--- /dev/null
+++ b/view/tpl/diaspora_message.tpl
@@ -0,0 +1,18 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post>
+ <message>
+ <guid>{{$msg.guid}}</guid>
+ <parent_guid>{{$msg.parent_guid}}</parent_guid>
+ <author_signature>{{$msg.author_signature}}</author_signature>
+ <text>{{$msg.text}}</text>
+ <created_at>{{$msg.created_at}}</created_at>
+ <diaspora_handle>{{$msg.diaspora_handle}}</diaspora_handle>
+ <conversation_guid>{{$msg.conversation_guid}}</conversation_guid>
+ </message>
+ </post>
+</XML>
diff --git a/view/tpl/diaspora_photo.tpl b/view/tpl/diaspora_photo.tpl
new file mode 100644
index 000000000..258a9c2f4
--- /dev/null
+++ b/view/tpl/diaspora_photo.tpl
@@ -0,0 +1,18 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post>
+ <photo>
+ <guid>{{$guid}}</guid>
+ <diaspora_handle>{{$handle}}</diaspora_handle>
+ <public>{{$public}}</public>
+ <created_at>{{$created_at}}</created_at>
+ <remote_photo_path>{{$path}}</remote_photo_path>
+ <remote_photo_name>{{$filename}}</remote_photo_name>
+ <status_message_guid>{{$msg_guid}}</status_message_guid>
+ </photo>
+ </post>
+</XML>
diff --git a/view/tpl/diaspora_post.tpl b/view/tpl/diaspora_post.tpl
new file mode 100644
index 000000000..2fe916e00
--- /dev/null
+++ b/view/tpl/diaspora_post.tpl
@@ -0,0 +1,12 @@
+<XML>
+ <post>
+ <status_message>
+ <raw_message>{{$body}}</raw_message>
+ <guid>{{$guid}}</guid>
+ <diaspora_handle>{{$handle}}</diaspora_handle>
+ <public>{{$public}}</public>
+ <created_at>{{$created}}</created_at>
+ <provider_display_name>{{$provider}}</provider_display_name>
+ </status_message>
+ </post>
+</XML>
diff --git a/view/tpl/diaspora_profile.tpl b/view/tpl/diaspora_profile.tpl
new file mode 100644
index 000000000..e57b82820
--- /dev/null
+++ b/view/tpl/diaspora_profile.tpl
@@ -0,0 +1,21 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post><profile>
+ <diaspora_handle>{{$handle}}</diaspora_handle>
+ <first_name>{{$first}}</first_name>
+ <last_name>{{$last}}</last_name>
+ <image_url>{{$large}}</image_url>
+ <image_url_medium>{{$medium}}</image_url_medium>
+ <image_url_small>{{$small}}</image_url_small>
+ <birthday>{{$dob}}</birthday>
+ <gender>{{$gender}}</gender>
+ <bio>{{$about}}</bio>
+ <location>{{$location}}</location>
+ <searchable>{{$searchable}}</searchable>
+ <tag_string>{{$tags}}</tag_string>
+ </profile></post>
+</XML>
diff --git a/view/tpl/diaspora_relay_retraction.tpl b/view/tpl/diaspora_relay_retraction.tpl
new file mode 100644
index 000000000..97a1344c9
--- /dev/null
+++ b/view/tpl/diaspora_relay_retraction.tpl
@@ -0,0 +1,15 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post>
+ <relayable_retraction>
+ <target_type>{{$type}}</target_type>
+ <target_guid>{{$guid}}</target_guid>
+ <target_author_signature>{{$signature}}</target_author_signature>
+ <sender_handle>{{$handle}}</sender_handle>
+ </relayable_retraction>
+ </post>
+</XML>
diff --git a/view/tpl/diaspora_relayable_retraction.tpl b/view/tpl/diaspora_relayable_retraction.tpl
new file mode 100644
index 000000000..c25e13db1
--- /dev/null
+++ b/view/tpl/diaspora_relayable_retraction.tpl
@@ -0,0 +1,16 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post>
+ <relayable_retraction>
+ <parent_author_signature>{{$parentsig}}</parent_author_signature>
+ <target_guid>{{$guid}}</target_guid>
+ <target_type>{{$target_type}}</target_type>
+ <sender_handle>{{$handle}}</sender_handle>
+ <target_author_signature>{{$authorsig}}</target_author_signature>
+ </relayable_retraction>
+ </post>
+</XML>
diff --git a/view/tpl/diaspora_reshare.tpl b/view/tpl/diaspora_reshare.tpl
new file mode 100644
index 000000000..c2b4bf774
--- /dev/null
+++ b/view/tpl/diaspora_reshare.tpl
@@ -0,0 +1,18 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post>
+ <reshare>
+ <root_diaspora_id>{{$root_handle}}</root_diaspora_id>
+ <root_guid>{{$root_guid}}</root_guid>
+ <guid>{{$guid}}</guid>
+ <diaspora_handle>{{$handle}}</diaspora_handle>
+ <public>{{$public}}</public>
+ <created_at>{{$created}}</created_at>
+ <provider_display_name>{{$provider}}</provider_display_name>
+ </reshare>
+ </post>
+</XML>
diff --git a/view/tpl/diaspora_retract.tpl b/view/tpl/diaspora_retract.tpl
new file mode 100644
index 000000000..345f4bcb6
--- /dev/null
+++ b/view/tpl/diaspora_retract.tpl
@@ -0,0 +1,14 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post>
+ <retraction>
+ <post_guid>{{$guid}}</post_guid>
+ <diaspora_handle>{{$handle}}</diaspora_handle>
+ <type>{{$type}}</type>
+ </retraction>
+ </post>
+</XML>
diff --git a/view/tpl/diaspora_share.tpl b/view/tpl/diaspora_share.tpl
new file mode 100644
index 000000000..5ff04440d
--- /dev/null
+++ b/view/tpl/diaspora_share.tpl
@@ -0,0 +1,13 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post>
+ <request>
+ <sender_handle>{{$sender}}</sender_handle>
+ <recipient_handle>{{$recipient}}</recipient_handle>
+ </request>
+ </post>
+</XML> \ No newline at end of file
diff --git a/view/tpl/diaspora_signed_retract.tpl b/view/tpl/diaspora_signed_retract.tpl
new file mode 100644
index 000000000..58c5cc237
--- /dev/null
+++ b/view/tpl/diaspora_signed_retract.tpl
@@ -0,0 +1,15 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+<XML>
+ <post>
+ <signed_retraction>
+ <target_guid>{{$guid}}</target_guid>
+ <target_type>{{$type}}</target_type>
+ <sender_handle>{{$handle}}</sender_handle>
+ <target_author_signature>{{$signature}}</target_author_signature>
+ </signed_retraction>
+ </post>
+</XML>