Continued a bit:

- added spaces/curly braces
- used x($foo, 'bar') instead of isset($foo['bar'])
- let's wrap html_entity_encode() somehow

Signed-off-by: Roland Haeder <roland@mxchange.org>
This commit is contained in:
Roland Haeder 2017-04-05 22:30:12 +02:00
parent ddd875bba0
commit 28c08467fd
No known key found for this signature in database
GPG key ID: B72F8185C6C7BD78
2 changed files with 35 additions and 28 deletions

View file

@ -1060,13 +1060,14 @@ function z_mime_content_type($filename) {
'zsh' => 'text/x-script.zsh', 'zsh' => 'text/x-script.zsh',
); );
$dot = strpos($filename,'.'); $dot = strpos($filename, '.');
if ($dot !== false) { if ($dot !== false) {
$ext = strtolower(substr($filename,$dot+1)); $ext = strtolower(substr($filename, $dot + 1));
if (array_key_exists($ext, $mime_types)) { if (array_key_exists($ext, $mime_types)) {
return $mime_types[$ext]; return $mime_types[$ext];
} }
} }
/// @TODO Then let's get rid of it?
// can't use this because we're just passing a name, e.g. not a file that can be opened // can't use this because we're just passing a name, e.g. not a file that can be opened
// elseif (function_exists('finfo_open')) { // elseif (function_exists('finfo_open')) {
// $finfo = @finfo_open(FILEINFO_MIME); // $finfo = @finfo_open(FILEINFO_MIME);

View file

