X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=plugins%2Fmarkdown%2Fmarkdown.php;h=0cf6e6e2d283e32de9ec978389cad40ad5c309c0;hb=266e3fe5c8961aaf089bad16b9e4c54de1aaff40;hp=a764b6fa88520711ec6b46183894040055e6fe3a;hpb=f5f6a4b7e21f39c916fda11eebb1c8df17e1ad4a;p=github%2Fshaarli%2FShaarli.git diff --git a/plugins/markdown/markdown.php b/plugins/markdown/markdown.php index a764b6fa..0cf6e6e2 100644 --- a/plugins/markdown/markdown.php +++ b/plugins/markdown/markdown.php @@ -22,7 +22,7 @@ function hook_markdown_render_linklist($data) { foreach ($data['links'] as &$value) { if (!empty($value['tags']) && noMarkdownTag($value['tags'])) { - $value['taglist'] = stripNoMarkdownTag($value['taglist']); + $value = stripNoMarkdownTag($value); continue; } $value['description'] = process_markdown($value['description']); @@ -41,7 +41,7 @@ function hook_markdown_render_feed($data) { foreach ($data['links'] as &$value) { if (!empty($value['tags']) && noMarkdownTag($value['tags'])) { - $value['tags'] = stripNoMarkdownTag($value['tags']); + $value = stripNoMarkdownTag($value); continue; } $value['description'] = process_markdown($value['description']); @@ -63,6 +63,7 @@ function hook_markdown_render_daily($data) foreach ($data['cols'] as &$value) { foreach ($value as &$value2) { if (!empty($value2['tags']) && noMarkdownTag($value2['tags'])) { + $value2 = stripNoMarkdownTag($value2); continue; } $value2['formatedDescription'] = process_markdown($value2['formatedDescription']); @@ -81,20 +82,30 @@ function hook_markdown_render_daily($data) */ function noMarkdownTag($tags) { - return strpos($tags, NO_MD_TAG) !== false; + return preg_match('/(^|\s)'. NO_MD_TAG .'(\s|$)/', $tags); } /** * Remove the no-markdown meta tag so it won't be displayed. * - * @param string $tags Tag list. + * @param array $link Link data. * - * @return string tag list without no markdown tag. + * @return array Updated link without no markdown tag. */ -function stripNoMarkdownTag($tags) +function stripNoMarkdownTag($link) { - unset($tags[array_search(NO_MD_TAG, $tags)]); - return array_values($tags); + if (! empty($link['taglist'])) { + $offset = array_search(NO_MD_TAG, $link['taglist']); + if ($offset !== false) { + unset($link['taglist'][$offset]); + } + } + + if (!empty($link['tags'])) { + str_replace(NO_MD_TAG, '', $link['tags']); + } + + return $link; } /**