private function _search_color($word, &$qt) { global $Conf; if (!$this->amPC) { return; } $word = strtolower($word); if (!preg_match(',\\A(any|none|' . TagInfo::BASIC_COLORS_PLUS . ')\\z,', $word)) { return new SearchTerm("f"); } $any = $word === "any" || $word === "none"; $qx = array(); foreach (TagInfo::color_tags($any ? null : $word) as $tag) { array_push($qx, sqlq($tag), sqlq("{$this->cid}~{$tag}")); if ($this->privChair) { $qx[] = sqlq("~~{$tag}"); } } if (count($qx)) { $qe = new SearchTerm("tag", self::F_XVIEW, array(" in ('" . join("','", $qx) . "')")); } else { $qe = new SearchTerm("f"); } if ($word === "none") { $qe = SearchTerm::make_not($qe); } $qt[] = $qe; }