@ -1,11 +1,11 @@
<?php <?php
require_once("include/oembed.php"); require_once 'include/oembed.php';
require_once("include/event.php"); require_once 'include/event.php';
require_once("library/markdown.php"); require_once 'library/markdown.php';
require_once("include/html2bbcode.php"); require_once 'include/html2bbcode.php';
require_once("include/bbcode.php"); require_once 'include/bbcode.php';
require_once("library/html-to-markdown/HTML_To_Markdown.php"); require_once 'library/html-to-markdown/HTML_To_Markdown.php';
/** /**
* @brief Callback function to replace a Diaspora style mention in a mention for Friendica * @brief Callback function to replace a Diaspora style mention in a mention for Friendica
@ -26,14 +26,15 @@ function diaspora_mention2bb($match) {
$name = $data['name']; $name = $data['name'];
} }
return '@[url='.$data['url'].']'.$name.'[/url]'; return '@[url=' . $data['url'] . ']' . $name . '[/url]';
} }
// we don't want to support a bbcode specific markdown interpreter /*
// and the markdown library we have is pretty good, but provides HTML output. * we don't want to support a bbcode specific markdown interpreter
// So we'll use that to convert to HTML, then convert the HTML back to bbcode, * and the markdown library we have is pretty good, but provides HTML output.
// and then clean up a few Diaspora specific constructs. * So we'll use that to convert to HTML, then convert the HTML back to bbcode,
* and then clean up a few Diaspora specific constructs.
*/
function diaspora2bb($s) { function diaspora2bb($s) {
$s = html_entity_decode($s, ENT_COMPAT, 'UTF-8'); $s = html_entity_decode($s, ENT_COMPAT, 'UTF-8');
@ -92,27 +93,28 @@ function diaspora_mentions($match) {
$contact = get_contact_details_by_url($match[3]); $contact = get_contact_details_by_url($match[3]);
if (!isset($contact['addr'])) { if (!x($contact, 'addr')) {
$contact = Probe::uri($match[3]); $contact = Probe::uri($match[3]);
} }
if (!isset($contact['addr'])) { if (!x($contact, 'addr')) {
return $match[0]; return $match[0];
} }
$mention = '@{'.$match[2].'; '.$contact['addr'].'}'; $mention = '@{' . $match[2] . '; ' . $contact['addr'] . '}';
return $mention; return $mention;
} }
function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) { function bb2diaspora($Text, $preserve_nl = false, $fordiaspora = true) {
$a = get_app(); $a = get_app();
$OriginalText = $Text; $OriginalText = $Text;
// Since Diaspora is creating a summary for links, this function removes them before posting // Since Diaspora is creating a summary for links, this function removes them before posting
if ($fordiaspora) if ($fordiaspora) {
$Text = bb_remove_share_information($Text); $Text = bb_remove_share_information($Text);
}
/** /**
* Transform #tags, strip off the [url] and replace spaces with underscore * Transform #tags, strip off the [url] and replace spaces with underscore
@ -130,18 +132,20 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
$Text = bbcode($Text, $preserve_nl, false, 3); $Text = bbcode($Text, $preserve_nl, false, 3);
// Add all tags that maybe were removed // Add all tags that maybe were removed
if (preg_match_all("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",$OriginalText, $tags)) { if (preg_match_all("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", $OriginalText, $tags)) {
$tagline = ""; $tagline = "";
foreach ($tags[2] as $tag) { foreach ($tags[2] as $tag) {
$tag = html_entity_decode($tag, ENT_QUOTES, 'UTF-8'); $tag = html_entity_decode($tag, ENT_QUOTES, 'UTF-8');
if (!strpos(html_entity_decode($Text, ENT_QUOTES, 'UTF-8'), "#".$tag)) if (!strpos(html_entity_decode($Text, ENT_QUOTES, 'UTF-8'), "#" . $tag)) {
$tagline .= "#".$tag." "; $tagline .= "#" . $tag . " ";
}
} }
$Text = $Text." ".$tagline; $Text = $Text." ".$tagline;
} }
} else } else {
$Text = bbcode($Text, $preserve_nl, false, 4); $Text = bbcode($Text, $preserve_nl, false, 4);
}
// mask some special HTML chars from conversation to markdown // mask some special HTML chars from conversation to markdown
$Text = str_replace(array('&lt;','&gt;','&amp;'),array('&_lt_;','&_gt_;','&_amp_;'),$Text); $Text = str_replace(array('&lt;','&gt;','&amp;'),array('&_lt_;','&_gt_;','&_amp_;'),$Text);
@ -179,13 +183,13 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
function unescape_underscores_in_links($m) { function unescape_underscores_in_links($m) {
$y = str_replace('\\_','_', $m[2]); $y = str_replace('\\_','_', $m[2]);
return('[' . $m[1] . '](' . $y . ')'); return '[' . $m[1] . '](' . $y . ')';
} }
function format_event_diaspora($ev) { function format_event_diaspora($ev) {
if (! ((is_array($ev)) && count($ev))) {
if (! ((is_array($ev)) && count($ev)))
return ''; return '';
}
$bd_format = t('l F d, Y \@ g:i A') ; // Friday January 18, 2011 @ 8 AM $bd_format = t('l F d, Y \@ g:i A') ; // Friday January 18, 2011 @ 8 AM
@ -200,17 +204,19 @@ function format_event_diaspora($ev) {
$ev['start'] , $bd_format))) $ev['start'] , $bd_format)))
. '](' . App::get_baseurl() . '/localtime/?f=&time=' . urlencode(datetime_convert('UTC','UTC',$ev['start'])) . ")\n"; . '](' . App::get_baseurl() . '/localtime/?f=&time=' . urlencode(datetime_convert('UTC','UTC',$ev['start'])) . ")\n";
if (! $ev['nofinish']) if (! $ev['nofinish']) {
$o .= t('Finishes:') . ' ' . '[' $o .= t('Finishes:') . ' ' . '['
. (($ev['adjust']) ? day_translate(datetime_convert('UTC', 'UTC', . (($ev['adjust']) ? day_translate(datetime_convert('UTC', 'UTC',
$ev['finish'] , $bd_format )) $ev['finish'] , $bd_format ))
: day_translate(datetime_convert('UTC', 'UTC', : day_translate(datetime_convert('UTC', 'UTC',
$ev['finish'] , $bd_format ))) $ev['finish'] , $bd_format )))
. '](' . App::get_baseurl() . '/localtime/?f=&time=' . urlencode(datetime_convert('UTC','UTC',$ev['finish'])) . ")\n"; . '](' . App::get_baseurl() . '/localtime/?f=&time=' . urlencode(datetime_convert('UTC','UTC',$ev['finish'])) . ")\n";
}
if (strlen($ev['location'])) if (strlen($ev['location'])) {
$o .= t('Location:') . bb2diaspora($ev['location']) $o .= t('Location:') . bb2diaspora($ev['location'])
. "\n"; . "\n";
}
$o .= "\n"; $o .= "\n";
return $o; return $o;