Allow_multicase_tags

Make "#test", "#Test", and "#tEsT" all preserve appearance but link to the same tag

darcs-hash:20080901001241-e3c0d-b466f35f4f023c6c90a6d2817487c97be9a1bbca.gz
This commit is contained in:
Garret Buell 2008-08-31 20:12:41 -04:00
parent e333345722
commit cca78b26f7
2 changed files with 4 additions and 4 deletions

View File

@ -54,7 +54,7 @@ class Notice extends DB_DataObject
function saveTags() {
/* extract all #hastags */
$count = preg_match_all('/(?:^|\s)#([a-z0-9]{1,64})/', strtolower($this->content), $match);
$count = preg_match_all('/(?:^|\s)#([A-Za-z0-9]{1,64})/', strtolower($this->content), $match);
if (!$count) {
return true;
}

View File

@ -688,16 +688,16 @@ function common_render_content($text, $notice) {
$r = preg_replace('@https?://[^)\]>\s]+@', '<a href="\0" class="extlink">\0</a>', $r);
$r = preg_replace('/(^|\s+)@([a-z0-9]{1,64})/e', "'\\1@'.common_at_link($id, '\\2')", $r);
$r = preg_replace('/^T ([A-Z0-9]{1,64}) /e', "'T '.common_at_link($id, '\\1').' '", $r);
$r = preg_replace('/(^|\s+)#([a-z0-9]{1,64})/e', "'\\1#'.common_tag_link('\\2')", $r);
$r = preg_replace('/(^|\s+)#([A-Za-z0-9]{1,64})/e', "'\\1#'.common_tag_link('\\2')", $r);
# XXX: machine tags
return $r;
}
function common_tag_link($tag) {
if(common_config('site', 'fancy')) {
return '<a href="' . htmlspecialchars(common_path('tag/' . $tag)) . '" rel="tag" class="hashlink">' . htmlspecialchars($tag) . '</a>';
return '<a href="' . htmlspecialchars(common_path('tag/' . strtolower($tag))) . '" rel="tag" class="hashlink">' . htmlspecialchars($tag) . '</a>';
} else {
return '<a href="' . htmlspecialchars(common_path('index.php?action=tag&tag=' . $tag)) . '" rel="tag" class="hashlink">' . htmlspecialchars($tag) . '</a>';
return '<a href="' . htmlspecialchars(common_path('index.php?action=tag&tag=' . strtolower($tag))) . '" rel="tag" class="hashlink">' . htmlspecialchars($tag) . '</a>';
}
}