', '[', ']'], ['%3c', '%3e', '%5b', '%5d'], $s); } /** * @brief URL decode <, >, left and right brackets */ public static function decode($s) { return str_replace(['%3c', '%3e', '%5b', '%5d'], ['<', '>', '[', ']'], $s); } /** * @brief Query files for tag */ public static function fileQuery($table, $s, $type = 'file') { if ($type == 'file') { $str = preg_quote('[' . str_replace('%', '%%', self::encode($s)) . ']'); } else { $str = preg_quote('<' . str_replace('%', '%%', self::encode($s)) . '>'); } return " AND " . (($table) ? DBA::escape($table) . '.' : '') . "file regexp '" . DBA::escape($str) . "' "; } /** * @brief Get file tags from list * * ex. given music,video return