diff options
author | friendica <info@friendica.com> | 2014-11-17 15:27:18 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2014-11-17 15:27:18 -0800 |
commit | 064b48fa712acf00162a65638b134883c8b1afa0 (patch) | |
tree | a09ed244d3c6f7a1a37400b0d4d5c845add17e04 /mod/dirsearch.php | |
parent | 13a7637d9d17a2ea8adcdb635842ca12dfc0a632 (diff) | |
parent | e59f7cc198fb038cd8344c2d403b423d57300a96 (diff) | |
download | volse-hubzilla-064b48fa712acf00162a65638b134883c8b1afa0.tar.gz volse-hubzilla-064b48fa712acf00162a65638b134883c8b1afa0.tar.bz2 volse-hubzilla-064b48fa712acf00162a65638b134883c8b1afa0.zip |
Merge https://github.com/friendica/red into pending_merge
Diffstat (limited to 'mod/dirsearch.php')
-rw-r--r-- | mod/dirsearch.php | 53 |
1 files changed, 28 insertions, 25 deletions
diff --git a/mod/dirsearch.php b/mod/dirsearch.php index dea34c566..52d953707 100644 --- a/mod/dirsearch.php +++ b/mod/dirsearch.php @@ -282,35 +282,38 @@ function dir_parse_query($s) { if($all) { foreach($all as $q) { - if($q === 'and') { - $curr['logic'] = 'and'; - continue; - } - if($q === 'or') { - $curr['logic'] = 'or'; - continue; - } - if($q === 'not') { - $curr['logic'] .= ' not'; - continue; - } - if(strpos($q,'=')) { - if(! isset($curr['logic'])) + if($quoted_string === false) { + if($q === 'and') { + $curr['logic'] = 'and'; + continue; + } + if($q === 'or') { $curr['logic'] = 'or'; - $curr['field'] = trim(substr($q,0,strpos($q,'='))); - $curr['value'] = trim(substr($q,strpos($q,'=')+1)); - if(strpos($curr['value'],'"') !== false) { - $quoted_string = true; - $curr['value'] = substr($curr['value'],strpos($curr['value'],'"')+1); + continue; } - else { - $ret[] = $curr; - $curr = array(); - $continue; + if($q === 'not') { + $curr['logic'] .= ' not'; + continue; + } + if(strpos($q,'=')) { + if(! isset($curr['logic'])) + $curr['logic'] = 'or'; + $curr['field'] = trim(substr($q,0,strpos($q,'='))); + $curr['value'] = trim(substr($q,strpos($q,'=')+1)); + if($curr['value'][0] == '"' && $curr['value'][strlen($curr['value'])-1] != '"') { + $quoted_string = true; + $curr['value'] = substr($curr['value'],1); + continue; + } + else { + $ret[] = $curr; + $curr = array(); + continue; + } } } - elseif($quoted_string) { - if(strpos($q,'"') !== false) { + else { + if($q[strlen($q)-1] == '"') { $curr['value'] .= ' ' . str_replace('"','',trim($q)); $ret[] = $curr; $curr = array(); |