diff options
author | zotlabs <mike@macgirvin.com> | 2019-03-18 19:10:38 -0700 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2019-03-18 19:10:38 -0700 |
commit | a743feb04013527e2054d30c629373820f11aa27 (patch) | |
tree | 7f93c82d982ac34d4aa7267d028776ce56cc0504 /Zotlabs | |
parent | 026b96b8f2aebff50f594aa2a184a60a66cc3fd4 (diff) | |
parent | b028667de17a122d3255b8db285866c66fda9fcf (diff) | |
download | volse-hubzilla-a743feb04013527e2054d30c629373820f11aa27.tar.gz volse-hubzilla-a743feb04013527e2054d30c629373820f11aa27.tar.bz2 volse-hubzilla-a743feb04013527e2054d30c629373820f11aa27.zip |
Merge branch 'dev' of ../hz into dev
Diffstat (limited to 'Zotlabs')
-rw-r--r-- | Zotlabs/Lib/MessageFilter.php | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/Zotlabs/Lib/MessageFilter.php b/Zotlabs/Lib/MessageFilter.php index eb0fc3d2c..750d6d424 100644 --- a/Zotlabs/Lib/MessageFilter.php +++ b/Zotlabs/Lib/MessageFilter.php @@ -19,7 +19,7 @@ class MessageFilter { $lang = null; - if((strpos($incl,'lang=') !== false) || (strpos($excl,'lang=') !== false)) { + if((strpos($incl,'lang=') !== false) || (strpos($excl,'lang=') !== false) || (strpos($incl,'lang!=') !== false) || (strpos($excl,'lang!=') !== false)) { $lang = detect_language($text); } @@ -39,10 +39,17 @@ class MessageFilter { if((($t['ttype'] == TERM_HASHTAG) || ($t['ttype'] == TERM_COMMUNITYTAG)) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*'))) return false; } + elseif(substr($word,0,1) === '$' && $tags) { + foreach($tags as $t) + if(($t['ttype'] == TERM_CATEGORY) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*'))) + return false; + } elseif((strpos($word,'/') === 0) && preg_match($word,$text)) return false; elseif((strpos($word,'lang=') === 0) && ($lang) && (strcasecmp($lang,trim(substr($word,5))) == 0)) return false; + elseif((strpos($word,'lang!=') === 0) && ($lang) && (strcasecmp($lang,trim(substr($word,6))) != 0)) + return false; elseif(stristr($text,$word) !== false) return false; } @@ -60,10 +67,17 @@ class MessageFilter { if((($t['ttype'] == TERM_HASHTAG) || ($t['ttype'] == TERM_COMMUNITYTAG)) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*'))) return true; } + elseif(substr($word,0,1) === '$' && $tags) { + foreach($tags as $t) + if(($t['ttype'] == TERM_CATEGORY) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*'))) + return true; + } elseif((strpos($word,'/') === 0) && preg_match($word,$text)) return true; elseif((strpos($word,'lang=') === 0) && ($lang) && (strcasecmp($lang,trim(substr($word,5))) == 0)) return true; + elseif((strpos($word,'lang!=') === 0) && ($lang) && (strcasecmp($lang,trim(substr($word,6))) != 0)) + return true; elseif(stristr($text,$word) !== false) return true; } |